Developers of USB over Network app for macOS are doing their best to improve the service, but still there are questions from our users. Here we will try to answer for at least a couple of them. So, USB Network Gate has the following known issues:
dscl . -read /groups/staff | grep GroupMembership
sudo dscl . -append /groups/staff GroupMembership <user>
Since the macOS High Sierra 10.13 introduction, all newly-installed third-party kernel extensions (KEXTs) require manual user approval before loading. When a request is made to load a KEXT that the user has not yet approved, the load request is denied and macOS presents the alert.
As USB Network Gate for macOS contains a number of KEXTs, a manual approval is a required condition for the proper functioning of the app.
To approve the KEXTs used by USB Network Gate for macOS, please go to System Preferences → Security & Privacy and click the “Allow ” button.
Let’s talk about 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:
#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 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
cd linux-2.6.32-71.29.1.el6/drivers/usb/core
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
su $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:
/sys/bus/usb/devices/2-5.1/product
USB-PS/2 Optical Mouse
/sys/bus/usb/devices/usb1/product
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