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

From: Sedat Dilek
Date: Fri Mar 12 2021 - 13:28:05 EST


On Fri, Mar 12, 2021 at 7:05 PM Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote:
>
> On Fri, Mar 12, 2021 at 06:41:58PM +0100, Sedat Dilek wrote:
> > OK, now for the records:
> >
> > [ /etc/modprobe.d/usb-storage.conf ]
> >
> > # Add quirks for USB Mass Storage devices
> > #
> > # Link: https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html
> > #
> > # Option #1: Use Kernel command line parameter
> > # [1] Usage: usb-storage.quirks=<VID:PID:Flags>
> > # [2] VendorID (VID) and ProductID (PID):
> > # ASMedia M1042 USB-3.0 controller: VID: 174c PID: 55aa
> > # [3] Flags:
> > # t = NO_ATA_1X (don't allow ATA(12) and ATA(16) commands, uas only);
> > # u = IGNORE_UAS (don't bind to the uas driver);
> > # [4] Example: usb-storage.quirks=174c:55aa:t
> > #
> > # Option #2: Set quirk via sysfs
> > # DEBUG: echo '174c:55aa:t' > /sys/module/usb_storage/parameters/quirks
> > #
> > # Option #3: Pass options via /etc/modprobe.d/usb-storage.conf (this file here)
> > # XXX: Do NOT forget to run `update-initramfs` command!
> > options usb-storage quirks=174c:55aa:t
> > - EOF -
> >
> > With generating a new /boot/initrd.img via `update-initramfs` this
> > looks good to me:
> >
> > root# LC_ALL=C dmesg -T | egrep -i 'quirks|reset|SCSI ioctl error'
> > [Fri Mar 12 18:25:56 2021] xhci_hcd 0000:03:00.0: hcc params
> > 0x0200f180 hci version 0x96 quirks 0x0000000000080000
> > [Fri Mar 12 18:25:57 2021] usb-storage 4-1:1.0: Quirks match for vid
> > 174c pid 55aa: 2400000
> > [Fri Mar 12 18:25:57 2021] SCSI ioctl error, cmd A1, prog ata_id
> > [Fri Mar 12 18:25:57 2021] SCSI ioctl error, cmd A1, prog ata_id
> > [Fri Mar 12 18:25:58 2021] usb 4-1: reset SuperSpeed Gen 1 USB device
> > number 2 using xhci_hcd
> > [Fri Mar 12 18:25:58 2021] usb 4-1: reset SuperSpeed Gen 1 USB device
> > number 2 using xhci_hcd
> > [Fri Mar 12 18:25:58 2021] usb 4-1: reset SuperSpeed Gen 1 USB device
> > number 2 using xhci_hcd
> > [Fri Mar 12 18:25:59 2021] usb 4-1: reset SuperSpeed Gen 1 USB device
> > number 2 using xhci_hcd
> > [Fri Mar 12 18:25:59 2021] usb 4-1: reset SuperSpeed Gen 1 USB device
> > number 2 using xhci_hcd
> > [Fri Mar 12 18:25:59 2021] usb 4-1: reset SuperSpeed Gen 1 USB device
> > number 2 using xhci_hcd
> > [Fri Mar 12 18:25:59 2021] usb 4-1: reset SuperSpeed Gen 1 USB device
> > number 2 using xhci_hcd
> > [Fri Mar 12 18:26:00 2021] usb 4-1: reset SuperSpeed Gen 1 USB device
> > number 2 using xhci_hcd
> > [Fri Mar 12 18:26:00 2021] usb 4-1: reset SuperSpeed Gen 1 USB device
> > number 2 using xhci_hcd
> > [Fri Mar 12 18:26:00 2021] usb 4-1: reset SuperSpeed Gen 1 USB device
> > number 2 using xhci_hcd
> > [Fri Mar 12 18:26:00 2021] usb 4-1: reset SuperSpeed Gen 1 USB device
> > number 2 using xhci_hcd
> > [Fri Mar 12 18:26:00 2021] usb 4-1: reset SuperSpeed Gen 1 USB device
> > number 2 using xhci_hcd
> > [Fri Mar 12 18:26:01 2021] usb 4-1: reset SuperSpeed Gen 1 USB device
> > number 2 using xhci_hcd
> > [Fri Mar 12 18:26:01 2021] usb 4-1: reset SuperSpeed Gen 1 USB device
> > number 2 using xhci_hcd
> > [Fri Mar 12 18:26:01 2021] SCSI ioctl error, cmd A1, prog ata_id
> > [Fri Mar 12 18:26:01 2021] usb 4-1: reset SuperSpeed Gen 1 USB device
> > number 2 using xhci_hcd
> > [Fri Mar 12 18:26:01 2021] usb 4-1: reset SuperSpeed Gen 1 USB device
> > number 2 using xhci_hcd
> > [Fri Mar 12 18:26:01 2021] usb 4-1: reset SuperSpeed Gen 1 USB device
> > number 2 using xhci_hcd
> > [Fri Mar 12 18:26:02 2021] usb 4-1: reset SuperSpeed Gen 1 USB device
> > number 2 using xhci_hcd
> > [Fri Mar 12 18:26:02 2021] usb 4-1: reset SuperSpeed Gen 1 USB device
> > number 2 using xhci_hcd
> > [Fri Mar 12 18:26:02 2021] usb 4-1: reset SuperSpeed Gen 1 USB device
> > number 2 using xhci_hcd
> > [Fri Mar 12 18:26:02 2021] usb 4-1: reset SuperSpeed Gen 1 USB device
> > number 2 using xhci_hcd
> > [Fri Mar 12 18:26:03 2021] usb 4-1: reset SuperSpeed Gen 1 USB device
> > number 2 using xhci_hcd
> > [Fri Mar 12 18:26:03 2021] usb 4-1: reset SuperSpeed Gen 1 USB device
> > number 2 using xhci_hcd
> > [Fri Mar 12 18:26:03 2021] usb 4-1: reset SuperSpeed Gen 1 USB device
> > number 2 using xhci_hcd
> > [Fri Mar 12 18:26:24 2021] SCSI ioctl error, cmd A1, prog ata_id
> > [Fri Mar 12 18:26:24 2021] SCSI ioctl error, cmd A1, prog ata_id
> > [Fri Mar 12 18:26:29 2021] SCSI ioctl error, cmd 85, prog smartd
> > [Fri Mar 12 18:26:30 2021] SCSI ioctl error, cmd 85, prog hdparm
> > [Fri Mar 12 18:26:30 2021] SCSI ioctl error, cmd 85, prog hdparm
> > [Fri Mar 12 18:26:30 2021] SCSI ioctl error, cmd 85, prog hdparm
> > [Fri Mar 12 18:26:30 2021] SCSI ioctl error, cmd A1, prog ata_id
> > [Fri Mar 12 18:26:30 2021] SCSI ioctl error, cmd 85, prog hdparm
> > [Fri Mar 12 18:26:30 2021] SCSI ioctl error, cmd 85, prog hdparm
> > [Fri Mar 12 18:26:30 2021] SCSI ioctl error, cmd 85, prog hdparm
> > [Fri Mar 12 18:26:30 2021] SCSI ioctl error, cmd 85, prog smartd
> > [Fri Mar 12 18:26:30 2021] SCSI ioctl error, cmd 85, prog smartd
> > [Fri Mar 12 18:26:30 2021] SCSI ioctl error, cmd 85, prog smartd
> > [Fri Mar 12 18:26:31 2021] SCSI ioctl error, cmd 85, prog smartd
> > [Fri Mar 12 18:26:31 2021] SCSI ioctl error, cmd 85, prog smartd
> > [Fri Mar 12 18:26:31 2021] SCSI ioctl error, cmd 85, prog smartd
> > [Fri Mar 12 18:26:31 2021] SCSI ioctl error, cmd 85, prog smartd
> > [Fri Mar 12 18:26:31 2021] SCSI ioctl error, cmd 85, prog smartd
> > [Fri Mar 12 18:26:31 2021] SCSI ioctl error, cmd 85, prog smartd
> > [Fri Mar 12 18:26:39 2021] SCSI ioctl error, cmd A1, prog ata_id
> > [Fri Mar 12 18:26:39 2021] SCSI ioctl error, cmd A1, prog ata_id
> > [Fri Mar 12 18:26:40 2021] SCSI ioctl error, cmd 85, prog hdparm
> > [Fri Mar 12 18:26:40 2021] SCSI ioctl error, cmd 85, prog hdparm
> > [Fri Mar 12 18:26:40 2021] SCSI ioctl error, cmd 85, prog hdparm
> > [Fri Mar 12 18:26:40 2021] SCSI ioctl error, cmd A1, prog ata_id
> > [Fri Mar 12 18:26:40 2021] SCSI ioctl error, cmd 85, prog hdparm
> > [Fri Mar 12 18:26:40 2021] SCSI ioctl error, cmd 85, prog hdparm
> > [Fri Mar 12 18:26:40 2021] SCSI ioctl error, cmd 85, prog hdparm
> > [Fri Mar 12 18:26:43 2021] SCSI ioctl error, cmd 85, prog udisksd
> > [Fri Mar 12 18:26:43 2021] SCSI ioctl error, cmd 85, prog udisksd
> > [Fri Mar 12 18:26:44 2021] SCSI ioctl error, cmd 85, prog udisksd
> > [Fri Mar 12 18:26:44 2021] SCSI ioctl error, cmd 85, prog udisksd
> > [Fri Mar 12 18:26:44 2021] SCSI ioctl error, cmd 85, prog udisksd
> > [Fri Mar 12 18:26:44 2021] SCSI ioctl error, cmd 85, prog udisksd
> > [Fri Mar 12 18:26:44 2021] SCSI ioctl error, cmd 85, prog udisksd
> > [Fri Mar 12 18:26:44 2021] SCSI ioctl error, cmd 85, prog udisksd
> > [Fri Mar 12 18:26:44 2021] SCSI ioctl error, cmd 85, prog udisksd
> > [Fri Mar 12 18:26:44 2021] SCSI ioctl error, cmd 85, prog udisksd
> > [Fri Mar 12 18:26:49 2021] SCSI ioctl error, cmd 85, prog udisksd
> > [Fri Mar 12 18:26:49 2021] SCSI ioctl error, cmd 85, prog udisksd
> > [Fri Mar 12 18:26:49 2021] SCSI ioctl error, cmd 85, prog udisksd
> > [Fri Mar 12 18:26:49 2021] SCSI ioctl error, cmd 85, prog udisksd
> > [Fri Mar 12 18:26:50 2021] SCSI ioctl error, cmd 85, prog pool-udisksd
> > [Fri Mar 12 18:26:50 2021] SCSI ioctl error, cmd 85, prog pool-udisksd
> > [Fri Mar 12 18:26:50 2021] SCSI ioctl error, cmd 85, prog pool-udisksd
> > [Fri Mar 12 18:26:50 2021] SCSI ioctl error, cmd 85, prog pool-udisksd
> > [Fri Mar 12 18:26:50 2021] SCSI ioctl error, cmd 85, prog pool-udisksd
> > [Fri Mar 12 18:26:50 2021] SCSI ioctl error, cmd 85, prog pool-udisksd
> > [Fri Mar 12 18:26:50 2021] SCSI ioctl error, cmd 85, prog pool-udisksd
> > [Fri Mar 12 18:26:50 2021] SCSI ioctl error, cmd 85, prog pool-udisksd
> > [Fri Mar 12 18:26:50 2021] SCSI ioctl error, cmd 85, prog pool-udisksd
> > [Fri Mar 12 18:26:50 2021] SCSI ioctl error, cmd 85, prog pool-udisksd
> > [Fri Mar 12 18:28:09 2021] SCSI ioctl error, cmd 85, prog smartctl
> > [Fri Mar 12 18:28:09 2021] SCSI ioctl error, cmd 85, prog smartctl
> > [Fri Mar 12 18:28:10 2021] SCSI ioctl error, cmd 85, prog smartctl
> > [Fri Mar 12 18:28:11 2021] SCSI ioctl error, cmd 85, prog smartctl
> > [Fri Mar 12 18:36:49 2021] SCSI ioctl error, cmd 85, prog pool-udisksd
> > [Fri Mar 12 18:36:49 2021] SCSI ioctl error, cmd 85, prog pool-udisksd
> > [Fri Mar 12 18:36:49 2021] SCSI ioctl error, cmd 85, prog pool-udisksd
> > [Fri Mar 12 18:36:49 2021] SCSI ioctl error, cmd 85, prog pool-udisksd
> > [Fri Mar 12 18:36:49 2021] SCSI ioctl error, cmd 85, prog pool-udisksd
> > [Fri Mar 12 18:36:50 2021] SCSI ioctl error, cmd 85, prog pool-udisksd
> > [Fri Mar 12 18:36:50 2021] SCSI ioctl error, cmd 85, prog pool-udisksd
> > [Fri Mar 12 18:36:50 2021] SCSI ioctl error, cmd 85, prog pool-udisksd
> > [Fri Mar 12 18:36:50 2021] SCSI ioctl error, cmd 85, prog pool-udisksd
> > [Fri Mar 12 18:36:50 2021] SCSI ioctl error, cmd 85, prog pool-udisksd
>
> Although it's not conclusive, this log seems to indicate that ata_id
> is the only program causing resets. Have you tried preventing the
> ata_id program from running (for example, by renaming it)?
>

This is /lib/udev/ata_id from Debian's udev package.

> > Your diff now should say; s/SCSI ioctl error/SCSI ioctl info'.
>
> No, it shouldn't. The log message itself is an info, but the event it
> reports is an error.
>

OK.
Some of these SCSI ioctl errors are not causing a xhci-reset.

> > Alan, so "t" flags should be added as a quirks to linux-kernel sources...
> >
> > t = NO_ATA_1X (don't allow ATA(12) and ATA(16) commands, uas only);
> >
> > ...for my ASMedia USB-3.0 controller?
>
> That's not at all clear. This is a very common and popular device,
> and nobody else has reported these problems. It could be that
> something is odd about your particular drive or computer, not these
> drives in general.
>

So, the external USB-3.0 HDD is now in "UAS only" mode/status.

Cannot judge if things got better or not.

- Sedat -