USB Passthrough to virtual machine for modem from ESXi host fails due to it getting incorrectly detected as hub
search cancel

USB Passthrough to virtual machine for modem from ESXi host fails due to it getting incorrectly detected as hub

book

Article ID: 409283

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

The article shares the steps required to detect the USB Passthrough device status on ESXi host and the reason for device unavailability on Guest Operating System 

  • Login to ESXi host over SSH as root user
  • Execute the command "esxcli hardware usb passthrough device list" ,
  • The output of the command corresponding to the device for the column enabled is observed to be be false and passthrough disabled as shown below:

  • Even though its a USB modem, on the host usb.log, entries similar to below are observed:

/var/run/log/usb.log

YYYY-MM-DDThh:mm:ss No(##) usbarb[##] USBGL: DevID(busIDdevIDvendorIDproductID): Excluding device from enumeration because it is marked a hub.



Environment

VMware ESXi 7.x, 8.x, 9.x

Cause

As mentioned on the log snippet, the USB device is incorrectly detected as USB hub. Since USB hubs are not supported, hence its being disabled from passthrough.

For further information, please review Supported VMware USB passthrough devices from an ESX/ESXi host to a virtual machine

Resolution

To resolve the issue auto-detection of USB modem as hub needs to be overridden by following the below steps:

  • Obtain busID, devID, vendorID and productID for concerned USB device from the lsusb command.

[root@<ESXi_name> :~ ] lsusb
Bus <busID> Device <devID>: ID <vendorID>:<productID> <Affected_Device_Name>

  • Run the below command to enforce passthrough:

esxcli hardware usb passthrough device enable -d <busID>:<devID>:<vendorID>:<productID>

  • Run the below command to override auto-detection of the USB modem by vmkernel:

esxcli system settings advanced set -o /USB/quirks -s 0x<vendorID>:0x<productID>:0:0xffff:UQ_NET_IGNORE

  • Reboot the ESXi host