Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Using a remote host's USB port as local USB (Linux and Windows) [closed]

I have a USB device that reads data from a system and transfers them to the computer. I am wondering if it's possible to have a Linux single board PC (i.e. Raspberry Pi) to run a script and be a remote-server for my USB device and I can connect to that "remote-server"(Linux) through SSH or FTP or another protocol (over the Internet) and mount that USB port to my computer. Any software would do it, you know how terminal service connects the remote resources, and I need the same, but preferably on a Linux board.

My system is Windows 7, so I need to mount that remote-USB as a "local port" so the software thinks it's communicating locally, and it'll find the reader.

like image 390
Caspian Avatar asked Sep 16 '13 21:09

Caspian


People also ask

Can you use USB ports with remote desktop?

When dealing with Remote Desktop sessions, you can control access to connected peripheral USB devices by isolating the device. You can grant access to the device using Per-session isolation. This means that a user can freely access the device as long as the RDP session is active.

Does WSL have USB passthrough?

Install the USBIPD-WIN projectSupport for connecting USB devices is not natively available in WSL, so you will need to install the open-source usbipd-win project.

Does VirtualBox have USB passthrough?

The software tool also allows you to set up VirtualBox USB passthrough to access from your VMs all the printers, webcams, dongles, and other USB devices connected not only to your host machine but to all networked computers via Ethernet, LAN, or the Internet no matter the physical distance.


1 Answers

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:

  • http://usbip.sourceforge.net

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:

  • How to modify your GNU/Linux box to serve as a USB-over-IP server

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:

  • USB over Network

Eltima Software USB Network Gate - runs on Windows, Mac OS X, & Linux - trial available:

  • USB Network Gate Share USB over Ethernet for Windows

Incentives Pro/SimplyCore LLC USB Redirector - runs on Windows & Linux - apparently free for Linux server and a free Windows client is available:

  • USB Redirector for Linux - Share USB devices over the network on Linux
like image 150
MKartha Avatar answered Oct 05 '22 12:10

MKartha