Hello,

https://bugzilla.kernel.org/buglist.cgi?quicksearch=uPD72020&list_id=1019103
reveals a whole list of 'NEW'-state bugs for this chip. The mileage
varies, but here is a detailed description of the issue I face on laptop
with ECUSB3S254F from StarTech:

https://www.startech.com/Cards-Adapters/USB-3.0/Cards/2-Port-Flush-Mount-USB-3-ExpressCard-Adapter~ECUSB3S254F

The system is running GNU/Gentoo Linux with kernel 5.0.3, same problem
was observed with kernel 4.19.27 for a reference.

Most of the bugs mentioned in the bugzilla list from the start of the
email exist, however I manage to workaround them by simply telling the
PCI bus to remove the ID and/or rescan for new devices.

Commands to use:

echo 1 > /sys/bus/pci/devices/0000\:04\:00.0/remove
echo 1 > /sys/bus/pci/rescan

When a single USB port is in use, chances are that the device will just
work(though sometimes IO subsystem to the connected USB device may just
hang, but this is for another time). However, if you plug in two USB
devices, say two USB sticks or disks, then it fails to work.

[  136.136819] xhci_hcd 0000:04:00.0: xHCI host controller not
responding, assume dead
[  136.136836] xhci_hcd 0000:04:00.0: HC died; cleaning up

or

[  341.214239] xhci_hcd 0000:04:00.0: remove, state 1
[  341.214258] usb usb4: USB disconnect, device number 1
[  341.214801] xhci_hcd 0000:04:00.0: USB bus 4 deregistered
[  341.214956] xhci_hcd 0000:04:00.0: remove, state 4
[  341.214968] usb usb3: USB disconnect, device number 1
[  341.216006] xhci_hcd 0000:04:00.0: Host halt failed, -19
[  341.216016] xhci_hcd 0000:04:00.0: Host not accessible, reset failed.
[  341.216480] xhci_hcd 0000:04:00.0: USB bus 3 deregistered

Power issues I rule out, as I have provided auxiliary external source of
5V and more than enough AMPs, so the controller should be able to feed
the needed. Also it happens with USB sticks, which do not draw a lot of
AMPs.

Here is the controller as reported by lspci -nn:
04:00.0 USB controller [0c03]: Renesas Technology Corp. uPD720202 USB
3.0 Host Controller [1912:0015] (rev 02)

and the verbose output of lspci attached to the email.

lsusb -t:
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 5000M
    |__ Port 1: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 5000M

(UAS kernel module is also available, but I believe a kernel quirk
disables it for this controller/disk), thus it falls back to
usb-storage, which is ok.

Any hope to get this to behave under Linux? The vendor only lists
Windows as a supported OS, however it seems like the linux driver is
almost there too...

Any pointers/patches/suggestions are welcome.
I did not open a separate bug for this, as there are too many 'NEW' already.

Thank you,
-Nikolay

04:00.0 USB controller: Renesas Technology Corp. uPD720202 USB 3.0 Host 
Controller (rev 02) (prog-if 30 [XHCI])
        Subsystem: Renesas Technology Corp. uPD720202 USB 3.0 Host Controller
        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: 64 bytes
        Interrupt: pin A routed to IRQ 18
        Region 0: Memory at e5b00000 (64-bit, non-prefetchable) [size=8K]
        Capabilities: [50] 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: [70] MSI: Enable- Count=1/8 Maskable- 64bit+
                Address: 0000000000000000  Data: 0000
        Capabilities: [90] MSI-X: Enable+ Count=8 Masked-
                Vector table: BAR=0 offset=00001000
                PBA: BAR=0 offset=00001080
        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: Report errors: Correctable- Non-Fatal- Fatal- 
Unsupported-
                        RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop+
                        MaxPayload 128 bytes, MaxReadReq 512 bytes
                DevSta: CorrErr+ UncorrErr+ FatalErr- UnsuppReq+ 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 L0s L1 Enabled; RCB 64 bytes Disabled- CommClk+
                        ExtSynch- ClockPM+ AutWidDis- BWInt- AutBWInt-
                LnkSta: Speed 5GT/s, Width x1, 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-
                LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-
                         Transmit Margin: Normal Operating Range, 
EnterModifiedCompliance- ComplianceSOS-
                         Compliance De-emphasis: -6dB
                LnkSta2: Current De-emphasis Level: -6dB, 
EqualizationComplete-, EqualizationPhase1-
                         EqualizationPhase2-, EqualizationPhase3-, 
LinkEqualizationRequest-
        Kernel driver in use: xhci_hcd
        Kernel modules: xhci_pci

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to