Is it possible to override a driver that has been compiled into the kernel?
linux-kernel
Solution
You are essentially looking for a way to :
- unbind the default driver from your USB device and
- bind a driver of your choice to it.
Take a quick look at this to get you started.
A slightly more detailed description of the same is available in this excellent LWN article of (un)binding device drivers.
Problem
I have a USB device for which I have an API. This API only works if the USB device doesn't use the ftdi_sio/usbserial drivers. On my laptop, if I plug the USB device in, these drivers get loaded (as modules) and I have to unload them using modprobe -r after which code using the API can see the device. I have another device which experiences the same issue although no modules are loaded so I'm guessing these drivers are compiled into the kernel. My question is this - is there any way to stop this device from using these drivers or do I have to recompile the kernel, etc? Thanks for any help!