Damit mein Smart Card Reader unter Linux funktioniert


9

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 , pcscdkö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 cardmanTreiber 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.


Ich habe den i386 da entfernt libcm2020.sovon /usr/lib64/pcsc/drivers/ifd-cm2020.bundle/Contents/Linuxzusammen mit der ganzen .bundledirectlory. Laut den Lizenzen, die ich finden konnte, scheint dieser Treiber Open Source zu sein, aber ich konnte die Quellen nirgendwo finden ...
Polemon

Antworten:


2
openct-tool read

Versuchen Sie dies als root oder überprüfen Sie die Berechtigung für den USB-Kartenleser (ich verwende einen anderen Kartenleser namens smargo und ist mit ttyUSB0 verbunden, also überprüfe ich / dev / ttyUSB0) und wiederholen Sie den Vorgang

openct-tool lesen

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.