渋谷に新しくヤマダ電気が出来たのだけど、そこの特売で今はディスコンのバッファロー(FreeBSD 的には MELCO)の WLR-UC-G が 1,480yen で売っていた。
USB 接続の無線 LAN アダプタで、WindowsXP 上では AOSS と言うソフトウェアルータを利用して無線アクセスポイントになれる。と言うヤツ。
Windows 専用のアプリケーションをインストールすると無線アクセスポイントになれるんだけど、これを FreeBSD に接続してフツーに無線 LAN アダプタに利用できないかなぁ。と思い、購入。まぁ、FreeBSD で動かなければ WindowsXP で iPod Touch 用に利用すれば良いかな。とも思ったんだけど。
で、FreeBSD に早速接続してみた。kldload if_* とかした後で。けど、かわいくないなぁ。ugen0 に落ちてしまった。しくしく。
さてと。格闘はここから。まず、WLR-UC-G はどんなチップが乗っているのか? google で探すのだけど、どうも解らない。Linux 方面での実績を調べてみたのだけど、それも無いみたい・・。あらら。結局どんなチップを使っているのか google では解らなかったので、しょーがない。Windows に付属の CD からドライバをインストールして調べてみた。すると、Ralink Technology Corp. と言う所のドライバを利用しているみたい。ふぅ。
ちなみに FreeBSD に接続した時の usbdevs -v はこんな感じ。
|
ただ、こいつ、しゃらくさいことにプロダクト ID を二つ持っている。AP モードにした場合は 0x0119、クライアントモードにした場合は 0x0116 となる。これを覚えておいてと。
これ位の情報が手に入ると後は簡単。FreeBSD で Ralink Technology Corp. 用のカーネモジュールが無いか調べてみたら if_rum と言うのがあるじゃーん。と、言うことで最新の 7.1-STABLE のソースコードを持ってきてエントリを追加します。
でもって出来たパッチはこの辺りにおいておきます。
http://www.icmpv6.org/Prog/FreeBSD_patches/MELCO_WLR-UC-G.patch
プロダクト ID を二つ登録したので AP モードでもクライアントモードでもどっちでも 無線 LAN アダプタとして利用可能です。けど、クライアントモードで利用したほうが安心かも;-)。
実際に利用するするためには色々なカーネルモジュールをロードする必要がありまずが、ここでは割愛させていただきます;-)。 僕が試した感じでは ifconfig rum0 up して、ssid 付けて dhcp でアドレスが付きました。後 ifconfig rum0 scan も利用できました。
FreeBSD において AP モードは利用できないけど、ハードウェア自体は利用できるようになりました。めでたしめでたし。と言うことにしましょう;-)。