Submit your email address to get a link for quick download on your desktop and get started!
This article describes how to fix some of the most common problems that you can run into with USB over Ethernet on Linux.
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.
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:
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 kernel.org) 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:
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
cp hcd.h hub.h <module_sources>/include/2.6.32
To connect a USB 3.0 hard disk drive to a Linux, you will need to:
echo options usb-storage quirks=idVendor:idProduct:u | sudo tee /etc/modprobe.d/blacklist_uas.conf
echo options usb-storage quirks=0x174c:0×5106:u,0x0bc2:0×2322:u | sudo tee /etc/modprobe.d/blacklist_uas.conf
sudo update-initramfs -u
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.
- System settings (KDE):
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