summaryrefslogtreecommitdiff
path: root/usb/driver/libusb-win32-README-1.2.6.0.txt
blob: 99445f7d5da9e4a10f623b550a805ed51f9199a6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
LibUsb-Win32 Change Log
V1.2.6.0 (01/17/2012)
==============================================
* Official release.

* Removed ISO maximum transfer size restrictions/transfer spltting.

* Fixed inf-wizard device notification issue.

V1.2.5.0 (07/23/2011)
==============================================
* Official release.

V1.2.4.9 (07/13/2011) - SNAPSHOT RELEASE
==============================================
* Updated GCC lib file 'libusb.a'

V1.2.4.8 (07/12/2011) - SNAPSHOT RELEASE
==============================================
* Added new public api function 'usb_reset_ex'. This is an extended 
  device reset function which allows developers to specify a port reset, a 
  port cycle, or both. 

* Added new public defines 'USB_RESET_TYPE_XXX' for 'usb_reset_ex' 
  function. 

V1.2.4.7 (07/02/2011) - SNAPSHOT RELEASE
==============================================
* Sync transfers which specify a zero (0) timeout are now considered to be 
  INFINITE. 

V1.2.4.6 (05/12/2011) - SNAPSHOT RELEASE
==============================================
* Added device interface registration. This provides identical 
  functionality to the "DeviceInterfaceGUIDs" supported by WinUSB and 
  libusbK. A device interface guid can be specified in the .inf file. They 
  can be used to quickly locate a usb device or set of USB devices using 
  the setup api as well as device notification registration. 

* New IOCTL codes added to for native libusbK/WinUSB compatibility.
  NOTE: These IOCTLs are currently used only by libusbK.dll.
  o LIBUSB_IOCTL_QUERY_DEVICE_INFORMATION
  o LIBUSB_IOCTL_SET_PIPE_POLICY
  o LIBUSB_IOCTL_GET_PIPE_POLICY
  o LIBUSB_IOCTL_SET_POWER_POLICY
  o LIBUSB_IOCTL_GET_POWER_POLICY
  o LIBUSB_IOCTL_CONTROL_WRITE
  o LIBUSB_IOCTL_CONTROL_READ
  o LIBUSB_IOCTL_FLUSH_PIPE
  o LIBUSBK_IOCTL_CLAIM_INTERFACE
  o LIBUSBK_IOCTL_RELEASE_INTERFACE
  o LIBUSBK_IOCTL_RELEASE_ALL_INTERFACES
  o LIBUSBK_IOCTL_SET_INTERFACE
  o LIBUSBK_IOCTL_GET_INTERFACE

* Renamed main header file (usb.h) to lusb0_usb.h. This eliminates 
  conflicts with the main WDK usb include as well as making the 
  libusb-win32 header more distinguishable from other usb library header 
  files. 

* Added device descriptor caching and active/first config descriptor 
  caching. Descriptor caching prevents unnecessary control requests from 
  interrupting devices that could potentially be in-use. It also makes 
  libusb0.sys more compliant with usb libraries targeting platform where 
  descriptor caching is done automatically. (linux/mac)
  
* Upgraded to libwdi v1.1.1
  o Zadig UI improvements
  o wdi-simple now handles certificate related operations
  o New NSIS (Nullsoft Scriptable Install System) script sample
  o improved INNO Setup script sample
  o libusbK support
  o autogeneration and self-signing of a .cat file, to prevent further security
    prompts during driver installation on Vista and later.
    for more information, see http://libwdi-cps.akeo.ie
  o disable restore point creation during installation
  o Visual Studio 2010 support and overall MS file cleanup
  o use of the Kerberos/e2fsprogs parser in Zadig instead of libconfig

V1.2.4.0 (04/11/2011)
=======================
* Removed get configuration request from the core driver 
  set_configuration function.  This caused problems with
  some non-compliant usb devices.

* Added device descriptor dump to test applications.

V1.2.3.0 (03/16/2011)
=======================
* Fixed bug-id 3117686 reported by Tim Schuerewegen.

* Added LIBUSB_IOCTL_GET_OBJECT_NAME.  This new IOCTL code retrieves object
  from the driver.  The only valid object name index is 0.  Index 0 is
  returns the devices plug and play registry key pathname.

* Removed maximum timeout restriction for vendor class requests.

V1.2.2.0 (10/02/2010)
=======================
* Added install-filter-win.exe.  A gui installer for device filters.

* Added new libusb0.dll function usb_install_np_rundll().  This function
  is designed for rundll32.exe and takes the same parameters as
  install-filter.exe.

* Updated install-filter.exe.  This application has several new features.
  Type "install-filter --help" for more details.

* Updated libusb-win32-devel-filter package.  This package is once again
  available for download as a setup.exe.

* Updated libusb-win32 "bin" package format.  inf-wizard.exe has been moved
  up one directory.

* Updated driver_installer_template.iss example. This is an Inno Setup
  Script showing how to create your own setup.exe for installing your
  application and driver.

* Fixed missing byte order marker in inf-wizard.exe .inf files. (libwdi)

* Fixed auto-configuration issue when there is more than one driver in the
  stack.

* Fixed BSOD when using the filter driver with devices that are auto
  suspended by other drivers in the stack.
  
* Fixed BSOD for devices with endpoints that have '0' for wMaxPacketSize.

* Fixed BSOD when cancelling large transfers on high speed devices.

  
V1.2.1.0 (07/28/2010)
=======================
* Updated bulk.c to include async i/o example code.

* Fixed usb_install_driver_np() issue with inf-wizard generated infs.

* Fixed inf2cat.exe issue with inf-wizard generated infs.
  
* Added 'Install Now' feature to inf-wizard. (libwdi)

* Added embedded libusb-win32 binaries to inf-wizard. (libwdi)

* Added libwdi (http://www.libusb.org/wiki/libwdi) to inf-wizard. 

* Added get cached configuration request to usb_open(). This is a new
  control code that involves no device i/o and allows 
  usb_set_configuration() to be omitted if the driver has already
  configured it.

* Fixed set_configuration() failure for devices that do not properly
  support get_configuration().

V1.2.0.0 (07/07/2010)
=======================
* First signed driver release! The libusb-win32 kernel driver (libusb0.sys)
  can now be used on x64 Windows machines that require signed drivers. 

* Fixed 2128187 reported by Tim Green. usb_get_descriptor() can fail
  because the given buffer of 8 bytes is too small.

* Fixed 2928293 reported by Tim Green. Sometimes the call to 
  usb_fetch_and_parse_descriptors() in usb_find_devices() can fail. This 
  patch moves the LIST_ADD to after a successful read of the device's 
  configuration descriptors.

* Fixed issue causing libusb-win32 to not act as power policy owner
  when it should.

* Fixed issue in which on rare occasion, a libusb-win32 filter device could
  run as a "normal" device.
  
* Fixed filter driver issue for device using wudfr.sys.

* Added large transfer splitting to driver (bulk, int, iso). NOTE:
  The dll continues to break transfers in the same manner it always has.


V1.1.14.3 (06/12/2010)
=======================
* Remove get_configuration() request from usb_open().  This caused claim
  interface to fail when used as a filter driver.
  
V1.1.14.0 (06/01/2010)
=======================
* Updated logging functions and standardized log message display format.

* Updated inf-wizard to use the new directory format for the libusb-win32
  binaries.

* Updated package directories to reflect the winddk BUILDARCH env variable.
  (i64 := ia64, x64 := amd64)
  
* Added request to get the current configuration in usb_open().

* Fixed 2960644 (reported by farthen) crash on shutdown with x64 based
  systems while using inf files for each libusb device.

* Added additional log message only included in debug/chk builds.
  
* Updated default log levels to highest verbose level for debug builds.

* Added test signing support to the libusb-win32 make.cmd. This allows
  libusb0.sys and libusb0.dll to be signed with a digital signature.
  (see make.cmd for mmore details)

* Added MSVC 2008 project files

* Moved version defines to an include file (libusb_version.h)
  This file is generated from libusb_version_h.in with "make.cmd makever"

* Removed all "dist" commands from cyg/mingw makefile.  Instead use "make.cmd"
  in the "ddk_make" directory.

* Fixed filter setup not running in 64bit mode

* Fixed 64bit inf-wizard, testlibusb-win builds

* Added set initial config value #1 when the driver is not a filter.
  optionally, the initial configuration value can be specified in the inf
  file: HKR,,"InitialConfigValue",0x00010001,<your config value>

* Added support for querying device registry keys 
 (LIBUSB_IOCTL_GET_CUSTOM_REG_PROPERTY)

* Added support for querying device properties 
 (LIBUSB_IOCTL_GET_DEVICE_PROPERTY)

* Fixed possible race condition in kernel add_device()

* Updated default ddk build version number to 1.1.14.0 to facilitate
  Microsoft WHQL submission.

* Added DDK build distribution system.  Official libusb-win32 releases 
 (after 0.1.12.2) are built using Microsoft's WinDDK.  (see make.cmd)

* Fixed 2658937 (reported by Tim Roberts) The libusb-win32 driver always
  acts as a power policy owner.