Problema cu cardurile PCIE controler USB 4x pare să nu fie instalată corect.
Situație: Dorim să folosim camere USB Vision cu carduri adaptoare USB, oferind cât mai multă lățime de bandă.Așa că am încercat două tipuri de carduri diferite: ASMedia xy și Renesas uPD720202, unde piața este dominată de ASMedia și a fost foarte greu să obțineți câteva dintre cardurile Renesas.
Problema: Cardul ASMedia funcționează parțial. Dispozitivele USB, cum ar fi unitățile SSD externe, sunt utilizabile (cu rate de transfer mari), dar atunci când utilizați o cameră, aceasta se oprește după câteva cadre cu o eroare DMA. Aparatul foto utilizează un mod BULK. Googeling timp de câteva ore arată că acel cip ASMedia pare să aibă niște erori de firmware sau orice altceva, așa că am renunțat la ideea de a folosi acel card. ASMedia a funcționat pe un computer care nu a fost testat în combinație cu camera).
Încercând Cardul cu cipuri Renesas, funcționează perfect pe un computer ThinkCentre dar nu și pe hardware-ul țintă, un Supermicro Server. Ambele folosesc același sistem de operare (Ubuntu 18.04, Kernel 5.4.0-97-generic). Serverul are mult mai mult RAM, GPU-uri etc.
Iată linkul către ThinkCentre unde funcționează: https://linux-hardware.org/?probe=c945332cad
Iată linkul către server (nu funcționează): https://linux-hardware.org/?probe=f0c1c16098
Am încercat o mulțime de chestii în sălbăticie (de la hit-uri aleatorii ale google unde au fost rezolvate probleme cu cardul Renesas), cum ar fi autosuspend off, actualizări de kernel, diferite versiuni Ubuntu etc.. Nimic nu a ajutat, așa că am comparat dmesg-ul ambelor sisteme.
Singura diferență reală am putut observa o linie lipsă în timpul inițializării (?) a cardului. Vă rugăm să ignorați faptul că ThinkCentre arată de 4 ori controlerul uPD720202, dar serverul doar de 3 ori. Colegul meu spune că a arătat de 4x unul în celălalt, dar, din păcate, acum am doar jurnalul de 3x.
Iată diferența pe care am putut observa:
În ThinkCentre dmesg există acest bloc:
[ 0.268577] pci_bus 0000:03: resursa 0 [io 0x2000-0x2fff]
[ 0.268578] pci_bus 0000:03: resursa 1 [mem 0xdf300000-0xdf3fffff]
[ 0.268578] pci_bus 0000:03: resursa 2 [mem 0xd0000000-0xd01fffff 64bit pref]
[ 0.268579] pci_bus 0000:04: resursa 0 [io 0x3000-0x3fff]
[ 0.268580] pci_bus 0000:04: resursa 1 [mem 0xdf200000-0xdf2fffff]
[ 0.268580] pci_bus 0000:04: resursa 2 [mem 0xd0200000-0xd03fffff 64bit pref]
[ 0.268581] pci_bus 0000:05: resursa 0 [io 0x4000-0x4fff]
[ 0.268582] pci_bus 0000:05: resursa 1 [mem 0xdf100000-0xdf1fffff]
[ 0.268582] pci_bus 0000:05: resursa 2 [mem 0xd0400000-0xd05fffff 64bit pref]
[ 0.268583] pci_bus 0000:06: resursa 0 [io 0x5000-0x5fff]
[ 0.268584] pci_bus 0000:06: resursa 1 [mem 0xdf000000-0xdf0fffff]
[ 0.268584] pci_bus 0000:06: resursa 2 [mem 0xd0600000-0xd07fffff 64bit pref]
în timp ce pe server văd acest bloc:
[ 10.247535] pci_bus 0000:83: resursa 1 [mem 0xd3600000-0xd36fffff]
[ 10.247538] pci_bus 0000:83: resursa 2 [mem 0x390000000000-0x3900001fffff 64bit pref]
[ 10.247540] pci_bus 0000:84: resursa 1 [mem 0xd3500000-0xd35fffff]
[ 10.247542] pci_bus 0000:84: resursa 2 [mem 0x390000200000-0x3900003fffff 64bit pref]
[ 10.247545] pci_bus 0000:85: resursa 1 [mem 0xd3400000-0xd34fffff]
[ 10.247547] pci_bus 0000:85: resursa 2 [mem 0x390000400000-0x3900005fffff 64bit pref]
[ 10.247550] pci_bus 0000:86: resursa 1 [mem 0xd3300000-0xd33fffff]
[ 10.247552] pci_bus 0000:86: resursa 2 [mem 0x390000600000-0x3900007fffff 64bit pref]
Puteți vedea că există o linie io pentru fiecare dintre resurse, care lipsește în serverul dmesg.
Pentru ce este această linie? Care sunt motivele probabile pentru lipsa acestor linii? Cum se depanează? Este acesta chiar indicația potrivită pentru a rezolva problema?
Btw: Camerele funcționează perfect pe oricare dintre controlerele USB interne/native ale acelui server.
Multumesc pentru orice ajutor/idee.
Aceasta este o postare duplicată a: