Finally USB pass-through is pos­si­ble on ESX hosts with the new vSphere 4.1 release! This fea­ture ha been avail­able in VMware Workstation/Fusion and Player for quite a while. The freshly added fea­ture in vSphere 4.1 even works if you vMo­tion the guest from one host to another, which is in itself pretty amaz­ing functionality!

In this post, I’ll show how to setup and use the new USB pass-through fea­ture in vSphere 4.1.

Set­ting up USB pass-through in vSphere 4.1

First off, we need to add an USB con­troller to the VM we want the USB pass-through work­ing on. This is done by fir­ing up the vSphere Cen­ter Client and right-clicking the VM. Then select Edit Set­tings

Click on Add and find USB Con­troller from the list then click Next

Click Next and you’ll be pre­sented with a list of the cur­rently host-connected avail­able USB devices. If none show up, make sure it’s actu­ally con­nected to the host. If your device is indeed con­nected, but still not listed in the vSphere Cen­ter Client it’s not supported.

In my test setup I have a small APC UPS con­nected to the host, so I’ll add that to the VM. Also note that this is where you enable vMo­tion sup­port! Find your device, and click on Next

Review your changes and click on Fin­ish

This will return you to the Edit Set­tings win­dow. Click on Ok to have the USB con­troller and device(s) added to your VM.

Con­nect to your VM and install the dri­vers, if needed, and you should be able to use your USB device directly inside the VM.

Usage Sce­nar­ios

What could you pos­si­bly use this new fea­ture to accom­plish? Well, for one you could use it to con­nect your UPS to your man­age­ment soft­ware, with­out hav­ing to install any man­age­ment soft­ware on the host itself. In gen­eral I would rec­om­mend using UPS ven­dors that offer direct vCen­ter inte­gra­tion instead, but for a lab envi­ron­ment this should work out nicely.

Another obvi­ous usage pat­tern would be to con­nect USB don­gles that some soft­ware require, either for secu­rity or for licens­ing purposes.

The one thing that springs to my mind, and one that would prob­a­bly be the most use­ful in my envi­ron­ment, is to con­nect USB HDDs to the host and use those as a backup tar­get for Veeam Backup and Recov­ery. Being able to directly con­nect some cheap stor­age to the host and then con­nect­ing it directly into the Veeam Backup and Recov­ery VM makes it easy to backup/replicate your VMs for man­ual off-site stor­age. Kendrick Cole­man (kendrickcoleman.com) had the same idea, but unlike him I’ll try to make sure my HDDs are located off-site before the fire starts! :-)

I’m sure that there are other usage sce­nar­ios as well, like con­nect­ing scan­ners, cam­eras and what­not, I’m just not sure I’d like all sorts of devices con­nected to my hosts.

Written by . Christian is the owner of vNinja.net and a Senior Consultant for EDB ErgoGroup specializing in virtualization. Active twitter user and vSoup.net Virtualization Podcast co-host.