Can't find hailo pcie class

I’m using amd64 architecture for ubuntu.
So I installed pcie driver like the below.

  • sudo dpkg --install hailort_4.17.0_amd64.deb hailort-pcie-driver_4.17.0_all.deb

It looks installed well without any issue.
But when I execute the command “hailortcli scan”, then there comes lots of errors like the below. What’s the problem?
[HailoRT] [error] Can’t find hailo pcie class, this may happen if the driver is not installed (this may happen if the kernel was updated), or if there is no connected Hailo board
[HailoRT] [error] CHECK_SUCCESS failed with status=HAILO_PCIE_DRIVER_NOT_INSTALLED(64) - Failed listing pcie devices
[HailoRT] [error] CHECK_SUCCESS failed with status=HAILO_PCIE_DRIVER_NOT_INSTALLED(64)
[HailoRT] [error] CHECK_SUCCESS failed with status=HAILO_PCIE_DRIVER_NOT_INSTALLED(64)
[HailoRT CLI] [error] CHECK_SUCCESS failed with status=HAILO_PCIE_DRIVER_NOT_INSTALLED(64)

For reference, my ubuntu kernel release version is 6.8.0-35-generic bigger than recommendation.
I tried installing dkms and gcc-12, but there is no change.

Please help me.

Can you first confirm that you can see the Hailo-8 when you run lspci?

PCIe does not need any device specific driver to find all PCIe devices and get some base information. This is handled by reading standardized registers in the hardware.

If you cannot see the Hailo device, please check your BIOS settings. Sometimes the ports can be disabled or switched to other modes.

How did you connect the Hailo-8 in your system?

I cannot see the Hailo-8 when I ran lspci.
Here is the message.

> 00:00.0 Host bridge: Intel Corporation Raptor Lake-P 6p+8e cores Host Bridge/DRAM Controller
> 00:02.0 VGA compatible controller: Intel Corporation Raptor Lake-P [UHD Graphics] (rev 04)
> 00:04.0 Signal processing controller: Intel Corporation Raptor Lake Dynamic Platform and Thermal Framework Processor Participant
> 00:06.0 PCI bridge: Intel Corporation Raptor Lake PCIe 4.0 Graphics Port
> 00:07.0 PCI bridge: Intel Corporation Raptor Lake-P Thunderbolt 4 PCI Express Root Port #0
> 00:07.1 PCI bridge: Intel Corporation Device a73f
> 00:08.0 System peripheral: Intel Corporation GNA Scoring Accelerator module
> 00:0a.0 Signal processing controller: Intel Corporation Raptor Lake Crashlog and Telemetry (rev 01)
> 00:0d.0 USB controller: Intel Corporation Raptor Lake-P Thunderbolt 4 USB Controller
> 00:0d.2 USB controller: Intel Corporation Raptor Lake-P Thunderbolt 4 NHI #0
> 00:12.0 Serial controller: Intel Corporation Alder Lake-P Integrated Sensor Hub (rev 01)
> 00:14.0 USB controller: Intel Corporation Alder Lake PCH USB 3.2 xHCI Host Controller (rev 01)
> 00:14.2 RAM memory: Intel Corporation Alder Lake PCH Shared SRAM (rev 01)
> 00:14.3 Network controller: Intel Corporation Raptor Lake PCH CNVi WiFi (rev 01)
> 00:15.0 Serial bus controller: Intel Corporation Alder Lake PCH Serial IO I2C Controller #0 (rev 01)
> 00:15.1 Serial bus controller: Intel Corporation Alder Lake PCH Serial IO I2C Controller #1 (rev 01)
> 00:16.0 Communication controller: Intel Corporation Alder Lake PCH HECI Controller (rev 01)
> 00:1f.0 ISA bridge: Intel Corporation Raptor Lake LPC/eSPI Controller (rev 01)
> 00:1f.3 Audio device: Intel Corporation Raptor Lake-P/U/H cAVS (rev 01)
> 00:1f.4 SMBus: Intel Corporation Alder Lake PCH-P SMBus Host Controller (rev 01)
> 00:1f.5 Serial bus controller: Intel Corporation Alder Lake-P PCH SPI Controller (rev 01)
> 00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (23) I219-LM (rev 01)
> 01:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller PM9B1 (DRAM-less) (rev 02)

When I check if the driver was installed, it was done well.
Here is the message when I ran dpkg -l | grep hailo

> ii  hailort                                       4.17.0                                   amd64        HailoRT
> ii  hailort-pcie-driver                           4.17.0                                   all          Hailo PCIe driver and firmware

As I know, the pcie driver can be seen in the list without plugging in, right?
And it doesn’t work even I plugged the hailo 8 thunderbolt module in to the thunderbolt port.

Please help me. I can’t move forward because of this issue.

We first need to make sure you can see the Hailo-8 when running lspci. Without that we do not need to worry about the driver.

I suspect the issue is your Thunderbolt adapter. Can you please tell me the exact model, tell me how much is costs and provide a link to where you bought it so I can have a look? If the adapter or cable does not support PCIe it will not work.
Please read the following post with some more information about this.

How can I connect a Hailo-8-8l to my pc or laptop

Alternatively you can also try to plug-in the module into your motherboard directly or via a PCIe card adapter. See the same post above.

Thank you, klaus.

I can see the Hailo-8 when running lspci after plugging it in.

`

04:00.0 Co-processor: Hailo Technologies Ltd. Hailo-8 AI Processor (rev 01)

`

However, I still encounter the same issue when running hailortcli scan as mentioned in my initial question.

For your reference, I am using an “OWC, ENVOY EXPRESS” which I borrowed. I don’t know the cost, nor am I aware of whether it contains the Hailo-8L or Hailo-8H.

That is a good sign.

There could be an issue with the new kernel. I would recommend you install an older kernel for now. I will ask my colleagues from R&D to have a look.

When the driver is working you can run the following command to find out.

hailortcli fw-control identify

It works now.
I downloaded the hailort-pci code from github.

git clone https://github.com/hailo­ai/hailort­drivers.git

I compiled it all, and installed it explained on document.>

cd linux/pcie
make all
sudo make install
sudo modprobe hailo_pci
./download_firmware.sh
sudo mv hailo8_fw..bin /lib/firmware/hailo/hailo8_fw.bin
sudo cp ./linux/pcie/51­hailo­udev.rules /etc/udev/rules.d/
sudo udevadm control ­­reload­rules && sudo udevadm trigger

And finally it works well.
Thank you.

1 Like