Ubuntu 25.04 secure boot manual driver install error loading firmware

I’m running Ubuntu server 25.04 with secure boot enabled which I know is not yet supported. After installing a MOK required by secure boot, I’ve built the 4.23.0 hailo 8 PCIE driver using “make install_dkms” successfully. The driver loads but gets errors trying to load the firmware. I’ve downloaded the 4.23.0 firmware and copied it to

/lib/firmware/hailo

ls -l

-rw-rw-r-- 1 root root 164560 Sep 25 04:07 hailo_fw.bin

On reboot these lines show up in dmesg:

[ 11.051828] hailo_pci: loading out-of-tree module taints kernel.
[ 11.052662] hailo: Init module. driver version 4.23.0
[ 11.052703] hailo 0000:05:00.0: Probing on: 1e60:2864…
[ 11.052709] hailo 0000:05:00.0: Probing: Allocate memory for device extension, 9072
[ 11.052734] hailo 0000:05:00.0: enabling device (0000 → 0002)
[ 11.052796] hailo 0000:05:00.0: Probing: Device enabled
[ 11.052813] hailo 0000:05:00.0: Probing: mapped bar 0 - 000000004b2545b2 16384
[ 11.052824] hailo 0000:05:00.0: Probing: mapped bar 2 - 000000007b5b2258 4096
[ 11.052832] hailo 0000:05:00.0: Probing: mapped bar 4 - 00000000601f1735 16384
[ 11.052846] hailo 0000:05:00.0: Probing: Setting max_desc_page_size to 4096, (page_size=4096)
[ 11.052881] hailo 0000:05:00.0: Probing: Enabled 64 bit dma
[ 11.052887] hailo 0000:05:00.0: Probing: Using userspace allocated vdma buffers
[ 11.052900] hailo 0000:05:00.0: Disabling ASPM L0s
[ 11.052906] hailo 0000:05:00.0: Successfully disabled ASPM L0s
[ 11.053031] hailo 0000:05:00.0: Writing file hailo/hailo8_fw.bin
[ 11.053448] Failed with error -2 to write file hailo/hailo8_fw.bin
[ 11.053455] hailo 0000:05:00.0: Failed writing NNC firmware files. err -2
[ 11.053460] hailo 0000:05:00.0: FW loaded, took 0 ms
[ 11.053464] hailo 0000:05:00.0: Firmware load failed
[ 11.053532] hailo 0000:05:00.0: Failed activating board -2
[ 11.053587] hailo 0000:05:00.0: probe with driver hailo failed with error -2

Can anyone suggest what I should try next to diagnose what I’ve got wrong? The messages indicate the driver is seeing the board but not loading the firmware file. It should be finding its relative path in /lib/firmware as far as I can see.

Thanks in advance for any help.

Hey @Steven_Olson ,

It looks like the problem is just a simple filename mismatch between what your Hailo driver (v4.23.0) is expecting and what’s actually on your system.

Your driver is specifically looking for a file named hailo8_fw.bin, but the file you have is named hailo_fw.bin. Since the names don’t match, the driver can’t find the firmware it needs—that’s why the error pops up!


Quick Fix

1. Rename the Firmware File

Run this command to rename your firmware file to the correct name:

sudo mv /lib/firmware/hailo/hailo_fw.bin /lib/firmware/hailo/hailo8_fw.bin

2. Reload the Driver

Once the file is renamed, you need to reload the driver so it sees the change. You have a couple of options:

  • Option A: Reload the Driver Directly (Faster)
    sudo modprobe -r hailo_pci
    sudo modprobe hailo_pci
    
  • Option B: Simply Reboot Your System (Easiest)
    sudo reboot
    

3. Verify the Fix

After reloading the driver or rebooting, run this command to make sure everything is good to go:

hailortcli fw-control identify

Hope this helps!

LOL! Thank you. :laughing: