Trouble with Sabrent 5-bay USB 3.2 Drive Enclosure (ASM235CM Chipset)

DanielJonce

Member
Mar 27, 2022
2
0
6

TL;DR Workaround (at a speed cost)

I found that if I plug the USB 3.2 coming from the enclosure into either a USB 2.0 hub or a USB 3.0 hub connected to the node running Proxmox, everything works as expected. I'm able to successfully wipe disks and create/destroy ZFS pools in seconds instead of waiting minutes for it to ultimately fail.

For my needs USB 3.0 speeds are sufficient while I wait for 3.2 to be better supported so i am going forward with this and will edit this post if I run into problems.

Preamble

1) This isn't primarily a request for help, but if you have a magical solution feel free to share.
2) As of Aug 14, 2024 This problem isn't solved (but there's a possible workaround).
3) If any of this helps anyone in any way, I will feel a slight soothing breeze of relief that will whisper to me that the last two days of my life weren't completely wasted.

Summary

I'm running into problems with getting a Sabrent USB 3.2 drive enclosure to work with Proxmox and I'm posting some of my efforts publicly in case this helps someone smarter than me resolve the issues in the future.

I don't (yet) accept that "USB is just broken for external drives enclosures forever"

However, I accept that it's currently broken for my specific case.

This post is an attempt to be some small part of a future solution and, hopefully, to save other people some time who may be running into similar issues.

Enclosure

It's a 5 bay front load tray-less Sabrent drive enclosure with "USB 3.2" and it uses the ASM235CM Chipset which supports UAS.

Experiences

1) When trying to wipe a disk in the enclosure, often it either tries for an extended period of time and/or I get the following in the Proxmox GUI Task viewer. Such as:
Code:
wiping block device /dev/sda
dd: fdatasync failed for '/dev/sda': Input/output error
dd: fsync failed for '/dev/sda': No such device
200+0 records in
200+0 records out
TASK ERROR: error wiping '/dev/sda': 209715200 bytes (210 MB, 200 MiB) copied, 154.918 s, 1.4 MB/s
2) Sometimes the drive names and serial numbers would be correctly displayed, sometimes the chipset information would be displayed instead of the drives.
4) When trying to create a ZFS pool I would wait forever and nothing would happen until there was a "communications error" on the "Drives" area of the Proxmox GUI.
5) General instability and disks disappearing

Digging Deeper, Finding Errors​

After running this command in the shell of the Proxmox node to increase verbosity
Code:
echo 'module usbcore +p' > /sys/kernel/debug/dynamic_debug/control
I used the Proxmox GUI to "Wipe" a drive in the enclosure.

Then I used this command in the shell to see what I could see.
Code:
dmesg | grep -i usb
I got a long list of these
Code:
[  822.432562] usb 2-1.3.1: reset SuperSpeed Plus Gen 2x1 USB device number 7 using xhci_hcd
Then one of these
Code:
[  822.884480] usb usb2-port1: link state change
A few of these
Code:
[  822.906286] usb usb2-port1: Wait for inactive link disconnect detect
One of these
Code:
[  822.994324] usb usb2-port1: do warm reset, port only
A couple of these
Code:
[  823.046330] usb usb2-port1: not warm reset yet, waiting 50ms
Lots of these
Code:
[  823.110990] usb 2-1.3-port1: cannot reset (err = -71)
[  823.110993] usb 2-1.3-port1: not enabled, trying reset again...
Then finally an acceptance of fate.
Code:
[  823.358308] usb usb2-port1: status 02c0, change 0041, 10.0 Gb/s
[  823.358314] usb 2-1: USB disconnect, device number 5
[  823.358316] usb 2-1.3: USB disconnect, device number 6
[  823.358317] usb 2-1.3.1: USB disconnect, device number 7
[  823.358318] usb 2-1.3.1: unregistering device
[  823.358319] usb 2-1.3.1: unregistering interface 2-1.3.1:1.0
[  823.443358] usb 2-1.3.1: usb_disable_device nuking all URBs
[  823.443770] usb 2-1.3: unregistering device
[  823.443772] usb 2-1.3: unregistering interface 2-1.3:1.0
[  823.443940] usb 2-1.3: usb_disable_device nuking all URBs
[  823.444319] usb 2-1: unregistering device
[  823.444321] usb 2-1: unregistering interface 2-1:1.0
[  823.444498] usb 2-1: usb_disable_device nuking all URBs

Useful Shell Commands​

Check drivers
Code:
lsmod | grep usb
Look for USB errors
Code:
dmesg | grep -i usb
Identify the drive
Code:
lsblk
Find the chipset vendorID and Product ID
Code:
lsusb

Efforts​

1) Different drives​

I tried 6 different SATA drives to narrow the problem down to an enclosure hardware/driver issue and not a failing drive issue.

2) Different cables and different USB ports​

I tried a USB-C to USB-C cable and a USB-C to USB-A cable using different USB ports on the computer. Neither change made a difference.

4) Disabled UAS using a quirk​

Found the vendorID and productID for the chipset (in my case, the "ASMedia Technology Inc. ASM235CM") with this command
Code:
lsusb
Disabled UAS for the device (in my case the vendorID : productID was "174c:55aa")
Code:
echo "options usb-storage quirks=vendorID:productID:u" | sudo tee /etc/modprobe.d/uas-blacklist.conf
Updated initramfs
Code:
sudo update-initramfs -u
Rebooted the node.

Conclusion​

1) My issues aren't resolved.
2) The problems I'm having with this enclosure aren't resolved.

I'll keep going to therapy for the first but It'd be great if some future smart person solves USB issues for everyone forever and thereby solves my problems with this enclosure.
 
Last edited:

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!