【问题标题】:Smart card reader detection on LinuxLinux 上的智能卡读卡器检测
【发布时间】:2013-10-19 06:30:38
【问题描述】:

我有一个名为 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 端口,或任何其他连接到该设备的方法。

提前致谢。

【问题讨论】:

  • 听起来像是驱动程序问题?对于硬件问题,您可能会在superuser.com 上获得更好的运气该站点仅列出Windows files? 实际上那里有一个标有Linux 的文件。尝试安装它。

标签: linux smartcard-reader


【解决方案1】:

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

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

然后重新插入 USB 设备。

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

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

usb 通讯好像有问题。可能在 usb-device 端,因为 usb-host 需要 9 个字节,但 usb-device 发送 0 个字节。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多