#11972: support UAS (USB Attached SCSI)
---------------------------------+----------------------------
Reporter: pulkomandy | Owner: nobody
Type: enhancement | Status: new
Priority: low | Milestone: Unscheduled
Component: Drivers/Disk/SCSI | Version: R1/Development
Resolution: | Keywords:
Blocked By: | Blocking:
Has a Patch: 0 | Platform: All
---------------------------------+----------------------------
Comment (by mmlr):
Well, maybe just look into the history:
{{{
Introduce a simple usb_disk driver that supports USB mass storage devices
of
the bulk-only class using transparent SCSI commands (i.e. most of the
current
external harddrives and flash media). It emulates the few SCSI commands
needed
to get this sort of devices working and does not interface with the SCSI
subsystem. This makes it far easier to get working and also far better
fits
how the USB stack works (as drivers can be dynamically rescanned when
device
changes occur). This will allow for easy dynamic un- and replugging at
runtime.
}}}
Note that this was way back in 2008. The situation then was that many USB
mass storage devices were not actually implementing the SCSI layer. They
just supported a tiny subset of fixed commands (probably hardcoded in
firmware) and would just completely stall if you sent them anything
outside of that subset. The usb_disk driver took the approach of using the
most minimal subset of commands needed to make it more universally
compatible (an approach which mostly worked out).
Drivers from other operating systems at that time sometimes took the same
approach, some filtered the SCSI command set and others had large and
growing lists of quirks to correct per device issues.
I do not know what the state of things is today. It may be worth a try to
throw full SCSI at many devices and see how it goes. From past experience
I'm not all that hopeful that devices have actually gotten better though,
especially seeing the price range such products often fall into.
--
Ticket URL: <https://dev.haiku-os.org/ticket/11972#comment:9>
Haiku <https://dev.haiku-os.org>
The Haiku operating system.