2015年4月9日木曜日

Buffalo WLA-G54 へ JTAG 端子を設置

昨日、分解掃除を行った バッファロー WLA-G54 ですが、今日も再び分解をして、プリント印刷基盤上にあった JTAG 用のランドへピンヘッダをハンダ付けしてみました。気になっていた JTAG ランドのすぐ脇の抵抗器が設置されていない件ですが、JTAG ケーブルを接続してアクセスしてみると、ちゃんとアクセスすることができました。以下は JTAG 端子を設置する様子です。

WLA-G54 へ JTAG でアクセスしているところです。

まず JTAG 用ランドには、ハンダで埋まっていたため、ハンダの吸い取り線でハンダを排除しました。

この CN8 が JTAG のランド部分です。

2列7行のピンヘッダを所定の位置でハンダ付けします。

CN8 へ ピンヘッダをハンダ付けしたところです。

気になっていたプルアップ?用抵抗器の部分はそのまま放置しました。動作が不安定であれば、プルアップ抵抗器を取り付けてみる予定でした。

JTAG 用のプルアップ抵抗がないまま使ってみました。

この個体も電源ソケット部分の接触が少し悪いようであったので、センターピンの部分をハンダ付けしておきました。

電源ソケットのセンターピンをハンダ付けしておきました。

さてパソコンと WLA-G54 の JTAG 端子を JTAG ケーブル(DLC5)で接続しました。そして TJTAG 3.0.2 Final を使ってアクセスしてみました。

CN8 へ 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 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  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 ... Done
Halting Processor ... ... Done
Init PrAcc ... Skipped
Clearing Watchdog ... Done


Chip ID 0
Chip Rev 0
Package Options 0
Number of Cores 0
Core Revision 15
Core Type 410
Core Vendor ID 0
Flash Type 0
Flash Type = FLASH_NONE
DMA Read Addr = 18000128  Data = (00000000)ERROR ON READ
Flash bus is 8 bits
Dest is bits 0
DMA Read Addr = 18000128  Data = (00000000)ERROR ON READ
Flash is byteswapped 0
Endian Type is LE 0
PLL Type 00000000
Enter Flash Probe

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

Flash Vendor ID: 00000000000000000000000000100000 (00000020)
Flash Device ID: 00000000000000000010001011001010 (000022CA)
*** Found a ST 29w320DT 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 ***

ちゃんと内部情報が読み出せました。フラッシュメモリの指定を行わなくても認識してくれました。

せっかくなので、CFE の部分とフラッシュメモリ全体をバックアップしておきました。DMA 転送が可能であったため、比較的速くバックアップが終了しました。
CFE のみのバックアップ(所要時間:およそ220秒、4分程度)
# ./tjtag3 -backup:cfe /cable:DLC5

フラッシュメモリ全体のバックアップ(所要時間:およそ3600秒、1時間程度)
# ./tjtag3 -backup:wholeflash /cable:DLC5

後は、シリアルコンソールの端子がどこにあるかが判明すれば、シリアルコンソールの端子も設置したいと思っています。

WLA-G54 の CFE 部分と全体をバックアップしておきました。

追記

どうも WLA-G54 と WBR-G54 は、単純なシリアル通信の出力ではなく、USB の端子として取り出すことができるようです。そのため USB 通信で、シリアルコンソールを取り出す形式となる模様です。

DD-WRT Forum -- Old Buffalo WBR/WLA-G54 USB connector pinouts
http://www.dd-wrt.com/phpBB2/viewtopic.php?t=34217&view=previous&sid=aa2a419a0cd8ac985e83a179ddb6f099

0 件のコメント:

コメントを投稿

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