![如何禁止驱动程序在连接其识别的设备时重新打开?](https://linux22.com/image/139435/%E5%A6%82%E4%BD%95%E7%A6%81%E6%AD%A2%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%E5%9C%A8%E8%BF%9E%E6%8E%A5%E5%85%B6%E8%AF%86%E5%88%AB%E7%9A%84%E8%AE%BE%E5%A4%87%E6%97%B6%E9%87%8D%E6%96%B0%E6%89%93%E5%BC%80%EF%BC%9F.png)
完成后,驱动sudo rmmod usbhid
程序usbhid
仅在我连接设备时重新打开,这是我不想要的,因为我想为其编写自定义驱动程序,并且我需要禁用它,直到我另有说明。驱动程序本身不依赖于任何其他驱动程序,并且在删除模块时它不会给我任何错误。
所以,我的问题是,如何禁用驱动程序(在本例中usbhid
)直到重新启动或手动启用,而不是永久禁用,而不需要内核重新打开它?
答案1
您可以利用 modprobe.d 的黑名单功能。将模块添加到 /etc/modprobe.d/blacklist.conf,或添加自定义加载命令,然后在准备重新启动时将其注释掉。
https://wiki.archlinux.org/index.php/Kernel_module#Blacklisting