Если я использую модифицированный драйвер скелета usb в Linux, и я подключаю модуль с уже подключенным USB-устройством, функция зонда не вызывается. Мне нужно отключить и переустановить устройство, чтобы драйвер был активирован. Это не так, например. серийные драйверы, я сделал несколько тестов. Есть ли причина для этого? Как получить функцию зонда для вызова?Звонок драйвера USB USB не вызывается, если устройство уже подключено
1
A
ответ
1
Некоторое программное обеспечение от нас открывало устройство из/proc/bus/usb, и устройство было заявлено драйвером usbfs, поэтому новый драйвер не смог претендовать на устройство.
3
Практически все USB-устройства HID автоматически управляются драйвером usbhid. Попробуйте следующее:
sudo rmmod usbhid
sudo insmod your_driver
sudo insmod usbhid
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
см http://www.ha19.no/usb/ см http://lwn.net/Articles/143397/