Linux kernel Linux系统中的USB端口

Linux kernel Linux系统中的USB端口,linux-kernel,usb,linux-device-driver,embedded-linux,Linux Kernel,Usb,Linux Device Driver,Embedded Linux,当我在Linux系统中选中“/sys/kernel/debug/usb/devices”时,我可以看到两个设备在同一个端口上(输出下面的T:行)。“D:”行中的端口号也不同 设备1: T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 8 B: Alloc= 0/800 us ( 0%), #Int= 2, #Iso= 0 D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=00 M

当我在Linux系统中选中“/sys/kernel/debug/usb/devices”时,我可以看到两个设备在同一个端口上(输出下面的T:行)。“D:”行中的端口号也不同

设备1:

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480  MxCh= 8
B:  Alloc=  0/800 us ( 0%), #Int=  2, #Iso=  0
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0002 Rev= 3.10
S:  Manufacturer=Linux 3.12 ehci_hcd
S:  Product=EHCI Host Controller
S:  SerialNumber=0000:00:14.0
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=256ms
设备2:

T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=480  MxCh= 4
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=8087 ProdID=07e6 Rev= 0.17
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   1 Ivl=256ms
Linux USB子系统中有物理USB端口和逻辑USB端口吗。
如果是这样,那么您可以帮助理解物理和逻辑USB端口。

D:
线路没有字端口。阅读USB拓扑描述以获得更好的效果(提示:主机控制器->集线器->端口->设备->端点)。设备1具有父级00(根集线器),而设备2具有父级01。每个总线的Prnt/端口组合是唯一的
lsusb-t
将显示树视图。我试图了解根集线器,似乎根集线器是一个直接连接到主机控制器的虚假设备。您能告诉我,根集线器提供的下游端口的数量将是固定的或根据任何逻辑而变化。我对连接到根集线器的设备的端口号有疑问。每次重新启动Linux系统后,分配给连接到根集线器的设备的端口号都将相同。