On Fri, Mar 05, 2021 at 01:09:16PM +0100, Sedat Dilek wrote: > On Mon, Mar 1, 2021 at 4:53 PM Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote: > [ ... ] > > 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. Alan Stern