[Spice-devel] [PATCH 0/5] RFC: Support UsbDk backend

Kirill Moizik kirill at daynix.com
Thu May 28 03:23:59 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.

Dmitry Fleytman (3):
  build: add build option for non-winusb redirection backends
  usbdk: Add UsbDk hider interface wrapper
  usb-device-manager: Configure UsbDk hiding rules on auto-redirection

Pavel Gurvich (2):
  windows: fix device matching for non-WinUSB configurations
  usbdk: make backend selection dynamic

 configure.ac                 |  12 ++
 gtk/Makefile.am              |  13 +-
 gtk/UsbDk/UsbDkDataHider.h   |  35 ++++
 gtk/UsbDk/UsbDkHelperHider.h | 105 +++++++++++
 gtk/usb-device-manager.c     | 415 +++++++++++++++++++++++++++++++++----------
 gtk/usbdk_api.c              |  77 ++++++++
 gtk/usbdk_api.h              |  42 +++++
 7 files changed, 606 insertions(+), 93 deletions(-)
 create mode 100644 gtk/UsbDk/UsbDkDataHider.h
 create mode 100644 gtk/UsbDk/UsbDkHelperHider.h
 create mode 100644 gtk/usbdk_api.c
 create mode 100644 gtk/usbdk_api.h

-- 
2.1.0



More information about the Spice-devel mailing list