README for USB_ModeSwitch Data


For up-to-date and detailed information (plus a friendly forum) visit
http://www.draisberghof.de/usb_modeswitch

PLEASE REPORT NEW DEVICES !



This is a data package to complement the full release package of
USB_ModeSwitch, a tool to switch multi-mode USB devices.
It is used since usb-modeswitch version 1.0.3.

Recommended version of usb-modeswitch package is 1.1.4 and above. Some
devices contained here may not be switched with older versions, even if
they will not cause any error.


Tasks initiated by the rules file:
==================================

- call wrapper to initiate switching for known devices when plugged in
  (starting from version 1.1.4 at boot time too)

- adding symlink "gsmmodem" to appropriate connection port (out of 2-5
  ports provided by some devices); this is only a help for handling and
  NOT needed for switching to work

- reloading the driver after warm boot when the device is still in modem
  state and the device ID is not yet known to the driver; this is not
  needed if the device is plugged during normal system operation


Explanation about config file names:
====================================

Names consist of <VendorID>:<ProductID>, respective to the default device
mode.
Should more detailed identification become necessary, one or more attributes
to test can be attached after further colons:
<VendorID>:<ProductID>:<Attribute>=<String>[:<Attribute>=<String> ...]

The strings match if they are part of the attribute content. Use "_"
to match spaces (it will match "_" too!).

Currently recognized attibutes are:

uMa = USB, iManufacturer
uPr = USB, iProduct
uSe = USB, iSerial
sVe = SCSI, Vendor
sMo = SCSI, Model
sRe = SCSI, Revision

This list is easily extendable if necessary.

Example:
<vid>:<pid>:uPr=CDMA_Mo will match iProduct "CDMA Modem" or "MyCDMA_Mordor"


If information is missing about ambiguous devices, a ":?" is attached
to the file/ID in question. Please contact the forum if you need help
in such a case.


Parameters used only in config files:
=====================================

These are not evaluated by the binary but by the wrapper.

WaitBefore=<seconds>		delay the switching process

DriverModule=<module name>	load a specific driver module after switch

DriverIDPath=<path to attribute>
				if the driver has the ability to add new device IDs
				on-the-fly, this is the file node to use.
				Example: "/sys/bus/usb-serial/drivers/option1/new_id"



Notes about specific devices:
=============================

- 16d8:6803 (C-motech D50, CDU-680): two versions popped up; one with
  ID unchanged, target class 0xff, providing standard serial ports,
  and one with target product 0x680a, providing an ACM port. There is
  not enough information how to tell them apart; if you have the second
  one, we badly need information (usb_modeswitch output with SCSI inquiry)

- 1004:607f (LG KP500): switching message derived from report but untested

- 1266:1000 (Royaltek Q110): switching method very likely but unconfirmed

- 1a8d:1000 (BandLuxe): now just one config for all devices; please report
  any problems

Legal
=====

This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; either version 2 of the License, or (at your option) any later
version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.  See the GNU General Public License for more details:

http://www.gnu.org/licenses/gpl.txt

Or find it as the file COPYING in this folder.




Last revised: 2010-11-28, Josua Dietze
