2015年3月20日金曜日

Buffalo WHR2-A54G54 で 2.4GHz 帯が動作しました

バッファロー WHR2-A54G54 は、先日の DD-WRT (14396) のインストールで、5GHz 帯の IEEE 802.11 a モードのみが動作していることを確認しました。今回 2.4GHz 帯の IEEE 802.11 b/g モードも、ようやく動作させることに成功しました。

2.4GHz 帯のデバイスが DD-WRT で使用できていませんでしたが、
原因が判明して、無事アクセスできるようになりました。

現象

インストールした直後では、5GHz 帯の電波も 2.4GHz 帯の電波も発射されていて、クライアントとなるパソコン上でも両者の電波(ESSID)を発見できる状況でした。しかしアクセスを試みると、なぜだか 5GHz 帯のものしかアクセスすることができず、2.4GHz 帯ではアクセスが出来ませんでした。どうも無線LANのデバイスとしては動作しているにも関わらず、どこかでアクセスが阻害されている感じとなっていました。

原因の発見

そこでいろいろと調べてみると、大変なことを発見しました。それは4個のポートを有している有線 LAN の部分と無線 LAN の部分のブリッジ設定に問題があるのを発見しました。

シリアルコンソールでの操作などからWHR2-A54G54には、次にようにデバイスが名前を付けられていることが判明していました。
  • eth0 = 有線 LAN ポート
  • eth1 = WAN ポート
  • eth2 = 5GHz の無線 LAN
  • eth3 = 2.4GHz の無線 LAN

DD-WRT のブラウザ設定画面の [Setup] - [Network] - [Current Bridging Table] を見てみると、br0 に eth0, eth2 しか存在していませんでした。そうです! 2.4GHz 帯のデバイスである eth3 が他のデバイスとブリッジ(連絡)されていませんでした。

DD-WRT のブリッジの設定画面です。黄色く着色した部分が関連した部分です。

ブリッジ設定の訂正

そこで手動で eth0, eth2 へブリッジの追加設定を行なってみました。上記と同じ設定画面の中の [Assign to Bridge] のところで [Add] ボタンを押して、br0 へ eth3 を追加するようにしました。設定を反映させるために [Apply Serttings] のボタンを押した後、ルータの再起動で一分程度待った後、再度同じ画面を表示すると [Setup] - [Network] - [Current Bridging Table] の br0 ところに eth3 が追加されていました。そして、パソコン側から無線 LAN で 2.4GHz 帯の IEEE 802.11 g モードでアクセスすると、ちゃんと接続が可能で、通信も正常に行うことができました。もちろん 5GHz 帯と同時にアクセスも問題ありませんでした。

5GHz 帯と 2.4GHz 帯を同時にアクセスすると Wireless 1 と 2 のランプが同時に点滅します。

原因が判明してしまえば、「灯台下暗し」の例えではありませんが、こんな落とし穴があるとは思ってもいませんでした。二つの無線LANデバイスを有している無線LANルータに DD-WRT をインストールしたにも関わらず、片側の無線LANデバイスしか使用できない場合には、このブリッジ・テーブルを確認してみてください。もしかしたら一つの原因かもしれません。

Buffalo WHR3-AG54 へ シリアルコンソールの外部端子

5GHz 帯の IEEE 802.11 a モードしか使用できない WHR3-AG54 の設定の見直しなどを行なっていました。そして再びファームウェアを DD-WRT のビルド 13941 からビルド 14896 へ変更してみました。すると、再び設定値に異常な値が含まれるようになってしまいました。そこで初期化を行いましたが、何と!再び起動しなくなってしまいました(涙)。

仕方がないので、WHR3-AG54 の筐体を再び開いて、内部のシリアルコンソール端子へ USB シリアルケーブルを接続して、PMON の中から NVRAM の消去を行いました。すると再び起動を開始するようになりました。どうも WHR3-AG54 の弱点として、初期化を下手に行うと、起動しなくなってしまうようです。
Buffalo WHR3-AG54 で DD-WRT が復活
http://near-unix.blogspot.jp/2015/03/buffalo-whr3-ag54-dd-wrt_12.html


シリアルコンソールへスムーズにアクセスしたい

そこで、初期化が必要となったときに、再び筐体を開くのが大変なので、シリアルコンソールの外部端子を設けることとしましました。外部端子があると、まだまだ続くであろう設定の見直しや、ファームウェアのインストールで起動しなくなっても、すぐに対応可能となります。

シリアルコンソールの外部端子は背面(WAN, LAN ポートの脇)に設けることとしました。この背面のプラスチック部品に細長い穴を開けて、そこへピンヘッダを取り付けることとしました。具体的には写真を見ていただければ解ると思います。

シリアルコンソールの外部端子の取り付け

プラスチック部品へ穴を開けるのに多少手間取りました。細いドリルで一直線に何個か空けて、その間をニッパーで切断した後、ヤスリで仕上げました。プラスチックの削りかすは静電気でアッチコッチに飛散してしまうので大変です(笑)。

プラスチック部品へ細長い穴を空けているところです。
加工したプラスチック部品の裏側です。

プリント印刷基盤へ延長するシリアルコンソールのケーブルとピンヘッダを取り付けて、筐体に組み込んだ後、先ほど空けた穴に合わせて、ピンヘッダをエポキシ接着剤で固定しました。もう後戻りできない加工となりました。

シリアルコンソールを延長したピンヘッダをエポキシ接着剤で固定しているところです。
シリアルコンソールの外部端子の全景です。

しっかりエポキシ接着剤が固定したところで、最終的にプラスチック部品とピンヘッダが干渉する部分を再度削り直して、取り付けを完成しました。ちゃんとシリアルケーブルを取り付けて、シリアルコンソールへアクセスできることも確認できました。これで思う存分、ファームウェアのインストールなどができるようになりました。

シリアルコンソールの外部端子を外側から見たところです。
シリアルケーブルを接続して通信を行なってみました。

2015年3月18日水曜日

Dell Wireless 1450 - USB アダプタを入手

デル社の USB 無線 LAN アダプタの D1450U をインターネット・オークションにて入手しました。無線 LAN アダプタとパソコンとの間は、普通の USB ケーブルで接続するタイプとなっています。外観は基本的に長方形の立方体なのですが、カーブを多用していて、ちょっとおしゃれな感じとなっています。

Dell Wireless 1450 USB Adapter (D1450U)の外観です。

パソコンへ接続して通信を開始すると本体内部に設置された二個の LED ランプが半透明の筐体を通して点灯するようになっています。

内蔵されている LED ランプの点灯状況です。

本体の底面を見てみると、製造メーカーとして Cisco の名前が入っていました。いわゆる OEM 生産のもののようです。こうしてブランド表示されていることは、しっかりとした製品に感じます。

D1450U の底面です。

D1450U のインストール

さて本機(D1450U)の Debian Wheezy での認識ですが、カーネルに組み込み済みの prism54 の p54usb で認識してくれます。しかし本機内部で使用するファームウェアが Debian のライセンスの関係で存在していません。そこで使用者自らがダウンロードしてインストールするようになっています。Broadcom の b43 ファームウェアのようにダウンロード・パッケージが存在しておらず、手動での作業となりますが、以下の Debian Wiki のページ通りに作業をすれば、問題なくファームウェアのインストールは完了しました。
Debian Wiki prism54
https://wiki.debian.org/prism54#p54usb-1
本機(D1450U)では ISL3887 を使用しているので、以下の項目の通りの作業となります。
Second generation USB devices (ISL3887)

$ wget https://daemonizer.de/prism54/prism54-fw/fw-usb/2.13.25.0.lm87.arm --no-check-certificate
$ su
# mv 2.13.25.0.lm87.arm /lib/firmware/isl3887usb

ファームウェアの準備が完了したところで、p54usb モジュールを再読み込みして、ファームウェアを本機へロードさせます。
# modprobe -r p54usb ; modprobe p54usb
以上でインストールは終了です。


親機として使用した WRT320N と D1450U です。
WRT320N は以前分解した時のまま、使用しています。

通信転送速度の計測

いつものように通信転送速度を計測してみました。親機として Linksys WRT320N (Tomato) を使用しました。5Ghz 帯と 2.4GHz 帯の両方で計測を行いました。計測方法は、およそ 100MB の単一ファイルを5回ダウンロードして、その平均値を求める方法です。
★ 通信転送速度の計測結果 ★
無線LAN親機に Linksys WRT320N (Tomato)
IEEE 802.11 a : 2,441KB/s ( 19,532Kbps )
IEEE 802.11 g : 2,290KB/s ( 18,326Kbps )

計測結果を観察すると、若干 5GHz 帯の IEEE 802.11 a モードの成績が良かったですが、ほぼ 5GHz 帯も 2.4GHz 帯も同じ通信転送速度となっていました。
また WRT320N にインストールしてある Tomato ファームウェアの転送状況を示すグラフを観察していると安定して通信している様子でした。54Mbps の製品としてはとても安定した性能を出していました。

Buffalo WER-A54G54 は DD-WRT 13064 を推奨

先日、DD-WRT のファームウェアのインストールに成功した バッファロー WER-A54G54 ですが、その後、通信転送速度の測定や試験運用の結果、DD-WRT のビルド 14896 のものは非常に不安定であることが判明しました。

今回、通信転送速度を計測した WER-A54G54 です。

DD-WRT 14896 の問題点

具体的には 2.4GHz 帯の IEEE 802.11 b/g モードは動作するのですが、非常に不安定で、通信が途切れ途切れで行われる状態でした。そのため通信転送速度の計測を行うことができませんでした。計測に使用していた GFTP が通信を途中で諦めて遮断してしまうこともありました。ただ 5GHz 帯の IEEE 802.11 a は問題なく動作しているようでした。

さらに問題点は、国別電波帯域設定で W52 と W53 を選択する目的で 5GHz 帯の方を UNITED_STATES と設定して、2.4GHz 帯を JAPAN と設定すると、2.4GHz 帯の電波が発射されなくなります。5GHz 帯の方は電波が発射されています。
これを 5GHz と 2.4GHz の両方を共に UNITED_STATES または JAPAN に設定すると、5GHz 帯も 2.4GHz 帯も同時に電波が発射されるようになりました。

テーブルの縁にアンテナ部分を追い出して、内部へアクセスできるように置いてみました。

DD-WRT 13064 のインストール

そこで一つ古い DD-WRT のビルド 13064 を WER-A54G54 へインストールしてみました。ビルド 14896 のブラウザからの設定画面の[Administration] - [FirmwareUpgrade] のところから DD-WRT 13064 のウェブフラッシュ・イメージでインストールを行いました。

WHR-HP-AG108 Firmware: Webflash image whrag108-firmware.bin

DD-WRT 13064 の通信状況

新しくインストールした DD-WRT 13064 は、古い DD-WRT 14896 と打って変わって、調子良いのです。

上記のように 2.4GHz 帯の IEEE 802.11 b/g  モードでも、通信転送速度の計測ができるようになりました。そして、国別の電波帯域設定も 5GHz 帯を UNITED_STATES へ、2.4GHz 帯を JAPAN に設定して、正常に電波が発射されていました。

ただし、通信転送速度の計測時に度々速度がゼロになる現象は 5GHz 帯も 2.4GHz 帯でも見られました。無線 LAN のチップへ DD-WRT のファームウェアが適合していない部分があるのかもしれませんでした。

DD-WRT 13064 の通信転送速度

今回 DD-WRT 13064 で通信転送速度を計測しましたので紹介します。なお DD-WRT 14896 で計測できた 5GHz 帯の IEEE 802.11 a モードにつきましては、 DD-WRT 13064 とほぼ同一ということで省力しました。

計測方法は、いつものように、およそ 100MB の単一ファイルを5回ダウンロードして、その平均値を求める方法です。WER-A54G54 の 5GHz 帯の仕様を UNITED_STATES にして 40ch で計測しました。そして 2.4GHz 帯の仕様は JAPAN として 3ch で計測を行いました。

無線LANアダプタは ThinkPad X31 (Debian Wheezy) へ取り付けているインテル社の WM3B2915ABGを使用して計測を行いました。そして madwifi で動作している バッファロー WLI-CB-AMG54 を ThinkPad X22 (Debian Lenny) へ装着して計測を行いました。

★ 通信転送速度の計測結果 ★
無線LAN子機に Intel WM3B2915ABG を使用時
Super G Fast Framing オフ
IEEE 802.11 a : 2,107KB/s ( 16,856Kbps )
IEEE 802.11 g : 2,302KB/s ( 18,421Kbps )
Super G Fast Framing オン
IEEE 802.11 a : 2,095KB/s ( 16,766Kbps )
IEEE 802.11 g : 2,300KB/s ( 18,406Kbps )

無線LAN子機に Buffalo WLI-CB-AMG54 を使用時
Super G Fast Framing オフ
IEEE 802.11 a :   858KB/s (  6,866Kbps )
IEEE 802.11 g : 2,164KB/s ( 17,316Kbps )
Super G Fast Framing オン
IEEE 802.11 a : 1,002KB/s (  8,019Kbps )
IEEE 802.11 g : 1,613KB/s ( 12,905Kbps )


インテル社の WM3B2915ABG を ThinkPad X31 へ取り付けた状態で計測を行ったものは、いわゆる 54Mbps を標榜する無線 LAN ルータにありがちな通信転送速度となりました。そして Super G Fast Framing については、オン/オフで変化は見られませんでした。どうもハードウェア的に、無線 LAN ルータ側の Atheros 社のチップと無線 LAN アダプタの Intel 社のチップとの間で Super G Fast Framing 機能が働いていないようでした。違うメーカーの無線 LAN チップなので、当然のことかもしれません。

そして無線 LAN ルータと同じ Atheros 社のチップが搭載れた無線 LAN アダプタの WLI-CB-AMG54 では、 Super G Fast Framing のオン/オフで差がでました。ただ全体として、通信転送速度は低調な結果となっていて、特に 5GHz 帯の IEEE 802.11 a モードは他の無線 LAN ルータと同様に 800MB/s 程度の速度しか出ていませんでした。

通信状況をグラフに表示する DD-WRT の機能を使って、通信状況を観察するかぎりでは、DD-WRT 13064 でも通信が細かく中断している様子が見られます。私のように興味本位で DD-WRT をインストールして遊ぶ分には問題はありませんが、実用的な無線 LAN ルータとして使用するには疑問のある結果となっています。ファームウェアの入れ替えを考えている読者さんは、よく考慮してインストールしてください。

2015年3月16日月曜日

Buffalo WER-A54G54 へ DD-WRT をインストール

フラッシュメモリのバックアップまで済ませた WER-A54G54 ですが、いよいよ DD-WRT をインストールします。

WER-A54G54 へシリアルコンソールでアクセスしているところです。

DD-WRT の公式ウェブサイトのデータベースのページより、WHR-HP-AG108 のページヘアクセスします。WER-A54G54 と WHR-HP-AG108 のハードウェアは互換性のあるものということで、この WHR-HP-AG108 のファームウェアで稼働させることができるそうです。私も先達たちの苦労によってインストールに成功実績のあるものをインストールすべきだと考えています。なお私が使用したファームウェアのビルド番号は 14896 のものです。

ダウンロードするファームウェアは次の二種類です。
  • root.fs
  • lzma_vmlinus

DD-WRT の公式ウェブサイトの WHR-HP-AG108 のダウンロード・ページです。

そしてインストール・マニュアル(英文)もダウンロードしておきます。
基本的にこのインストールマニュアルどおりに作業をすればインストールができます。なお日本語で WER-A54G54 へ DD-WRT をインストールした紹介をしているブログを紹介しておきます。とても細かく丁寧に記述されているので、私の説明は不要な感じです。
Magistolの日記 [Network]WER-AG54をDD-WRT化してみた
http://d.hatena.ne.jp/Magi/20100923/1285679620

なお上記のブログでは Windows マシンからのインストールとなっています。私の場合は、Debian Wheezy 上からの作業となりますので、一部異なっています。その部分について紹介します。

TFTPD のインストールと設定

ファームウェアは WER-A54G54 の RedBoot のコンソール上から TFTP 転送によって作業マシンからデータを吸い上げる形となります。今回は作業マシンの中に TFTP サーバを準備して、この転送に備えました。TFTP サーバのインストールと設定は以下の通りです。
# aptitude install tftpd
# mkdir /srv/tftp
# cd ・・・・ DD-WRT をダウンロードしたディレクトリへ移動
# cp root.fs lzma_vmlinus /sev/tftp/

作業マシンの IP アドレスの設定

作業マシンの IP アドレスを手動で 192.168.11.2 へ設定します。なお DD-WRT をインストールする WER-A54G54 は 192.168.11.1 を後ほど設定します。
そして作業マシン LAN ポートと WER-A54G54 の LAN 側のポート(4個のうちいずれか)をイーサネット・ケーブルで接続します。

シリアルコンソールの準備

シリアルコンソールに使用するケーブルは USB 接続のPL2303HX搭載のものを使用しています。USB ポートへ差しこめば、自動的に認識してくれます。シリアルケーブルの先端にある Tx, Rx, GND を WER-A54G54 の JP1 の所定の位置へ取り付けます。電源の Vcc は接続しません。この取り付け作業中は、WER-A54G54 の電源は切っておいてください。
シリアルコンソールを起動させるには、端末上で特権ユーザ(root)へ昇格した後、次の二つのコマンドで行います。WER-A54G54 の電源が切れている状態のときに、シリアルコンソールを立ち上げておいてください。
# chown uucp /dev/ttyUSB0
# cu -l /dev/ttyUSB0 -s 9600

(参考)終了時は、チルダ(~)+ピリオード(.)で終了します。リターンは不要です。
RedBoot> ~.
WER-A54G54 の JP1 へシリアルケーブルを接続したところです。
基盤の Rx には、ケーブルの Txを
基盤の Tx には、ケーブルの Rx を接続します。


インストール作業

以上の作業が終わったところで WER-A54G54 の電源を投入します。端末上のシリアルコンソールの画面にメモリチェックを行うための動作が見えてくると思います。この後、Ctrl + C で起動を中断(Break)させることを示す表示が出たら、素早く Ctrl + C を行います。失敗するとシステムが起動を開始しますので、起動が落ち着いたところで電源を切断して、再度電源を入れ直して、Ctrl + C を行なってください。無事 "RedBoot>" のコンソールのプロンプトが表示されれば成功です。

これから WER-A54G54 の IPアドレス(192.168.11.1)の設定と TFTP サーバの IP アドレス(192.168.11.2)設定のコマンドを実行します。これ以降は、インストールマニュアル(5. 項目以降)そのままで大丈夫です。なお、インストールマニュアルでは、コマンド実行後の反応も示されていますので、同じ内容かどうかを確認しておきます。

インストールマニュアル whr-hp-ag108_flashing.txt
http://www.dd-wrt.com/routerdb/de/download.php?file=3714

インストール作業の注意点としては、インストールの最後部分で行う起動設定 "fconfig" のとき、WER-A54G54 自身の起動時の IP アドレスの設定があります。基本的に何を設定してもよいのですが、無難に 192.168.11.1 をお奨めします。
またこの "fconfig" のときに、シリアルコンソールの通信速度の設定がありますが、これも RedBoot で起動する途中も DD-WRT のシステムした後も、そのままシリアルコンソールが使い続けられる 115200 が無難です。
なおこの設定以降は、シリアルコンソールで接続する速度は 9600 ではなく 115200 となります。

確認

WER-A54G54 が再起動したところで、作業マシンの IP アドレス設定を DHCP 自動設定に変更します。すると WER-A54G54 にインストールした DD-WRT の DHCP サーバから IP アドレスが配信されて自動設定が行われるはずです。おそらく 192.168.1.100 となるでしょう。

この後、作業マシンのブラウザで 192.168.1.1 へアクセスすると、いつもの DD-WRT の設定画面が表示されます。最初にログインするユーザとパスワードの設定が求められますので、設定を行ったあと、細かな設定を行なってください。

作業マシンから WER-A54G54 へインストールした DD-WRT の初期設定を行なっているところです。

とりあえず、無線LAN環境については、5GHz 帯の IEEE 802.11 a モードも 2.4GHz 帯の IEEE 802.11 b/g モードも同時に稼働していました。そしてどちらも通信が可能でした。WHR2-A54G54 や WHR3-AG54 では、どちらか一方しか通信出来なかったので、こうして最初からちゃんと両方の帯域で通信ができているのは大変嬉しいです。

なお国別の電波設定ですが、ath0 の 5GHz 帯のものでは、"JAPAN" を設定すると、古い規格の J52 (34ch〜46ch)の設定となってしまいました。現在の W52, W53 にするには "US" で設定すると 36ch-48ch, 52ch-64ch が設定できるようになります。ath1 の 2.4GHz 帯については、"JAPAN" の設定で大丈夫でした。

Buffalo WER-A54G54 の分解とフラッシュメモリのバックアップ

バッファロー WER-A54G54 を分解して、内部のプリント印刷基盤へシリアル・コンソールを接続できるように準備をしました。

分解は、WHR2-A54G54 や WHR3-AG54 と同様のため、問題なく分解ができました。とは言っても、いつプラスチックの部品が破損してしまうのか心配で、ハラハラ・ドキドキの作業でした。

筐体を分解して内部を見えるようにした WER-A54G54 です。

取り出したプリント印刷基盤の表面の様子です。右側に白いソケットが二つ並んでいるうち、向かって左側のソケットがシリアル・コンソールのものとなります。そして左下に JTAG の 14 ピンヘッダが見えます。

WER-A54G54 のプリント印刷基盤を取り出したところです。
シリアルコンソールのピンの様子です。間違え防止のため、Rx, Tx, GND, Vcc の記号を書き込んでおきました。
こちらは JTAG のピンの様子です。左下が 1 番ピンでした。

そして裏側を観察すると、なんだか妙に汚れています。アルコールでしっかりと汚れを落としておきました。

WER-A54G54 のプリント印刷基盤の裏側の様子です。
何かの汚れが全面にわたって付着していました。

JTAG のピンヘッダが用意されていることもあり、DD-WRT のファームウェアのインストールの前にフラッシュメモリの内容をバックアップしてみることとしました。

WHR2-A54G54 や WHR3-AG54 でも使用した自作のプリンターポートを利用する JTAG ケーブルを接続しました。そして制御ソフトウェアの TJTAG でアクセスしてみました。情報が読み取れませんでした。今までフラッシュメモリのバックアップを取得したのは Broadcom 社のチップの無線LANルータでしたが、今回は Atheros 社のチップが使用されているものなので、上手くアクセスが出来ないのでしょうか?

JTAG ケーブルを接続してフラッシュメモリをバックアップしているところです。
パソコン側は Puppy Linux 5.7.1 JP を使用しています。

いろいろとネット上を検索してみると、いくつか判明したことがありました。

まずハードウェア的には WER-A54G54 は WHR-HP-AG108 と互換性があることでした。
このために DD-WRT のファームウェアは WHR-HP-AG108 と同じものが使用出来るそうです。
dd-wrt.com WHR-HP-AG108
http://www.dd-wrt.com/wiki/index.php/WHR-HP-AG108
Howto install OpenWRT Kamikaze on a Fonera
http://www.zoobab.com/fonera

そして JTAG 用のピンヘッダについては、標準的な 14 ピンの JTAG と同じレイアウトになっているそうです。そして大切なことは、1 番ピン(TRST)と 14 番ピン(Vcc)の間を 100 オームの抵抗器で接続(1 番ピンを 14 番ピンの電源へプルアップ)することでした。製作した JTAG ケーブルには、この部分が無かったため、動作しないことが判りました。


急遽 100 オームの抵抗器を接続して、動作確認をしてみました。すると TJTAG でちゃんと無線LANルータの情報を読み取ることができました。ただ、今までと違って処理が終了しても、自動的に停止せず、Ctrl + C で強制終了させる必要がありました。これは 1 番ピンのプルアップの影響なのでしょうか?
 # ./tjtag3 -probeonly

==============================================
 EJTAG Debrick Utility v3.0.1 Tornado-MOD
==============================================

Probing bus ... Done

Instruction Length set to 5

CPU Chip ID: 00000000000000000000000000000001 (00000001)
*** Found a Atheros AR531X/231X CPU chip ***

    - EJTAG IMPCODE ....... : 01000000010000000100000000000000 (40404000)
    - EJTAG Version ....... : 2.6
    - EJTAG DMA Support ... : No
    - EJTAG Implementation flags: R4k ASID_8 NoDMA MIPS32

Issuing Processor / Peripheral Reset ... Done
Enabling Memory Writes ... Skipped
Halting Processor ... ... Done
Clearing Watchdog ... Done

Enabling Atheros Flash Read/Write ... Done

.RE-Probing Atheros processor....
Probing Flash at (Flash Window: 0x1fc00000) ...
Done

Flash Vendor ID: 00000000000000000000000011000010 (000000C2)
Flash Device ID: 00000000000000000010001010100111 (000022A7)
*** Found a MX29LV320T 2Mx16 TopB      (4MB) Flash Chip ***

    - Flash Chip Window Start .... : 1fc00000
    - Flash Chip Window Length ... : 00400000
    - Selected Area Start ........ : 00000000
    - Selected Area Length ....... : 00000000



 *** REQUESTED OPERATION IS COMPLETE ***

Resuming Processor ...

^C
#

JTAG が動作することを確認したので、フラッシュメモリのバックアップを行うこととしました。

まずは CFE の部分です。
# ./tjtag3 -backup:cfe

何と!読み出し動作が非常に遅いのです!まるで昔のパソコン通信時代に 9600 bps のモデムで通信していたかのように、読み出すデータが目で追えるのです(爆笑)。256KB ほどの CFE 部分を読み出すのにおよそ 800 秒(13 分強)もの時間が掛かってしまいました。どうも DMA アクセスが出来ないことが原因のようです。

あまりの遅さにどこか問題があるのではないかと、読み出し用のパソコンを再起動させてみましたが、結果は変わりませんでした。

気を取り直して、今度はフラッシュメモリ全体をバックアップしました。全体で 4MB のフラッシュメモリなので、256KB の 13分ということは比例計算で 256 分(4.3 時間)ということになります。

実際にフラッシュメモリ全体をバックアップしてみました。
# ./tjtag3 -backup:wholeflash

バックアップ時間は 12,426 秒(207 分、3.5 時間)となりました。若干予想より早かったみたいです。しかし、これを二回バックアップして、md5sum のハッシュを採り、比較して同じ値となっていることを確認しました。放置しておくだけなのですが、度々進行状況を確認していることもあり、気が休まりませんでした。

フラッシュメモリをバックアップ中の動作状況です。
右上に JTAG ケーブルの中間にある接続部分が見えますが、追加で取り付けた抵抗器も見えます。なんとかきっちりとした加工を施さないと事故になりそうです。

さて、このフラッシュメモリのバックアップの間に、いつものように筐体のプラスチック部品を水洗いしました。レンジ周り用の強力アルカリ洗剤でしっかりと洗いました。(注意:電子パーツをアルカリ系洗剤で洗浄するのは厳禁です。洗浄可能なのは、プラスチック部品のみです。)

アルカリ系洗剤で洗浄中の様子です。
シャワーで洗剤を綺麗に洗い流しました。

これでようやく DD-WRT のインストールが行える状況となりました。

2015年3月15日日曜日

Buffalo WER-A54G54 を入手しました

インターネット・オークションにて、バッファロー社の無線 LAN ルータ WER-A54G54 を入手しました。もちろん 5GHz 帯の IEEE 802.11 a 対応の機種です。

今回入手した WER-A54G54 です。

入手した WER-A54G54 は、以前から入手していた WHR2-A54G54 や WHR3-AG54 と共通デザインとなっています。違いとしては、外部アンテナが設置されていることや背面の WAN や LAN のポートの配置が異なっていました。また電源電圧が 5 ボルトとなっていて、3.3 ボルト系の電源プラグとは違った極細のものが使われていました。誤挿入防止の処置のようです。

WER-A54G54(左) と WHR3-AG54(右) の背面の様子です。

この WER-A54G54 も新しくファームウェアをインストールする予定ですが、ネット上に多くの情報がありました。どうもチップに Broadcom 社のものではなく、Atheros 社のものが使用されているらしく、TFTP 流し込みによるインストールが出来ないそうです。分解を行って、シリアル・コンソールから TFTP によるファームウェアの転送とフラッシュメモリへの書き込みでインストールを行うようです。本日は、ここまでのインストール作業が出来ませんので、紹介だけとしました。

新しくファームウェアをインストールする前に、現在のバッファロー社オリジナルのファームウェア(Ver.1.43)で通信転送速度の計測を行なっておきました。

計測方法は、いつものように、およそ 100MB の単一ファイルを5回ダウンロードして、その平均値を求める方法です。WER-A54G54 の 5GHz 帯の仕様が J52 のため、無線LANアダプタは J52 対応の CG-WLCB54AG を madwifi ドライバで使用しました。また madwifi ドライバが使用出来る計測用のパソコンとして Debian Lenny がインストールされている ThinkPad X22 を使用しました。

★ 通信転送速度の計測結果 ★
IEEE 802.11 a : 1,159KB/s (  9,274Kbps )
IEEE 802.11 g : 2,564KB/s ( 20,512Kbps )


通信転送速度の計測結果ですが、2.4GHz 帯の IEEE 802.11 g モードでは、標準的な通信転送速度が出ていました。そして 5GHz 帯の IEEE 802.11 a モードでは、やはり転送速度が遅くなっていました。ただ WHR2-A54G54 や WHR3-AG54 の時よりも、およそ 1.5 倍ほど良い結果となっていました。計測に使用した無線LANアダプタの CG-WLCB54AG には Atheros 社のチップが使用されているため、無線LANルータ(WER-A54G54)のチップと同じメーカー同士ということになります。通信転送速度の計測のときに設定していた Super AG の効果なのでしょうか? なお成績の良くなかった WHR2-A54G54 や WHR3AG54 には Broadcom 社のチップが使用されていました。

入手したものには台座が含まれていなかったので、縦置きにすると不安定でした。
そこで横置きにしてみると安定して、使い勝手も良さそうでした。