Linux 如何读取sysfs设备路径?
我有一个USB触摸屏连接到我的硬件设置。当我使用Linux 如何读取sysfs设备路径?,linux,usb,sysfs,Linux,Usb,Sysfs,我有一个USB触摸屏连接到我的硬件设置。当我使用cat/proc/bus/input/devices时,我得到了关于我的设备的以下详细信息: I: Bus=0003 Vendor=2965 Product=5023 Version=0110 N: Name="Kortek Kortek Touch" P: Phys=usb-0000:00:14.0-3.4/input2 S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.4/3-3.4:
cat/proc/bus/input/devices
时,我得到了关于我的设备的以下详细信息:
I: Bus=0003 Vendor=2965 Product=5023 Version=0110
N: Name="Kortek Kortek Touch"
P: Phys=usb-0000:00:14.0-3.4/input2
S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.4/3-3.4:1.2/0003:2965:5023.0006/input/input7
U: Uniq=S20131028
H: Handlers=mouse1 event7 js0
B: PROP=0
B: EV=1b
B: KEY=30000 0 0 0 0 0 0 0 0
B: ABS=3
B: MSC=10
我想知道这行
S:Sysfs=/devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.4/1.2/0003:2965:5023.0006/input/input7
意味着什么。怎么读?路径中的数字是什么?Sysfs属性是该设备在Sysfs文件系统中的位置。假设您的内核是使用CONFIG\u SYSFS
编译的,并且SYSFS文件系统已装入/sys
,您可以在以下位置查看设备:
/sys/devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.4/3-3.4:1.2/0003:2965:5023.0006/input/input7
要分解路径所代表的内容,请执行以下操作:
/sys/
是sysfs文件系统的挂载点(请参阅挂载| grep sysfs
的输出)
/devices/
包含设备树()的文件系统表示形式
/pci0000:00/
描述PCI域和总线号。在这种情况下,域号是0000
,总线号是00
()
/0000:00:14.0/
重复PCI域和总线号以及插槽和功能。在这种情况下,USB设备的插槽号为14
,其功能号为0
()
/usb3/
指连接到总线号3
()的USB控制器
/3-3/3-3.4/3-3.4:1.2/
具有冗余信息。最后一个/3-3.4:1.2/
表示您指的是连接到总线3
、端口3
、端口4
、配置号1
和接口号2
()的USB控制器
/0003:2965:5023.0006/
表示设备连接到总线0003
,供应商ID为2965
,产品ID为5023
。我想问的是,路径告诉我们有关设备的信息,如“pci0000:00/0000:00:14.0/usb3/3-3/3-3.4/3-3.4:1.2/0003:2965:5023.0006”。路径中的数字说明了设备的什么?如果我需要进一步澄清,请告诉我。/0003:2965:5023.0006/
中的数字0006
是什么意思,我不确定。。。也许是修订号?查看它是否与/sys/kernel/debug/usb/devices
Rev=1.00
中设备的Rev属性匹配,因此它似乎不匹配。但是,还有一个属性Dev#=6
。你知道这是什么吗?