Si j'utilise un pilote squelette usb modifié sous Linux et que j'insère le module avec le périphérique USB déjà branché, la fonction de sonde ne sera pas appelée. Je dois débrancher et rebrancher l'appareil pour que le conducteur soit activé. Ce n'est pas le cas par exemple. les pilotes série, j'ai fait quelques tests. Y a-t-il une raison à cela? Comment puis-je appeler la fonction de sonde?Linux Sonde pilote USB non appelée si le périphérique est déjà branché
1
A
Répondre
1
Certains logiciels de notre part ouvraient le périphérique à partir de/proc/bus/usb et le périphérique était revendiqué par le pilote usbfs, de sorte que le nouveau pilote ne pouvait pas revendiquer le périphérique.
3
Presque tous les périphériques USB HID sont automatiquement gérés par le pilote usbhid. Effectuez les actions suivantes:
sudo rmmod usbhid
sudo insmod your_driver
sudo insmod usbhid
2
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/
- délier il:
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 ID 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/