El Capitan で CG-USBRS232R を使うのはあきらめましょう
- System Integrity Protection Guide -- Kernel Extensions
- El Capitan で ベンダーシグネチャ無しのkextを実行するには Recovery OS で起動して
csrutil
コマンドで切り換える必要があります。- Recovery OS を起動する
- csrutil enable --without kext
- reboot
- El Capitan で ベンダーシグネチャ無しのkextを実行するには Recovery OS で起動して
正規のドライバで動く USBシリアル変換ケーブルを使って
- あんまり筋が良いとは言えないので、あきらめてシグネチャ有りのkext使った方がイイよ。
- Prolific 2302 ドライバが使用できる USBシリアル変換コネクタ
- Plugable USB‐9ピンRS232 PL2303HX Rev Dチップ 2016年04月29日現在 ¥1,680
- Ugreen USB-RS232 DB9ピン PL2303チップセット 1m 2016年04月29日現在 ¥899
Yosemite で CG-USBRS232R を使うには
USBシリアル変換ケーブルは、Windows OS であれば挿せば勝手にドライバーをインストールしてくれるか、販売メーカーサイトでドライバをダウンロードすることで使うことができる。
しかし、Mac OSX 用のドライバーが用意されているケースは少なく、ほぼ皆無と言ってよい。
ところが、変換チップを作っている海外メーカーのサイトでドライバーが配布されていたりするので、チップメーカーからOSX用のドライバーを探し出すことが出来たりする。
- cf.
corega CG-USBRS232R ケーブル
購入場所
ドライバー入手
-
Prolific から zip ファイルをダウンロード http://www.prolific.com.tw/US/ShowProduct.aspx?p_id=229&pcid=41
- ZIPを展開して pkg ファイルを起動して自動でインストール/再起動
- カーネル拡張設定ファイルの編集
- コレガ製ケーブルの VenderID, ProductID が入っていないので追記します。
- sudo vi /System/Library/Extensions/ProlificUsbSerial.kext/Contents/Info.plist
- このファイルを編集するときには root 権限が必要なので、sudoコマンドで vi を実行して編集するのが良いでしょう。
--- Info.plist.origin.txt 2013-10-30 12:00:36.000000000 +0900 +++ Info.plist.ProlificUsbSerial.kext.txt 2013-10-29 19:54:14.000000000 +0900 @@ -74,6 +74,23 @@ <key>idVendor</key> <integer>1659</integer> </dict> + <key>07aa_002a</key> + <dict> + <key>CFBundleIdentifier</key> + <string>com.prolific.driver.PL2303</string> + <key>IOClass</key> + <string>com_prolific_driver_PL2303</string> + <key>IOProviderClass</key> + <string>IOUSBInterface</string> + <key>bConfigurationValue</key> + <integer>1</integer> + <key>bInterfaceNumber</key> + <integer>0</integer> + <key>idProduct</key> + <integer>42</integer> + <key>idVendor</key> + <integer>1962</integer> + </dict> </dict> <key>OSBundleLibraries</key> <dict> </code></pre>
-
idVender と idProduct は
カーネル拡張モジュールの再構築
カーネル拡張キャッシュの再構築が必要なので、kextディレクトリを更新して再起動させるとモジュールを読み直してくれる。
ただし、kext内の設定情報を書き換えてしまっているので、Yosemiteが管理しているベンダーシグネチャと差異があるため、モジュールのロードが出来なくなってしまう。
シグネチャを作り直せれば良いのだが、それも出来ないので、おすすめしないがカーネル起動時のオプションでシグネチャチェックを無視する開発用モードでOSを起動するようにする。
$ sudo touch /System/Library/Extensions $ sudo nvram boot-args="debug=0x146 kext-dev-mode=1" $ sudo reboot
-
See. http://kangaetakoto.blogspot.jp/2013/05/how-to-rebuild-kext-cache-on-mountain.html
- kextcache コマンドは使わない方が良さそうです。
使い方
- 標準のターミナル、もしくはターミナルアプリ iTerm2 などから screen コマンドでシリアル経由でのターミナル接続が可能になります。
- screen /dev/tty.usbserial 9600 << 数字の部分は通信速度なので接続機器によって異なります。
- Catalyst 2960 の例
$ screen /dev/tty.usbserial 9600
cat-2960>sh run
^
% Invalid input detected at '^' marker.
cat-2960>en
cat-2960#sh run
Building configuration...
Current configuration : 6015 bytes
!
version 12.2
no service pad
service timestamps debug datetime msec
service timestamps log datetime msec
service password-encryption
!
hostname cat-2960
Ctrl-A, Ctrl-\ (接続を終了するかどうか y/n で尋ねられるので yキー で切断される)