We may have a problem with the way we match drivers to devices...

I quote the following from a semi-private discussion... names have been
removed to protect the innocent.  The formatting has been changed to
improve readability.

--snip! snip!--
>FWIW: I hear off-reflector that the Linux matching algorithm for generic
>(mass storage) devices only looks at the bInterface values, and not at
>the values in the device descriptor.

If this is true then "Linux" will incorrectly assume that a  
vendor-specific device (bDeviceClass == 0xFF in device descriptor)  
always means "Mass Storage" when it sees bInterfaceClass == 0x08 in an  
interface descriptor.

The USB 2.0 specification (and all official  writing on the subject) allows
a vendor-specific device to use the interface descriptor class code in any
way it chooses making the interpretation of bInterfaceClass values
"vendor-specific."

(In other  words, a vendor is allowed to make the bInterfaceClass == 0x08
mean Mass Storage, but is not required to do so -- every USB stack must
have vendor-specific knowledge of the device in order to correctly
interpret class codes in a vendor-specific device.)

In point of fact, the official USB-IF table of class codes  
<http://www.usb.org/developers/defined_class> only clearly lists the  
bDeviceClass values of 0 and 2 as allowing the interpretation of class  
information at the interface level.  Interpreting interface-level class  
codes in a device using the Interface Association Descriptor technique  
is only allowed by text found in the Interface Association Descriptor  
ECN when bDeviceClass == 0xEF AND bDeviceSubClass == 2 AND 
bDeviceProtocol == 1.
--snip! snip!--

A later message suggests that Windows may suffer from the same bug...

It's difficult for me to follow, but it seems to me that we aren't doing
this correctly.

Matt

-- 
Matthew Dharm                              Home: [EMAIL PROTECTED] 
Maintainer, Linux USB Mass Storage Driver

Sir, for the hundreth time, we do NOT carry 600-round boxes of belt-fed 
suction darts!
                                        -- Salesperson to Greg
User Friendly, 12/30/1997

Attachment: pgpb5gnliAiZH.pgp
Description: PGP signature

Reply via email to