如果我在Linux上使用修改过的usb骨架驱动程序,并且我已经插入了已插入USB设备的模块,则不会调用探测功能。我需要拔下并重新插入设备才能激活驱动程序。 例如,情况并非如此。串口驱动程序,我做了一些测试。 是否有一个原因?如何调用探针函数?
答案 0 :(得分:3)
几乎所有USB HID设备都由usbhid驱动程序自动管理。请尝试以下方法:
sudo rmmod usbhid
sudo insmod your_driver
sudo insmod usbhid
答案 1 :(得分:2)
您可能需要将设备与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
答案 2 :(得分:1)
我们的一些软件是从/ proc / bus / usb打开设备,而usbfs驱动程序声称设备已声明,因此新驱动程序无法声明设备。