From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Ha1og-0000rm-VJ for qemu-devel@nongnu.org; Fri, 06 Apr 2007 23:42:19 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Ha1of-0000rK-9a for qemu-devel@nongnu.org; Fri, 06 Apr 2007 23:42:18 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Ha1of-0000rH-6p for qemu-devel@nongnu.org; Fri, 06 Apr 2007 23:42:17 -0400 Received: from wx-out-0506.google.com ([66.249.82.225]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Ha1l6-0003dm-Dv for qemu-devel@nongnu.org; Fri, 06 Apr 2007 23:38:36 -0400 Received: by wx-out-0506.google.com with SMTP id i30so1834060wxd for ; Fri, 06 Apr 2007 20:38:36 -0700 (PDT) Message-ID: <46171239.6090608@codemonkey.ws> Date: Fri, 06 Apr 2007 22:38:33 -0500 From: Anthony Liguori MIME-Version: 1.0 Subject: Re: [Qemu-devel] Feature proposal: USB devices over TCP References: <83a4d4ca0704061811ka631da0ufad5af1a63ba19c2@mail.gmail.com> In-Reply-To: <83a4d4ca0704061811ka631da0ufad5af1a63ba19c2@mail.gmail.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Eduardo Felipe wrote: > Hi everybody, > > I think that a useful feature for QEMU would be to expose the USB > interface through TCP. Hi Eduardo, I don't know all that much about USB, but I think the most useful way to do this would be to do something that's protocol compatible with USBIP. We could then tunnel this traffic over VNC and allow for exposing local USB devices to a remote VM. Think of a virtual desktop being hosted on a server and exposed on a thin client. If you could plug in your iPod and it would just work with the VM, that would be an exceedingly cool feature. Are you familiar with USBIP? If so, does this sound reasonable? Regards, Anthony Liguori > It would allow quick USB device development in high level languages > without recompiling QEMU. We could have an instance of QEMU running > all the time while we create our device and hot plug/unplug it > whenever we want to. > > This could also attract people interested in hardware emulation, but > scared of learning QEMU internals just to create a simple new device. > > I think USB is quite suited for this, as it is designed for pluggable > external devices, but something similar could be made for serial and > parallel devices too. > > The attached patch is a quick hack derived from the VNC server just to > show the idea, not intended for commiting. A dummy protocol is used > for message interchange between server and client. > > It adds the new command line option: > -usbtcp port > It starts a socket listening on port for incoming connections. A > sample USB mouse in python is also provided that moves the cursor in > circles. > > Would such a feature be of any interest for QEMU? > > Regards, > Eduardo Felipe