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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox