Kobil KAAN Professional USB

Aus Gentoo Linux Wiki

Wechseln zu: Navigation, Suche
Dieser Teil ist Artikel der Hardware Serie.
Laptops Motherboards Servers Eingabegeräte RAID Controller TV Karten Wireless Andere Hardware Andere Architekturen alphabetischer Hardware Index


Im folgenden wird die Einrichtung des Chipkartenlesers Kobil KAAN Professional (USB-Version), sowie die Konfiguration von ctapi, pcsc und libchipcard unter Gentoo beschrieben. Ich möchte hier meine Informationen zusammenfassen, da es mir nicht ohne weiteres möglich war, den Chipkartenleser einzurichten.

Inhaltsverzeichnis

[Bearbeiten] Installation

[Bearbeiten] Pakete

Folgende Pakete waren meine Grundlage für die Installation des KAAN Professional. Diese müssen alle in die /etc/portage/paackage.keywords Datei eingetragen werden.

  • ccid-1.0.1-r1
  • pcsc-lite-1.3.2
  • libchipcard-2.1.7

[Bearbeiten] Kernel-Modul

Folgende Module müssen ausgewählt werden.

Device Drivers -->

   USB Support -->
       USB Serial Converter Support -->      
           <M>   USB KOBIL chipcardreader
           <M>   USB Prolific 2303 Single Port Serial Driver   

Nach Installation der Module und testen des Kernelmoduls durch ausführen von modprobe kobil_sct müsste der Chipkartenleser erkannt werden, siehe dmesg.

[Bearbeiten] Treiber vom Hersteller

Folgende Datei herunterladen und entpacken:

 http://www.kobil.de/fileadmin/download/support/download/driver/ct-linux.zip

Danach die dort enthaltenen Dateien libct.so und libkobil_ifd.so nach /usr/lib kopieren:

 cp libct.so /usr/lib/libct.so
 cp libkobil_ifd.so /usr/lib/libkobil_ifd.so

[Bearbeiten] Konfiguration Middleware

Jetzt kann die sogenannte Middleware konfiguriert werden. Diese vermittelt zwischen dem Chipkartenleser und den Programmen, die diesen einsetzen, wie z.B. gnucash oder kmymoney etc. Wer z.B. Gnucash, KMyMoney oder andere Homebanking-Programme benutzen möchte, die auf aqbanking aufsetzen, sollte den nächsten Abschnitt überspringen und bei der Konfiguration von libchipcard weitermachen. In diesem Fall darf der pcscd-Daemon nicht laufen.


[Bearbeiten] Konfiguration pcsc-lite

Wofür man den braucht, ist mir bislang unbekannt. Falls man als Middleware libchipcard benutzen möchte, z.B. wegen HBCI, dann sollte dieser Daemon deaktiviert sein.

 emerge pcsc-lite

Dann folgendes in die Datei /etc/reader.conf.d/reader.conf schreiben:

 # Configuration file for IFD Handler 2.0 drivers
 # FRIENDLYNAME: Any name
 # DEVICENAME: Any name
 # LIBPATH: Location of the driver library for your reader
 # CHANNELID: 
 #             0x000001 - COM1 
 #             0x000002 - COM2
 #             0x000003 - COM3
 #             0x000004 - COM4
 # 
 # KOBIL Kaan Standard, KOBIL Kaan Standard Plus,
 # KOBIL Twin, KOBIL B1 Pro or KOBIL KAAN Pro (COM1)
 FRIENDLYNAME	"Kobil KAAN Pro 00 00"
 DEVICENAME	/dev/ttyUSB1
 LIBPATH		/usr/lib/libkobil_ifd.so
 CHANNELID	      0x000001
 # Note: Use the full path on LIBPATH.

Gegebenfalls sollte hier DEVICENAME auf die passende Adresse geändert werden. DEVICENAME findet man über

 # dmesg | grep KOBIL

raus. Wie z.B. in dieser Zeile

 # usb 1-2.1: KOBIL USB smart card terminal converter now attached to ttyUSB0

--> also /dev/ttyUSB0.


Danach den Befehl update-reader.conf ausführen und mit pcscd -df die Konfiguration überprüfen indem man z.B. eine Krankenversicherungskarte in das Gerät steckt.

Falls man pcsc-lite benutzen möchte, dann muss noch

 rc-update add pcscd default 

ausgeführt werden.

[Bearbeiten] Konfiguration von ctapi

Möchte man libchipcard benutzen, so wird im Normalfall die CTAPI des Lesers verwendet. Nach meinen Informationen kann auch der IFD Treiber für libchipcard verwendet werden. Ich habe jedoch noch nicht herausgefunden wie dies funktioniert.

Für CTAPI muss die Datei .CT_devices im Home-Folder oder/und in /root bzw. CT_devices in /etc/ erstellt werden. Falls die Einstellungen Systemweit gelten sollen, nimmt man die Datei /etc/CT_devices.

Inhalt von /etc/CT_devices:

 GetPortType=#0
 SetPortType=#0
 DefaultPortType=#0
 DefaultProtocollType=#0
 UseOnlyDefaultProtocoll=#0
 B1DTRLow=#50
 B1DSRRespActive=#2000
 PnPChar=#150
 B1WaitForPnPString=#1500
 KaanWaitForPnPString=#600
 UseOldStyleManufacturerDataObject=#0
 Port1=COM;/dev/ttyUSB1;1;0;USB reader at /dev/ttyUSB1: Kobil KAAN Pro 00 00
 Port2=COM;/dev/ttyUSB1;1;0;USB reader at /dev/ttyUSB1: Kobil KAAN Pro 00 00 
 Port3=COM;/dev/ttyUSB1;1;0;USB reader at /dev/ttyUSB1: Kobil KAAN Pro 00 00 
 Port4=COM;/dev/ttyUSB1;1;0;USB reader at /dev/ttyUSB1: Kobil KAAN Pro 00 00 

Die Zeile mit Port taucht hier viermal auf, da bei mir libchipcard nur versucht hat den Reader unter Port2 zu erreichen. Soweit ich herausgefunden hab muss am Ende dieser Zeilen genau "Kobil KAAN Pro 00 00" stehen, sonst funktiniert es nicht. Wieso, kann ich mir nicht erklären, weil die readme.txt aus ct-linux.zip (siehe oben) etwas anderes sagt. Hier muss noch die Adresse /dev/ttyUSB1 entsprechend angepasst werden.

Dann noch

 ./cardping -b1 20100000 

(ohne Chipkarte) aus dem Installationspaket ausführen und hoffen, dass eine solche Ausgabe erfolgt:

 Going to call CT_init
 CT_init (Port 1): 0
 CT_Reset: 0
 CT_data Aufruf mit: 20 10 00 00
 CT_data: 0
 Antwort: 90 00

bzw.

 ./cardping -b1 20100101 (mit Chipkarte):
 Going to call CT_init
 CT_init (Port 1): 0
 CT_Reset: 0
 CT_data Aufruf mit: 20 10 01 01
 CT_data: 0
 Antwort: 3B FF 18 00 FF 81 31 FE 45 65 63 0D 07 63 07 64 00 0D 90 70 33 00 06 15 D2 90 01

Dann sollte der Leser über CTAPI funktionieren.


[Bearbeiten] Konfiguration von libchipcard

emerge libchipcard

Server einrichten:

 cp /etc/chipcard3/server/chipcardd3.conf.default /etc/chipcard3/server/chipcardd3.conf

Client einrichten:

 cp /etc/chipcard3/client/chipcardc3.conf.default /etc/chipcard3/client/chipcardc3.conf

Leser einrichten:

 cp libct.so /usr/lib/chipcard3/server/lowlewel

USB-Leser, wie der KAAN Pro werden von libchipcard automatisch erkannt.

Server testen:

 /usr/sbin/chipcardd3 --pidfile /var/run/chipcardd3.pid -f --loglevel notice --logtype console

Konfiguration testen (bei laufendem Server)

 chipcard3-tool list

und falls der Leser angezeigt wird:

 chipcard-tool check

Eine richtige Ausgabe sieht in etwa so aus:

 Readers:
   - auto1-ko_kaan_pro_usb (ko_kaan_pro_usb, port 0, Manufacturer="DEKOB";Terminal="CT399";Version="V2.09";
                              info="";unit0="icc1";unit1="KEYBOARD";unit2="DISPLAY"): up

Jetzt kann man z.B. eine Geldkarte / EC-Karte mit folgendem Aufruf testen:

geldkarte2 loaded

Bei Fehlern sollte man in die Logdateien im Verzeichnis /var/log/chipcard2/drivers schauen. Der chipcardd2-Server loggt im Normalfall ins Syslog.

[Bearbeiten] Initskript für chipcardd2

Folgendes Initscript benutze ich um chipcardd2 zu starten. Dafür sollte man noch cardping auf ct-linux.zip nach z.B. /bin kopieren. Das Initscript wird einfach nach /etc/init.d/chipcardd2 kopiert

 #!/sbin/runscript
 # Copyright 1999-2005 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 start() {
       ebegin "Loading Module kobil_sct"
       modprobe kobil_sct
       ebegin "Resetting Reader"
       /bin/cardping -b1 20100000
       /bin/cardping -b1 20100000
       ebegin "Starting chipcardd2"
       /usr/sbin/chipcardd2 --pidfile /var/run/chipcardd2.pid --logtype syslog
       ebegin "Checking Chipcard-Reader"
       chipcard-tool check
       eend $?
 }
 stop() {
       ebegin "Stopping chipcardd2"
       start-stop-daemon --stop -q --pidfile /var/run/chipcardd2.pid
       rmmod kobil_sct
       eend $?
 }

Dieses kann dann mit

 rc-update add chipcardd2 default

beim Systemstart ausgeführt werden. Leider habe ich noch Probleme mit dem Initscript. Deswegen steht darin auch modprobe kobil_sct, welches normalerweise in die Datei /etc/modules.autoload.d/kernel-2.6 gehört. Bei Systemstart funktioniert der Chipkartenleser bei mir bis jetzt NIE. Führe ich dann später noch einmal

 /etc/init.d/chipcardd2 restart

aus, so funktioniert der Chipkartenleser einwandfrei. Falls jemand dafür eine Lösung hat, würde ich mich freuen.

'Persönliche Werkzeuge