From: Bruno Haible <bruno@clisp.org>
To: Alan Stern <stern@rowland.harvard.edu>, Oliver Neukum <oneukum@suse.com>
Cc: linux-usb@vger.kernel.org
Subject: "SilverStone TS16" external SSD enclosing needs an UAS quirk
Date: Tue, 16 Jan 2024 00:35:46 +0100 [thread overview]
Message-ID: <3750407.VQhiAETyHQ@nimes> (raw)
TL;DR
-----
In my experience, the "SilverStone TS16" external SSD enclosing
needs an UAS quirk
usb-storage.quirks=0bda:9210:u
as part of the kernel command line. I hope you can add it
to the file linux/drivers/usb/storage/unusual_uas.h .
Long story
----------
In August 2023 I bought a new PC (Fujitsu ESPRIMO G7012A),
attached an SSD through an external SSD enclosing of type
"SilverStone TS16" [1], and used this SSD for the root and
data partitions of a Linux (Ubuntu 22.04, Linux 5.15.0-ubuntu)
installation.
The system crashed about 1 or 2 times per day, on average,
but especially upon intensive data I/O from this SSD
(namely, when working with a 50 GB VirtualBox image file).
When it crashed, I saw this in the kernel log:
--------------------------------------------------------------------------------
[58783.826555] sd 3:0:0:0: [sdb] tag#13 uas_eh_abort_handler 0 uas-tag 3 inflight: CMD
[58783.826561] sd 3:0:0:0: [sdb] tag#13 CDB: Read(10) 28 00 a7 a4 21 00 00 00 80 00
[58783.826565] sd 3:0:0:0: [sdb] tag#10 uas_eh_abort_handler 0 uas-tag 5 inflight: CMD OUT
[58783.826567] sd 3:0:0:0: [sdb] tag#10 CDB: Write(10) 2a 00 56 fd d6 28 00 00 28 00
[58783.826669] sd 3:0:0:0: [sdb] tag#8 uas_eh_abort_handler 0 uas-tag 4 inflight: CMD OUT
[58783.826670] sd 3:0:0:0: [sdb] tag#8 CDB: Write(10) 2a 00 5c 7c 75 c0 00 00 88 00
[58783.874555] sd 3:0:0:0: [sdb] tag#3 uas_eh_abort_handler 0 uas-tag 7 inflight: CMD OUT
[58783.874560] sd 3:0:0:0: [sdb] tag#3 CDB: Write(10) 2a 00 23 62 1d 68 00 00 20 00
[58783.874658] sd 3:0:0:0: [sdb] tag#2 uas_eh_abort_handler 0 uas-tag 6 inflight: CMD OUT
[58783.874660] sd 3:0:0:0: [sdb] tag#2 CDB: Write(10) 2a 00 24 7c 12 90 00 00 08 00
[58783.874738] sd 3:0:0:0: [sdb] tag#1 uas_eh_abort_handler 0 uas-tag 2 inflight: CMD OUT
[58783.874740] sd 3:0:0:0: [sdb] tag#1 CDB: Write(10) 2a 00 24 7e 38 98 00 00 08 00
[58784.302551] sd 3:0:0:0: [sdb] tag#0 uas_eh_abort_handler 0 uas-tag 8 inflight: CMD OUT
[58784.302561] sd 3:0:0:0: [sdb] tag#0 CDB: Write(10) 2a 00 be 9c 85 20 00 00 08 00
[58785.682531] sd 3:0:0:0: [sdb] tag#17 uas_eh_abort_handler 0 uas-tag 14 inflight: CMD OUT
[58785.682537] sd 3:0:0:0: [sdb] tag#17 CDB: Write(10) 2a 00 17 c2 82 70 00 00 08 00
[58785.682634] sd 3:0:0:0: [sdb] tag#16 uas_eh_abort_handler 0 uas-tag 13 inflight: CMD OUT
[58785.682636] sd 3:0:0:0: [sdb] tag#16 CDB: Write(10) 2a 00 17 c2 81 b8 00 00 08 00
[58785.682710] sd 3:0:0:0: [sdb] tag#15 uas_eh_abort_handler 0 uas-tag 11 inflight: CMD OUT
[58785.682711] sd 3:0:0:0: [sdb] tag#15 CDB: Write(10) 2a 00 17 c2 7b 98 00 00 08 00
[58785.682787] sd 3:0:0:0: [sdb] tag#14 uas_eh_abort_handler 0 uas-tag 10 inflight: CMD OUT
[58785.682789] sd 3:0:0:0: [sdb] tag#14 CDB: Write(10) 2a 00 17 c2 7a e0 00 00 08 00
[58785.682864] sd 3:0:0:0: [sdb] tag#12 uas_eh_abort_handler 0 uas-tag 12 inflight: CMD OUT
[58785.682865] sd 3:0:0:0: [sdb] tag#12 CDB: Write(10) 2a 00 17 c2 7f e8 00 00 08 00
[58785.682942] sd 3:0:0:0: [sdb] tag#11 uas_eh_abort_handler 0 uas-tag 9 inflight: CMD OUT
[58785.682944] sd 3:0:0:0: [sdb] tag#11 CDB: Write(10) 2a 00 17 c2 74 00 00 00 08 00
[58805.074324] sd 3:0:0:0: [sdb] tag#18 uas_eh_abort_handler 0 uas-tag 15 inflight: CMD IN
[58805.074329] sd 3:0:0:0: [sdb] tag#18 CDB: Read(10) 28 00 be 8f 72 80 00 00 20 00
[58813.770230] sd 3:0:0:0: [sdb] tag#9 uas_eh_abort_handler 0 uas-tag 1 inflight: CMD
[58813.770235] sd 3:0:0:0: [sdb] tag#9 CDB: Synchronize Cache(10) 35 00 00 00 00 00 00 00 00 00
[58813.794245] scsi host3: uas_eh_device_reset_handler start
[58819.134207] xhci_hcd 0000:04:00.4: Timeout while waiting for setup device command
[58824.514145] xhci_hcd 0000:04:00.4: Timeout while waiting for setup device command
[58824.726112] usb 4-2.1: device not accepting address 3, error -62
[58830.146082] xhci_hcd 0000:04:00.4: Timeout while waiting for setup device command
[58835.518040] xhci_hcd 0000:04:00.4: Timeout while waiting for setup device command
[58835.726001] usb 4-2.1: device not accepting address 3, error -62
[58836.070158] usb 4-2.1: Device not responding to setup address.
[58836.286161] usb 4-2.1: Device not responding to setup address.
[58836.493991] usb 4-2.1: device not accepting address 3, error -71
[58836.842156] usb 4-2.1: Device not responding to setup address.
[58837.058154] usb 4-2.1: Device not responding to setup address.
[58837.265983] usb 4-2.1: device not accepting address 3, error -71
[58837.266075] scsi host3: uas_eh_device_reset_handler FAILED err -19
[58837.266082] sd 3:0:0:0: Device offlined - not ready after error recovery
[58837.266084] sd 3:0:0:0: Device offlined - not ready after error recovery
[58837.266085] sd 3:0:0:0: Device offlined - not ready after error recovery
[58837.266087] sd 3:0:0:0: Device offlined - not ready after error recovery
[58837.266088] sd 3:0:0:0: Device offlined - not ready after error recovery
[58837.266089] sd 3:0:0:0: Device offlined - not ready after error recovery
[58837.266090] sd 3:0:0:0: Device offlined - not ready after error recovery
[58837.266091] sd 3:0:0:0: Device offlined - not ready after error recovery
[58837.266092] sd 3:0:0:0: Device offlined - not ready after error recovery
[58837.266093] sd 3:0:0:0: Device offlined - not ready after error recovery
[58837.266094] sd 3:0:0:0: Device offlined - not ready after error recovery
[58837.266095] sd 3:0:0:0: Device offlined - not ready after error recovery
[58837.266096] sd 3:0:0:0: Device offlined - not ready after error recovery
[58837.266098] sd 3:0:0:0: Device offlined - not ready after error recovery
[58837.266099] sd 3:0:0:0: Device offlined - not ready after error recovery
[58837.266109] sd 3:0:0:0: [sdb] tag#9 FAILED Result: hostbyte=DID_TIME_OUT driverbyte=DRIVER_OK cmd_age=83s
[58837.266112] sd 3:0:0:0: [sdb] tag#9 CDB: Synchronize Cache(10) 35 00 00 00 00 00 00 00 00 00
[58837.266112] usb 4-2.1: USB disconnect, device number 3
[58837.266117] blk_update_request: I/O error, dev sdb, sector 2523966464 op 0x1:(WRITE) flags 0x800 phys_seg 1 prio class 0
[58837.266130] Aborting journal on device sdb7-8.
[58837.266132] sd 3:0:0:0: [sdb] tag#18 FAILED Result: hostbyte=DID_TIME_OUT driverbyte=DRIVER_OK cmd_age=63s
[58837.266135] sd 3:0:0:0: [sdb] tag#18 CDB: Read(10) 28 00 be 8f 72 80 00 00 20 00
[58837.266136] blk_update_request: I/O error, dev sdb, sector 3197072000 op 0x0:(READ) flags 0x0 phys_seg 4 prio class 0
[58837.266145] sd 3:0:0:0: [sdb] tag#11 FAILED Result: hostbyte=DID_TIME_OUT driverbyte=DRIVER_OK cmd_age=81s
[58837.266147] sd 3:0:0:0: [sdb] tag#11 CDB: Write(10) 2a 00 17 c2 74 00 00 00 08 00
[58837.266148] blk_update_request: I/O error, dev sdb, sector 398619648 op 0x1:(WRITE) flags 0x0 phys_seg 1 prio class 0
--------------------------------------------------------------------------------
This pointed to the UAS driver. Wikipedia [2] says:
"The kernel has a built-in blacklist for devices with "quirks" defined
in unusual_uas.h.[20] Temporary additional quirks can be added via procfs
or kernel command line (usb-storage.quirks).[21]"
So, that's what I did: I added an option
usb-storage.quirks=0bda:9210:u
to the kernel command line in /boot/grub/grub.cfg — and thus reached
an uptime of 90 days. The effect of this change in the 'lshw' output
was to replace the lines
capabilities: usb-3.20 scsi
configuration: driver=uas maxpower=896mA speed=10000Mbit/s
with the lines
capabilities: usb-3.20 scsi emulated scsi-host
configuration: driver=usb-storage maxpower=896mA speed=10000Mbit/s
When I rebooted after 90 days, Ubuntu's automatic upgrades had erased my
modifications to /boot/grub/grub.cfg, and as a consequence the crashes
started to occur again.
Do you need more info from me, in order to add an entry to
linux/drivers/usb/storage/unusual_uas.h ?
[1] https://www.amazon.com/-/en/dp/B09KMPYD9C/ref=sr_1_1
[2] https://en.wikipedia.org/wiki/USB_Attached_SCSI
next reply other threads:[~2024-01-15 23:38 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-15 23:35 Bruno Haible [this message]
2024-01-16 14:13 ` "SilverStone TS16" external SSD enclosing needs an UAS quirk Greg KH
2024-01-17 6:25 ` Lars Melin
2024-01-17 7:59 ` Bruno Haible
2024-01-17 14:11 ` [PATCH] uas: Disable UAS driver for Realtek RTL9210 M.2 NVME Adapters Bruno Haible
2024-01-17 14:53 ` "SilverStone TS16" external SSD enclosing needs an UAS quirk Alan Stern
2024-01-17 15:56 ` Bruno Haible
2024-01-17 18:39 ` Alan Stern
2024-01-17 16:41 ` Lars Melin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3750407.VQhiAETyHQ@nimes \
--to=bruno@clisp.org \
--cc=linux-usb@vger.kernel.org \
--cc=oneukum@suse.com \
--cc=stern@rowland.harvard.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.