VMware ESXi and vSphere Cluster Management
Configure USB Controllers in VMware Workstation Player
Learn how to add and configure USB 1.1, USB 2.0, or USB 3.0 controllers in VMware Workstation Player and connect USB devices to a guest OS.
A virtual machine (VM) needs a virtual USB controller before a physical USB device can be assigned to its guest operating system. This guide explains how to add the controller, choose USB compatibility, connect devices, handle USB keyboards and mice, and troubleshoot common problems.
The host operating system is the operating system running VMware Workstation Player. The guest operating system is the operating system installed inside the VM. The virtual USB controller is hardware presented to the guest; it is separate from the physical USB controller and ports in the host computer.
What a Virtual USB Controller Does
A USB controller is a virtual hardware component that lets the guest communicate with USB devices passed through from the host. Without a configured controller, VMware Workstation Player cannot provide the guest with the expected USB hardware interface.
USB passthrough means assigning a host-connected USB device for direct use by a VM. When you connect a device to the guest, VMware releases it from normal host use and makes it available through the VM's virtual USB controller. The device is normally unavailable to the host until you disconnect it from the guest.
The host still needs working USB support in its operating system and hardware. However, when the purpose is to use a peripheral inside the guest, the host does not necessarily need a separate full device driver for that individual peripheral. The guest may need its own driver after the device is connected.
USB Controller Types
VMware Workstation Player can expose different USB controller generations to the guest:
- USB 1.1: Uses UHCI, the Universal Host Controller Interface. Select it mainly for legacy compatibility.
- USB 2.0: Uses EHCI, the Enhanced Host Controller Interface. It is useful when the guest supports USB 2.0 but USB 3.0 is unnecessary or unavailable.
- USB 3.0: Uses xHCI, the Extensible Host Controller Interface. It is appropriate for supported modern guests and USB 3-capable devices.
The controller selection determines the USB capability exposed to the guest. Newer controller types are generally backward-compatible with older device generations. In particular, a USB 3.0 controller supports USB 1.1, USB 2.0, and USB 3.0 devices when the guest has suitable support.
Compatibility Requirements
Virtual machine hardware compatibility is the virtual hardware generation assigned to a VM. It controls which virtual devices and features are available. An older compatibility level can prevent a USB controller option from appearing even when the host computer has modern USB hardware.
| USB version | Controller interface | Minimum VM hardware compatibility | Supported guest requirements | Supported device generations |
|---|---|---|---|---|
| USB 1.1 | UHCI | All VM hardware versions | No special guest requirement stated | USB 1.1 devices |
| USB 2.0 | EHCI | Workstation 6 or later compatibility | Compatible guest support | USB 1.1 and USB 2.0 devices |
| USB 3.0 | xHCI | Workstation 8 or later compatibility | Windows 8 or later; Linux kernel 2.6.35 or later | USB 1.1, USB 2.0, and USB 3.0 devices |
USB 3.0 requires support in both the VM configuration and the guest operating system. A VM with Workstation 8 or later compatibility can expose xHCI, but an older guest might still be unable to use it.
Guest Support for USB 3.0
- Windows: Windows 8 and newer guests support xHCI USB 3.0.
- Linux: The guest should use kernel 2.6.35 or newer for xHCI USB 3.0 support.
If either the guest support or VM hardware compatibility is insufficient, choose USB 2.0 or USB 1.1 instead.
Add or Edit the USB Controller
- Power off the virtual machine. Do not suspend it or leave it running while changing the virtual hardware.
- In VMware Workstation Player, select the VM you want to modify.
- Open the VM's settings.
- Review the hardware list. If a USB Controller is already present, select it to edit its compatibility level.
- If no controller is listed, choose Add Hardware, select USB Controller, and add it.
- Choose USB 1.1, USB 2.0, or USB 3.0 according to the guest OS, VM hardware compatibility, and device requirements.
- Save the configuration and start the VM.
Use USB 1.1 only when legacy compatibility is required. Use USB 2.0 when it is supported but USB 3.0 is not needed. Use USB 3.0 for a supported Windows 8-or-newer or Linux 2.6.35-or-newer guest when a USB 3-capable peripheral benefits from it.
For related configuration practice, see USB controller configuration.
Connect a USB Device After the VM Starts
- Start the VM and allow the guest operating system to finish booting.
- In VMware Workstation Player, open Player > Removable Devices.
- Select the supported physical USB device.
- Choose the action that connects or assigns the device to the virtual machine.
- Wait for the guest to detect the device. Install or verify the appropriate device driver inside the guest if necessary.
Once assigned, the device is normally unavailable to the host. To return it to the host, open Player > Removable Devices again and disconnect the device from the VM. After the guest releases it, the host can use it normally.
Example: Attach a USB Flash Drive to a Windows Guest
- Power off the VM and confirm that a USB Controller is configured.
- Start the VM.
- Use Player > Removable Devices to connect the flash drive to the guest.
- Open the guest's file manager and verify that the drive appears.
- Disconnect the drive from the guest through the same menu before trying to use it on the host.
USB Keyboards, Mice, and Other Input Devices
USB keyboards, mice, and similar human interface devices (HIDs) are treated differently from ordinary removable peripherals. HIDs are input devices, and VMware Workstation Player normally hides them from the Removable Devices menu to reduce the risk of accidentally taking control input away from the host.
To expose them for possible assignment, enable Show all USB input devices. This setting is intended for cases where the guest must receive a specific USB keyboard, mouse, or other HID.
| Device category | Visible in Removable Devices by default | Additional setting required | Important caution |
|---|---|---|---|
| Typical removable storage and peripherals | Generally yes, when supported | Usually none | The device becomes unavailable to the host while assigned to the guest. |
| USB keyboard | No | Enable Show all USB input devices | Passing the primary keyboard can make the host difficult to control. |
| USB mouse | No | Enable Show all USB input devices | Keep another host input method available. |
| Other USB human interface devices | No | Enable Show all USB input devices | Use only when the guest needs direct access. |
Example: Pass a USB Keyboard or Mouse to a Guest
- Enable Show all USB input devices.
- Keep a separate host keyboard, mouse, or other recovery input method available.
- Start the VM and use Player > Removable Devices to connect the selected HID.
- When finished, disconnect the HID from the guest through the same menu so the host can use it again.
Practical Configuration Examples
Configure USB 3.0 for a Modern Linux Guest
- Check that the Linux guest uses kernel 2.6.35 or later.
- Check that the VM has Workstation 8 or later hardware compatibility.
- Power off the VM and add or edit its USB Controller.
- Select USB 3.0, which exposes xHCI to the guest.
- Start the VM, connect a USB 3-capable storage device through the Removable Devices menu, and confirm that Linux detects it.
Use a Legacy USB Device in an Older VM
- Determine the VM's hardware compatibility level.
- If newer controller support is unavailable or unnecessary, select USB 1.1 using UHCI.
- Start the VM and connect the peripheral through the Removable Devices menu.
- Verify that the guest detects the device and has its required driver.
Troubleshooting USB Controller Problems
The USB Controller or Desired USB Version Is Unavailable
- Confirm that the VM is powered off before editing its hardware.
- Review the VM hardware compatibility level.
- Use USB 2.0 only with Workstation 6 or newer compatibility.
- Use USB 3.0 only with Workstation 8 or newer compatibility.
- Use USB 1.1 when the VM has an older compatibility level or requires legacy support.
A USB 3.0 Device Does Not Work in the Guest
- Confirm that a Windows guest is Windows 8 or newer.
- Confirm that a Linux guest uses kernel 2.6.35 or newer.
- Confirm that the VM uses Workstation 8 or later compatibility.
- If the guest cannot use xHCI, change the controller to USB 2.0 or USB 1.1.
The Device Does Not Appear Inside the VM
- Verify that a virtual USB controller is configured.
- Use Player > Removable Devices to connect the device; plugging it into the host alone does not necessarily assign it to the guest.
- Check whether the guest needs a device-specific driver.
A Keyboard or Mouse Is Missing from the Device List
The device is probably a USB HID and is hidden by default. Enable Show all USB input devices, and ensure that another input method remains available to the host before connecting it to the guest.
The Host Cannot Use a USB Device
The device is likely assigned to the guest through USB passthrough. Disconnect it from the VM in Player > Removable Devices. The device should then return to host use.
Exam-Relevant Summary
- UHCI corresponds to USB 1.1, EHCI corresponds to USB 2.0, and xHCI corresponds to USB 3.0.
- USB 1.1 is available across VM hardware versions.
- USB 2.0 requires Workstation 6 or later equivalent VM compatibility.
- USB 3.0 requires Workstation 8 or later equivalent VM compatibility.
- USB 3.0 guests must also support xHCI: Windows 8 or newer, or Linux kernel 2.6.35 or newer.
- Power off the VM before adding or editing its USB Controller hardware.
- Use the Removable Devices menu to assign and release ordinary USB peripherals.
- Enable Show all USB input devices before assigning USB keyboards, mice, or other HIDs.
- A device assigned to the guest is normally unavailable to the host until it is disconnected.