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.md 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, which is the side to which the actual USB device is attached.
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 usbredirect binary is an usbredir client for exporting an USB device either as TCP client or server, for use from another (virtual) machine through the usbredir protocol.
A small testclient for the usbredir protocol over tcp, using usbredirparser
The upstream git repository can be found at http://gitlab.freedesktop.org/spice/usbredir
Bug reports can be filed against the Spice/usbredir component: https://gitlab.freedesktop.org/spice/usbredir/issues
You can also send patches to the spice-devel mailing list: http://lists.freedesktop.org/mailman/listinfo/spice-devel