SCSI thru USB bInterfaceSubClass codes other than 06h

plavarre at plavarre at
Thu Sep 20 18:24:47 PDT 2007

* From the T10 Reflector (t10 at, posted by:
* <plavarre at>
The codes other than 06h never have made sense.
Those codes are an arbitrary, incomplete, and we see here now often
incorrect re-encoding of the info already available in SCSI Inquiry data
as the PeripheralDeviceType and RemovableMediaBit fields.
Those codes exist for no purpose, except to perpetuate the mixed up idea
that they have value.
02h never did mean MMC-2, that was a de jure publishing error at says what
really 02h means, quite indirectly, by specifically not mentioning the
02h and 05h found in the generic slice of UsbStor.inf, but instead
mentioning the only real binary test.
I quote:
In Windows XP, Windows 2000, and Windows Me, usbstor.sys makes only one
bInterfaceSubClass == 06h 
- OR - 
bInterfaceSubClass != 06h 
In the deprecated obsolete (bInterfaceSubClass != 06h) test case you see
there that Windows does bizarre opaque legacy-babying things that
interfere with newly standard, vendor-specific, and rarely used old
standard traffic, e.g. the Microsoft page that explains Win 2K crashing
if you fetch a Mode Sense (6) header without any more bytes past it.
Opaque is evil.
The sooner we obsolete the opaque codes to discourage anyone from
accidentally reimplementing the opaque codes, the better.
Fact, not theory.
Hope this helps,
-----Original Message-----
From: owner-t10 at [mailto:owner-t10 at] On Behalf Of Curtis
Sent: Thursday, September 20, 2007 5:56 PM
To: jgeldman; billmc37 at; t10 at; mtfuji5 at
Subject: RE: USB Mass storage sub-class for MMC devices
in short, I do not believe that this is redefining anything.
* For T10 Reflector information, send a message with
* 'info t10' (no quotes) in the message body to majordomo at

More information about the T10 mailing list