reComputer RK3576 で ASUS UGen300 USB AI アクセラレータを使用する
ASUS UGen300 は、Hailo-10H プロセッサを中心に構築され、8 GB の LPDDR4 メモリを搭載した USB AI アクセラレータです。このチュートリアルでは、reComputer RK3576 に接続し、バージョンが一致した ASUS USB ドライバと HailoRT をインストールし、必要に応じてデバイスのファームウェアを更新し、HailoRT がアクセラレータと通信できることを確認する方法を示します。
テスト構成
| 項目 | テスト構成 |
|---|---|
| ホスト | reComputer RK3576 Dev Kit |
| オペレーティングシステム | Armbian-unofficial 26.05.0-trunk、Debian 12(bookworm) |
| カーネル | 6.1.115-vendor-seeed-rk3576 |
| ホストアーキテクチャ | AArch64(arm64) |
| アクセラレータ | ASUS UGen300 USB AI Accelerator、Hailo-10H、8 GB LPDDR4 |
| USB デバイス ID | 0b05:1d6f |
| ネゴシエートされた USB リンク | テストした RK3576 ポートで 5000M |
| USB ドライバ | hailort-usb-driver 5.3.0 |
| ランタイム | HailoRT 5.3.0 |
| 更新後のデバイスファームウェア | 5.3.0 (release,app) |
ASUS の仕様では USB 3.1 Gen 2 Type-C インターフェース、最大リンク速度 10 Gbps とされています。テストした RK3576 との接続は lsusb -t の報告により 5 Gbps でネゴシエートされました。
アクセラレータの接続と確認
同梱ケーブルまたは他の USB 10 Gbps Type-C ケーブルを使用し、UGen300 を USB 3 ホストポートに直接接続します。
ホストがアクセラレータを認識できるか確認します:
lsusb -d 0b05:1d6f
Hailo イメージがロードされる前は、新しく接続したデバイスが UGen300 USB Loader として表示されることがあります。ネゴシエートされたリンク速度も確認します:
lsusb -t
テストした reComputer RK3576 では、UGen300 のブランチは 5000M と報告されました。480M のエントリは、接続が USB 2 にフォールバックしたことを意味します。
既存のアクセラレータソフトウェアの確認
ASUS のマニュアルでは、HailoRT の PCIe ドライバと USB ドライバを同時にインストールできない、また Hailo-8 と Hailo-10H のドライバは共存できないとされています。続行する前にインストール済みパッケージを確認します:
dpkg -l | grep -Ei 'hailo|ugen'UGen300 USB パッケージをインストールする前に、既存の Hailo PCIe または Hailo-8 ドライバを削除してください。切り替える意図がない限り、無関係なアクセラレータスタックを削除しないでください。
ASUS ドライバパッケージのダウンロードと検証
ASUS UGen300 サポートページで公開されている ARM64 USB ドライバパッケージをダウンロードします:
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.zip展開する前にアーカイブを検証します。以下のチェックサムは、ASUS がバージョン 5.3.0 用に公開した SHA-256 値です:
echo '6a98b46d8f88a7911fea142a8b3f4a69715f5166cc112e1352eba93f8a2bcbc4 UGen300_USB_5.3.0_driver_Linux_arm64.zip' \
| sha256sum --checkアーカイブを展開します:
unzip UGen300_USB_5.3.0_driver_Linux_arm64.zip
cd UGen300_USB_5.3.0_driver_Linux_arm64アーカイブには、ARM64 HailoRT パッケージと、バージョンが一致したユーザー空間 USB ドライバが含まれています。USB パッケージには、デバイス起動時に使用される Hailo-10H イメージも含まれています。
USB ドライバと HailoRT のインストール
バージョンが一致した 2 つのパッケージを一緒にインストールします:
sudo apt install ./hailort_5.3.0_arm64.deb \
./hailort-usb-driver_5.3.0_arm64.debUSB ドライバは 0b05:1d6f の udev ルールをインストールします。Loader モードの UGen300 が検出されると、このルールが Hailo USB イメージローダーを起動し、デバイスは再列挙されます。
インストールされたバージョンを確認します:
dpkg-query -W hailort hailort-usb-driver
hailortcli --version

デバイスファームウェアを HailoRT に合わせる
USB デバイスをスキャンし、ファームウェアを照会します:
hailortcli scan
hailortcli fw-control identifyidentify がファームウェアの非互換を報告し、明示的に hailo_usb_loader fw-update を要求した場合は、インストール済み USB ドライバに付属のイメージで UGen300 のフラッシュを更新します:
sudo hailo_usb_loader fw-updateテストしたデバイスでは更新に約 2 分かかりました。RK3576 の電源を入れたまま、ケーブルを接続したままにし、ツールが更新の成功を報告するまで待ちます。
この処理中に UGen300 は切断され、再列挙されます。コマンド終了後に戻らない場合は、取り外して USB ホストポートに直接再接続し、udev イメージローダーの完了を待ちます。
実行中のデバイスの確認
最終的な USB 状態とリンク速度を確認します:
lsusb -d 0b05:1d6f
lsusb -t更新とイメージロードの成功後、テストしたユニットは UGen300 USB Loader ではなく UGen300 USB AI Accelerator (Hailo-10H) として表示されました。
HailoRT との通信を確認します:
hailortcli scan
hailortcli fw-control identify
テストしたシステムでは、最終識別結果は HailoRT ファームウェア 5.3.0 (release,app)、デバイスアーキテクチャ HAILO10H と報告されました。
HEF モデルを実行する
Hailo Model Zoo から Hailo-10H 向けにコンパイルされた YOLOv8n HEF をダウンロードします:
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.hefダウンロードした HEF が Hailo-10H と互換性があることを確認し、5 秒間実行します:
hailortcli parse-hef yolov8n.hef
hailortcli run2 -t 5 set-net yolov8n.hefパーサーは HEF Compatible for: HAILO15H, HAILO10H と報告するはずです。完了した run2 コマンドは測定 FPS を出力し、モデルがアクセラレータ上で実行されたことを確認します。HailoRT 5.3.0 はこのデバイスタイプで古い hailortcli run コマンドをサポートしていません。
トラブルシューティング
lsusbに0b05:1d6fが表示されない:アクセラレータをホストに直接再接続し、ケーブルとポートを確認し、sudo dmesg | tail -n 50で最近の USB イベントを確認します。- デバイスが
UGen300 USB Loaderのまま:journalctl -t hailo-usb --no-pagerでローダーのメッセージを確認します。HailoRT がファームウェアの不一致を報告した場合は、上記のファームウェア更新コマンドを実行します。 hailortcli scanは USB パスを見つけるがidentifyが非互換ファームウェアを報告する:ドライバと HailoRT を同じバージョンに保ち、ASUS 文書化のファームウェア更新を実行します。lsusb -tに480Mが現れる:デバイスが USB 2 速度でネゴシエートしました。USB 3 ポートと必要なリンク速度に対応したケーブルを使用してください。run2中にHAILO_LIBUSB_FAILUREまたはHAILO_COMMUNICATION_CLOSEDが現れる:アクセラレータが負荷下で切断されました。USB 3 ホストポートに直接再接続し、USB-C ケーブルと電力供給を確認し、再試行前にhailortcli fw-control identifyを実行します。- 以前にインストールされた Hailo PCIe または Hailo-8 スタックが存在する:UGen300 USB ドライバをインストールする前に、競合する Hailo ドライバを削除します。
UGen300 ソフトウェアの削除
USB ドライバと HailoRT パッケージを削除します:
sudo dpkg --purge hailort-usb-driver hailort
sudo udevadm control --reload-rules