/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が動かなくなったのは、困った。思わぬところで追加コストを払う羽目になった。