De ASUS UGen300 USB AI-accelerator gebruiken met de reComputer RK3576
De ASUS UGen300 is een USB AI-accelerator gebouwd rond de Hailo-10H-processor met 8 GB LPDDR4-geheugen. Deze tutorial laat zien hoe je hem op een reComputer RK3576 aansluit, de versie-overeenkomende ASUS USB-driver en HailoRT installeert, de apparaatfirmware zo nodig bijwerkt en verifieert dat HailoRT met de accelerator kan communiceren.
Geteste configuratie
| Onderdeel | Geteste configuratie |
|---|---|
| Host | reComputer RK3576 Dev Kit |
| Besturingssysteem | Armbian-unofficial 26.05.0-trunk, Debian 12 (bookworm) |
| Kernel | 6.1.115-vendor-seeed-rk3576 |
| Hostarchitectuur | AArch64 (arm64) |
| Accelerator | ASUS UGen300 USB AI Accelerator, Hailo-10H, 8 GB LPDDR4 |
| USB-apparaat-ID | 0b05:1d6f |
| Onderhandelde USB-verbinding | 5000M op de geteste RK3576-poort |
| USB-driver | hailort-usb-driver 5.3.0 |
| Runtime | HailoRT 5.3.0 |
| Apparaatfirmware na update | 5.3.0 (release,app) |
ASUS specificeert een USB 3.1 Gen 2 Type-C-interface met een maximale linksnelheid van 10 Gbps. De geteste RK3576-verbinding onderhandelde op 5 Gbps, zoals gemeld door lsusb -t.
De accelerator aansluiten en inspecteren
Sluit de UGen300 met de meegeleverde kabel of een andere USB 10 Gbps Type-C-kabel rechtstreeks op een USB 3-hostpoort aan.
Controleer of de host de accelerator kan zien:
lsusb -d 0b05:1d6f
Voordat het Hailo-image is geladen, kan een net aangesloten apparaat verschijnen als UGen300 USB Loader. Controleer ook de onderhandelde linksnelheid:
lsusb -t
De UGen300-tak rapporteerde 5000M op de geteste reComputer RK3576. Een 480M-item betekent dat de verbinding terugviel op USB 2.
Bestaande acceleratorsoftware controleren
De ASUS-handleiding stelt dat de PCIe- en USB-drivers van HailoRT niet tegelijk geïnstalleerd kunnen worden en dat Hailo-8- en Hailo-10H-drivers niet kunnen samenbestaan. Inspecteer de geïnstalleerde pakketten voordat je doorgaat:
dpkg -l | grep -Ei 'hailo|ugen'Verwijder een bestaande Hailo PCIe- of Hailo-8-driver voordat je het UGen300 USB-pakket installeert. Verwijder geen ongerelateerde acceleratorstack, tenzij je bewust wilt overstappen.
Het ASUS-driverpakket downloaden en verifiëren
Download het ARM64 USB-driverpakket dat op de ASUS UGen300-ondersteuningspagina is gepubliceerd:
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.zipVerifieer het archief voordat je het uitpakt. De onderstaande controlesom is de SHA-256-waarde die ASUS voor versie 5.3.0 heeft gepubliceerd:
echo '6a98b46d8f88a7911fea142a8b3f4a69715f5166cc112e1352eba93f8a2bcbc4 UGen300_USB_5.3.0_driver_Linux_arm64.zip' \
| sha256sum --checkPak het archief uit:
unzip UGen300_USB_5.3.0_driver_Linux_arm64.zip
cd UGen300_USB_5.3.0_driver_Linux_arm64Het archief bevat het ARM64 HailoRT-pakket en de versie-overeenkomende gebruikersruimte-USB-driver. Het USB-pakket bevat ook het Hailo-10H-image dat wordt gebruikt wanneer het apparaat opstart.
De USB-driver en HailoRT installeren
Installeer beide versie-overeenkomende pakketten samen:
sudo apt install ./hailort_5.3.0_arm64.deb \
./hailort-usb-driver_5.3.0_arm64.debDe USB-driver installeert een udev-regel voor 0b05:1d6f. Wanneer een UGen300 in Loader-modus wordt gedetecteerd, start de regel de Hailo USB-imageloader en wordt het apparaat opnieuw geënumereerd.
Bevestig de geïnstalleerde versies:
dpkg-query -W hailort hailort-usb-driver
hailortcli --version

De apparaatfirmware op HailoRT afstemmen
Scan het USB-apparaat en vraag de firmware op:
hailortcli scan
hailortcli fw-control identifyAls identify meldt dat de firmware incompatibel is en expliciet om hailo_usb_loader fw-update vraagt, werk dan de flash van de UGen300 bij met het image dat door de geïnstalleerde USB-driver wordt meegeleverd:
sudo hailo_usb_loader fw-updateDe update duurde op het geteste apparaat ongeveer twee minuten. Houd de RK3576 aan, laat de kabel verbonden en wacht tot de tool meldt dat de update succesvol is voltooid.
De UGen300 verbreekt de verbinding en wordt tijdens dit proces opnieuw geënumereerd. Als hij niet terugkeert nadat de opdracht is afgerond, koppel hem los, sluit hem rechtstreeks op de USB-hostpoort aan en wacht tot de udev-imageloader klaar is.
Het draaiende apparaat verifiëren
Inspecteer de uiteindelijke USB-status en linksnelheid:
lsusb -d 0b05:1d6f
lsusb -tNa de geslaagde update en het laden van het image verscheen het geteste apparaat als UGen300 USB AI Accelerator (Hailo-10H) in plaats van UGen300 USB Loader.
Verifieer de communicatie met HailoRT:
hailortcli scan
hailortcli fw-control identify
Op het geteste systeem meldde de uiteindelijke identificatie HailoRT-firmware 5.3.0 (release,app) en apparaatarchitectuur HAILO10H.
Een HEF-model uitvoeren
Download de voor Hailo-10H gecompileerde YOLOv8n HEF uit de 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.hefBevestig dat de gedownloade HEF compatibel is met Hailo-10H en voer hem dan vijf seconden uit:
hailortcli parse-hef yolov8n.hef
hailortcli run2 -t 5 set-net yolov8n.hefDe parser moet HEF Compatible for: HAILO15H, HAILO10H rapporteren. Een voltooide run2-opdracht print de gemeten FPS en bevestigt dat het model op de accelerator is uitgevoerd. HailoRT 5.3.0 ondersteunt de oudere opdracht hailortcli run niet op dit apparaattype.
Problemen oplossen
lsusbtoont0b05:1d6fniet: sluit de accelerator rechtstreeks opnieuw op de host aan, controleer de kabel en de poort en bekijk recente USB-gebeurtenissen metsudo dmesg | tail -n 50.- Het apparaat blijft
UGen300 USB Loader: bekijk de loaderberichten metjournalctl -t hailo-usb --no-pager. Als HailoRT een firmware-mismatch meldt, voer dan de hierboven genoemde firmware-updateopdracht uit. hailortcli scanvindt het USB-pad, maaridentifymeldt incompatibele firmware: houd de driver en HailoRT op dezelfde versie en voer dan de door ASUS gedocumenteerde firmware-update uit.480Mverschijnt inlsusb -t: het apparaat onderhandelde op USB 2-snelheid. Gebruik een USB 3-poort en een kabel die is geclassificeerd voor de vereiste linksnelheid.HAILO_LIBUSB_FAILUREofHAILO_COMMUNICATION_CLOSEDverschijnt tijdensrun2: de accelerator is onder belasting losgekoppeld. Sluit hem rechtstreeks opnieuw aan op een USB 3-hostpoort, controleer de USB-C-kabel en de stroomlevering en herhaalhailortcli fw-control identifyvoordat je het opnieuw probeert.- Er is een eerder geïnstalleerde Hailo PCIe- of Hailo-8-stack aanwezig: verwijder de conflicterende Hailo-driver voordat je de UGen300 USB-driver installeert.
De UGen300-software verwijderen
Verwijder de USB-driver- en HailoRT-pakketten met:
sudo dpkg --purge hailort-usb-driver hailort
sudo udevadm control --reload-rules