отвязать устройство от usbhid и привязать к собственному драйверу

отвязать устройство от usbhid и привязать к собственному драйверу

ОС: 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

https://askubuntu.com/questions/605251/dkms-installed-kernel-module-but-not-working-after-reboot/606359#606359

PS "GRUB_CMDLINE_LINUX_DEFAULT содержит аргументы командной строки для ядра Linux. Вы можете поместить туда столько аргументов, сколько захотите, при условии, что ониразделенные пробелом."

Надеюсь, это сэкономит чье-то время, так как я потратил уйму времени, чтобы найти это, на мой взгляд, превосходное решение.

С наилучшими пожеланиями, анон

решение2

Вы можете добавить драйвер в черный список, чтобы он не загружался и не привязывался к устройству при загрузке. Если другие модули, которые зависят от него, не смогут загрузиться.

https://askubuntu.com/questions/110341/how-to-blacklist-kernel-modules

Связанный контент