HassOS running on ESXi - PCI passthrough no boot

I am running HassOS 3.10 on a VMware hypervisor as a virtual machine. I have a PCI-e usb controller that I am trying to pass to the VM but every time I do, the VM will not boot. I remove the passthrough card from the VM configuration and the VM works w/o issues.

I am trying to attach a Aeotec stick to the VM for zwave integration.

Anyone else running with this configuration?

Why don’t you do a single usb port passthrough instead of an entire PCI-E controller? This should work without problems. Unless you really really need that PCI-E controller that is (if you want to use webcams for example).

I am not certain how to passthrough a single USB port. Here is the screenshot from the hardware tab of the ESXi hypervisor.

The first (checked) controller is the one I am trying to pass through to HassOS VM.

You can do a passthrough of a single usb within the settings of the VM you want to assign it to. See the screenshot below. My mouse is hovering over the option required.

You might also need to setup a usb controller, but it is likely your vm got setup with it by default.

I am unable to add a “usb device” here is what I am seeing.

Notice how to USB Device is grayed out.

Are you using the Aeotec stick connected to esxi usb port?

If your VM is running, adding a usb device can be disabled.

Try shutting it down (if it isn’t) and adding it.

And is the device plugged in at the moment?

1 Like

What @Fuzzysteve says is true you can only add usb controllers/devices when the vm is “off”. Also make sure that the PCI-E bus you previously passed through shouldn’t be passed through. You might want to try to add the other usb controller if it doesn’t work. Usually USB 2.0 controller has the best support for most devices, but that part of the screenshot was covered by that popup, so I couldn’t see what was behind there.

Last but definitely not least, it is maybe good to know that devices in hypervisors do not really get “passed through” but it actually creates a network device which can then be seen by the guest. This is unfortunately how all hypervisors do this and comes with some downsides, the major downside is: if your host doesn’t support the device, it is likely your guest won’t either. You can immediately see this when trying to pass through a usb webcam, which will likely not work as webcams aren’t supported by esxi natively.

You can however alleviate this problem by adding a pci-e usb card (not the ones on your motherboard) and pass that entire card through to your guest. This way it doesn’t need to share those ports with the host, this is also the only way I know to make usb webcams work on guests.

This sounds like a Bootup issues, the virtual machine has a boot order and it seems that your boot order has the usb first. It has been a while but in the virtual machines settings there is an option to to boot to bios. Once the is set and you restart the virtual machine, it will boot into the bios, and in the bios you can change the boot order. This should let your virtual machine boot with the usb attached.

1 Like

VM was powered off before any edit was attempted.

I just want to make sure there is no limitation of PCI-e or passthrough when using this image:
Not certain how crippled HassOS is?

https://github.com/home-assistant/operating-system/releases/download/3.10/hassos_ova-3.10.vmdk.gz

For testing I just spun up a VM with a Debian 9 ova and passthrough the same usb controller to it and it worked right away. Thats why I am not certain if HassOS might be the limiting factor here.

Seems like this fella has had issues booting HassOS with hardware passthrough:

https://github.com/home-assistant/operating-system/issues/489#issuecomment-586674863

I will continue with suggestions from this post and update.

I am closing this post. Issue is still unresolved but spinning up another VM (debian) and installing HA is working find. I still suspect its an issue with pastthrough and HassOS but I need to move on.

By the way creating snapshots (google drive version) of HA makes moving to another install painless