ubuntuusers.de

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.

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.

Diese Revision wurde am 26. November 2013 13:17 von aasche erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Hardware, Onlinebanking, System, Chipkarte