將裝置與 usbhid 解除綁定並綁定到您自己的驅動程式

將裝置與 usbhid 解除綁定並綁定到您自己的驅動程式

作業系統:Debian 8

問題:我正在為我的微控制器、自訂 USB HID 編寫 USB 驅動程式模組,但是當我將其插入筆記型電腦時,它會綁定到 USBHID 驅動程序,如果我這樣做,rmmod usbhid它也會斷開滑鼠連接,這不是很好)我可以透過以下方式取消綁定:

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

,但是每次插入設備時都執行此操作並不有趣。是否可以自動解除我的裝置與 usbhid 驅動程式的綁定?

答案1

找到真正酷的解決方案並不容易,但我已經做到了。該解決方案不涉及 udev。我們需要說隱藏核心不應該接觸我們的設備。有兩種方法可以做到這一點,這取決於 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

相關內容