Unable to setup hailo; DRIVER NOT INSTALLED

Hi,

I have been exploring HAILO8L. At first, I was able to follow the RPi5 examples, but now (fresh start), I cannot set it up using “sudo apt install hailo-all”. Upon executing fw-control identify, it shows that the driver is not installed.

If I use the deb packages from the developer zone, it won’t work due to a version mismatch.

If I follow Hailo apps infra (or even Pi5 examples), the hailortcli works, but when I run the detection pipeline, it fails due to certain mismatches and GStreamer issues.

I am running an object detection app on Pi5 (CPU inference), and I just want to integrate HAILO8L for inference outputs (performed on captured frames). If there is someone who has used Hailo for their own custom project, I would be happy to connect for guidance.

Thank you!

Hey @Muhted_Baig,

Welcome to the community!

Could you share what error message you’re getting when trying to install hailo-apps-infra? Also, what happens when you run sudo apt install hailo-all?

The examples should work right after installing from the repo, so if you’re running into issues at runtime, let me know what errors you’re seeing and I’ll help you get it sorted out.

I had lots of dependencies issues, driver wouldnt install, if it does Hailort would be missing; I cleaned everything and then tried sudo apt install hailo-all with rpicam from start. There were some driver issues too however i was able to run it after hailo all using rpicam pipeline and gemini support:

rpicam-hello -t 0 --post-process-file /usr/share/rpi-camera-assets/hailo_yolov8_inference.json

However, I cannot figure out the documentations and custom pipeline.

Now facing following errors:
(compiled by gemini)
This table lists the specific errors you encountered while debugging the HailoRT Python SDK (v4.20.0), categorized by type.


1. :brick: Import Issues (Missing or Hidden Functions)

Error Message Implication / Cause
ImportError: Failed to find the standalone 'infer' function. Cannot proceed. The standard high-level infer function, often imported directly from hailo_platform, is missing or hidden in this SDK version’s public interface.
ImportError: cannot import name 'infer' from 'hailo_platform' Confirmed the function is not exposed at the top level, forcing the use of lower-level object methods.
no module as tappaws The custom TAPPAS post-processing module was either named differently, not in the expected Python path, or only available as a C++ library wrapper, forcing its removal or replacement in the code.

2. :puzzle_piece: Argument & Attribute Issues (API Mismatch)

Error Message Implication / Cause
AttributeError: 'ConfiguredNetwork' object has no attribute 'get_input_vstream' The mid-level object-oriented stream access method was not implemented on the ConfiguredNetwork object.
InferVStreams.__init__() got an unexpected keyword argument 'network_group' The constructor for the inference class rejected the network_group object as an argument initially, indicating the wrong argument name or order was used.
InferVStreams.__init__() got an unexpected keyword argument 'input_vstream_names' The expected plural argument name (input_vstream_names) was rejected, forcing a test of the singular name.
InferVStreams.__init__() got an unexpected keyword argument 'input_vstream_name' Both the plural and singular argument names were rejected, proving the required name was completely different (later revealed by inspection to be input_vstreams_params).
InputVStreamParams() takes no arguments This is the critical final error. It contradicts the required InferVStreams signature and means the VStream Parameter object cannot be instantiated with arguments (e.g., vstream_info=...), and must be instantiated empty.

3. :bomb: Any Other Issues (Environmental/Structural)

Issue Type Problematic Behavior
Code Contradiction The final, failing code was written using the exact signature retrieved from the inspect tool, meaning the issue is likely environmental (driver/firmware), linking (Python binding vs. C++ library), or the Python object itself is misrepresenting its own constructor in this SDK version.
Inconsistent API The entire sequence of errors confirms that the standard Hailo API has evolved significantly, making V4.20.0 an unstable and difficult-to-target version requiring deep introspection for every major class.
Raw Stream Retrieval High-level properties like .input_vstreams were unavailable, forcing the use of low-level getter methods like list(network_group.get_input_vstream_infos()).

Is there any strong documentation to help me with custom usage? I need to replace my yolo ncnn model with a hef to increase speed.

Hey @Muhted_Baig,

Looking at these issues, it seems like you’re trying to use the Hailo API directly with Python rather than going through the gstreamer pipelines that come with hailo-apps-infra. That’s likely where things are going wrong.

The hailo-all package was just updated to version 4.23, so let’s get your system fully up to date first. Run these commands:

sudo apt update
sudo apt full-upgrade
sudo apt install dkms
sudo apt install hailo-all

Once that finishes and 4.23 is installed properly, you can move on to setting up hailo-apps-infra. Head over to the repo here: GitHub - hailo-ai/hailo-apps-infra

Run the install script with sudo install.sh, then activate the virtual environment and test out the pipelines from there.

If you really need to use the Python API directly for now, check out this repository: Hailo-Application-Code-Examples/runtime/hailo-8/python at main · hailo-ai/Hailo-Application-Code-Examples · GitHub (Note: this will be integrated into hailo-apps-infra in the next release anyway.)

Once you’ve gone through all that, could you share the logs and the exact commands you ran? That’ll help me narrow down what’s happening. From what I can see so far, it looks like the Python inference API is being called directly inside hailo-apps-infra, which shouldn’t be happening.

Hope this helps!