Header RSS Feed
 
If you only want to see the articles of a certain category, please click on the desired category below:
ALL Android Backup BSD Database Hacks Hardware Internet Linux Mail MySQL Monitoring Network Personal PHP Proxy Shell Solaris Unix Virtualization VMware Windows Wyse

How to forward USB device to a virtual machine
Wednesday - Dec 21st 2011 - by - (0 comments)

In the past weeks I came across several applications which needed a USB dongle as hardware license. The problem with virtualization is that such dongles can't be simply plugged to the physical host - what happens when the machines moves (vmotion)?

One of the possible solutions is to forward the USB device via IP. That successfully works with a Digi AnywhereUSB 5, a 5-port USB hub which forwards attached USB devices to one remote host. Yes, only one remote host. And that causes a problem of course. The goal should be to have a USB forwarding machine which can handle different USB devices and forward them to different hosts.

Luckily Digi has also a bigger horse in the race: Digi AnywhereUSB/14, a 14-port USB hub:

Digi AnywhereUSB/14

This horse eats more (= pricey) but it is much more powerful as well. It has the possibility to define so-called groups to which one or several of the 14 ports can be assigned (image left):

AnywhereUSB Port Group Configuration AnywhereUSB Software Group Number

The software on the remote host (the virtual machine) can then be configured to connect to a defined Group Number (image right).


As soon as the software then connects to the IP-USB-Hub, it takes ownership of all USB devices attached to the defined group.
So far I've tested it with two virtual machines, both accessing each one USB device: VM1->Group1->Port1, VM2->Group2->Port2. Works like a charm!

There was one minor issue though. Once the software on the VM successfully connected to the AnywhereUSB device, Windows couldn't find the correct driver for the USB Hub:

AnywhereUSB Windows can't find RealUSB driver

This can be solved easily though, as it is marked in this KB entry on the Digi website: http://www.digi.com/support/kbase/kbaseresultdetl.jsp?id=1051.
A missing file (usbd.sys) in the C:\Windows\system32\drivers folder (on W2k3 32bit) causes this problem. A virtual machine doesn't have (by default) a USB controller, therefore the installation of Windows doesn't contain all USB drivers, compared to "normal" installations on physical machines. Just copy the missing file (usbd.sys) from a similar machine (same OS, same architecture) to the VM and restart the machine. The drivers will be working at the next boot.

 

Add a comment

Show form to leave a comment

Comments (newest first):

No comments yet.

Go to Homepage home
Linux Howtos how to's
Monitoring Plugins monitoring plugins
Links links

Valid HTML 4.01 Transitional
Valid CSS!
[Valid RSS]

6937 Days
until Death of Computers
Why?