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