4x USBコントローラPCIEカードに問題があり、正しく取り付けられていないようです。
状況:我々は、可能な限り多くの帯域幅を提供するためにUSBアダプタカードでUSB Visionカメラを使用したいと思います。だから私たちはASMedia xyとRenesas uPD720202という2つの異なるカードタイプを試しました。このうちASMediaが市場を掌握しているため、Renesasカードの数枚を入手することは困難です。
問題:ASMediaカードが部分的に機能しています。外部SSDドライブなどのUSBデバイスは機能しますが(高速転送速度)、カメラを使用するといくつかのDMAエラーが発生した後数フレームで停止します。カメラはBULKモードを使用します。数時間グーグルをやってみると、ASMediaチップにファームウェアのバグやその他の問題があるようで、カードの使用を放棄しました。 ASMediaはテストされていないPCのカメラで動作します。 Renesas チップを使用してカードを試してみると、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のバージョンなど、さまざまなタスク(ランダムGoogleヒット、Resasカードの問題の修正など)を実際に試しました。何も役に立たなかったので、両方のシステムのdmesgを比較しました。
実際の違いは、カード初期化(?)プロセスで行方不明の行が見つかったことです。 ThinkCentre では uPD720202 コントローラーを 4x とマークしますが、サーバーでは 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]
各リソースには、dmesgサーバーに欠落したio行があることがわかります。
この行は何に使用されますか?これらの行が欠落しているのはなぜですか?デバッグするには?これが問題を解決する正しいヒントですか?
注:このカメラは、このサーバーのすべての内部/基本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
Renesas Technologies 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
サーバー(動作しない)とThinkCentre(動作)の間にNUMA node 0
(サーバーのみ)違いはありません。
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