Skip to content

04. Module-LLM の Linux に ADB で入る

Module-LLM の中身は Ubuntu 22.04 (AX630C / aarch64)。USB OTG 経由で ADB (Android Debug Bridge) で接続できる。 パッケージ追加 (apt install llm-model-melotts-ja-jp 等) やログ確認 (journalctl) に必須。

必要なもの

  • Module-LLM 本体(Mate にスタック済 OK)
  • Module-LLM 本体側面の USB-C ポート(Mate の USB-C ではない!)
  • USB-C ケーブル(データ通信対応)
  • Mac (Apple Silicon)

USB-C ポートを間違えやすい

Module-LLM Kit には USB-C が 2 箇所 ある:

  • Module-LLM 本体 側面の USB-C ← これが Linux 直結
  • Module-LLM Mate の USB-C ← 給電・制御 UART で Linux シェルは取れない

繋ぐのは前者。

接続手順

1. Mac に ADB をインストール

bash
brew install android-platform-tools

2. Module-LLM 本体の USB-C を Mac へ

挿すと Mac の USB ツリーに ax620e-adb (Espressif/Axera) が現れる:

bash
ioreg -p IOUSB -l | grep "ax620e-adb"
# → "USB Product Name" = "ax620e-adb" が見えれば OK

3. adb 接続確認

bash
adb devices
# 期待:
#   List of devices attached
#   axera-ax620e    device

4. シェルに入る

bash
adb shell
# root@m5stack-LLM:/ #

root 権限・パスワードなし(USB OTG 接続なので物理アクセス=認可)。

できること

bash
# OS 情報
cat /etc/os-release        # → Ubuntu 22.04 LTS
uname -a                   # → aarch64 (AX630C)

# StackFlow サービス状態
systemctl status llm-sys llm-melotts llm-tts llm-audio llm-llm

# インストール済パッケージ
apt list --installed 2>/dev/null | grep llm-

# モデルファイルの場所
ls /opt/m5stack/data/
# → models / melotts-ja-jp / melotts_zh-cn / qwen2.5-0.5B-prefill-20e / ...

# ログ確認
journalctl -u llm-melotts -n 100

.deb パッケージを追加する

Module-LLM はインターネット切断状態 (eth0 NO-CARRIER) で出荷されるので、 Mac で .deb ファイルを取得 → adb push → dpkg -i が現実解。

利用可能パッケージの調べ方

M5Stack 公式リポジトリのインデックス:

bash
curl -s https://repo.llm.m5stack.com/m5stack-apt-repo/dists/jammy/ax630c/binary-arm64/Packages.gz | gunzip > /tmp/m5pkgs.txt

# パッケージ名と最新バージョン一覧
grep -E "^(Package|Version|Filename):" /tmp/m5pkgs.txt | head -60

Push & install 例 (Japanese MeloTTS モデル)

bash
# Mac 側でダウンロード
curl -L "https://repo.llm.m5stack.com/m5stack-apt-repo/pool/jammy/ax630c/v1.6/lib-llm_1.6-m5stack1_arm64.deb" -o /tmp/lib-llm_1.6.deb
curl -L "https://repo.llm.m5stack.com/m5stack-apt-repo/pool/jammy/ax630c/v0.5/llm-model-melotts-ja-jp_0.5-m5stack1_arm64.deb" -o /tmp/melotts-ja.deb

# Module-LLM に転送
adb push /tmp/lib-llm_1.6.deb /tmp/melotts-ja.deb /tmp/

# install
adb shell "dpkg -i /tmp/lib-llm_1.6.deb"
adb shell "dpkg -i /tmp/melotts-ja.deb"

# サービス再起動
adb shell "systemctl restart llm-sys llm-melotts llm-tts llm-audio"

詰まったとき

症状対処
adb devicesno devices別の USB-C ケーブルへ。Module-LLM 本体側 (Mate ではない) であることを確認
パッケージ install で dep errorlib-llm のバージョンを先に上げる
サービス再起動後も認識されないModule-LLM 全体再起動が必要な場合あり: reboot (ADB 経由)
ADB 接続が頻繁に切れるUSB OTG は給電も兼ねるので Mac の USB ハブを介さない直結が安定

関連

aieo-product / stack-chan project