All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] usb redirection status report
@ 2011-01-19 18:15 Hans de Goede
  2011-01-20 11:27 ` Christoph Hellwig
  0 siblings, 1 reply; 10+ messages in thread
From: Hans de Goede @ 2011-01-19 18:15 UTC (permalink / raw)
  To: spice-devel, qemu-devel

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Qemu-devel] usb redirection status report
  2011-01-19 18:15 [Qemu-devel] usb redirection status report Hans de Goede
@ 2011-01-20 11:27 ` Christoph Hellwig
  2011-01-20 18:50   ` Hans de Goede
  0 siblings, 1 reply; 10+ messages in thread
From: Christoph Hellwig @ 2011-01-20 11:27 UTC (permalink / raw)
  To: Hans de Goede; +Cc: spice-devel, qemu-devel

On Wed, Jan 19, 2011 at 07:15:47PM +0100, Hans de Goede wrote:
> 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.

How does this relate to the various existing usb over ip protocols, e.g.
the one in drivers/staging/usbip/ in the Linux kernel tree?

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Qemu-devel] usb redirection status report
  2011-01-20 11:27 ` Christoph Hellwig
@ 2011-01-20 18:50   ` Hans de Goede
  2011-01-20 20:11     ` [Spice-devel] " David Mansfield
  0 siblings, 1 reply; 10+ messages in thread
From: Hans de Goede @ 2011-01-20 18:50 UTC (permalink / raw)
  To: Christoph Hellwig; +Cc: spice-devel, qemu-devel

Hi,

On 01/20/2011 12:27 PM, Christoph Hellwig wrote:
> On Wed, Jan 19, 2011 at 07:15:47PM +0100, Hans de Goede wrote:
>> 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.
>
> How does this relate to the various existing usb over ip protocols, e.g.
> the one in drivers/staging/usbip/ in the Linux kernel tree?
>

See the previous discussion about this on the qemu-devel list, specifically:
http://lists.gnu.org/archive/html/qemu-devel/2010-12/msg00008.html

Regards,

Hans

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Spice-devel] [Qemu-devel] usb redirection status report
  2011-01-20 18:50   ` Hans de Goede
@ 2011-01-20 20:11     ` David Mansfield
  2011-01-21 13:23       ` Hans de Goede
  0 siblings, 1 reply; 10+ messages in thread
From: David Mansfield @ 2011-01-20 20:11 UTC (permalink / raw)
  To: Hans de Goede; +Cc: spice-devel, Christoph Hellwig, qemu-devel

> H
> i,
> 
> On 01/20/2011 12:27 PM, Christoph Hellwig wrote:
> > On Wed, Jan 19, 2011 at 07:15:47PM +0100, Hans de Goede wrote:
> >> 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.
> >

As another late-comer, hate to ask a possibly old question but will this
added protocol allow usb devices from arbitrary "remote" hosts to be
redirected or only from the host running the spice client?

I recently tried to use the native qemu usb functionality to
pass-through a webcam and fell flat on my face due to what others
described as "timing issues", and was wondering if it would be possible
to pass a USB device plugged in to the vm-host to the vm-guest using
your new functionality, even though a third (and unrelated) host is
running the spice client.

I guess this is moot if the new approach will not fix the aforementioned
"timing issues" (i.e. perhaps it is not possible in a general case to
drive an arbitrary USB device non-locally).

Thanks,
David 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Spice-devel] [Qemu-devel] usb redirection status report
  2011-01-20 20:11     ` [Spice-devel] " David Mansfield
@ 2011-01-21 13:23       ` Hans de Goede
  2011-01-21 13:28         ` Alexander Graf
  0 siblings, 1 reply; 10+ messages in thread
From: Hans de Goede @ 2011-01-21 13:23 UTC (permalink / raw)
  To: David Mansfield; +Cc: spice-devel, Christoph Hellwig, qemu-devel

Hi,

On 01/20/2011 09:11 PM, David Mansfield wrote:
>> H
>> i,
>>
>> On 01/20/2011 12:27 PM, Christoph Hellwig wrote:
>>> On Wed, Jan 19, 2011 at 07:15:47PM +0100, Hans de Goede wrote:
>>>> 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.
>>>
>
> As another late-comer, hate to ask a possibly old question but will this
> added protocol allow usb devices from arbitrary "remote" hosts to be
> redirected or only from the host running the spice client?
>

Yes, the protocol is transport independent and there will be a standalone
usb-host implementation (an tcp/ip server daemon running a machine wishing
to "share" a usb device).

> I recently tried to use the native qemu usb functionality to
> pass-through a webcam and fell flat on my face due to what others
> described as "timing issues", and was wondering if it would be possible
> to pass a USB device plugged in to the vm-host to the vm-guest using
> your new functionality, even though a third (and unrelated) host is
> running the spice client.

For vm-host to vm-guest pass through it is best to use the existing
pass through support. I'm aware of the timing issues there, and I started
with fixing those before even thinking about doing usb redirection over
the network, see:
http://lists.gnu.org/archive/html/qemu-devel/2010-11/msg02527.html

For the first patch of my patch set fixing the timing issues for local
usb redirection. Tested with multiple webcams (usb iso mode input devices)
and a set of usb speakers (usb iso mode output device).

Unfortunately there has been little response to this patch set, so I've
no idea when it will get merged.

(this seems to be the story with a lot of qemu patch sets here on the list,
like Gerd's usb descriptor rehandling patches, maybe we need to review how
qemu's patch merging processes work?)

Regards,

Hans

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Spice-devel] [Qemu-devel] usb redirection status report
  2011-01-21 13:23       ` Hans de Goede
@ 2011-01-21 13:28         ` Alexander Graf
  2011-01-21 13:33           ` Gerd Hoffmann
  0 siblings, 1 reply; 10+ messages in thread
From: Alexander Graf @ 2011-01-21 13:28 UTC (permalink / raw)
  To: Hans de Goede; +Cc: qemu-devel, David Mansfield, Christoph Hellwig, spice-devel


On 21.01.2011, at 14:23, Hans de Goede wrote:

> Hi,
> 
> On 01/20/2011 09:11 PM, David Mansfield wrote:
>>> H
>>> i,
>>> 
>>> On 01/20/2011 12:27 PM, Christoph Hellwig wrote:
>>>> On Wed, Jan 19, 2011 at 07:15:47PM +0100, Hans de Goede wrote:
>>>>> 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.
>>>> 
>> 
>> As another late-comer, hate to ask a possibly old question but will this
>> added protocol allow usb devices from arbitrary "remote" hosts to be
>> redirected or only from the host running the spice client?
>> 
> 
> Yes, the protocol is transport independent and there will be a standalone
> usb-host implementation (an tcp/ip server daemon running a machine wishing
> to "share" a usb device).
> 
>> I recently tried to use the native qemu usb functionality to
>> pass-through a webcam and fell flat on my face due to what others
>> described as "timing issues", and was wondering if it would be possible
>> to pass a USB device plugged in to the vm-host to the vm-guest using
>> your new functionality, even though a third (and unrelated) host is
>> running the spice client.
> 
> For vm-host to vm-guest pass through it is best to use the existing
> pass through support. I'm aware of the timing issues there, and I started
> with fixing those before even thinking about doing usb redirection over
> the network, see:
> http://lists.gnu.org/archive/html/qemu-devel/2010-11/msg02527.html
> 
> For the first patch of my patch set fixing the timing issues for local
> usb redirection. Tested with multiple webcams (usb iso mode input devices)
> and a set of usb speakers (usb iso mode output device).
> 
> Unfortunately there has been little response to this patch set, so I've
> no idea when it will get merged.
> 
> (this seems to be the story with a lot of qemu patch sets here on the list,
> like Gerd's usb descriptor rehandling patches, maybe we need to review how
> qemu's patch merging processes work?)

IIUC the main problem is that we have no active usb maintainer and Anthony wants people to volunteer themselves instead of just assigning them to be one :).


Alex

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Spice-devel] [Qemu-devel] usb redirection status report
  2011-01-21 13:28         ` Alexander Graf
@ 2011-01-21 13:33           ` Gerd Hoffmann
  2011-01-21 13:41             ` Alexander Graf
  0 siblings, 1 reply; 10+ messages in thread
From: Gerd Hoffmann @ 2011-01-21 13:33 UTC (permalink / raw)
  To: Alexander Graf; +Cc: spice-devel, Hans de Goede, qemu-devel, Christoph Hellwig

   Hi,

>> Unfortunately there has been little response to this patch set, so
>> I've no idea when it will get merged.
>>
>> (this seems to be the story with a lot of qemu patch sets here on
>> the list, like Gerd's usb descriptor rehandling patches, maybe we
>> need to review how qemu's patch merging processes work?)
>
> IIUC the main problem is that we have no active usb maintainer and
> Anthony wants people to volunteer themselves instead of just
> assigning them to be one :).

http://cgit.freedesktop.org/spice/qemu/commit/?h=usb.4&id=5d0d62feee8aa75525207ef24919c0522651a432

cheers,
   Gerd

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Spice-devel] [Qemu-devel] usb redirection status report
  2011-01-21 13:33           ` Gerd Hoffmann
@ 2011-01-21 13:41             ` Alexander Graf
  2011-01-21 14:33               ` Gerd Hoffmann
  0 siblings, 1 reply; 10+ messages in thread
From: Alexander Graf @ 2011-01-21 13:41 UTC (permalink / raw)
  To: Gerd Hoffmann; +Cc: spice-devel, Hans de Goede, qemu-devel, Christoph Hellwig


On 21.01.2011, at 14:33, Gerd Hoffmann wrote:

>  Hi,
> 
>>> Unfortunately there has been little response to this patch set, so
>>> I've no idea when it will get merged.
>>> 
>>> (this seems to be the story with a lot of qemu patch sets here on
>>> the list, like Gerd's usb descriptor rehandling patches, maybe we
>>> need to review how qemu's patch merging processes work?)
>> 
>> IIUC the main problem is that we have no active usb maintainer and
>> Anthony wants people to volunteer themselves instead of just
>> assigning them to be one :).
> 
> http://cgit.freedesktop.org/spice/qemu/commit/?h=usb.4&id=5d0d62feee8aa75525207ef24919c0522651a432

Thanks for stepping up :). Since you volunteered, I guess it's your role to review those patches then, despite that maintainers commit not being upstream yet.


Alex

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Spice-devel] [Qemu-devel] usb redirection status report
  2011-01-21 13:41             ` Alexander Graf
@ 2011-01-21 14:33               ` Gerd Hoffmann
  2011-01-21 15:01                 ` Alexander Graf
  0 siblings, 1 reply; 10+ messages in thread
From: Gerd Hoffmann @ 2011-01-21 14:33 UTC (permalink / raw)
  To: Alexander Graf; +Cc: spice-devel, Hans de Goede, qemu-devel, Christoph Hellwig

On 01/21/11 14:41, Alexander Graf wrote:
>
> On 21.01.2011, at 14:33, Gerd Hoffmann wrote:
>
>> Hi,
>>
>>>> Unfortunately there has been little response to this patch set,
>>>> so I've no idea when it will get merged.
>>>>
>>>> (this seems to be the story with a lot of qemu patch sets here
>>>> on the list, like Gerd's usb descriptor rehandling patches,
>>>> maybe we need to review how qemu's patch merging processes
>>>> work?)
>>>
>>> IIUC the main problem is that we have no active usb maintainer
>>> and Anthony wants people to volunteer themselves instead of just
>>> assigning them to be one :).
>>
>> http://cgit.freedesktop.org/spice/qemu/commit/?h=usb.4&id=5d0d62feee8aa75525207ef24919c0522651a432
>
>>
> Thanks for stepping up :). Since you volunteered, I guess it's your
> role to review those patches then, despite that maintainers commit
> not being upstream yet.

They are sitting in my inbox, waiting for the usb patch queue being 
merged+flushed.  I can't stack up stuff endlessly, the patch queue is 
quite big as-is already ...

cheers,
   Gerd

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Spice-devel] [Qemu-devel] usb redirection status report
  2011-01-21 14:33               ` Gerd Hoffmann
@ 2011-01-21 15:01                 ` Alexander Graf
  0 siblings, 0 replies; 10+ messages in thread
From: Alexander Graf @ 2011-01-21 15:01 UTC (permalink / raw)
  To: Gerd Hoffmann; +Cc: spice-devel, Hans de Goede, qemu-devel, Christoph Hellwig


On 21.01.2011, at 15:33, Gerd Hoffmann wrote:

> On 01/21/11 14:41, Alexander Graf wrote:
>> 
>> On 21.01.2011, at 14:33, Gerd Hoffmann wrote:
>> 
>>> Hi,
>>> 
>>>>> Unfortunately there has been little response to this patch set,
>>>>> so I've no idea when it will get merged.
>>>>> 
>>>>> (this seems to be the story with a lot of qemu patch sets here
>>>>> on the list, like Gerd's usb descriptor rehandling patches,
>>>>> maybe we need to review how qemu's patch merging processes
>>>>> work?)
>>>> 
>>>> IIUC the main problem is that we have no active usb maintainer
>>>> and Anthony wants people to volunteer themselves instead of just
>>>> assigning them to be one :).
>>> 
>>> http://cgit.freedesktop.org/spice/qemu/commit/?h=usb.4&id=5d0d62feee8aa75525207ef24919c0522651a432
>> 
>>> 
>> Thanks for stepping up :). Since you volunteered, I guess it's your
>> role to review those patches then, despite that maintainers commit
>> not being upstream yet.
> 
> They are sitting in my inbox, waiting for the usb patch queue being merged+flushed.  I can't stack up stuff endlessly, the patch queue is quite big as-is already ...

Sounds like a good topic for the community call maybe? There's got to be a reason Anthony hasn't pulled yet.


Alex

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2011-01-21 15:01 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-01-19 18:15 [Qemu-devel] usb redirection status report Hans de Goede
2011-01-20 11:27 ` Christoph Hellwig
2011-01-20 18:50   ` Hans de Goede
2011-01-20 20:11     ` [Spice-devel] " David Mansfield
2011-01-21 13:23       ` Hans de Goede
2011-01-21 13:28         ` Alexander Graf
2011-01-21 13:33           ` Gerd Hoffmann
2011-01-21 13:41             ` Alexander Graf
2011-01-21 14:33               ` Gerd Hoffmann
2011-01-21 15:01                 ` Alexander Graf

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.