Thread (16 messages) 16 messages, 2 authors, 2021-03-06

Re: [xhci] usb 4-1: reset SuperSpeed Gen 1 USB device number 2 using xhci_hcd

From: Sedat Dilek <hidden>
Date: 2021-03-05 19:07:30
Also in: lkml

Possibly related (same subject, not in this thread)

On Fri, Mar 5, 2021 at 5:07 PM Alan Stern [off-list ref] wrote:
On Fri, Mar 05, 2021 at 01:09:16PM +0100, Sedat Dilek wrote:
quoted
On Mon, Mar 1, 2021 at 4:53 PM Alan Stern [off-list ref] wrote:
[ ... ]
quoted
You can use usbmon on bus 4 to record the USB traffic.  It may indicate
why the resets occur.
Hi Alan,

I followed the instructions in [1].

root# modprobe -v usbmon

root# ls /sys/kernel/debug/usb/usbmon
0s  0u  1s  1t  1u  2s  2t  2u  3s  3t  3u  4s  4t  4u

root# cat /sys/kernel/debug/usb/usbmon/4u > /tmp/usbmon-log_4u.txt
[ Ctrl+C ]

I recorded 13:03 - 13:04 (one minute).

So these xhci-resets should be included:

[Fri Mar  5 13:03:07 2021] usb 4-1: reset SuperSpeed Gen 1 USB device
number 2 using xhci_hcd
[Fri Mar  5 13:03:07 2021] usb 4-1: reset SuperSpeed Gen 1 USB device
number 2 using xhci_hcd
[Fri Mar  5 13:03:27 2021] usb 4-1: reset SuperSpeed Gen 1 USB device
number 2 using xhci_hcd
[Fri Mar  5 13:03:27 2021] usb 4-1: reset SuperSpeed Gen 1 USB device
number 2 using xhci_hcd
[Fri Mar  5 13:03:27 2021] usb 4-1: reset SuperSpeed Gen 1 USB device
number 2 using xhci_hcd
[Fri Mar  5 13:03:28 2021] usb 4-1: reset SuperSpeed Gen 1 USB device
number 2 using xhci_hcd
[Fri Mar  5 13:03:28 2021] usb 4-1: reset SuperSpeed Gen 1 USB device
number 2 using xhci_hcd

The usbmon-log is attached.

Unsure how to interpret the log - the kernel-doc says `raw data`.
How can I bring this into a human-readable format?
Can you give me a hand?
Don't worry about trying to decode the output.  To me it looks like the
drive crashes and needs to be reset at times when the computer sends it
an ATA command.  (Not all ATA commands, but some.)  You can prevent this
by setting the following module parameter for the usb-storage driver:

        quirks=174c:55aa:t

where the two numbers are the Vendor and Product IDs for the external
drive, and the 't' is a quirks flag saying not to use any ATA commands.
If this module parameter fixes the problem, we can add a permanent quirk
setting to the kernel.
Thanks Alan.

I did:

[ /etc/modules-load.d/usb-storage.conf ]

# Add quirks for ATA commands for usb-storage devices connected to
ASMedia M1042 USB-3.0 controller
options usb-storage quirks=174c:55aa:t
- EOF -

It is:

/lib/modules/5.12.0-rc1-11-amd64-clang13-cfi/kernel/drivers/usb/storage/usb-storage.ko

But:

root# lsmod | grep usb | grep storage
usb_storage            90112  2 uas
scsi_mod              307200  6 sd_mod,usb_storage,uas,libata,sg,sr_mod
usbcore               385024  14
usbserial,xhci_hcd,ehci_pci,usbnet,usbhid,usb_storage,usb_wwan,uvcvideo,ehci_hcd,btusb,xhci_pci,cdc_ether,uas,option

I have not rebooted yet.

Interferences with PowerTop?

These xhci-resets happen every 10mins in a sequence of 4.

I have here a powertop.service (systemd) with passing --auto-tune option.
That was not a problem with previous Linux-kernels >= v5.12-rc1, so.

Alan, what do you think?

- Sedat -
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help