Отсоединить устройство от usbhid и связать с вашим собственным драйвером
ОС: Debian 8
Проблема: я пишу модуль драйвера USB для моего микроконтроллера, пользовательский HID USB, но когда я подключаю его к ноутбуку, он связывается с драйвером USB, если я это делаю rmmod usbhid
он также отключает мышь, и это не очень приятно) я могу отсоединить его через
sudo sh -c 'echo -n "1-3:1.0" > /sys/bus/usb/drivers/usbhid/unbind'
Однако делать это каждый раз, когда я подключаю свое устройство, неинтересно. Даже после того, как я написал скрипт, я понял, что запускать его снова и снова неинтересно. Можно ли автоматически отсоединить мое устройство от драйвера usbhid?
2 ответа
Найти настоящее крутое решение было нелегко, но я это сделал. Решение не касается udev. Чтобы скрыть ядро, нужно сказать, что оно не должно касаться нашего устройства. Это можно сделать двумя способами, в зависимости от того, usbhid скомпилирован как модуль или нет. Проверьте это:
https://unix.stackexchange.com/questions/55495/prevent-usbhid-from-claiming-usb-device
PS "GRUB_CMDLINE_LINUX_DEFAULT содержит аргументы командной строки для ядра Linux. Вы можете поместить столько, сколько захотите, если они разделены пробелом ".
Надеюсь, это сэкономит кому-то время, так как я потратил много времени, чтобы найти это, я думаю, отличное решение.
С наилучшими пожеланиями, скоро
Вы можете занести драйвер в черный список, чтобы он не загружался и не связывался с устройством при загрузке. Если другие модули, которые зависят от него, они не смогут загрузить.
https://askubuntu.com/questions/110341/how-to-blacklist-kernel-modules