Einen Hailo-8-M.2-Beschleuniger mit reComputer RK3576 verwenden

Diese Anleitung zeigt, wie Sie den Hailo-8-PCIe-Treiber und HailoRT auf einem reComputer RK3576 installieren, den Beschleuniger prüfen und eine HEF-Datei aus dem Hailo Model Zoo auf dem Gerät ausführen. Getestet wurde das Seeed Studio Hailo-8 M.2 Key M 2280 Modul, kein Hailo-8L.

Systemkonfiguration

KomponenteGetestete Konfiguration
HostreComputer RK3576 Dev Kit
BetriebssystemArmbian-unofficial 26.05.0-trunk, Debian 12 (bookworm), ARM64
Kernel6.1.115-vendor-seeed-rk3576
BeschleunigerSeeed Studio Hailo-8 M.2 Key M 2280 Modul
PCIe-Gerät1e60:2864
Ausgehandelte VerbindungPCIe Gen2 x1, 5.0 GT/s
Laufzeitumgebung und PCIe-TreiberHailoRT 4.23.0, hailort-pcie-driver 4.23.0
Test-HEFHailo Model Zoo v2.17.0, centerpose_regnetx_800mf.hef, HAILO8, Eingabe 512 × 512 × 3

Modul einsetzen und PCIe prüfen

Fahren Sie den RK3576 herunter und trennen Sie die Stromversorgung, bevor Sie das M.2-Modul einsetzen oder neu einstecken. Setzen Sie den Hailo-8 in den M.2-Key-M-Steckplatz der Platine ein, befestigen Sie ihn und schließen Sie die Stromversorgung wieder an.

Prüfen Sie nach dem Start das PCIe-Gerät und die ausgehandelte Verbindung:

bash
lspci -nnk -s 01:00.0
cat /sys/bus/pci/devices/0000:01:00.0/current_link_speed
cat /sys/bus/pci/devices/0000:01:00.0/current_link_width

Die getestete Karte wurde unter 01:00.0 als Hailo-8 AI Processor [1e60:2864] mit einer 5.0 GT/s PCIe-x1-Verbindung erkannt. Auf einem anderen System kann die Busadresse abweichen. Verwenden Sie für die sysfs-Dateien die von lspci angezeigte Adresse.

Hailo-8-PCIe-Gerät und ausgehandelte Gen2-x1-Verbindung

HailoRT 4.23.0 herunterladen

Hailo-8 verwendet die HailoRT-4.x-Software. Laden Sie die zueinander passenden ARM64-Pakete für Laufzeitumgebung und PCIe-Treiber aus Hailos öffentlichem Hailo-8-Verzeichnis herunter:

bash
mkdir -p ~/hailo8-4.23.0
cd ~/hailo8-4.23.0

curl -fL -O https://dev-public.hailo.ai/2025_10/Hailo8/hailort_4.23.0_arm64.deb
curl -fL -O https://dev-public.hailo.ai/2025_10/Hailo8/hailort-pcie-driver_4.23.0_all.deb

dpkg-deb -f hailort_4.23.0_arm64.deb Package Version Architecture
dpkg-deb -f hailort-pcie-driver_4.23.0_all.deb Package Version Architecture

Beide Pakete müssen 4.23.0 melden, das Laufzeitpaket außerdem arm64. Hailo nennt diese direkten Download-Links in seiner Community-Installationsanleitung.

Der Treiber wird für den laufenden Kernel gebaut. Prüfen Sie vor der Installation die passenden Kernel-Header und DKMS:

bash
ls -ld /lib/modules/$(uname -r)/build
command -v dkms

Auf dem getesteten Armbian-Image zeigt der Header-Pfad auf linux-headers-6.1.115-vendor-seeed-rk3576. Schlägt eine Prüfung fehl, installieren Sie zuerst die Header für genau den laufenden Kernel und DKMS.

Laufzeitumgebung und PCIe-Treiber installieren

Prüfen Sie vor dem Ändern von Paketen die vorhandene Hailo-Installation:

bash
dpkg-query -W -f='${binary:Package}\t${Version}\n' | grep -i hailo

Falls die Platine zuvor den USB-Beschleuniger ASUS UGen300 verwendet hat, entfernen Sie dessen HailoRT-5.x-Laufzeitumgebung und USB-Treiber, bevor Sie die Hailo-8-PCIe-Software installieren:

bash
sudo apt-get purge hailort-usb-driver hailort

Installieren Sie die 4.23.0-Pakete aus dem Download-Verzeichnis:

bash
cd ~/hailo8-4.23.0
sudo apt-get install ./hailort-pcie-driver_4.23.0_all.deb \
  ./hailort_4.23.0_arm64.deb

Aktivieren Sie bei der Abfrage DKMS, damit der Treiber für den laufenden Kernel gebaut wird. Bei der getesteten Installation wurde auch hailort.service aktiviert. Das PCIe-Treiberpaket enthält das passende Startabbild hailo8_fw.4.23.0.bin, das bei der Treiberinitialisierung auf die Karte geladen wird. Dieser Ablauf verwendet kein hailortcli fw-update.

Starten Sie neu und prüfen Sie die Treiberbindung und den Geräteknoten:

bash
sudo reboot
bash
lspci -nnk -s 01:00.0
modinfo hailo_pci | grep -E '^(version|vermagic):'
ls -l /dev/hailo0
hailortcli --version

Auf der getesteten Platine zeigte lspci Kernel driver in use: hailo an. Sowohl das Modul als auch die HailoRT-CLI meldeten 4.23.0.

Hailo-8-Treiberbindung, Geräteknoten und übereinstimmende Versionen 4.23.0

Beschleuniger identifizieren

Suchen Sie mit HailoRT nach PCIe-Geräten und lesen Sie die Modulinformationen aus:

bash
hailortcli scan
hailortcli fw-control identify

Das getestete Gerät wurde unter 0000:01:00.0 gefunden. Die Identifizierung zeigte Device Architecture: HAILO8, Firmware Version: 4.23.0 und Product Name: Seeed Studio Hailo-8 M.2 Key M 2280 Module.

HailoRT-Scan und Identifizierung des Hailo-8

Eine HEF aus dem Hailo Model Zoo ausführen

Laden Sie das für HAILO8 vorkompilierte CenterPose-Modell aus Hailo Model Zoo v2.17.0 herunter:

bash
cd ~/hailo8-4.23.0
curl -fL -o centerpose_regnetx_800mf.hef \
  https://hailo-model-zoo.s3.eu-west-2.amazonaws.com/ModelZoo/Compiled/v2.17.0/hailo8/centerpose_regnetx_800mf.hef

hailortcli parse-hef centerpose_regnetx_800mf.hef

parse-hef sollte Architecture HEF was compiled for: HAILO8 und eine Eingabe UINT8, NHWC(512x512x3) ausgeben. Die getestete HEF aus Model Zoo v2.17.0 hat den SHA-256-Wert 625cbd18736c87ba708f46011cc683261690e8d68f054adc0e3df1e1a925a369.

Führen Sie das Netzwerk fünf Sekunden lang mit von HailoRT erzeugten Eingabedaten aus:

bash
hailortcli run2 -t 5 set-net centerpose_regnetx_800mf.hef

Der Befehl muss 100 % erreichen und für centerpose_regnetx_800mf einen FPS-Wert größer als null melden. Damit wird Inferenz auf dem Beschleuniger ausgeführt; die CenterPose-Ausgabe wird jedoch nicht als sichtbare Schlüsselpunkte dargestellt. HailoRT 4.23.0 kann eine Warnung anzeigen, die für ein einzelnes Modell run empfiehlt, obwohl run2 in diesem Test funktioniert.

HAILO8-HEF-Informationen und abgeschlossene Inferenz

Fehlerbehebung

  • lspci zeigt kein 1e60:2864: Trennen Sie die Stromversorgung des RK3576 vollständig, stecken Sie die M.2-Karte erneut ein und prüfen Sie den Key-M-PCIe-Steckplatz.
  • Das PCIe-Gerät ist vorhanden, aber /dev/hailo0 fehlt: Prüfen Sie mit dkms status, modinfo hailo_pci und sudo dmesg -T | grep -i hailo, ob Treiberbau oder Firmwareladen fehlgeschlagen sind.
  • HailoRT meldet eine Treiberversionsabweichung: hailortcli --version und modinfo hailo_pci müssen beide 4.23.0 anzeigen.
  • Die HEF wird abgewiesen: Prüfen Sie, ob hailortcli parse-hef HAILO8 meldet, und verwenden Sie ein Hailo-8-Modell aus Model Zoo v2.x statt einer HEF für Hailo-8L oder Hailo-10H.

Quellen