如何找出哪个内核模块(通过键入lsmod看到)正在为/ dev中的特定设备提供服务?
换句话说,我说有一个设备,/ dev / mouse0,我想知道安装了哪个内核模块来为该设备提供服务.我怎么做?
另一种看待这种情况的方法是,一些加载的内核模块将自己与/ dev中的设备相关联.如何找出模块“附加”到哪个设备?
解决方法
如果您使用的是2.6内核,通常可以通过/ sys挖掘来查找此信息.
例如
$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
所以这种情况下的驱动程序是usbhid.可能有更好/更简洁的方法,但我发现在sysfs中挖掘通常可以完成工作.