首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >防止usbhid声称有新的usb设备,这样我就可以用libusb控制它了?

防止usbhid声称有新的usb设备,这样我就可以用libusb控制它了?
EN

Unix & Linux用户
提问于 2011-05-28 17:34:53
回答 3查看 12K关注 0票数 9

我有一个USB火箭发射器,我希望通过libusb进行试验。但是,libusb不能声明接口;大概是因为usb-devices的输出将“usbhid”作为设备的驱动程序。

通过在网上阅读,我得出的结论是,我需要将这个驱动程序从设备中分离出来,这样我就可以将它与libusb一起使用。然而,我还没有找到一种明确的方法来做到这一点,只有几个不同的想法和错误报告。

那么,有没有办法将usbhid驱动程序从与Ubuntu11.04提供的内核和工具相关的设备中分离出来呢?

编辑:

我试着创建文件

代码语言:javascript
复制
/etc/udev/rules.d/10-usbhid.rules

并编写以下内容:

代码语言:javascript
复制
ATTRS{idVendor}=="0a81", ATTRS{idProduct}=="0701", OPTIONS=="ignore_device"

保存,然后重新启动。该文件仍然在那里,但它似乎根本不起作用。

编辑:

好吧,我试过这个:

代码语言:javascript
复制
sudo -i
echo -n "0003:0A81:0701.0006" > /sys/bus/hid/drivers/generic-usb/unbind

之后,导航到/sys/bus/hid/设备/0003:0A81:0701.0006,ls生成:

代码语言:javascript
复制
drwxr-xr-x 2 root root    0 2011-05-29 15:46 power
lrwxrwxrwx 1 root root    0 2011-05-29 13:19 subsystem ->       ../../../../../../../../../bus/hid
-rw-r--r-- 1 root root 4096 2011-05-29 13:19 uevent

它不再像以前那样列出一个“驱动程序”符号链接,所以我假设它没有绑定它。然而,所有的证据似乎表明司机仍然是usbhid。例如,usb设备产生:

代码语言:javascript
复制
T:  Bus=02 Lev=03 Prnt=07 Port=00 Cnt=01 Dev#=  9 Spd=1.5 MxCh= 0
D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0a81 ProdID=0701 Rev=00.01
S:  Manufacturer=Dream Link
S:  Product=USB Missile Launcher v1.0
C:  #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=00 Prot=00 Driver=usbhid

libusb仍然在usb_claim_interface()上重放-1 .

EN

回答 3

Unix & Linux用户

回答已采纳

发布于 2011-05-29 22:23:56

如果您只是将libusb程序作为root运行,

代码语言:javascript
复制
usb_detach_kernel_driver_np()

实际上就像预期的那样。

票数 5
EN

Unix & Linux用户

发布于 2011-05-28 17:47:02

我认为你需要在udev的S黑名单中添加设备id,这样就不会有任何模块,包括usbhid,连接到它上。

票数 2
EN

Unix & Linux用户

发布于 2012-04-08 12:08:51

我认为以下udev规则可以做您想做的事情:

代码语言:javascript
复制
SUBSYSTEM=="usb", ATTRS{idVendor}=="0a81", ATTRS{idProduct}=="0701", MODE="0660", GROUP="plugdev", RUN="/bin/sh -c 'echo -n $id:1.0 > /sys/bus/usb/drivers/usbhid/unbind'"

您的用户需要成为plugdev组的成员才能获得访问权限。没有必要在此规则就位后作为root运行。

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/13964

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档