2015年5月7日木曜日

Buffalo WHR-HP-AMPG の分解

年末年始に入手したまま放置していたバッファロー WHR-HP-AMPG を分解して掃除した後、シリアルコンソールや JTAG で接続を試みてみました。 なお海外では、本機は WHR-HP-AG108 として販売されていたものです。また型番が似ている WHR-AMPG(HP 表示無し)とは別物で、WHR-AMPG は Broadcom のチップを使用しているのに対して、本機の WHR-HP-AMPG は Atheros のチップを使用しています。同じバッファローの WER-A54G54 (Atheros チップ使用)と構成が同じもののようで、DD-WRT などでは どちらも共通で同じファームウェアを使うようになっています。

今回分解作業を行った WHR-HP-AMPG です。

分解作業

筐体は WHR-G54S などと共通の縦型のもので、これまでにも何度か分解をしたことがあるため、苦もなく分解作業を進めることができました。写真を参照してください。

シールをめくって隠しネジを外して分解しました。
姿を現したプリント印刷基盤です。
無線回路部分にシールドケースがないところは、WER-A54G54 と同じです。
プリント印刷基盤の裏面です。

筐体洗浄

筐体のプラスチック部品は、いつものように綺麗すっきりと水洗いしておきました。

修理品だったのか?筐体の裏側には何かの記号?サインがありました。
洗浄中のプラスチック部品です。

電解コンデンサの破裂を発見

分解してすぐに気がついたことがありました。それは、電源ソケットのすぐ近くにある二個の電解コンデンサ(共に TEAPO 製 10 ボルト, 470 マイクロファラッド)が破裂をしていたことでした。いったいどうしたことでしょう。安定した直流電源を供給される部分であるだけに、この電解コンデンサの破裂は不思議な感じです。参考のために付属の電源アダプタを接続して供給される電源電圧を計測すると 4.5 ボルトほどでした。過電圧で破損したとも考えにくいところです。やはり、電解コンデンサの品質が悪く、時間経過とともに破裂してしまったのでしょうか? 疑問の残るところです。

破裂していた二個の電解コンデンサです。


電解コンデンサの交換

電解コンデンサが破裂したままでも、電源アダプタが正常に機能していれば、おそらく動作するものと思います。しかし心配なので手持ちの廃棄パソコン機器から取り出した電解コンデンサと交換することとしました。

時々使えそうな部品は取り外して、流用に備えています。

手持ちの電解コンデンサの中から 470 マイクロファラッドのものを探してみたところ、ちょうど 10 ボルト耐圧のものと 16 ボルト耐圧のものがありました。16 ボルト耐圧のものは若干サイズが大きかったのですが、何とか取り付けることができました。

電解コンデンサを撤去したところです。
交換した電解コンデンサです。
左の 16 ボルト耐圧のものが大きいのは仕方がありません。

JTAG 端子の設置

電解コンデンサの交換のついでに JTAG の端子の設置を行いました。端子部分はハンダで埋まっている状態であったので、ハンダの吸出しを行った後、ピンヘッダをハンダ付けしました。

スルーホールのハンダを半田の吸取り器で吸いだしたところです。
ピンヘッダをハンダ付けしたところです。
表面のピンヘッダの様子です。
#1 ピンを #14 ピンで 100 オームのプルアップしています。

シリアルコンソールの接続

ファームウェアのインストールで活躍するシリアルコンソールへ接続を試みてみました。端子は JP1 と JP2 がありましたが、JP2 で接続できました。なおシリアル転送速度は 9600bps でした。起動の冒頭部で Ctrl + C で RedBoot> のコンソールに入れます。

シリアルコンソールの端子には、写真のようにコネクタがすでに設置されていました。
WER-A54G54 と構造がそっくりです。
# chown uucp /dev/ttyUSB0
# cu -l /dev/ttyUSB0 -s 9600

Connected.
+
*** Memory check:
 -> 0xA0FFFFFF
  success!! -> size : 16777216 bytes
Ethernet eth0: MAC address 00:0d:0b:**:**:**
IP: 192.168.11.1/255.255.255.0, Gateway: 0.0.0.0
Default server: 192.168.11.2, DNS server IP: 0.0.0.0

RedBoot(tm) bootstrap and debug environment [ROM]
Non-certified release, version v2_0 - built 17:04:25, Jan 13 2006
Buffalo Version: 1.00.1.00

Copyright (C) 2000, 2001, 2002, Red Hat, Inc.

RAM: 0x80000400-0x81000000, 0x80000400-0x80fe1000 available
FLASH: 0xbe000000 - 0xbe3f0000, 63 blocks of 0x00010000 bytes each.
== Executing boot script in 3.000 seconds - enter ^C to abort
^C
RedBoot> 

JTAG の動作確認

ピンヘッダを取り付けた JTAG 端子へ JTAG 用ケーブルを接続して動作確認を行なってみました。

# ./tjtag3 -probeonly /cable:DLC5

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

Detected IR chain length = 5
Number of device(s) = 1

IDCODE for device 1 is 0x00000001

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

Intial value of Control register is 0000000C
Intial value of status register is  0000007F
01111111 (0000007F)

Status bit 7 Busy Inverted pin 11 = 1
Status bit 6 *Ack          pin 10 = 1
Status bit 5 Paper-out     pin 12 = 1
Status bit 4 Select        pin 13 = 1
Status bit 3 *Error        pin 15 = 1
* means low = true, e.g., *Error

VCC connected
values of Control register after init 0x0000000C
value of status register after init   0x0000007F
system reset complete

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

Enabling Atheros Flash Read/Write ... Done
Enter Flash Probe

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 ***

左側のリボンケーブルが JTAG ケーブルです。

JTAG でフラッシュメモリのバックアップ

フラッシュメモリのバクアップを行いました。CFE 部分(256KB)だけのものと、フラッシュメモリ全体(4MB)のものです。DMA 転送がサポートされていないことからバックアップに要する時間が掛かりました。256KB の CFE で 1,200 秒でした。そしてフラッシュメモリ全体(4MB)で 17,000 秒でした。なお、JTAG 操作は、JTAG コマンドを行うごとに、一旦電源を切って再投入の後に、JTAG コマンドを実行する必要があります。
# ./tjtag3 -backup:cfe /cable:DLC5
# ./tjtag3 -backup:wholeflash
/cable:DLC5

今後の予定

これからシリアルコンソール端子の移設を行う予定です。WHR-AMPG で行ったのと同様の方法で、筐体のカバーに隠れる部分に穴を開けて、その場所までシリアルコンソールの端子を移設する方法です。その後に DD-WRT などをインストールしてみる予定です。
二台目の Buffalo WHR-AMPG を入手
http://near-unix.blogspot.jp/2015/04/buffalo-whr-ampg.html

さらには OpenWrt の kamikaze のファームウェアのソースコードを改変して WHR-HP-AMPG に適合したファームウェアの作成してみたいと思っています。クロスコンパイル環境の勉強などで、ちょっと時間が掛かると思います。

0 件のコメント:

コメントを投稿

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