USB support in ESXi/ESX 4.1 and ESXi 5.x (1022290)

Purpose

ESXi/ESX 4.1 and ESXi 5.x support USB device passthrough from an ESXi/ESX host to a virtual machine.

This article provides information on:

USB device passthrough requirements and limitations

How to add a USB controller and a USB device.

Resolution

Requirements

USB device passthrough requires:

Virtual hardware version 7 or higher

A USB controller

A USB device or device hub

The USB should be ext3 or FAT32 formatted

With the release of vSphere 5.0, there are now two types of USB passthrough available:

Host-Connected: This has been available since vSphere 4.1, and allows a USB device plugged directly into the ESXi/ESX host to be passed through to a virtual machine.

Client-Connected: This feature became available with the release of vSphere 5.0, and allows a USB device plugged into a user’s workstation to be passed through to a virtual machine via the vSphere Client.

There are also now two types of USB controller available for virtual machines to utilize:

EHCI+UHCI controller: This is the classic USB controller allowing the usage of USB 2.0 and USB 1.1 devices.

xHCI controller: This is the newer controller type allowing the usage of faster USB 3.0 devices. Virtual hardware version 8 is required to use this controller.

Common limitations

The USB Controller has these limitations:

A minimum of virtual hardware version 7 is required.

Only one USB controller of each type can be added to a virtual machine.

The USB arbitrator can monitor a maximum of 15 USB controllers. If your system includes more than 15 controllers and you connect USB devices to these controllers, the devices are not available to be passed through to a virtual machine.

You must add a USB controller to a virtual machine before you can add a USB device.

You must remove all USB devices from a virtual machine before you can remove the controller.

USB devices have these limitations:

A virtual machine may have up to 20 USB devices attached to it, however each unique USB device can only be attached to one virtual machine at a time.

Before you hot add memory, CPU, or PCI devices, you must remove any USB devices. Hot adding these resources disconnects USB devices, which may result in data loss.

When you suspend and resume a virtual machine, USB devices behave as if they have been disconnected, then reconnected.

The virtual machine cannot boot from the attached USB device.

Host-Connected USB Passthrough:

Limitations:

USB controller hardware and modules that support USB 2.0 and USB 1.1 devices must be present on the physical host.

It is not possible to utilize a USB 3.0 device connected to the physical ESXi hosts prior to ESXi 5.5 Patch 3; the device will be ignored. (Use client-connected USB passthrough instead.)

Client-Connected USB Passthrough:

The vSphere Client 5.0+ allows the usage of this type of passthrough on ESXi 5.x hosts.

Both EHCI+UHCI as well as the xHCI USB controller are compatible with client-connected USB passthrough.

Limitations:

Passthrough of a USB 3.0 device using an xHCI controller (with virtual hardware version 8) requires that the guest operating system have a functioning xHCI driver. Without a driver installed in the guest operating system, you cannot use USB 3.0 devices. For more details on USB 3.0 support, see the VMware vSphere 5.0 Release Notes.

For undetected USB devices, set the xHCI option to Disabled or Auto if the BIOS provides these options. Otherwise, check with the hardware vendor for details.

At the time of writing of this article, there is currently no known working xHCI driver for Windows.

Closing the vSphere Client which initiated the client-side USB connection disconnects the USB device from the virtual machine.

Note: To support vMotion for Host-Connected devices, select Support vMotion while device is connected. For more information, see the Configuring USB Passthrough Devices for vMotion section of the vSphere Virtual Machine Administration Guide.

To add a Client-Connected USB device:

Click (or open a console to) the virtual machine using the vSphere Client (5.0 or newer).

In the vSphere Client toolbar, click the icon (similar to a USB device with a wrench) to connect/disconnect the USB devices to the virtual machine.

Select the desired USB device to connect.

Click OK.

Note: vMotion is supported by default for Client-Connected USB devices.