2010年12月3日金曜日

Buffalo WHR-G300N を DD-WRT 化しました。

少し前にヤフオクで入手した Buffalo の 802.11n (300Mbps) 対応の無線LANルーター WHR-G300N をようやく DD-WRT 化することができました。なお DD-WRT 化するのが難しいとかではなく、単純に時間がなかっただけです。

今回の DD-WRT によってオリジナルのファームウェアではボロボロだった無線LANの性能に向上が見られるかが注目点でした。それは後ほどFTP転送速度の計測結果を紹介します。

さて DD-WRT 化ですが、いつものように TFTP 転送によるファームウェアの流し込みの方法を選択しました。パソコンから一度有線LANのスイッチングハブを経由して無線LANルーターの WHR-G300N へ接続しています。これはパソコンの Debian Lenny の Wicd の動作特性で、接続先が電気的に切断されると自動的にパソコン側の接続も切ってしまうことに対する対応です。


まず最初に上記の通りのセッティングを行った後、無線LANルーターの WGR-G300N の電源を入れてリセットボタンを押して設定内容を工場出荷状態に戻しておきました。また側面にあるルータースイッチも ON の状態としました。このスイッチによって初期値の IP アドレスが変わってきます。このスイッチをオンにすることによって 192.168.11.1 の IP アドレスが設定されます。

次にパソコン側ですが、IP アドレスを 192.168.11.2 へ変更してファームウェアの書き込みに備えました。一応 ping 192.168.11.1 のコマンドを実行して無線LANルーターの WHR-G300N から応答があることを確認しておきました。

ここまで確認が終わるといよいよ DD-WRT のファームウェアの流し込みです。DD-WRT の公式ウェブサイトから WHR-G300N でファームウェアの検索をして目的のファームウェアをダウンロードしてきます。
私が使用したものは V24 preSP2[beta] build:14896 (2010-08-09) です。このうち TFTP に対応した firmware.tftp というファームウェアを選択しました。今までの DD-WRT とはファームウェアの命名方法が変わっているようです。

仮想端末上で作業を行います。まず最初にファームウェアをダウンロードしたディレクトリへ移動します。

この中でスーパーユーザーになった後、tftp コマンドを実行します。

 # tftp 192.168.11.1
 tftp > binary
 tftp > trace
 tftp > rexmt 1
 tftp > timeout 15
 tftp > put firmware.tftp このコマンドを文字入力した時点で Enter キーを押さず一時的に作業を停止します。

無線LANルーターの電源を切ります。(重要)

上記の put firmware.tftp コマンドを Enter キーを押して実行させます。

すると仮想端末上では転送の応答がないことが1秒ごとに表示されます。

ここですぐに無線LANルーターの電源をいれます。すると数秒後に自動的に TFTP 転送が開始されて無線LANルーターに読み込まれて行きます。この時間わずか10秒たらずです。

仮想端末上では TFTP 転送が終了していますので quit コマンドで TFTP のモードから抜けます。

そして無線LANルーターの LED の様子をよく観察します。赤い LED の DIAG のランプが数分で消滅します。これでファームウェアが新しい DD-WRT のものに書き換わっているはずですが、一応用心のためにしばらく放置しておきます。


しばらく放置した後、パソコンの IP アドレスを 192.168.1.2 へ変更します。そしてウェブブラウザで 192.168.1.1 を指定してアクセスします。すると DD-WRT の設定画面が表示されれば書き換え成功です。私の場合には DD-WRT の設定画面がユーザー名とパスワードの設定画面から始まっていました。ここに希望するユーザー名とパスワードを入力すると無線LANルーターの内部設定画面へアクセスすることができるようになります。

私の家庭内無線LAN環境に合うように IP アドレスや無線LANの ESSID などを変更しました。もちろん暗号化は WPA2-PSK (AES) で設定しました。

さてお待ちかねの FTP 転送によるデータ転送速度の計測です。

802.11g でデータ転送実験

まず最初に 802.11g の WLI2-PCI-G54 を使っていつもの 100MB のバイナリデータの転送を行ってみました。

いきなり初っ端ならぼろぼろの状態でした。1,000KB/s 程度から始まり、転送を実験を繰り返すたびに転送速度が遅くなるという悪循環モードでした。

このとき設定していたチャンネルが 3ch であったのでいつも比較的よい成績があがる 13ch へ変更してみました。これで一応それらしいデータを取得することができました。
1,900KB/s となりました。普通の 54g クラスの無線LANルーターより悪い成績です。パソコン側で使用している WLI2-PCI-G54 は概ね 2,200KB/s の転送速度を安定的に出しているので遅いという結果となりました。またパケットモニターを観察していると櫛状に転送が止まるというより、大きく歯抜けをするように転送が停止することが観察されました。

802.11n でデータ転送実験

次に 802.11n 対応の CardBus型の Logitec LAN-WN23/CB で 150Mbps (帯域20MHz) の転送実験を行ってみました。これも上記の実験の流れで 13ch で行いました。


結果は 3,100KB/s とそこそこの結果が出ました。しかしオリジナルのファームウェアのときとさほど変化がないようです。また転送途中の様子をパケットモニターで観察しているとやはり大きく歯抜けをする場面があり、この後転送モードが低めに設定されるのかデータの転送速度が遅くなっていました。再接続をしては転送モードを速い状態に戻しては計測実験の繰り返しで少し疲れました。

次に 300Mbps (帯域 40MHz) で実験を行いました。DD-WRT の設定画面では 40MHz 帯域を選択すると upper / lower の選択ダイアログが表示されるようになります。基本チャンネルの上側にサブチャンネルを配置するのか、下側に配置するのかを設定するようです。サブチャンネルの具体的なチャンネルは表示されるようになっていませんでした。
自宅周辺にある無線LANからの到来電波もあることからチャンネルは自動選択として最初に lower モードを設定してみました。すると基本チャンネルは 13ch に設定されていました。

さてこの状態で転送実験を行ったところ転送速度の平均が 3,040KB/s という結果となりました。狭い帯域の方が成績が良かったのは他のチャンネルとの干渉もあって結果的に若干遅く
なった模様です。

続いてチャンネルの自動選択で upper モードで実験を行ってみました。この時の基本チャンネルは 1ch に設定されていました。

こちらも 2.990KB/s と lower モードのときと似た結果となりました。やはり他の無線LANからの干渉があった模様です。

どうも我が家では 40MHz 帯域を使って 300Mbps を目指すより、20MHz の帯域を使った方が安定してよりよい成績が得られるようです。

54g クラス無線LANルーターでは DD-WRT によってかなり安定してデータの転送速度もよくなっていただけに期待が大きかったのですが、どうもこの製品に関しては当てはまらないようです。

よくよく考えてみると有線LANの部分が 100Mbps までのものとなっている事実は何を物語っているのかは、これでよりはっきりした感じです。
もともと現状の 802.11n では理論上では 150Mbps や 300Mbps を謳っていますが、現実的な転送速度は 100Mbps 以下であるようです。もっとも成績のよかった 3,100KB/s の数値を Mbps の単位へ換算すると 24.8Mbps となります。100Mbps の有線LANで実測値が普通に 80Mbps 程度出ていることを考えると、今回実験した状態よりよい成績として二倍の 50Mbps となったとしても余裕で 100Mbps の有線LANで転送できることとなります。

今回の実験を通じても 802.11n は 802.11g の 1.2倍程度しか転送速度が向上しないようです。今後も他の機種の無線LANルーターについても機会があれば同様の実験をしてみたいと思っています。

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。