Expected support for Home Assistant OS on the Raspberry Pi 5

You don’t need this.

This is Ok, because the GeekWorm hats don’t have an id eeprom so better to set the PCIE probe to true as recommended.
Now, on the boot_order, I don’t understand why so many people are using the order above.
“BOOT_ORDER=0xf461” is much easier as it allows you to simply insert an SD card when you want to boot something like the RaspyOS from it when you need to do some housekeeping or restore a failing HA installation on the nvme. No need to change anything in te Pi eeprom, the sd card will automatically take priority.
Then just eject it and it will boot from the next available device which will be the nvme.

You need to use the Pi console (hdmi) and type “login” at the HA cli.
Then type: “vi /mnt/boot/config.txt” (nano is not available in HA OS so you need to use VI instead.)
Then go from command mode to insert mode by hitting te insert key,
type the “dtparam=pciex1_gen=3” in the [all] section for instance.
Then hit the ESC key to return to command mode and save-exit by typing “:wq”
Reboot and thats’it.
You can check the new speed by doing a “hdparm -t /dev/nvme0n1” by logging in in the console after the reboot.

3 Likes

Agreed!

Darn - was afraid of that.

Thanks for the info!

Ive got peoblems with a freashly flashed pi5 with nvme base not working like @hmadsen but im not seeing any DNS errors the logs (I do use nextDNS.io though)

I got NVME to work with the new HA build. I first installed on SD card, and when I got my HAT I used dd to copy all of my data to the NVME. After booting with Raspberry Pi OS I got to change the boot order and it worked just fine.

But now I hade the following errors in dmesg:

[20757.013590] nvme 0000:01:00.0: PCIe Bus Error: severity=Corrected, type=Data Link Layer, (Transmitter ID)
[20757.013594] nvme 0000:01:00.0: device [1d79:2263] error status/mask=00009100/0000e000
[20757.013598] nvme 0000:01:00.0: [ 8] Rollover
[20757.013601] nvme 0000:01:00.0: [12] Timeout
[22609.179027] nvme 0000:01:00.0: PCIe Bus Error: severity=Corrected, type=Data Link Layer, (Transmitter ID)
[22609.179031] nvme 0000:01:00.0: device [1d79:2263] error status/mask=00009100/0000e000
[22609.179035] nvme 0000:01:00.0: [ 8] Rollover
[22609.179039] nvme 0000:01:00.0: [12] Timeout
[22873.371614] nvme 0000:01:00.0: PCIe Bus Error: severity=Corrected, type=Data Link Layer, (Transmitter ID)
[22873.371617] nvme 0000:01:00.0: device [1d79:2263] error status/mask=00009100/0000e000
[22873.371622] nvme 0000:01:00.0: [ 8] Rollover
[22873.371625] nvme 0000:01:00.0: [12] Timeout
[23337.260603] nvme nvme0: controller is down; will reset: CSTS=0xffffffff, PCI_STATUS=0x10
[23337.260614] nvme nvme0: Does your device have a faulty power saving mode enabled?
[23337.260618] nvme nvme0: Try “nvme_core.default_ps_max_latency_us=0 pcie_aspm=off” and report a bug
[23337.320625] nvme 0000:01:00.0: enabling device (0000 → 0002)
[23337.333805] nvme nvme0: 4/0/0 default/read/poll queues
[66060.180039] nvme 0000:01:00.0: PCIe Bus Error: severity=Corrected, type=Data Link Layer, (Transmitter ID)
[66060.180042] nvme 0000:01:00.0: device [1d79:2263] error status/mask=0000b100/0000e000
[66060.180046] nvme 0000:01:00.0: [ 8] Rollover
[66060.180050] nvme 0000:01:00.0: [12] Timeout

I have read a little and I find this in the Raspberry Pi Forums:
https://forums.raspberrypi.com/viewtopic.php?t=363682#p2193646

One of the syptoms of this problem is that it looses network connectivity. I get dropped ping echo replies from the device, and I loose SSH connections. Both on wired and wireless.

The “fix” seems to be to recompile the bcm2712-rpi-5-b.dtb file. But I do not find dtc as a command on Hass OS so I am unable to do that. The dtb file is placed here:

find /mnt/boot/ | grep bcm2712

/mnt/boot/slot-A/bcm2712-rpi-5-b.dtb
/mnt/boot/slot-B/bcm2712-rpi-5-b.dtb

One relevant comment (it seems!): “The default MSIx target has an address above 4GB and that’s confusing the device - switching to the internal MSI target means the controller can put the target address below 4GB. I’m pretty sure the overlay should have a way of doing this automatically.”

How can we go about recompiling this file to make it work with HassOS?

Having some real problems here. I can run my Pi5 using the standard Pi OS from the Raspberry Imager and it works fine. But whenever I try using the HAOS either from the Raspberry Imager (11.5) or by downloading RC1 (12) and using Balena the Pi just hangs. I am running headless and with SD card only for now. Any ideas?

Got my PI 5 up and running with the pimoroni bottom hat.

Works fine.

Had major problems installing, it said it was waiting for connection to internet, but in fact it had a connection.

Supervisor said connection “false” when showing network info in CLI.

Gave it a " supervisor restart" command in the CLI and suddenly supervisor connection was “true” and everything went smoothly.

Turned off the Pi 4 and moved the Skyconnect dongle over and now every integration and every automation just works.

Even did an update since the backup i had, was a bit outdated and everything was buttersmooth.

I also think the loading of the webpages when i change from one tab to another is a lot faster.

All in all, if this is running stable for a few days i will just remove the USB harddrive from the Pi 4 and repurpose this as a PiHole, that i currently have on a Pi 3

My 14 year old son is waiting in excitement for this move as the “leftover” Raspberry Pi 3 will go to him, he wants to tinker and the “Pi 1” he got now is just to slow for anything :slight_smile:

Now i only have to wait for the PoE hat so that i can run it off of the Unifi switch instead of running it off of a USB powerbrick.

Oh and i need to find a suitable case that will accept a Raspberry Pi 5 with Pimoroni bottom hat and PoE HAT.

2 Likes

Thanks @hmadsen

supervisor restart

followed by a

core rebuild

Got it up and running.

If you find a suitable case and you remember please let me know since your setup will be the same as mine with a unifi switch. Although I replaced pihole with nextdns.io

Were the core rebuild needed to get it running or was that just something you did extra ?

I did not do that and it seems to be working fine.

If i find a suitable case i will let you know.

I use PiHole because it also acts as a recursive DNS so that most DNS requests never leave my house.

I also use it, because i can do blocking of certain domains to prevent the kids from accessing them. (ome.tv for example)

I need to rebuild the core to get it to work.

Nextdns allows for local domain names but they do leave the network.
Nextdns allows me to have a different DNS profile for each vlan (each kid has their own vlan, plus an adult one and a TV one)

had some time on the weekend to give this another go, strangely I used an older full backup I had, it’s about 5GB, and let the restore go… I read it can take some time so I just let it do it’s thing for about 2hrs… it looked hung and on the nvme controller as the hdd light activity had stopped furiously flashing to only occasionally, so bit the bullet and power cycled… this time everything came up, except for my snmpd docker image, that I had to reinstall but was a 30sec job. Happy days I’m on the Pi5 now :slight_smile:

for anyone else interested - I used the pi imager that was installed on the pi OS running off the SD card. It had HAOS option on it

How do you acces the pi imager running in the Pi OS? What commands do you use and where can you find this info?

I have now tried with an Nvme drive and same issue. I put the nvme drive in an enclosure and flashed it with HAOS (11.5) preview using the Pi Imager running on my mac. Then plugged the nvme drive ito the Pi 5 and set advanced options to boot of the nvme. The pi just hangs after a start on either the SD card or the nvme. One of the Ethernet lights comes on and stays on and so does the green LED on the front of the Pi. Tried RC1 (12) and same thing. Must be doing something wrong somewhere…

First flashed Raspberry OS on an SD card, then used the RPI imager to install Home Assistant OS on the NVME disk. Had some errors at first, but when I added.

# Enable the PCIe External connector.
dtparam=pciex1
# This line is an alias for above (you can use either/or to enable the port).
dtparam=nvme
dtparam=pciex1_gen=3

to /mnt/boot/config.txt I have not seen any errors any more. To access this root access is required.

I changed the boot order to check SD card first before MVME so I can boot from SD card if I want. I remove the SD card to start from MVME disk.

Used Geekworm x1003 m2 hat with 256 GB SAMSUNG MZAL4256HBJD-00BL2. Amazon €17,-.

1 Like

Thanks Jan,
I have basically the same setup. I enabled the PCIe connector and when I boot from SD card I can see the contents of the SSD using lsblk so I know there is disk access. I set the boot order to be SD card first then SSD and I take the SD card out to boot from the SSD.

I flashed the SSD using the raspberry pi Imager running on my mac with the SSD connected via USB C.

I can run the standard Pi OS without any issues, but I cant run HAOS from either SSD or SD card, so I am a bit lost as to what to try next. I have HAOS running on an old Pi 3 and am familiar with HA.

I let Pi boot up in GUI and then access it via VNC, form there I can see the nvme and also the Pi imager software. I don’t have any external housing so I could do the image loading of the nvme remotely.

When done I pulled out the sd card and it booted up to the nvme, after I’d updated boot order on the Pi of course. :slight_smile:

If you are booting from SD card the config.txt of the SD card is used. So if you know what settings work, you should use these params on the config.txt on the SSD with HASS OS. If you allow the SD card to boot first, then you can have direct access to the disk from Raspberry PI OS.

1 Like

I’ve installed home assistant on a Raspberry Pi 5 it seems to be working fine.
When the official release is made will I have to reinstall, or will it be automatic updated?

I believe should be just part of normal update cycle…

1 Like

cool thanks

Just so everyone knows. I solved this problem like this:

hostname@PNO-X123X:$ ssh [email protected] -p 22222
Welcome to Home Assistant OS.

Use `ha` to access the Home Assistant CLI.
# cd /mnt/boot/
# cat cmdline.txt
XXXX-DELETED-XXXX... pcie_aspm=off

Add: pcie_aspm=off to cmdline.txt and powersaving for PCIe is turned off. That solved everything for me.

See this ticket: PCI Errors booting on NVME on Raspberry Pi 5 · Issue #3188 · home-assistant/operating-system · GitHub