Re: [usb-storage] Re: [PATCH] fix Sony USB mass storage - pass larger receive buffer

Pat LaVarre
2003-11-14T02:11:06Z

> * Define an absolute bare minimum safe subset of SCSI commands and
> fall back to it whenever you see a non-compliant device like this one.

Did we find a kind of reset that worked with this device?

> Note that Win98 did not support my Sony Handycam Memory Stick out of
> the box, I had to install drivers from Sony installation CD.
> Obviously these drivers do not attempt to issue any commands that
> the device does not understand. XP did detect Sony out of the box but
> it is very likely that it still loaded proprietary Sony driver based
> on USB Device/Vendor ID.

I agree.

I guess this from seeing bInterfaceSubClass = xFF = Formally Reserved
But Informally Vendor Specific SCSI. That pushes the bInterfaceClass
...SubClass ...Protocol outside of the tuples that Microsoft blesses as
generic usb storage i.e. outside of the set x 08 (02|05|06) 50.

> Also note: the device does not claim any SCSI compliance as indicated
> by reserved values in its device descriptor and by scsi version being
> set to 0 in reply to INQUIRY.

Aye.

> IMHO the solution is either or both of:
> * Blacklist it

Can we blacklist mode sense from bInterfaceSubClass = xFF?

That way we don't break as many write-protectable devices as if we
blacklisted mode sense always?

I remember today already I once proposed blacklisting only
bInterfaceSubClass = xFF, Matt said no once, I don't think I yet grok
Matt's no.

Can we blacklist only xFF if I wrote the patch myself?

I've shipped generic devices that I think comply: that gives me a
personal interest in having their write-protect work, no matter if
connected via USB.

Pat LaVarre

P.S.

> Also note: the device does not claim any SCSI compliance...
> miracle it worked at all.

Aye. Myself, I'd like to get an academic grant to study why computers
work. As far as I can tell, they shouldn't. Fundamentally chaotic
design. Try flipping a bit in an instruction stream, and watch what
happens.