How to Pass Through USB Dongles (Like Sentinel SuperPro) to VMWare ESX Virtual Machines


2 views

The requirement to access hardware USB dongles (such as license keys) from within virtual machines is a common challenge in virtualized environments. VMWare ESX does support USB passthrough, but with specific limitations and configuration requirements.

For vSphere 4 environments, follow these steps to configure USB passthrough:


# First, identify the USB device on the host
lsusb | grep -i "sentinel"
# Sample output: Bus 002 Device 003: ID 0529:0001 Rainbow Technologies Sentinel SuperPro

# Add these lines to the VMX configuration file:
usb.present = "TRUE"
usb.generic.allowHID = "TRUE"
usb:0.present = "TRUE"
usb:0.device = "0x0529:0x0001"  # VendorID:ProductID

Rainbow Technologies' Sentinel SuperPro dongles require additional attention:

  • Ensure the ESX host has the latest USB controller drivers
  • The VM must be powered off during USB device assignment
  • Consider using USB over IP solutions for more flexible deployments

If the dongle isn't recognized:


# Check kernel messages on the ESX host
dmesg | grep -i usb
# Verify the device is properly claimed
lsmod | grep usb

For environments where direct passthrough isn't feasible:

  1. Network-based license servers
  2. Software emulation (where license agreements permit)
  3. Dedicated physical machines for license-critical applications

In VMware ESXi (particularly vSphere 4), USB device passthrough to virtual machines is possible but requires specific configurations. For license dongles like the Sentinel SuperPro USB Dongle, this becomes critical as the software often checks for physical hardware presence.

ESXi handles USB devices in two ways:

1. USB Passthrough: Direct hardware access from VM to physical USB port

2. USB over Network: For distributed environments (not recommended for license dongles)

# SSH into ESXi host
ssh root@esxi-host

# List available USB devices
lsusb

# Identify your dongle (e.g., Bus 003 Device 002: ID 0a89:003d Rainbow Technologies)
vim-cmd hostsvc/usb_list

For vSphere Client (Windows):

1. Right-click VM → Edit Settings

2. Click Add → USB Device

3. Select your dongle from dropdown

4. Check "Connect at power on"

  • Ensure ESXi detects the dongle in lsusb before VM assignment
  • For vSphere 4, USB controllers must be compatible (EHCI/UHCI)
  • Windows VMs may need Sentinel drivers: https://www.thalesgroup.com/en/markets/digital-identity-and-security/software-monetization/all-downloads
Connect-VIServer -Server esxi-host
$vm = Get-VM -Name "LicenseServerVM"
$usbdev = Get-VMHost -Name "esxi-host" | Get-UsbDevice | Where {$_.Name -match "Rainbow"}
New-USBDevice -VM $vm -UsbDevice $usbdev

Note: In vSphere 4, USB passthrough isn't hot-pluggable. The VM must be powered off during device assignment.