OpenWRTを有線ルータに
BaffaloのBHR-4RVにOpenWRTを入れてみた。
OpenWRTって「無線LANルータ用の勝手ファーム」なので、有線ルータには入らないような気がしちゃいますが、入るルータもあります。 BHR-4RVって、その形状は同社の無線LANルータ、WZR-RS-G54とそっくり。 きっと中身は同じに違い有りません!…と勝手に思いこんで進めます。 WZR-RS-G54なら、OpenWRTのページでも動作報告があります。
筐体を開けてみます。
- CPU -- BCM4704KPBG
- イーサネットスイッチ -- BCM5325A2KQMG
- RAM -- MIRA P2S56D40BTP × 2個(合計64MiB)
- Flash -- Toshiba TC58FVM6T2ATG65(8MiB)
きっと同じはず!Mini-PCIのソケットが載る場所もあって、きっとWZR-RS-G54とかとボードは同じなんでしょうね。
入れたファームはこれ。 openwrt-brcm47xx-2.6-squashfs.trx
入れ方はOpenWRTのページを見ていただけばわかります。 注意!!!本来のファームウェアは消えてしまいます。戻す方法は無いわけではありませんが、ちょっと面倒です。また、ファームウェアの書き込み中に電源が切れたり、ネットが切れると、最悪の場合、再起不能になります。
以下の「192.168.12.XX」のアドレスは、製造時期によって異なる可能性があります。手元の個体では、MACアドレス「00:0D:0B:E3:1A:F3」のが「192.168.12.XX」、「00:16:01:71:00:09」のが「192.168.11.XX」でした。
PCでLinuxが動いている場合の例。 BHR-4RVの電源を抜いておく。 PCのイーサネットポートと、BHR-4RVのイーサネットポート(4ポートハブになってる側)をケーブルで接続する。
% wget http://downloads.openwrt.org/kamikaze/7.07/brcm47xx-2.6/openwrt-brcm47xx-2.6-squashfs.trx % sudo ifconfig eth0:1 192.168.12.10 % tftp 192.168.12.1 tftp> binary tftp> trace tftp> rexmt 1 tftp> put openwrt-brcm47xx-2.6-squashfs.trx
上記putの最後にエンターキーを押したら、なるべく早く(数秒以内)にルータの電源を入れる。 ぶわーっと状態表示が流れて、最後に
sent DATA <block=3721, 0 bytes> received ACK <block=3721> Sent 1904640 bytes in 12.0 seconds tftp>
とか出れば成功です。 タイムアウトとか言われた場合もあわてなくていいです。 電源を切って、さっきのputをやりなおして、電源を入れる。 何度かやれば必ず成功します。
tftp> quit
% sudo ifconfig eth0:1 192.168.1.10
% telnet 192.168.1.1
Trying 192.168.1.1...
Connected to 192.168.1.1.
Escape character is '^]'.
=== IMPORTANT ============================
Use 'passwd' to set your login password
this will disable telnet and enable SSH
------------------------------------------
BusyBox v1.4.2 (2007-07-23 07:48:28 CEST) Built-in shell (ash)
Enter 'help' for a list of built-in commands.
_______ ________ __
| |.-----.-----.-----.| | | |.----.| |_
| - || _ | -__| || | | || _|| _|
|_______|| __|_____|__|__||________||__| |____|
|__| W I R E L E S S F R E E D O M
KAMIKAZE (7.07) -----------------------------------
* 10 oz Vodka Shake well with ice and strain
* 10 oz Triple sec mixture into 10 shot glasses.
* 10 oz lime juice Salute!
---------------------------------------------------
root@OpenWrt:/#
これで成功です。 ユーザ「root」のパスワードを設定すると、telnetの代わりにSSHが使えるようになります。 あとはご自由に。 後片付けはこんな感じで。
root@OpenWrt:/# Connection closed by foreign host. % sudo ifconfig eth0:1 down
そうそう。ルータのLAN側(4ポートハブになってる側)がeth0、WAN側がeth1です。
(2007/8/13 - sgk)
