JF6DEU blogその他
| |||||
ことの発端ことの発端は些細なことで、アップデート中に掃除機を使っていたお母さんが
「「あっ!ブレーカー落とした!ごめん!」」 ...ということでWi-Fiルーターは再起不能に。(電子レンジ(1000w)+ルーター(20w?)+掃除機(600w)+冷蔵庫(500w)) あれだけ「ここには挿すな」って言っておいたのに... うちの家には予備のルーターなどなく、どうしようもない。 再起動するとDIAGランプ赤点滅二回。 終わった...と思ってたところに一つ。 「あれ...?ルーターってLinux搭載してたよねぇ...」 そう。このルーターは前に解析してCDにEEPROM内すべてを保存しておいたのです。 ...ということで修復開始~っ! | |||||
修復1 シリアルデバッグを引き出すまずは分解して、線を引き出し。
(画質の粗さは許容して...) 上から、RX,TX,GNDで接続(もちろん送信側は逆で。) 次にBootloaderを眺めてみる。 ...と、TFTPを待ち受けてるような感じがする。 すかさずCtrl+Cでコンソールに入る。 そしたら、簡単にコンソールに入れた。(ここまでは前やってるので大したことはない。) で、ここからが未知の領域。 まずはネットの力を借りる...と、スマホの画面は見にくい!!(まだ若い者が何言ってんだ) どうにか調べ上げたところだと、 ・setenv accept_open_rt_fmt 1 ・setenv tftp_wait 15 ・saveenv の3つを入力すればいいらしい。 ...ってことで入力。 コマンドの意味は(推測) setenv ... ブートローダーのフラグを設定する accept_open_rt_fmt 1 ... openrtフォーマットの何かを許可する(?) tftp_wait ... TFTPでの接続時間を調整 saveenv ... フラッシュメモリに書き込み ...かな? | |||||
ここからがややこしい1.復旧PCで、
>arp -s 192.168.11.1 02-aa-bb-cc-dd-20 を入力(もちろん管理者権限で) 2.PCのipを192.168.11.2で固定。 3.Windowsの機能の有効化または無効化でtftpを起動(すでに実施済み) 4.Windows Defenderでtftpを許可 5.純正ファームを準備(CD-ROM内のf6.ddとWZR_TFTP_headder.binを結合) >copy /B \path\to\WZR_TFTP_headder.bin+\path\to\m6.dd restore.bin 6.シリアルモニタで画面を確認しながら、ルーターを再起動。 7.tftp server(receive) go, waiting:15[sec]が出たらすぐに以下のコマンドを発行 >tftp -i 192.168.11.1 put restore.bin 8.シリアルモニタにドルが流れたら成功。あとは待つだけ 9.10分もすればOK.管理者権限で >arp -d * を実行。 10.IPアドレスを自動取得にする するとどうでしょう。 回復できました。 | |||||
修復2 カバーを戻すここまで来たら修復は簡単です。
線を切ってカバーを元に戻すだけです。 終わり。 | |||||
参考サイト: | |||||
ファームのバックアップ方法とりあえず思い出したので。
1. http://192.168.11.1/cgi-bin/cgi?req=frm&frm=py-db/55debug.html にアクセス(自己責任) 2. user:bufpy pass:otdpopypassword でログイン 3. telnetを有効化 4. telnetで接続(busyboxにつながる) 5. usbを裏面端子に接続(fat32) 6. 以下のコマンドを順に打つ >cd /mnt/usb0_0 >cat /proc/mtd > ./t.txt >dd if=/dev/mtdblock/0 of=./m0.dd >dd if=/dev/mtdblock/1 of=./m1.dd >dd if=/dev/mtdblock/2 of=./m2.dd >dd if=/dev/mtdblock/3 of=./m3.dd >dd if=/dev/mtdblock/4 of=./m4.dd >dd if=/dev/mtdblock/5 of=./m5.dd >dd if=/dev/mtdblock/6 of=./m6.dd >dd if=/dev/mtdblock/7 of=./m7.dd (/proc/mtd内のすべてをバックアップ) 7.以下のコマンドを実行 >cd .. >umount ./usb0_0 Linuxコマンドの知識があれば簡単です。 | |||||