45歳からの生活革命

自由をめざすオッサンのためのサバイバル術を紹介しています

文鎮化したWZR-300HPの復活2<ファームウェアの書換え>

time 2016/06/14

復活の手順はつぎのとおり

①本体の分解して、基板を露出させる

②シリアル接続をする

③データ破損を起こしたファームウェアを削除する

④新しいファームウェアを書き込む

 

◆使った工具・材料
トルクスドライバー vessel T10H     ¥712
USBケーブル Aオス-ミニBオス     ¥110
FT232RL USBシリアル変換モジュール     ¥950
カモン ピン配列変換・延長ケーブル(8本入)USBタイプ    ¥398

img01 img02 img03 img04

材料費
合計2170円

 

◆分解

本体のゴム足を取ると、ビスが見える。 まいった、ネジ穴が星形をしている。

これはプラスドライバーでは無理。

img05

トルクスドライバーを用意する、、、、、

ビス4本を外して、ゆっくり蓋を取り外してみる、、、、、

wzr300hp02s

 

◆シリアル接続
基板にシリアルポートがある。

img07a
写真の左から
TXD-TX    RXD-TX    GND     3.3V
と並んでいる。

リード線を直接基板に半田づけするのも面倒なので、ピンケーブルを使ってホールに差し込んで接続することにした。

img09

基板のホールの径、ピンの太さが合うように適当に半田をつけて加工した。

実際にシリアルモジュールとPCを接続する。

その前にドライバのインストールが必要。
http://www.ftdichip.com/Drivers/VCP.htm  ここからWin7用のドライバを取得した。
img08

 

◆TeraTermから接続

シリアルポートの設定はつぎのとおり。

ボーレート 115200
データ 8bit
パリティ none
ストップ 1bit
フロー制御 none
送信遅延 0 (字・行とも)

tt20

 

接続してルーターを起動するとつぎの文字が表示される。

BUFFALO U-BOOT Ver 1.11
== CPU:400MHz, DDR:400MHz, AHB:200MHz ==
PB93 (ar7241 – Virian) U-boot
DRAM: 64 MB
WAN port disabling: done
Top of RAM usable for U-Boot at: 84000000
Reserving 267k for U-Boot at: 83fbc000
Reserving 192k for malloc() at: 83f8c000
Reserving 44 Bytes for Board Info at: 83f8b

以下略

 

◆ルーターにIPアドレスを振る。

ar7240> setenv ipaddr 192.168.1.100
ar7240> setenv serverip 192.168.1.101

 

◆tftpでファームウェアイメージをRAMに取得&チェック。

PC側でtftpサーバーが起動しているのを確認のうえ、下記のコマンドを入力する。

<- 以降は説明です。コマンドではありません。

 

ar7240> iminfo

## Checking Image at 81f00000 …            <- 81f00000をメモする
Bad Magic Number                              <- エラーではないので、これでOK

 

ar7240> tftpboot 81f00000 frmwr01.bin  <-81f00000はiminfoの出力のアドレスを指定
                                                                                         <-frmwr01.binはPC側のファイル名を指定
Using eth0 device
TFTP from server 192.168.1.101; our IP address is 192.168.1.100
Filename ‘frmwr01.bin’.
Load address: 0x81f00000
Loading: *############################################
#############################################
#############################################
#############################################
(中略)
####################################
done
Bytes transferred = 18817024 (11f2000 hex)

 

ar7240> iminfo

## Checking Image at 81f00000 …
Image Name: MIPS Linux Kernel Image
Created: 2013-03-25 3:41:56 UTC
Image Type: MIPS Linux Kernel Image (lzma compressed)
Data Size: 1179354 Bytes = 1.1 MB
Load Address: 80002000
Entry Point: 802525a0
Verifying Checksum … crc32_fw: 81f00040 – 8201ff19 (len:0011feda) calc…
OK

 

◆FlashROM上のファームウェアを削除&書き込み

まずは、書き込み先のアドレスと書き込みバイト数を取得する。

ar7240> printenv
bootargs=console=ttyS0,115200 root=31:03 rootfstype=jffs2 init=/sbin/init mtdparts=ar7240-nor0:256k(u-boot),64k(u-boot-env),1152k@384k(uImage),6592k@1536k(rootfs),64k@320k(ART),64k@8128k(properties)
bootcmd=bootm BF060000
baudrate=115200
ethaddr=02:AA:BB:CC:DD:1A
tmp_ram=81F00000
tmp_bottom=83F00000
fw_eaddr=BF060000 BEFFFFFF              <- (a)(b) FlashROM アドレス
uboot_eaddr=BF000000 BF03FFFF
(中略)
tmp_uart=1
stdin=serial
stdout=serial
stderr=serial
loadaddr=81F00000
ethact=eth0
filesize=11f2000                        <-(c) 新ファームウェアバイト数
fileaddr=81F00000                      <-(d) 新ファームウェアアドレス

以下省略

いよいよ削除と書き込みをおこなう。

上記の(a)(b)(c)を控えたうえで実行する。
ここを間違えると、場合によっては本当にアウトなので、ご注意ください。
コマンドを打つごとに数分かかるが、これは正常な動作状況。

ar7240> erase BF060000 BEFFFFFF                         <-erase(a) (b)
search sector 0xbf060000 – 0xbeffffff
BANK #1 (6 : 255)
000 PPPP.Poooooooooooooooooooooooooo
032 oooooooooooooooooooooooooooooooo
064 oooooooooooooooooooooooooooooooo
096 oooooooooooooooooooooooooooooooo
128 oooooooooooooooooooooooooooooooo
160 oooooooooooooooooooooooooooooooo
192 oooooooooooooooooooooooooooooooo
224 oooooooooooooooooooooooooooooooo
BANK #2 (0 : 255)
000 oooooooooooooooooooooooooooooooo
032 oooooooooooooooooooooooooooooooo
064 oooooooooooooooooooooooooooooooo
096 oooooooooooooooooooooooooooooooo
128 oooooooooooooooooooooooooooooooo
160 oooooooooooooooooooooooooooooooo
192 oooooooooooooooooooooooooooooooo
224 oooooooooooooooooooooooooooooooo

 

ar7240> cp.b 81F00000 BF060000 11f2000                   <-cp.b (d) (a) (c)
Copy to Flash…
Copy 18817024 byte to Flash…
write data: 81f00000 –> bf060000 (len:fa0000)
write data: 82ea0000 –> c0000000 (len:252000)
done

 

これでファームウェアの流し込みは完了した。
あとはルーターを再起動して、設定を確認する。

 

<< 文鎮化したWZR-300HPの復活 < 文鎮化したWZR-300HPの復活1<PCの準備>

コメント

プロフィール

プロフィール

もり まこと

もり まこと

ITコンシェルジュ パソコン・スマホの使い方、おっさんのサバイバル術について書いています。

アーカイブ