FONルータ復旧大作戦

PC・ネットサービス

昨年中頃、FONジャパンからFONルータLa Foneraが届いたことをお伝えしたのですが、実は昨年の暮れにこのファームウェアのアップデートを試みたところ、うんともすんとも言わない状態になってしまいました。POWERランプとINTERNETランプは点灯するものの、WLANが点かない状態で有線LANで直結しても設定画面にアクセス出来ず、どうしようもない状態。

ネットで検索してみると、ファームアップをしようとして動かなくなってしまったのはどうやら僕だけじゃないようで、復旧の方法についての情報もチラホラ。情報を参考にシリアルコンソールで復旧を試みたところ無事復旧出来たので、将来またやってしまったときの自分のためにも手順をメモっておきたいと思います。

用意するもの

まずはPCにシリアル端子がないとはじまりません。ない場合はUSB-シリアル変換ケーブルを使えば出来るかもしれません。もっともこのアダプタケーブルはLa Fonera自体より高いので、買い直したほうが安くつきます。

そしてもう一つ必要なのがLa Foneraとの接続に使うための、カモン 携帯電話-シリアルケーブル 9-KE。

20070106_0409.jpg
カモン 携帯電話-シリアルケーブル 9-KE

こちら(PDC携帯電話⇔PCデータ転送ケーブル)などでメール便発送にしてもらえば数百円で手に入ります。

あとはLa FoneraとPCを直結するためのイーサネットケーブル、半田、半田ごて、そして半田吸取線があった方がよいです。

まずは分解

まずはLa Foneraの筐体を開けるところから。
本体を裏返して前方2つのゴム足をはぎ取るとねじが見えるので、これをゆるめて取ります。取ったゴム足は粘着部にホコリがつかないようにとっておきましょう。粘着力が残っていれば再びくっつけられます。

20070106_0407.jpg
ねじはこの2つだけ

ねじが取れたら、白い上蓋部分に軽く力を入れて持ち上げるようにするだけで取れます。

次に、用意した携帯電話ケーブル9-KEの携帯側コネクタを分解します。壊しちゃってもいいと思いますが、マイナスドライバーなどで4つのツメを外すとパカッと簡単に取ることができました。
最後に端子部分だけが残ると思いますが、僕は力任せで無理矢理引っ張って取りました。ニッパーなどで切った方がいいと思います。

20070106_0408.jpg
全部取れるとこんな感じ

そして接続

次に、分解したケーブルをLa Fonera本体と接続します。

分解したLa Foneraを見ると、ヒートシンクが載ったシールドとチップとコンデンサに囲まれて10本のピンがあります。
アンテナ・イーサネット・電源コネクタがある側が右側になるように置いたとき(10本のピンが自分に近くなるように置いたとき)、手前から1番目左がGND、3番目左がTX、4番目左がRXになるようにつなぎます。

このケーブル(9-KE)は製造された時期によってケーブルの色が異なるようで、黒・橙(オレンジ)・茶・赤と、黄・赤・緑・黒の2パターンが存在しているようです。
それぞれ、
黒: RxD ・ 橙: TxD ・ 茶: GND
黄: RxD ・ 赤: TxD ・ 緑: GND
とのことです。
僕のケーブルは黒・橙・茶・赤のパターンだったので、手前から1番目左に茶、3番目左に橙、4番目左に黒をつなぎました。

20070106_0406.jpg
太い小手先しかなかったんです…

ピンの接続が完了したら、シリアル端子をPCに接続し、イーサネットケーブルでLa FoneraとPCを直結し、電源ケーブルを本体につなげば準備完了です(コンセントにはまだ挿さないで下さい)。

シリアルコンソールにてファームウェアの復旧

いよいよファームウェアの復旧です。
ターミナルエミュレータをご用意下さい。僕はTera Termというフリーソフトを使わせてもらいました。

起動すると接続先を聞かれるので、La Foneraを接続したシリアルポート(大抵の場合下の画像と同じでOKです。)を指定します。

20070107fon1.jpg
大抵の場合COM1

ここでACアダプタをコンセントに挿してLa Foneraの電源を入れます。下の画像のように何かしら表示されれば第一関門突破です。
30秒ほど待っても何も表示されない場合は一度ACアダプタをコンセントから抜き、1分ほどまってから再度電源を入れてみてください。何度か試してもうんともすんとも言わない場合、前段階の物理的接続が上手く行っていない可能性が高いですので、半田が隣にくっついてショートしていないか等見直してみてください。

20070107fon2.jpg
第一関門突破

なお、ファームアップが失敗したタイミングによって表示される内容は異なりますので、必ずしも上の画像と同じ内容が表示されていなくても大丈夫です。kernel panicなどと表示されるパターンもあるみたいです。

それでは作業に移ります。
一度ACアダプタをコンセントから抜いて、1分ほど待ってから電源を入れ直してください。再び表示され始めたら、

== Executing boot script in 1.000 seconds - enter ^C to abort

と表示されたタイミングで^C(Ctrl + C)を押して処理を中断させてください。下の画像のようになればOKです。

20070107fon3.jpg
^Cで中断

ここで、La Foneraに書き込むファームウェアイメージを用意します。FONの公式ページのダウンロードページからダウンロード。2007年1月7日現在fonera_0.7.1.1.fonというファイルが落ちてきます。
落ちてきたファイルはtgz圧縮書庫ですが、バイナリの頭にゴミがついているので除去してやります。Stirlingというフリーソフトを使わせてもらいました。このソフトで先ほどダウンロードしたファームウェアイメージを読み込んで、頭から519バイト分をドラッグ、deleteして保存します。

20070107fon4.jpg
先頭519バイト分を選択して消去

ゴミを除去したファイルを解凍します。アーカイバが自動で内容を判断してくれない場合は下の画像のように拡張子をtgzに変更して解凍してください。

20070107fon5.jpg
拡張子をtgzにして解凍

kernel.lzma、rootfs.squashfs、hotfix、upgradeの4つのファイルが出来れば成功です。

次に、windowsのネットワークの設定を変更します。TCP/IPのプロパティを下のように設定してください。
IPアドレス : 192.168.1.1
サブネットマスク : 255.255.255.0
デフォルトゲートウェイ : 192.168.1.1

20070107fon6.jpg
TCP/IPの設定を変更

ネットワークの設定が終わったらTFTPサーバを立てます。Poor TFTP Serverというフリーソフトを使わせてもらいました。
Poor TFTP Serverを起動したらAuthorized Directoryに先ほど解凍したkernel.lzmaなどのファイルがあるフォルダを指定します。

20070107fon7.jpg
ディレクトリ指定をファームウェアイメージがあるフォルダに

TFTPサーバを立ち上げたまま次の手順に移ります。

Tera Termに戻って、RedBoot>に続けて次のように入力します。

RedBoot>ip_address -l 192.168.1.2/24 -h 192.168.1.1

処理が終わって再びRedBoot>が表示されたら次のように入力します。(Errorが起こった場合はスペルミスがないか見直してみてください。lと1、0とOなど)

RedBoot>load -r -b %{FREEMEMLO} kernel.lzma

処理が終わって再びRedBoot>が表示されたら次のように入力します。

RedBoot>fis create -r 0x80041000 -e 0x80041000 vmlinux.bin.l7

少々かかりますが処理が終わるまで待ちましょう。再びRedBoot>が表示されたら次のように入力します。

RedBoot>load -r -b %{FREEMEMLO} rootfs.squashfs

再びRedBoot>が表示されたら次のように入力します。

RedBoot>fis create -r 0xA8030000 -e 0x00000000 rootfs

かなりかかりますが処理が終わるまで待ちましょう。再びRedBoot>が表示されたら終了です。
ここまでで下の画像のようになっていればOKです。

20070107fon8.jpg
これでOK

ACアダプタをコンセントから外し、1分ほどまってから再度電源を入れてみてください。

Please press Enter to activate this console.

と表示されたところでエンターキーをおして下の画像のように表示されればおそらく復旧成功です。

20070107fon9.jpg
復旧成功!

PCのネットワーク設定を元に戻して、FONをネットワークに接続して動くかどうか試してみてください。
動いた方、お疲れ様でした!ダメだった方、もう一度やり直してみるか、もしかしたら別の原因かもしれません。

今回の復旧はネット上の情報なしでは出来ませんでした。やっぱりインターネットはすばらしい。

参考サイト
おさむの日記 – FON復活
I-O Hack/シリアルコンソール
gelPlog – Recovering a bricked Fonera