如果设备已插入,则不会调用 Linux USB 驱动程序探测
题
如果我在 Linux 上使用修改后的 USB 骨架驱动程序,并且在已插入 USB 设备的情况下插入模块,则不会调用探测函数。我需要拔下并重新插入设备才能激活驱动程序。例如,情况并非如此。串行驱动程序,我做了一些测试。是否有一个原因?如何调用探针函数?
解决方案 3
这是我们从/ proc /总线/ USB打开设备和该设备是由驾驶员USBFS权利,所以新的驱动程序不能要求该设备的某些软件。
其他提示
几乎所有的USB HID设备被自动通过USBHID驱动程序来管理。尝试以下方法:
sudo rmmod usbhid
sudo insmod your_driver
sudo insmod usbhid
您可能需要取消设备与 usbhid 的绑定并将其绑定到您的驱动程序:
- 尝试在以下位置找到小偷司机:
/sys/bus/usb/drivers/usbhid/
- 解除绑定:
echo -n "1-1:1.0" > /sys/bus/usb/drivers/usbhid/unbind
- 绑定您的设备:
echo <vendor> <product> > /sys/bus/usb/drivers/my_driver/new_id
或者如果您已经有巴士 ID:echo -n "1-1:1.0" > /sys/bus/usb/drivers/my_driver/bind
不隶属于 StackOverflow