MacBook Pro から M5Stick C に書き込もうとして書き込めないで戸惑ったのでメモしておきます。M5Stackでも同じことが起きると思います。
特に問題なく使えた場合
MacBook Pro (Retina, 13-inch, Late 2013), macOS Mojave 10.14.6 だと特に問題なく使えました。この MacBook Pro は本体に USB-A のコネクタがあるころのものです。この MacBook Pro の本体の USB-A コネクタに USB A-C のケーブル(セリアで買ったものと M5Stick C に付属のもの)をつないだところ、M5Stick C 側の USB-C の裏表関係なしに使えました。
書き込める場合と書き込めない場合がある組み合わせ
MacBook Pro (13-inch, 2016, Four Thunderbolt 3 Ports), macOS Mojave 10.14.6だと書き込める組み合わせと書き込めない組み合わせがありました。この MacBook Pro は intel CPU で本体に USB-C コネクタが4つあり、USB-A コネクタはありません。
結論としては、
- USB A-C のケーブルは M5Stick C 付属のものでもセリアで買ったようなものでも OK
- USB C-C のケーブルは使わない(使えない)
- M5Stick C 側のコネクタは裏表関係ない
- USB-C - USB-A 変換コネクタは相性がある
- USB-C - USB-A 変換コネクタを Macbook Pro にさしてから、変換した USB-Aコネクタに挿すべし
でした。
- 相性のいい USB-C - USB-A 変換コネクタを使って MacBook Pro 本体に変換コネクタ(USB A-C ケーブルつきでも、なしでも可)を挿してから、M5Stick Cにつなぐ
と失敗がないようです。
M5Stick C を MacBook Pro が認識しない場合
macOSの「このMacについて」を開き、「システムレポート」の「USB」のところにM5Stack (M5Stick C)が出てきません。ある意味分かりやすいです。
手元で確認したのは
- USB-C - USB-C のケーブルを使った場合
- 特定の USB-C - USB-A変換コネクタを使った場合
- USB-C 接続の hub の特定の USB-A コネクタにつないだ場合
- USB-C - USB-A 変換ケーブル + USB A-C ケーブル(セリアで買ったものと M5Stick C に付属のもの) をつないでから、MacBook Pro 本体のコネクタに挿した場合(M5Stick C 側を抜き差ししたらOK)
でした。
M5Stick C を MacBook Pro が認識するが書き込みが途中で止まる組み合わせ
これが厄介でした。
システムレポートでは上の図のように M5Stack の表示があり MacBook Pro から認識しているのに、下の画面キャプチャのように書き込みが途中で止まってしまいます。下のは A fatal error occurred: Timed out waiting for packet header ですが、ほかのエラーのこともあります。
原因は USB-C hub (HDMI, USB 3.0 USB-PD つき) のようでした。ここを疑っていなかったので大分時間を使ってしまいました。だめだった hub の写真を載せておきます。外観がそっくりで使えるものもありそうですが。