SO: Debian 8
Problema: Estou escrevendo um módulo de driver USB para meu microcontrolador, usb HID personalizado, mas quando eu o conecto ao laptop ele se liga ao driver usbhid, se eu fizer rmmod usbhid
isso também desconecta um mouse e não é muito legal) posso desvinculá-lo via
sudo sh -c 'echo -n "1-3:1.0" > /sys/bus/usb/drivers/usbhid/unbind'
, no entanto, não é interessante fazer isso toda vez que conecto meu dispositivo. Mesmo depois de escrever um script, percebi que não é divertido executá-lo repetidamente. É possível desvincular meu dispositivo do driver usbhid automaticamente?
Responder1
Não foi fácil encontrar a solução realmente legal, mas consegui. A solução não lida com o udev. Precisamos dizer ao núcleo oculto que ele não deve tocar em nosso dispositivo. É possível fazer isso de duas maneiras dependendo do usbhid compilado como módulo ou não. Veja isso:
https://unix.stackexchange.com/questions/55495/prevent-usbhid-from-claiming-usb-device
PS "GRUB_CMDLINE_LINUX_DEFAULT contém argumentos de linha de comando para o kernel Linux. Você pode colocar quantos quiser, desde que sejamseparados por um espaço."
Espero que isso economize o tempo de alguém, já que gastei muito tempo para encontrar essa solução, creio eu, excelente.
Atenciosamente, anon
Responder2
Você pode colocar o driver na lista negra para que ele não carregue e se vincule ao dispositivo na inicialização. Se houver outros módulos que dependam dele, eles não serão carregados.
https://askubuntu.com/questions/110341/how-to-blacklist-kernel-modules