Blob Blame History Raw
usbredir README

usbredir is a protocol for redirection USB traffic from a single USB device,
to a different (virtual) machine then the one to which the USB device is
attached. See usb-redirection-protocol.txt for the description / definition
of this protocol.

This package contains a number of libraries to help implementing support
for usbredir and a few simple usbredir applications:

A library containing the parser for the usbredir protocol

A library implementing the usb-host (*) side of a usbredir connection.
All that an application wishing to implement an usb-host needs to do is:
* Provide a libusb device handle for the device
* Provide write and read callbacks for the actual transport of usbredir data
* Monitor for usbredir and libusb read/write events and call their handlers

*) The side to which the actual USB device is attached, also see the
definitions section in usb-redirection-protocol.txt

A simple tcp server usb-host, using usbredirhost

A small testclient for the usbredir protocol over tcp, using usbredirparser

The upstream git repository can be found at

Bug reports can be filed against the Spice/usbredir component:

You can also send patches to the spice-devel mailing list:

Last updated 03 August 2018, by Victor Toso <>