Help us understand the problem. What is going on with this article?

MacOS Mojave でM5Stackの環境設定する。

More than 1 year has passed since last update.

TL;DL

MacOS MojaveでVCPドライバーがインストールできない問題の自分用メモ

M5Stackを買ったのでさあ遊ぼうと思ったところ、Macでドライバーをインストールしても認識してくれず

USBでシリアルCOM接続するポートがttyに表示できませんでした。

最新版のOSだとカーネル周りがセキュリティを強化するために変更されているためExtensionにドライバーファイルがインストールされてもRootが変更を拒否してしまうみたい

QiitaとかにもMacのトラブルシュートが乗ってなかったので参考になればなと

やったこと

解消方法はカーネルの変更を許可を起動前に設定する必要があります。

Macを一旦再起動する

MacBook-Pro:~ pcuser$ sudo reboot

もしくは🍎マークで再起動(Restart)を選択

再起動後、リンゴマークがある間に⌘+Rを押し続けてセーフブートにします。

ここでターミナルを開けばRoot権限で操作が可能のでターミナルを選択肢コンソールにログインしましょう。

サードパーティ製カーネル拡張KEXTが実行できるように以下のコマンドを実行する

# spctl kext-consent disable

実行後はターミナルを閉じて通常起動してください。

起動後は公式にあるリンクのVCPドライバーをダウンロードしてインストールすればOK

ドライバーが正常に読み込まれていることを確認するにはlsコマンドで
SLAB_USBtoUARTが表示されていることをターミナルで確認します。

MacBook-Pro:~ pcuser$ ls /dev/cu.*

/dev/cu.Bluetooth-Incoming-Port

/dev/cu.SRS-XB10-CSRGAIA-1

/dev/cu.MALS                    

/dev/cu.SLAB_USBtoUART ☆これ

/dev/cu.SOC

ちなみにこの機能はHighSierra以降に実装されたSecure Kernel Extension Loading(SKEL)の機能が有効になっているため起こっている事象で、パッケージインストールの時点では正常にインストールされたように見えるのが難点

(エラーを何も出力しないので問題を発見しづらい)

確かに配置自体は問題なくできるしドライバーをロードするコマンドも見た目上実行できます。(参考に以下コマンド)

sudo kextload -v 6 SiLabsUSBDriver.kext

雑感

他の人はOSXを使っているので最新でデバッグしてる人がググっても出なかったからちょっと手こずった(今月のQiitaはM5Stack特集にしようかな)

Linuxの流儀で行けるかなーと思ってたけどよく考えたらMacってBSD系だしかつ商用OSなんだよね確か、そりゃ違うわ

参考リンク

https://www.silabs.com/community/interface/forum.topic.html/cp210x_usb_to_uartb-73qX

tukapai
何故か仏教を学んだプログラマー 通常はインフラ系ですが、何でもやるマン 主にRubyが最近好き💕
http://blog.tukapai.com/
vsn
IT、メカトロニクス・エレクトロニクス、バイオ・ケミストリー分野における無期雇用型派遣事業を行っています。技術力とコンサル力でお客さま事業に革新をもたらすべく、約4,000名のエンジニアが活躍中です。
http://www.vsn.co.jp
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away