Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Isn't the USB mass storage spec just a pipe for sending SCSI commands?


USB Mass Storage has its own command set. Some newer USB3 adapters do allow SCSI commands to be passed through using UASP, but not all do.


Some, if not most, USB2 to SATA/SAS bridges also allows passing these commands. smartctl can talk with most of the bridges to pass-thru commands, at least for SMART purposes.

Seagate's 3.5" Backup Plus Hub drives mask the disk itself intentionally to show itself as a different, generic Seagate device, probably to prevent people from messing with the disk settings and identifying the disk itself.


And even if they support it, it isn't always safe to do so. For example, I have a WD Passport sitting on my desk that was bricked when I issued an ATA secure erase command[1]. Don't assume that any SATA/SCSI commands are safe to issue to USB drives unless you have researched it.

[1] https://ata.wiki.kernel.org/index.php/ATA_Secure_Erase


Probably the USB interface keeps some data for its encryption function on a part of the hard drive which it makes inaccessible. You erased the whole hard drive, including that part, and probably caused the USB interface to malfunction.


No, it famously lacks TRIM for example. They may finally have gotten their act together and updated it in a recent version, but there are plenty drives on the market still today that will , for lack of TRIM support, eventually grind themselves down to a halt. FireWire and Thunderbolt do support full SCSI, iirc.


I also recently tried a bunch of USB3+SCSI - SATA adapters from Amazon, and only found a single one that supported passing TRIM through. And that's after a firmware upgrade that can only (afaik) be done using an installer running on ARM+Linux and provided by a third-party. Truly amazing.


How can I check that for my adapter?


Either mount the drive and run "fstrim" on the drive's location (it will error without TRIM support) or https://unix.stackexchange.com/a/339684/21419


You need to check your adapters for UASP support.

In addition to devices, the host controller has to support UASP too - in early days of USB3, it was separately licensed option.


All the adapters I tried claimed UASP support.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: