sonde driver USB Linux non chiamato se il dispositivo già collegato
Domanda
Se io uso un driver USB scheletro modificato su Linux e ho insmod il modulo con il dispositivo USB già collegato, la funzione di sonda non vengono chiamati. Ho bisogno di scollegare e ricollegare il dispositivo in modo che il conducente da attivare. Questo non è il caso per esempio i driver seriali, ho fatto alcuni test. C'è una ragione per questo? Come faccio ad avere la funzione di sonda per ottenere chiamato?
Soluzione 3
Alcuni software da noi apriva il dispositivo da / proc / bus / usb e il dispositivo è stato rivendicato dal conducente usbfs, in modo che il nuovo driver non poteva rivendicare il dispositivo.
Altri suggerimenti
Quasi tutti i dispositivi HID USB sono gestiti automaticamente dal pilota USBHID. Provare quanto segue:
sudo rmmod usbhid
sudo insmod your_driver
sudo insmod usbhid
Probabilmente è necessario svincolare il dispositivo da USBHID e associarlo al vostro driver:
- cercare di trovare il driver ladro:
/sys/bus/usb/drivers/usbhid/
- svincolarlo:
echo -n "1-1:1.0" > /sys/bus/usb/drivers/usbhid/unbind
- vincolare il proprio dispositivo:
-
echo <vendor> <product> > /sys/bus/usb/drivers/my_driver/new_id
o se si dispone già di un autobus ID: -
echo -n "1-1:1.0" > /sys/bus/usb/drivers/my_driver/bind
-
http://www.ha19.no/usb/ vedi http://lwn.net/Articles/143397/