Ich habe einen Smart Card Reader bekommen, den ich neulich von einem Laptop gerissen habe. Es ist ein interner Smart Card-Leser, obwohl er USB verwendet. Daher war es kein Problem, ein Kabel dafür herzustellen.
Es scheint, dass es vom USB-Treiber richtig erkannt wird:
[1370965.148035] usb 1-3.2: new low-speed USB device number 25 using ehci-pci
[1370965.229948] usb 1-3.2: New USB device found, idVendor=08d4, idProduct=0009
[1370965.229962] usb 1-3.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[1370965.229969] usb 1-3.2: Product: Fujitsu Siemens USB Smartcard Reader
[1370965.229976] usb 1-3.2: Manufacturer: OMNIKEY AG
Da es sich um einen Standard-Fujitsu Siemens USB-Smartcard-Leser handelt, sollte er mit den Treibern für die "Fujitsu Siemens SmartCard USB 2A" und die "Fujitsu Siemens SmartCard-Tastatur USB 2A" zusammenarbeiten. Beides ist genau dasselbe, außer dass die Variante "Tastatur" permanent an eine USB-Tastatur angeschlossen ist (wie im gleichen Fall).
Die PC / SC-Treiber erkennen den Leser nicht. Die oben genannten Reader werden von libccid unterstützt , pcscd
können den Reader jedoch nicht an den Hersteller- und Produkt-IDs erkennen:
00000286 hotplug_libudev.c:260:get_driver() Looking for a driver for VID: 0x08D4, PID: 0x0009, path: /dev/bus/usb/001/026
(Es wird nur zum nächsten USB-Gerät gewechselt. Schließlich werden alle USB-Geräte ausprobiert und danach nichts mehr ausgeführt.)
Ich hätte gerne einen Rat, was ich jetzt tun soll. Das einzige, was ich tun kann, ist, die CCID-Treiberquelle herunterzuladen und zu versuchen, sie dort zu hacken, oder zumindest ist das das einzige, was ich mir gerade einfallen lassen kann. Kann ich noch etwas ausprobieren?
Mit OpenCT bin ich ein bisschen weiter gekommen :
Ich musste eine Zeile auskommentieren in /etc/openct.conf
:
driver cardman {
ids = {
# usb:076b/0596, # OMNIKEY CardMan 2020
# usb:076b/1784, # OMNIKEY CardMan 6020
usb:08d4/0009, # Fujitsu Siemens SCR USB Reader
};
};
Ich weiß nicht, warum die IDs dieser cardman
Treiber auskommentiert sind. Vielleicht funktioniert der Treiber noch nicht wirklich?
Jedenfalls kann ich damit etwas bekommen mit openct-tool
:
$ openct-tool list
0 OMNIKEY CardMan 2020/6020/6120
Ich habe eine einfache EEPROM-Karte eingelegt, die diese Karte erkennt, aber ich kann nicht daraus lesen:
$ openct-tool read
Detected OMNIKEY CardMan 2020/6020/6120
Card present, status changed
failed to reset card
Also, es funktioniert immer noch nicht wirklich ...
Früher gab es einen Treiber für PC / SC, der diesen Kartenleser unterstützte: pcsc-lite-cm2020 , aber jetzt scheint er weg zu sein.
Ich habe das Quellpaket vom Hersteller heruntergeladen . Es ist sehr alt. Ich habe den Inhalt kopiert /usr/lib64/pcsc/drivers
, aber es funktioniert offensichtlich nicht, da es für die falsche Architektur kompiliert wurde.
Die einzigen Quellen dort kompilieren das Kernelmodul, aber nicht die libcm2020.so
, die ich brauche pcscd
.
Ich konnte die Quellen nicht finden libcm2020.so
, wenn mir etwas fehlt und es tatsächlich möglich ist, die Bibliothek zu kompilieren. Ein Hinweis, wo die Quellen zu finden sind, wäre fantastisch.
libcm2020.so
von/usr/lib64/pcsc/drivers/ifd-cm2020.bundle/Contents/Linux
zusammen mit der ganzen.bundle
directlory. Laut den Lizenzen, die ich finden konnte, scheint dieser Treiber Open Source zu sein, aber ich konnte die Quellen nirgendwo finden ...