Corega USB-TXS を MacOS X 10.9 Mavericks で使ってみるテスト。
Macbook Pro Retina や Macbook Air には、有線LANが無い。
手元には Corega の USB-TXS という、ふるーい USB-LAN アダプタが余っている。
http://corega.jp/product/list/lanadp/feusbtxs.htm
しかし、MacOS 向けの最新のドライバがネエ。
これをなんとかしてみよう、という誰得な試みです。
■結論
Xcode をインストールして、以下のドライバをソースからビルドすればOK。
http://sourceforge.net/projects/pegasususbmacx/
MacOS向けのネイティブなアプリすら書いたことが無いのに、デバイスドライバをコンパイルするという、ある意味無茶なことをやっているので、手順はかなりテキトーです。
ソースコードは、1.0.9 のバイナリパッケージに同梱されているものを使います。私は src/Tiger を使いました。
コンパイル条件は、以下のように変更。
- Architectures → 64-bit Intel (x86_64)
- BaseSDK → Latest OS X (OS X 10.9)
- Valid Architectures から i386 を消して x86_64 だけにする
コンパイルすると、USBPegasusEthernt.cpp の中で一か所だけ、変数のキャストが (int) と記述されている個所がコンパイルエラーとなります。しかしこれは以下のように long に書き換えるとコンパイルは一応通ります。(これによるリスクは自己責任で)
++me->recursionLevel;
// me->setState((ctrlEvent_t) (int)evt);
me->setState((ctrlEvent_t) (long)evt);
--me->recursionLevel;
ビルド後に、メニューから Product -> Archive を選ぶと、Library/Developer/Xcode/Archives/YYYY-MM-DD/USBPegasusEthernet YYYY-MM-DD HH.MM.xcarchive/Products/System/Library/Extensions/USBPegasusEthernet.kext/ に一式が出来上がっているので、これを /System/Library/Extensions にコピーする。(owner = root, group = wheel にしておくこと)
OS再起動するとデバイスが使えるようになります。
USB1.1仕様のデバイスなので速度は全く出ませんが、万が一のお守りとして使えるのは悪くないカンジです。