And*_*Dog 6 linux kernel usb kernel-modules devices
直接相关:防止 usbhid 声称新奇的 USB 设备,以便我可以用 libusb 控制它?
我想从使用 libusb-0.1 的程序访问 RFID 阅读器(用作 HID 设备)。在代码中,内核驱动程序正确分离usb_detach_kernel_driver_np(没有错误),但似乎每当我的程序尝试访问 USB 设备时,usbhid 模块都会回收它。以下错误总是出现在dmesg:
usb 1-1.3:usbfs:usbhid 声明的接口 0,而“MyProgram”设置配置 #1
我添加了以下 udev 规则,重新启动 udevd 并重新插入设备,但没有效果。它应该将设备列入黑名单,以免被 usbhid 使用。
# I anonymized the vendor/product IDs here
ATTRS{idVendor}=="dead", ATTRS{idProduct}=="beef", OPTIONS=="ignore_device"
Run Code Online (Sandbox Code Playgroud)
除了 dmesg 输出,我可以看到/sys/bus/usb/drivers/usbhid/设备1-1.3:1.0每次都会重新创建,因此黑名单似乎不起作用。
还有什么我可以尝试的吗?操作系统是 Raspbian(在 Raspberry Pi 上),内核为 3.2.27。
我已经解决了这部分问题:
OPTIONS=="ignore_device"已从内核中删除(提交)blacklist usbhid什么也没做,甚至没有挡住我的键盘options usbhid quirks=0xdead:0xbeef:0x0004不起作用,因为 usbhid 未编译为模块因此,我添加usbhid.quirks=0xdead:0xbeef:0x4到启动命令行(在 Raspbian 上,位于 /boot/cmdline.txt 中),并且 usbhid 不再绑定设备。
然而,我原来的问题仍然存在。第一次访问 RFID 读取器时,我总是遇到读取/超时错误。
| 归档时间: |
|
| 查看次数: |
15255 次 |
| 最近记录: |