[Spice-devel] [RFC PATCH 1/1] Add a usbredir kernel module to remotely connect USB devices over IP.

Jeremy White jwhite at codeweavers.com
Wed Jul 22 09:55:32 PDT 2015


On 07/22/2015 09:34 AM, Greg KH wrote:
> On Wed, Jul 22, 2015 at 09:03:53AM -0500, Jeremy White wrote:
>> On 07/09/2015 05:06 AM, Alex Elsayed wrote:
>>> Alan Stern wrote:
>>>
>>>> On Mon, 6 Jul 2015, Jeremy White wrote:
>>>>
>>>>> Anything else fundamental to usbip that should inform the design of a
>>>>> usbredir driver?  usbip appears to be based off a 2004 vintage of
>>>>> dummy_hcd.  I'll look thoughtfully at the current dummy_hcd; please let
>>>>> me know if there is anything else I should consider.
>>>>
>>>> One thing that springs to mind is USB-3 streams.  When dummy-hcd was
>>>> expanded to include USB-3, that was the major new ingredient.
>>>
>>> Another thing that comes to mind is that the USB-IF has its own official
>>> standard for this kind of thing now, called Media-Agnostic USB[1]. In
>>> November of 2014 a driver[2] was posted, followed by a second version[3],
>>> and it is apparently being refined inside Intel[4].
>>>
>>> [1]
>>> http://www.usb.org/developers/docs/devclass_docs/Media_Agnostic_USB_v1.0.zip
>>> [2] http://thread.gmane.org/gmane.linux.kernel/1820297
>>> [3] http://thread.gmane.org/gmane.linux.drivers.driver-project.devel/60498
>>> [4] http://article.gmane.org/gmane.linux.drivers.driver-project.devel/60757
>>
>> Thanks for the pointer, Alex.
>>
>> I spent some time with the spec and their proposed code.  It does seem
>> plausible that XSpice could use a mausb/usbredir protocol converter.  So if
>> there was a mausb kernel module, I could potentially implement support in
>> XSpice in user space and not need a usbredir module.
>>
>> I sent an email to the two developers at Intel to ask if there had been any
>> further progress and if I could collaborate with them. I have not heard
>> back.
>>
>> The MA spec is substantial and seems well thought out.  But the usbredir
>> protocol has the virtue of being relatively mature - it's 5 years old, with
>> code in daily use.
>>
>> At this point it seems the best path forward is to continue work on the
>> usbredir kernel module, which I will do unless I get some new information.
> 
> Please work with the existing people, or with the existing spec, I don't
> want to be adding multiple versions of this type of protocol to the
> kernel.  As it is, I really don't even want to take your code, given
> that usbip is already there.  Ignoring it isn't ok.

The usbredir spec predates MA-USB by 4 years; it has greater claim to
the title 'existing' than does MA-USB.  I recognize that does not make
it better, and I recognize the value of a spec from a standards body.
But I also respect community standards in production use.

And I did not and am not ignoring the MA-USB patch and spec.

I privately wrote to the Intel authors of that patch a week ago; I've
publicly included them in this thread as well.  As far as I can tell,
they've been silent on this front since November; I fear that they may
have moved on, or that Intel is not actively working on this.  None of
the Intel authors listed on the MA-USB specification are kernel
contributors, so I did not have a way to reach out to them.  If you have
the means to engage others, I would appreciate that.

With no other input, my analysis was that it is better to proceed with
the existing spec.  It has a body of useful code, active users and
developers, and I am certain it will solve my problem.

Also, as for usbip, I'll point out that the existence of MA-USB
corroborates Hans rationale for the need to supplant usbip.

As I said, I will respond to any new information I receive. It would be
great to have a kernel module developed (or at least approved) by
seasoned hands at Intel.

But how long should I wait?

Cheers,

Jeremy


More information about the Spice-devel mailing list