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-tools2. Module-LLM 本体の USB-C を Mac へ
挿すと Mac の USB ツリーに ax620e-adb (Espressif/Axera) が現れる:
bash
ioreg -p IOUSB -l | grep "ax620e-adb"
# → "USB Product Name" = "ax620e-adb" が見えれば OK3. adb 接続確認
bash
adb devices
# 期待:
# List of devices attached
# axera-ax620e device4. シェルに入る
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 -60Push & 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 devices で no devices | 別の USB-C ケーブルへ。Module-LLM 本体側 (Mate ではない) であることを確認 |
| パッケージ install で dep error | lib-llm のバージョンを先に上げる |
| サービス再起動後も認識されない | Module-LLM 全体再起動が必要な場合あり: reboot (ADB 経由) |
| ADB 接続が頻繁に切れる | USB OTG は給電も兼ねるので Mac の USB ハブを介さない直結が安定 |