Using a remote host’s USB port as local USB (Linux and Windows)
There is an open source project called usbip that provides functionality to share and/or mount a remote USB device over an IP network (LAN/Internet).
There are also at least three commercial products that provide this functionality with better documentation and UI. I’ve included links to the commercial products at the end of this reply.
From the usbip web page:
To share USB devices between computers with their full functionality, USB/IP encapsulates “USB I/O messages” into TCP/IP payloads and transmits them between computers. Original USB device drivers and applications can be also used for remote USB devices without any modification of them. A computer can use remote USB devices as if they were directly attached
The usbip server process runs on Linux systems and clients are available for Linux and Windows – the project has apparently been around since 2005, and they’ve had a signed Windows client driver since 2011. In theory, depending on the repositories configured on your Raspberry Pi, you should be able to execute sudo aptitude install usbip
to install the server-side drivers and application.
Note that if you use Ubuntu 14.10 (Utopic Unicorn) or newer, you do not need to install the usbip
package: the usbip tools are part of the linux-tools-generic
package, and the binaries are already available in /usr/lib/linux-tools-KERNEL-VERSION/.
A walkthrough tutorial on how to install and use usbip is available at HowToForge:
The Windows client has advanced since the HowToForge tutorial and has a little more interface now instead of just a command-line tool.
Commercial USB-over-IP tools:
Fabula-Tech USB-over-Network – runs on Windows & Linux – trial available:
Eltima Software USB Network Gate – runs on Windows, Mac OS X, & Linux – trial available:
Incentives Pro/SimplyCore LLC USB Redirector – runs on Windows & Linux – apparently free for Linux server and a free Windows client is available: