在 reComputer RK3576 上使用 Hailo-8 M.2 加速卡
本教程介绍如何在 reComputer RK3576 上安装 Hailo-8 PCIe 驱动和 HailoRT、确认加速卡可用,并在设备上运行 Hailo Model Zoo 的 HEF 模型。实际测试使用的是 Seeed Studio Hailo-8 M.2 Key M 2280 模块,而非 Hailo-8L。
系统配置
| 项目 | 实测配置 |
|---|---|
| 主机 | reComputer RK3576 Dev Kit |
| 操作系统 | Armbian-unofficial 26.05.0-trunk,Debian 12 (bookworm),ARM64 |
| 内核 | 6.1.115-vendor-seeed-rk3576 |
| 加速卡 | Seeed Studio Hailo-8 M.2 Key M 2280 模块 |
| PCIe 设备 | 1e60:2864 |
| 协商链路 | PCIe Gen2 x1,5.0 GT/s |
| 运行时与 PCIe 驱动 | HailoRT 4.23.0,hailort-pcie-driver 4.23.0 |
| 测试 HEF | Hailo Model Zoo v2.17.0,centerpose_regnetx_800mf.hef,HAILO8,输入尺寸 512 × 512 × 3 |
安装模块并检查 PCIe
安装或重新插拔 M.2 模块前,请关闭 RK3576 并断开电源。将 Hailo-8 插入主板的 M.2 Key M 插槽,固定后再接通电源。
启动后检查 PCIe 设备和协商链路:
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实测板卡在 01:00.0 枚举为 Hailo-8 AI Processor [1e60:2864],链路为 5.0 GT/s PCIe x1。其他系统上的总线地址可能不同;检查 sysfs 链路文件时,请使用 lspci 显示的地址。

下载 HailoRT 4.23.0
Hailo-8 使用 HailoRT 4.x 软件栈。从 Hailo 公开的 Hailo-8 发布目录下载版本匹配的 ARM64 运行时和 PCIe 驱动包:
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两个软件包的版本都必须是 4.23.0,运行时软件包的架构必须是 arm64。Hailo 在社区安装说明中提供了这些直链。
驱动需要针对当前运行的内核编译。安装前确认对应内核头文件和 DKMS 已就绪:
ls -ld /lib/modules/$(uname -r)/build
command -v dkms在实测的 Armbian 镜像中,头文件路径指向 linux-headers-6.1.115-vendor-seeed-rk3576。如果任一检查失败,请先安装与当前内核完全匹配的头文件以及 DKMS。
安装运行时和 PCIe 驱动
更改软件包之前,先检查现有的 Hailo 安装:
dpkg-query -W -f='${binary:Package}\t${Version}\n' | grep -i hailo如果主板此前使用过 ASUS UGen300 USB 加速器,应先卸载其 HailoRT 5.x 运行时和 USB 驱动,再安装 Hailo-8 PCIe 软件栈:
sudo apt-get purge hailort-usb-driver hailort从下载目录安装 4.23.0 软件包:
cd ~/hailo8-4.23.0
sudo apt-get install ./hailort-pcie-driver_4.23.0_all.deb \
./hailort_4.23.0_arm64.deb出现提示时启用 DKMS,使驱动针对当前内核编译。实测安装也启用了 hailort.service。PCIe 驱动包包含匹配的 hailo8_fw.4.23.0.bin 启动镜像;驱动初始化时会将其加载到板卡。本安装过程不使用 hailortcli fw-update。
重启后确认驱动已绑定且设备节点存在:
sudo rebootlspci -nnk -s 01:00.0
modinfo hailo_pci | grep -E '^(version|vermagic):'
ls -l /dev/hailo0
hailortcli --version在实测主板上,lspci 显示 Kernel driver in use: hailo,内核模块与 HailoRT CLI 均显示 4.23.0。

识别加速卡
使用 HailoRT 扫描 PCIe 总线并读取模块信息:
hailortcli scan
hailortcli fw-control identify实测设备位于 0000:01:00.0。识别结果显示 Device Architecture: HAILO8、Firmware Version: 4.23.0 和 Product Name: Seeed Studio Hailo-8 M.2 Key M 2280 Module。

运行 Hailo Model Zoo HEF
从 Hailo Model Zoo v2.17.0 下载为 HAILO8 预编译的 CenterPose 模型:
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.hefparse-hef 应显示 Architecture HEF was compiled for: HAILO8,输入为 UINT8, NHWC(512x512x3)。实测 Model Zoo v2.17.0 HEF 的 SHA-256 为 625cbd18736c87ba708f46011cc683261690e8d68f054adc0e3df1e1a925a369。
使用 HailoRT 生成的输入数据运行网络 5 秒:
hailortcli run2 -t 5 set-net centerpose_regnetx_800mf.hef命令应运行到 100%,并为 centerpose_regnetx_800mf 报告非零 FPS。这表示加速卡完成了推理,但不会将 CenterPose 输出解码为可视化关键点。尽管 run2 在此测试中有效,HailoRT 4.23.0 仍可能输出建议单模型使用 run 的警告。

故障排查
lspci中没有1e60:2864:将 RK3576 完全断电,重新安装 M.2 板卡,并确认其位于 Key M PCIe 插槽。- PCIe 设备存在但没有
/dev/hailo0:查看dkms status、modinfo hailo_pci和sudo dmesg -T | grep -i hailo,排查驱动编译或固件加载失败。 - HailoRT 报告驱动版本不匹配:检查
hailortcli --version和modinfo hailo_pci,两者都必须显示4.23.0。 - HEF 被拒绝:确认
hailortcli parse-hef显示HAILO8,并使用 Model Zoov2.x系列中的 Hailo-8 模型,而非 Hailo-8L 或 Hailo-10H HEF。