Re: USB gadget with drivers "on board"

From: Josua Dietze
Date: Mon Apr 26 2010 - 16:15:07 EST


Alan Stern schrieb:

On Mon, 26 Apr 2010, Josua Dietze wrote:
These are the notorious mode switching devices. In Windows, they obviously install a special storage driver doing one specific action on each following plugging.
This action - some storage or control command - will "flip" the device, making it "disconnect" and returning as a completely different composite device.

Storage commands used for this procedure range from "SCSI rezero" over "passthrough" to "SCSI eject", or involve vendor specific stuff.

I was going to say the same thing. For ease of use, I recommend using
a "SCSI eject" to trigger the mode change. That way, Linux users who
don't have the usb-modeswitch program installed can get the same effect
by running eject.


Important for the Linux handling is that "mode 1" is clearly distinguishable from "mode 2", either by using a different product ID or by setting a different class for the device or interface 0 (will most likely be "8" for the install mode).

And it might be a good idea not to re-use any known ID for the install mode, like the 05c6:1000 which my Samsung phone and loads of other devices are using.
This makes switch handling complicated (though not impossible).


Josua Dietze
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/