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