主板:我的主板背面板上
有6xUSB2.0 端口和2xUSB3.0 端口。
我板载有 3 个 USB2.0 连接器和 1 个 USB3.0 连接器。
在我的 hightower 前面:
我有一个 USB 接口,带有2xUSB2.0 端口,连接到主板 USB2.0 连接器之一,我有2xUSB3.0 端口,连接到主板 USB3.0 连接器。
输出:
lspci -v | awk 'BEGIN {nextCount=3} /USB controller/ {print $0; nextCount=0; next;} //{nextCount++; if (nextCount==2) {print $0;}}'
00:12.0 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI0 Controller (prog-if 10 [OHCI])
Flags: bus master, 66MHz, medium devsel, latency 32, IRQ 18, NUMA node 0, IOMMU group 5
00:12.2 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB EHCI Controller (prog-if 20 [EHCI])
Flags: bus master, 66MHz, medium devsel, latency 32, IRQ 17, NUMA node 0, IOMMU group 5
00:13.0 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI0 Controller (prog-if 10 [OHCI])
Flags: bus master, 66MHz, medium devsel, latency 32, IRQ 18, NUMA node 0, IOMMU group 6
00:13.2 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB EHCI Controller (prog-if 20 [EHCI])
Flags: bus master, 66MHz, medium devsel, latency 32, IRQ 17, NUMA node 0, IOMMU group 6
00:14.5 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI2 Controller (prog-if 10 [OHCI])
Flags: bus master, 66MHz, medium devsel, latency 32, IRQ 18, NUMA node 0, IOMMU group 11
00:16.0 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI0 Controller (prog-if 10 [OHCI])
Flags: bus master, 66MHz, medium devsel, latency 32, IRQ 18, NUMA node 0, IOMMU group 13
00:16.2 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB EHCI Controller (prog-if 20 [EHCI])
Flags: bus master, 66MHz, medium devsel, latency 32, IRQ 17, NUMA node 0, IOMMU group 13
02:00.0 USB controller: Renesas Technology Corp. uPD720202 USB 3.0 Host Controller (rev 02) (prog-if 30 [XHCI])
Flags: bus master, fast devsel, latency 0, IRQ 33, NUMA node 0, IOMMU group 15
03:00.0 USB controller: Renesas Technology Corp. uPD720202 USB 3.0 Host Controller (rev 02) (prog-if 30 [XHCI])
Flags: bus master, fast devsel, latency 0, IRQ 43, NUMA node 0, IOMMU group 16
我有
2xUSB3.0 控制器列出序列号 02:00.0、03:00.0
3xUSB2.0 EHCI 控制器序列号 00:12:2、00:13.2、00:16.2
4xUSB2.0 OHCI 控制器00:12.0、00:13:0、 00:14.5, 00:16.0
因为我有两个 USB3.0 控制器和 4 个 USB 3.0 端口,
所以我认为一个控制器管理 2 个 USB 3.0 端口 但为什么我有这么多 USB2.0 控制器?
所有 OHCI 控制器共享相同的 IRQ,所有 EHCI 控制器共享相同的 IRQ。
USB2.0是否只有两个控制器并且多次列出?
当我查看路径时,/sys/bus/usb/devices
我看到usb1到usb11
的文件夹
,因此外部可访问的每个 USB 端口都有自己的总线号。但我外面有12个USB端口???
当我跳进我的 U 盘所在的 3 号巴士时,事情变得更加奇怪。
/sys/bus/usb/devices/usb3
串行文件显示“0000:00:13.2”和产品“EHCI Host Controller”,这就是 lspci 显示的信息,这就是控制器。
但如果我查找,/sys/bus/usb/devices/usb3/3-0:1.0
它会显示文件夹usb3-port1....5 ,并且在端口 5 上,设备文件夹会列在我的 USB 记忆棒上。
这意味着什么?
连接我的 U 盘的外部 USB 端口有总线编号 3,然后有 5 个端口 -?????????
在第五个端口上连接了我的 USB 记忆棒,其他端口在哪里?
我真的不明白这一点。有人可以帮助我吗?
我发现了什么。usb1到usb11的 文件夹
/sys/bus/usb/devices
是 USB 根集线器,由 USB 总线编号表示。每个 USB 控制器必须实现一个 USB 根集线器,并且 USB 根集线器是 USB 控制器的一部分并代表它(其设备号为 1 的伪设备)。
PCI 地址02:00.0处的USB3.0 控制器控制Hightower 前面的两个 USB3.0 端口,并在总线编号 8和9处实现了两个 USB 根集线器。 当我读取文件夹中的串行文件时,它显示了我的控制器的相同 PCI 地址。 当我读取速度文件时,它显示8 号总线的速度为 480,9 号总线的速度为 5000。
/sys/bus/usb/devices/usb8
/sys/bus/usb/devices/usb9
所以不同的USB根集线器有不同的速度。如果我在前置 USB3.0 端口上连接一个慢速 USB 设备,它会连接到 8 号总线,而一个快速设备会连接到 9 号总线。
/sys/bus/usb/devices/usb8/8-0:1.0
usb8-port1、usb8-port2中的端口和/sys/bus/usb/devices/usb9/9-0:1.0
usb9-port1、usb9-port2 中的端口与我的 hightower 前面的物理端口相同。仅连接到两个不同速度的 USB 根集线器并由同一 USB 控制器管理。我还读到USB2.0对于不同的速度有不同的控制器,这就是为什么我有这么多控制器,但那里列出的端口可以是相同的物理端口。