[Spice-devel] [PATCH v3 0/7] Support UsbDk backend

Kirill Moizik kirill at daynix.com
Mon Jun 15 02:57:12 PDT 2015


From: Kirill Moizik <kirillm at daynix.com>

sbDk (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.

s 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.


V3 changeset :
-use Christophe's split
-fix usbdk standalone mode (usb redirection widget gray out when usbclerk not installed)
-use match_all constant at rule parsing
-cosmetic fixes

Christophe Fergeau (5):
  Simplify spice_usb_device_equal_libdev()
  Simplify spice_usb_device_manager_device_to_libdev()
  Add SpiceUsbDeviceManager parameter to device comparison functions
  Add SpiceUsbDeviceManager::use_usbclerk
  UsbDk: Add UsbDk as a default backend

Kirill Moizik (2):
  UsbDk: Add UsbDk wrapper
  UsbDeviceManager: fix usbdk standalone mode

 src/Makefile.am          |   2 +
 src/usb-device-manager.c | 311 ++++++++++++++++++++++++++++++-----------------
 src/usbdk_api.c          | 163 +++++++++++++++++++++++++
 src/usbdk_api.h          |  34 ++++++
 4 files changed, 396 insertions(+), 114 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