家で作業するためにDNSとDHCPの予備機を作りたかった。
メインのサーバがHDD入れ替え等の作業している間に代わりに仕事をしてくれるだけでいいのでDNSとDHCP程度でとりあえずいい。
このためにサーバを一台作るほどのものではないので家に余っている Buffalo の WLA-G54 (Air Station)をサーバとしてみる。必要な時に電源入れて線につなげばいいような感じで。
サーバがダウンしたら自動で起動とかいうような複雑なものは作らんよ。

WLA-G54 って2002年の製品か。10年前のものだったのか。先日まで使っていたのだけどな。
そのままでもとりあえず機能は十分にあるのだけど、せっかくなので別なファームに入れ替えてみる。
dd-wrt というファームを入れると Buffalo 製品の機能が増えるようだ。

▲作業

http://www.dd-wrt.com/
dd-wrt から対応したファームをダウンロード。
今回使用したのは「dd-wrt.v24-13064_VINT_std.bin」
Linux機でヘッダー書き換えコマンドddadderを使う。
WLA-G54 をストレートケーブルでLinux機に直結。
WLA-G54 の電源を入れる。
WLA の初期化ボタンをDIAGランプが点滅してその後消灯するまで押す。
PCの有線LANを192.168.11.2/255.255.255.0に設定する。
ブラウザで192.168.11.1にアクセスする。
ユーザ名rootパスワード無しでログイン。
「アドバンス」ボタンからファームウェアの更新。
先のファームウェア dd-buffalo-wla-g54.bin を選択し更新する。
2〜3分かかる。更新完了のメッセージが表示されるまで待つ。
PCの有線LANを192.168.1.2/255.255.255.0に設定する。
ブラウザで192.168.1.1にアクセスするとdd-wrtの画面が表示される。
初回はユーザ名とパスワードを設定する。
「Administration」タブの中に「Management」があり、その中に言語設定がある。「Japanese」に変更すると日本語になる。(便利だな)
後は好きなように。
DNSとDHCPの設定を適当に使っておしまい。
かなり機能が増えたので楽しいですね。

▲ハマりどころ1

今回はヘッダー書き換えツールとしてLinux用を使った。
なぜかエラー。しょうがないので付属のソースをコンパイル。gcc ddadder.c
で、できたa.outが動きそうだったのでそのまま使った。(てきとー)
$ a.out dd-wrt.v24-13064_VINT_std.bin wla-g54
これで同じディレクトリに dd-buffalo-wla-g54.bin ができる。

▲ハマりどころ2

WLA-G54が初期化できない。
IPアドレスが入れ替えて使っている無線LANアクセスポイントと同じ(だったような。。。)なので、初期化してみた。マニュアルを見ると初期化ボタンを3秒と書いてるのだけど。初期化できてない。
よく調べたら、ファームを新しくしてAOSS対応版になっていると初期化ボタンはAOSSボタンに変わるので、初期化の方法が変更になっていた。
http://buffalo.custhelp.com/app/answers/detail/a_id/170/~/無線親機の初期化ボタンより初期化を行う方法
「設定初期化スイッチを、DIAGランプが激しく点滅→消灯するまで押しつづけます。」ということ。消灯した後も押し続けるとまた激しく点滅を始めるので適当に消灯したら押すのをやめた。

▲ハマりどころ3

初期化したWLA-G54のアドレスは192.168.11.1でdd-wrtに入れ替えると初期値は192.168.1.1。