On Thu, Nov 4, 2010 at 1:34 PM, Oliver Neukum <oneukum@suse.de> wrote:
Am Donnerstag, 4. November 2010, 12:19:44 schrieb Carlos Gonçalves:
[My apologies in advance in case this mailing list isn't the right one to ask for $subject]
Hi all,
Is there a way to force the usage of a specific driver on a given device? Consider the following cenario: I've a wireless network that works with both ath5k and ath9k drivers, but I want to use ath5k instead of ath9k or vice- versa.
Unlikely, but let's assume it.
I've considered creating an udev rule but for what I've understood I can't set DRIVER because it's a matching string only, and there is no other way that I'm aware of, to do it.
Driver binding is done in the kernel. Udev determines which drivers are loaded from disk, but not which driver is ultimately bound to the device.
Blacklisting one of the modules would do the trick only if I knew all the compatible modules to that hardware which I may not know. Cenario:
- Compatible drivers to a given hardware: 'driver1' (highest priority), (drivers-name-unknown), 'driver3' (lowest priority) - I want to use 'driver3'
1. Load all drivers in question 2. Unbind all drivers via sysfs /sys/bus/$BUS/drivers/$DRIVER/unbind 3. Bind the desired driver /sys/bus/$BUS/drivers/$DRIVER/bind
See http://lwn.net/Articles/143397/
What do you need this for?
I'm setting up a wireless testbed platform and one of its requirement items was to provide users the chance of letting they choose the driver they want to load because their experiment's goal may be testing new device drivers they've developed. They give the driver name beforehand and the nodes' OS will ensure the specified device will be using that driver. Thanks Oliver and Greg for your quick replies. -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-kernel+help@opensuse.org