FlexiHub Team uses cookies to personalize your experience on our website. By continuing to use this site, you agree to our cookie policy. Click here to learn more.

How to Extend USB Through Ethernet for Free

Olga Weis Olga Weis Last updated Sep 22, 2021

Remote working is so popular these days that a tool that can ensure safe and reliable access to remote USB devices quickly becomes a must-have.

It may seem that all practical USB over Ethernet sharing solutions are rather expensive or involve buying a pricey hardware adapter, but some USB redirector apps won’t punch a hole in your budget.

From this article, you’ll find out about two of the most popular apps you can use as a free software USB redirector to extend dongle keys, printers, and other devices plugged into your local USB ports to remote computers via RDP.

USB over Ethernet free

FlexiHub: the ace tool for USB device sharing

FlexiHub is a professional-grade service that will help you access all types of remote USB devices over Ethernet across all distances. It’s more reliable than any physical cabling and hundred-percent secure. This is perfect for redirecting your license USB dongle keys and security cameras.

Technically, this app is not freeware, yet they offer a month-long free trial period with a handful of full-fledged remote access sessions. Use those to turn one of your computers into a powerful USB server, or share a USB hub so that all USB devices attached to it instantly become accessible from any networked PC — it’s totally up to you.

Here’s why FlexiHub is a top choice when it comes to sharing USB devices via network:

✔ 2048-bit SSL encryption makes sure no data from your security cameras, license dongle keys, or storage peripherals will ever get to an unauthorized user.

✔ Instant savings on physical USB adapter, USB extender cable, and miles upon miles of CAT6 LAN wire.

✔ One universal solution for all operating systems and USB peripherals, including isochronous devices like scanners and web cameras.

✔ Zero-loss data transfer thanks to the "Keep connection active" feature.

✔ Login tokens for the safest account sharing ever.

✔ High-speed communication even if you don’t have 100 Mbps FastEthernet.

✔ There’s no need to install any device drivers on client machines.

✔ You can share serial devices too, e.g., your industrial printer units.

To get your free demo sessions, sign up for your account, then download and install the app both on the machine directly connected to the peripherals you want to share (it is going to be your USB server) and all the machines that need access to said devices. After that, you’ll be able to share all USB devices plugged into your servers’ ports and connect to the remote devices shared from other PCs in a couple of mouse clicks.

Using USB/IP Project as a free USB extension tool

USB/IP Project is an open-source Ethernet-USB solution that encapsulates all the data incoming and outgoing from a USB port into TCP/IP payloads and transfers those from one machine to another. This can totally work for those not scared away by its trickish configuration process and certain limitations it has in terms of operating systems and USB device type and brand.

Some important points you need to consider before you opt for a USB/IP project:

✖ The server-side machine must be a Linux one. No exceptions.

✖ They do have a Windows client, but nothing for other popular platforms like Mac or Android.

✖ Due to the lack of data protection, it’s unsafe to use for license USB dongles or any sensitive data containing storage devices.

✖ There is no way for a keyboard or mouse redirection without the X Window System.

✖ You must have at least a 100 Mbps connection to redirect latency-sensitive devices like webcams.

✖ This app can not be used to redirect a USB hub or any devices attached to it.

✖ An unstable network connection may result in a major data loss or damage.

✖ It only has two features: attach and detach.

USB over Ethernet Linux

As USB/IP Project is an open-source solution, it’s only available in the source code form, so its set-up and use will be tricky for anyone without previous experience with kernel installations.

So here’s what you need to do to make USB/IP project work for you:

  1. First off, install the USB/IP package from the kernel support with this command:

    sudo apt-get remove --purge usbip* libusbip*

  2. Then proceed to install the linux-tools package that includes a utility that is necessary for sharing USB devices over network connections. Use this command:

    sudo apt-get install linux-tools-generic

    Once the installation is complete, you can start using USB/IP.

  3. On your server (machine with the attached USB peripheral you’re going to share), run this command to load the required kernel driver:

    sudo modprobe usbip_host

  4. Next, start the darmon:

    sudo /usr/lib/linux-tools/$(uname -r)/usbipd &

  5. Execute this command to see the list of all locally-attached USB devices:

    /usr/lib/linux-tools/$(uname -r)/usbip list -l

  6. Find the device you want to share on the list and write down the device’s ID. Now run this command to bind said device:

    sudo /usr/lib/linux-tools/$(uname -r)/usbip bind -b <device ID>

  7. Ok, now on the client machine (a networked PC that needs remote access to the shared device), run this command to the VHCI driver:

    sudo modprobe vhci-hcd

  8. Now, we can use the device’s ID from step 6 to connect to it by using the command:

    sudo /usr/lib/linux-tools/$(uname -r)/usbip attach -r <your server’s IP> -b <your device’s ID>

    If, for some reason, you don’t have the device’s ID number, the following command will help you to see the list of the devices connected to your server:

    /usr/lib/linux-tools/$(uname -r)/usbip list -r <insert your server’s IP>

    After that, you can start using the device on a client machine.

    Important! DO NOT unplug the device while it’s shared with this method. This can result in severe data loss or even damage the device itself. First, you’ll need to detach the corresponding port with the command:

    sudo /usr/lib/linux-tools/$(uname -r)/usbip detach -p 00

    and unbind the device from the server:

    sudo /usr/lib/linux-tools/$(uname -r)/usbip unbind -b 1-3


Requirements: Windows, macOS, Linux, Android and Raspberry Pi.
Size: 10.45MB
Version: 6.1.15025 (19 Feb, 2024)
User rating: (4.8 based on 386+ reviews)