简短的回答:
cd /sys/dev/char/major:minor/device/driver/
ls -al | grep module
每个设备一般与驱动有关,这是所有什么是“设备型号”是什么。 sysfs文件系统包含这些设备及其相关驱动程序的表示。不幸的是,似乎并非所有的sysfs都有设备节点的表示,所以这只适用于/ sys目录包含/ dev目录的情况。 让我们举个例子,用/dev/video0
我的船上,ls -al /dev/video0输出
crw------- 1 root root 81, 0 Jan 1 00:00 video0
所以主设备号是81号和次号为0 让我们深入到sysfs的:
# cd /sys
# ls
block class devices fs module
bus dev firmware kernel
sys/dev目录包含系统的char和block设备的条目:
# cd dev
# cd char
# ls
10:61 13:64 1:3 1:8 249:0 252:0 29:0 4:65 81:0 89:1
10:62 1:1 1:5 1:9 250:0 253:0 29:1 5:0 81:2
10:63 1:11 1:7 248:0 251:0 254:0 4:64 5:1 81:3
这到底是什么与奇怪的名字链接? 还记得主要和次要的数字,81和0? 让我们跟随此链接:
#cd major:minor (ie 81:0)
#ls -al
drwxr-xr-x 2 root root 0 Jan 1 01:56 .
drwxr-xr-x 3 root root 0 Jan 1 01:56 ..
-r--r--r-- 1 root root 4096 Jan 1 01:56 dev
lrwxrwxrwx 1 root root 0 Jan 1 01:56 device -> ../../../vpfe-capture
-r--r--r-- 1 root root 4096 Jan 1 01:56 index
-r--r--r-- 1 root root 4096 Jan 1 01:56 name
lrwxrwxrwx 1 root root 0 Jan 1 01:56 subsystem -> ../../../../../class/video4linux
-rw-r--r-- 1 root root 4096 Jan 1 01:56 uevent
现在我们可以看到,这个装置点头,这是该设备是如何呈现给用户空间,与核心设备相关联。该关联是通过链接进行的。如果我们按照这个链接,我们最终在一个目录中,并带有驱动程序链接。驱动程序的名称通常是模块的名称:
# ls -al
drwxr-xr-x 3 root root 0 Jan 1 01:56 .
drwxr-xr-x 25 root root 0 Jan 1 00:00 ..
lrwxrwxrwx 1 root root 0 Jan 1 01:56 driver -> ../../../bus/platform/drivers/vpfe-capture
-r--r--r-- 1 root root 4096 Jan 1 01:56 modalias
lrwxrwxrwx 1 root root 0 Jan 1 01:56 subsystem -> ../../../bus/platform
-rw-r--r-- 1 root root 4096 Jan 1 01:56 uevent
drwxr-xr-x 3 root root 0 Jan 1 01:56 video4linux
所以这里的模块的名称是vpfe_capture