アナログ・テック 技術コラム

NPUや産業用PC、エッジコンピューティング、エッジAI、生成AIに関する技術情報や実装の考え方、最新トピックをアナログ・テックの視点で発信します。

【Hailo実装シリーズ】 エッジAIを本気で動かすための実践Tips <第1回>

Hailo-8がUbuntuで認識しないときに確認すべき6つのポイント

— Ubuntu 22.04 / 24.04 環境でのトラブル切り分け —


はじめに

Hailo-8は最大26TOPSの推論性能を持つエッジAI向けNPUとして注目されています。
しかしUbuntu環境で導入する際、最初に直面するのが「デバイスが認識されない」という問題です。

  • hailortcli scan で何も表示されない

  • ドライバを入れたはずなのにロードされていない

  • カーネル更新後に突然動かなくなった

本記事では、Ubuntu 22.04 / 24.04 LTS環境を前提に、Hailo-8が認識されない場合の確認ポイントを、実際のコマンドと出力例を交えて整理します。

Linux中級者を想定し、基本操作の説明は省略します。


1. PCIeデバイスとして認識されているか確認する

まず確認すべきは、OSレベルでPCIeデバイスとして認識されているかどうかです。

 
lspci | grep -i hailo

正常な出力例:

 
01:00.0 Co-processor: Hailo Technologies Ltd. Hailo-8 AI Processor (rev 01)

何も表示されない場合は、以下を確認します。

  • BIOSで「Above 4G Decoding」が有効になっているか

  • PCIeスロットが無効化されていないか

  • 物理接続が正しいか

この段階で表示されない場合、ソフトウェアではなくハードウェア設定の問題である可能性が高くなります。


2. ドライバがロードされているか確認する

PCIeで認識されていても、カーネルモジュールがロードされていなければ利用できません。

 
lsmod | grep hailo_pci

正常例:

 
hailo_pci 45056 0

何も表示されない場合は、ドライバがロードされていない可能性があります。

次にランタイム通信を確認します。

 
hailortcli scan

正常例:

 
Device BDF: 0000:01:00.0

異常例:

 
No Hailo devices found

ここでデバイスが見つからない場合、ドライバ層またはSecure Bootの影響を疑います。


3. Secure Bootの状態を確認する

Secure Bootが有効な場合、署名されていないカーネルモジュールがロードされないことがあります。

確認コマンド:

 
mokutil --sb-state

mokutil が未インストールの場合:

 
sudo apt update sudo apt install mokutil

出力例:

 
SecureBoot enabled

Secure Bootが有効な場合、hailo_pci モジュールが拒否されている可能性があります。

対処方法:

  • BIOS設定でSecure Bootを無効化する

  • もしくはカーネルモジュールへ署名を行う(上級者向け)


4. カーネルヘッダー不足 / DKMSビルド失敗

Ubuntuのカーネル更新後に認識しなくなるケースは珍しくありません。

まずカーネルバージョンを確認します。

 
uname -r

次にヘッダーを確認・導入します。

 
sudo apt update sudo apt install build-essential linux-headers-$(uname -r)

dmesg でエラー確認:

 
dmesg | grep -i hailo

よくあるエラー例:

 
Error! Your kernel headers for kernel 6.5.0-15-generic cannot be found

その場合は、ドライバをクリーンインストールします。

 
sudo apt purge -y hailort-pcie-driver hailort sudo apt autoremove -y sudo rm -rf /etc/hailo sudo dpkg -i hailort_<version>_amd64.deb sudo dpkg -i hailort-pcie-driver_<version>_all.deb sudo reboot

再起動後:

 
hailortcli scan

で再確認します。


5. HAILO_RPC_FAILED / HAILO_TIMEOUT エラー

デバイスは認識されているが推論時にエラーが出る場合があります。

例:

 
HAILO_RPC_FAILED

または

 
HAILO_TIMEOUT

まずサービス状態を確認します。

 
systemctl status hailort.service

必要に応じて再起動します。

 
sudo systemctl restart hailort.service

6. 温度状態の確認

長時間稼働や高負荷状態では、保護機構により性能が抑制される場合があります。

 
hailortcli fw-control --temperature

出力例:

 
Temperature: 118°C

Hailo-8は高温時に保護動作が入る設計となっており、温度上昇によって性能が制限される場合があります。
冷却状態や筐体のエアフローも確認してください。


トラブル切り分けの基本フロー

Hailo-8が動作しない場合は、以下の順で確認します。

  1. lspci で物理認識確認

  2. lsmod | grep hailo_pci でドライバ確認

  3. hailortcli scan で通信確認

  4. Secure Boot確認

  5. カーネルヘッダー確認

  6. サービス状態確認

この順で確認することで、多くの問題は論理的に切り分けることができます。


まとめ

Hailo-8導入時のトラブルの多くは、以下に集約されます。

  • BIOS設定(Above 4G Decoding)

  • Secure Boot

  • カーネル更新後のヘッダー不足

  • DKMSビルド失敗

  • サービス停止

  • 温度上昇

エッジAIの実装では、推論コード以前に、OS・ドライバ・ハードウェアの整合性を理解することが重要です。

 

TAPPAS構成を実際に評価・検証するには、Hailo-8搭載の評価環境が必要です。

 

次回は、HailoのTAPPASフレームワークの構造を分解し、GStreamerパイプライン設計の考え方を整理します。