我有一个智能卡读卡器,我前几天从笔记本电脑上撕下来的。它是一个内置的智能卡读卡器,虽然它使用 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
Run Code Online (Sandbox Code Playgroud)
因为它是一个非常标准的富士通西门子 USB 智能卡读卡器,它应该与“富士通西门子智能卡 USB 2A”和“富士通西门子智能卡键盘 USB 2A”的驱动程序一起使用。两者是完全相同的,除了“键盘”变体永久连接到 USB 键盘(如在同一情况下)。
PC/SC 驱动程序无法识别阅读器。我上面提到的阅读器受libccid支持,但pcscd
无法通过其供应商和产品 ID 识别阅读器:
00000286 hotplug_libudev.c:260:get_driver() Looking for a driver for VID: 0x08D4, PID: 0x0009, path: /dev/bus/usb/001/026
Run Code Online (Sandbox Code Playgroud)
(它只是转移到下一个 USB 设备。最终,它会尝试所有 USB 设备,然后什么也不做。)
我想得到一些建议,我现在应该做什么?我唯一能做的就是下载 CCID 驱动程序源并尝试在那里破解它,或者至少这是我现在唯一能想到的。还有什么我可以尝试的吗?
我用OpenCT 更进一步:
我不得不取消注释一行/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
};
};
Run Code Online (Sandbox Code Playgroud)
我不知道为什么那些cardman
驱动程序的ID被注释掉了,也许驱动程序还没有真正工作?
无论如何,有了这个,我可以得到一些东西openct-tool
:
$ openct-tool list
0 OMNIKEY CardMan 2020/6020/6120
Run Code Online (Sandbox Code Playgroud)
我放入了一个简单的 EEPROM 卡,它可以感应到这张卡,但我无法从中读取:
$ openct-tool read
Detected OMNIKEY CardMan 2020/6020/6120
Card present, status changed
failed to reset card
Run Code Online (Sandbox Code Playgroud)
所以,它仍然无法正常工作,真的......
曾经有一个支持这个读卡器的PC/SC驱动:pcsc-lite-cm2020,但是现在好像没有了。
我已经从制造商那里下载了源包。它很旧了。我已将内容复制到/usr/lib64/pcsc/drivers
,但它显然不起作用,因为它是为错误的体系结构编译的。
那里唯一的来源是编译内核模块,但不是libcm2020.so
我需要的pcscd
.
我找不到 的来源libcm2020.so
,如果我遗漏了某些东西,并且确实可以编译库,那么在何处找到来源的提示会很棒。
openct-tool read
Run Code Online (Sandbox Code Playgroud)
以 root 身份尝试此操作,或者更好的是,检查 USB 读卡器的权限(我使用另一个名为 smargo 的读卡器,它已连接到ttyUSB0
,所以我检查/dev/ttyUSB0
),然后重做openct-tool read
。
归档时间: |
|
查看次数: |
25027 次 |
最近记录: |