Utiliser l'accélérateur USB AI ASUS UGen300 avec le reComputer RK3576
L'ASUS UGen300 est un accélérateur USB AI construit autour du processeur Hailo-10H avec 8 GB de mémoire LPDDR4. Ce tutoriel montre comment le connecter à un reComputer RK3576, installer le pilote USB ASUS et HailoRT aux versions correspondantes, mettre à jour le firmware de l'appareil si nécessaire, et vérifier que HailoRT peut communiquer avec l'accélérateur.
Configuration testée
| Élément | Configuration testée |
|---|---|
| Hôte | reComputer RK3576 Dev Kit |
| Système d'exploitation | Armbian-unofficial 26.05.0-trunk, Debian 12 (bookworm) |
| Noyau | 6.1.115-vendor-seeed-rk3576 |
| Architecture de l'hôte | AArch64 (arm64) |
| Accélérateur | ASUS UGen300 USB AI Accelerator, Hailo-10H, 8 GB LPDDR4 |
| USB ID de l'appareil | 0b05:1d6f |
| Lien USB négocié | 5000M sur le port RK3576 testé |
| Pilote USB | hailort-usb-driver 5.3.0 |
| Runtime | HailoRT 5.3.0 |
| Firmware de l'appareil après mise à jour | 5.3.0 (release,app) |
ASUS spécifie une interface USB 3.1 Gen 2 Type-C avec un débit de liaison maximal de 10 Gbps. La connexion testée sur le RK3576 a négocié à 5 Gbps, comme rapporté par lsusb -t.
Connecter et inspecter l'accélérateur
Connectez le UGen300 directement à un port hôte USB 3 avec le câble fourni ou un autre câble USB Type-C 10 Gbps.
Vérifiez que l'hôte peut voir l'accélérateur :
lsusb -d 0b05:1d6f
Avant que l'image Hailo ne soit chargée, un appareil nouvellement connecté peut apparaître comme UGen300 USB Loader. Vérifiez aussi la vitesse de liaison négociée :
lsusb -t
La branche du UGen300 a rapporté 5000M sur le reComputer RK3576 testé. Une entrée 480M signifie que la connexion est retombée en USB 2.
Vérifier les logiciels d'accélérateur existants
Le manuel ASUS indique que les pilotes PCIe et USB de HailoRT ne peuvent pas être installés en même temps, et que les pilotes Hailo-8 et Hailo-10H ne peuvent pas coexister. Inspectez les paquets installés avant de continuer :
dpkg -l | grep -Ei 'hailo|ugen'Supprimez un pilote Hailo PCIe ou Hailo-8 existant avant d'installer le paquet USB du UGen300. Ne supprimez pas une pile d'accélérateur sans rapport, sauf si vous avez l'intention d'en changer.
Télécharger et vérifier le paquet de pilote ASUS
Téléchargez le paquet de pilote USB ARM64 publié sur la page d'assistance de l'ASUS UGen300 :
mkdir -p ~/ugen300
cd ~/ugen300
curl -fL -o UGen300_USB_5.3.0_driver_Linux_arm64.zip \
https://dlcdnets.asus.com/pub/ASUS/AI_ACCELERATION_DEVICE/Driver/UGen300_USB_5.3.0_driver_Linux_arm64.zipVérifiez l'archive avant de l'extraire. La somme de contrôle ci-dessous est la valeur SHA-256 publiée par ASUS pour la version 5.3.0 :
echo '6a98b46d8f88a7911fea142a8b3f4a69715f5166cc112e1352eba93f8a2bcbc4 UGen300_USB_5.3.0_driver_Linux_arm64.zip' \
| sha256sum --checkExtrayez l'archive :
unzip UGen300_USB_5.3.0_driver_Linux_arm64.zip
cd UGen300_USB_5.3.0_driver_Linux_arm64L'archive contient le paquet ARM64 de HailoRT et son pilote USB en espace utilisateur à version correspondante. Le paquet USB contient aussi l'image Hailo-10H utilisée au démarrage de l'appareil.
Installer le pilote USB et HailoRT
Installez ensemble les deux paquets aux versions correspondantes :
sudo apt install ./hailort_5.3.0_arm64.deb \
./hailort-usb-driver_5.3.0_arm64.debLe pilote USB installe une règle udev pour 0b05:1d6f. Lorsqu'un UGen300 en mode Loader est détecté, la règle démarre le chargeur d'image USB Hailo et l'appareil se réénumère.
Confirmez les versions installées :
dpkg-query -W hailort hailort-usb-driver
hailortcli --version

Aligner le firmware de l'appareil sur HailoRT
Recherchez l'appareil USB et interrogez son firmware :
hailortcli scan
hailortcli fw-control identifySi identify signale que le firmware est incompatible et demande explicitement hailo_usb_loader fw-update, mettez à jour la flash du UGen300 avec l'image fournie par le pilote USB installé :
sudo hailo_usb_loader fw-updateLa mise à jour a pris environ deux minutes sur l'appareil testé. Gardez le RK3576 alimenté, laissez le câble connecté et attendez que l'outil signale que la mise à jour s'est terminée avec succès.
Le UGen300 se déconnecte et se réénumère pendant ce processus. S'il ne revient pas après la fin de la commande, débranchez-le, rebranchez-le directement au port hôte USB et attendez que le chargeur d'image udev se termine.
Vérifier l'appareil en cours d'exécution
Inspectez l'état USB final et la vitesse de liaison :
lsusb -d 0b05:1d6f
lsusb -tAprès la mise à jour et le chargement d'image réussis, l'unité testée apparaissait comme UGen300 USB AI Accelerator (Hailo-10H) au lieu de UGen300 USB Loader.
Vérifiez la communication avec HailoRT :
hailortcli scan
hailortcli fw-control identify
Sur le système testé, l'identification finale a rapporté le firmware HailoRT 5.3.0 (release,app) et l'architecture de l'appareil HAILO10H.
Exécuter un modèle HEF
Téléchargez le HEF YOLOv8n compilé pour Hailo-10H depuis le Hailo Model Zoo :
mkdir -p ~/ugen300/models
cd ~/ugen300/models
curl -fL -o yolov8n.hef \
https://hailo-model-zoo.s3.amazonaws.com/ModelZoo/Compiled/v5.3.0/hailo10h/yolov8n.hefConfirmez que le HEF téléchargé est compatible avec Hailo-10H, puis exécutez-le pendant cinq secondes :
hailortcli parse-hef yolov8n.hef
hailortcli run2 -t 5 set-net yolov8n.hefL'analyseur devrait rapporter HEF Compatible for: HAILO15H, HAILO10H. Une commande run2 terminée imprime les FPS mesurés et confirme que le modèle s'est exécuté sur l'accélérateur. HailoRT 5.3.0 ne prend pas en charge l'ancienne commande hailortcli run sur ce type d'appareil.
Dépannage
lsusbn'affiche pas0b05:1d6f: rebranchez l'accélérateur directement à l'hôte, vérifiez le câble et le port, puis inspectez les événements USB récents avecsudo dmesg | tail -n 50.- L'appareil reste
UGen300 USB Loader: inspectez les messages du chargeur avecjournalctl -t hailo-usb --no-pager. Si HailoRT signale une incompatibilité de firmware, exécutez la commande de mise à jour ci-dessus. hailortcli scantrouve le chemin USB maisidentifysignale un firmware incompatible : gardez le pilote et HailoRT à la même version, puis effectuez la mise à jour du firmware documentée par ASUS.480Mapparaît danslsusb -t: l'appareil a négocié à la vitesse USB 2. Utilisez un port USB 3 et un câble adapté au débit requis.HAILO_LIBUSB_FAILUREouHAILO_COMMUNICATION_CLOSEDapparaît pendantrun2: l'accélérateur s'est déconnecté en charge. Rebranchez-le directement à un port hôte USB 3, vérifiez le câble USB-C et l'alimentation, puis répétezhailortcli fw-control identifyavant de réessayer.- Une pile Hailo PCIe ou Hailo-8 installée précédemment est présente : supprimez le pilote Hailo en conflit avant d'installer le pilote USB du UGen300.
Supprimer le logiciel du UGen300
Supprimez les paquets du pilote USB et de HailoRT avec :
sudo dpkg --purge hailort-usb-driver hailort
sudo udevadm control --reload-rules