2015年8月31日月曜日

Buffalo WLI2-TX1-G54 の CFE バックアップ(失敗)

先日 WBR-G54 と一緒に入手していた WLI2-TX1-G54 を分解して、CFE のバックアップを行なってみました。

今回 JTAG でフラッシュメモリのバックアップを試みた WLI2-TX1-G54 です。

分解作業

分解作業は先日の WLI2-TX1-AMG54 と同じ手順で行いました。筐体の構造は全く一緒でした。アンテナの固定のためかホットボンドを使っているのを発見しました。
Buffalo WLI2-TX1-AMG54 を分解
http://near-unix.blogspot.jp/2015/08/buffalo-wli2-tx1-amg54.html

WLI2-TX1-G54 の筐体を半分に分割したところです。

ボードを観察

ボードは WLA-G54C と同じ BCM4702 が使用されていました。

WLI2-TX1-G54 のボードの様子です。
プロセッサに BCM4702 が使用されていました。

JTAG の端子を取り出す抵抗器のパッドを観察するとそこには 4.7KΩ の抵抗器が存在していました。また抵抗器の反対側はアースではなく 3.3V へプルアップされていました。少し改良?されていました!

R314〜R317の抵抗器が JTAG 用信号が届いているところです。

JTAG 用ピンヘッダ

JTAG 用のピンヘッダを小基盤へハンダ付けした後、この小基盤とボード上の JTAG 端子をリード線で接続しました。WLA-G54C の JTAG 端子を設置した時の記事を参考にしました。
Buffalo WLA-G54C へ JTAG アクセス
http://near-unix.blogspot.jp/2015/05/buffalo-wla-g54c-jtag.html

JTAG 端子へリード線をハンダ付けしたところです。
青:TMS
緑:TCK
橙:TDI
茶:TDO
小基盤にピンヘッダをハンダ付けしています。

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

早速 JTAG でフラッシュメモリの中の CFE のバックアップを開始しました。最初にバッファタイプの WIGGLER ケーブルで行いました。

WIGGLER ケーブルで接続しているところです。

とりあえずプローブ動作をさせてみました。/noemw /nocwd のオプションがなければプローブ動作も出来ない状況でした。なおこのオプションを設定した後は、ボードの電源を投入したままの状態でプローブ動作を繰り返しても動作しました。
# ./tjtag3 -probeonly /cable:wiggler /nocwd /noemw

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

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

IDCODE for device 1 is 0x0471017F

Probing bus ... Done

Instruction Length set to 5

CPU Chip ID: 00000100011100010000000101111111 (0471017F)
*** Found a Broadcom BCM4702 Rev 1 CPU chip ***

    - EJTAG IMPCODE ....... : 00000000100000000000100100001000 (00800908)
    - 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 ... Skipped
Halting Processor ... ... Done
Init PrAcc ... Skipped
Clearing Watchdog ... Skipped


Chip ID a800
Chip Rev 11
Package Options f
Number of Cores 15
DMA Read Addr = 18000000  Data = (FFFBA800)ERROR ON READ
Core Revision 47
Core Type 8800
Core Vendor ID fffb0000
Flash Type 0
Flash Type = FLASH_NONE
Flash bus is 8 bits
Dest is bits 0
Flash is byteswapped 0
Endian Type is LE 0
PLL Type 00038000
Enter Flash Probe

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

Flash Vendor ID: 00000000000000000000000010001001 (00000089)
Flash Device ID: 00000000000000000000000000010110 (00000016)
*** Found a Intel 28F320J3 2Mx16       (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 ***


プローブ動作をさせてボードが安定したと思われる状態で、CFE のバックアップを四回行なって md5 のハッシュ値を取得してみたところ、全てのハッシュ値が異なっており、バックアップするごとにデータが異なっていました。
82bd833200984aa42cbac5437e5dfef1  CFE.BIN.SAVED_20150830_221823
2591443a219dc4bd19c899794f63d55b  CFE.BIN.SAVED_20150830_222254
d80483554955069c8b1c893328259d4d  CFE.BIN.SAVED_20150830_222731
b0c868af14f9a2ea80563a1c57e4ee49  CFE.BIN.SAVED_20150830_223318

そこで抵抗器で構成した DLC5 タイプのケーブルを使ってバックアップを試みました。これも WIGGLER ケーブルと同じようにバックアップデータが異なっていました。
1e4c82cf384c4fd79b1230234943e3d9  CFE.BIN.SAVED_20150830_224846
d7594b914a9787519ec1f4935ba29b43  CFE.BIN.SAVED_20150830_225524
da5b9cc35b82e7dc8dfecd6ac4623512  CFE.BIN.SAVED_20150830_230031
fbf046cf5d9651933e91ddbe1c3a6fa2  CFE.BIN.SAVED_20150830_230516

上記のようなグダグダな結果となりました。どうも BCM4702 が使用されているボードで JTAG 動作は難しいようです。

このような状況でしたので、CFE のみならずフラッシュメモリ全体のバックアップも中止しました。

0 件のコメント:

コメントを投稿