物好き者

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

スポンサーサイト

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

PageTop

WZR-HP-G300NHでtftp書き込みができない1台を純正ファームに復旧しました

WZR-HP-G300NHの1台でtftpによる英語版純正ファーム書き込みが行えない ため純正ファームに復旧ができない1台ですが、復旧方法をいろいろ試してみました。

復旧済みの純正ファームを、Buffaloのデバッグモードとファームバックアップを行いました で行った手順でバックアップしました。

ただし、/dev/mtdblock/6 までを全部行ったところ、再起動してしまいましたので、0-5までを行いPCにダウンロード、再起動後6を行いバックアップしました。

# ls /dev/mtdblock
0 1 2 3 4 5 6
# cat /proc/mtd
dev: size erasesize name
mtd0: 00040000 00020000 "uboot"
mtd1: 00020000 00020000 "uboot_environ"
mtd2: 00100000 00020000 "linux"
mtd3: 01e60000 00020000 "rootfs"
mtd4: 00020000 00020000 "ART"
mtd5: 00020000 00020000 "user_property"
mtd6: 01f60000 00020000 "firmware"

# dd if=/dev/mtdblock/0 of=/tmp/wzr-hp-g300-0
# dd if=/dev/mtdblock/1 of=/tmp/wzr-hp-g300-1
# dd if=/dev/mtdblock/2 of=/tmp/wzr-hp-g300-2
# dd if=/dev/mtdblock/3 of=/tmp/wzr-hp-g300-3
# dd if=/dev/mtdblock/4 of=/tmp/wzr-hp-g300-4
# dd if=/dev/mtdblock/5 of=/tmp/wzr-hp-g300-5
# dd if=/dev/mtdblock/6 of=/tmp/wzr-hp-g300-6

-rw-r--r-- 1 root root 262144 Jan 1 06:07 /tmp/wzr-hp-g300-0
-rw-r--r-- 1 root root 131072 Jan 1 06:07 /tmp/wzr-hp-g300-1
-rw-r--r-- 1 root root 1048576 Jan 1 06:07 /tmp/wzr-hp-g300-2
-rw-r--r-- 1 root root 31850496 Jan 1 06:06 /tmp/wzr-hp-g300-3
-rw-r--r-- 1 root root 131072 Jan 1 06:06 /tmp/wzr-hp-g300-4
-rw-r--r-- 1 root root 131072 Jan 1 06:06 /tmp/wzr-hp-g300-5
-rw-r--r-- 1 root root 32899072 Jan 1 06:03 /tmp/wzr-hp-g300-6

http://192.168.11.1/html/py-db/tmp/wzr-hp-g300-0
http://192.168.11.1/html/py-db/tmp/wzr-hp-g300-2
http://192.168.11.1/html/py-db/tmp/wzr-hp-g300-3
http://192.168.11.1/html/py-db/tmp/wzr-hp-g300-5
http://192.168.11.1/html/py-db/tmp/wzr-hp-g300-6

1と4はダウンロードできませんでした。
http://192.168.11.1/html/py-db/tmp/wzr-hp-g300-1
http://192.168.11.1/html/py-db/tmp/wzr-hp-g300-4

Gargoyleファームを書き込んだ状態で、純正ファームのバックアップを書き込んでみましたが、起動時にエラーが発生して純正ファームに戻りませんでした。

root@OpenWrt:/tmp# cat /proc/mtd
dev: size erasesize name
mtd0: 00040000 00020000 "u-boot"
mtd1: 00020000 00020000 "u-boot-env"
mtd2: 00100000 00020000 "kernel"
mtd3: 01e60000 00020000 "rootfs"
mtd4: 00020000 00020000 "user_property"
mtd5: 00020000 00020000 "art"
mtd6: 01f60000 00020000 "firmware"

実行したコマンド
mtd -r write wzr-hp-g300-3 rootfs
mtd -r write wzr-hp-g300-2 kernel
mtd -r write wzr-hp-g300-6 firmware


DD-WRTまとめwiki - ファームウェア・設定ファイルなどのバックアップ・書き込み に次のように書かれていました。
---
AG300H DD-WRT v24-sp2 (12/20/11) std - build 18024 の場合、/dev/mtdblock/1がファームイメージになります。このエリアをddコマンドでダンプすればdd-wrtのU-BOOT形式のバックアップイメージをゲット出来ます。また、このエリアに対してddコマンドでU-BOOT形式のバックアップイメージ(例えば抜いたBaffalo謹製オリジナルファーム)を書き込み、リブートすることにより、ファーム書き換えできます。
バックアップイメージをバイナリエディタで開いて、27 05 19 56で始まるファイルになっていればOKです。
---

27 05 19 56 で思い出したのが、WZR-HP-G300NHの復旧作業を行いました で行った、dd-wrtのヘッダを削った後の先頭文字列です。

ヘッダを削った後のファームをu-bootからtftpでメモリ上に転送、フラッシュを削除してから書き込むことでdd-wrtが使えるようになりました。

純正ファームのバックアップを確認したところ、/dev/mtdblock/6 の先頭が 27 05 19 56 になっていました。

このため、/dev/mtdblock/6 をバックアップしたものを使って書き込んでみました。
ar7100> tftpboot 81f00000 wzr-hp-g300-6

done
Bytes transferred = 32899072 (1f60000 hex)

ar7100> iminfo

## Checking Image at 81f00000 ...
Image Name: Kernel/Rootfs Combined Image
Created: 2011-10-19 18:41:01 UTC
Image Type: MIPS Linux Kernel Image (gzip compressed)
Data Size: 20766656 Bytes = 19.8 MB
Load Address: 80002000
Entry Point: 801e8000
Verifying Checksum ... OK

ar7100> erase BE060000 BFFDFFFF

ar7100> cp.b 81f00000 be060000 1f60000

ar7100> bootm BE060000

ファーム起動後に再起動がかかり、復旧した純正ファームが起動するようになりました。

Web管理画面から純正ファームを上書きしようとしたところ、ファームウェアデータが正しくありません。再起動します。 となりましたが、region=USに変更したままだったので、u-bootでJPに変更して更新ができるようになりました。

スポンサーサイト

PageTop

コメント


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

承認待ちコメント

このコメントは管理者の承認待ちです

| | 2014年07月14日(Mon)01:49 [EDIT]


承認待ちコメント

このコメントは管理者の承認待ちです

| | 2015年12月10日(Thu)00:38 [EDIT]


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