Linux USB Server

The VirtualHere USB Server shares USB devices over the network. The server runs entirely in userspace, therefore it is inherently more stable than kernel based solutions. VirtualHere was the first company to create this entirely userspace USB server. No compilation or kernel modules are required, and now VirtualHere has innovated again! The server is entirely statically complied, no linux run-time libraries are required at all on the server! The server can be run as a console only daemon, for easy integration into run-level scripts. Diagnostic messages are output to syslog.

VirtualHere is perfect for OEM integration because:

  • Bring your own device - turn any linux based device into a USB Server! E.g raspberry pi, pi2, desktop, router, switch, android phone, blade server or your custom pcb! You choose the most cost effective and suitable hardware for your use.
  • The server is entirely userspace - this is much more stable and easy to update than kernel based solutions. Running in userspace means that any server problems do not crash the entire server device.
  • The server is entirely self-contained, and will run on any version of the Linux Kernel (including Android), and on any architecture! This makes OEM deployment trival, nothing else is required on the server device besides the basic linux kernel.
  • All settings are stored in a simple text file auto-generated with sensible defaults - no complicated registry settings
  • Very competitive per unit cost
  • Active product development and frequent fixes/improvements/updates
  • Server can share up to 122 devices up to 5 hubs deep
  • Allows fine-grained authentication using simple bash scripting. Easily create or connect to your existing authentication backend
  • Supports Secure Sockets Layer (SSL) for better protection from eavesdroppers when sharing over the Internet
  • Easily work around device quirks though simple scripting
  • Uses the open Bonjour protocol to broadcast its services on the network, this allows clients to auto-find servers
  • All USB communications take place on a single TCP port (7575) making it very easy to setup firewall and remote access
  • The client can run as a service and is controllable via an easy to use API that anyone can use
  • The client is a single executable file with no dependencies and can be run immediately with no pre installation required
  • Runs on Android without root!

Installation is simple, figure out the architecture of your server device (for example x86_64), then on the linux server device:

  1. wget (e.g x86_64, see list below)
  2. chmod +x ./vhusbdx86_64 (to make that file executable)
  3. sudo ./vhusbdx86_64 -b (to run it in the background)
  4. Plug USB devices to share into your server and run the Client on the remote machines

See FAQ here

VirtualHere will run on any edition of linux including Scientific Linux, Ubuntu, CentOS, RedHat, OpenSuse, Angstrom, Android, Raspbian, Debian, OpenWRT....

The trial version of the server will allow you to share 1 device without time restrictions. To share more devices or resell VirtualHere on your own device, please purchase a license

Version 2.3.9 (Changes)

The server is also available on Google Play for Android or directly from here

Dont forget to download the client

Virtualhere Server can be compiled for other platforms, contact