M5Capsuleでシリアル通信できない問題の解決(レアケース)
M5CapsuleをUSBでPCに接続したがシリアル通信ができない
M5 Stackのページ によると、上部の中央部分をを押しながら起動するとDownload Modeになるとのこと(シリアル通信ができるようになるはずだ)
そゆことね、これですぐに解決だ!と思いきや、BTN0を押してブートしてもシリアル通信できない!意外にまったので、レアケースだと思うが、同じようにはまっている人がいるかもしれないので記事にしてみる(まぁ、ないだろうなぁ)
1行で
USB JTAG/serial debug unitドライバが入っている場合は削除してから、CP210x(USB-シリアル通信の)ドライバを入れる
はまった流れをつらつらと
M5の上部のシールの部分を強く押しすぎると、シールが破れそうと感じ恐る恐るになった、力の加減がわからない(押した感があまりない)
(後にボタンがあると確証が得られると、押した感を感じる、人間、不思議なものだ)
上部の面のシールにある「BTN0」という表記を見落としていた
BTN0は、どこ?ってずっと探すはめに
M5 Stackのページの解説用の動画だと、IRの隣にあるボタンを押しているようにも見えて、IRの隣にあるボタンも押してしまう
何を考えたのか、上部のWAKE BUTTONを押してしまう(完全に迷走)
さらに、M5Burnerを試すが、もちろん、シリアル通信ができないので機能しない
Arduino IDEやPlatform IOやesptoolが原因ではない
ここで、やはり、USB-シリアルのドライバが認識してないことが原因、と冷静になる
デバイスマネージャーをよくみると、USB接続したときのみ「USB JTAG/serial debug unit」が表示される
ESP32-S2 JTAGのテストで、USB JTAG/serial debug unitドライバーをインストールしたことを完全に忘れていた
「USB-OTG」と「USBシリアル」で2つUSBポートがあるESP32-S3デバイスでは、この状態で問題なく動いていた気がしている(が定かではない)
M5Capsuleは、ESP32-S3搭載にも関わらずUSBポートが1つで、おそらく「USB-OTG」と「USBシリアル」の両方が使える
USB JTAG/serial debug unitドライバがインストールされているので、BTN0を押しながらブートしても、 シリアル通信用のデバイス(CP210x)として認識しない、と理解する
USB JTAG/serial debug unitを消せば解決ね!ゴールは近いと見えた
USB JTAG/serial debug unitデバイスをアンインストールして、BTN0を押しながらUSB接続するが変化なし
デバイスのアンインストール時に「このデバイスのドライバーソフトウェアを削除します。」というチェックボックスがあることに気づく
「デバイスのアンインストール」と「ドライバソフトウェアの削除」は別だと気づく(ずっと、ドライバをアンインストールしていると勘違いしていた)
今度こそ、解決!と思った
「ドライバソフトウェアの削除」にチェックをつけて、「USB JTAG/serial debug unitドライバ」をアンインストール後に、USBを接続すると、「USB JTAG/serial debug unitドライバ」がインストールされてしまう
ドライバのキャッシュからインストールされるのだろうか?
ドライバのキャッシュされているディレクトリを探そうとするが、違うアプローチも考える
USB JTAG/serial debug unitドライバをアンインストール後、CP210xドライバをインストールする
無事、シリアル通信用のデバイスとして認識した
こんなことに1時間くらいかかってしまった
USB JTAG/serial debug unitドライバソフトウェアを削除する方法
デバイスマネージャーで、「USB JTAG/serial debug unit」デバイスを右クリックして、「デバイスのアンインストール」を選択
表示されるダイアログで、「このデバイスのドライバーソフトウェアを削除します。」にチェックをつける
「デバイスのアンインストール」と「デバイスのドライバーソフトウェアを削除」を明確に分けて理解することが重要
今回の学び
初めてデバイスを触るときは心が躍る(説明書をちゃんと読まずに、とりあえず動かしたくなる)
壊したくない、初期不良かも?という不安要素の感情から焦りが生まれる
こういうとき、冷静さを失ってしまい、間違った行動をとってしまうので、深呼吸して頭で考える時間を増やしていく(深く考えずに、手を動かして、ときどき、壊してしまう(今回は壊れなかっただけ、よしとしたい)
無事、ファームウェアをダウンロードできるようになったのでM5Capsuleで実験してみようと思う