物好き者

物好き者が行ったことを載せています。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

PageTop

WZR-RS-G54のフラッシュバックアップに失敗しました

WZR-RS-G54を入手しました では、JTAGでフラッシュのバックアップができませんでした。

インターネットで検索したところ、次の情報が見つかりました。
DD-WRT Forum :: View topic - Cfe collection project - need your help では、cfeファイルがダウンロードできます。
WZR-RS-G54をDD-WRT化 - 鼠Wiki には、DD-WRT化の手順と純正ファームへの書き戻し方法が記載されています。

DD-WRT Forum :: View topic - WVR-G54-NF reset factory defaults is of no effect と OpenWrt / JTAG wholeflash.bin from another router(clone router) には、DD-WRT起動後にddを使ってcfeをバックアップする方法が記載されています。
LaFoneraPlusの純正ファームをバックアップするのに、ramfsベースのOpenWRTを使ってバックアップしましたので、OpenWRTをramfsでコンパイルしてバックアップしてみることにしました。

OpenWRTをramfsでコンパイルしようとしたのですが、Target SystemがデフォルトのBroadcom BCM947xx/953xx [2.4]だと、Target Imagesにramfsがありません。
TargetをBroadcom BCM947xx/953xx [2.6] に変更したところ、ramfsが出ましたので、コンパイルをしました。

コンパイルが完了したものをWZR-RS-G54に読み込ませようとしたのですが、起動時のPing応答がなくtftpができませんでした。
シリアルコンソールをいろいろ見たところ、melco linuxを実行すると192.168.12.1でPing応答がありました。
PMON> melco linux
*********** Waiting on a new linux image ***************
Using specified MAC address.
et0: etc47xx.c :chip_phytest phyaddr=0 id=0040 6332
et0: Broadcom BCM47xx 10/100 Mbps Ethernet Controller 3.50.5.0
MAC Address: 00:0d:0b:e3:90:e8
Opened ethernet
Downloading from ethernet, ^C to abort


tftp -i 192.168.12.1 put openwrt-brcm47xx-initramfs.trx にて転送をしたところ、フラッシュが書き換えられてデフォルトファームが消えてしまい、しかも起動しなくなってしまいました。
LaFoneraPlusのようにファームを書き込まずに実行することはできないのでしょうか。

Download of 0x2bf000 bytes completed
Now checking CRC...
CRC OK
max_linuxsize=7a0000
Writing image at 0x80400000 to flash at 0xbc040000...Erase of block 0x00040000-0x00050000 done
Erase of block 0x00050000-0x00060000 done
Erase of block 0x00060000-0x00070000 done
Erase of block 0x00070000-0x00080000 done
Erase of block 0x00080000-0x00090000 done
Erase of block 0x00090000-0x000a0000 done
Erase of block 0x000a0000-0x000b0000 done
Erase of block 0x000b0000-0x000c0000 done
Erase of block 0x000c0000-0x000d0000 done
Erase of block 0x000d0000-0x000e0000 done
Erase of block 0x000e0000-0x000f0000 done
Erase of block 0x000f0000-0x00100000 done
Erase of block 0x00100000-0x00110000 done
Erase of block 0x00110000-0x00120000 done
Erase of block 0x00120000-0x00130000 done
Erase of block 0x00130000-0x00140000 done
Erase of block 0x00140000-0x00150000 done
Erase of block 0x00150000-0x00160000 done
Erase of block 0x00160000-0x00170000 done
Erase of block 0x00170000-0x00180000 done
Erase of block 0x00180000-0x00190000 done
Erase of block 0x00190000-0x001a0000 done
Erase of block 0x001a0000-0x001b0000 done
Erase of block 0x001b0000-0x001c0000 done
Erase of block 0x001c0000-0x001d0000 done
Erase of block 0x001d0000-0x001e0000 done
Erase of block 0x001e0000-0x001f0000 done
Erase of block 0x001f0000-0x00200000 done
Erase of block 0x00200000-0x00210000 done
Erase of block 0x00210000-0x00220000 done
Erase of block 0x00220000-0x00230000 done
Erase of block 0x00230000-0x00240000 done
Erase of block 0x00240000-0x00250000 done
Erase of block 0x00250000-0x00260000 done
Erase of block 0x00260000-0x00270000 done
Erase of block 0x00270000-0x00280000 done
Erase of block 0x00280000-0x00290000 done
Erase of block 0x00290000-0x002a0000 done
Erase of block 0x002a0000-0x002b0000 done
Erase of block 0x002b0000-0x002c0000 done
Erase of block 0x002c0000-0x002d0000 done
Erase of block 0x002d0000-0x002e0000 done
Erase of block 0x002e0000-0x002f0000 done
Erase of block 0x002f0000-0x00300000 done
Writing 0x2bf000 bytes to flash @0xbc040000 ...
Flash write succeeded
done
Uncompressing....done
>FlashUnlockBlockForINTEL28FxxxC3
support Intel-28FxxxC3 only.
Doing command call 80001000


このため、dd-wrt.v24_mega_generic.binをtftpで転送して、DD-WRTをインストールしました。
正常に起動したのですが、シリアルコンソールでアカウントがはじかれてしまい、ログオンができませんでした。
純正ファームでデフォルト設定に戻していなかったせいかと思ったのですが、V24SP1から初回インストール時にWeb管理画面でアカウント設定をすることを思い出したので、ネットワークからブラウザでアクセスしたところアカウント変更画面が表示され、アカウントを設定したところ問題なくWeb管理画面とシリアルコンソールでログインできました。

megaファームをインストールしたので、OpenVPN Server/clientやUSB Supportなどいろいろな機能がてんこ盛りでした。
ただしJFFSは1Mしか使えませんでしたので、ファーム本体が大きいのがよくわかりました。

純正ファームが消えてしまったのですが、ddコマンドを使ってフラッシュのバックアップを行いました。
フラッシュは、/dev/mtdディレクトリからアクセスできるということで、下記のように実行しました。
root@DD-WRT:/dev/mtd# ls /dev/mtd
0 0ro 1 1ro 2 2ro 3 3ro 4 4ro
root@DD-WRT:/dev/mtd# dd if=/dev/mtd/0 of=/tmp/mtd0
512+0 records in
512+0 records out
root@DD-WRT:/dev/mtd# dd if=/dev/mtd/1 of=/tmp/mtd1
15744+0 records in
15744+0 records out
root@DD-WRT:/dev/mtd# dd if=/dev/mtd/2 of=/tmp/mtd2
11924+1 records in
11924+1 records out
root@DD-WRT:/dev/mtd# dd if=/dev/mtd/3 of=/tmp/mtd3
128+0 records in
128+0 records out
root@DD-WRT:/dev/mtd# dd if=/dev/mtd/4 of=/tmp/mtd4
2048+0 records in
2048+0 records out
root@DD-WRT:/dev/mtd# ls -l /tmp/mtd*
-rw-r--r-- 1 root root 262144 Jan 1 00:09 /tmp/mtd0
-rw-r--r-- 1 root root 8060928 Jan 1 00:10 /tmp/mtd1
-rw-r--r-- 1 root root 6105260 Jan 1 00:09 /tmp/mtd2
-rw-r--r-- 1 root root 65536 Jan 1 00:09 /tmp/mtd3
-rw-r--r-- 1 root root 1048576 Jan 1 00:09 /tmp/mtd4


フラッシュがバックアップできたのですが、WZR-HP-G54のようにcfe障害でcfeを書き直すためにはJTAGが必要なので、JTAGでのアクセス方法を確保したいところです。

スポンサーサイト

PageTop

コメント


管理者にだけ表示を許可する
 

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。