USB support in ESXi/ESX 4.1, ESXi 5.x, ESXi 6.x
search cancel

USB support in ESXi/ESX 4.1, ESXi 5.x, ESXi 6.x

book

Article ID: 305356

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

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

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.
  • Unsupported USB devices may not interact as expected with other ESXi/ESX features. For a list of supported USB devices, see Supported VMware USB passthrough devices from an ESX/ESXi host to a virtual machine
  • 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/6.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 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.


This table provides a summary of compatible configurations:

 

Version ESXi/ESX 4.1 ESXi 5.0 ESXi 5.1 ESXi 5.5 ESXi 6.0 ESXi 6.5
USB 2.0/1.1 Host-Connected Yes Yes Yes Yes Yes Yes
USB 2.0/1.1 Client-Connected No Yes Yes Yes Yes Yes
USB 3.0 Host-Connected No No No Yes Yes Yes
USB 3.0 Client-Connected No Yes (with xHCI driver) Yes (with xHCI driver) Yes (with xHCI driver) Yes (with xHCI driver) Yes (with xHCI driver)
 

Enabling the xHCI module on ESXi 5.x/6.x hosts

  1. Connect to the host with an SSH session. For more information, see Enabling root SSH login on an ESX host
  2. Run the following commands to enable to xHCI module:

    esxcfg-module -e xhci
    echo "vmkload_mod xhci" >> /etc/rc.local.d/local.sh

Adding a USB controller and a USB device

 
To add a USB controller in a virtual machine running Windows:
  1. Right-click the virtual machine and click Edit Settings.
  2. Click Add.
  3. Click USB Controller and click Next.
  4. Click OK.
To add a Host-Connected USB device:
  1. Right-click the virtual machine and click Edit Settings.
  2. Click Add.
  3. Click the desired USB device and click Next.
  4. Click OK.

To add a Client-Connected USB device:
  1. Click (or open a console to) the virtual machine using the vSphere Client (5.0 or newer).
  2. 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.
  3. Select the desired USB device to connect.
  4. Click OK.

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