FonのDD-WRT化成功、予想外にあっさりと。

Fonが販売している格安無線APがある。これを自宅のブロードバンド環境に接続すると、自宅をフリースポットとして提供する代わりに、他のFonのホットスポットを自由に使えるようになる、というサービスらしい。
この格安無線APを買ってきた。およそ4千円弱。

買ったのはFon LaFonera+ 2201 というタイプ。4千円弱ながら、何種類かあるFonのルータの中では高いほうの機種だ。本当はもっと安いので試したかった。
このFon LaFonera+2201を高機能無線ルータ・ファームウェアであるDD-WRTにしてしまう計画。

DD-WRT化するだけで4千円のルータが、たちまち1万円オーバーの高機能無線ルータになる。
まだ基本のやつしか試していないが、タイプによってはVPN接続、無線ブリッジ、IP電話対応など、廉価ルータでは削られている機能まで使えるようになるらしい。 その他は後述。

「DD-WRT FonまとめWiki」を読みながら、慎重に作業を進める。買った2201の場合、ファームが新しすぎるため、シリアルケーブルを使ってコンソールから操作する必要があるらしい(というのは間違いだったのが後で判明)。しかも普通のRS232Cではだめで、信号の電圧が調整された古い携帯電話用のシリアルケーブル(9-KE)が必要らしい。それがなければ、レベルコンバートする回路を自作するか。

通販でわざわざシリアルケーブルを入手し、シリアルコンソールでアクセスできるようにしてみた。
「DD-WRT FonまとめWiki」を参考に、途中でCtrl+Cを押してRedbootのコンソールに落ちようと試みるが、全然ダメ。タイミングが難しいのか、そもそも出来ないようにされているのか。

と、ネットで調べると「telnetでやればいい」という情報が。
2201の場合、難しくシリアルケーブルを用意し、蓋を開けて内部に直結しなくても、ブート途中の限られた時間のタイミングで telnet 192.168.1.1 9000 とやるだけで、スコッとRedbootのコンソールにtelnetできる(IPアドレスはちょっとはっきりしない。192.168.1.254だったかも)。
Redbootのコンソールにログインした後は、予めDD-WRTの公式サイトからダウンロードしてあったDD-WRTのファームイメージ"linux.bin"を、TFTPによって読みこみ、ブートの設定をするだけであった。

簡単にまとめると、こう。記憶と他から拾ってきた情報をもとに書いているため、間違ってるかもしれないので保証はしません、あしからず。

1.PCにTFTPDなツールをインストール
2.DD-WRT公式サイトよりFON用のlinux.binをダウンロード
3.PCのIPアドレスを192.168.1.10/24に設定
4.TFTPDを起動し、linux.binをダウンロードできるようにする
5.FON Fonera+ のローカルLANのポートにPCを接続する
6.FON Fonera+の電源を入れる
7.すかさず、コマンドプロンプトから"telnet 192.168.1.1 9000"を実行(192.168.1.254?)
一回では成功しないと思うので、コマンド投入の時間をいろいろ変えてやる
8.telnetで入れたら、次のコマンドを投入

RedBoot> ip_address -l 192.168.1.1/24 -h 192.168.1.10
RedBoot> fis init

y/nを聞いてきたら、yを押す。

RedBoot> load -r -v -b 0x80041000 linux.bin

9.次のコマンドを投入し、ファームを書き込む?が、30分以上かかるので根気強く待つ。

RedBoot> fis create linux

省電力モードなどになって切断されないよう、注意すること。
10.次のコマンドを投入し、ブート時の一時的に使えるIPアドレスの設定や、ブートするファームの指定をする

RedBoot> fconfig

と投入すると、いろいろ聞いてくる。
たぶん、こんな感じで入力すればいいみたい。(ネットで転がってる情報)

boot_script_timeout: 2
bootp: false
bootp_my_gateway_ip: 0.0.0.0
bootp_my_ip: 192.168.1.1
bootp_my_ip_mask: 255.255.255.0
bootp_server_ip: 192.168.1.254
console_baud_rate: 9600
gdb_port: 9000
info_console_force: false
net_debug: false

Run script at boot: true
Boot script:
.. fis load -l vmlinux.bin.l7
.. exec
Enter script, terminate with empty line

と聞いてきたら、次のように入力。 最後は空行。

>> fis load -l linux
>> exec
>>

Update RedBoot non-volatile configuration – continue (y/n)? y

と聞いてきたら、yを押す。

… Erase from 0xa87e0000-0xa87f0000: .
… Program from 0x80ff0000-0x81000000 at 0xa87e0000: .

11.完了

RedBoot> reset
とコマンドを打つ。

12. 再起動後、http://192.168.1.1/にアクセスると、DD-WRT化されている

この手順を最初から知ってたら、9-KEケーブルなんて買わなかったし、FON Fonera+のケースを開けることすらやらなかったのに。

DD-WRTのサイトにある情報では、Fonがもう凄い事されまくってます。そこまではさすがにやる暇ないなぁ。

ハードウェアによるんだけど、FonをDD-WRT化するとどういうことができるか、おおまかに列挙してみる。

  • 無線APを複数設定できる(仮想AP)ので、通常はWPA2で、WEPしか使えないNintendoDSだけWEPということができる
  • 無線部分の詳細な設定が出来る(送信出力やその他よくわからない細かい設定)
  • SuperChannelという機能があって、有償で帯域が増やせるような…(って、これっていいのか?)
  • 無線ブリッジ機能が使えるし、WDS機能もあるので多数のFONを使って楽しいことできる
  • ルーティングはBGP, RIPv2,OLSRとかも使えるみたい
  • タグVLANが使えるっぽい
  • XBOX Kaidなるサービスが使える(って何者かよく知らない)
  • OpenVPNのクライアント、サーバになる
  • PPTPのクラインと、サーバにもなる
  • SNMPやSSHが使える
  • いくつかのHotSpotに対応できる(けど、日本では聞いたことないHotSpot)
  • フリーのHotSpotを構築できるみたい
  • Milkfish SIP なる設定が出来て、これを使うとIP電話がなんちゃらで楽しそう
  • Ethernet Over IP のトンネルが張れる
  • URLやキーワードでコンテンツフィルターが出来る
  • QoS対応
  • IEEE802.1X認証対応
  • P2P禁止機能
  • 日本語化されている

まぁ、目についたものだけ書いてもこんな感じ。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です