Skip to content

RFC RFC - Implement a usbredir kernel module

Jeremy White lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 RFC Latest1 patch 32 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/1Add a usbredir kernel module to remotely connect USB devices over IP.MAINTAINERS drivers/usb/Kconfig drivers/usb/Makefile +21 more+5459 -032 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [RFC PATCH 0/1] RFC - Implement a usbredir kernel module

The following patch proposes a new kernel module to provide an alternate protocol for transporting USB devices over a TCP/IP connection.

This flows from a few conversations on the Spice devel mailing list.[1][2]

I am relying heavily on the opinion of Hans de Goede, who believes that the usbredir protocol is superior to that used by the existing usbip kernel module[3].

The basic approach in this module is the same as usbip (virtual hcd driver) but it attempts to support a configurable number of devices and hubs, rather than just one hub and the limit of 8 devices.

This version of the code should be sufficient to review my general approach, but it is known to be incomplete. I have successfully mounted and operated a thumb drive across the interface.

Hopefully it is enough to warrant advice and comments; feedback is greatly appreciated.

Anyone wishing to test this will also need a related set of usbredir patches, recently sent to the spice-devel mailing list.[4]

Roughly half of the code (all of the code that fails checkpatch <grin>) was copied, essentially unchanged, from the usbredir project. I felt that diffability was more important than checkpatch; I stand ready to be corrected.

After review, I plan to build a fairly extensive set of unit tests (see the new usbredirtestserver in [3]), and would hope to submit a complete module later in the summer.

Cheers,

Jeremy

[1] http://lists.freedesktop.org/archives/spice-devel/2014-August/017145.html
[2] http://lists.freedesktop.org/archives/spice-devel/2015-April/019451.html
[3] http://lists.freedesktop.org/archives/spice-devel/2014-August/017174.html
[4] http://lists.freedesktop.org/archives/spice-devel/2015-June/020595.html