2 History of USB_ModeSwitch
3 =========================
5 Version 1.1.7, 2011/02/27
6 Attention: paths for runtime files and database have changed! Old places
7 will be found but are deprecated; /usr/share/usb_modeswitch for database,
8 /var/lib/usb_modeswitch for "remembered" IDs;
9 fix for configuration setting race (thanks to Amit Mendapara); discovered
10 incompatibility between Tcl versions <= 8.3 and >=8.4, so 8.4 is the
11 minimum prerequisite now;
12 first availability of an alternative source pack which includes "jimsh",
13 a fast Tcl mini shell, intended for resource-constrained systems
14 Version 1.1.6, 2010/12/22
15 Moved warm-boot driver binding to sh wrapper, was unreliable in 1.1.5;
16 sh wrapper overhaul, made compatible with Ubuntu's "dash" shell, tclsh
17 calls reduced further; initial device checking includes current
18 bConfigurationValue now, should work with config setting for multiple
19 devices; made tcl script conform to limitations of "jimsh", the minimal
20 tcl shell (hint from Barry Kauler); fixes for "usbserial" fallback
21 (driver binding for old systems); in the C program, changed parameter
22 "MessageDelay" (hitherto unused) to "ReleaseDelay", to be used in one
23 device configuration (delay interface release after bulk message sending)
24 Version 1.1.5, 2010/11/28
25 Added special control message for Kobil devices (patch from Filip Aben);
26 try to get active configuration for interface class checking (there are
27 some new devices 'switching' via configuration selection);
28 fixed "0000" target product ID - again; new bash and tcl wrapper logic:
29 the convenience functions for driver binding and symlinking will now
30 start the tcl shell ONLY for known devices; changed and appended logging
31 capabilities of said convenience functions; add loading of "usbserial"
32 as a fallback for older systems to support new devices;
33 add workaround for bug in libusb1 which affects device search during
35 Version 1.1.4, 2010/08/17
36 The package should work at boot time now (cold and warm);
37 product IDs of "0000" do exist but were not accepted, fixed (thanks to
38 Sakis Dimopoulos); response endpoint is now always detected (led to
39 possible error report when resetting all endpoints in version 1.1.3);
40 wrapper script can now work with a packed collection of config files as
41 well as with the plain folder of files; use with the "install-packed"
42 make target of the data package (for use on systems with resource
43 constraints); wrapper fix for the symlink feature: handling of multiple
44 interrupt ports was incomplete; wrapper does not longer use a temporary
45 file for the symlink feature (security considerations, Marco d'Itri)
46 Version 1.1.3, 2010/06/21
47 Added delay option to separate multiple message transfers by millisecs;
48 fixed (possibly dangerous) sloppy string handling (thanks to Christophe
49 Fergeau); added "clear_halt" for response endpoint; small additions in
50 Makefile (install with -D); changes in option handling (NO MORE DEFAULT
51 CONFIG FILE!) and help text; symlink feature in wrapper can now cope
52 with devices providing more than one interrupt port; wrapper now ignores
53 package manager leftovers in config folder; replaced bash-specific syntax
54 in wrapper; changed ZTE skipping (if existing rules are found) to warning
55 Version 1.1.2, 2010/04/18
56 Added support for two additional bulk messages; wrapper handles special
57 ZTE case; generalized driver loading, new parameter "DriverModule" and
58 "DriverIDPath"; new wrapper facility to add symlink pointing to interrupt
59 port (used in rule file from data pack >= 20100418)
60 Version 1.1.1, 2010/03/17
61 Attention: old usb_modeswitch.conf renamed to usb_modeswitch.setup!
62 Add separate config file for wrapper (global settings for switching and
63 logging); add config file option to disable driver loading; handling of
64 kernel attribute AVOID_RESET_QUIRK added; bug fixed in SonyMode (reported
65 by "no-0n3"); bug fixed in SuccessCheck logic; minor flow alignments and
67 Version 1.1.0, 2010/01/24
68 Attention: wrapper script location changed, uninstall old versions!
69 Major fixes in the wrapper script (stabilizing and time-saving);
70 back to unified installation, defaults to "integrated" approach;
71 new -D parameter to enable "integrated" behaviour; bugs fixed in
72 success check; man file included (borrowed from the Debian package);
73 C code and binary works with the compat library from libusb-1.0;
75 Version 1.0.7, 2010/01/06
76 Bug fixed for Sony mode, thanks to Marco Chiaranda; fix for parameter
77 substitution in newer udev versions, fix for bad bug in wrapper script
78 practically disabling automatic mode
79 Version 1.0.6, 2009/12/21
80 New "GCT Mode", fixes for device quirks (NXP Dragonfly), fix for multiple
81 Huawei devices, cleanups, loads of new devices in config file and database,
82 minor tcl script changes
83 Version 1.0.5, 2009/08/26
84 More changes and fixes regarding success check; "--version" option;
85 config "database" updated
86 Version 1.0.4, 2009/08/23
87 Success check bugs (and others) fixed
88 Version 1.0.3, 2009/08/20
89 Success check improved; experimental system integration (fully automated),
90 optional; new parameter "TargetProductList" needed for this; other
91 necessary small adaptations; more devices
92 Version 1.0.2, 2009/06/10
94 Version 1.0.1, 2009/06/08
95 Added output of descriptor strings for further identification
96 Version 1.0.0, 2009/06/01
97 Attention: possible incompatibilities for command line control!
98 On/off flags don't require arguments anymore (-H, -S, -O, -d, -R,
99 -n, new: -I), meaning "-R 0" does a reset like "-R 1" or "-R";
100 long option names changed to standard format (e.g. --HuaweiMode to
101 --huawei-mode); added device inquiry, for future help with device
102 identification; catch error -19 as possible success; send and response
103 endpoints now autoselected (consequently NeedResponse is back);
105 Version 0.9.7, 2009/04/15
106 Updated SonyMode, MD 400 now stable; automatic default endpoint
107 detection from Andrew Bird
108 Version 0.9.7beta, 2009/03/15
109 Major code clean up, optional success control (both suggested
110 by Daniel Cooper), new devices
111 Version 0.9.6, 2009/01/08
112 Special modes added for Sierra and Sony Ericsson, new devices
113 Version 0.9.5, 2008/10/27
114 New options for USB tuning (jokedst), lots of new devices, clean up
115 Version 0.9.4, 2008/06/09
116 Compat fix for libusb on FreeBSD quirks, more devices
117 Version 0.9.4beta2, 2008/03/19
118 Successful udev device release fix
119 Version 0.9.4beta, 2008/03/16
120 Multiple device support
121 Version 0.9.3, 2008/03/09
122 More devices, no changes from beta version
123 Version 0.9.3beta, 2007/12/30
124 New TargetClass parameter for recent Option firmware (Paul Hardwick), more
126 Version 0.9.2, 2007/11/02
127 New Huawei mode (code from Miroslav Bobovsky, added by Denis Sutter), more
129 Version 0.9.1beta, 2007/09/04 (jokedst)
130 Added command line parsing, cleaned up config stuff, doc updates
131 Version 0.9beta, 2007/08/15
132 Name change from "icon_switch", parameter file and generalizing
133 Version 0.2, 2006/09/25
134 Code cleaning, more messages
135 Version 0.1, 2006/09/24
136 (as "icon_switch") Just very basic functionality ...