A number of months ago I was happily backing up my system at home using
my sys-usb with a dedicated USB controller that worked right out of the
box. I didn't need any drivers or anything special. It just worked.
Then something happened, likely during an update, which could be like 6
months ago, so I switched back to using dom0 for my updates until I
could find the time to look into it. It appeared to me that the USB
controller was simply malfunctioning, so I searched for a new card from
a different manufacturer which claimed it had native Linux support.
But after installing this new card and booting up qubes, nothing. The
new card didn't work either. Booting other OS's both cards work just
fine. But with qubes neither one works, and as luck would have it both
cards have chip-sets from Renesas (uPD720201 uPD720202).
I know that I have received a couple of qubes-vm kernel updates over
that time, and I can't say for certain which one broke it, but it
appears that other people on some other OS's are also having some
similar issues:
e.g. circa 2018-05-05
https://bugzilla.kernel.org/show_bug.cgi?id=199627
and in 2016 there was a patch to xhci-pci
https://lore.kernel.org/patchwork/patch/686290/
and some more recent indecision and push back:
https://lore.kernel.org/linux-usb/CANcMJZDqX6-+naGEbBiyM+1c...@mail.gmail.com/
https://lore.kernel.org/linux-usb/20191106083843....@kernel.org/
So my question to this forum is; Short of buying yet another "new" USB
card and taking a chance of getting the exact same flunky Renesas
chipset, what other options are there for resolving this? It seems
Kernel.org/linux-usb isn't exactly making haste in fixing this issue,
and reverting back to an older and less secure qubes-vm kernel would be
a definite mistake given some recent vulnerabilities.
Thoughts? Do I need to trash them and just move on? I do have one that
is working in my machine here at work, but I'll have to disassemble it
to find out what brand/model number it is. I hate breaking tamper seals
if I can avoid it.
Thanks,
Steve
My hardware info:
$ sudo dmesg | grep xhci
[ 16.516802] xhci_hcd 0000:00:07.0: xHCI Host Controller
[ 16.516893] xhci_hcd 0000:00:07.0: new USB bus registered, assigned
bus number 2
[ 26.517096] xhci_hcd 0000:00:07.0: can't setup: -110
[ 26.517199] xhci_hcd 0000:00:07.0: USB bus 2 deregistered
[ 26.520823] xhci_hcd 0000:00:07.0: init 0000:00:07.0 fail, -110
[ 26.520857] xhci_hcd: probe of 0000:00:07.0 failed with error -110
[ 26.522239] xhci_hcd 0000:00:08.0: xHCI Host Controller
[ 26.522332] xhci_hcd 0000:00:08.0: new USB bus registered, assigned
bus number 2
[ 36.522522] xhci_hcd 0000:00:08.0: can't setup: -110
[ 36.522567] xhci_hcd 0000:00:08.0: USB bus 2 deregistered
[ 36.524235] xhci_hcd 0000:00:08.0: init 0000:00:08.0 fail, -110
[ 36.524268] xhci_hcd: probe of 0000:00:08.0 failed with error -110
$ lspci
...
00:07.0 USB controller: Renesas Technology Corp. uPD720202 USB 3.0
Host Controller (rev 02)
00:08.0 USB controller: Renesas Technology Corp. uPD720201 USB 3.0
Host Controller (rev 03)
Both controllers are using similar chipsets...
> setpci -v -s 00:07.0 f0.l
0000:00:07.0 @f0 = ffffffff
> setpci -v -s 00:07.0 ec.l
0000:00:07.0 @ec = ffffffff
> setpci -v -s 00:08.0 ec.l
0000:00:08.0 @ec = ffffffff
> setpci -v -s 00:08.0 f0.l
0000:00:08.0 @f0 = ffffffff
Hmmm, no bios I can flash...
> sudo lspci -vvv
00:07.0 USB controller: Renesas Technology Corp. uPD720202 USB 3.0
Host Controller (rev 02) (prog-if 30 [XHCI])
Physical Slot: 7
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-
Interrupt: pin A routed to IRQ 44
Region 0: Memory at f2024000 (64-bit, non-prefetchable) [size=8K]
Capabilities: [50] Power Management version 3
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [70] MSI: Enable- Count=1/1 Maskable- 64bit+
Address: 0000000000000000 Data: 0000
Capabilities: [a0] Express (v2) Endpoint, MSI 00
DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s
unlimited, L1 unlimited
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 5GT/s, Width x1, ASPM L0s L1,
Exit Latency
L0s <4us, L1 unlimited
ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp-
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk-
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s (downgraded), Width x1 (ok)
TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
DevCap2: Completion Timeout: Not Supported,
TimeoutDis+, LTR+, OBFF
Not Supported
AtomicOpsCap: 32bit- 64bit- 128bitCAS-
DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-,
LTR-, OBFF Disabled
AtomicOpsCtl: ReqEn-
LnkSta2: Current De-emphasis Level: -3.5dB,
EqualizationComplete-,
EqualizationPhase1-
EqualizationPhase2-, EqualizationPhase3-,
LinkEqualizationRequest-
Kernel modules: xhci_pcisudo
00:08.0 USB controller: Renesas Technology Corp. uPD720201 USB 3.0
Host Controller (rev 03) (prog-if 30 [XHCI])
Physical Slot: 8
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-
Interrupt: pin A routed to IRQ 17
Region 0: Memory at f2026000 (64-bit, non-prefetchable) [size=8K]
Capabilities: [50] Power Management version 3
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [70] MSI: Enable- Count=1/1 Maskable- 64bit+
Address: 0000000000000000 Data: 0000
Capabilities: [a0] Express (v2) Endpoint, MSI 00
DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s
unlimited, L1 unlimited
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 5GT/s, Width x1, ASPM L0s L1,
Exit Latency
L0s <4us, L1 unlimited
ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp-
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk-
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s (downgraded), Width x1 (ok)
TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
DevCap2: Completion Timeout: Not Supported,
TimeoutDis+, LTR+, OBFF
Not Supported
AtomicOpsCap: 32bit- 64bit- 128bitCAS-
DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-,
LTR-, OBFF Disabled
AtomicOpsCtl: ReqEn-
LnkSta2: Current De-emphasis Level: -3.5dB,
EqualizationComplete-,
EqualizationPhase1-
EqualizationPhase2-, EqualizationPhase3-,
LinkEqualizationRequest-
Kernel modules: xhci_pci