Libchipcard mit SCM SCR3340 chipcardd startet nicht

 
hschreiber
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Köln
Beiträge: 2
Dabei seit: 03 / 2009
Betreff:

Libchipcard mit SCM SCR3340 chipcardd startet nicht

 · 
Gepostet: 26.03.2009 - 00:15 Uhr  ·  #1
Hallo,
ich habe Ubuntu 8.10 am laufen und versuche momentan meinen Smartcard Reader SCM SCR3340 (Expresscard 54) zum laufen zu bekommen. Ich möchte HBCI Banking mit GnuCash machen. Den Artikel Ubuntu Wiki - HBCI-Kartenleser habe ich durchgearbeitet und auch alle Sachen daraus installiert und konfiguriert. Zusätzlich ist noch libccid und pcsc-tools installiert.
Wenn der PCSCD läuft, funktioniert der Reader auch wie es aussieht:

lsusb liefert:

Bus 001 Device 009: ID 04e6:5119 SCM Microsystems, Inc. SCR3340 - ExpressCard54 Smart Card Reader

tail -n 10 -f /var/log/messages liefert beim Einstecken des Kartenlesers in den Slot

Code
Mar 25 23:53:45 x200s kernel: [ 5007.680109] usb 1-2: new full speed USB device using uhci_hcd and address 10
Mar 25 23:53:45 x200s kernel: [ 5007.900984] usb 1-2: configuration #1 chosen from 1 choice
Mar 25 23:53:46 x200s pcscd: hotplug_libhal.c:342:HPAddDevice() Adding USB device: usb_device_4e6_5119_21220648702146_if0
Mar 25 23:53:47 x200s pcscd: readerfactory.c:1082:RFInitializeReader() Attempting startup of SCM SCR 3340 ExpressCard54 00 00 using /usr/lib/pcsc/drivers/ifd-ccid.bundle/Contents/Linux/libccid.so
Mar 25 23:53:47 x200s pcscd: readerfactory.c:949:RFBindFunctions() Loading IFD Handler 3.0
Mar 25 23:53:47 x200s pcscd: ifdhandler.c:1323:init_driver() Driver version: 1.3.8
Mar 25 23:53:47 x200s pcscd: ifdhandler.c:1336:init_driver() LogLevel: 0x0003
Mar 25 23:53:47 x200s pcscd: ifdhandler.c:1356:init_driver() DriverOptions: 0x0000
Mar 25 23:53:47 x200s pcscd: ifdhandler.c:81:IFDHCreateChannelByName() lun: 0, device: usb:04e6/5119:libhal:/org/freedesktop/Hal/devices/usb_device_4e6_5119_21220648702146_if0
Mar 25 23:53:47 x200s pcscd: ccid_usb.c:236:OpenUSBByName() Manufacturer: Ludovic Rousseau (ludovic.rousseau@free.fr)
Mar 25 23:53:47 x200s pcscd: ccid_usb.c:246:OpenUSBByName() ProductString: Generic CCID driver
Mar 25 23:53:47 x200s pcscd: ccid_usb.c:252:OpenUSBByName() Copyright: This driver is protected by terms of the GNU Lesser General Public License version 2.1, or (at your option) any later version.
Mar 25 23:53:47 x200s pcscd: ccid_usb.c:408:OpenUSBByName() Found Vendor/Product: 04E6/5119 (SCM SCR 3340 ExpressCard54)
Mar 25 23:53:47 x200s pcscd: ccid_usb.c:410:OpenUSBByName() Using USB bus/device: 001/010
Mar 25 23:53:47 x200s pcscd: ccid_usb.c:780:get_data_rates() IFD does not support GET_DATA_RATES request: Broken pipe
Mar 25 23:53:47 x200s pcscd: ifdhandler.c:307:IFDHGetCapabilities() lun: 0, tag: 0xFB0
Mar 25 23:53:47 x200s pcscd: readerfactory.c:267:RFAddReader() Using the pcscd polling thread
Mar 25 23:53:47 x200s pcscd: ifdhandler.c:307:IFDHGetCapabilities() lun: 0, tag: 0xFAE
Mar 25 23:53:47 x200s pcscd: ifdhandler.c:353:IFDHGetCapabilities() Reader supports 1 slot(s)


und pcsc_scan liefert folgendes, wenn ich eine Geldkarte einstecke:

Code

s@x200s:~$ pcsc_scan
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: SCM SCR 3340 ExpressCard54 00 00

Wed Mar 25 23:55:58 2009
 Reader 0: SCM SCR 3340 ExpressCard54 00 00
  Card state: Card removed, 

Wed Mar 25 23:56:07 2009
 Reader 0: SCM SCR 3340 ExpressCard54 00 00
  Card state: Card inserted, 
  ATR: 3B FF 18 00 FF 81 31 3C 45 65 63 0D 02 31 02 50 00 10 90 14 37 00 04 10 0C

ATR: 3B FF 18 00 FF 81 31 3C 45 65 63 0D 02 31 02 50 00 10 90 14 37 00 04 10 0C
+ 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) = 3C --> IFSC: 60
  TB(3) = 45 --> Block Waiting Integer: 4 - Character Waiting Integer: 5
+ Historical bytes: 65 63 0D 02 31 02 50 00 10 90 14 37 00 04 10
  Category indicator byte: 65 (proprietary format)
+ TCK = 0C (correct checksum)

Possibly identified card (using /usr/share/pcsc/smartcard_list.txt):
3B FF 18 00 FF 81 31 3C 45 65 63 0D 02 31 02 50 00 10 90 14 37 00 04 10 0C
3B FF 18 00 FF 81 31 .. 45 65 63 .. .. .. .. .. .. .. .. .. .. .. .. .. ..
  Geldkarte (generic ATR)


Somit denke ich dass der Kartenleser grundsätzlich erstmal funktioniert.
Stoppe ich jetzt den PCSCD mit"sudo /etc/init.d/pcscd stop" damit libchipcard arbeiten kann, passiert aber nur folgendes:

tail -n 10 -f /var/log/messages liefert beim Einstecken des Kartenlesers in den Slot nur noch:

Code

Mar 26 00:08:03 x200s kernel: [ 5865.284150] usb 1-2: new full speed USB device using uhci_hcd and address 11
Mar 26 00:08:03 x200s kernel: [ 5865.502101] usb 1-2: configuration #1 chosen from 1 choice



chipcard-tool list liefert gar nichts:

Code
 s@x200s:~$ chipcard-tool list
s@x200s:~$ 


geldkarte loaded liefert bei eingesteckter Geldkarte ebenso kein Ergebnis:

Code
 s@x200s:~$ geldkarte loaded
Waiting for card to be inserted: Started.
Waiting for card to be inserted: 5000 of 20000
Waiting for card to be inserted: 10000 of 20000
Waiting for card to be inserted: 15000 of 20000
Waiting for card to be inserted: 20000 of 20000
Waiting for card to be inserted: Finished.
Error in "GetNextCard": Timeout.
s@x200s:~$ 


/etc/rc.local, /etc/chipcard/client/chipcardd.conf und /etc/chipcard/server/chipcardc.conf sind auch gemäß Wiki Anleitung eingerichtet.

Ich vermute, dass hier was nicht stimmt:
die Eingabe von chipcardd4 --loglevel info --logtype console liefert:

Code

s@x200s:~$ chipcardd4 --loglevel info --logtype console
5:2009/03/26 00-05-15:chipcardd(6958):chipcardd.c:  738: Chipcardd v4.1.3.0stable started.
5:2009/03/26 00-05-15:chipcardd(6958):chipcardd.c:  740: LibSYSFS supported.
3:2009/03/26 00-05-15:chipcardd(6959):chipcardd.c:  694: Could not create PID file "/var/run/chipcardd.pid" (Permission denied), aborting.
s@x200s:~$ 


Heißt das er kann den chipcardd Dienst nicht starten, weil er die PID Datei nicht anlegen kann? Die Datei ist aber da, wenn ich in /var/run reinschaue 5 Byte groß, mit Inhalt 6745 (das steht in der Datei, wenn ich sie mit dem Editor öffne).

Kann mir jemand helfen, wie ich den chipcardd zum Starten bekomme und libchipcard somit zum laufen bekomme? Danke schonmal!
hschreiber
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Köln
Beiträge: 2
Dabei seit: 03 / 2009
Betreff:

Re: Libchipcard mit SCM SCR3340 chipcardd startet nicht

 · 
Gepostet: 26.03.2009 - 12:18 Uhr  ·  #2
Dass er das PID-File nicht anlegen konnte, lag daran, dass ich den Befehl nicht als root ausgeführt habe. Das geht jetzt also.

Das nächste Problem ist aber, dass libchipcard angeblich meinen Smartcardleser nicht kennt.

sudo chipcardd4 --loglevel info --logtype console liefert

Code

s@x200s:~$ sudo chipcardd4 --loglevel info --logtype console
[sudo] password for s: 
5:2009/03/26 11-56-18:chipcardd(7026):chipcardd.c:  738: Chipcardd v4.1.3.0stable started.
5:2009/03/26 11-56-18:chipcardd(7026):chipcardd.c:  740: LibSYSFS supported.
6:2009/03/26 11-56-18:chipcardd(7028):chipcardd.c:  963: Initializing daemon.
6:2009/03/26 11-56-18:chipcardd(7028):chipcardd.c:  442: Trying "/etc/chipcard/server/chipcardd.conf"
6:2009/03/26 11-56-18:chipcardd(7028):chipcardd.c:  448: Using configuration file [/etc/chipcard/server/chipcardd.conf]
6:2009/03/26 11-56-18:chipcardd(7028):chipcardd.c: 1012: Will now initialize server.
6:2009/03/26 11-56-18:chipcardd(7028):cs_init.c:  349: Server role: standAlone
6:2009/03/26 11-56-18:chipcardd(7028):cs_init.c:  358: Autoconfiguration enabled
6:2009/03/26 11-56-18:chipcardd(7028):cs_init.c:  361: Initialising paths
6:2009/03/26 11-56-18:chipcardd(7028):cs_init.c:  368: Initialising IPC manager
6:2009/03/26 11-56-18:chipcardd(7028):cs_init.c:  110: Listening on [/var/run/chipcard.sock] (local)
6:2009/03/26 11-56-18:chipcardd(7028):devicemanager.c:   91: Initialising device manager
6:2009/03/26 11-56-18:chipcardd(7028):devicemanager.c:  245: Autoconfiguration enabled
6:2009/03/26 11-56-18:chipcardd(7028):devicemanager.c:  248: Adding PCI bus scanner
6:2009/03/26 11-56-18:chipcardd(7028):devicemanager.c:  254: Adding PCMCIA bus scanner
s@x200s:~$ 6:2009/03/26 11-56-18:chipcardd(7028):pcmciascanner.c:   47: Will use sysfs to scan for PCMCIA devices
6:2009/03/26 11-56-18:chipcardd(7028):devicemanager.c:  260: Adding USB bus scanner
6:2009/03/26 11-56-18:chipcardd(7028):devicemanager.c:  266: Adding USB TTY bus scanner
6:2009/03/26 11-56-18:chipcardd(7028):usbttyscanner.c:   59: Will use sysfs to scan for ttyUSB devices
6:2009/03/26 11-56-18:chipcardd(7028):devicemanager.c:  503: Reloading driver info files
6:2009/03/26 11-56-18:chipcardd(7028):cardmanager.c:   58: Initialising card manager
6:2009/03/26 11-56-18:chipcardd(7028):clientmanager.c:   56: Initialising client manager
6:2009/03/26 11-56-18:chipcardd(7028):servicemanager.c:   68: Initialising service manager
6:2009/03/26 11-56-18:chipcardd(7028):chipcardd.c: 1029: Ready to service requests.
5:2009/03/26 11-56-18:chipcardd(7028):devicemanager.c: 3373: Changes in hardware list
6:2009/03/26 11-56-18:chipcardd(7028):devicemanager.c:  503: Reloading driver info files
...

[B]6:2009/03/26 11-56-18:chipcardd(7028):devicemanager.c: 3283: Device UsbRaw/04e6/5119 is not a known reader[/B]
...


nach Ausgabe von lsusb ist 04e46 5119 mein Kartenleser

Code

s@x200s:~$ lsusb
...
Bus 001 Device 003: ID 04e6:5119 SCM Microsystems, Inc. SCR3340 - ExpressCard54 Smart Card Reader
...


In der Datei /usr/share/chipcard/server/drivers/scm33x_ifd.xml ist mein Kartenleser aber aufgeführt:

Code

...
<reader name="scm_usb_express_smart" busType="UsbRaw" vendor="0x04e6" product="0x5119">
<short>SCM USB Expresscard Smart Card Reader</short>
<flags>
      </flags>
<image>scm_usb_express_smart.jpg</image>
</reader>
...




trotzdem sagt chipcardd4

6:2009/03/26 11-56-18:chipcardd(7028):devicemanager.c: 3283: Device UsbRaw/04e6/5119 is not a known reader

Muss man da irgendwie noch ne Verküpfung oder etwas ähnliches herstellen. ich steh mal wieder auf dem Schlauch :? und bin für jeden Tip dankbar
Gewählte Zitate für Mehrfachzitierung:   0