usb_modeswitch ver. 2.3.0 with data package 2016-01-12
[tomato.git] / release / src / router / usbmodeswitch / data / README
bloba532e288622b8fd8adfcb3d1130e8333f5e60fc2
1 README for USB_ModeSwitch Data
3 Almost all new and corrected device configurations since around 2012
4 were collected and compiled by Lars Melin. Thank you!
6 Without a well-maintained base of configuration info, usb_modeswitch
7 would just be a useless blob of code. So:
9 PLEASE REPORT NEW DEVICES !
11 For up-to-date and detailed information (plus a friendly forum) visit
12 http://www.draisberghof.de/usb_modeswitch
16 This is a data package to complement the full release package of
17 USB_ModeSwitch, a tool to switch multi-mode USB devices.
18 It is used since usb-modeswitch version 1.0.3.
20 Recommended version of usb-modeswitch package is 1.2.5 and above. From
21 this version on, the rules file does not check for the class of inter-
22 face 0 anymore, the check was moved to the dispatcher.
23 The changes were necessary for future MBIM device support.
25 Just do "make install". To re-generate udev rules file, type "make clean"
26 and install again ("tcl" package required).
29 Tasks initiated by the rules file:
30 ==================================
32 - call wrapper to initiate switching for known devices when plugged in
33   (starting from version 1.1.4 at boot time too)
35 - adding symlink "gsmmodem" to appropriate connection port (out of 2-5
36   ports provided by some devices); this is only a convenience feature and
37   NOT needed for switching or later port operation.
38   This action will be triggered for known modems only (at least switched
39   once on this system)
41 - loading and binding the "option" driver if the device arrives in modem
42   state (not CDC/ACM) and the device ID is not yet known to the driver.
43   This action will be triggered only for modems known to the system (at
44   least switched once).
45   To prevent the default driver binding, add NoDriverLoading=1 to the
46   respective device configuration file
49 Explanation about config file names:
50 ====================================
52 Names consist of <VendorID>:<ProductID>, respective to the default device
53 mode.
54 Should more detailed identification become necessary, one or more attributes
55 to test can be attached after further colons:
56 <VendorID>:<ProductID>:<Attribute>=<String>[:<Attribute>=<String> ...]
58 The strings match if they are part of the attribute content. Use "_"
59 to match spaces (it will match "_" too!).
61 Currently recognized attibutes are:
63 uMa = USB, iManufacturer
64 uPr = USB, iProduct
65 uSe = USB, iSerial
66 sVe = SCSI, Vendor
67 sMo = SCSI, Model
68 sRe = SCSI, Revision
70 This list is easily extendable if necessary.
72 Example:
73 <vid>:<pid>:uPr=CDMA_Mo will match iProduct "CDMA Modem" or "MyCDMA_Mordor"
76 Generic config files (per vendor ID):
77 =====================================
79 Introduced in program package 2.2.0, this feature allows config files with a
80 name in the form <idVendor>:#<system flavour>. The default flavour is "linux".
82 The system parameter is taken from "/proc/version". The main use currently is
83 a sort of OS switch to treat all Huawei devices differently on Android.
84 There is no guarantee though that the /proc/version information will always
85 point to Android, so this method may change in future versions.
87 Annother form of usage is a fallback if the device ID is yet unknown. For
88 Huawei devices, the switching method is uniform and not likely to change,
89 so it is possible to provide a generic configuration.
91 Example files: see "12d1:#android" and "12d1:#linux"
94 Parameters used only in config files:
95 =====================================
97 These are not evaluated by the binary but by the wrapper.
99 WaitBefore=<seconds>            delay the switching process
101 DriverModule=<module name>      load a specific driver module after switch
103 DriverIDPath=<path to attribute>
104                                 if the driver has the ability to add new device IDs
105                                 on-the-fly, this is the file node to use.
106                                 Example: "/sys/bus/usb-serial/drivers/option1/new_id"
108 See also complete parameter explanation in REFERENCE.
111 Notes about specific devices:
112 =============================
114 - Huawei devices have a generic entry in the rules file; also there are
115   generic config files for these devices (Linux/Android) as fall-back or
116   as OS-specific mode control. This was suggested and approved by the
117   manufacturer
119 - 1266:1000 (Royaltek Q110): switching method very likely but unconfirmed
121 - Some WiMAX and LTE devices are included since 20101222; for some of these
122   drivers are work in progress or not available yet. Efforts are underway.
123   Stand by or search for "staging drivers".
125 - 05c6:2000 (unnamed HSDPA modem from "dealextreme"): unusually long switching
126   time reported, even with MS Windoze - 30 to 40 seconds. Don't be alarmed.
128 - 0471:1210 (Philips chipset): had to be split after variants with different
129   targets and behaviour appeared. This is not fully confirmed yet, please
130   report problems.
133 Legal
134 =====
136 This program is free software; you can redistribute it and/or modify it under
137 the terms of the GNU General Public License as published by the Free Software
138 Foundation; either version 2 of the License, or (at your option) any later
139 version.
141 This program is distributed in the hope that it will be useful, but WITHOUT ANY
142 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
143 PARTICULAR PURPOSE.  See the GNU General Public License for more details:
145 http://www.gnu.org/licenses/gpl.txt
147 Or find it as the file COPYING in this folder.
152 Last revised: 2016-01-12, Josua Dietze