usb_modeswitch: ver. 2.2.1 with data package 2015-01-15
[tomato.git] / release / src / router / usbmodeswitch / data / REFERENCE
blob0fc83267d25ff905009cc74c5026339bf91a0006
1 Configuration File Reference for USB_ModeSwitch
2 -----------------------------------------------
4 Last modified: 2014-05-29
8 General Rules:
10 Numbers can be decimal or hexadecimal, Bulk message strings must be
11 hexadecimal without prepended "0x". Digits 9-16 (command tag) in
12 mass storage messages (starting with "55534243") are random; I set
13 them to "12345678". Mind that you should make them unique if more
14 than one MessageContent is used.
16 -> ALL MISTYPED PARAMETERS AND OTHER ENTRIES ARE SILENTLY IGNORED <-
20 Parameter Reference:
22 Note: if there is a short command line flag for a parameter, then it
23 is appended to the line. For the full command line parameter reference
24 see the usb_modeswitch(1) man page.
27 * DefaultVendor            -v <hex number>
28 * DefaultProduct           -p <hex number>
30 This is the ID the USB device shows after having been plugged in.
31 The program needs this, either on the command line or in the config
32 file; if not found -> no action.
34 Note: newer config files do not contain these parameters because of
35 the redundancy with regard to the config file name.
38 * TargetVendor             -V <hex number>
39 * TargetProduct            -P <hex number>
41 These are the IDs of the USB device after successful mode switching.
42 They are optional, but required for a proper success check
45 * TargetProductList        <comma separated hex strings without "0x">
47 Like TargetProduct, but multiple targets
50 * TargetClass              -C <hex number>
52 Some devices don't change their ID, only their layout. To check for a 
53 successfull mode switch, the class of the first interface is checked
56 * MessageEndpoint          -m <hex number>
57 * ResponseEndpoint         -r <hex number>
59 A kind of address inside the interface to which the "message"
60 (the sequence that does the actual switching) is directed or
61 from which the reply is read if NeedResponse is active.
62 OBSOLETE since version 0.9.7 due to autodetection, only useful for
63 testing
66 * MessageContent           -M <hex string>
68 A hex string containing the "message" sequence; it will be
69 sent as a USB bulk transfer
72 * MessageContent2, ...3    -2/-3 <hex string>
74 Additional "messages". Use with "NeedResponse"!
77 * ReleaseDelay             -w <milliseconds>
79 Waiting time after message transfers. Helps with some sensitive devices
80 that don't want any traffic after the mode switch initialisation
83 * NeedResponse <0/1>       -n
85 Some devices were reported to require receiving the response of the
86 bulk transfer to do the switching properly. Usually not needed.
89 * DetachStorageOnly <0/1>  -d
91 Some early devices just needed to be detached from the usb-storage
92 driver to initiate the mode switching. Now practically obsolete for
93 switching, but still comes handy sometimes
96 * StandardEject <0/1>      -K
98 Sends a specific bulk message sequence representing the SCSI commands
99 "ALLOW MEDIUM REMOVAL" and "START STOP UNIT", basically an eject
100 action. Many modems are using this for mode switching
103 * HuaweiMode <0/1>         -H
105 Some early Huawei devices can be switched by a special control
106 message. Don't use with recent devices
109 * HuaweiNewMode <0/1>      -J
111 The standard for all newer Huawei devices. Sends a specific bulk message,
112 but different target layouts may be reached with variants of that
113 message; use MessageContent for these
116 * SonyMode <0/1>           -O
118 Some Sony-Ericsson devices can be switched by a special control
119 message. May take a long time (20+ seconds).
122 * SierraMode <0/1>         -S
123 * KobilMode <0/1>          -T
124 * GCTMode <0/1>            -G
125 * SequansMode <0/1>        -N
126 * MobileActionMode <0/1>   -A
127 * QisdaMode <0/1>          -B
128 * QuantaMode <0/1>         -E
129 * PantechMode <0/1>        -F
130 * BlackberryMode <0/1>     -Z
131 * CiscoMode <0/1>          -L
134 Flags to support devices that need special control messages.
135 The names are referring to the respective manufacturers.
138 * ResetUSB <0/1>           -R
140 Few devices or systems need a rougher treatment. If the switching seems
141 to do something but your system does not reflect it, try this somewhat
142 brutal method to do a reset after switching. May also be useful for
143 all kinds of experiments
146 * Configuration            -u <hex number>
148 Some devices are doing the "right" thing and provide different layouts
149 in the standard-compliant way. They don't "restart", so don't have to be
150 rediscovered by the system after the change. Strictly speaking, they are
151 not doing a mode switch
154 * Interface                -i <hex number>
155 * AltSetting               -a <hex number>
157 More USB parameter to help with tricky devices and for doing lots
158 of cruel experiments; usually not needed ...
161 Note:
162 AltSetting/Configuration changes and ResetUSB are executed after all
163 other steps and can be combined or used on their own (e.g. a reset
164 might have the same effect as a manual replug)
167 * InquireDevice <0|1>      -I (enables inquiry)
169 Prints out SCSI device attributes in addition to USB device attributes.
170 These may be used later to tell apart ambiguous device IDs. Only needed
171 for creating new configurations
174 * CheckSuccess             -s <number>
176 Check continuously if the switch succeeded for max <number> seconds.
177 If the target ID is given, the check waits for it to appear.
178 Otherwise, the check waits for the device to "go away"; most devices
179 vanish after switching and can't be accessed anymore. It also checks
180 the bus/device count, trying to determine if the device "came back"
182 Note: this feature is not used in the full-featured Linux package of
183 usb_modeswitch where the success check is done by the wrapper script
186 * NoDriverLoading <0|1>    (no command line parameter)
188 The binary tells the wrapper script NOT to check for and initiate
189 binding of the serial driver after switching.
190 Mostly useful for non-modem devices and newer modems which do not use
191 the serial driver.
194 * WaitBefore <seconds>     (no command line parameter)
196 Waiting time before taking any action. Helps with some sensitive setups.
199 * NoMBIMCheck <0|1>        (no command line parameter)
201 Disable the check for new MBIM standard devices, which is always done
202 by default.