ESXI 6.0 usb card Passthrough -> unrecoverable NMI

Discussion in 'Virtualized Computing' started by sirca, May 15, 2018.

  1. sirca

    sirca n00bie

    Mar 15, 2015
    First of all sorry for my bad english! :):)
    I have a HPE Proliant Ml30 gen9 (firmware updated to latest version), and I tried to add a pcie usb card.
    I tried both a Via VL805 based and a Renesas μPD72020 based.
    I have installed the card and passthrough it to Windows 10 and Scientific Linux 7.5 both 64bit versions.
    With the Renesas all seems ok, but if I connect a usb 3.0 external HDD, every time I turn on the disk I got always a PSOD and in ilo log (hpe ipmi) I found a unrecoverable NMI and a pcie error.
    With the VL805 I got only one time PSOD and unrecoverable NMI log, but every time I shutdown the Windows 10 VM, this cannot restart until the next ESXi reboot.
    If I does not passthrough the usb card and instead pass only connected HDD device to VMs all is OK.
    Thinking the usb card is broken I tried it with the same server but installing Linux Ubuntu 18.04 LTS 64bit on bare metal and all is OK.
    Note that I have a second Proliant ML310 gen8 and I can pass successfully both AMD FirePro 4900 and a second Renesas usb 3.0 pcie card to a Windows 10 64bit VM (I used pciHole.start = "1200" pciHole.end = "2200")
    On both servers I use ESXi 6.0U3 free version but on the ML30 I tried also 6.5 U1 version.
    HPE Insight Diagnostic 3 hours run reports no faulty hardware.
    Can you help me with the NMI error??
    Thank you in advance.
    Best regards from Rome.
  2. k1pp3r

    k1pp3r [H]ardness Supreme

    Jun 16, 2004
    I don't think vmware HCL goes into USB addin cards, so this is really going to be trial and error until you find one that works.
  3. dgingeri

    dgingeri 2[H]4U

    Dec 5, 2004
    Is VT-d enabled?
  4. sirca

    sirca n00bie

    Mar 15, 2015
    Hi, thank you for your very quick reply!
    Yes, I know it is a trial and error process when related to devices not present into vmware HCL , but the pcie error reported by ilo log surprised me.
    With the other proliant, ml310 gen8, also was a trial and error process but apart not functioning, as black screen for firepro or no connections for usb card, i never got a pcie error!!
    But same year ago, trying Solaris/NexentaStore/Illumos I got the same ilo error on an old proliant dl160 gen5. I am a bit surprised by unrecoverable errors on pcie bus caused by software issue.
    I scared by faulty hardware though the ml30 is 5 months old and its warranty is valid.
    Yes VT-d is enabled.
    What else I can check? Any suggestion is welcome!
    Thank you again :)
  5. Grimlaking

    Grimlaking 2[H]4U

    May 9, 2006
    Anyone else feel like this is a test?

    So if you mount the card and use the drives it works fine then you can directpath I/O the drives to the VM's in question but you really want to be able to hard map the USB ports to the VM so you can plug in a USB drive and access on the fly and swtich drives.

    Your use case here is suspect. From a VM perspective it seems counter intuitive for the design. In this case you would either give the user the abiltiy to use VM's console and attack their own USB drives via that console interface, OR direct path I/O disks to the systems on a more permanent basis.

    This has more to do with the design concept and how the VMware was made and not so much with a driver issue. Clearly the drives work and the hardware works just not in the specific use case you have that is by all appearances decidedly out of character for the environment. You're trying to do something that simply wouldn't be needed in an actual enterprise setup.

    IF you want to on the fly attach USB drives to a VM.. I would recommend using the remote console and your client's USB ports/Drives. That is a more realistic deployment scenario and one more likely. I hope you understand where I'm coming from.

    You may find a solution to your problem. But your problem is very much out of scope for what a real ESXi/Vsphere environment would actually be used for or how it would be used.

    The only scenario I can think of that is within scope is if you are trying to do backups to a USB drive from two different guests and direct connect seems to be the best way to have the drive connected with two different USB cards in your host. Even then my recommended solution would be to spin up a free license VM with 1 or 2 CPU's and a couple gig of ram, Direct path I/O the USB drive to the guest. And from it share the disk out. Map it over the internal network to your two VM's in question you need to back up from and boom done no more swapping needed.

    I think the real answer here is more a question.

    What problem are you trying to solve with this solution?
  6. sirca

    sirca n00bie

    Mar 15, 2015
    This is not a test!! :) I am new to "passthrough" (I have done in other servers but I am not an expert).
    The real use I want to do with usb card passthrough is to pass a usb keyboard and a mouse to a VM and use a cheap video card passthrough to "physicalize" the virtual machine as I have done with the ML310e (renesas + firepro -> windows 10 VM).
    I have bougth a second renesas card just because with the old gen 8 it is functioning. then I changed for a Via Labs.
    I know I can pass a usb device to a vm, but for "test" I tried to use a usb hdd attached at the added usb card. Note I have enough "native" usb 3.0 port on server, I tried to add the hdd to an other passed usb card only as a test.
    I understand that ml30 gen9 and ml310e gen8 are different in cpu, chipset and firmware (UEFI vs BIOS) but I am surprised by a hardware pcie error logged in ipmi and relative PSOD with server health status reporting critical failure.
    Indeed, repeat, I dont need to attach the hdd, it was only a test, I want to pass usb keyboard and mouse HID.
    I read around if is possible pass HID usb device to a VM, but every answer found stated "add an usb card and passthrough that, then connect mouse e keyboard to the card" (and in ml310e this configuration is functioning and stable - no PSODs, no IPMI errors, no ESXi errors.
    I hope I was more clear. English is not my language :)
    Thank you.
    Last edited: May 17, 2018
  7. sirca

    sirca n00bie

    Mar 15, 2015
    I tried to pass the vl805 usb 3.0 card to a windows 10 VM, and connect a keyboard and mouse to that.
    The VM start and windows + mouse + keyboard operate as expected, but if I shutdown Windows, then I can not restart it.
    When trying to reboot it does not start and the hypervisor start lo log in VM directory on the datastore.
    ESXi creates a dump file and logs several messages into vm log file, and after several minutes writing in log it does not boot the VM.
    I can start the vm only by removing the card, editing the specs of the vm.
    If I dont remove the card I need to restart the hypervisor to be able to boot the vm again.
    Best regards from Rome :)