Linux-USB-Treiber Sonde nicht aufgerufen, wenn das Gerät bereits eingesteckt
Frage
Wenn ich ein modifiziertes usb Skelett-Treiber unter Linux verwenden und ich insmod das Modul mit dem USB-Gerät bereits eingesteckt, wird die Sonde Funktion nicht aufgerufen. Ich brauche das Gerät, um zu trennen und replug für den Fahrer aktiviert werden. Dies ist nicht der Fall für z.B. die seriellen Treiber, machte ich einige Tests. Gibt es einen Grund dafür? Wie erhalte ich die Sonde Funktion aufgerufen?
Lösung 3
Einige Software von uns wurde das Gerät aus / proc / bus / usb zu öffnen und das Gerät wurde von der usbfs Fahrer beansprucht, so der neue Treiber das Gerät nicht behaupten konnte.
Andere Tipps
Fast alle USB-HID-Geräte werden automatisch von usbhid Treiber verwaltet. Versuchen Sie Folgendes:
sudo rmmod usbhid
sudo insmod your_driver
sudo insmod usbhid
Sie müssen wahrscheinlich Ihr Gerät aus usbhid und binden Sie es zu Ihrem Fahrer entbinden:
- versuchen, den Dieb Fahrer zu finden:
/sys/bus/usb/drivers/usbhid/
- unbind es:
echo -n "1-1:1.0" > /sys/bus/usb/drivers/usbhid/unbind
- binden Sie Ihr Gerät:
-
echo <vendor> <product> > /sys/bus/usb/drivers/my_driver/new_id
oder wenn Sie bereits eine Bus-ID haben: -
echo -n "1-1:1.0" > /sys/bus/usb/drivers/my_driver/bind
-
finden Sie unter http://www.ha19.no/usb/ finden Sie unter http://lwn.net/Articles/143397/