Unable to boot HAOS in a Core Ultra 125H Mini PC / Beelink SEi14

Hi there. I was running HAOS in an ancient Intel NUC NUC6CAYB with a Celeron J3455 processor and a SATA SSD.

I want to run HAOS with Frigate with multiple cameras, so I decided to upgrade to a Core 5 Ultra based mini pc, Beelink SEi14.

I tried to install HAOS utilizing a Live Ubuntu USB stick and the haos_generic-x86-64-12.4 image.

When trying to boot, it does not go further than the following error messages:

xhci_hcd 0000:00:14.0: Error while assigning device slot ID: Command Aborted
xhci_hcd 0000:00:14.0: Max number of devices this xHCI host support is 64. 
usb usb1-port4: couldn't allocate usb_device
xhci_hcd 0000:00:14.0: Error while assigning device slot ID: Command Aborted
xhci_hcd 0000:00:14.0: Max number of devices this xHCI host support is 64. 
usb usb2-port2: couldn't allocate usb_device
xhci_hcd 0000:00:14.0: Error while assigning device slot ID: Command Aborted
xhci_hcd 0000:00:14.0: Max number of devices this xHCI host support is 64. 
usb usb1-port6: couldn't allocate usb_device
xhci_hcd 0000:00:14.0: Error while assigning device slot ID: Command Aborted
xhci_hcd 0000:00:14.0: Max number of devices this xHCI host support is 64. 
usb usb1-port7: couldn't allocate usb_device
xhci_hcd 0000:00:14.0: Error while assigning device slot ID: Command Aborted
xhci_hcd 0000:00:14.0: Max number of devices this xHCI host support is 64. 
usb usb1-port10: couldn't allocate usb_device
nvme nvme0: I/O 20 QID 0 timeout, completion polled
nvme nvme0: I/O 21 QID 0 timeout, completion polled
nvme nvme0: I/O 22 QID 0 timeout, completion polled
vnvme nvme0: allocated 64 MiB host memory buffer.
nvme nvme0: I/O 23 QID 0 timeout, completion polled
nvme nvme0: I/O 20 QID 0 timeout, completion polled
nvme nvme0: I/O 21 QID 0 timeout, completion polled
nvme nvme0: I/O 22 QID 0 timeout, completion polled
nvme nvme0: I/O 20 QID 0 timeout, completion polled
name nvme0: 1/0/0 defaul/read/poll queues
nvme nvme0: I/O 21 QID 0 timeout, completion polled
nvme nvme0: I/O 21 QID 0 timeout, completion polled
....

The boot up log keep returning these same errors over and over if restarted. I tried to physically remove the SATA SSD that I had in my old NUC, inserted in a USB 3 case and tried to boot with the HAOS that is up and running already, and it also freezes at the very same point during boot sequence, throwing the same errors.

This issue seems to be tied to the Linux Kernel version that HAOS runs - not sure how and what to try here. I could try to install HAOS as a container, but I don’t want to miss the Add-on feature. Could also try to run it through Proxmox - but again, that adds up complex configuration that I wanted to avoid. What I really wanted was to simply install and run HAOS in this.

This was the closest I could find while searching for this error - this is why my first thought is with something related to HAOS Linux Kernel.

Any thoughts on how to overcome this issue, keeping HAOS as the bare OS in my new PC?

I’m not sure of the error you’re having, looks like the USB HOST controller is having a problem with the number of USB devices connected. The controller might be failing.

But for installing HAOS on a NUC or PC, I use Balena Etcher. I have an available SATA port on my PC, so I use BalenaEtcher to write the latest HAOS to the hard drive then just install the SSD\HD\NVME into the NUC or PC and it works each time.

I’ve used this method with 6 NUCs and 1 PC. It is quite simple and fast.

If you don’t have a spare NVME port, you can buy a real cheap PCIe to NVME adapter.

There is literally nothing connected to any port of the mini pc, except for an HDMI cable. I also tried to boot with my USB mouse/keyboard and the result was the same.

I was able to install and run Windows 11, Ubuntu 21.04 and Proxmox VE 8.2 - all without a single error regarding my NVME HDD, or any xhci_hcd issue al all - all my SEi14 USB port works.

I was also able to install HAOS in a VM created in PROXMOX in my new Beelink SEi14 - this points that there is definitely something broken regarding Core Ultra architecture, Beelink SEi14 NVME HDD controller and the current HAOS drivers/kernel (unable to load both my USB ports AND the NVME HDD).

I find it difficult that all OSs I’ve tried masked a hardware issue that was only happening in HAOS.

I might try to use balena etcher instead of Ubunt Disk Application - but the issues does not seem to have anything to do with the OS image itself - but with the drivers that should load stuff like my USB4/Thunderbolt port, and my NVME HDD.

I also ran into the same issue running Core 5 Ultra based mini pc, Beelink SEi14. no issues with windows, ubuntu or proxmox. Ultimately up and running HAOS on proxmox, but not the ideal situation as I purchased this Beelink SEi14 to run as dedicated hardware.

I flashed BIOS, ran RC editions of HAOS etc without luck.

You ultimately find any path forward to run HAOS directly on hardware?

Still believe that this is related to the Linux Kernel utilized in HAOS and incompatibilities with Core Ultra architecture/hardware.

I saw other people with boot issues with similar hardware (ASUS NUC 14 Pro), and although the issue did not describe what “hanged” during boot, it seems that disabling intel VT for directed I/O (VT-d) solved this user issue. See link below:

Haven’t checked where in the SEi14 these options can be disabled, but see below Mini S12 screenshots of these features in this model BIOS:

Will try this later today and check if I can boot without resorting to Proxmox - this is leading me to all sorts of issues, such as having to restart the VM whenever I have the restart HAOS to reconnect to HomeKit devices in HA HomeKit integration

I found this which seems to be a reasonable reference for what to adjust in the bios: [Motherboard] How to enable Intel(VMX) Virtualization Technology in the BIOS | Official Support | ASUS Global

You make the attempt yet? Any luck?

So, Beelink BIOS does not allow to turn off VT-d in its BIOS options for the SEi14. I am going to open an issue in Home Assistant OS in Github. I am out of ideas.

I was able to get HAOS running bare metal on the Beelink SEi14.

Here are the BIOS changes that I made:

  • Under Advanced Menu
    – CPU Configuration
    — Intel (VMX) Virtualization Technology - Set to DISABLED
    — X2APIC - Set to DISABLED

Here is the overall what I’ve done to get this working. Though I don’t fully understand the “X2APIC” setting.

Since I have HAOS running on Proxmox on the Beelink SEi14 I didn’t want to lose a ‘working configuration’. I purchased another SSD and an USB external enclosure. From there I used etcher to flash HAOS onto the new SSD and then opened up the Beelink SEi14 to swap the SSDs. First boot attempt was with the default BIOS settings and as expected even with the new SSD the same errors came up. Second boot I DISABLED “Intel (VMX) Virtualization Technology” , on reboot I hit the same errors. I figured there must be other settings that are contributing to the issue and so I just read through / googled a couple of the settings and the “X2APIC” configuration item caught my eye. I don’t fully understand what it does; but 1 minute on Google seemed to indicate a correlation with virtualization and so I gave it a try and DISABLED “X2APIC” AND “Intel (VMX) Virtualization Technology”. Saved BIOS configuration and rebooted and like magic instead of seeing error messages it looked more like HAOS booting and ultimately dropped into the HAOS splash screen / CLI. From there I restored a backup of my HAOS settings onto the new SDD and I was up and running (minus having to remap USB Zwave stick which was still ‘set up’ for Proxmox mapping)

I think I might ultimately keep HAOS on Proxmox to support some future projects and additional backup capabilities.

Hope this helps!