USB controllers are available to add to virtual machines to support USB passthrough from an ESXi host or from a client computer to a virtual machine.

With VMRC, you can add one virtual xHCI controller, one virtual EHCI controller, and one virtual UHCI controller per virtual machine. In the vSphere Client and the vSphere Web Client, you can add one xHCI controller and one EHCI+UHCI controller. With Hardware Version 11, the supported number of root hub ports per xHCI controller is eight (four logical USB 3.0 ports and four logical USB 2.0 ports).

The conditions for adding a controller vary, depending on the device version, the type of passthrough (host or client computer), and the guest operating system.

Table 1. USB Controller Support
Controller type Supported USB Device Version Supported for Passthrough from ESXi Host to VM Supported for Passthrough from Client Computer to VM
EHCI+UHCI 2.0 and 1.1 Yes Yes
xHCI 3.0, 2.0, and 1.1 Yes (USB 3.0, 2.0, and 1.1 devices only) Yes (Linux, Windows 8 and later, and Windows Server 2012 and later guests)

For Mac OS X systems, the EHCI+UHCI controller is enabled by default and is required for USB mouse and keyboard access.

For virtual machines with Windows or Linux guests, you can add one or both controllers. You cannot add two controllers of the same type..

For USB passthrough from an ESXi host to a virtual machine, the USB arbitrator can monitor a maximum of 15 USB controllers. If your system includes controllers that exceed the 15 controller limit and you connect USB devices to them, the devices are not available to the virtual machine.


  • ESXi hosts must have USB controller hardware and modules that support USB 3.0, 2.0, and 1.1 devices present.
  • Client computers must have USB controller hardware and modules that support USB 3.0, 2.0, and 1.1 devices present.
  • To use the xHCI controller on a Linux guest, ensure that the Linux kernel version is 2.6.35 or later.
  • Verify that the virtual machine is powered on.
  • Required Privilege (ESXi host passthrough): Virtual Machine.Configuration.Add or Remove Device


  1. Right-click a virtual machine in the inventory and select Edit Settings.
  2. On the Virtual Hardware tab, add a USB controller.
    Client Steps
    vSphere Client Click the Add New Device button and select USB Controller from the drop-down menu.
    vSphere Web Client
    1. Select USB Controller from the New device drop-down menu at the bottom of the Edit Settings wizard.
    2. Click Add.
    The controller appears in the Virtual Hardware devices list.
  3. Expand New USB Controller to change the USB controller type.
    If compatibility errors appear, fix them before you can add the controller.
  4. Click OK.

What to do next

Add one or more USB devices to the virtual machine.