Hi,
I'm speaking from my own experience but RTL9210 is arguably the most
reliable NVMe-to-USB converter available.
Compared to solutions from JMicron (multiple revisions) and ASMedia,
RTL9210 gave the lowest power consumption (from implementing proper
power management commands) and the least headache.
I personally own multiple enclosures and not one gave a single UAS error
from multiple platforms (Android, Intel, AMD) for years, but with this
commit now, it effectively disables UAS for all RTL9210 enclosures.
Would it be possible to apply this quirk only to a specific firmware
(range)? RTL9210 have a lot of possible firmware combinations:
https://www.station-drivers.com/index.php/en/component/remository/Drivers/Realtek/NVMe-USB-3.1/lang,en-gb/
RTL9210 was available since 2019 and the fact that this quirk came up
this late leads me to believe that this is not a widespread issue and
it'll be a shame if all of RTL9210s are blacklisted from UAS with Linux
from now on :(
If any additional information is required, please let me know.
Thanks,
On 9/15/22 11:49, Hongling Zeng wrote:
The UAS mode of Hiksemi USB_HDD is reported to fail to work on several
platforms with the following error message, then after re-connecting the
device will be offlined and not working at all.
[ 592.518442][ 2] sd 8:0:0:0: [sda] tag#17 uas_eh_abort_handler 0 uas-tag 18
inflight: CMD
[ 592.527575][ 2] sd 8:0:0:0: [sda] tag#17 CDB: Write(10) 2a 00 03 6f 88 00 00
04 00 00
[ 592.536330][ 2] sd 8:0:0:0: [sda] tag#0 uas_eh_abort_handler 0 uas-tag 1
inflight: CMD
[ 592.545266][ 2] sd 8:0:0:0: [sda] tag#0 CDB: Write(10) 2a 00 07 44 1a 88 00
00 08 00
These disks have a broken uas implementation, the tag field of the status
iu-s is not set properly,so we need to fall-back to usb-storage.
Signed-off-by: Hongling Zeng <zenghongling@xxxxxxxxxx>
---
Change for v1
- Change the email real name and the code worng place.
Change for v2
-Change spelling error.
Change for v3
-Add acked-by
Change for v4
-Fix version error
Change for v5
-change version
Change for v6
-Change the git message for patch 3
---
drivers/usb/storage/unusual_uas.h | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/drivers/usb/storage/unusual_uas.h b/drivers/usb/storage/unusual_uas.h
index a6bf87a..8a18d58 100644
--- a/drivers/usb/storage/unusual_uas.h
+++ b/drivers/usb/storage/unusual_uas.h
@@ -149,6 +149,13 @@ UNUSUAL_DEV(0x0bc2, 0xab2a, 0x0000, 0x9999,
USB_SC_DEVICE, USB_PR_DEVICE, NULL,
US_FL_NO_ATA_1X),
+/* Reported-by: Hongling Zeng <zenghongling@xxxxxxxxxx> */
+UNUSUAL_DEV(0x0bda, 0x9210, 0x0000, 0x9999,
+ "Hiksemi",
+ "External HDD",
+ USB_SC_DEVICE, USB_PR_DEVICE, NULL,
+ US_FL_IGNORE_UAS),
+
/* Reported-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> */
UNUSUAL_DEV(0x13fd, 0x3940, 0x0000, 0x9999,
"Initio Corporation",