usbmodeswitch: Updated to v.1.2.6 from shibby's branch.
[tomato.git] / release / src / router / usbmodeswitch / ChangeLog
blobbed25873d0bfa27db8d0c46100a6ba5a8fbd6367
2 History of USB_ModeSwitch
3 =========================
5 Version 1.2.6, 2013/06/02
6     Several changes to streamline compiling as part of larger projects
7     (thanks to Nicolas Carrier), mostly in Makefile; fix compiler warnings
8     appearing in certain build environments (N. Carrier); new Quanta
9     procedure (thanks to Andrey Tikhomirov) for Quanta 1K3 LTE; fix for
10     error with cascaded hubs in dispatcher script (hint from N. Carrier)
11 Version 1.2.5, 2012/11/09
12     Initial support for MBIM devices, use with data package >= 20121109;
13     checking for these is the automatic default, new parameter NoMBIMCheck
14     prevents the check per device in case of problems; new global option
15     to set "delay_use" of usb-storage (as low values may prevent
16     mode-switching); fix for handling multi-configuration devices (thanks
17     to Bjørn Mork for advice)
18 Version 1.2.4, 2012/08/12
19     Additional interface checks to prevent sending UFI commands to non-
20     storage interfaces (prompted by more ambiguous device IDs popping up);
21     change in SierraMode for handling newer devices which caused an error
22     abort before; Makefile fix for parallelized make runs
23 Version 1.2.3, 2012/01/28
24     Fixed two bugs both causing the embedded-jimsh install variant of the
25     dispatcher crash (the "pure-script" install variant was NOT affected);
26     fixed some "regexp" incompatibilities with Debian's libjim
27 Version 1.2.2, 2012/01/19
28     Fixed bad bug preventing mode switch for devices using TargetClass;
29     improved logging in case of negative success check
30 Version 1.2.1, 2011/12/26
31     Fixed possible ambiguities when multiple identical modems are plugged
32     synchronously; this is achieved by adding -b and -g parameter (busnum
33     and devnum) for proper id'ing; some resulting workflow changes and
34     shortcuts in "system integration" mode (use sysfs/wrapper for success
35     control, reduce informative checks); improved hub usage robustness;
36     future data packages can be ridded of redundancies (default ID, success
37     check parameters), resulting in smaller files;
38     fixed bad bug which may prevent switching completely when logging is
39     not activated; fixed possible overflow in dispatcher C code (thanks to
40     Gilles Espinasse)
41 Version 1.2.0, 2011/10/23
42     Added QisdaMode for Qisda H21 (thanks to Chi-Hang Long for the code);
43     dispatcher can now be installed with an embedded interpreter, so that
44     Tcl is no longer required; added command line options for binary program
45     to accept configuration data via stdin or as a long string parameter -
46     this fixes the bug with non-writable temporary file during boot;
47     reversed skipping of pre-switching delay, which has caused problems;
48     fixed potential buffer overflow (thanks to Rafael Silva for the find);
49     get first interface right even on some broken devices (thanks to
50     Alexander Gordeev for the patch); increased post-switch delay before
51     driver binding to avoid possible conflict with usb-storage
52 Version 1.1.9, 2011/08/05
53     Added CiscoMode for Valet device; additional checking for CDC ACM device
54     to prevent erroneous driver loading after switching; no more post-switch
55     check for access to initial device if target parameters are given
56 Version 1.1.8, 2011/06/19
57     Cleaned up switchSendMessage(); added workaround for quirky devices not
58     reporting configuration setting; added non-CSW response for arbitrary
59     bulk transfers; added SequansMode and MobileActionMode; check for active
60     configuration will be skipped if bNumConfigurations is 1 (most cases)
61 Version 1.1.7, 2011/02/27
62     Attention: paths for runtime files and database have changed! Old places
63     will be found but are deprecated; /usr/share/usb_modeswitch for database,
64     /var/lib/usb_modeswitch for "remembered" IDs;
65     fix for configuration setting race (thanks to Amit Mendapara); discovered
66     incompatibility between Tcl versions <= 8.3 and >=8.4, so 8.4 is the
67     minimum prerequisite now;
68     first availability of an alternative source pack which includes "jimsh",
69     a fast Tcl mini shell, intended for resource-constrained systems
70 Version 1.1.6, 2010/12/22
71     Moved warm-boot driver binding to sh wrapper, was unreliable in 1.1.5;
72     sh wrapper overhaul, made compatible with Ubuntu's "dash" shell, tclsh
73     calls reduced further; initial device checking includes current
74     bConfigurationValue now, should work with config setting for multiple
75     devices; made tcl script conform to limitations of "jimsh", the minimal
76     tcl shell (hint from Barry Kauler); fixes for "usbserial" fallback
77     (driver binding for old systems); in the C program, changed parameter
78     "MessageDelay" (hitherto unused) to "ReleaseDelay", to be used in one
79     device configuration (delay interface release after bulk message sending)
80 Version 1.1.5, 2010/11/28
81     Added special control message for Kobil devices (patch from Filip Aben);
82     try to get active configuration for interface class checking (there are
83     some new devices 'switching' via configuration selection);
84     fixed "0000" target product ID - again; new bash and tcl wrapper logic:
85     the convenience functions for driver binding and symlinking will now
86     start the tcl shell ONLY for known devices; changed and appended logging
87     capabilities of said convenience functions; add loading of "usbserial"
88     as a fallback for older systems to support new devices;
89     add workaround for bug in libusb1 which affects device search during
90     success check
91 Version 1.1.4, 2010/08/17
92     The package should work at boot time now (cold and warm);
93     product IDs of "0000" do exist but were not accepted, fixed (thanks to
94     Sakis Dimopoulos); response endpoint is now always detected (led to
95     possible error report when resetting all endpoints in version 1.1.3);
96     wrapper script can now work with a packed collection of config files as
97     well as with the plain folder of files; use with the "install-packed"
98     make target of the data package (for use on systems with resource
99     constraints); wrapper fix for the symlink feature: handling of multiple
100     interrupt ports was incomplete; wrapper does not longer use a temporary
101     file for the symlink feature (security considerations, Marco d'Itri)
102 Version 1.1.3, 2010/06/21
103     Added delay option to separate multiple message transfers by millisecs;
104     fixed (possibly dangerous) sloppy string handling (thanks to Christophe
105     Fergeau); added "clear_halt" for response endpoint; small additions in
106     Makefile (install with -D); changes in option handling (NO MORE DEFAULT
107     CONFIG FILE!) and help text; symlink feature in wrapper can now cope
108     with devices providing more than one interrupt port; wrapper now ignores
109     package manager leftovers in config folder; replaced bash-specific syntax
110     in wrapper; changed ZTE skipping (if existing rules are found) to warning
111 Version 1.1.2, 2010/04/18
112     Added support for two additional bulk messages; wrapper handles special
113     ZTE case; generalized driver loading, new parameter "DriverModule" and
114     "DriverIDPath"; new wrapper facility to add symlink pointing to interrupt
115     port (used in rule file from data pack >= 20100418)
116 Version 1.1.1, 2010/03/17
117     Attention: old usb_modeswitch.conf renamed to usb_modeswitch.setup!
118     Add separate config file for wrapper (global settings for switching and
119     logging); add config file option to disable driver loading; handling of
120     kernel attribute AVOID_RESET_QUIRK added; bug fixed in SonyMode (reported
121     by "no-0n3"); bug fixed in SuccessCheck logic; minor flow alignments and
122     fixes; new devices
123 Version 1.1.0, 2010/01/24
124     Attention: wrapper script location changed, uninstall old versions!
125     Major fixes in the wrapper script (stabilizing and time-saving);
126     back to unified installation, defaults to "integrated" approach;
127     new -D parameter to enable "integrated" behaviour; bugs fixed in
128     success check; man file included (borrowed from the Debian package);
129     C code and binary works with the compat library from libusb-1.0;
130     some new devices
131 Version 1.0.7, 2010/01/06
132     Bug fixed for Sony mode, thanks to Marco Chiaranda; fix for parameter
133     substitution in newer udev versions, fix for bad bug in wrapper script
134     practically disabling automatic mode
135 Version 1.0.6, 2009/12/21
136     New "GCT Mode", fixes for device quirks (NXP Dragonfly), fix for multiple
137     Huawei devices, cleanups, loads of new devices in config file and database,
138     minor tcl script changes
139 Version 1.0.5, 2009/08/26
140     More changes and fixes regarding success check; "--version" option;
141     config "database" updated
142 Version 1.0.4, 2009/08/23
143     Success check bugs (and others) fixed
144 Version 1.0.3, 2009/08/20
145     Success check improved; experimental system integration (fully automated),
146     optional; new parameter "TargetProductList" needed for this; other
147     necessary small adaptations; more devices
148 Version 1.0.2, 2009/06/10
149     Output bugs fixed
150 Version 1.0.1, 2009/06/08
151     Added output of descriptor strings for further identification
152 Version 1.0.0, 2009/06/01
153     Attention: possible incompatibilities for command line control!
154     On/off flags don't require arguments anymore (-H, -S, -O, -d, -R,
155     -n, new: -I), meaning "-R 0" does a reset like "-R 1" or "-R";
156     long option names changed to standard format (e.g. --HuaweiMode to
157     --huawei-mode); added device inquiry, for future help with device
158     identification; catch error -19 as possible success; send and response
159     endpoints now autoselected (consequently NeedResponse is back);
160     new devices
161 Version 0.9.7, 2009/04/15
162     Updated SonyMode, MD 400 now stable; automatic default endpoint
163     detection from Andrew Bird
164 Version 0.9.7beta, 2009/03/15
165     Major code clean up, optional success control (both suggested
166     by Daniel Cooper), new devices
167 Version 0.9.6, 2009/01/08
168     Special modes added for Sierra and Sony Ericsson, new devices
169 Version 0.9.5, 2008/10/27
170     New options for USB tuning (jokedst), lots of new devices, clean up
171 Version 0.9.4, 2008/06/09
172     Compat fix for libusb on FreeBSD quirks, more devices
173 Version 0.9.4beta2, 2008/03/19
174     Successful udev device release fix
175 Version 0.9.4beta, 2008/03/16
176     Multiple device support
177 Version 0.9.3, 2008/03/09
178     More devices, no changes from beta version
179 Version 0.9.3beta, 2007/12/30
180     New TargetClass parameter for recent Option firmware (Paul Hardwick), more
181     devices
182 Version 0.9.2, 2007/11/02
183     New Huawei mode (code from Miroslav Bobovsky, added by Denis Sutter), more
184     devices
185 Version 0.9.1beta, 2007/09/04 (jokedst)
186     Added command line parsing, cleaned up config stuff, doc updates
187 Version 0.9beta, 2007/08/15
188     Name change from "icon_switch", parameter file and generalizing
189 Version 0.2, 2006/09/25
190     Code cleaning, more messages
191 Version 0.1, 2006/09/24
192     (as "icon_switch") Just very basic functionality ...