I have accumulated some information about these weird hybrid
devices, mostly wireless modems. I am now convinced that ambiguities
and side effects can be handled when switching these devices in the
usb-storage code.
I would like to write a patch to handle quite a number of these
things. It's mostly about identifying them properly and sending a
specific bulk message (always with an option to skip the switch in
order to access the original storage device).
I need advice for organizing the code. There could be a separate
file for every device (or family of devices) like "option_ms" or
"sierra_ms". But I suspect with about 9 to 10 different bulk
messages it would get too messy and probably result in a lot of
redundancy. Also, some devices start off with an identical ID but
need different treatment (see the notorious Qualcomm ID 05c6:1000).
Obviously, they'd be handled better from one function.
Would it be OK to start with one file like "modeswitch.c" or
similar? It would replace "option_ms.c" (I'm not sure about
"sierra_ms.c" though).
If vendors want to make the switching dependent on a model/version,
probably because of contained Linux installation software, they'd
just have to provide some ID (serial number, firmware version) to
recognize and skipping the switch (Sierra does it like that).
Comments?
Josua Dietze
--
Man is the only creature on earth enabled to take a
warm meal while flying! Loriot
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html