macOS SierraでUSB-RSAQ2とUSB-RSAQ5を使う
概要
USB-RSAQ2とUSB-RSAQ5のOSXドライバは10.4くらいまでしか提供されていない。 macOS Sierra (10.12)上で使うためにProlificのドライバーを導入した上でUSB-RSAQ2とUSB-RSAQ5の情報を追加する。
手順
Prolific PL2303ドライバをインストールする
ここ からドライバをダウンロードしてインストールする。 現時点では10.13用まで提供されている。 (ただし、10.13に導入する際は注意書きが付いている)
導入後は再起動を求められる。 このときに Command+R を押しながら起動してリカバリモードで起動する。
kextの署名チェックを無効化する
自己責任で実施のこと。 しかし、これをやらないとProlificのドライバーは導入できない。と思う。
リカバリモードで起動してからターミナルを開き、以下のコマンドを実行する。
$ csrutil enable --without kext
実行したら再起動する。 再起動後にcsrutilで状態を確認するとこんな感じに Kext Signing が disabled になるはず。
$ csrutil status
System Integrity Protection status: enabled (Custom Configuration).
Configuration:
Apple Internal: disabled
Kext Signing: disabled
Filesystem Protections: enabled
Debugging Restrictions: enabled
DTrace Restrictions: enabled
NVRAM Protections: enabled
BaseSystem Verification: enabled
This is an unsupported configuration, likely to break in the future and leave your machine in an unknown state.
なお、 Apple Internal は disabled と表示されていても有効らしい。 なぜかは分からんので気にしたら負け。
USB-RSAQ2とUSB-RSAQ5の情報を調べる
MacにUSB-RSAQ2あるいはUSB-RSAQ5を接続する。 System Informationを起動し(Optionを押しながらメニューバー左のりんごマークを押すなどすれば)、USBの項目でProduct IDとVendor IDをメモる。
自分が確認したものは以下の通り。
USB-RSAQ2
Product ID: 0x04bb
Vendor ID: 0x067b
USB-RSAQ5
Product ID: 0x0a0e
Vendor ID: 0x04bb
16進数はbcコマンドや電卓で10進数を確認しておく。
$ echo "ibase=16; 4BB; 67B; A0E; 4BB" | bc
1211
1659
2574
1211
USB-RSAQ2とUSB-RSAQ5の情報を追加する
/Library/Extensions/ProlificUsbSerial.kext/Contents/Info.plist を↓のような感じで変更する。 <key> のところは16進数のProduct IDとVendor IDを _ でつなげたものとなっているようなので、該当のものがないことを検索して確認してから追加すると良い。 idProduct と idVendor は先ほど調べた10進数を書く。
--- /Library/Extensions/ProlificUsbSerial.kext/Contents/Info.plist.orig 2018-06-28 08:30:29.000000000 +0900
+++ /Library/Extensions/ProlificUsbSerial.kext/Contents/Info.plist 2018-06-28 08:36:18.000000000 +0900
@@ -108,6 +108,40 @@
<key>idVendor</key>
<integer>1659</integer>
</dict>
+ <key>067B_04BB</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>1211</integer>
+ <key>idVendor</key>
+ <integer>1659</integer>
+ </dict>
+ <key>04BB_0A0E</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>2574</integer>
+ <key>idVendor</key>
+ <integer>1211</integer>
+ </dict>
</dict>
<key>OSBundleLibraries</key>
<dict>
kextload!
あとは kextload すれば幸せになれる。
$ sudo kextload /Library/Extensions/ProlificUsbSerial.kext
USB-RSAQ2などをMacにつなぐと /dev/cu.usbserial が現れる。 2つ同時につなぐと /dev/cu.usbserial6 というのも現れた。 数字がどうやって決まるのかは良く分かっていない。
$ ls /dev/cu.usb*
/dev/cu.usbserial /dev/cu.usbserial6