Kernel changes introduced in kernel 4.9 cause problems with some USB 3 PCI cards.
Starting external USB 3 harddisks fails during kernel boot:
[ 6.016742] usb-storage 2-1.8:1.0: USB Mass Storage device detected
[ 6.016811] scsi host11: usb-storage 2-1.8:1.0
[ 6.016901] usbcore: registered new interface driver usb-storage
[ 6.088977] xhci_hcd 0000:08:00.0: xHCI Host Controller
[ 6.089095] xhci_hcd 0000:08:00.0: new USB bus registered, assigned bus number 3
[ 6.189662] hrtimer: interrupt took 30168649 ns
[ 6.350531] xhci_hcd 0000:08:00.0: Host halt failed, -19
[ 6.350533] xhci_hcd 0000:08:00.0: can't setup: -19
[ 6.350537] xhci_hcd 0000:08:00.0: USB bus 3 deregistered
[ 6.370735] xhci_hcd 0000:08:00.0: init 0000:08:00.0 fail, -19
The problem did not exist prior to kernel 4.9.
Sometimes it does work:
08:00.0 USB controller: Renesas Technology Corp. uPD720201 USB 3.0 Host Controller (rev 03)
Subsystem: Renesas Technology Corp. uPD720201 USB 3.0 Host Controller
Kernel driver in use: xhci_hcd
Kernel modules: xhci_pci
I've already discussed the problem here:
Created attachment 468408 [details]
complete dmesg protocol of a failed start
Maybe this complete log might help in finding the root cause of the problem.
After a failed start:
08:00.0 USB controller: Renesas Technology Corp. uPD720201 USB 3.0 Host Controller (rev ff) (prog-if ff)
!!! Unknown header type 7f
Kernel modules: xhci_pci
This is new information. What does unknown header type mean?
could you test on 4.10.11 and see if the problem persist?
Unfortunately I can confirm that the problem persists with 4.10.11.
unfortunatly i don't have a renesas usb device
could you please git bisect the kernel https://wiki.gentoo.org/wiki/Kernel_git-bisect
would be nice to find which patch is fault
Patching activity has extended the problem to older kernels. I just encountered the problem with kernel 4.4.52.
The problem does not show up with kernel 4.1.39-r1.
(In reply to Stefan Kalis from comment #9)
> The problem does not show up with kernel 4.1.39-r1.
thanks but this is not bisecting the kernel.
4.1.39-r1 and 4.4.52 are too much different for having something useful.
I should have been informed about that technique earlier.
It started sometime during the early phase of Kernel 4.9.
That's about what I can contribute at this time.
With kernel 4.14 it's a total hang now. The boot process stops after loading the xhci_hcd part.
can you try with this patch
would also be nice to have the dmesg of 4.14
Created attachment 515314 [details]
dmesg 4.14.14 recovery mode
please send it to firstname.lastname@example.org mailing list, if not already done.
Created attachment 519302 [details]
dmesg of a 4.15.2 kernel start (a kernel including the mentioned patch)
The problem shows up around second 6 of the kernel start.
Created attachment 527918 [details]
dmesg of a kernel start with active debug options
I've added a dmesg protocol with activated debug options - so there is a lot of textual information now.
Please inform me if you would like to have additional debug modules activated in the kernel (like for example PCI stuff).
>= 4.14 is known for USB 3 problems, wondering that you mention it already started with 4.9.
Please submit your information to email@example.com like Alice said.
Sounds like you can reproduce the problem (i.e. boot, wait 6 seconds -> problem)... please try latest gentoo-sources to make sure the problem still exists in latest kernel. Next step, to speed up things, would be a bisect...
The reason for the problem seems to be wrong power management:
If I remove the xhci_pci-module with modprobe -r and re-insert it with modprobe I get the following result:
[ 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
08:00.0 is the Renesas PCI-USB3-card.
Created attachment 562860 [details]
The problem might be related to the one mentioned here:
The problem persists with Kernel 5.0 rc4.
I think this here might be related, because it appeared 3 months before problems started on my side:
Kernel driver code by Christian Lamparter for PD720201 devices without firmware:
My PD720201 loads firmware from an external ROM under normal circumstances. I've updated the firmware to Version 184.108.40.206 but it didn't solve the problem.
Is it possible that my card gets detected twice as first one with ROM and second one w/o ROM?
Is this still an issue?