# xhci_hcd-Probleme

## YPenguin

Mit den Kerneln seit etwa 4.9 habe ich leider ein Problem: Meine USB-Festplatte funktioniert damit nicht mehr.

Das Problem offenbart sich in den Zeiten im dmesg-Protokoll:

```
[    5.830809] 3ware 9000 Storage Controller device driver for Linux v2.26.02.014.

[    5.865021] Adaptec aacraid driver 1.2.1[50877]-custom

[    5.875015] megaraid cmm: 2.20.2.7 (Release Date: Sun Jul 16 00:01:03 EST 2006)

[    5.876503] megaraid: 2.20.5.1 (Release Date: Thu Nov 16 15:32:35 EST 2006)

[    5.882199] megasas: 07.704.04.00-rc1

[    5.897111] qla2xxx [0000:00:00.0]-0005: : QLogic Fibre Channel HBA Driver: 10.00.00.05-k.

[    5.913090] Emulex LightPulse Fibre Channel SCSI driver 11.4.0.6

[    5.913091] Copyright (C) 2017 Broadcom. All Rights Reserved. The term "Broadcom" refers to Broadcom Limited and/or its subsidiaries.

[    5.921191] aic94xx: Adaptec aic94xx SAS/SATA driver version 1.0.3 loaded

[    5.934061] mpt3sas version 17.100.00.00 loaded

[    5.980214] usb-storage 2-1.7:1.0: USB Mass Storage device detected

[    5.980291] scsi host11: usb-storage 2-1.7:1.0

[    5.980366] usbcore: registered new interface driver usb-storage

[    6.013120] xhci_hcd 0000:08:00.0: Resetting

[    6.073458] hrtimer: interrupt took 39229608 ns

[    7.001257] xhci_hcd 0000:08:00.0: timed out waiting for pending transaction; performing function level reset anyway

[    7.055139] scsi 11:0:0:0: Direct-Access     TEAC     FD-05PUW         3000 PQ: 0 ANSI: 0 CCS

[    7.055433] sd 11:0:0:0: Attached scsi generic sg8 type 0

[    7.087083] sd 11:0:0:0: Power-on or device reset occurred

[    7.151121] sd 11:0:0:0: [sdg] Attached SCSI removable disk

[    8.297249] xhci_hcd 0000:08:00.0: not ready 1123ms after FLR; waiting

[    9.385239] xhci_hcd 0000:08:00.0: not ready 2147ms after FLR; waiting

[   11.497251] xhci_hcd 0000:08:00.0: not ready 4195ms after FLR; waiting

[   15.849264] xhci_hcd 0000:08:00.0: not ready 8291ms after FLR; waiting

[   24.553223] xhci_hcd 0000:08:00.0: not ready 16483ms after FLR; waiting

[   41.449215] xhci_hcd 0000:08:00.0: not ready 32867ms after FLR; waiting

[   74.729236] xhci_hcd 0000:08:00.0: not ready 65635ms after FLR; giving up

[   74.819729] CE: hpet7 increased min_delta_ns to 20115 nsec

[   75.012202] xhci_hcd 0000:08:00.0: Refused to change power state, currently in D3

[   75.062555] xhci_hcd 0000:08:00.0: xHCI Host Controller

[   75.062611] xhci_hcd 0000:08:00.0: new USB bus registered, assigned bus number 3

[   75.213420] xhci_hcd 0000:08:00.0: Host halt failed, -19

[   75.213422] xhci_hcd 0000:08:00.0: can't setup: -19

[   75.213424] xhci_hcd 0000:08:00.0: USB bus 3 deregistered

[   75.233630] xhci_hcd 0000:08:00.0: init 0000:08:00.0 fail, -19

[   75.438438] device-mapper: uevent: version 1.0.3

[   75.438533] device-mapper: ioctl: 4.37.0-ioctl (2017-09-20) initialised: dm-devel@redhat.com

[   75.470561] xor: measuring software checksum speed

[   75.480030]    prefetch64-sse: 11800.000 MB/sec
```

----------

## Josef.95

Vorschlag: Teste mal bitte ob es mit einer LiveCD (zb mit der systemrescuecd) noch funktioniert,

falls ja, dann poste bitte auch mal die lspci Ausgabe zu dem Controller, und ggf die Kernel .config (zb via Pastebin Service),

falls nein, dann ist es wahrscheinlich eher ein Hardware Defekt.

----------

## YPenguin

Hardwaredefekt schließe ich aus, da es ein System ist, auf dem auch Windows XP (SP3), Windows 7 (Ultimate) und Windows 10 (Professional) problemlos laufen.

Das Mainboard ist von ASUS (P7P55D), was mit BIOS-Problemen eventuell schon vereinbar wäre.

----------

## YPenguin

So sollte es aussehen, wenn es funktionieren würde (was es mit Kernel 4.1.43-r1 auch tut):

lspci -vv

```
08:00.0 USB controller: Renesas Technology Corp. uPD720201 USB 3.0 Host Controller (rev 03) (prog-if 30 [XHCI])

        Subsystem: Renesas Technology Corp. uPD720201 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: 32 bytes

        Interrupt: pin A routed to IRQ 17

        Region 0: Memory at f7ffe000 (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/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 Disabled; RCB 64 bytes Disabled- CommClk-

                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-

                LnkSta: Speed 2.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: -3.5dB, EqualizationComplete-, EqualizationPhase1-

                         EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-

        Kernel driver in use: xhci_hcd

        Kernel modules: xhci_pci

```

----------

## YPenguin

Die Kernels haben etwa mit Kernel 4.9 angefangen, nicht mehr mit dem Renesas/NEC-Kontroller zusammen zu arbeiten.

Es gibt auch eine Bugnummer dazu:

https://bugs.gentoo.org/612704

----------

## YPenguin

 *Josef.95 wrote:*   

> Vorschlag: Teste mal bitte ob es mit einer LiveCD (zb mit der systemrescuecd) noch funktioniert,
> 
> falls ja, dann poste bitte auch mal die lspci Ausgabe zu dem Controller, und ggf die Kernel .config (zb via Pastebin Service),
> 
> falls nein, dann ist es wahrscheinlich eher ein Hardware Defekt.

 

Ich habe heute mal die neueste Minimal-CD gebrannt und gebootet. Ergebnis: bei xhci_hcd hängt der Bootvorgang und auch mehrere Minuten Warten ändern nichts.

Die Hardware ist intakt und funktioniert mit Windows XP 32, Windows 7 64 und Windows 10 64 - allerdings mit den Treibern von NEC/Renesas.

Auch mit älteren Linux-Kerneln geht es - erst ab etwa Kernel 4.9 ging es nicht mehr.

Derzeit muss ich mit Kernel 4.1.43 arbeiten, weil der Bug oder was es ist, in ältere Kernel (als 4.9) rückmigriert ist - die Problemursache könnte also ein Patch sein, der auf ältere Kernel auch angewendet wurde (bis runter zu 4.4).

Die aktuelle Live-DVD geht - vermutlich weil sie von 2016 ist.

----------

## YPenguin

Die Vorgeschichte zu diesem Thread hatte ich hier gepostet:

https://forums.gentoo.org/viewtopic-t-1059240-highlight-.html

----------

## YPenguin

Ich habe jetzt mal Kernel 4.20.4 probiert, wobei xhci_pci offenbar Probleme hat (wie früher auch schon). Ein Entfernen des Xhci_pci moduls mit modprobe -r xhci_pci und anschließendes neu Laden mit modprobe xhci_pci ergab:

dmesg:

[  597.890743] xhci_hcd 0000:08:00.0: Refused to change power state, currently in D3

[  597.941147] xhci_hcd 0000:08:00.0: xHCI Host Controller

[  597.941291] xhci_hcd 0000:08:00.0: new USB bus registered, assigned bus number 3

[  598.092185] xhci_hcd 0000:08:00.0: Host halt failed, -19

[  598.092188] xhci_hcd 0000:08:00.0: can't setup: -19

[  598.092192] xhci_hcd 0000:08:00.0: USB bus 3 deregistered

[  598.112539] xhci_hcd 0000:08:00.0: init 0000:08:00.0 fail, -19

Ist das ein ACPI-Problem?

----------

## YPenguin

Ich habe  pcie_port_pm=off zur Übergabezeile für den Kernel (Startparameter) hinzugefügt (Grub2). Leider besteht das Problem weiterhin.

Das gleiche Ergebnis ergab sich mit pci_port_pm=off.

----------

## YPenguin

Mit acpi=off erhalte ich:

dmesg:

[  413.257165] xhci_hcd 0000:08:00.0: Refused to change power state, currently in D3

[  413.287556] xhci_hcd 0000:08:00.0: PCI->APIC IRQ transform: INT ? -> IRQ 17

[  413.328156] xhci_hcd 0000:08:00.0: xHCI Host Controller

[  413.328212] xhci_hcd 0000:08:00.0: new USB bus registered, assigned bus number 3

[  413.480428] xhci_hcd 0000:08:00.0: Host halt failed, -19

[  413.480430] xhci_hcd 0000:08:00.0: can't setup: -19

[  413.480434] xhci_hcd 0000:08:00.0: USB bus 3 deregistered

[  413.500769] xhci_hcd 0000:08:00.0: init 0000:08:00.0 fail, -19

----------

## YPenguin

Heute habe ich mal weitere Kernel getestet:

git-sources 5.0 : Bug

zen-sources 4.16 : Bug

gentoo-sources 4.4.172 : ebenfalls Bug

Der Bug ist also mittels Patch auf den Kernel 4.4 übertragen worden - möglicherweise ein ACPI-Patch?

----------

## YPenguin

Kernel 5.0 hat nun auch mal funktioniert - der Bootvorgang läuft nicht immer gleich ab. Liegt dies vielleicht an der Multiprozessor-Ausführung von OpenRC?

----------

