Hailo-8 Detected on PCIe but hailortcli fw-control identify Returns Nothing

Hello Hailo Community,

I’m using a Raspberry Pi 5 with the Hailo-8 AI Processor on the PCIe bus. The system detects the device correctly, but I’m unable to identify the firmware with HailoRT.

System Info & Observations:

sai@raspberrypi:~ $ lspci
0001:00:00.0 PCI bridge: Broadcom Inc. and subsidiaries BCM2712 PCIe Bridge (rev 21)
0001:01:00.0 Co-processor: Hailo Technologies Ltd. Hailo-8 AI Processor (rev 01)
0002:00:00.0 PCI bridge: Broadcom Inc. and subsidiaries BCM2712 PCIe Bridge (rev 21)
0002:01:00.0 Ethernet controller: Raspberry Pi Ltd RP1 PCIe 2.0 South Bridge

fwd@raspberrypi:~ $ hailortcli fw-control identify

no output

Installed Hailo packages:

ii hailo-all 4.20.0
ii hailo-tappas-core 3.31.0+1-1
ii hailofw 4.20.0-1
ii hailort 4.20.0
ii python3-hailort 4.20.0-1
ii rpicam-apps-hailo-postprocess 1.9.0-1~bpo12+1

OS & Kernel:
Operating System: Debian GNU/Linux 12 (Bookworm)
Kernel: Linux 6.12.47+rpt-rpi-2712
Architecture: arm64

What I’ve Checked So Far:

  • PCIe device is detected (lspci)

  • Hailo firmware package is installed

  • Tried hailortcli fw-control reset → still nothing

Questions:

  1. How can I verify that the Hailo PCIe driver is correctly loaded?

  2. How do I confirm the firmware is being correctly recognized?

  3. Any troubleshooting steps to get hailortcli fw-control identify to respond?

You can use standard Linux tools.

Display detailed information about the Hailo PCIe kernel module, such as version, author, license, and supported parameters.

modinfo hailo_pci

Check if the Hailo PCIe kernel module is currently loaded.

lsmod | grep hailo

Show kernel log messages related to the Hailo driver.

dmesg | grep hailo
sai@raspberrypi:~ $ modinfo hailo_pci
filename:       /lib/modules/6.12.25+rpt-rpi-2712/kernel/drivers/media/pci/hailo/hailo_pci.ko.xz
version:        4.20.0
license:        GPL v2
description:    Hailo PCIe driver
author:         Hailo Technologies Ltd.
import_ns:      DMA_BUF
srcversion:     E8ED835F8D6D454EABB6BF8
alias:          pci:v00001E60d000043A2sv*sd*bc*sc*i*
alias:          pci:v00001E60d000045C4sv*sd*bc*sc*i*
alias:          pci:v00001E60d00002864sv*sd*bc*sc*i*
depends:        
intree:         Y
name:           hailo_pci
vermagic:       6.12.25+rpt-rpi-2712 SMP preempt mod_unload modversions aarch64
parm:           o_dbg:int
parm:           no_power_mode:Disables automatic D0->D3 PCIe transactions (invbool)
parm:           force_allocation_from_driver:Determines whether to force buffer allocation from driver or userspace (int)
parm:           force_desc_page_size:Determines the maximum DMA descriptor page size (must be a power of 2) (int)
parm:           force_hailo10h_legacy_mode:Forces work with Hailo10h in legacy mode(relevant for emulators) (bool)
parm:           force_boot_linux_from_eemc:Boot the linux image from eemc (Requires special Image) (bool)
parm:           support_soft_reset:enables driver reload to reload a new firmware as well (bool)

sai@raspberrypi:~ $ lsmod | grep hailo
hailo_pci 131072 0

sai@raspberrypi:~ $ dmesg | grep hailo
[ 2.439112] hailo: Init module. driver version 4.20.0
[ 2.439211] hailo 0001:01:00.0: Probing on: 1e60:2864…
[ 2.439215] hailo 0001:01:00.0: Probing: Allocate memory for device extension, 13184
[ 2.439229] hailo 0001:01:00.0: enabling device (0000 → 0002)
[ 2.439236] hailo 0001:01:00.0: Probing: Device enabled
[ 2.439266] hailo 0001:01:00.0: Probing: mapped bar 0 - 00000000427534e2 16384
[ 2.439271] hailo 0001:01:00.0: Probing: mapped bar 2 - 0000000087261ce5 4096
[ 2.439275] hailo 0001:01:00.0: Probing: mapped bar 4 - 0000000009b4f588 16384
[ 2.439279] hailo 0001:01:00.0: Probing: Setting max_desc_page_size to 16384, (page_size=16384)
[ 2.439288] hailo 0001:01:00.0: Probing: Enabled 64 bit dma
[ 2.439290] hailo 0001:01:00.0: Probing: Using userspace allocated vdma buffers
[ 2.439294] hailo 0001:01:00.0: Disabling ASPM L0s
[ 2.439297] hailo 0001:01:00.0: Successfully disabled ASPM L0s
[ 2.442583] hailo 0001:01:00.0: Writing file hailo/hailo8_fw.bin
[ 2.448255] Failed to write file hailo/hailo8_fw.bin
[ 2.448266] hailo 0001:01:00.0: Failed writing NNC firmware files. err -2
[ 2.448269] hailo 0001:01:00.0: FW loaded, took 5 ms
[ 2.448332] hailo 0001:01:00.0: Firmware load failed
[ 2.448334] hailo 0001:01:00.0: Failed activating board -2
[ 2.448359] hailo 0001:01:00.0: probe with driver hailo failed with error -2

This does not look good and explains your issue. Another user reported that this happened to him on the Lite OS version. Did you use that?

There are a few other posts with that message. You can find them with the Search function in the upper right corner

we are using Linux 6.12.47+rpt-rpi-2712 (Bookworm) OS FUll OS only.

Can you make sure, you have the expected firmware file either as a real file or as a symlink to the needed version.

I’m already running 4.23, so things look a little bit different, but you get he idea;-)

root@ubuntu-2404-pi5b:/lib/firmware/hailo# ls -altr
total 1368
-rw-r--r--  1 root root 166116 Jan 12  2025 hailo8_fw.4.20.1.bin
lrwxrwxrwx  1 root root     31 Jan 27  2025 hailo8_fw.bin -> /etc/alternatives/hailo8_fw.bin
-rw-r--r--  1 root root 166116 Jan 27  2025 hailo8_fw.4.20.0.bin
-rw-r--r--  1 root root 166260 Jan 27  2025 hailo8_fw.4.19.0.bin
-rw-r--r--  1 root root 165816 Jan 27  2025 hailo8_fw.4.18.0.bin
-rw-r--r--  1 root root 164224 Jan 27  2025 hailo8_fw.4.17.0.bin
-rw-r--r--  1 root root 164512 May 25 12:07 hailo8_fw.4.21.0.bin
-rw-r--r--  1 root root 164560 Jul 13 02:56 hailo8_fw.4.22.0.bin
-rw-r--r--  1 root root 164560 Sep 25 04:07 hailo8_fw.4.23.0.bin
drwxr-xr-x 99 root root  49152 Oct 18 00:59 ..
drwxr-xr-x  2 root root   4096 Nov  2 20:33 .
root@ubuntu-2404-pi5b:/lib/firmware/hailo# ls -l /etc/alternatives/hailo8_fw.bin
lrwxrwxrwx 1 root root 40 Nov  2 20:33 /etc/alternatives/hailo8_fw.bin -> /lib/firmware/hailo/hailo8_fw.4.23.0.bin
root@ubuntu-2404-pi5b:/lib/firmware/hailo# dmesg | fgrep -i hailo
[    9.039289] hailo_pci: loading out-of-tree module taints kernel.
[    9.039303] hailo_pci: module verification failed: signature and/or required key missing - tainting kernel
[    9.043124] hailo: Init module. driver version 4.23.0
[    9.043223] hailo 0000:01:00.0: Probing on: 1e60:2864...
[    9.043230] hailo 0000:01:00.0: Probing: Allocate memory for device extension, 9072
[    9.043241] hailo 0000:01:00.0: enabling device (0000 -> 0002)
[    9.043248] hailo 0000:01:00.0: Probing: Device enabled
[    9.043266] hailo 0000:01:00.0: Probing: mapped bar 0 - 00000000d83475ab 16384
[    9.043272] hailo 0000:01:00.0: Probing: mapped bar 2 - 000000002bf2ce54 4096
[    9.043276] hailo 0000:01:00.0: Probing: mapped bar 4 - 00000000462acd31 16384
[    9.043279] hailo 0000:01:00.0: Probing: Force setting max_desc_page_size to 4096 (recommended value is 4096)
[    9.043289] hailo 0000:01:00.0: Probing: Enabled 64 bit dma
[    9.043292] hailo 0000:01:00.0: Probing: Using userspace allocated vdma buffers
[    9.043296] hailo 0000:01:00.0: Disabling ASPM L0s 
[    9.043300] hailo 0000:01:00.0: Successfully disabled ASPM L0s 
[    9.043368] hailo 0000:01:00.0: Writing file hailo/hailo8_fw.4.23.0.bin
[    9.362942] hailo 0000:01:00.0: File hailo/hailo8_fw.4.23.0.bin written successfully
[    9.362950] hailo 0000:01:00.0: Writing file hailo/hailo8_board_cfg.bin
[    9.363005] hailo 0000:01:00.0: File hailo/hailo8_board_cfg.bin written successfully
[    9.363007] hailo 0000:01:00.0: Writing file hailo/hailo8_fw_cfg.bin
[    9.363034] hailo 0000:01:00.0: File hailo/hailo8_fw_cfg.bin written successfully
[    9.478803] hailo 0000:01:00.0: NNC Firmware loaded successfully
[    9.478809] hailo 0000:01:00.0: FW loaded, took 435 ms
[    9.490961] hailo 0000:01:00.0: Probing: Added board 1e60-2864, /dev/hailo0
root@ubuntu-2404-pi5b:/lib/firmware/hailo# hailortcli fw-control identify
Executing on device: 0000:01:00.0
Identifying board
Control Protocol Version: 2
Firmware Version: 4.23.0 (release,app,extended context switch buffer)
Logger Version: 0
Board Name: Hailo-8
Device Architecture: HAILO8

I hope this helps a bit;-)

– Marco