usbhidからデバイスをアンバインドし、独自のドライバーにバインドします。

usbhidからデバイスをアンバインドし、独自のドライバーにバインドします。

OS: 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 がモジュールとしてコンパイルされているかどうかに応じて、2 つの方法で実行できます。これをチェックしてください:

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

関連情報