[Spice-devel] [PATCH v2 0/2] Support UsbDk backend

Kirill Moizik kirill at daynix.com
Tue Jun 9 05:53:00 PDT 2015


From: Kirill Moizik <kirillm at daynix.com>

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-4-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.4_x86.msi
2. 64 bit: http://www.spice-space.org/download/windows/usbdk/UsbDk_1.0.4_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 (dfleytma at redhat.com) and
Kirill Moizik (kmoizik at redhat.com) we'll be glad to answer your questions sent
to us directly or via this mailing list.

 This set of patches add UsbDk backend support to spice-gtk. This series currently cannot be applied since it require next patches series in libusb
http://marc.info/?l=libusb-devel&m=142532078226137&w=2 .
We are waiting for this patches to be commited to libusb soon and then this series can be applied.


V2 changeset :
-opaque usbdk wrapper
-use_usbclerk instead of use_usbdk
-use_usbclerk is DeviceManager member, not global variable
-all v1 suggestions were applied


Kirill Moizik (2):
  UsbDk: Add UsbDk wrapper
  UsbDk: Add UsbDk as a default backend

 src/Makefile.am          |   2 +
 src/usb-device-manager.c | 297 +++++++++++++++++++++++++++++++++--------------
 src/usbdk_api.c          | 166 ++++++++++++++++++++++++++
 src/usbdk_api.h          |  34 ++++++
 4 files changed, 410 insertions(+), 89 deletions(-)
 create mode 100644 src/usbdk_api.c
 create mode 100644 src/usbdk_api.h

-- 
2.1.0



More information about the Spice-devel mailing list