Linux sonde pilote USB non appelé si l'appareil est déjà branché
Question
Si j'utilise un squelette de pilote USB modifié sur Linux et j'insmod le module avec le périphérique USB déjà branché, la fonction de la sonde ne soit pas appelé. Je dois débrancher et rebrancher l'appareil pour que le pilote soit activé. Ce n'est pas le cas par exemple les pilotes de série, j'ai fait quelques tests. Y a-t-il une raison à cela? Comment puis-je obtenir la fonction de sonde appelée?
La solution 3
Certains logiciels nous a été l'ouverture du dispositif de / proc / bus / usb et l'appareil a été revendiqué par le conducteur usbfs, de sorte que le nouveau pilote ne pouvait pas prétendre au dispositif.
Autres conseils
Presque tous les périphériques HID USB sont automatiquement gérés par le pilote usbhid. Effectuez les opérations suivantes:
sudo rmmod usbhid
sudo insmod your_driver
sudo insmod usbhid
Vous avez probablement besoin de délier votre appareil de usbhid et le lier à votre pilote:
- essayer de trouver le pilote voleur:
/sys/bus/usb/drivers/usbhid/
- il délie:
echo -n "1-1:1.0" > /sys/bus/usb/drivers/usbhid/unbind
- lier votre appareil:
-
echo <vendor> <product> > /sys/bus/usb/drivers/my_driver/new_id
ou si vous avez déjà un identifiant de bus: -
echo -n "1-1:1.0" > /sys/bus/usb/drivers/my_driver/bind
-
voir http://www.ha19.no/usb/ voir http://lwn.net/Articles/143397/