From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=40882 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PfcWg-0000yp-Es for qemu-devel@nongnu.org; Wed, 19 Jan 2011 13:12:59 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PfcWf-0000tp-A1 for qemu-devel@nongnu.org; Wed, 19 Jan 2011 13:12:58 -0500 Received: from mx1.redhat.com ([209.132.183.28]:32065) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PfcWe-0000tG-Ve for qemu-devel@nongnu.org; Wed, 19 Jan 2011 13:12:57 -0500 Message-ID: <4D372A53.4070609@redhat.com> Date: Wed, 19 Jan 2011 19:15:47 +0100 From: Hans de Goede MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] usb redirection status report List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: spice-devel@lists.freedesktop.org, qemu-devel@nongnu.org Hi All, 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 To Do: * Finish usb-host library * Write a test client (usb-guest) for testing * Implement a transport independent qemu usb-host talking the usb redir protocol. * Hook up a monitor command to hookup the qemu usb-redir-host connect to a usbredirserver * Test / debug / test * Integrate with Spice (use a spice channel as transport) * Integrate with vnc? Regards, Hans