sonda controlador USB Linux no se llama si el dispositivo ya enchufado
Pregunta
Si uso un controlador USB esqueleto modificado en Linux y que insmod el módulo con el dispositivo USB ya está enchufado, la función de la sonda no ser llamado. Necesito desconectar y vuelva a conectar el dispositivo con el fin de que el conductor puede activar. Esto no es el caso de, por ejemplo, los controladores serie, hice algunas pruebas. ¿Hay alguna razón para esto? ¿Cómo consigo la función de sonda para ser llamado?
Solución 3
Algunos software de nosotros estaba abriendo el dispositivo de / proc / bus / usb y el dispositivo fue demandada por el conductor usbfs, por lo que el nuevo conductor no podría reclamar el dispositivo.
Otros consejos
Casi todos los dispositivos USB HID son manejados automáticamente por el conductor usbhid. Intente lo siguiente:
sudo rmmod usbhid
sudo insmod your_driver
sudo insmod usbhid
Es probable que necesita para desenlazar su dispositivo de usbhid y enlazarlo a su conductor:
- tratar de encontrar el controlador ladrón en:
/sys/bus/usb/drivers/usbhid/
- desvincularla:
echo -n "1-1:1.0" > /sys/bus/usb/drivers/usbhid/unbind
- unen su dispositivo:
-
echo <vendor> <product> > /sys/bus/usb/drivers/my_driver/new_id
o si ya tiene un identificador de bus: -
echo -n "1-1:1.0" > /sys/bus/usb/drivers/my_driver/bind
-