How do I tell which kernel module is servicing a /dev device?

7,731

You can usually find this information by digging through /sys if you're on a 2.6 kernel.

e.g.

$ ls -la /dev/input/mouse1   
crw-r----- 1 root root 13, 33 2010-03-08 15:56 /dev/input/mouse1
$ ls -la /sys/class/input/mouse1/device/driver 
lrwxrwxrwx 1 root root 0 2010-05-12 23:33 /sys/class/input/mouse1/device/driver -> ../../../../../../bus/usb/drivers/usbhid

So the driver in this case is usbhid. There might be a better/neater way of doing this but I find digging in sysfs usually gets the job done.

Share:
7,731

Related videos on Youtube

regulatre
Author by

regulatre

I like turtles

Updated on September 17, 2022

Comments

  • regulatre
    regulatre over 1 year

    How do I find out which kernel module (as seen by typing lsmod) is servicing a particular device in /dev ?

    In other words, say I have a device, /dev/mouse0 and I want to find out which kernel module is installed to service that device. How do I do that?

    Another way to look at this is, some loaded kernel modules associate themselves with a device in /dev. How does one find out which device(s) a module is "attached" to?

  • James
    James about 14 years
    lsof won't show you the name of the module. lsof only shows which userspace programs have the device node open.