[Spice-devel] usb redirection status report
Hans de Goede
hdegoede at redhat.com
Wed Jan 19 10:15:47 PST 2011
As most of you know I'm working on usb redirection (making client usb devices
accessible in guests over the network).
I thought it would be a good idea to write a short status report.
So fat the following has been done:
* written and posted a network protocol for usb redir. over the network,
and send this to the list.
* a 2nd revison is ready incorporating all comments from the mailinglist
discussion. I'll post this to the list soon.
* looked at using some pre-existing marshalling / demarshalling solution,
specifically looked at google's protocol buffers. Not an option as this
uses c++. There is a third party C version of protocol buffers, but this
cannot deal with streaming input, making it not usable for usb redirection.
* Designed an API for a transport independent, marshaller / demarshaller
for the protocol.
* Implemented a roll my own marshaller / demarshaller
for the protocol.
* Designed an API for a (transport indepenent) usb-host object/library
which can be incorporated into spice-client, or a vnc client, etc.
To easily add usb host capabilities to client-applications.
* Implemented a skeleton version of the usb-host (still need to implement
most usb redir commands).
* Wrote a standalone usb-host application using standard tcp/ip[v4|v6] as
transport, as proof of concept / for testing purposes: usbredirserver
* Finish usb-host library
* Write a test client (usb-guest) for testing
* Implement a transport independent qemu usb-host talking the usb
* Hook up a monitor command to hookup the qemu usb-redir-host connect to a
* Test / debug / test
* Integrate with Spice (use a spice channel as transport)
* Integrate with vnc?
More information about the Spice-devel