解除 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

相关内容