Consume (USB HD Enclosure and Hub Reviews)
Product reviews are not my normal thing… I hope this saves others some grief.
My criteria for a great USB enclosure are
- Provides the actual drive manufacturer, model, and serial number in /dev/disk/by-id
- Supports commands for checking drive power status and apm status work (hdparm -C, hdparm -B)
-
Supports commands for disabling APM and spindown (hdparm -B 0 128 254 or smartctl -s apm,off and hdparm -S 0 or smartctl -s standby,off) - Reads succeed, with delay, when drives spin up from sleep (maybe standby), especially with ZFS
- There is a native option to power the drive and bridge when power is applied to the enclosure.
- non-momentary switch is ideal
- jumper or dip switch okay
- Supports SATA I drives
- Uses USB Power Delivery to request up to 24W for single drive enclosure and up to 240W for multiple drive enclosure
- And provides power another way until we have Powered USB hubs that can deliver that kind of power
- Per drive wallwart solutions allow six to be plugged into a 6-Outlet Grounded Adapter or a cheap 6-Outlet Power Strip
- Tool-free with slide in trays and mechanical latches or captive thumb screws are ideal.
Orico 7688C3
Identifiers
ID: 2109:0715 VIA Labs, Inc. iManufacturer 1: VLI Manufacture String iProduct 2: VLI Product String iSerial: 000000123ADC Visual Chip Inspection: VL716
Greatness
- 🤷 Did not provide serial number on boot on Ubuntu 20.04 server. Provided the rest. Doing a followup because I think it did the right thing on Ubuntu 20.04 Desktop when it was hotplugged.
- ✅ ‘hdparm -C’ and ‘hdparm -B’ work. ‘hdparm -C’ always returns ‘standby’… however it hasn’t wedged anything, yet.
- ✅ Accepts hdparm and smartctl commands to disable apm and standby AND honors them. Notes, it requires an ‘hdparm -K’ to keep across a drive reset. Standby is reset by power cycle. And the hdparm hooks for udev now filter out commands to apply these to the drive.
- ✅ ZFS does not get upset by the drive going into standby due to idle or ‘hdparm -Y’.
- ❌ Does not power on when power is applied. Power on is handled via a momentary switch. Drive does power up when power is applied if the momentary switch is held down and the drive functions properly while it’s held down
- ✅ Supports my 2005 vintage SATA I drives
- ❌ Still requires the separate 12V2A barrel connector
- ❌ A cheap 6 outlet power strip handles 3 with some finagling. A cheap 6 outlet adapter handles 4 with some finagling.
- ❌ Not tool free. They include the phillips head screw driver and the screws are easy to lose on carpet
Pros
- Appears as uas, not usb-storage under linux
- Fast sustains the highest TPM and read rates of drive enclosures on the production file server
- Drives are only 2C hotter in fanless enclosure than in five bay enclosure. 6-11C COOLER than the open top single drive enclosure
Cons
- The serial number silliness because it’s a no-go with multiple drives of the same manufacturer and model
- There is no label on the enclosure indicating model number. The closest is the model and revision number on the board inside the enclosure
Orico 7688U3
Identifiers
ID: 0080:0578 Assmann Electronic GmbH iManufacturer 1: JMicron iProduct 2: External USB 3.0 iSerial 3: 2015033100077 They put permanent black marker over the chip to hide its model number
Greatness
- ❌ All drives appear as usb-External_USB_3.0_2015033100077-*
- ❌ ‘hdparm -C’ and ‘hdparm -B’ fail.
- ❌ Fails on hdparm commands to disable APM and standby. Accepts smartctl commands… and ignores them.
- ✅ ZFS does not get upset by the drive going into standby due to idle or ‘hdparm -Y’.
- ❌ Does not power on when power is applied. Power on is handled via a momentary switch. Drive does power up when power is applied if the momentary switch is held down and the drive functions properly while it’s held down.
- ❌ It just hangs and doesn’t appear as a USB device with a SATA I drive.
- ❌ Still requires the separate 12V2A barrel connector.
- ❌ A cheap 6 outlet power strip handles 3 with some finagling. A cheap 6 outlet adapter handles 4 with some finagling.
- ❌ Not tool free. They include the phillips head screw driver and the screws are easy to lose on carpet
Pros
- Works with newer drives
- Solid USB Type B for USB 3.0 connector
- smartctl -s apm,off -s standby,off does not give an error
- Thermals are 45C idle 48C during scrub
Cons
- It’s the JMS578 or close enough and that has piles of non-compliant design problems
- Smartctl apm/standby commands are ignored
- The identifier silliness because it’s a no-go with multiple enclosures
- There is no label on the enclosure indicating model number. The closest is the model and revision number on the board inside the enclosure
- There’s a weird corner case with apm=off and issueing standby,now where smartctl hangs. Not an issue with apm=128-254
Orico 6518US3-BK
Identifiers
ID: 2537:1066 VIA Labs, Inc. USB3.0 Hub (Or sometimes nothing) iManufacturer 1: Norelsys (Or nothing) iProduct 2: NS1066 (Or nothing) iSerial 3: 0123456789ABCDE (Or nothing)
Greatness
- ❌ All drives appear as usb-NORELSYS_106X_0123456789ABCDE-*
- ✅ ‘hdparm -C’ and ‘hdparm -B’ work
- ❌ ‘hdparm -S 0’ fails. ‘hdparm -Y’ fails. ‘smarctl -s standby,off’ fails. ‘hdparm -B 0’ fails. ‘hparm -B 254’ works. ‘smartctl -s standby,now’ works. ‘smartctl -s apm,off’ works and is seen by ‘hdparm -B’.
- ✅ ZFS does not get upset by the drive going into standby due to idle or ‘smartctl -s standby,now’.
- ✅ Nice non-momentary switch for power
- ✅ Does work with SATA I drives
- ❌ Still requires the separate 12V2A barrel connector.
- ❌ A cheap 6 outlet power strip handles 3 with some finagling. A cheap 6 outlet adapter handles 4 with some finagling.
- ✅ It’s actually tool free. Let’s be fair, the top of the drive is completely exposed.
Pros
- Works with SATA I and newer drives
- Solid USB Type B for USB 3.0 connector
- smartctl -s apm,off does not give an error and is not ignored
- Appears to honor smartctl -s apm,off
Cons
- Thermals suck. 48C for an idle 55C during scrub for a 2016 vintage drive.
- Weird corner case during heavy read load and the bridge resets [69684.190334] usb 2-4.2: reset SuperSpeed Gen 1 USB device number 4 using xhci_hcd [69684.304877] sd 2:0:0:0: [sdc] tag#0 FAILED Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK cmd_age=0s [69684.304891] sd 2:0:0:0: [sdc] tag#0 CDB: Read(16) 88 00 00 00 00 03 ab da 01 88 00 00 07 00 00 00 [69684.304894] blk_update_request: I/O error, dev sdc, sector 15768093064 op 0x0:(READ) flags 0x4700 phys_seg 16 prio class 0 [69684.304986] zio pool=REDACTED vdev=/dev/disk/by-partuuid/REDACTED error=5 type=1 offset=8073262600192 size=917504 flags=40080cb0