🤖

M5Stack UnitV2を弄るための備忘録

2021/06/27に公開

※以下の内容の実行はすべて自己責任でお願いします。

PCとはUSBで接続した状態での実行する。UnitV2とはUSB-typeC経由でのイーサネットアダプタとして接続するため、ドライバインストールなど、以下の事前セットアップを済ませておく

事前セットアップなど

公式サイトからドライバをダウンロード、インストールしておく。USB接続していないとデバイスマネージャー上でデバイス名(USB 10/100 LAN か SR9900)が表示されないので注意
https://docs.m5stack.com/en/quick_start/unitv2/base_functions

PCからssh経由でログイン

UnitV2本体裏側にSSH設定回りが書かれているので確認しておくこと(IPとかユーザー名とかパスワード周り)
ターミナルからsshを使ってip直接指定してログイン。エンター押下後デフォルトパスワードが要求されるので、タイプしてエンターキーを押す。(ここではip=10.254.239.1、ユーザー名=m5stackとして進める)

ssh m5stack@10.254.239.1

ホスト名を使う場合は

ssh unitv2.py

PCからsshログイン時にsudoを使えるようにする

工場出荷状態のUnitV2はsshグイン時のユーザーでsudoが実行できないので、利用できるように変更する
通常root権限はスーパーユーザーでログインする必要があるのだが、なぜかJupyter notebook modeだとroot権限を持っているようなので、そこからsshログイン時のユーザーでsudoが実行できるように操作する

Jupyter notebook modeに変更する

ブラウザ(Chrome推奨)を起動し、urlに 10.254.239.1unitv2.py を入力してビルトイン機能(Webアプリ)にアクセスする

画面右上の歯車マークをクリック

"Switch to notebook mode"をクリック

確認ダイアログが出るので"OK"をクリック

ページをリロードしろ、という確認ダイアログが表示されるので、"OK"をクリック後、数秒待ってブラウザをリロードする

ターミナルを起動してコマンドを実行する

Jupyter notebook modeに変更後、ノートブック一覧が表示されるので、右側にある"New"のボタンから"Terminal"をクリックする

クリック後、別タブが自動的に開く。文字が入れられるよう、黒画面を一度クリックする

黒画面で以下のコマンドを入力、1行ずつエンターキーを押して実行する

chown root:root /usr/bin/sudo && chmod 4755 /usr/bin/sudo
chown root:root /usr/libexec/sudo/sudoers.so
chown root:root /etc/sudoers

参考ツイート: https://twitter.com/timit3/status/1397847137304539136

変更後、sshログインしたユーザーでsudoが使えるようになる

ビルトイン機能モードに戻るには

ビルトイン機能モードに戻るには現状USBをぶっこ抜いて強制的にリブートさせるしかない

/dev/nullの読み書き権限を付与する


UnitV2リブート時、毎回 /dev/null のアクセス権限がrootのみになるようにリセットされるので、scp などのコマンド実行前にユーザーに変更権限を付与しておく。以下のコマンドを実行する(sudoが必要)

sudo chmod o+rw /dev/null

変更後、念のため ls コマンドで /dev/null のアクセス権限を確認すると良いかも

ls -l /dev/null

末尾が rw- となっていれば大丈夫

参考URL:SCPでM5Stack UnitV2 にファイルを持っていったり持ってきたりする - 楽しい活字中毒
https://tanokatu.com/2021/06/18/linux-m5stack-unitv2-6/

Discussion