如何读取sysfs设备路径?

Mon*_*nku 2 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: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
Run Code Online (Sandbox Code Playgroud)

我想知道这条线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意味着什么.怎么看?路径中的数字是多少?

Tim*_*Tim 6

Sysfs属性是sysfs文件系统中该设备的位置.假设您的内核已编译CONFIG_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
Run Code Online (Sandbox Code Playgroud)

要分解代表的路径:

/sys/是sysfs文件系统的挂载点(参见输出mount | 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.