让我的智能卡读卡器在 Linux 上运行

让我的智能卡读卡器在 Linux 上运行

我有一个智能卡读卡器,是我前几天从笔记本电脑上拆下来的。它是一个内置智能卡读卡器,尽管它使用 USB,因此为其制作电缆是没有问题的。

USB 驱动程序似乎正确识别了它:

[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

由于它是一款几乎标准的富士通西门子 USB 智能卡读卡器,因此它应该与“富士通西门子智能卡 USB 2A”和“富士通西门子智能卡键盘 USB 2A”的驱动程序配合使用。两者是完全相同的,除了“键盘”变体永久连接到 USB 键盘(如在同一情况下)。

PC/SC 驱动程序无法识别读卡器。我上面提到的读者得到了支持库西德,但pcscd无法通过其供应商和产品 ID 识别阅读器:

00000286 hotplug_libudev.c:260:get_driver() Looking for a driver for VID: 0x08D4, PID: 0x0009, path: /dev/bus/usb/001/026

(它只是跳到下一个 USB 设备。最终,它会尝试所有 USB 设备,然后什么都不做。)

我想得到一些建议我现在应该做什么?我唯一能做的就是下载 CCID 驱动程序源代码并尝试将其破解,或者至少这是我现在能想到的唯一方法。还有什么我可以尝试的吗?


我得到了一点进一步开放CT:

我不得不取消注释一行/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
    };
};

我不知道为什么这些驱动程序的IDcardman被注释掉了,也许驱动程序还没有真正工作?

不管怎样,有了这个,我可以得到一些东西openct-tool

$ openct-tool list
  0 OMNIKEY CardMan 2020/6020/6120

我放入了一个简单的 EEPROM 卡,它可以感应到该卡,但我无法从中读取:

$ openct-tool read
Detected OMNIKEY CardMan 2020/6020/6120
Card present, status changed
failed to reset card

所以,它仍然不起作用,真的......


曾经有一个PC/SC驱动程序支持该读卡器:pcsc-lite-cm2020不过,现在好像已经没有了。

我已经下载了源码包来自制造商。它很旧了。我已将内容复制到/usr/lib64/pcsc/drivers,但它显然不起作用,因为它是针对错误的体系结构进行编译的。

那里唯一的来源是编译内核模块,但不是libcm2020.so我需要的pcscd

如果我遗漏了一些东西,我找不到 的源代码libcm2020.so,而且确实可以编译该库,如果提示在哪里可以找到源代码,那就太棒了。

答案1

openct-tool read

以 root 身份尝试此操作,或者更好的是,检查 USB 读卡器的权限(我使用另一个名为 smargo 的读卡器,它已连接到ttyUSB0,所以我检查/dev/ttyUSB0),然后重做openct-tool read

相关内容