物好き者

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

スポンサーサイト

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

PageTop

LaFonera+を純正ファームに書き戻し1

DD-WRTをインストールしたLaFonera+を、純正ファームに書き戻してを行うことにしました。

fonの純正ファームは、http://www.fon.com/jp/download# で取得できます。
しかし、SeaMonkeyだとダウンロード画面が左右にスクロールできなくなっており、ダウンロードボタンが見えなくなっていました。
ただ、チェックボックスにチェックを入れた後タブキーを押すことでダウンロードボタンにフォーカスが移動するので、ボタンが表示されて押すことが出来ました。
IEだと問題なく左右にスクロールするので、ダウンロードボタンが簡単に押せます。

タブキーでフォーカスを変更することを思いつく前は、ダウンロードが出来なくなったと思い、ファームウェの取得方法を探しました。
下記によると、/dev/mdtblockがフラッシュに書き込まれたファームウェアになり、httpで取得することが出来るそうです。
OpenWrtDocs/Hardware/Fon/Fonera - OpenWrt

fonでダウンロードしたファームウェアは、そのままではフラッシュに書き込むことが出来ません。展開する方法を探したところ、次の二つが見つかりました。

わんこ日記(2007-11-07)
こちらでは、ddコマンドを使用してtgz形式に変換しています。

Modification du firmware Fon pour une Fonera+ » Lefinnois.net
OpenWrtDocs/Hardware/Fon/Fonera - OpenWrt Restore the original firmware>Unbricking the Fonera>Updating / Unbricking via RedBoot
こちらでは、tailコマンドを使用して、同じくtgz形式に変換しています。

これにより、純正ファームからイメージを取り出せますが、ダウンロードできたファームがバージョンアップ用の foneraplus_1.1.1.1.fon なので、必要なイメージがそろっていません。
fis listでは、次の構成になっています。
RedBoot> fis list
Name FLASH addr Mem addr Length Entry point
RedBoot 0xA8000000 0x80040400 0x00030000 0xA8000000
loader 0xA8030000 0x80100000 0x00010000 0x80100000
image 0xA8040000 0x80040400 0x00230004 0x80040400
image2 0xA8660000 0xA8660000 0x00140000 0x80040400
FIS directory 0xA87E0000 0xA87E0000 0x0000F000 0x00000000
RedBoot config 0xA87EF000 0xA87EF000 0x00001000 0x00000000

RedBoot・FIS directory・RedBoot configに関しては、DD-WRT化したときも書き換えていないので、書き戻す必要があるのは、loader・image・image2 です。
取り出せたのは、image_full・upgrade・hotfixの三つだけです。
upgradeスクリプトを確認すると、次のようになっています。
[root@asianux3 Desktop]# more upgrade
#!/bin/sh
REVISION=`cat /etc/fon_revision`
VERSION=`cat /etc/fon_version`

if [ $VERSION = "1.0.1" ] || ( [ $VERSION = "1.1.0" ] && [
$REVISION -le "2" ] )
then
echo "Upgrading FON firmware and rebooting..."
echo "This may take up to 10 minutes. Please be patient."
echo "The power light will be alternating green and
orange. When the process is
finished the light will stay orange while rebooting"

echo "Flashing image..."
blinkpower both > /dev/null 2>&1 &
mtd write image_full image > /dev/null 2>&1
rm full_image > /dev/null 2>&1

(sleep 4; reboot) &
return 0
else
echo "Sorry but this upgrade file is not valid for your
current firmware version
."
return 1
fi

このため、image_fullファイルが、fisでのimageファイルと考えられます。ファイルサイズも2293764で、fis list でのimage領域のLength:0x00230004(10進変換:2293764)と同じです。
しかし、ファームウェアのバージョンが1.1.1.1なので、純正ファームの1.1.0.2との差異があるため、別の方法を検討します。
場合によっては、1.1.0.2をバージョンアップして1.1.1.1にしてからload・image2を取得することも検します。

スポンサーサイト

PageTop

コメント


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

承認待ちコメント

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

| | 2014年07月25日(Fri)04:13 [EDIT]


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