MVTec Halcon can't find Hailo8 M.2 Module

My MVTec Halcon 24.05 Software can’t find my hailo device. it just tells me that there are no suitable devices. The Hailo Integration tool finds the chip, but the PCIe tests fail. It wants a PCIe x4 connection even though it is a B+M device that should only use x2. It also fails the PCIe speed test.

Forgot to add: I am using Windows 10

Hey @frf ,

Welcome to the Hailo Community!

Can you provide more info on the error you are receiving?

I get this error when executing this code.
The code is directly from the Halcon website.
The Device handle seems to be empty.

* Inference happens either on the actual Hailo-chip or as an Emulation. These devices specify a precision: "'precisions': 'int8'".
* To differentiate them use the 'type': 'Hailo-8' or 'Hailo emulation device' as shown below.
query_available_dl_devices (['ai_accelerator_interface', 'precisions'], ['hailo', 'int8'], HailoInferenceDevices)
if (|HailoInferenceDevices| == 0 or |HailoCalibrationDevice| == 0)
    throw ('No supported device found to continue this example. Ensure that the Hailo Plugin is installed!')```


```Unbehandelte Ausnahme im Programm:

Benutzerdefinierte Exception ("throw") (HDevelop-Fehlercode: 21001)
beim Aufruf von 'throw' in Prozedur 'main', Zeile 50.

Anwenderdaten:
    ['No supported device found to continue this example. Ensure that the Hailo Plugin is installed!']```

Hi, I have same problem like you too .

Now you can solve this problem ?

Thank you.

Yes, the problem is solved on Windows.
Hailo released a new plugin version (23.05.5) one week ago. After using the new version, everything worked fine.
On Linux there is still a problem. It seems that the current PCIe-Driver version has a bug and is the reason.

Important to know. Calibration of the Hailo-Model is just possible on Linux, not on Windows.

Hi, frf
Thank you for reply

your mean must use
Hailo MVTec Halcon Plugin x86_64 (Windows)
23.05.5.0 July 21, 2024

this version right ?

I see files hAI2iHailo.dll and hAI2iHailo.lib

  1. How I install this files correctly ?

Can you explain to me ?

I still have problem with Halcon 24.05 on Windows 11

  1. you test with example of Hailo work fine all ?

hailo_example-23.05.5.0\examples\hdevelop\Deep-Learning\AI2Interfaces\hailo

0_gen_calib_data.hdev ← Can run on Windows right ?

1_calibrate_dl_models.hdev ← this must Run on Halcon version Linux right ?

2_infer_and_eval_dl_models.hdev ← This can Run on Windows11 right ?

please suggest me I still have problem more than 3 month

Thank you very much

Hi,

yes exactly, version 23.05.5.0.

For installation, just copy the content of the hailo_plugin-23.05.5.0-x64-win64 (bin, doc, third party file) into your Halcon installation directory.

Yes it worked fine. But, I’m working on Windows 10. I’ve no idea how it’s behaving on Windows 11.

Yes, the calibration is just possible on Linux, but you don’t need an installed Hailo-Chip on your Linux device. The calibration can be executed with the Hailo emulation device.

query_available_dl_devices ([‘ai_accelerator_interface’, ‘precisions’, ‘type’], [‘hailo’, ‘int8’, ‘Hailo emulation device’], HailoInferenceDevice)

1 Like

Thank you for reply .
I will test again but

I would like to know I must set files path for hAI2iHailo.dll and hAI2iHailo.lib
on System variables or User variable on Windows ?

on example file of Hailo 1_calibrate_dl_models.hdev

I must change this line

DefaultAI2Type:= ‘Hailo-8’
to
DefaultAI2Type:= ‘Hailo emulation device’

right ?

and I still can run this example Halcon software on Windows right ?


    1. Preparation

  • Default values if not set via global tuple (e.g. in via hrun).
    DefaultAI2Interface := ‘hailo’
    DefaultAI2Precision := ‘int8’
    DefaultAI2Type:= ‘Hailo emulation device’

get_ai2_device (‘conversion’, DefaultAI2Interface, DefaultAI2Type, DefaultAI2Precision, DLDevicesConversion)


because previous i error at this line of code get_ai2_device
this line call sub function

query_available_dl_devices (QueryAI2Keys, QueryAI2Vals, DLDeviceHandles)
*
if(|DLDeviceHandles| == 0)
throw(‘No suitable device found.’)
endif
return ()

and I get error ‘No suitable device found’

Thank you

depends if you installed Halcon for the system or the local user, but if you’re not sure just set it for both. open the command line and call “set” to see what variables are set.

yes this line, but not on Windows. As I said, calibration is just possible on Linux and there is still this problem with the PCIe driver. On windows you can infer only (with the Hailo-Chip).

Now I use Command SET in CMD . Result like this (I cut just relate Halcon only)

HALCONARCH=x64-win64
HALCONEXAMPLES=C:\Users\akkar\AppData\Roaming\MVTec\HALCON-24.05-Progress/examples
HALCONIMAGES=C:\Users\akkar\AppData\Roaming\MVTec\HALCON-24.05-Progress/examples/images
HALCONROOT=C:\Users\akkar\AppData\Local\Programs\MVTec\HALCON-24.05-Progress

Can you share your config on you PC ?

I want to see what’s differrent ?

Thank you

Path=C:\Program Files\HailoRT\bin;C:\Users\akkar\AppData\Local\Programs\MVTec\HALCON-24.05-Progress/bin/x64-win64;

SOMCTLPATH=C:\Users\akkar\AppData\Roaming\npm;C:\Users\akkar\AppData\Local\Programs\MVTec\HALCON-24.05-Progress\bin\x64-win64

HALCONARCH=x64-win64
HALCONEXAMPLES=C:\Users\Public\Documents\MVTec\HALCON-24.05-Progress/examples
HALCONIMAGES=C:\Users\Public\Documents\MVTec\HALCON-24.05-Progress/examples/images
HALCONROOT=C:\Program Files\MVTec\HALCON-24.05-Progress

because I installed it as admin for the system. but i don’t think that this is the reason for your problems. your paths seem to be correct.

Thank you. for reply
I will test and see what’s happen .