2015年12月24日木曜日

CISCO WAP4410N の分解(シリアルコンソール、JTAG)

シスコの無線LANアクセスポイントの WAP4410N を分解しました。そしてシリアルコンソールでログインを試みました。さらに JTAG でもアクセスを試みました。

分解作業

分解は比較的簡単でした。底面にある四つのゴム足を引き剥がして、その中にあるネジ(4本)を取り外して、天板を持ち上げました。天板と側面の間に小さなフックが各面一箇所ずつありましたが、爪が小さいこともあって、簡単に外すことができました。

WAP4410N の底面の様子です。
ゴム足を剥がすとネジが見えてきます。
四本のネジを外すと、天板を外すことができます。
天板を外して、内部のボードが見えてきました。

ボードの観察

搭載されている主要チップは次の通りでした。
  • Atheros AR9132-BC1E
  • MX29LV640EBTI-70G (8MB, Flash)
  • NT5DS16M16DS-5T (32MB, RAM)
シリアルコンソールの端子には、すでに 4 ピンのピンヘッダが取り付けられていました。JTAG の端子は、スルーホールの状態でした。

シリアルコンソールと JTAG 端子の様子

裏面を観察すると、部品の配置は少なめでした。意外とボードが汚れていたのががっかりでした。

WAP4410N のボードの裏面

JTAG へピンヘッダ

JTAG 端子のスルーホールへピンヘッダをハンダ付けしました。これが結構苦労しました。
GND 端子の部分は放熱が良好なため、ハンダを抜き取ることができませんでした。信号端子の部分だけハンダを抜き去りました。そして信号端子の部分を先にハンダ付けした後、残りの GND 端子は、 1 ピンずつスルーホールを 100 ワットの大型ハンダゴテで温めながらピンヘッダを押し込むようにしてハンダ付けしました。

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

電源ジャックのセンターピン対策

最近我が家の定番となった電源ジャックのセンターピン対策を行なっておきました。センターピンへリード線をハンダ付けをして、裏面にある Vcc パターンへハンダ付けしておきました。

電源ジャックのセンターピンへリード線をハンダ付けしたところです。

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

シリアルコンソールのピンヘッダへシリアルケーブルを接続して動作確認をしました。接続速度は 115200bps でした。
U-Boot が起動しました。しかし U-Boot へログインするタイミンが不明で、そのままシステムが起動してしまいました。何度かログインを試みたところ、起動する冒頭部分からリターンキーを連打しているとログインできるようです。

シリアルケーブルを接続したところです。
--- U-Boot の起動画面 ---
U-Boot 1.1.4 (Aug 19 2009 - 14:53:37)

AP83 (ar9100) U-boot 0.0.11
32 MB
Top of RAM usable for U-Boot at: 82000000
Reserving 294k for U-Boot at: 81fb4000
Reserving 192k for malloc() at: 81f84000
Reserving 44 Bytes for Board Info at: 81f83fd4
Reserving 36 Bytes for Global Data at: 81f83fb0
Reserving 128k for boot params() at: 81f63fb0
Stack Pointer at: 81f63f98
Now running in RAM - U-Boot at: 81fb4000
Name: MXIC-29LV640DBTC Flash id: 0xC222CB, Size: 8388608 bytes.
Flash:  8 MB
In:    serial
Out:   serial
Err:   serial
Net:   ATHRF1E: Port 0, Neg Success
Link is Down !!!

### main_loop entered: bootdelay=4

### main_loop: bootcmd="bootm 0xbf6A0000"
WAP4410N - Loader Version 1.08
gpio_init called.
cold start!!!
cold_start flag removed.
mac in flash:    64:00:f1:b2:f5:d4
mac in env :    64:00:f1:b2:f5:d4
Hit any key to stop autoboot:  0
ar7100> 

JTAG でアクセス

DLC-5 ケーブルで接続して動作確認をしました。プローブ動作はできましたが、フラッシュメモリのバックアップはできませんでした。バックアップ動作は行うのですが、吸い上げるデータが特定の決まったパターンのデータが連続している状態でした。

--- 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 ....... : 01100000010000010100000000000000 (60414000)
    - EJTAG Version ....... : 3.1
    - EJTAG DMA Support ... : No
    - EJTAG Implementation flags: R4k ASID_8 MIPS16 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: 00000000000000000010001011001011 (000022CB)
*** Found a MX29LV640B 4Mx16 BotB     (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 ***


0 件のコメント:

コメントを投稿