Knowledge Base

The VMware Knowledge Base provides support solutions, error messages and troubleshooting guides
 
Search the VMware Knowledge Base (KB)   View by Article ID
 

Automatically connecting USB devices at virtual machine power on (1648)

Details

This article provides steps to configure a particular USB device to automatically connect to a virtual machine while the virtual machine starts.

Solution

This article provides a workaround that lets you automatically connect a USB device if you do not have access to the host that runs the guest operating system, and therefore cannot manually connect the device using the VM > Removable Devices menu. For more information about the preferred way to connect USB devices through the menu, see Connecting USB Devices to Virtual Machine section in the Using VMware Workstation Guide.

Note: Workstation 5.5 and later enhances the auto connect feature to include support for name, path, and new PID/VID syntax. See the last section in this article, New Autoconnect Options for Workstation 5.5.

To automatically connect a particular USB device:

  1. Identify and obtain the USB device's vendor ID and product ID as reported by the host operating system.
  2. Edit the virtual machine's configuration file (.vmx) to contain an autoConnect entry for the USB device.

Caution: Be aware that you may break the USB functionality for your virtual machine if you configure conflicting autoconnect settings.

Identifying and Obtaining the USB Device's Vendor ID and Product ID

On a Linux host, after you connect the USB device, you can find the vendor and product ID in the /proc/bus/usb/devices file.

For example:

more /proc/bus/usb/devices
T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 3 Spd=1.5 MxCh= 0
D: Ver= 2.00 Cls=ff(vend.) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=0529 ProdID=0001 Rev= 2.15
S: Manufacturer=AKS
S: Product=HASP HL 2.15

Here, 529 is the vendor ID and 1 is the product ID for the HASP HL device.

On a Windows host, you may find the vendor and product IDs in the registry.

Caution: This procedure involves accessing the registry. Incorrect changes to the registry can leave your system unstable or unable to run. Always back up the registry before you edit it, and exercise caution in making changes to the registry. VMware takes no responsibility for problems that may arise.

  1. Open the registry. (Select Start > Run and type regedit.).
  2. Search for your USB device's name or brand in this registry path:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\

    For example: This output is a result of searching for a Cruzer Mini USB key:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\Vid_0781&Pid_7101\00526174
    HardwareID: USB\Vid_0781&Pid_7101&Rev_0102
    USB\Vid_0781&Pid_7101
    LocationInformation: Cruzer Mini
    Mfg: Compatible USB storage device

    Here, the vendor ID is 781 and the product ID is 7101.

Editing the Virtual Machine's Configuration File

The configuration (.vmx) file is normally located in the same directory in which the virtual machine was created. Make sure the virtual machine is powered off before you edit this file.

To autoconnect the HASP HL device from the previous example, add this line in the .vmx file of the virtual machine:

usb.autoConnect.device0 = "0x529:0x1"

Or, for the Cruzer Mini device, add:

usb.autoConnect.device0 = "0x781:0x7101"

Note: Prepend 0x to each value — it must be in hex format.

You can specify multiple devices for autoconnect, provided that there are not more than two USB devices available to the host at the same time. Multiple entries for autoConnect are shown in the following example. An ellipsis [...] indicates the omission of an actual vendor or product ID. You need to include a specific value, as shown for device0 and device1.

usb.autoConnect.device0 = "0x529:0x1"
usb.autoConnect.device1 = "0x781:0x7101"
usb.autoConnect.device2 = ....
usb.autoConnect.device3 = ....

You can use the auto clean option in usb.autoconnect:

  • autoclean:1 - autoconnect if a device matches the pattern, removed if the VM is powered on and no device matches the pattern, removed if disconnected through the UI.

  • autoclean:0 - autoconnect if a device matches the pattern, not removed if the VM is powered on and no device matches the pattern, removed if disconnected through the UI.

  • no autoclean - autoconnect if a device matches the pattern, not removed if the VM is powered on and no device matches the pattern, removed if disconnected through the UI.
For example, you may enter this option at the end of the autoconnect line:

usb.autoConnect.device0 = "0x781:0x7101 autoclean:1"
 
For more information about using USB devices in Workstation, see Using Removable Devices in Virtual Machines section in the Using VMware Workstation Guide.

Autoconnect Options for Workstation 5.5, Fusion 3.x and later

The parameters for autoconnecting USB devices are expanded to include the USB device name and path, in addition to the already supported PID and VID syntax. Workstation also makes extra information available in the vmware.log file, located in the virtual machines' directory, to make entering these parameters easier.

When a device is connected to the host, the virtual machine discovers the device and adds an entry to vmware.log. The virtual machine also discovers all devices attached to the host when the virtual machine is powered on, resumed, or reverted, and adds an entry for each device. For example, consider this vmware.log entry:
XXX XX XX:XX:XX: vmx| USB: Found device [name:SomeCompany\ USB device vid:0123 pid:abcd path:1/2/1]

There are four space-separated parameters available: name, vid, pid, and path.

The name Parameter

The name parameter is the string that describes the USB device. You may add the complete string of the USB device as a parameter, or a partial string if you want to match multiple USB devices for a specific word. Note that the string is not case sensitive and that spaces must be escaped with a backslash [ \ ] as they are in the vmware.log string.

To match the whole string from the example, use:

usb.autoConnect.device0 = "name:SomeCompany\ USB device"

To match all USB devices with SomeCompany in their names, use:

usb.autoConnect.device0 = "name:SomeCompany"

The vid and pid Parameters

The vid and pid parameters do the same thing as the previous autoconnect entry. To match the SomeCompany USB device in the above example, use:

usb.autoConnect.device0 = "vid:0123 pid:abcd"

To match any device that has the Vendor ID (VID) of SomeCompany, use:

usb.autoConnect.device0 = "vid:0123"

The path Parameter

The path parameter in vmware.log provides the path to the specific port on the host where the USB device is attached. Using autoconnect with the path entry binds a specific host port to that virtual machine. If the path parameter is used exclusively, any device that is attached to that host port automatically connects to that virtual machine.

To always connect any device attached to the host port in the above example, use:

usb.autoConnect.device0 = "path:1/2/1"

You can use the name, vid, pid, and path parameters in any combination. For the autoconnect to succeed, each parameter you enter must match.

To autoconnect the USB device in the example when connected to the same host port, use:

usb.autoConnect.device0 = "name:SomeCompany\ USB\ device vid:0123 pid:abcd path:1/2/1"

To autoconnect the USB device in the example, regardless of the host port to which it is connected, use:

usb.autoConnect.device0 = "name:SomeCompany\ USB\ device vid:0123 pid:abcd"

Additional Information

For translated versions of this article, see:

Tags

cannot-use-usb-device  use-usb-device  cannot-use-usb-scanner  usb-redirection

Keywords

1648; autoconnect; poweron; power-on; ws550; ws500

Update History

09/01/2012 - Added information on using the autoclean option 08/23/2012 - Added Workstation 9.x to Products. 09/05/2013 - Added VMware Player 6.x (Windows & Linux) and Workstation 10.x (Windows & Linux) to Product Versions. 02/12/2014 - Updated for Workstation 11.x 02/12/2014 - Updated for Player 7.x

Request a Product Feature

To request a new product feature or to provide feedback on a VMware product, please visit the Request a Product Feature page.

Feedback

  • 45 Ratings

Did this article help you?
This article resolved my issue.
This article did not resolve my issue.
This article helped but additional information was required to resolve my issue.
What can we do to improve this information? (4000 or fewer characters)
  • 45 Ratings
Actions
KB: