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
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
Then I used this command in the shell to see what I could see.
Code:
dmesg | grep -i usb
Code:
[ 822.432562] usb 2-1.3.1: reset SuperSpeed Plus Gen 2x1 USB device number 7 using xhci_hcd
Code:
[ 822.884480] usb usb2-port1: link state change
Code:
[ 822.906286] usb usb2-port1: Wait for inactive link disconnect detect
Code:
[ 822.994324] usb usb2-port1: do warm reset, port only
Code:
[ 823.046330] usb usb2-port1: not warm reset yet, waiting 50ms
Code:
[ 823.110990] usb 2-1.3-port1: cannot reset (err = -71)
[ 823.110993] usb 2-1.3-port1: not enabled, trying reset again...
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
Code:
dmesg | grep -i usb
Code:
lsblk
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
Code:
echo "options usb-storage quirks=vendorID:productID:u" | sudo tee /etc/modprobe.d/uas-blacklist.conf
Code:
sudo update-initramfs -u
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: