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 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html