Some kind of hardware incompatibility between Hailo8 and Intel N1XX/N3XX platforms?

Hello, Hailo community!
I need an assistance with my Hailo8 m.2 (m-key) implementation, looks like I have some hardware incompatibility.
My problem is that I can’t install Hailo8 for Intel N100/N305-based platforms:
What have I tested already:

  1. Main NAS - Intel N305 with two m.2 nvme slots running Proxmox - can’t see any co-processor unit with lspci.

  2. Compact NAS - Intel N100 with one m.2 nvme slot running Proxmox (tried Ubunu too) - can’t see any co-processor unit with lspci.

  3. My PC running Win10 - Hailo8 is recognized as co-processor normally.

  4. Very old AMD Sempron 2100+ thin client running Ubuntu with pci-e slot and Hailo installed using pci-e to m.2 adapter - can see Hailo8 with lspci check!

    This problem is not about a number of pce-e lines, since AMD Sempron passes only 1 line, it is pci-eX1.
    And for N100 I have tried to provide an additional external power to pci-e slot via pci-e riser - not helped. So it is not about power too.
    For now I have no any idea why Hailo8 is not recognized on N-platforms…

And there are no any additional m.2-related settings in the N100/N305 BIOSes, not even “turn m.2 nvme on/off”.

Here is N100 lspci list (it is Topton R1 compact PC with 2 sata slots, m.2-M for ssd and m.2-A-F for wifi/bt module):

admin@proxmox:~$ lspci
00:00.0 Host bridge: Intel Corporation Alder Lake-N Processor Host Bridge/DRAM Registers
00:02.0 VGA compatible controller: Intel Corporation Alder Lake-N [UHD Graphics]
00:0d.0 USB controller: Intel Corporation Alder Lake-N Thunderbolt 4 USB Controller
00:14.0 USB controller: Intel Corporation Alder Lake-N PCH USB 3.2 xHCI Host Controller
00:14.2 RAM memory: Intel Corporation Alder Lake-N PCH Shared SRAM
00:16.0 Communication controller: Intel Corporation Alder Lake-N PCH HECI Controller
00:17.0 SATA controller: Intel Corporation Alder Lake-N SATA AHCI Controller
00:1c.0 PCI bridge: Intel Corporation Alder Lake-N PCI Express Root Port
00:1c.6 PCI bridge: Intel Corporation Alder Lake-N PCI Express Root Port
00:1d.0 PCI bridge: Intel Corporation Alder Lake-N PCI Express Root Port
00:1f.0 ISA bridge: Intel Corporation Alder Lake-N PCH eSPI Controller
00:1f.4 SMBus: Intel Corporation Alder Lake-N SMBus
00:1f.5 Serial bus controller: Intel Corporation Alder Lake-N SPI (flash) Controller
02:00.0 Ethernet controller: Intel Corporation Ethernet Controller I226-V (rev 04)
03:00.0 Ethernet controller: Intel Corporation Ethernet Controller I226-V (rev 04)

Welcome to the Hailo Community!

I have tested quite a few Intel-based platforms, ranging from Atom to Core-i9, with the Hailo-8. Installation usually works without issue. However, I have not tested the Hailo-8 on N100 or N305-based systems.

I recommend reviewing the hardware documentation to confirm whether the PCIe slot is shared with another slot or port, as this can affect device enumeration.

For testing, I also suggest using Ubuntu. You can check the system logs for PCIe-related entries with the following command:

dmesg | grep -i pcie

Look for messages such as link down, training error, or other errors that could indicate PCIe negotiation issues.

Here is my output from Ubuntu 24 server console:
admin@ubuntu:~$ sudo dmesg | grep -i pcie
[ 0.387127] acpi PNP0A08:00: _OSC: OS now controls [PCIeHotplug SHPCHotplug PME PCIeCapability LTR DPC]
[ 0.392189] pci 0000:00:02.0: [8086:46d1] type 00 class 0x030000 PCIe Root Complex Integrated Endpoint
[ 0.399159] pci 0000:00:1c.0: [8086:54ba] type 01 class 0x060400 PCIe Root Port
[ 0.400100] pci 0000:00:1c.6: [8086:54be] type 01 class 0x060400 PCIe Root Port
[ 0.401002] pci 0000:00:1d.0: [8086:54b0] type 01 class 0x060400 PCIe Root Port
[ 0.402895] pci 0000:02:00.0: [8086:125c] type 00 class 0x020000 PCIe Endpoint
[ 0.403381] pci 0000:03:00.0: [8086:125c] type 00 class 0x020000 PCIe Endpoint
[ 0.502522] pcieport 0000:00:1c.0: PME: Signaling with IRQ 122
[ 0.502828] pcieport 0000:00:1c.6: PME: Signaling with IRQ 123
[ 0.503115] pcieport 0000:00:1d.0: PME: Signaling with IRQ 124
[ 0.918336] igc 0000:02:00.0: 4.000 Gb/s available PCIe bandwidth (5.0 GT/s PCIe x1 link)
[ 0.990882] igc 0000:03:00.0: 4.000 Gb/s available PCIe bandwidth (5.0 GT/s PCIe x1 link)

As I understand - no any errors?
And I have tested NVME SSD disk in this m.2 slot - it works well.

BTW this mini-pc has another m.2 (but it is a+f for wibi/bt, I’m not going to use it), I will try to start Hailo8 in this slot using a+f → m key adapter.

This looks more and more like a limitation of the motherboard.

Did you check the hardware documentation? N100 system are typically low cost and may support NVME only. The BIOS software may simply ignore non-storage devices. This would explain why you do not see any error in the operating system.

Well, I’m 100% sure that is some kind of bios restriction, and unfortunately it’s bios is very simple, has no any additional options about m.2 slot configurations.
I have installed Hailo8 in my “main NAS” based on N305, but this time I installed it using pci-eX4 adapter, not into m.2 motherboard slot. And in this setup I can see my “04:00.0 Co-processor: Hailo Technologies Ltd. Hailo-8 AI Processor (rev 01)” with lspci.
But my next problem - I’m running this NAS on Syno DSM7.2.2, and as I understand - I cannot install hailort-pcie-driver_4.21.0_all.deb directly in DSM since it has no option for build_essential installation and all other dependencies required by installation script.
So need an advice - what should I do in this case? The easiest way is to swap DSM for Proxmox, but I’m interested in implementation exactly for DSM, since this scenario is very popular (for Frigate NVR installation for example). Another easy way is so swap from Hailo8 to G***** C**** usb device :face_with_peeking_eye: (as I see - DSM can pass-thru USB to Docker easily). But I’m interested exactly in this setup.
So as I see - the only way is to download Syno toolchain and try to compile this driver from scratch, am I right?
Will appreciate any advise/additional info about DSM implementation.

So here is my last update: I’ve got a A-E→M key adapter, and with this adapter Hailo8 started successfully. Installed and started it with Frigate on this N100 in 10 minutes from scratch, catching and processing the same stream from my main camera, as it is processed on my main Frigate with N305 and OV detector.
But since it is impossible to start Hailo8 on Syno DSM - looks like I’ll stay on OV detector for my needs.

Interesting, thanks for sharing.

Again, interesting. So, the M.2 A+E slot does support non NVME devices but the M.2 key M slot does not detect Hailo-8. We do have Hailo-8 M.2 key A+E modules in case you would like to avoid using the adapter in the long run.

I have successfully cross-compiled 4.21.0 driver for Synology DSM 7.2.2!
Hailo8 now runs perfectly! Hey, Hailo team, get ready for doubling your sales! :wink:
Thank you KlausK for you answers, and Happy NY-2026 to everyone!

3 Likes