I am able to reproduce this on-demand on a fully-patched Ubuntu 20.04. Same enclosure - Razer CoreX Chroma. Both the built-in Asix AX88179-based gigE adapter and my Realtek RTL8153-based USB-to-ethernet adapter exhibit this same problem when connected through the CoreX's USB hub.
The same Realtek adapter plugged straight into my laptop has no problems after extended use. Likewise, other high-traffic USB devices (and PCIe) work fine through this enclosure. It is strictly an issue with USB-to-GigE from what I've seen. This appears to be the USB controller in question-
I'm not a kernel dev so I wouldn't know where to start in tracking this down, but I can repro on-demand and am happy to provide whatever other data is needed to someone who wants to get to the bottom of this. Thanks
I am able to reproduce this on-demand on a fully-patched Ubuntu 20.04. Same enclosure - Razer CoreX Chroma. Both the built-in Asix AX88179-based gigE adapter and my Realtek RTL8153-based USB-to-ethernet adapter exhibit this same problem when connected through the CoreX's USB hub.
The same Realtek adapter plugged straight into my laptop has no problems after extended use. Likewise, other high-traffic USB devices (and PCIe) work fine through this enclosure. It is strictly an issue with USB-to-GigE from what I've seen. This appears to be the USB controller in question-
3a:00.0 USB controller: Intel Corporation JHL6240 Thunderbolt 3 USB 3.1 Controller (Low Power) [Alpine Ridge LP 2016] (rev 01) (prog-if 30 [XHCI])
Capabilities: [80] Power Management version 3
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0+ ,D1+,D2+ ,D3hot+ ,D3cold+ )
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [88] MSI: Enable+ Count=1/8 Maskable- 64bit+
Address: 00000000fee00738 Data: 0000
Capabilities: [c0] Express (v2) Endpoint, MSI 00
DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <4us, L1 <8us
ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset- SlotPowerLimit 0.000W
DevCtl: CorrErr- NonFatalErr- FatalErr- UnsupReq-
RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+
MaxPayload 128 bytes, MaxReadReq 512 bytes
DevSta: CorrErr+ NonFatalErr- FatalErr- UnsupReq+ AuxPwr+ TransPend-
LnkCap: Port #0, Speed 2.5GT/s, Width x4, ASPM L0s L1, Exit Latency L0s <2us, L1 <4us
ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp+
LnkCtl: ASPM L0s L1 Enabled; RCB 64 bytes Disabled- CommClk+
ExtSynch- ClockPM+ AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s (ok), Width x4 (ok)
TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
DevCap2: Completion Timeout: Range B, TimeoutDis+, NROPrPrP-, LTR+
10BitTagCom p-, 10BitTagReq-, OBFF Not Supported, ExtFmt-, EETLPPrefix-
EmergencyPo werReduction Not Supported, EmergencyPowerR eductionInit-
FRS- , TPHComp-, ExtTPHComp-
AtomicOpsCa p: 32bit- 64bit- 128bitCAS-
DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR+, OBFF Disabled
AtomicOpsCt l: ReqEn-
LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-
Transmit Margin: Normal Operating Range, EnterModifiedCo mpliance- ComplianceSOS-
Compliance De-emphasis: -6dB
LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationCom plete-, EqualizationPhase1-
Equalizatio nPhase2- , EqualizationPha se3-, LinkEqualizatio nRequest-
Capabilities: [100 v1] Device Serial Number 8b-ce-45- b8-e1-00- aa-00
Capabilities: [200 v1] Advanced Error Reporting
UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
UESvrt: DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr-
CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
AERCap: First Error Pointer: 00, ECRCGenCap- ECRCGenEn- ECRCChkCap- ECRCChkEn-
MultHdrRecCa p- MultHdrRecEn- TLPPfxPres- HdrLogCap-
HeaderLog: 00000000 00000000 00000000 00000000
Capabilities: [300 v1] Virtual Channel
Caps: LPEVC=0 RefClk=100ns PATEntryBits=1
Arb: Fixed- WRR32- WRR64- WRR128-
Ctrl: ArbSelect=Fixed
Status: InProgress-
VC0: Caps: PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
Arb: Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256-
Ctrl: Enable+ ID=0 ArbSelect=Fixed TC/VC=ff
Status: NegoPending- InProgress-
Capabilities: [400 v1] Power Budgeting <?>
Capabilities: [500 v1] Vendor Specific Information: ID=1234 Rev=1 Len=0e0 <?>
Capabilities: [600 v1] Latency Tolerance Reporting
Capabilities: [700 v1] Secondary PCI Express
LnkCtl3: LnkEquIntrruptEn-, PerformEqu-
LaneErrStat: 0
Subsystem: Lenovo JHL6240 Thunderbolt 3 USB 3.1 Controller (Low Power) [Alpine Ridge LP 2016]
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 128 bytes
Interrupt: pin A routed to IRQ 159
Region 0: Memory at c5f00000 (32-bit, non-prefetchable) [size=64K]
Max snoop latency: 3145728ns
Max no snoop latency: 3145728ns
Kernel driver in use: xhci_hcd
I'm not a kernel dev so I wouldn't know where to start in tracking this down, but I can repro on-demand and am happy to provide whatever other data is needed to someone who wants to get to the bottom of this. Thanks