WHR-G300NをDD-WRT化してみる

WHR-G300Nは2009年5月現在バッファローから販売されている無線LANルータです。
単体で8000円前後と、兼ね良質なメーカの無線LANルータとしては比較的安価、300Mbps(倍速11nモード)をサポートし、
暗号化もバッチリな機種なので一般的な使用法で使う人にもお勧めできます。


注意:
DD−DRT化したり、一度分解した無線LANルータはバッファローのサポート対象外になります。又、失敗すると2度と無線LANルータとして使えなくなるかもしれません。いかなる損害が発生したとしても私は責任を負いません。作業は自己責任で行ってください。

ここではWHR-G300Nに俗にいう代替ファームとして知られているであろうファームの一種であるDD-WRTを挿入して動くことを検証します。
ついでに無線ルータ本体中身がどうなっているのかも見ていきます。

まずは無線LANルータであるWHR-G300Nを購入しましょう。

本体を取り出し、普通は取り説を見ながら電源を投入しますが・・・

今回は中身も見たいので特殊ドライバでネジを外します。

但し、プラスチック製の本体ケースはツメでかみ合っているのでネジを外しただけでは開きません。
ツメを壊す覚悟で力を入れてこじ開ける必要があります。



下はプラスチックカバーを外して出てきた無線LANルータのメイン基板です。
案外シンプルな作りです。
下写真の基板左上辺りに4つ端子が付きそうな穴があると思いますが、そこにはシリアルポートがつけられます。
信号レベル変換を行ったうえで、パソコンとフロー制御無しのUART通信が行え、コマンド送信や、ここからファームウェアを流し込むこともできます。



最近はベースバンドチップとCPU+I/Oコントローラ、RFチップが全て統合されたものが主流になりつつあるのか分かりませんが、
とりあえずWHR-G300Nでは電波の送受信、ルーティング処理、スイッチングHUBの機能がひとつのパッケージに納まった
RaLink社製のチップが使われています。

参考に私が推定したWHR-G300Nの簡易的なブロック図を載せときます。
あくまでも推定ですので間違っていてもあしからず。


下はケースについているアンテナ部分です。ひとつは透明プラスチック(インジケータLEDの導光板)の左側、もうひとつは写真右下の白い金属部分になります。
アンテナの位置は受信感度問題を解決するのに重要ですから本体のどこにアンテナが入っているのかを知っておくといいかもです。




本題のファームウェアの話に戻ります。

今回使うファームウェアはDD-WRTというもので、バッファロー標準のファームウェアには無い機能があったりする、簡単に言えば無線LANルータを高機能にできるファームウェアです。

但し、機能をフルに使いこなすためには一定のネットワークに関する知識が必要です。
(最低限IPアドレス、サブネットマスクの意味が分かり、計算できる。日本のISMバンドにおける電波の使用規定を理解している。無線LANセキュリティーの知識がある。使う人はVPN(PPTP、L2PT等)が分かる。QoSを知っている。英語が読めることが必要かと思います。)

DD-WRTの大本になっているのはOpenWRTというもののようです。(無線ルータのファームウェアのソースを公開した会社があって、そこから発展したみたいです。詳しくはGoogleなどで調べてみてください。)

DD-WRTのファームウェアには複数バージョンがあり、現在のところ、WHR-G300Nで動作するファームウェアは030309版になります。
よって下のページでまずはWebアップデート版のファームウェアをダウンロードします。



まずは普通に電源を投入して無線LANルータの設定ページに飛びます。

そしてファームウェアアップデートのページに行って先ほどダウンロードしたファームウェアを指定します。



開くを押して更新実行をすればアップデートが完了してDD-WRT化が成功すると思いました・・が、そうは行きませんでした。

どうやらファームウェアを判別しているらしく、正しくないファームウェアとして拒否されてしまいました。

現段階ではWebからのDD-WRTへのアップデートはできないことがわかったので・・次の方法を考えます。

DD-WRTのフォーラム等によると、
WHR-G300Nは電源投入→LAN側ポート起動後3秒以内はリカバリーモードなる特殊なモードになっていて、外部からTFTPによるファームウェアの転送を受け付ける
となっていましたので、次はTFTPによるファームウェア転送作戦に移ります。

まず、DD-WRTではTFTP転送用のファームウェアも公開されているので、次は上のほうで紹介したページより、
ファイル名:firmware.tftp
というファイルをダウンロードします。

次に、いったんWHR-G300Nの電源を落とします。
そして、WHR-G300NのLAN側ポートとパソコンのLANポートをLANケーブルで繋ぎます。
繋いだら、今度はパソコンのLANポートのIPアドレスを設定します。下のように設定してください。




設定できたら、コマンドプロンプトを立ち上げます。


ダウンロードしたTFTP用のファームウェアは拡張子を.binに変え、コマンドプロンプトが指しているカレントフォルダ
(上画像だと、C:\Documents and Settings\Owner)に移しておきます。

WHR-G300Nの電源を投入後、しばらくすると下のようなメッセージが表示されます。

このメッセージが表示されたら
3秒以内にコマンドプロンプトに下のようなコマンドを打ち込んで実行させます。

tftp -i 192.168.11.1 put firmware.bin

↑のコマンドを3秒以内に手動で入力は非常に難しいので、あらかじめ打ち込んでおいて、メッセージ表示とともにEnterを押すだけにしておいたほうがいいでしょう。

成功すると下のような画面になります。


上の画面のようになったら、TFTPでファームウェアは正しくWHR-G300N側へ送られたことになっていますので、
コマンドプロンプトは閉じてもOKです。

WHR-G300N側は転送完了後、下のような感じで赤いランプが点灯したままになります。
この状態は約2分ほど続くこともあります。
赤いランプが消灯するまでは絶対に電源を切ってはいけません。


赤いランプが消灯し、緑でワイヤレスのランプが点灯した状態になったらDD-DRTにファームウェアが書き換わった状態になった筈なので、
パソコン側のLANポートのIPアドレスを
192.168.11.254から192.168.1.254
に書き換え
適当なブラウザで
http://192.168.1.1
へアクセスしてみてください。
パスワードの書き換えの要求の後、下のようなページが出ればDD-WRT化成功です。


v24_preSP2からは帯域モニターなどの機能も付いたようです。

その他にも多数の設定項目、モニターできる項目がありますがここでは割愛させていただきます。

備考:
現在のところ、上のほうでも書きましたが、030309版のファームウェアでないとWHR-G300NをDD-WRT化できません。
それ以外のバージョンのファームウェア(たとえば030309よりも新しそうなバージョンのやつとか)を入れてしまうと
無限再起動現象に見舞われてしまい、いつまでたっても設定ページに入れず、無線LANルータとしての機能を全く果たさない状態になってしまいます。
無限再起動現象になった場合のWHR-G300Nの挙動は以下のとおりです
1、電源投入
2、電源ランプと赤いランプが点灯
3、〜20秒程度で全てのランプが一瞬点灯のあとすぐ消灯
4、上記2の状態になり、2〜3を延々と繰り返す。リセットボタンを長押ししてもリセット処理は受け付けられない。途中で電源を切っても電源再投入後は1〜4の状態を再び踏んで正しく起動しない。

万が一上の状態になってしまった場合、慌てずにもう一度030309版のファームウェアをTFTPで送り込む手順を踏んでみてください。
失敗することもありますが、たいていは書き換え処理が受け付けられ、処理完了後は無限再起動現象は解消され、設定画面に行くことができるようになります。

始めのほうに、UART通信について少し書きましたが、これは趣味で遊ぶ人以外はTFTP転送にもどうしても失敗してしまうときに使う手段となります。
DD-WRTホームページのWHR-G300Nについて書いてあるページに基板上端子のピンアサインと繋ぎ方が書いてあるので、電子工作したことがある方はUART(シリアル)ポートを作りこんでもいいのではないでしょうか。


無事WHR-G300NをDD-WRT化できたので今回はこれで終了です。

戻る