Sonda de driver USB Linux não é chamada se o dispositivo já foi conectado
Pergunta
Se eu usar um driver de esqueleto USB modificado no Linux e insmito o módulo com o dispositivo USB já conectado, a função da sonda não será chamada. Preciso desconectar e substituir o dispositivo para que o driver seja ativado. Este não é o caso, por exemplo, os drivers em série, fiz alguns testes. Existe uma razão para isso? Como faço para obter a função da sonda para ser chamada?
Solução 3
Alguns softwares de nós estavam abrindo o dispositivo de/proc/BUS/USB e o dispositivo foi reivindicado pelo driver USBFS, para que o novo driver não pudesse reivindicar o dispositivo.
Outras dicas
Quase todos os dispositivos HID USB são gerenciados automaticamente pelo driver USBHID. Experimente o seguinte:
sudo rmmod usbhid
sudo insmod your_driver
sudo insmod usbhid
Você provavelmente precisa desviar seu dispositivo do USBHID e ligá -lo ao seu motorista:
- Tente encontrar o motorista do ladrão em:
/sys/bus/usb/drivers/usbhid/
- desbastencê -lo:
echo -n "1-1:1.0" > /sys/bus/usb/drivers/usbhid/unbind
- Vincule seu dispositivo:
echo <vendor> <product> > /sys/bus/usb/drivers/my_driver/new_id
Ou se você já possui um ID de ônibus:echo -n "1-1:1.0" > /sys/bus/usb/drivers/my_driver/bind
Vejo http://www.ha19.no/usb/Vejo http://lwn.net/articles/143397/