SCM SCR 243 PCMCIA SmartCard-Reader
Archivierte Anleitung
Dieser Artikel wurde archiviert. Das bedeutet, dass er nicht mehr auf Richtigkeit überprüft oder anderweitig gepflegt wird. Der Inhalt wurde für keine aktuell unterstützte Ubuntu-Version getestet. Wenn du Gründe für eine Wiederherstellung siehst, melde dich bitte in der Diskussion zum Artikel. Bis dahin bleibt die Seite für weitere Änderungen gesperrt.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
Dieser Artikel beschreibt die Installation des SCM SCR 243 PCMCIA SmartCard-Readers unter Ubuntu zur Verwendung als HBCI Kartenleser in der Finanzverwaltung. Da der Hersteller nur einen PCSC-Treiber für ältere Kernel anbietet, muß der Sourcecode geringfügig angepasst werden. Weiterhin muß ein PCSC-CTAPI-Wrapper installiert werden zur Verwendung mit Anwendungen, die die CTAPI benötigen z.B. Moneyplex 🇩🇪.
Getestete Kartenleser¶
SCM SCR 243 PCMCIA SmartCard-Reader
Installation benötigter Pakete¶
Folgende Pakete werden benötigt [1]
build-essential
autoconf
libusb-0.1-4
libpcsclite1
libpcsclite-dev
pcscd (universe, [2])
pcsc-tools (universe)
libccid (universe)
Paketliste zum Kopieren:
sudo apt-get install libusb-0.1-4 libpcsclite1 libpcsclite-dev pcscd pcsc-tools build-essential autoconf libccid
Installation des PCSC-Treibers¶
Jetzt kann man den Treiber von dieser Seite 🇬🇧 herunterladen, wobei man darauf achten muss, die Datei für den richtigen Kernel (also 2.6.x) auszuwählen. Das heruntergeladen Archiv wird entpackt [3], wobei einige Unterverzeichnisse entstehen. Hier wechselt man innerhalb der entstandenen Struktur ins Unterverzeichnis /src, öffnet dort die Datei includes.h mit einen Editor mit Root-Rechten [4] und nimmt folgende Änderungen vor:
.... #include <linux/semaphore.h> // <-- dies ist die 1.Änderung ( vorher: #include <asm/semaphore.h> ) #include <asm/io.h> #include <asm/segment.h> #include <asm/system.h> #include <asm/unistd.h> #include <asm/uaccess.h> // copy_to_user et al #include <asm/delay.h> //#include <pcmcia/version.h> #include <pcmcia/cs_types.h> #include <pcmcia/cs.h> #include <pcmcia/cistpl.h> #include <pcmcia/ciscode.h> #include <pcmcia/ds.h> #include <pcmcia/cisreg.h> #include <pcmcia/ss.h> //#include <pcmcia/bulkmem.h> // <-- dies ist die 2. Änderung ( vorher: #include <pcmcia/bulkmem.h> ) ....
Jetzt kann das src-Verzeichnis verlassen werden. Im Verzeichnis darüber sollte sich die Datei install befinden, die man nun mit Root-Rechten ausführt, z.B. im Terminal mittels [6]
sudo ./install
Der Treiber legt kein Device-File an, deshalb muss die von Hand erledigt werden [6]:
cd /dev sudo mknod SCR24x0 c 251 0 cd /lib/udev/devices sudo mknod SCR24x0 c 251 0
Jetzt kann man die PCMCIA-Karte einstecken (incl. HBCI-Karte ) und startet PCSC-Daemon neu:
sudo /etc/init.d/pcscd restart
Testen, ob alles richtig läuft, kann man im Terminal mit den folgenden Befehlen:
lspcmcia -v
sollte folgende Ausgabe ergeben:
Socket 0 Bridge: [yenta_cardbus] (bus ID: 0000:06:09.0) Configuration: state: on ready: unknown Voltage: 5.0V Vcc: 5.0V Vpp: 0.0V Socket 0 Device 0: [scr24x_cs] (bus ID: 0.0) Configuration: state: on Product Name: SCR243 PCMCIA Smart Card Reader Identification: manf_id: 0xffff card_id: 0x0001 prod_id(1): "SCR243 PCMCIA" (0x2054e8de) prod_id(2): "Smart Card Reader" (0xf5a90d5d) prod_id(3): --- (---) prod_id(4): --- (---)
Der Aufruf von
pcsc_scan
sollte folgende Ausgabe ergeben:
PC/SC device scanner V 1.4.14 (c) 2001-2008, Ludovic Rousseau <ludovic.rousseau@free.fr> Compiled with PC/SC lite version: 1.4.99 Scanning present readers 0: SCR24x Smart Card Reader 00 00 Tue Dec 30 16:09:42 2008 Reader 0: SCR24x Smart Card Reader 00 00 Card state: Card inserted, ATR: 3B FF 18 00 FF 81 31 FE 45 65 63 11 06 40 02 50 00 10 54 30 03 09 05 00 6B ATR: 3B FF 18 00 FF 81 31 FE 45 65 63 11 06 40 02 50 00 10 54 30 03 09 05 00 6B + TS = 3B --> Direct Convention + T0 = FF, Y(1): 1111, K: 15 (historical bytes) TA(1) = 18 --> Fi=372, Di=12, 31 cycles/ETU (115200 bits/s at 3.57 MHz) TB(1) = 00 --> VPP is not electrically connected TC(1) = FF --> Extra guard time: 255 (special value) TD(1) = 81 --> Y(i+1) = 1000, Protocol T = 1 ----- TD(2) = 31 --> Y(i+1) = 0011, Protocol T = 1 ----- TA(3) = FE --> IFSC: 254 TB(3) = 45 --> Block Waiting Integer: 4 - Character Waiting Integer: 5 + Historical bytes: 65 63 11 06 40 02 50 00 10 54 30 03 09 05 00 Category indicator byte: 65 (proprietary format) + TCK = 6B (correct checksum) Possibly identified card (using /usr/share/pcsc/smartcard_list.txt): 3B FF 18 00 FF 81 31 FE 45 65 63 11 06 40 02 50 00 10 54 30 03 09 05 00 6B 3B FF 18 00 FF 81 31 .. 45 65 63 .. .. .. .. .. .. .. .. .. .. .. .. .. .. Geldkarte (generic ATR)
Installation des PCSC-CTAPI-Wrappers¶
Der Download des Wrappers erfolgt auf der Sourceforge Projektseite 🇬🇧. Nun entpackt man das Archiv [3], wechselt in das entstandene Verzeichnis (pcsc-ctapi-wrapper-0.3, ggf. Versionsnummer anpassen) und kompiliert dort das Programm wie gewohnt [5] mittels make
und make install
, auf den configure
-Schritt kann man verzichten.
Der HBCI Kartenleser kann nun über die CTAPI /usr/local/lib/libpcsc-ctapi-wrapper.so angesprochen werden.
Links¶
dieser Artikel basiert auf: http://ubuntuforums.org/showthread.php?p=6335064 🇬🇧