USB device added on ESXi is getting disconnected from VM when configured
search cancel

USB device added on ESXi is getting disconnected from VM when configured

book

Article ID: 413940

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

  • A USB is physically configured in the ESXi host.
  • It is showing fine from the Putty session.

  • When the USB device in a VM after adding USB controller, the VM reconfiguration is completed successfully.
  • However, within few seconds, the USB disappears with no errors.
  • The issue is same for all VMs present in the host.

/vmfs/volumes/datastore/VM/vmware.log is flooded with following errors.

YYYY-MM-DDTHH:MM:SSZ In(05) vmx - USB: Device [name:Microchip\ Hub\ Controller vid:#### pid:#### path:0/1/1/3 speed:high family:vendor virtPath:ehci:0 arbRuntimeKey:1 ownerdisplay:<VM Name> version:4] should already be connected
YYYY-MM-DDTHH:MM:SSZ In(05) vmx - USB: Device [name:Microchip\ Hub\ Controller vid:#### pid:#### path:0/1/1/3 speed:high family:vendor virtPath:ehci:0 arbRuntimeKey:1 ownerdisplay:<VM Name> version:4] should already be connected

Environment

VMware vSphere ESXi 7.X
VMware vSphere ESXi 8.X

Cause

  • This issue occurs because the usbarbitrator service has claimed the device to make it available for passthrough to virtual machines.
  • PCSCD is the smart card daemon that claims and controls smart card readers. 
  • When a passthrough a USB smart card to the guest is configured, the ESXi tries to pull the device from the PCSCD service.

Resolution

  • Before configuring USB in a VM, ensure VMtools are updated. 
  • Stop the pcscd service and usbarbitrator service on the ESXi host to prevent it from claiming CCID devices like the ACR40T.
/etc/init.d/usbarbitrator stop && /etc/init.d/pcscd stop
  • Power off the target VM, add the following values under under "VM Options" > "Advanced" > "Edit Configuration"
usb.generic.allowCCID = "TRUE"

usb.generic.allowHID = "TRUE"

usb.generic.allowLastDevice = "TRUE" 
  • Add the USB device by selecting "Host USB Device" on the "Virtual Hardware" tab. 
  • Power on the VM, and start the pcscd service & usbarbitrator service.
/etc/init.d/usbarbitrator start && /etc/init.d/pcscd start
  • If issues persist, consult your guest OS team regarding USB compatibility or required drivers.