pslaboが試したことの記録

はてなダイヤリーからはてなブログに引っ越してきました

この日記は現在実行中の減量記録を含む個人的なメモとして始めましたが、最近はコンピュータやガジェット、ハック、セキュリティネタのほうがメインになっております。

はてなダイヤリー時代はカテゴリ分けが適当だったのですが、これはそのうち直します。


Corega USB-TXS を MacOS X 10.9 Mavericks で使ってみるテスト。

Macbook Pro RetinaMacbook 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 を使いました。

コンパイル条件は、以下のように変更。

  1. Architectures → 64-bit Intel (x86_64)
  2. BaseSDK → Latest OS X (OS X 10.9)
  3. 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仕様のデバイスなので速度は全く出ませんが、万が一のお守りとして使えるのは悪くないカンジです。