それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

/dev/tty.usbserial が作られなくなってた。SIPのせいSIPが全部悪い

/dev/tty.usbserial が消えた。

USB-Serial(rs232) のケーブルを使って、通信をしようとしたら、/dev/tty.usb* が見つからない。

システムレポートを見ると

このMacについて → システムレポート → USB を見てみると、ちゃんとデバイスは存在している。USBーSerialケーブルが存在する。

ドライバは存在スルのか?

/system/library/extensions

ここを見ると、該当ドライバ osx-pl2303.kext は確かに存在してる。存在するけど感知せず。

SIP が疑わしい。

SIPとは、System Integrity Protection のこと。kext を読んでくれない

Kernel ext が保護対象に含まれているか確認する。

takuya@~/Desktop$ cat /System/Library/Sandbox/rootless.conf | grep extensions
54:*                /System/Library/Extensions
55:                 /System/Library/Extensions/*

ああ、コレだわ。

SIP をオフにする

Command + R を押して再起動して、リカバリモードで起動する。ユーティリティからターミナルを選ぶ

csrutil disable

これで再起動すれば、SIPはオフになる。

SIP オフを確認

takuya@~/Desktop$ csrutil status
System Integrity Protection status: disabled.

disabled になったら OK

再起動して確認

ls /dev/tty.usbserial 
screen /dev/tty.usbserial 115200

うん、ちゃんと通信できたわ。安心した。

もうとっても不自由なOSX

野良ビルドのkext を一切追加できなくなったのはほんとに不便だと思う。

セキュリティ対策は理解できるが、自分で自分のコンピュータにドライバを突っ込むことが出来なくなった。 ドライバを開発する人も減るだろう。これは由々しき事態ですね。

ソースが公開されていたら、自分でビルドして自分の開発者IDで署名すればいいだろうけど、それも面倒くさい。

kext 無いと不便なのだが。。。どうするのがベターな解決方法なのでしょうか・・・

2016-03-11の段階では存在した。

3月ごろにルーターを弄くってた時には、間違いなく存在してました。いまは存在してない。では、その間に何が起きたか。

macOS X 起動時にShiftをした のキャッシュ削除・ディレクトリ修正の適用。

3月以降のOSXのアップデート時に外れたんだろう。

安いUSB-Serialが動かなくなったのは、困った。思わぬところで追加コストを払う羽目になった。

参考資料

http://rcmdnk.github.io/blog/2015/10/10/computer-mac/