2010-03-29 4 views
1

Если я использую модифицированный драйвер скелета usb в Linux, и я подключаю модуль с уже подключенным USB-устройством, функция зонда не вызывается. Мне нужно отключить и переустановить устройство, чтобы драйвер был активирован. Это не так, например. серийные драйверы, я сделал несколько тестов. Есть ли причина для этого? Как получить функцию зонда для вызова?Звонок драйвера USB USB не вызывается, если устройство уже подключено

ответ

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/