是否可以覆盖已编译到内核中的驱动程序?

时间:2013-07-31 14:23:37

标签: linux-kernel

我有一个USB设备,我有一个API。此API仅在USB设备不使用ftdi_sio / usbserial驱动程序时有效。

在我的笔记本电脑上,如果我插入USB设备,这些驱动程序会被加载(作为模块),我必须使用modprobe -r卸载它们,之后使用API​​的代码可以看到设备。

我有另一个设备遇到相同的问题,虽然没有加载模块,所以我猜这些驱动程序被编译到内核中。我的问题是 - 有什么方法可以阻止这个设备使用这些驱动程序,还是我必须重新编译内核等?

感谢您的帮助!

1 个答案:

答案 0 :(得分:5)

您基本上正在寻找一种方法:

  • 取消绑定 USB设备的默认驱动程序
  • 绑定您选择的驱动程序。

快速查看this,让您入门。

此优秀LWN article of (un)binding device drivers中提供了稍微详细的相同说明。