[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4BD5F43E.4090404@draisberghof.de>
Date: Mon, 26 Apr 2010 22:14:54 +0200
From: Josua Dietze <digidietze@...isberghof.de>
To: Alan Stern <stern@...land.harvard.edu>
CC: MichaĆ Nazarewicz <m.nazarewicz@...sung.com>,
Daniel Mack <daniel@...aq.de>,
Marek Szyprowski <m.szyprowski@...sung.com>,
Kernel development list <linux-kernel@...r.kernel.org>,
USB list <linux-usb@...r.kernel.org>,
Kyungmin Park <kyungmin.park@...sung.com>
Subject: Re: USB gadget with drivers "on board"
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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists