lsusb -t
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p,5000M
|__ Port 1: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage,5000M
|__ Port 2: Dev 6, If 0, Class=Mass Storage, Driver=usb-storage,5000M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/10p,480M
|__ Port 7: Dev 19, If 0, Class=Human Interface Device, Driver=usbhid,1.5M
|__ Port 8: Dev 8, If 0, Class=Human Interface Device, Driver=usbhid,12M
|__ Port 8: Dev 8, If 1, Class=Human Interface Device, Driver=usbhid,12M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p,480M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p,480M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p,480M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p,480M
usb 2.0的设备插入 Bus03 对应的 port 之后,会落到 Bus 03
usb 2.0的设备插入 Bus04 对应的 port 之后,会落到 Bus 03
usb 3.0的设备插入 Bus04 对应的 port 之后,会落到 Bus 04
虽然这上面显示一个roothub有10个port,可实际上接出来几个,要看电路图设计,可能实际板子上没有port
lsusb -t
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p,5000M // 第4个usb控制器实例
这个是roothub,有2个port,驱动是 xhci_hcd, 速度可以达到 5000M , USB3.0 标称 5Gbps
|__ Port 1: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage,5000M
这个是USB3.0的U盘,插在port1上,类是 Mass Storage , 驱动是 usb-storage , 只有一个接口
|__ Port 2: Dev 6, If 0, Class=Mass Storage, Driver=usb-storage,5000M
这个是另一个USB3.0的U盘,插在port2上
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/10p,480M // 第3个usb控制器实例
这个是roothub,有10个port,usb3.0 兼容 usb2.0 ,这个就是USB3.0 IP实例 对应的那个USB2.0实例
驱动仍是 xhci_hcd , 速度可以达到 480M, USB2.0 标称 480M
|__ Port 7: Dev 19, If 0, Class=Human Interface Device, Driver=usbhid,1.5M
这个是 该roothub 上的 port 7 的设备,Dev号为19(在这个roothub上每插一次,就增加一次),该设备有1个接口,显示的这行对应的接口为0(有线鼠标)
这个设备所属类为 HID,驱动为 usbhid,速率为 1.5M , usb 1.1 low speed
|__ Port 8: Dev 8, If 0, Class=Human Interface Device, Driver=usbhid,12M
这个是 该roothub 上的 port 8 的设备,Dev号为8(每插一次,就增加一次),接口为0
这个设备所属类为 HID,驱动为 usbhid,速率为 12M , usb 2.0 FULL speed,该设备有2个接口,显示的这行对应的接口为0(无线键鼠的鼠标)|__ Port 8: Dev 8, If 1, Class=Human Interface Device, Driver=usbhid,12M
这个是 该roothub 上的 port 8 的设备,Dev号为8(每插一次,就增加一次),接口为0
这个设备所属类为 HID,驱动为 usbhid,速率为 12M , usb 2.0 FULL speed,该设备有2个接口,显示的这行对应的接口为1(无线键鼠的键盘)/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p,480M // 第2个usb控制器实例
这个是roothub,有2个port,驱动是 ehci-pci, 速度可以达到 480M , USB2.0 标称 480M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p,480M
这个是hub,这个hub有6个port,速度可以达到480M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p,480M // 第1个usb控制器实例
这个是roothub,有2个port,驱动是 ehci-pci, 速度可以达到 480M , USB2.0 标称 480M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p,480M
可见,这个roothub 是 第一个 Dev,即号码为1, 接下来的设备可以为 2 ,3 ,4
/sys/bus/usb/devices$ ls | xargs -n 11-0:1.01-11-1:1.02-0:1.02-12-1:1.03-0:1.03-73-7:1.03-83-8:1.03-8:1.14-0:1.0
usb1
usb2
usb3
usb4
X-Y // 设备 , roothub X 上的 port Y 上的设备
X-0// 不存在这种表示,可以对应 roothub 设备// 注意 : 和 USBX(即USBM)不同 ,第X个USB控制器实例设备// 存在 X-0:1.0 , 表示 roothub 中第一个接口(也只有一个接口)
X-1// port 1 的 设备
X-Y:1.Z // 接口 , roothub X 上的 port Y 上的设备 上的 第Z个接口
X-0:1.0// 表示 roothub X 设备 中第一个接口,一般该设备最多有1个接口
X-1:1.0// 表示 port 1 上的设备 中第一个接口,一般该设备 有1个接口或多个接口
X-1:1.1// 表示 port 1 上的设备 中第2个接口,一般该设备 有1个接口或多个接口
USBM // 控制器实例, 第M个USB控制器实例(M从1开始)