USB Network Gate for Windows/Linux Known Issues

  • When USB device, shared with USB Network Gate, is redirected from the host machine (where Linux OS is run) to the guest one (virtual machine), this shared device will still be present in the list of available devices on the client side, but it will have “disconnected” status and it will be impossible for clients to establish connection with this device. This happens due to functional peculiarities of VMware for Linux OS.
  • Kernel panic during eveusb kernel module loading on Red Hat Enterprise Linux 6.0The reason is that the hcd.h is absent in kernel headers
    ls /lib/modules/$(uname -r)/build/include/linux/usb | grep hcd.h

    Module includes it via

     #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 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:

    1. Download the kernel sources:ftp://ftp.redhat.com/pub/redhat/linux/enterprise/6Server/en/os/SRPMS/kernel-2.6.32-71.29.1.el6.src.rpm
    2. Retrieve the needed files:
      rpm2cpio kernel-2.6.32-71.29.1.el6.src.rpm | cpio -idvm<br />
      tar xvf linux-2.6.32-71.29.1.el6.tar.bz2<br />
      cd linux-2.6.32-71.29.1.el6/drivers/usb/core<br />
      cp hcd.h hub.h <module_sources>/include/2.6.32<br />
    3. Compile and load the module.
  • To connect a USB 3.0 hard disk drive to a Linux client the following steps are required:
    1. 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
    2. Regenerate initrd.
      An example for Ubuntu:

      sudo update-initramfs -u
    3. Reboot a machine.