今までにも、何回か DD-WRT の紹介をしていますが、実は一番初めに DD-WRT化したのは、WHR-HP-AMPG です。
今回、忘備録としてDD-WRT 化の手順を書いておきたいと思います。
WHR-HP-AMPG は海外では、WHR-HP-AG108 という名称で発売されています。
DD-WRT の ページで Router Database を調べると、
が、提供されていますので、ダウンロードします。
それと、RedBoot_config_gdb.rom が書き換えに必要なため以下からダウンロードします。
http://wiki.funkfeuer.at/index.php/Openwrt_Kamikaze_auf_WHR_AG108_HOWTO Redboot Konfiguration
OpenWrt -> リンクはこちら Holgi’s redboot configuration
自分で、作成する場合はそれなりのページを参考にしてください(ちょっと手抜き)。
以下 DD-WRT の書き換えは以下のページを参照しています。
http://www.dd-wrt.com/wiki/index.php/WHR-HP-AG108
まず、WHR-HP-AMPG を初期化します。初期化するとルーターの IP アドレスが 192.168.11.1 になります。初期化しないで別の IP アドレスのまま書き換えを行うとファームの書き換えに成功したように見えても、実際に書き換えられませんでした(見事ハマりました)。
まず、現ファームのバックアップをとりましょう。
PC の IPアドレスを 192.16.11.10 に手動で設定して、LANポートに接続します。
http://192.168.11.1/cgi-bin/cgi?req=frm&frm=py-db/55debug.html
とブラウザから入力するとユーザー名とパスワードを聞いてきますので
- ユーザー名:bufpy
- パスワード:otdpopy
と入力してデバッグ画面に入ると telnetd を起動する画面があるので、 telnetd を開始します。
telnet で、192.168.11.1 へ接続し、
dd if=/dev/mtdblock/0 of=/tmp/full_flash_backup.rom
として /tmp にバックアップした後、binary mode で Get しておきます(これでOK)。
DD-WRT への書き換え開始です。
はじめに、192.168.11.10 の PC で HTTP サーバーか ftp サーバーを立ち上げて RedBoot_config_gdb.rom が wget で取得できるように設定しておきます。
上記の手順で telnet 接続を行い、以下のコマンドで RedBoot_config_gdb.rom を転送し書き込みます。
cd /tmp wget http://192.168.11.10/RedBoot_config_gdb.rom dd if=/tmp/RedBoot_config_gdb.rom of=/dev/mtdblock/4
書き込みが終了すれば、ret_boot の書き込み完了。第一段階終了です。
ルーターを reset(電源OFF/ON)してすぐ telnet 192.168.11.1 port 9000 へ PC から接続すると
== Executing boot script in…
と表示されるので、9秒以内に Ctrl-C を押下します。それで RedBoot> とプロンプトが表示されれば成功です。
次に、tftp Server を 192.168.11.10 のパソコンで起動させます。
今回は、Windows は割愛させていただきます。(PumpKIN or TFTP@SF.net を御覧下さい) Mac の場合は、元々 tftp Server がインストールされていますので、/private/tftpboot/ に root.fs と lzma_vmlinus を置いて
sudo launchctl load -F /System/Library/LaunchDaemons/tftp.plist
と実行すれば、tftp Server が起動します。
後は、telnet から(RedBootのプロンプトが表示されているはずです) 以下のコマンドを入力します。
ip_address -l 192.168.11.1 -h 192.168.11.10 fis init load -r -v -b 0x80041000 root.fs fis create -b 0x80041000 -f 0xbe050000 -l 0x002a0000 -e 0x00000000 rootfs load -r -v -b 0x80100000 lzma_vmlinus fis create -r 0x80100000 -e 0x80100000 -l 0x000d0000 -f 0xbe2f0000 linux fis create -f 0xbe3c0000 -b 0x80041000 -l 0x00010000 -e 0x00000000 nvram
書き終わるまで待ちます。
fis list
と入力して
Name FLASH addr Mem addr Length Entry point RedBoot 0xBE000000 0xBE000000 0x00050000 0x00000000 RedBoot config 0xBE3DF000 0xBE3DF000 0x00001000 0x00000000 FIS directory 0xBE3D0000 0xBE3D0000 0x0000F000 0x00000000 rootfs 0xBE050000 0xBE050000 0x002A0000 0x00000000 linux 0xBE2F0000 0x80100000 0x000D0000 0x80100000 nvram 0xBE3C0000 0xBE3C0000 0x00010000 0x00000000
となれば書き換え成功です。
次に、bootloader を設定します。
fconfig
として Hit enter at “Run script at boot: true”
fis load linux exec
と入力します。
Boot script timeout (1000ms resolution): 9 Use BOOTP for network configuration: false Gateway IP address: 192.168.11.254 Local IP address: 192.168.11.1 Local IP address mask: 255.255.255.0 Default server IP address: 192.168.11.10 Console baud rate: 9600 DNS server IP address: 192.168.11.254 GDB connection port: 9000 Force console for special debug messages: false Network debug at boot time: false と設定して Update RedBoot non-volatile configuration - continue (y/n)?
に yes と答えてリセットすれば成功です!。diag ランプが点灯したままになるのは仕様のようです(逆に Diag ランプが消灯してしまったら書き換え失敗です)最新ファームでは修正されています。
IP Address = 192.168.1.1, username=root, password=admin
になっているのでブラウザから開けば各種設定ができます。
元に戻すときは、http://www.dd-wrt.com/wiki/index.php/WHR-HP-AG108 を参考に書き換えてください。
Revert to original firmware
1. バックアップしたファイルを以下のように分割します。
dd if=full_flash_backup.rom of=vmlinux.bin.gz bs=1 skip=327680 count=740248 dd if=full_flash_backup.rom of=rootfs bs=1 skip=1179648 count=2752512 dd if=full_flash_backup.rom of=user.property bs=1 skip=4063232 count=65536 dd if=full_flash_backup.rom of=Radio.Config bs=1 skip=4128768 count=65536
2. 上記ファイルを tftp の root ディレクトリにおいて RedBoot を起動します。
3. 以下の手順で ファームを書き換え元に戻します。user=root, password=なしに戻るはず)
ip_address -l 192.168.11.1 -h 192.168.11.10 fis init -f load -r -v -b 0x80041000 rootfs fis create -b 0x80041000 -f 0xBE120000 -l 0x002a0000 -e 0x00000000 rootfs load -r -v -b 0x80002000 vmlinux.bin.gz fis create -r 0x80002000 -e 0x80182398 -l 0x000B4B98 -f 0xBE050000 vmlinux.bin.gz load -r -v -b 0x80041000 user.property fis create -b 0x80041000 -f 0xBE3E0000 -l 0x00010000 -e 0x00000000 user.property load -r -v -b 0x80041000 Radio.Config fis create -b 0x80041000 -f 0xBE3F0000 -l 0x00010000 -e 0x00000000 Radio.Config
最後のコマンドが失敗しても無視しましょう。
4. bootloader の設定をします。
fconfig
として Hit enter at “Run script at boot: true”
go_script
と入力しします。
Boot script timeout (1000ms resolution): 9 Use BOOTP for network configuration: false Gateway IP address: 192.168.11.254 Local IP address: 192.168.11.1 Local IP address mask: 255.255.255.0 Default server IP address: 192.168.11.10 Console baud rate: 9600 DNS server IP address: 192.168.11.254 GDB connection port: 9000 Force console for special debug messages: false Network debug at boot time: false
Yes と答えて reboot します。
こんにちは
WHR-HP-AMPG の RedBoot_config_gdb.rom がダウンロードできる
場所をご存知ではないですか?よろしくお願いします。
こんにちは。こちらからいかがでしょう。OpwnWrt wiki の WHR-HP-AG108(WHR-HP-AMPG) のページ http://wiki.openwrt.org/doku.php?id=oldwiki:openwrtdocs:hardware:buffalo:whr_hp_ag108 から Holgi’s redboot configuration のリンク
http://wiki.openwrt.org/_media/oldwiki/openwrtdocs/hardware/buffalo/redboot_config_gdb.rom
は生きているようです。お試しください。
お手本にdd-wrt化出来ました
ありがとうございます。