4x USB 控制器 PCIE 卡出现问题似乎未正确安装。
情况:我们希望使用带有 USB 适配器卡的 USB Vision 相机,提供尽可能多的带宽。所以我们尝试了两种不同的卡类型:ASMedia xy 和 Renesas uPD720202,其中市场由 ASMedia 主导,很难买到几张 Renesas 卡。
问题:ASMedia 卡部分工作。外部 SSD 驱动器等 USB 设备可用(传输速率高),但使用相机时,它会在几帧后停止并出现一些 DMA 错误。相机使用 BULK 模式。谷歌搜索几个小时后发现,ASMedia 芯片似乎存在一些固件错误或其他问题,因此我们放弃了使用该卡的想法。 ASMedia 确实可以在未经测试的 PC 上与相机结合使用)。尝试使用瑞萨芯片的卡,它在 ThinkCentre PC 上完美运行,但在目标硬件(Supermicro 服务器)上运行不正常。两者都使用相同的操作系统(Ubuntu 18.04,内核 5.4.0-97-generic)。服务器有更多的 RAM、GPU 等。
这是它工作的 ThinkCentre 的链接:https://linux-hardware.org/?probe=c945332cad
这是服务器的链接(不起作用):https://linux-hardware.org/?probe=f0c1c16098
我们在野外尝试了很多东西(来自随机谷歌点击,解决了瑞萨卡的问题),比如自动挂起关闭、内核更新、不同的 Ubuntu 版本等。没有任何帮助,所以我比较了两个系统的 dmesg。
唯一真正的区别是我在卡的初始化(?)期间发现了缺失的一行。请忽略这样一个事实:ThinkCentre 显示了 4x uPD720202 控制器,但服务器仅显示了 3x。我的同事说每次运行都显示 4x,但不幸的是我现在只有 3x 日志。
这是我可以发现的区别:在 ThinkCentre dmesg 中有这个块:
[ 0.268577] pci_bus 0000:03: resource 0 [io 0x2000-0x2fff]
[ 0.268578] pci_bus 0000:03: resource 1 [mem 0xdf300000-0xdf3fffff]
[ 0.268578] pci_bus 0000:03: resource 2 [mem 0xd0000000-0xd01fffff 64bit pref]
[ 0.268579] pci_bus 0000:04: resource 0 [io 0x3000-0x3fff]
[ 0.268580] pci_bus 0000:04: resource 1 [mem 0xdf200000-0xdf2fffff]
[ 0.268580] pci_bus 0000:04: resource 2 [mem 0xd0200000-0xd03fffff 64bit pref]
[ 0.268581] pci_bus 0000:05: resource 0 [io 0x4000-0x4fff]
[ 0.268582] pci_bus 0000:05: resource 1 [mem 0xdf100000-0xdf1fffff]
[ 0.268582] pci_bus 0000:05: resource 2 [mem 0xd0400000-0xd05fffff 64bit pref]
[ 0.268583] pci_bus 0000:06: resource 0 [io 0x5000-0x5fff]
[ 0.268584] pci_bus 0000:06: resource 1 [mem 0xdf000000-0xdf0fffff]
[ 0.268584] pci_bus 0000:06: resource 2 [mem 0xd0600000-0xd07fffff 64bit pref]
在服务器上我看到这个块:
[ 10.247535] pci_bus 0000:83: resource 1 [mem 0xd3600000-0xd36fffff]
[ 10.247538] pci_bus 0000:83: resource 2 [mem 0x390000000000-0x3900001fffff 64bit pref]
[ 10.247540] pci_bus 0000:84: resource 1 [mem 0xd3500000-0xd35fffff]
[ 10.247542] pci_bus 0000:84: resource 2 [mem 0x390000200000-0x3900003fffff 64bit pref]
[ 10.247545] pci_bus 0000:85: resource 1 [mem 0xd3400000-0xd34fffff]
[ 10.247547] pci_bus 0000:85: resource 2 [mem 0x390000400000-0x3900005fffff 64bit pref]
[ 10.247550] pci_bus 0000:86: resource 1 [mem 0xd3300000-0xd33fffff]
[ 10.247552] pci_bus 0000:86: resource 2 [mem 0x390000600000-0x3900007fffff 64bit pref]
您可以看到每个资源都有一个 io 行,而服务器 dmesg 中缺少该行。
这条线是做什么用的?这些线路缺失的可能原因是什么?如何调试?这是否是解决问题的正确提示?
顺便说一句:这些摄像头在该服务器的任何内部/本机 USB 控制器上都能完美工作。
感谢您的任何帮助/想法。
编辑:
USB 适配卡为:DELOCK 89008
https://www.reichelt.de/de/de/pcie-x4-4-x-extern-usb-3-0-typ-a-delock-89008-p288774.html?r=1
瑞萨科技公司 4x uPD720202 USB 3.0 主控制器
驱动程序是来自内核的xhci_hcd,如果我理解正确的话:
Device: 83:00.0
Class: USB controller [0c03]
Vendor: Renesas Technology Corp. [1912]
Device: uPD720202 USB 3.0 Host Controller [0015]
PhySlot: 0-1
Rev: 02
ProgIf: 30
Driver: xhci_hcd
NUMANode: 1
驱动程序信息(请注意,在 hw-probe 和本次之间系统已经重新安装了多次):
lspci -nk
60:00.0 0c03: 1912:0015 (rev 02)
Kernel driver in use: xhci_hcd
61:00.0 0c03: 1912:0015 (rev 02)
Kernel driver in use: xhci_hcd
62:00.0 0c03: 1912:0015 (rev 02)
Kernel driver in use: xhci_hcd
63:00.0 0c03: 1912:0015 (rev 02)
Kernel driver in use: xhci_hcd
lspci -v (only one port)
60:00.0 USB controller: Renesas Technology Corp. uPD720202 USB 3.0 Host Controller (rev 02) (prog-if 30 [XHCI])
Physical Slot: 0-1
Flags: bus master, fast devsel, latency 0, IRQ 25, NUMA node 0
Memory at c5e00000 (64-bit, non-prefetchable) [size=8K]
Capabilities: [50] Power Management version 3
Capabilities: [70] MSI: Enable- Count=1/8 Maskable- 64bit+
Capabilities: [90] MSI-X: Enable+ Count=8 Masked-
Capabilities: [a0] Express Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
Capabilities: [150] Latency Tolerance Reporting
Kernel driver in use: xhci_hcd
除了NUMA node 0
(仅在服务器上)之外,服务器(不工作)和 ThinkCentre(工作)之间没有区别。
03:00.0 USB controller: Renesas Technology Corp. uPD720202 USB 3.0 Host Controller (rev 02) (prog-if 30 [XHCI])
Physical Slot: 0
Flags: bus master, fast devsel, latency 0, IRQ 17
Memory at df300000 (64-bit, non-prefetchable) [size=8K]
Capabilities: [50] Power Management version 3
Capabilities: [70] MSI: Enable- Count=1/8 Maskable- 64bit+
Capabilities: [90] MSI-X: Enable+ Count=8 Masked-
Capabilities: [a0] Express Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
Capabilities: [150] Latency Tolerance Reporting
Kernel driver in use: xhci_hcd