"reset SuperSpeed USB device" kernel errors When Using USB to SATA Docking Stations

The issue mentioned in the title seems like it’s been around for a while, i.e. I have seen posts
talking about this problem since 2017. There are solution that involve setting up the options
in: /etc/modules-load.d/usb-storage.conf
The options I set where as follows: options usb-storage quirks=174c:55aa:t
Has anyone experienced this problem and how did you solve it?

In my case I am trying to use a Sabrent Model: EC-DFFN to “dock” a SATA WD 22TB drive and use it. I want to use it for a large removable back up media. These resets seem to occur every 1/2 second or so, while I am trying to run a large backup tar job. This is causing the job to stop and partially crash my server. BUZ KILL…

This is an example of the dmesg messages showing reset SupeSpeed USB

[14431.566853] usb 4-2: reset SuperSpeed USB device number 6 using xhci_hcd
[14431.580315] scsi host8: uas_eh_device_reset_handler success
[14463.125578] sd 8:0:0:0: [sde] tag#21 uas_eh_abort_handler 0 uas-tag 22 inflight: CMD OUT
[14463.125585] sd 8:0:0:0: [sde] tag#21 CDB: Write(16) 8a 00 00 00 00 00 00 a8 c4 00 00 00 04 00 00 00
[14463.125676] sd 8:0:0:0: [sde] tag#20 uas_eh_abort_handler 0 uas-tag 21 inflight: CMD OUT
[14463.125679] sd 8:0:0:0: [sde] tag#20 CDB: Write(16) 8a 00 00 00 00 00 00 a8 c0 00 00 00 04 00 00 00
[14463.134185] sd 8:0:0:0: [sde] tag#19 uas_eh_abort_handler 0 uas-tag 20 inflight: CMD OUT
[14463.134191] sd 8:0:0:0: [sde] tag#19 CDB: Write(16) 8a 00 00 00 00 00 00 a8 bc 00 00 00 04 00 00 00
[14463.142614] sd 8:0:0:0: [sde] tag#18 uas_eh_abort_handler 0 uas-tag 19 inflight: CMD OUT
[14463.142621] sd 8:0:0:0: [sde] tag#18 CDB: Write(16) 8a 00 00 00 00 00 00 a8 b8 00 00 00 04 00 00 00
[14463.150991] sd 8:0:0:0: [sde] tag#17 uas_eh_abort_handler 0 uas-tag 18 inflight: CMD OUT
[14463.150997] sd 8:0:0:0: [sde] tag#17 CDB: Write(16) 8a 00 00 00 00 00 00 a8 b4 00 00 00 04 00 00 00
[14463.159366] sd 8:0:0:0: [sde] tag#16 uas_eh_abort_handler 0 uas-tag 17 inflight: CMD OUT
[14463.159373] sd 8:0:0:0: [sde] tag#16 CDB: Write(16) 8a 00 00 00 00 00 00 a8 b0 00 00 00 04 00 00 00
[14463.167742] sd 8:0:0:0: [sde] tag#15 uas_eh_abort_handler 0 uas-tag 16 inflight: CMD OUT
[14463.167749] sd 8:0:0:0: [sde] tag#15 CDB: Write(16) 8a 00 00 00 00 00 00 a8 ac 00 00 00 04 00 00 00
[14463.176177] sd 8:0:0:0: [sde] tag#14 uas_eh_abort_handler 0 uas-tag 15 inflight: CMD OUT
[14463.176183] sd 8:0:0:0: [sde] tag#14 CDB: Write(16) 8a 00 00 00 00 00 00 a8 a8 00 00 00 04 00 00 00
[14463.184610] sd 8:0:0:0: [sde] tag#13 uas_eh_abort_handler 0 uas-tag 6 inflight: CMD OUT
[14463.184617] sd 8:0:0:0: [sde] tag#13 CDB: Write(16) 8a 00 00 00 00 00 00 a8 a4 00 00 00 04 00 00 00
[14463.192973] sd 8:0:0:0: [sde] tag#12 uas_eh_abort_handler 0 uas-tag 5 inflight: CMD OUT
[14463.192980] sd 8:0:0:0: [sde] tag#12 CDB: Write(16) 8a 00 00 00 00 01 55 c0 09 00 00 00 04 00 00 00
[14463.201333] sd 8:0:0:0: [sde] tag#11 uas_eh_abort_handler 0 uas-tag 14 inflight: CMD OUT
[14463.201339] sd 8:0:0:0: [sde] tag#11 CDB: Write(16) 8a 00 00 00 00 00 00 a8 90 00 00 00 04 00 00 00
[14463.209540] sd 8:0:0:0: [sde] tag#10 uas_eh_abort_handler 0 uas-tag 13 inflight: CMD OUT
[14463.209547] sd 8:0:0:0: [sde] tag#10 CDB: Write(16) 8a 00 00 00 00 00 00 a8 8c 00 00 00 04 00 00 00
[14463.217647] sd 8:0:0:0: [sde] tag#9 uas_eh_abort_handler 0 uas-tag 12 inflight: CMD OUT
[14463.217653] sd 8:0:0:0: [sde] tag#9 CDB: Write(16) 8a 00 00 00 00 00 00 a8 88 00 00 00 04 00 00 00
[14463.226182] sd 8:0:0:0: [sde] tag#8 uas_eh_abort_handler 0 uas-tag 11 inflight: CMD OUT
[14463.226188] sd 8:0:0:0: [sde] tag#8 CDB: Write(16) 8a 00 00 00 00 00 00 a8 84 00 00 00 04 00 00 00
[14463.234612] sd 8:0:0:0: [sde] tag#3 uas_eh_abort_handler 0 uas-tag 4 inflight: CMD OUT
[14463.234618] sd 8:0:0:0: [sde] tag#3 CDB: Write(16) 8a 00 00 00 00 00 00 a8 a0 00 00 00 04 00 00 00
[14463.242990] sd 8:0:0:0: [sde] tag#2 uas_eh_abort_handler 0 uas-tag 3 inflight: CMD OUT
[14463.242997] sd 8:0:0:0: [sde] tag#2 CDB: Write(16) 8a 00 00 00 00 00 00 a8 9c 00 00 00 04 00 00 00
[14463.251370] sd 8:0:0:0: [sde] tag#1 uas_eh_abort_handler 0 uas-tag 2 inflight: CMD OUT
[14463.251377] sd 8:0:0:0: [sde] tag#1 CDB: Write(16) 8a 00 00 00 00 00 00 a8 98 00 00 00 04 00 00 00
[14463.259468] sd 8:0:0:0: [sde] tag#0 uas_eh_abort_handler 0 uas-tag 1 inflight: CMD OUT
[14463.259475] sd 8:0:0:0: [sde] tag#0 CDB: Write(16) 8a 00 00 00 00 00 00 a8 94 00 00 00 04 00 00 00

Eventually after a some time the com with the drive just stops ending as follows:

[14614.787390] usb 4-2: reset SuperSpeed USB device number 6 using xhci_hcd
[14614.801012] scsi host8: uas_eh_device_reset_handler success
[14614.801182] sd 8:0:0:0: [sde] tag#0 timing out command, waited 180s
[14614.807428] sd 8:0:0:0: [sde] tag#0 FAILED Result: hostbyte=DID_RESET driverbyte=DRIVER_OK cmd_age=181s
[14614.807430] sd 8:0:0:0: [sde] tag#0 Sense Key : Not Ready [current]
[14614.807432] sd 8:0:0:0: [sde] tag#0 Add. Sense: Logical unit is in process of becoming ready
[14614.807434] sd 8:0:0:0: [sde] tag#0 CDB: Write(16) 8a 00 00 00 00 00 00 a8 a0 00 00 00 04 00 00 00
[14614.807435] I/O error, dev sde, sector 11051008 op 0x1:(WRITE) flags 0x4000 phys_seg 128 prio class 2
[14614.816621] sd 8:0:0:0: [sde] tag#1 timing out command, waited 180s
[14614.822859] sd 8:0:0:0: [sde] tag#1 FAILED Result: hostbyte=DID_RESET driverbyte=DRIVER_OK cmd_age=181s
[14614.822861] sd 8:0:0:0: [sde] tag#1 CDB: Write(16) 8a 00 00 00 00 00 00 a8 9c 00 00 00 04 00 00 00
[14614.822862] I/O error, dev sde, sector 11049984 op 0x1:(WRITE) flags 0x4000 phys_seg 128 prio class 2
[14614.832033] sd 8:0:0:0: [sde] tag#2 timing out command, waited 180s
[14614.838272] sd 8:0:0:0: [sde] tag#2 FAILED Result: hostbyte=DID_RESET driverbyte=DRIVER_OK cmd_age=181s
[14614.838274] sd 8:0:0:0: [sde] tag#2 CDB: Write(16) 8a 00 00 00 00 00 00 a8 98 00 00 00 04 00 00 00
[14614.838275] I/O error, dev sde, sector 11048960 op 0x1:(WRITE) flags 0x4000 phys_seg 128 prio class 2
[14614.847446] sd 8:0:0:0: [sde] tag#3 timing out command, waited 180s
[14614.853683] sd 8:0:0:0: [sde] tag#3 FAILED Result: hostbyte=DID_RESET driverbyte=DRIVER_OK cmd_age=181s
[14614.853685] sd 8:0:0:0: [sde] tag#3 CDB: Write(16) 8a 00 00 00 00 00 00 a8 94 00 00 00 04 00 00 00
[14614.853686] I/O error, dev sde, sector 11047936 op 0x1:(WRITE) flags 0x4000 phys_seg 128 prio class 2
[14616.868429] sd 8:0:0:0: [sde] tag#4 timing out command, waited 180s

Then as more time passed by the disk transaction will just die:

dmesg log reports

[14622.891399] I/O error, dev sde, sector 11057152 op 0x1:(WRITE) flags 0x4000 phys_seg 128 prio class 2
[14623.877484] INFO: task kworker/u64:0:3794 blocked for more than 122 seconds.
[14623.884507] Tainted: G S 6.5.5-1366.native #1
[14623.890745] “echo 0 > /proc/sys/kernel/hung_task_timeout_secs” disables this message.
[14623.898533] task:kworker/u64:0 state:D stack:0 pid:3794 ppid:2 flags:0x00004000
[14623.898537] Workqueue: writeback wb_workfn (flush-8:64)
[14623.898541] Call Trace:
[14623.898543]
[14623.898545] __schedule+0x372/0xb00
[14623.898548] ? __blk_flush_plug+0xf6/0x140
[14623.898551] ? __pfx_wbt_cleanup_cb+0x40/0x40
[14623.898553] ? __pfx_wbt_inflight_cb+0x40/0x40
[14623.898555] schedule+0x57/0x100
[14623.898556] io_schedule+0x45/0x80
[14623.898558] rq_qos_wait+0xac/0x140
[14623.898560] ? __pfx_rq_qos_wake_function+0x40/0x40
[14623.898562] ? __pfx_wbt_inflight_cb+0x40/0x40
[14623.898564] wbt_wait+0x9f/0x180
[14623.898565] __rq_qos_throttle+0x27/0x80
[14623.898567] blk_mq_submit_bio+0x2cc/0x600
[14623.898569] ? ext4_fill_raw_inode+0x3be/0x540
[14623.898572] __submit_bio+0x19/0x140
[14623.898574] submit_bio_noacct_nocheck+0x26e/0x380
[14623.898576] submit_bio_noacct+0x169/0x5c0
[14623.898578] submit_bio+0x5a/0x80
[14623.898579] ext4_io_submit+0x23/0x80
[14623.898582] ext4_do_writepages+0x3bd/0xcc0
[14623.898584] ext4_writepages+0x90/0x180
[14623.898586] do_writepages+0xa4/0x180
[14623.898589] __writeback_single_inode+0x3b/0x300
[14623.898591] ? inode_io_list_move_locked+0x76/0x140
[14623.898593] writeback_sb_inodes+0x1d6/0x500
[14623.898595] ? srso_alias_return_thunk+0x5/0x7f
[14623.898597] ? wb_over_bg_thresh+0xf1/0x2c0
[14623.898599] ? asm_common_interrupt+0x2b/0x40
[14623.898601] __writeback_inodes_wb+0x4f/0x100
[14623.898603] wb_writeback+0x281/0x300
[14623.898605] wb_workfn+0x322/0x4c0
[14623.898607] ? srso_alias_return_thunk+0x5/0x7f
[14623.898609] ? __switch_to+0x132/0x500
[14623.898611] process_one_work+0x24f/0x440
[14623.898614] worker_thread+0x52/0x500
[14623.898615] ? __pfx_worker_thread+0x40/0x40
[14623.898617] kthread+0xd9/0x100
[14623.898619] ? __pfx_kthread+0x40/0x40
[14623.898621] ret_from_fork+0x46/0x80
[14623.898622] ? __pfx_kthread+0x40/0x40
[14623.898624] ret_from_fork_asm+0x1b/0x80
[14623.898627]
[14623.898635] INFO: task jbd2/sde1-8:5316 blocked for more than 122 seconds.
[14623.905481] Tainted: G S 6.5.5-1366.native #1
[14623.911718] “echo 0 > /proc/sys/kernel/hung_task_timeout_secs” disables this message.
[14623.919514] task:jbd2/sde1-8 state:D stack:0 pid:5316 ppid:2 flags:0x00004000
[14623.919517] Call Trace:
[14623.919518]
[14623.919519] __schedule+0x372/0xb00
[14623.919521] schedule+0x57/0x100
[14623.919523] jbd2_journal_wait_updates+0x60/0xc0
[14623.919524] ? __pfx_autoremove_wake_function+0x40/0x40
[14623.919527] jbd2_journal_commit_transaction+0x1e9/0x1a80
[14623.919529] ? srso_alias_return_thunk+0x5/0x7f
[14623.919531] ? pick_next_task_fair+0x55/0x900
[14623.919533] ? pick_next_task_idle+0x2c/0x80
[14623.919535] ? srso_alias_return_thunk+0x5/0x7f
[14623.919537] ? srso_alias_return_thunk+0x5/0x7f
[14623.919538] ? __schedule+0x37a/0xb00
[14623.919540] kjournald2+0x97/0x240
[14623.919542] ? __pfx_autoremove_wake_function+0x40/0x40
[14623.919544] ? __pfx_kjournald2+0x40/0x40
[14623.919546] kthread+0xd9/0x100
[14623.919547] ? __pfx_kthread+0x40/0x40
[14623.919549] ret_from_fork+0x46/0x80
[14623.919551] ? __pfx_kthread+0x40/0x40
[14623.919552] ret_from_fork_asm+0x1b/0x80
[14623.919555]
[14623.919556] INFO: task xz:5451 blocked for more than 122 seconds.
[14623.925621] Tainted: G S 6.5.5-1366.native #1
[14623.931857] “echo 0 > /proc/sys/kernel/hung_task_timeout_secs” disables this message.
[14623.939650] task:xz state:D stack:0 pid:5451 ppid:5450 flags:0x00004002
[14623.939653] Call Trace:
[14623.939654]

I bought 2 other brands of USB to SATA docking stations to test, since documentation of working
USB to SATA docking stations on Linux is scant.

The “OWC DRIVE DOCK USB-C Dual Drive Bay Solution for U.2, M.2, and SATA Drives”
Model number: “OWCTCDRVDCKSN OWC Drive Dock USB-C Dual Drive U 2+SATA” performed very with a SATA WD 22TB drive. The OWC documentation says this unit will only support a maximum storage size of 14TB, I was able to recognize up to 22 TB.

df -H /mnt/mediaBU/
Filesystem Size Used Avail Use% Mounted on
/dev/sdi1 22T 1.1T 20T 5% /mnt/mediaBU

df -h /mnt/mediaBU/
Filesystem Size Used Avail Use% Mounted on
/dev/sdi1 20T 948G 19T 5% /mnt/mediaBU

Explanation of units of df
-h, --human-readable print sizes in powers of 1024 (e.g., 1023M)
-H, --si print sizes in powers of 1000 (e.g., 1.1G)

No resets dmesg messages occurred during the large tar backup job, after the disk was mounted
the tar job performed the backup at an approximate rate of 30GB per hour.

[334863.281238] probe of 4-4.4 returned 0 after 1219 usecs
[334863.281556] scsi 12:0:0:0: Direct-Access Dual Drive Dock 1 0 PQ: 0 ANSI: 6
[334863.283158] probe of 12:0:0:0 returned 19 after 6 usecs
[334863.283226] sd 12:0:0:0: Attached scsi generic sg4 type 0
[334863.291021] sd 12:0:0:0: [sdi] 42970644480 512-byte logical blocks: (22.0 TB/20.0 TiB)
[334863.291025] sd 12:0:0:0: [sdi] 4096-byte physical blocks
[334863.291123] sd 12:0:0:0: [sdi] Write Protect is off
[334863.291125] sd 12:0:0:0: [sdi] Mode Sense: 43 00 00 00
[334863.291275] sd 12:0:0:0: [sdi] Write cache: enabled, read cache: enabled, doesn’t support DPO or FUA
[334863.291405] sd 12:0:0:0: [sdi] Preferred minimum I/O size 512 bytes not a multiple of physical block size (4096 bytes)
[334863.291409] sd 12:0:0:0: [sdi] Optimal transfer size 33553920 bytes not a multiple of physical block size (4096 bytes)
[334863.349733] sdi: sdi1
[334863.350096] sd 12:0:0:0: [sdi] Attached SCSI disk
[334863.350105] probe of 12:0:0:0 returned 0 after 66923 usecs
[334863.859099] EXT4-fs (sdi1): mounted filesystem 38181674-7443-4e59-a163-b75f5b8e5083 r/w with ordered data mode. Quota mode: disabled.
[334893.158159] EXT4-fs (sdi1): unmounting filesystem 38181674-7443-4e59-a163-b75f5b8e5083.
[334902.200562] EXT4-fs (sdi1): mounted filesystem 38181674-7443-4e59-a163-b75f5b8e5083 r/w with ordered data mode. Quota mode: disabled.
[335255.296277] EXT4-fs (sdi1): unmounting filesystem 38181674-7443-4e59-a163-b75f5b8e5083.
[335278.965529] sdi: sdi1
[336148.437890] EXT4-fs (sdi1): mounted filesystem 38181674-7443-4e59-a163-b75f5b8e5083 r/w with ordered data mode. Quota mode: disabled.

Here is the documentation on the side of the OWC Drive Dock:

1 Like

What is the USB-to-SATA chipset being used (via lsusb) for the OWC Drive Dock? I use a USB-to-SATA adapter (ASM1153 chip).

$ lsusb
Bus 008 Device 004: ID 174c:1153 ASMedia Technology Inc. ASM1153 SATA 3Gb/s bridge

TRIM support is possible for this particular chip. I enable TRIM support via a udev rule.

# /etc/udev/rules.d/80-usb_ssd_trim.rules
ACTION=="add|change", ATTRS{idVendor}=="174c", ATTRS{idProduct}=="1153", SUBSYSTEM=="scsi_disk", ATTR{provisioning_mode}="unmap"

I have another udev rule to select the proper IO scheduler, depending on the media type.

# /etc/udev/rules.d/60-ioschedulers.rules
# set scheduler for NVMe
ACTION=="add|change", KERNEL=="nvme[0-9]n[0-9]", ATTR{queue/scheduler}="none"
# set scheduler for SSD and eMMC
ACTION=="add|change", KERNEL=="sd[a-z]*|mmcblk[0-9]*", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="mq-deadline"
# set scheduler for rotating disks
ACTION=="add|change", KERNEL=="sd[a-z]*", ATTR{queue/rotational}=="1", ATTR{queue/scheduler}="bfq"

On the page, the SATA controller is ASMedia ASM1351. From searching the web, this too has TRIM support.

Edit:

Oops! I just realized that you purchased the OWC Drive Dock U.2+SATA version. That “uses a VL822 Q8 USB hub chip, coupled with ASM2362 for USB to PCIe bridging and ASM235CM for USB to SATA bridging.”

And has TRIM support :slight_smile:

There is an M.2 to U.2 adapter for NVMe M.2 SSD use.

lsusb
Bus 004 Device 064: ID 1e91:de75 Other World Computing Dual Drive Dock 1
Bus 004 Device 063: ID 1e91:de75 Other World Computing USB-C Dual Drive Dock

It’s not clear what the USB to SATA bridge controller chip they are using based on the less verbose
lsusb response even the more verbose response it’s not clear what USB to SATA bridge controller
OWC is using.

Partial listing:
Bus 004 Device 043: ID 1e91:de75 Other World Computing Dual Drive Dock 1
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 3.10
bDeviceClass 0
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 9
idVendor 0x1e91 Other World Computing
idProduct 0xde75
bcdDevice 1.00
iManufacturer 2 OWC
iProduct 3 Dual Drive Dock 1
iSerial 1 792900000C49
bNumConfigurations 1

Full listing:
Blockquote

Bus 004 Device 043: ID 1e91:de75 Other World Computing Dual Drive Dock 1
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 3.10
bDeviceClass 0
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 9
idVendor 0x1e91 Other World Computing
idProduct 0xde75
bcdDevice 1.00
iManufacturer 2 OWC
iProduct 3 Dual Drive Dock 1
iSerial 1 792900000C49
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x0079
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 8 Mass Storage
bInterfaceSubClass 6 SCSI
bInterfaceProtocol 80 Bulk-Only
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 0
bMaxBurst 15
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 0
bMaxBurst 15
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 1
bNumEndpoints 4
bInterfaceClass 8 Mass Storage
bInterfaceSubClass 6 SCSI
bInterfaceProtocol 98
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 0
bMaxBurst 15
MaxStreams 32
Data-in pipe (0x03)
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 0
bMaxBurst 15
MaxStreams 32
Data-out pipe (0x04)
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 0
bMaxBurst 15
MaxStreams 32
Status pipe (0x02)
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x04 EP 4 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 0
bMaxBurst 0
Command pipe (0x01)
Binary Object Store Descriptor:
bLength 5
bDescriptorType 15
wTotalLength 0x002a
bNumDeviceCaps 3
USB 2.0 Extension Device Capability:
bLength 7
bDescriptorType 16
bDevCapabilityType 2
bmAttributes 0x0000f41e
BESL Link Power Management (LPM) Supported
BESL value 1024 us
Deep BESL value 61440 us
SuperSpeed USB Device Capability:
bLength 10
bDescriptorType 16
bDevCapabilityType 3
bmAttributes 0x00
wSpeedsSupported 0x000e
Device can operate at Full Speed (12Mbps)
Device can operate at High Speed (480Mbps)
Device can operate at SuperSpeed (5Gbps)
bFunctionalitySupport 1
Lowest fully-functional device speed is Full Speed (12Mbps)
bU1DevExitLat 10 micro seconds
bU2DevExitLat 2047 micro seconds
SuperSpeedPlus USB Device Capability:
bLength 20
bDescriptorType 16
bDevCapabilityType 10
bmAttributes 0x00000001
Sublink Speed Attribute count 2
Sublink Speed ID count 1
wFunctionalitySupport 0x1100
Min functional Speed Attribute ID: 0
Min functional RX lanes: 1
Min functional TX lanes: 1
bmSublinkSpeedAttr[0] 0x000a4030
Speed Attribute ID: 0 10Gb/s Symmetric RX SuperSpeedPlus
bmSublinkSpeedAttr[1] 0x000a40b0
Speed Attribute ID: 0 10Gb/s Symmetric TX SuperSpeedPlus
Device Status: 0x0001
Self Powered

Bus 004 Device 042: ID 1e91:de75 Other World Computing USB-C Dual Drive Dock
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 3.20
bDeviceClass 9 Hub
bDeviceSubClass 0
bDeviceProtocol 3
bMaxPacketSize0 9
idVendor 0x1e91 Other World Computing
idProduct 0xde75
bcdDevice 8.13
iManufacturer 1 OWC
iProduct 2 USB-C Dual Drive Dock
iSerial 3 000000001
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x001f
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0
bInterfaceProtocol 0 Full speed (or root) hub
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 19
Transfer Type Interrupt
Synch Type None
Usage Type Feedback
wMaxPacketSize 0x0002 1x 2 bytes
bInterval 8
bMaxBurst 0
Binary Object Store Descriptor:
bLength 5
bDescriptorType 15
wTotalLength 0x002a
bNumDeviceCaps 3
USB 2.0 Extension Device Capability:
bLength 7
bDescriptorType 16
bDevCapabilityType 2
bmAttributes 0x00000002
HIRD Link Power Management (LPM) Supported
SuperSpeed USB Device Capability:
bLength 10
bDescriptorType 16
bDevCapabilityType 3
bmAttributes 0x00
wSpeedsSupported 0x000e
Device can operate at Full Speed (12Mbps)
Device can operate at High Speed (480Mbps)
Device can operate at SuperSpeed (5Gbps)
bFunctionalitySupport 1
Lowest fully-functional device speed is Full Speed (12Mbps)
bU1DevExitLat 4 micro seconds
bU2DevExitLat 231 micro seconds
Container ID Device Capability:
bLength 20
bDescriptorType 16
bDevCapabilityType 4
bReserved 0
ContainerID {30eef35c-07d5-2549-b001-802d79434c30}
Hub Descriptor:
bLength 12
bDescriptorType 42
nNbrPorts 4
wHubCharacteristic 0x0009
Per-port power switching
Per-port overcurrent protection
bPwrOn2PwrGood 175 * 2 milli seconds
bHubContrCurrent 0 milli Ampere
bHubDecLat 0.4 micro seconds
wHubDelay 2292 nano seconds
DeviceRemovable 0x00
Hub Port Status:
Port 1: 0000.02a0 5Gbps power Rx.Detect
Port 2: 0000.02a0 5Gbps power Rx.Detect
Port 3: 0000.02a0 5Gbps power Rx.Detect
Port 4: 0000.0203 5Gbps power U0 enable connect
Device Status: 0x0001
Self Powered

Blockquote

==============================================================
The controller chip set for this product is not reported via the lsusb utility or smartctl for that matter, but rather the web site of the product description listed in @marioroy post. Sometimes manufactures will use the USB information field to output the name of the Chip set, but not. OWC.

I sent a message to the OWC support team, asking if TRIM is supported on Linux or possible via a udev rule?

# /etc/udev/rules.d/80-usb_ssd_trim.rules
ACTION=="add|change", ATTRS{idVendor}=="1e91", ATTRS{idProduct}=="de75", SUBSYSTEM=="scsi_disk", ATTR{provisioning_mode}="unmap"

How will Linux know otherwise, if it cannot identify the actual bridge controllers ASMedia ASM2362 and ASM235CM. Searching the web, both bridge controllers support TRIM. One way is via the udev rule, but unsure if this will work.

The docking station is working fine, but I suspect the trim rule is
directing the device driver to query the controller
to send back the chip set information? That is why you took the
initiative to reach out to OWC?

I will try this rule and see what happens.

In OWC web page about this product, they report that it will not support
drives larger than 14TB. I have docked
a Western Digital WD221KRYZ-01BBAB0 22TB and it recognizes the full 22TB.

Found out what the trim rules are about, defined the rules as you suggested in the file
/etc/udev/rules.d/80-usb_ssd_trim.rules. In case others don’t know what “trim” rules are about, and
why they are used here is useful URLs to view:
[HowTo] TRIM an external SSD - Contributions / Tutorials - Manjaro Linux Forum
Enable TRIM/discard on external SSD – Guy Rutenberg

Simple test on my server with my docking station with 22TB drive docked:
./cust_mount_mediaBU.sh
Sat Dec 9 12:35:36 PM PST 2023
—>Mounting Device:/dev/disk/by-uuid/38181674-7443-4e59-a163-b75f5b8e5083 to /mnt/mediaBU
Sat Dec 9 12:35:36 PM PST 2023
root@netserver03~/backup-work # fstrim /mnt/mediaBU

fstrim executed without throwing an error message

1 Like