web-dev-qa-db-ja.com

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

OS:Debian 8

問題:マイクロコントローラー用のusbドライバーモジュール、カスタムusb HIDを作成していますが、ラップトップに接続すると、usbhidドライバーにバインドされます。rmmod usbhidを実行すると、マウスも切断され、あまり良くありません)I経由でバインドを解除できます

Sudo sh -c 'echo -n "1-3:1.0" > /sys/bus/usb/drivers/usbhid/unbind'

ただし、デバイスを接続するたびに実行するのは面白くありません。スクリプトを作成した後でも、何度も実行するのは面白くないと感じています。デバイスをusbhidドライバーから自動的にアンバインドすることはできますか?

1
JuicyPussy

本当のクールな解決策を見つけるのは簡単ではありませんでしたが、私はそれを行いました。このソリューションはudevを扱いません。コアを非表示にして、デバイスに触れないようにする必要があります。モジュールとしてコンパイルされた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カーネルへのコマンドライン引数が含まれています。スペースで区切るであれば、必要な数だけ配置できます。

うまくいけば、私はこれを見つけるために多くの時間を費やしたので、誰かの時間を節約できると思います、私は、優れた解決策だと思います。

よろしく、アノン

0
JuicyPussy

起動時にデバイスをロードしてバインドしないように、ドライバーをブラックリストに登録することができます。依存関係がある他のモジュールの場合、それらはロードに失敗します。

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

0
Kyle H