※2022年10月28日追記
macOS 13.0 Venturaで、ドライバのインストールをしなくてもCH9102Fが使えるようになっていました!
ただ、「Upload Speed」を「460800」にする必要があります。
※2022年6月12日追記
M5Stack Basic V2.6などに使われているCH9102Fは、Macでもドライバをインストールする必要があります。
ドライバは次のURLの「Driver Installation」セクションからダウンロードできます。
https://docs.m5stack.com/en/quick_start/m5core/arduino
逆にWindowsだとドライバが自動でインストールされました...。
ESP8266やESP32を使ったボードをArduinoで使うときに、一番ハマりやすいポイントがUSBシリアルドライバのインストールだと思います。
2、3年前までは、ボードをWindows 10のPCに繋げるとドライバが自動でインストールされて使えるようになっていましたが、ここ1、2年ぐらいのWindows 10のアップデートで、動作するドライバが自動でインストールされなくなってしまいました。
※2021年10月25日追記
Windows 11だと、一部のボード(モジュール)でドライバーがインストールされていなくても自動でインストールされるようになりました!
- 自動でインストールされるもの
USB Serial Port (M5StickC, Atom Lite, Atom Matrix, UnitV AI Camera)
USB シリアル デバイス (Wio Terminal) - 自動でインストールされないもの
Silicon Labs CP210x USB to UART Bridge (M5Camera, M5Stack Basic)
逆に、MacはHigh Sierraまではドライバのインストールに物凄く苦労する状態だったのですが、MojaveからOSに主要なUSBシリアルドライバが内包されるようになってドライバのインストールが不要になっていたんです。知ってました?
CatalinaがプリインストールされていたMacBook Proを購入したときに、ドライバをインストールしなくても使えることはわかっていたのですが、そのときはラッキー!ぐらいにしか思っていなくてキチンと調べていなかったんです。
いざ、この辺りのことを調べようとすると驚く程情報が少なくて、やっと見つけたのがWeMos D1 miniなどに使われているWCH製のCH340GというUSBシリアルICのトラブルシューティング記事です。
この記事にMojave以降はドライバがOSに内包されていることが書かれていました。
実際にCatalinaとBig Surでは次のコマンドでドライバーパッケージのリストを表示できます。ls -l /System/Library/DriverExtensions/
drwxr-xr-x 6 root wheel 192 1 1 2020 com.apple.AppleUserHIDDrivers.dext drwxr-xr-x 6 root wheel 192 1 1 2020 com.apple.DriverKit-AppleEthernetE1000.dext drwxr-xr-x 6 root wheel 192 1 1 2020 com.apple.DriverKit-AppleUSBCHCOM.dext drwxr-xr-x 6 root wheel 192 1 1 2020 com.apple.DriverKit-AppleUSBFTDI.dext drwxr-xr-x 6 root wheel 192 1 1 2020 com.apple.DriverKit-AppleUSBPLCOM.dext drwxr-xr-x 6 root wheel 192 1 1 2020 com.apple.DriverKit-AppleUSBSLCOM.dext drwxr-xr-x 6 root wheel 192 1 1 2020 com.apple.DriverKit-AppleUSBSerial.dext drwxr-xr-x 6 root wheel 192 1 1 2020 com.apple.DriverKit.AppleUserECM.dext drwxr-xr-x 6 root wheel 192 1 1 2020 com.apple.DriverKit.AppleUserECMData.dext drwxr-xr-x 6 root wheel 192 1 1 2020 com.apple.DriverKit.AppleUserEthernetASIX.dext
各製品に使われているUSBシリアルIC
では、実際にどの製品にどのドライバが必要なのかを把握するために、どのUSBシリアルICが使われているかMacのシステム情報を使って調べてみました。
"M5Stack"と表示されている所に本来はUSBシリアルIC名が表示されます。M5シリーズの一部の製品はFTDIのICと互換性のあるカスタムICを使っているようで、USBシリアルIC名に変な名前が表示されます。
手持ちのボードはSilicon Lab.、FTDI、WCHのどれかを使っていることがわかりました。先のドライバーパッケージと照合すると次のようになります。
Arduinoでシリアルポートを選択するときにはcu.usbserial-xxxxxx
(xxxxxxはUSBシリアルICのシリアル番号)を選びます。
最近のWindows 10の問題
先に挙げたぼくの手持ちのボード全て、PCに繋いだだけでは動作するドライバが自動でインストールされない状態になっています。
各ボードをPCに繋げたときのデバイスマネージャーの表示はこうなります。
では、どうすればいいのかと言うと、Windows Updateの「オプションの更新プログラム」の「ドライバー更新プログラム」をインストールすれば動作するようになります。
デバイスマネージャーからだと、ビックリマークが出ているデバイス上で右クリックして「ドライバーの更新」を選び、次の様に進めていきます。
各メーカーのサイトからドライバーをダウンロードしてインストールする必要はなくなっていますが、結構面倒くさいです。
また、M5ATOMやM5StickCは上の手順を2回繰り返さないと動作するドライバーがインストールされません。(まったく、ひどい話です。)
このドライバーのインストール作業は、USBの製造元IDと製品IDの組み合わせ毎に行う必要があるものなので、M5ATOM MatrixをPCに繋げたときにドライバーのインストールしていれば、その後にM5ATOM LiteをPCに繋げたときはドライバーが使える状態になっています。
※2021年1月18日追記
Windows 10で、動作するドライバーがインストールされなくなった原因を推測できそうな記事を見つけました。
加えて、MicrosoftもARMのベースのWindowsに本腰を入れる気配もあり、当分混沌とした状態が続くような気がします。
おわり