Linux上的智能卡读卡器检测

时间:2013-10-19 06:30:38

标签: linux smartcard-reader

我有一个名为SK-284的智能卡读卡器。它支持两种通信方式,RS232和USB。 在我的情况下,只启用USB。当我通过USB将此设备连接到我的Linux笔记本电脑时,它不会被检测到。我运行'$ dmesg'命令检查它检测到哪个ttyUSB端口,我得到了以下输出,

[ 2321.208330] usb 2-1.2: new full-speed USB device number 7 using ehci_hcd
[ 2321.384628] generic-usb 0003:8203:8288.0003: hiddev0,hidraw1: USB HID v1.10 Device [\xffffffe6\xffffffb7\xffffffb1\xffffffb7\xffffffb1\xffffffe5\xffffff9c\xffffffb3\xffffff9c\xffffffb3\xffffffe5\xffffff88\xffffff9b\xffffff88\xffffff9b\xffffffe8\xffffff87\xffffffaa\xffffff87\xffffffaa\xffffffe6\xffffff8a\xffffff80\xffffff8a\xffffff80\xffffffe6\xffffff9c\xffffffaf\xffffff9c\xffffffaf\xffffffe6\xffffff9c\xffffff89\xffffff9c\xffffff89\xffffffe9\xffffff99\xffffff90\xffffff99\xffffff90\xffffffe5\xffffff85\xffffffac\xffffff85\xffffffac\xffffffe5\xffffff8f\xffffffb8\xffffff8f\xffffffb8 CRT450  USB 1.1] on usb-0000:00:1d.0-1.2/input0
[ 2326.634925] usb 2-1.2: USB disconnect, device number 7
[ 2326.855479] usb 2-1.2: new full-speed USB device number 8 using ehci_hcd
[ 2326.954303] usb 2-1.2: config index 0 descriptor too short (expected 9, got 0)
[ 2326.954310] usb 2-1.2: can't read configurations, error -22
[ 2327.027211] usb 2-1.2: new full-speed USB device number 9 using ehci_hcd
[ 2327.171371] generic-usb 0003:CEA0:2840.0004: hiddev0,hidraw1: USB HID v1.10 Device [\xffffffe6\xffffffb7\xffffffb1\xffffffb7\xffffffb1\xffffffe5\xffffff9c\xffffffb3\xffffff9c\xffffffb3\xffffffe5\xffffff88\xffffff9b\xffffff88\xffffff9b\xffffffe8\xffffff87\xffffffaa\xffffff87\xffffffaa\xffffffe6\xffffff8a\xffffff80\xffffff8a\xffffff80\xffffffe6\xffffff9c\xffffffaf\xffffff9c\xffffffaf\xffffffe6\xffffff9c\xffffff89\xffffff9c\xffffff89\xffffffe9\xffffff99\xffffff90\xffffff99\xffffff90\xffffffe5\xffffff85\xffffffac\xffffff85\xffffffac\xffffffe5\xffffff8f\xffffffb8\xffffff8f\xffffffb8 CRT284 USB 1.1] on usb-0000:00:1d.0-1.2/input0

我的笔记本电脑规格: 操作系统:Ubuntu 12.04 内核:3.2.0-54-generic-pae

当我将同一设备连接到Windows 7并运行设备管理器时,在人机接口设备(HID)下检测到它。一些测试应用程序运行正常。

我的任务是在Linux上编写一个小代码,以便按设备检测智能卡。 那么我在哪里可以了解此设备使用哪个ttyUSB端口,或者连接到此设备的任何其他方法。

提前致谢。

1 个答案:

答案 0 :(得分:0)

您可以尝试更改usbcore模块中的某些参数:

echo y > /sys/module/usbcore/parameters/old_scheme_first

然后重新插入usb-device。

因为它是全速设备(不是高速设备),你也可以做这样的事情:

rmmod ehci-hcd
insmod uhci-hcd
insmod ohci-hcd

似乎usb通信存在问题。可能在USB设备方面,因为usb-host需要9个字节,但usb-device发送0个字节。