Frequently Asked Questions - USB over Ethernet [Linux]

Electronic Team Electronic Team

Impossible to connect a device (VMware)

When a shared USB device is redirected from the VMware host (that runs Linux) to the guest, this shared device will still be displayed as available for connection on other clients. However, it will have a “disconnected” status, and it will be impossible for the clients to connect to this device. This happens due to the functional peculiarities of VMware for Linux.

Possible kernel panic

The kernel panic when the eveusb kernel module loads on Red Hat Enterprise Linux 6.0. The reason is that the hcd.h is absent in the kernel headers.

ls /lib/modules/$(uname -r)/build/include/linux/usb | grep hcd.h

The module includes it with:

#include <linux/usb/hcd.h>

If this file is not found in the standard system include paths, it will be included from one of /include/2.6.XX directories, where XX is the exact version of the kernel running. But our include/2.6.XX/hcd.h is taken from the vanilla kernel and differs from that one in RHEL, which results in kernel panic.

We include only files from the corresponding vanilla kernel version (the official sources from and do not include files for modified kernels, like Red Hat Enterprise Linux 6.0.

In kernels of newer versions (like RHEL 6.1 kernel), kernel-headers contain hcd.h, so kernel panic does not occur.

To avoid kernel panic, substitute all files in /include/2.6.XX of your kernel version by the similar files from/drivers/usb/core (in running kernel sources).

For example, for RHEL 6.0:

  • Download the kernel sources:

  • Retrieve the needed files:

    rpm2cpio kernel-2.6.32-71.29.1.el6.src.rpm | cpio -idvm
    tar xvf linux-2.6.32-71.29.1.el6.tar.bz2
    cd linux-2.6.32-71.29.1.el6/drivers/usb/core
    cp hcd.h hub.h <module_sources>/include/2.6.32

  • Compile and load the module.

Connecting USB 3.0 to Linux

To connect a USB 3.0 hard disk drive to a Linux, you will need to:

  • Add a device to the UAS (USB Attached SCSI) module exceptions.

    echo options usb-storage quirks=idVendor:idProduct:u | sudo tee /etc/modprobe.d/blacklist_uas.conf

    Tip: An example for Asmedia and Transcend USB hard drives:

    echo options usb-storage quirks=0x174c:0×5106:u,0x0bc2:0×2322:u | sudo tee /etc/modprobe.d/blacklist_uas.conf

  • Re-generate initrd. An example for Ubuntu:

    sudo update-initramfs -u

  • Finally, reboot a machine.

Adding a user to eveusb group on Ubuntu 14.04

On Ubuntu 14.04 LTS (Trusty Tahr), USB Network Gate may fail to determine the user in the X11 session. Due to this, adding the current user to eveusb group is not possible when installing USB Network Gate via Software Center.

Here’s the instruction on how to add the current user to eveusb group:

- Linux Terminal:

sudo usermod -a -G eveusb $USERNAME

As the result, you can start the GUI from the current terminal.
To apply the changes to session Х11, you’ll need to log out and then log in again.

- GNOME System Tools:

Note: You may have to additionally install the GST.

  1. Go to Application -> System Settings -> Administration -> Users & Groups.
  2. Select the required $USERNAME and click Manage Groups.
  3. Choose eveusb from the list and double-click it.
  4. In the invoked window, check the box against the user name.
  5. Click OK and close all the windows. Then log out.

- System settings (KDE):

  1. Go to System settings -> User Management.
  2. Select the user and click Modify.
  3. Switch to Privileges and Groups tab.
  4. In Groups list find eveusb and check the box against it.
  5. Click Apply and close all the windows. Then log out.

How to get the list of USB devices without GUI and a kernel module on Linux?

For Linux-based embedded systems, it may be useful to know how to get the list of USB devices, if the GUI is not available. It can be done not just with the help of our command line utility, but with the built-in features of the system as well.

Run the following command in the terminal:

for device in $(ls /sys/bus/usb/devices/*/product); do echo $device;cat $device;done

The output will look as follows:

USB-PS/2 Optical Mouse
EHCI Host Controller

The first line contains the address of the device (the hub port). For the mouse in the example, it is 2-5.1.

The second line represents the name of the USB device.

To share a USB device (a USB mouse in this example), the following command should be executed in the console utility:

eveusbc share 1045 2-5.1

small logo USB Network Gate
#1 at Network Communication Software
USB Network Gate
Share USB over Ethernet on Windows
4.7 rank based on (Learn more)
Get a download link for your desktop
Submit your email address to get a link for quick download on your desktop and get started!