Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

Is there any general way to know the name of the driver of all the devices on a linux machine? For example, I want to know the name of my network interface driver and the name of my webcam driver. How can I do it?

share|improve this question

3 Answers 3

up vote 2 down vote accepted

For devices in /dev check the corresponding entry in /sys/class/<device>/device/driver. Here an example:

ls -l /sys/class/tty/ttyUSB0/device/driver
lrwxrwxrwx 1 root root 0 2013-07-15 11:08 /sys/class/tty/ttyUSB0/device/driver -> ../../../../../../../../../bus/usb-serial/drivers/ftdi_sio

Now you know it's the ftdi_sio. The module can be found with lsmod | grep ftdi_sio.

Another way is to run lspci -k, which nicely tells you which modules are used for which device.

share|improve this answer
2  
fwiw, systool is a generic tool for querying and printing sysfs information in bulk. It might be useful to work that into your answer. The -D option will cause matching devices to be printed underneath their respective kernel modules. –  Joel Davis Jul 15 '13 at 13:10
2  
For example: dpaste.de/HPdCK –  Joel Davis Jul 15 '13 at 13:11
    
@JoelDavis - is systool a standard tool? I didn't see it on any of my RHEL based boxes. –  slm Jul 15 '13 at 20:19
    
@slm yep it's an old 'un too, came out about the same time sysfs did, which was around 2004 or 2005 I think. It's installed with the sysfsutils package that doesn't get updated too often, though (which I take to mean the project has stalled). Not sure why the name is so different but a lot of the documentation I'm finding online seems to imply ambitious plans for the project that apparently never materialized. –  Joel Davis Jul 15 '13 at 20:31

I believe this probably does what you want:

sudo lshw
share|improve this answer

With this command you should find the name of your driver : lsmod

share|improve this answer
1  
This will find the loadable module NOT necessarily the driver. BTW, I did not generate the downvote. Remember a driver can also be contained in a kernel statically, and thus this command would not be helpful as it lists only modules. –  mdpc Jul 15 '13 at 18:28

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.