VMware Cloud Community
Hadfield04
Contributor
Contributor

USB Device not Recognized

HP Proliant DL380 G9 running ESXI 6.0 Update 3  running a new config after being rebuilt - USB external hard drive not recognized after adding it to the VM.  It sees it in Device Manager, but not recognized. Is there any way to fix this without attempting to do a controller pass-through.  From what I've read after making the controller enabled for pass-through it can not be undone.  The system has 2 USB controllers and I can't tell what controller the USB hard drive is plugged into.

This used to work before we rebuilt the Server.  I did check the VM Config prior to rebuilding the Server and it appeared to be added directly to the VM without having to do pass-through.  Hence the reason why I'm confused why it wouldn't work now.  The VM's were copied back to the Server after it was rebuilt.  Is there a config file that manually needs to updated?  Would the external hard drive have a driver I would need to install via Device Manager?

0 Kudos
15 Replies
Hadfield04
Contributor
Contributor

I started to think today, this is not an ESXI issue and should treat it as such.  I found this article today and will try its suggestions.
https://www.online-tech-tips.com/computer-tips/usb-device-not-recognized/

0 Kudos
jUDASmILExAlmig
Enthusiast
Enthusiast

Had you tried to remove the virtual USB controller and USB device from VM settings and add them back again? And which guest OS you are using?

BTW: For PCI pass-through you can enable/disable it on each individual controller per your requirement with no restriction here, just need to reboot the server once you modified the config.

0 Kudos
Hadfield04
Contributor
Contributor

Yes, I've tried to remove and re-install the USB Controller as EHCI +UHCI.  When I add the USB device is get the following warning, "You need virtual USB xHCI controller on this virtual machine to enable USB 3.0 support for the select device.  Connecting the device to the existing virtual USB controller may result in an undefined behavior for it."

When I add the USB controller as xHCI is receive the following warning, "This controller is not supported for this guest operating system" and the VM does not boot until removed.

HP does have a driver for USB 3.0 eXtensible Host Controller specific to the DL380 G9, giving me the impression it should work.

The Guest OS is Windows 2008 R2.  I want to attempt the xHCI controller again, but always nervous when the VM doesn't boot.

Thank you for your assistance.  I'm currently working on the issue and frustrated.

0 Kudos
Hadfield04
Contributor
Contributor

It definitely doesn't like the USB controller to be installed xHCI. 

0 Kudos
Hadfield04
Contributor
Contributor

I've been able to narrow the issue down to needing to install xHCI USB Drivers.  Is there a module or update that I need to install first.  I see lots of information available for ESXI 5.5 and 6.5 but not 6.0.

0 Kudos
Hadfield04
Contributor
Contributor

I just learned that I need to enable USB 3.0 in the BIOS first and everything else should fall into place.  Here's an article I found
https://www.virten.net/2015/10/usb-3-0-devices-detected-as-usb-2-in-esxi-6-0-and-5-5/

and document on how to enable it specifically for the HP DL380 G9.  Answer located on page 45

https://support.hpe.com/hpsc/doc/public/display?docId=c04398276

0 Kudos
jUDASmILExAlmig
Enthusiast
Enthusiast

Yes. You may try it as following steps I think:

1. To enable USB3.0 support in BIOS. Generally it is enabled or auto select by default. Anyway, to enable it first before boot into ESX.

2. As you are using Windows2K8R2, it is similar as Windows7 I suppose which didn't ship with any XHCI driver that you need to download and install the driver first in guest.

3. Add XHCI controller to VM. In this case, please do not use EHCI+UHCI virtual controller, it is not a officially supported scneario to connect USB3.0 device on virtual EHCI+UHCI controller. You won't find the device in guest. Please use virtual XHCI controller instead. BTW: the virtual XHCI controller and device can be hot added/removed, you don't need to power off the guest then operate it. Just make it when running guest is fine.

4. Connect your device to the VM to see if you can find it in guest.

0 Kudos
Hadfield04
Contributor
Contributor

HP has USB 3.0 drivers available but I've never been able to install them.  I get an error that they don't apply or the device is not found on the system
USB 3.0 was set to AUTO within the BIOS, so I changed it to Enabled and testing it now

Why do you say install xHCI drivers before add the xHCI controller?  Wouldn't it be the other way around?  and shouldn't I use the drivers available on the HPE website?

0 Kudos
jUDASmILExAlmig
Enthusiast
Enthusiast

Yep, I mean, inside guest, the Windows 2008 R2 you installed in VM, need a XHCI driver before the virtual XHCI controller can be recognized by the guest as Microsoft didn't ship XHCI driver in Win7 and Win2K8 series OS. And the HPE driver is targeting for system installed on bare metal, it won't work inside guest. So you can just add the virtual XHCI controller to the VM and try to find it in device manager. If it was shown as unknown device you can search driver online and install proper driver to make it work for you. If you already have the proper driver install then you should find it in device manager.

Once the virtual XHCI controller works for you, please try to connect your USB device to VM to see if it can be recognized by os and mount as a drive for you.

0 Kudos
Hadfield04
Contributor
Contributor

Yes, USB 3.0 driver from HPE doesn't work because of what you said.  Yes when I add the xHCI controller, it shows up in Device Manager as Unknown Device but when I attempt to update driver and search online it give me the following error message.  "Windows could not find driver software for your device." 

Where else would I download the USB 3.0 Driver that would work on a Guest OS running W2K8 R2?

0 Kudos
Hadfield04
Contributor
Contributor

I found this via article on kb.vmware.com.  It suggests to running the following commands to enable xHCI module.

Enabling the xHCI module on ESXi 5.x/6.x hosts

  1. Connect to the host with an SSH session. For more information, see Enabling root SSH login on an ESX host (8375637).
  2. Run the following commands to enable to xHCI module:

    esxcfg-module -e xhci
    echo "vmkload_mod xhci" >> /etc/rc.local.d/local.sh

    VMware Knowledge Base

    It doesn't say anything about rebooting the host, but makes sense that you would need to.

0 Kudos
Hadfield04
Contributor
Contributor

Still unable to install USB 3.0 driver for Unknown USB Controller in Device Manager.

So close, but no cigar...

0 Kudos
jUDASmILExAlmig
Enthusiast
Enthusiast

I found a topic in the community, you may try as they did in this thread to install XHCI driver for Windows2008R2

USB 3.0 works on Host, but won't install on Guest

0 Kudos
logictests
Contributor
Contributor

For anyone else that ran into this issue, I resolved this over the weekend.  I downloaded the 'server board' version of the Intel USB 3.0 driver found here:

Download Intel® USB 3.0 eXtensible Host Controller Driver for Intel® Server Boards

I removed the 2.0 virtual usb controller, added the 3.0 one (it said in the vmware console that it was not compatible with the operating system of my VM).  I installed the driver in the VM, rebooted, and the controller and usb devices were now recognized correctly.

0 Kudos
JoeJ59
Contributor
Contributor

I had the same issue but resolved by upgrading the hardware compatibility version.

Hardware Features Available with Virtual Machine Compatibility Settings

0 Kudos