2015年10月19日月曜日

Buffalo WZR-RS-G54 の分解とフラッシュメモリのバックアップ

以前にインターネット・オークションにて入手していたバッファロー WZR-RS-G54 を分解してみました。

今回、分解とフラッシュメモリのバックアップを行った WZR-RS-G54 です。

分解作業

兄弟機の WZR-RS-G54HP と同じ形状の筐体を持っており、今回も簡単に分解することができました。分解してボードを取り出して観察をしてみると、WZR-RS-G54HP とは共通のプリント印刷基盤を使用していないことが判明しました。Mini-PCI のソケットが表面のみしか搭載できないパターンとなっていました。

WZR-RS-G54 のボード表面の様子です。
WZR-RS-G54 のボード裏面の様子です。
フラックスの汚れがかなり酷いものでした。後でクリーニングを行なっておきました。

そして興味深かったのが内蔵アンテナでした。 45 度に傾いたパターンが採用されていました。直角の 90 度ではないところがキモのようです。なおこのアンテナのパターンは 2.4GHz 用と 5GHz 用の二種類のアンテナパターンが作られており、本機では 2.4GHz 用のみを使用するようになっていました。

内蔵アンテナの裏面です。
長いパターンが 2.4GHz 用で、短いパターンが 5GHz 用です。

シリアルコンソールへピンヘッダを取り付け

4ピンのシリアルコンソールのスルーホールが用意されていました。ここへピンヘッダを取り付けるのと同時にシリアル変換チップ(IC7)のパターンのリード線接続を行なっておきました。リード線で接続したのは、#8-#9 と #11-#13 の二箇所です。#11-#13 の間は従来はハンダブリッジで #12 ピンも一緒にショートさせていましたが、今回はリード線による接続であったため、#12 を迂回して接続しました。もちろん #12 も一緒に接続しても問題ありません

シリアルコンソールの変換チップのパターンの加工の様子です。

JTAG のピンヘッダも設置

シリアルコンソールと同様に JTAG 用のピンヘッダも取り付けました。パターンは 16 ピン用となっていましたが、14 ピンまでを取り付けました。そして電源ソケットのセンターピン対策も行なっておきました。

JTAG のピンヘッダ設置と電源ソケットのセンターピン対策を行いました。

シリアルコンソールの動作確認

シリアルケーブルをシリアルコンソール用のピンヘッダへ取り付けて動作確認を行いました。通信速度は 115200bps でした。Crtl + C で PMON のコンソールへログオンできました。

シリアルコンソールの動作確認の様子です。

JTAG の動作確認

JTAG 用ケーブルにはバッファ付きの WIGGLER ケーブルを使用して接続しました。電源はシリアルコンソールのところに来ている 3.3 ボルトを利用しました。プローブ動作は下記のとおりでした。

JTAG の動作確認の様子です。

# ./tjtag3 -probeonly /cable:wiggler

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

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

IDCODE for device 1 is 0x0470417F

Probing bus ... Done

Instruction Length set to 8

CPU Chip ID: 00000100011100000100000101111111 (0470417F)
*** Found a Broadcom BCM4704 Rev 8 CPU chip ***

    - EJTAG IMPCODE ....... : 00000000100000000000100100000100 (00800904)
    - EJTAG Version ....... : 1 or 2.0
    - EJTAG DMA Support ... : Yes
    - EJTAG Implementation flags: R4k MIPS32

Intial value of Control register is 0000000C
Intial value of status register is  00000077
01110111 (00000077)

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 = 0
* means low = true, e.g., *Error

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

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


Chip ID 4704
Chip Rev 8
Package Options 0
Number of Cores 0
Core Revision 79
Core Type 700
Core Vendor ID 80000
Flash Type 700
Flash Type = PFLASH
Dest is bits 0
Flash is byteswapped 0
Endian Type is LE 0
PLL Type 00020000
Enter Flash Probe

Probing Flash at (Flash Window: 0x1fc00000) ...
Done

Flash Vendor ID: 00000000000000000000000010011000 (00000098)
Flash Device ID: 00000000000000000000000001010111 (00000057)
*** Found a TC58FVM6T2A  4Mx16 TopB    (8MB) Flash Chip ***

    - Flash Chip Window Start .... : 1C000000
    - Flash Chip Window Length ... : 00800000
    - Selected Area Start ........ : 00000000
    - Selected Area Length ....... : 00000000



 *** REQUESTED OPERATION IS COMPLETE ***

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

フラッシュメモリ全体と CFE の部分だけをそれぞれ二回ずつ取得して、それぞれが同じ値であることを md5sum のハッシュ値で比較してバックアップが正常に行われたことを確認しました。

今後の予定

とりあえず OpenWrt をインストールしてみたいと思っています。その後の予定はありません。
フラッシュメモリに 8MB 、システムメモリに 64MB と比較的大きなものを搭載しているボードが使用されているため、これらを活かした活用方法を模索したいと思っています。もしかすると部品を取り出して、他の機種へ流用するかもしれません。今後の状況次第で対応を考えたいと思っています。

0 件のコメント:

コメントを投稿