From: Chris D. <chr...@gm...> - 2015-12-17 09:23:38
|
Hi Dmitry, Just wanted to let you know that I am actively reviewing this latest series as time allows. I think we'll need one final revision and we'll be ready to go. I'll provide final comments in the coming days. As soon as this is integrated I would like to get the process started on a 1.0.21 release. Thanks again for your work on this! Regards, Chris On Sun, Dec 6, 2015 at 7:11 AM, Dmitry Fleytman <dm...@da...> wrote: > Hello libusb-devel, > > Following is the next version of UsbDk backend patches. > The same patches are also available at https://github.com/dmitryfleytman/libusb/tree/usbdk-backend-v5 > > Thanks, > Dmitry > > ===================================================================================== > Changes since v4: > > 1. Rebased to the latest master > 2. Patch set reorganised, some functions renamed as suggested by Chris > > Changes since v3: > > 1. Added processing of USBD errors supplied by UsbDk > > Changes since v2: > > 1. UsbDk clear_halt callback implementation fixed > > Changes since v1: > > 1. Project files for Visual Studio 2013 added > 2. DDK/WDK build files updated to support builds with UsbDk backend > 3. File names changed as agreed (windows_usb.* -> windows_winusb.*) > 4. Function names in windows_nt_common.c changed as areed ("nt" dropped) > 5. UsbDk headers merged as agreed, no subfolder, one file only (windows_usbdk.h) > 6. Build tested and fixed for different MinGW versions > > Adding dynamic backend selection for UsbDk/libusb*/WinUsb configuration turned out > to be too tricky for a number of reasons, so we would like to postpone this feature > for now and return to it later along with support for attach/detach mode. > > We will also release a new usbDk version in a few days with support for persistent > hide rules feature as suggested on this list before. > > ===================================================================================== > > This series contains patches that extend Windows backend to support UsbDk. > Switch between UsbDk and WinUSB/LibusbK/Libusb0 is done at compile time > with --enable-usbdk configuration option (off by default). > > UsbDk (USB Development Kit) is a set of software components meant to provide > Windows user mode applications with direct and exclusive access to USB devices. > > Some distinctive UsbDk properties are: > > 1. UsbDk supports all types of devices and interfaces - bulk, isochronous, > composite, HID etc. > 2. Device capture process is totally dynamic, i.e. no inf files and > self-signing needed, any device can be captured. > 3. UsbDk co-exists with original device driver, when the device is not > captured original driver is loaded by the system automatically. > 4. If user mode client terminates unexpectedly for any reason system reverts > to original device driver immediately. > 5. Being USB filter driver UsbDk doesn't require WHQL-ing > as per Microsoft requirements. > > UsbDk supports all Windows OS versions staring from Windows XP, > i.e. XP/Vista/7/8/8.1/2003/2008/2008R2/2012/2012R2. > Both 32 and 64 bit architectures are supported. > > UsbDk is fully open source and distributed under Apache 2.0 license. > > UsbDk project is hosted at spice-space.org, source code repository available at: > http://cgit.freedesktop.org/spice/win32/usbdk > > Latest source tarball is at: http://www.spice-space.org/download/windows/usbdk/spice-usbdk-win-1.0-2-sources.zip > > UsbDk releases come with precompiled and signed by Red Hat binaries: > 1. 32 bit: http://www.spice-space.org/download/windows/usbdk/UsbDk_1.0.8_x86.msi > 2. 64 bit: http://www.spice-space.org/download/windows/usbdk/UsbDk_1.0.8_x64.msi > > UsbDk documentation: > 1. Short presentation: http://www.spice-space.org/docs/usbdk/UsbDk_at_a_Glance.pdf > 2. SDM: http://www.spice-space.org/docs/usbdk/UsbDk_Software_Development_Manual.pdf > 3. UsbDk architecture specificatin (part of source tree): > http://cgit.freedesktop.org/spice/win32/usbdk/tree/ARCHITECTURE > > UsbDk is maintained by Dmitry Fleytman (dm...@da...). > I'll be glad to answer your questions sent to me directly or via this mailing list. > > What do you think about this series? > We will be glad to have it accepted into libusb upstream. > > Best Regards, > Dmitry > > Dmitry Fleytman (4): > windows: Move common definitions to a separate file > windows: Rename windows_usb.h/c windows_winusb.h/c > usbdk: Introduce usbdk backend > build: Integrate usbdk backend > > configure.ac | 9 + > libusb/Makefile.am | 16 +- > libusb/core.c | 6 + > libusb/libusbi.h | 1 + > libusb/os/windows_nt_common.c | 581 ++++ > libusb/os/windows_nt_common.h | 73 + > libusb/os/windows_usb.c | 4645 ------------------------------- > libusb/os/windows_usb.h | 973 ------- > libusb/os/windows_usbdk.c | 958 +++++++ > libusb/os/windows_usbdk.h | 126 + > libusb/os/windows_winusb.c | 4149 +++++++++++++++++++++++++++ > libusb/os/windows_winusb.h | 947 +++++++ > msvc/ddk_build.cmd | 9 + > msvc/libusb_2013.sln | 20 + > msvc/libusb_dll.dsp | 4 +- > msvc/libusb_dll_2005.vcproj | 4 +- > msvc/libusb_dll_2010.vcxproj | 4 +- > msvc/libusb_dll_2010.vcxproj.filters | 4 +- > msvc/libusb_dll_2012.vcxproj | 4 +- > msvc/libusb_dll_2012.vcxproj.filters | 4 +- > msvc/libusb_dll_2013.vcxproj | 6 +- > msvc/libusb_sources | 10 +- > msvc/libusb_static.dsp | 4 +- > msvc/libusb_static_2005.vcproj | 4 +- > msvc/libusb_static_2010.vcxproj | 4 +- > msvc/libusb_static_2010.vcxproj.filters | 4 +- > msvc/libusb_static_2012.vcxproj | 4 +- > msvc/libusb_static_2012.vcxproj.filters | 4 +- > msvc/libusb_static_2013.vcxproj | 6 +- > msvc/libusb_usbdk_dll_2013.vcxproj | 178 ++ > msvc/libusb_usbdk_static_2013.vcxproj | 162 ++ > 31 files changed, 7271 insertions(+), 5652 deletions(-) > create mode 100644 libusb/os/windows_nt_common.c > create mode 100644 libusb/os/windows_nt_common.h > delete mode 100644 libusb/os/windows_usb.c > delete mode 100644 libusb/os/windows_usb.h > create mode 100644 libusb/os/windows_usbdk.c > create mode 100644 libusb/os/windows_usbdk.h > create mode 100644 libusb/os/windows_winusb.c > create mode 100644 libusb/os/windows_winusb.h > create mode 100644 msvc/libusb_usbdk_dll_2013.vcxproj > create mode 100644 msvc/libusb_usbdk_static_2013.vcxproj > > -- > 2.4.3 > |