2011/08/12

Mac で Planex URS-03 (USB-Serial 変換アダプタ) を利用する

Planex URS-03 もメイカーは Mac 用のドライバを提供していないが、 利用しているチップセットのメイカー (Prolific Technology Inc. 社) の Web サイト から Mac 用のドライバをダウンロードしてインストールした上で、 ドライバの Info.plist ファイルに URS-03 の Vendor ID と Product ID を登録する事で正しく利用できる様になる。
URS-03 の場合は /dev/tty.usbserial という デバイスとして認識されるので、 このデバイスを利用して通信する事ができる様になる。

URS-03 の Vendor ID と Product ID はアダプタを接続した状態で、 以下のコマンドを実行して PL2303 を検索する事で取得可能である。

# /usr/sbin/ioreg -l | less
	
X code がインストールされている場合は /Developer/Applications/Utilities/USB Prober.app を実行して Conposite device from ATEN International Co. Ltd. を検索すれば、 Device Descriptor セクションから取得可能である。

URS-03 の Vendor ID は 1367(10)、 Product ID は 8200(10) なので、 Info.plist の内容を以下の様に修正する。

  1<?xml version="1.0" encoding="UTF-8"?>
  2<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  3<plist version="1.0">
  4    <dict>
  5        <key>CFBundleDevelopmentRegion</key>
  6        <string>English</string>
  7        <key>CFBundleExecutable</key>
  8        <string>ProlificUsbSerial</string>
  9        <key>CFBundleGetInfoString</key>
 10        <string>ProlificUsbSerial v2.2.0, Copyright 2006 Prolific Technology Inc.</string>
 11        <key>CFBundleIdentifier</key>
 12        <string>com.prolific.driver.PL2303</string>
 13        <key>CFBundleInfoDictionaryVersion</key>
 14        <string>6.0</string>
 15        <key>CFBundleName</key>
 16        <string>Mac OS X Driver for Prolific USB-to-Serial Bridge Device</string>
 17        <key>CFBundlePackageType</key>
 18        <string>KEXT</string>
 19        <key>CFBundleShortVersionString</key>
 20        <string>2.2.0</string>
 21        <key>CFBundleSignature</key>
 22        <string>????</string>
 23        <key>CFBundleVersion</key>
 24        <string>2.0.0</string>
 25        <key>IOKitPersonalities</key>
 26        <dict>
 27                <key>067B_2303</key>
 28                <dict>
 29                        <key>CFBundleIdentifier</key>
 30                        <string>com.prolific.driver.PL2303</string>
 31                        <key>IOClass</key>
 32                        <string>com_prolific_driver_PL2303</string>
 33                        <key>IOProviderClass</key>
 34                        <string>IOUSBInterface</string>
 35                        <key>bConfigurationValue</key>
 36                        <integer>1</integer>
 37                        <key>bInterfaceNumber</key>
 38                        <integer>0</integer>
 39                        <key>idProduct</key>
 40                        <integer>8200</integer>              <!-- 変更 -->
 41                        <key>idVendor</key>
 42                        <integer>1367</integer>              <!-- 変更 -->
 43                </dict>
 44        </dict>
 45        <key>OSBundleLibraries</key>
 46        <dict>
 47                <key>com.apple.iokit.IOSerialFamily</key>
 48                <string>1.0.4</string>
 49                <key>com.apple.iokit.IOUSBFamily</key>
 50                <string>1.8</string>
 51                <key>com.apple.kpi.iokit</key>
 52                <string>10.0.0</string>
 53                <key>com.apple.kpi.libkern</key>
 54                <string>10.0.0</string>
 55                <key>com.apple.kpi.mach</key>
 56                <string>10.0.0</string>
 57        </dict>
 58    </dict>
 59</plist>
    
これで kextload (8) を実行してドライバをロードすると URS-03 が無事に利用可能となる。

ただし、本来サポート対象のものを無理矢理利用しようとしているので、 URS-03 を接続した際にカーネルモジュールを自動でロードできない。 そこで 起動時に任意のコマンドを実行する 機能で起動時にカーネルモジュールをロードする設定を追加すると URS-03 を接続するだけで利用可能になる。


Copyright © Mitzyuki IMAIZUMI 2008,2009. All rights reserved.