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?

È stato utile?

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/

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top