Floyd Johnson via plug on 23 Jul 2021 05:33:23 -0700 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
[PLUG] Possible fix for spontaneous resets of Raven2 USB 3.x controller under kernel 5.11.x |
I recently ran into spontaneous resets of the USB controller on my HP 15z when I plugged a Western Digital MyPassport into it (which showed up as random read errors to ext4fs), yet a SanDisk stick handled just fine.
The answer turned out to be to invoke quirk handling on the reported-as-built-in xhci_hcd module. The defined XHCI quirk flags can be found at https://github.com/torvalds/linux/blob/master/drivers/usb/host/xhci.h, the first of which is defined with "#define XHCI_LINK_TRB_QUIRK", followed by a bit-shifting macro whose argument is a power of 2.
For this host controller, identified by
"lspci -nnk|grep -iA2 usb" as:
03:00.3 USB controller [0c03]: Advanced Micro
Devices, Inc. [AMD] Raven2 USB 3.1 [1022:15e5]
Subsystem: Hewlett-Packard Company Raven2 USB 3.1
[103c:8706]
Kernel driver in use: xhci_hcd
Kernel modules: xhci_pci
the quirks turned out to be
#define XHCI_BROKEN_PORT_PED BIT_ULL(25)
#define XHCI_U2_DISABLE_WAKE BIT_ULL(27)
I edited /etc/default/grub to set
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash
xhci_hcd.quirks=167772160"
and after "sudo update-grub" and a reboot, the outboard disk is spinning and winning :)
___________________________________________________________________________ Philadelphia Linux Users Group -- http://www.phillylinux.org Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce General Discussion -- http://lists.phillylinux.org/mailman/listinfo/plug