ubuntuのadbでModule LLMに接続してみました

M5Stack

M5Stack Module LLMにWiFiドングルを接続するために、ubuntuのAndroid Debug Bridge(adb)で接続しようとしたところ、少し設定が必要でしたのでまとめました。

adbのインストール

私のubuntuにはadbがインストールされていなかったのでaptでインストールを行いました。

$ adb
コマンド 'adb' が見つかりません。次の方法でインストールできます:
sudo apt install adb
$ sudo apt install adb

このようにコマンド1つでインストールされます。

adb接続時のエラー

ubuntu PCとModule LLMをUSBケーブルで接続して、adb devicesでデバイスを確認したところattachができず以下のエラーが表示されました。

$ adb devices
* daemon not running; starting now at tcp:5037
* daemon started successfully
List of devices attached
axera-ax620e	no permissions (user in plugdev group; are your udev rules wrong?); see [http://developer.android.com/tools/device.html]

エラーメッセージにもあるように権限の問題でattachできないので、ユーザがplugdevグループに登録されているかとudevの設定を確認していきます。

plugdevグループへの登録

groupsコマンドで現在使用しているユーザが所属するグループが表示されます。

$ groups
ocha adm dialout cdrom sudo dip plugdev lpadmin lxd sambashare docker ollama
$ 

このようにplugdevが表示されれば問題ありません。もし、表示されない場合は以下のコマンドでplugdevグループに登録します。

$ sudo usermod -aG plugdev $LOGNAME

udevの設定

ubuntu PCにModule LLMをUSBケーブルで接続して、USBの状態を確認します。ここではax620eという文字列を探します。

$ lsusb 
Bus 002 Device 002: ID 174c:3074 ASMedia Technology Inc. ASM1074 SuperSpeed hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 007: ID 32c9:2003 axera ax620e-adb
Bus 001 Device 003: ID 174c:2074 ASMedia Technology Inc. ASM1074 High-Speed hub
Bus 001 Device 006: ID 2357:0115 TP-Link Archer T4U ver.3
Bus 001 Device 004: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
Bus 001 Device 002: ID 058f:6254 Alcor Micro Corp. USB Hub
Bus 001 Device 005: ID 0b05:19af ASUSTek Computer, Inc. AURA LED Controller
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
$ 

これでModule LLMのベンダーIDは32c9だとわかります。

この情報を元にして、/etc/udev/rules.d/51-android.rulesというファイルを作成し、以下の1行を書きます。

SUBSYSTEM=="usb", ATTR{idVendor}=="32c9", MODE="0666", GROUP="plugdev"

これにより、USBデバイスでベンダーIDが32c9のものが接続されたら、アクセス権限を666にし、plugdevのグループに設定されます。

なお、このファイルは全ユーザから読めるようにread権限を与えておきます。

$ cat /etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb", ATTR{idVendor}=="32c9", MODE="0666", GROUP="plugdev"
$ sudo chmod a+r /etc/udev/rules.d/51-android.rules

次にudevをリスタートします。

$ sudo service udev restart

これでudevの設定は完了です。

Module LLMにadbで接続してみる

一度Module LLMのUSBケーブルを外します。そしてもう一度USBケーブルを接続し、adb devicesコマンドで以下のように表示されれば接続できています。

$ adb devices
List of devices attached
axera-ax620e	device 

あとはadb shellでModule LLMにログインすることができます。

$ adb shell
sh-5.1# pwd
/
sh-5.1# ls
8188eu.ko  dev	 lib	     mnt    proc	     run   srv	usr
bin	   etc	 lost+found  opt    root	     sbin  sys	var
boot	   home  media	     param  rtl8188eufw.bin  soc   tmp
sh-5.1# 

終わりに

今回かModule LLMについてまとめましたが、他のUSBデバイスでも同様な流れになりますので参考にしてください。

タイトルとURLをコピーしました