how to find which driver to use for a device

From a subscriber:

Posted Aug 2, 2008 18:12 UTC (Sat) by cortana (subscriber, #24596) [Link]

Because I'm always forgetting this information when trying to trouble shoot others' systems...

1. Find the device in the sysfs. For instance, my wireless network card corresponds to
2. Examine the 'modalias' file in this directory.
3. Run /sbin/modprobe -v -n --first-time $(< /sys/devices/pci0000:00/0000:00:0f.0/modalias).
This shows you the module that will be loaded for this hardware.

You can also do this by hand...

1. Find the device in the output of 'lspci -nn'.
2. Note the pair of numbers on the end of the line. These are the vendor and device IDs that
uniquely identify the device.
3. Look this information up in /lib/modules/$yourkernel/modules.pcimap

The same approaches work for USB and presumably all other modern/sensible hardware.