Bob's Notepad

Notes on projects I have done and things I have learned saved for my reference and for the world to share

Thursday, March 12, 2009

Using USB devices on Windows under VMware ESXi (Aladdin Hardlock)

VMware is quickly becoming the best way to run servers of all kinds and now that ESXi is free we're going to continue to see more and more functions moved onto a virtualized platform. Recently I've been working on a project for one of my customers which involves installing software for their Trumpf metal working equipment and ran into a small issue that I was able to overcome.

In short, this hardware requires the use of a USB dongle or "Hardware key" in order to run (this is an anti-piracy feature). The problem with ESXi is that you are not able to pass a USB device through to a virtual machine. Thankfully, a handful of companies have created Networked USB Hubs such as the Belkin F5L009. Everything immediately worked by plugging this in.... well, sort of :)

The issue that occurs inside of a VMware server is when you install Windows there is no USB root devices found so Windows does not install the proper USB support files. In this case, it's only a single file, USBD.SYS, that is missing.

1- Connect your USB hub to your network
2- Install the Belkin client software as the instructions explain
3- Ignore any new hardware wizards that occur.
4- Locate a USBD.SYS file. Often times you can find this on the same machine but, if needed, look on another Windows machine or in the i386 folder on your Windows installation CD. Copy this file to C:\windows\system32\drivers\
5- Reboot the virtual machine
6- Once the machine reboots, complete installation of your software, hardlock drivers, or any other USB device that you connect. Everything should function as intended and you have a little box that holds physical USB ports for your virtual machine.

Some notes on my installation.

* If you are using an Aladdin Hardlock USB key, you can most likely find new drivers on Aladdin's Hardlock Page.

* My Belkin Network USB Hub is running firmware version 1.2.0

* I found it's extremely handy to dedicate the USB hub to a single machine and to tell it to auto connect new devices. This literally makes the box just like real USB ports on the virtual machine. There are lots of options to play with as far as sharing devices to other specific machines but I did not play with any of that.

* Auto-connecting Hardlock keys is essential if you are running some type of server. If you tell your key to only connect manually your software may start before you mount the USB device and a pissed off program would likely ensue :)

* There are a few vendors that make an identical product but, from my research, I found that the Belkin is about 1/3 of the cost of most of them and also has some additional features. Digi makes a product that many people are using with VMware since it's marketed as being compatible with VMware but you will spend lots of money for that sentence -- and that's really all it is because this type of a device really has NO interaction with VMware at all since its a physical device communicating directly with your virtual machine on the network.

Labels: , , , , , ,

Reference Link


20 Comments:

Blogger Unknown said...

This seems like a fairly simple process.

And I would assume would work for an external hard drive?

21/4/09 11:44 AM  
Anonymous Anonymous said...

I spent a good hour on this one! I was just about ready to break out the sysinternals tools (which I suspect would have pointed out the issue) when I found this. Thanks for saving me the headache!!!

5/5/09 5:04 PM  
Anonymous Anonymous said...

Apple Airports have a USB Port for external hard drives. If I have an apple airport, might this work?

Thanks
SSS

10/7/09 4:01 PM  
Blogger Unknown said...

doesn't seem to work for me...i got everything working with the latest drivers on windows 2003 but the sentential safenet drivers don't seem to like the USB. It shows connected under hardware but their test application says it can't find it. So it might be the safenet brand or maybe it doesn't like running on 2003 since it can be used as a terminal...

15/7/09 5:11 PM  
Blogger Unknown said...

Hi Bob,

I installed this we a Dell T605 with VWware ESXi4.0. And as you mentioned: the only (expensive supported) solution was Digi Anywhere USB hub.
I had already an order running from friday, but bumping into your post over the we made me run to my supplier for a Belkin solution.
Your suggestion worked excellent and saved me 285€. Belkin network USB hub was much more easy to get then the Digi Anywhere USB hub.

So thx a lot for the post!!!

Raf

20/7/09 5:25 AM  
Anonymous Anonymous said...

I just wanted to add to my previous anonymous post from 5/5/09...

If this is on a server I thought I would mention that I have successfully gotten the Belkin USB Manager program "thingy" installed as a system service on Server 2003 R2 x64 SP2. I used the instsrv/srvany method provided by Microsoft so that the USB devices are available even when no one is logged in. Put instsrv or srvany into your search engine for many many examples. ymmv but it worked for me. :)

29/7/09 10:50 AM  
Blogger Unknown said...

I've noticed on my ESXi 4 vms that the belkin connected drives drop on frequent occasions, especially when heavily loaded with requests.

However the same drives and belkin hardware work 100% solid from a physical workstation on the same network. Any ideas why the virtuals would drop connection while a physical doesn't?

(same OS and patching for vm and physical)

1/8/09 9:03 PM  
Anonymous Anonymous said...

The Belkin box is really a re-badged Silex Unit. Have not worked out which one exactly but all the Silex software works.

Using this software fine under windows 2000, XP, 2003, mac OSX, etc.

http://www.silexamerica.com/support/software/svl.html

The latest version of the SXUPTP driver is 3.3.8.0 and the version from Belkin is 3.1.5.0.

The SX Virtual link software from Sibex has a lot more features. For example, you can explicitly specify the IP address of the device you want to connect to so that it does not rely on broadcast and therefore can be used across subnets :)
The only thing I would like to see is it to run as a service. I would also like to work out how I can make the alading Dongle driver dependant on that service so that it waits for the virtual USB to be available.

4/11/09 5:21 AM  
Blogger Bob K Mertz said...

@Mike ... I havent played with ESX(i) 4 at all yet so I really can't say for sure but in general I would think that maybe you're having an issue of network load that is causing problems. Remember that as far as Windows is concerned the hard drive you are using is attached via USB and treats it as such -- basically it has no idea that it is going over ethernet and may have to queue packets under a heavy load so when the drive fails to respond in the typical speed of a USB connection windows just assumes the drive is unplugged.

Sorry everyone for not being active in this thread.... apparently my comments to emails aren't working and I would have never dreamed to have this much activity :) Glad I could help.....

10/11/09 12:43 PM  
Anonymous Anonymous said...

Could this method (utilizing a Network USB hub) be adapted to work for something like the UnRaid (http://www.lime-technology.com) operating system which requires a USB drive to boot from (it contains the OS and license)?

11/11/09 2:58 PM  
Blogger Bob K Mertz said...

If you mean that you want to boot off of the USB device then no.... the network USB hub requires drivers to be installed in the OS in order for the machine to see it.

11/11/09 3:30 PM  
Blogger jjdude said...

Hi, Bob,

Thanks for your post.
My partner has a similar problem, but his system is using Linux. Would your Belkin solution work? If so, how?
Thanks

10/1/10 9:10 PM  
Blogger Bob K Mertz said...

Belkin hasn't released any drivers/software for Linux as of yet so there would be no way of having your linux virtual server connect to the Belkin device. There is a Quatech USBN-500 device that might work for you but I have no experience with this at all. You can find the manual here: http://www.quatech.com/ManualsDriversFirmware/manuals/USBN-500Manual.pdf

10/1/10 9:49 PM  
Anonymous Anonymous said...

Hi, would anybody from this thread know what would cause following issue: I have installed Belkin software on WIN 2003 quest server and my Sentinel SafeNet USB key works OK with it. Then i tried to make it run as a service. It also works fine until i reboot the machine. After the reboot service starts automatically but the device does not get connected until the service gets restarted manually. Does anybody have any idea why would it need the restart to connect the device?

25/1/10 4:09 AM  
Blogger Bob K Mertz said...

I have actually also seen the issue where the device doesn't connect immediately but it rarely happens in my installation. My guess is it has something to do with Windows starting too many other services at the same time the belkin service is getting started. I am nowhere near a Windows expert but if there are any options to have Windows delay the service starting that may help -- but I honestly couldn't tell you if that could be done or not.

25/1/10 4:36 AM  
Anonymous Anonymous said...

Hi all,
I have problems installing the software on a virtualised w2003 SBS running on a ESXi 4 host.
It doesn't like the SXUPTP driver.
I get a warning that the SXUPTP driver has not passed Windows Logo testing and when I continue I get "Failed to install SXUPTP. Installation has been cancelled.
There is a USBD.sys version 5.2.3790.0) present in the drivers folder.
Is there anyone who got the F5L009ea to work on a similar config?

Regards
Hasso Weeke

11/2/10 4:22 AM  
Anonymous Anonymous said...

On Windows 2008 R2 the Silex software disconnects and reconnects every minute or so, but the Belkin sw works flawlessly. According to this http://community.spiceworks.com/how_to/show/764, the same thing happens on 2003 R2. Just follow the instructions and everything works fine also on 2003 R2 32/64-bit.

26/2/10 2:06 AM  
Blogger Markyp said...

Why not just pass the USB controller through to the virtual machine. I have done this for a few clients with security dongles

http://www.vm-help.com/esx40i/VMDirectPath/USB_Setup.php

19/11/12 4:02 AM  
Blogger Unknown said...

I solved this issue in my VMWare ESX 4.1 environment.

I had an Aladdin USB Hardlock that would not recognize in my Virtual Machines. I tried traditional methods with not luck but I saw somewhere online that editing the .VMX configuration file solves the issue.

So I removed the Virtual Machine from inventory, downloaded the .VMX file to my computer and then edited it with the following lines.

usb.autoConnect.device1 = "0x0529: 0x0001"
usb.generic.autoconnect = "TRUE"
usb.generic.allowHID= "TRUE"

where 0x0529 is the Vendor ID of the hardlock, and 0x0001 is the Product ID. (Information obtained from device manager).

After I saved the .VMX, I uploaded it to the VM again and powered it on. After machine booted up, the Hardlock was redirected to the Virtual machine and everything worked great.

You can always check back for detailed instructions on how to resolve this by visiting my blog at http://theblogofbryan.com

30/5/13 2:43 PM  
Blogger safe key said...

Well explained about the use of usb devices on windows under vmware. Still if you are searching for Security Dongle Emulator then visit SafeKey International, Inc

1/11/17 12:56 PM  

Post a Comment

<< Home