FONのDD-WRT化

FON2100EのDD-WRT化を頼まれたので、いいですよと安請け合いしたらハマったのでメモ
ファームが0.7.1r3だったので、DNS変更してSSH化してとおもいきや、「88.198.165.155」はつながんないじゃないですか。
「kolofonium.datenbruch.de」で引けるIPで「188.40.206.43」にすればいいみたいなので(タブン)やってみたけど、なんかうまくSSHが空かない・・orz
http://stefans.datenbruch.de/lafonera/
悩みつつ、裏のリセットボタン長押ししてリセットしてたら、リセットされた後のファームのバージョンがいくつかある?事が判明、0.7.1r2になったり、0.7.1r1になったり、って、0.7.1r1ってことは、別の方法が・・ということで、下の方法で、Redbootまでログインできるようになりました(^^;
SSH経由でDD-WRTを焼く
Redbootにログインできるようになってしまえば、以下のいつもの手順で、DD-WRTv24SP2にしました。
La Fonera+ (FON2201) を DD-WRT v24 にしちゃう

DD-WRT v24 SP1

v24 SP1 がでてた見たいなのでアップデートしてみた。とりあえず、普段使ってるLaFoneraに、Webインターフェースから「fonera-firmware.bin」を流しこんでみる。1000秒ぐらいからはじまって600秒ぐらいでカウントダウンがでとまってしまった。(っていうか面倒だったので無線LAN経由でやったのだけど(–;)、ぶっ壊れたかなと思いきや、電源OFF→ONでちゃんとアップデートされてました、初回にログインID,パスワードの設定をする必要があります。パスワードは●●●●●でいいのですが、ログインIDも●●●●●って入力フォームなんですが(^^;
DD-WRT v24 SP1

DD-WRT v24 リリース

DD-WRT v24 がリリースされたようなのでインストールしてみました。
LaFonera+ はまだやってませんが、RC7のWebからやると失敗するようなことも書いてあるところがあるので今度やってます。(乞うご期待(笑))
dd-wrt v24がリリースされました(物好き物)
<追記>
やっぱりLafonera+でWebインターフェースのRC7→v24はダメでした。tftpでOKになりました。今回も更新に30分ほどかかりまました。

La Fonera (FON2100E) DD-WRT v24 RC3 → tftpでv24へ →成功
La Fonera (FON2100E) DD-WRT v24 RC7 → Webインターフェースから更新 →成功
La Fonera+ (FON2201) DD-WRT v24 RC7 → Webインターフェースから更新 →失敗
La Fonera+ (FON2201) DD-WRT v24 RC7 →  tftpでv24へ →成功

また、RC7のAPモードのWPAでつながらなかったカードですが、v24にしたところ、問題なくつながるようになりました。
んで、tftpでFON_APやRC7以前のDD-WRTからv24へ更新する方法は
La Fonera+ (FON2201) を DD-WRT v24にしちゃう
からどうぞ。

La Fonera+ (FON2201) を DD-WRT v24 にしちゃう

< 追記>
La Fonera (FON2100E)も同じ手順でOKです。Redbootにはいるまでは、La Fonera (FON2100E) を DD-WRT にしちゃうを参考にあとは、RedbootのIPが違う(無印は192.168.1.254 ちなみに+は192.168.1.1)のでそこだけ気をつければ問題ないと思います。
・La Fonera+(FON2201)でRC7にすると、vlan0,vlan1ができるのでLa Fonera+のポートを別々に使えるようになってる?みたいなんだけど、いぢってる暇がないので不明。
・RC7でAPモードで使用してWPA Personal(AES)したときに、無線LANカードの種類によって繋がらないような気がする。
< 追記>
v24がリリースされたので、文章中のRC7を削除しました。
v24のリリース版にしたところ、上のWPAでつながらない現象は解決しました。
DD-WRTのv24がでたようなので先日DD-WRT化したLa Fonera+(FON2201)をv24へしてみる。RC7以降はFLASH内の構成が変わって1ファイルのみになったようなので、RedBootから書き換えしてみる。というかRC7以前のWebインターフェースからはたぶんムリです。
・ファームのダウンロードと準備
http://www.dd-wrt.com/dd-wrtv2/down.php?path=downloads%2Frelease+candidates/
から、今回は、DD-WRT v24 RC7/Atheros WiSoc/Foneraフォルダから

v24が正式になってRCのフォルダはなくなったようなので、
http://www.dd-wrt.com/dd-wrtv2/down.php?path=downloads%2Fv24%2FAtheros+WiSoc%2FFonera/こちららへ
http://www.dd-wrt.com/dd-wrtv2/down.php?path=downloads%2Fv24-sp1%2FConsumer%2FFon%2FFonera/DD-WRT V24SP1はこちら

linux.bin

をダウンロードしてTFTPサーバにいれます。いっしょにあるfonera_flashing.txtを参考にします。

TFTPサーバは、Windowsだったら、
TFTPサーバー Poor TFTP Server for WIN32(Vector)
とかだったら、exeと同じフォルダにファイルぶっこんでexe起動するだけでオッケー!、ただし日本語のフォルダ名とかあるとハマるもとなので注意
 
・Redbootにアクセスします
PCのIPアドレスを192.168.1.2/24とか(192.168.1.1以外の192.168.1.0/24のIPならなんでもOK)に設定し、La Fonera+とLANケーブルで繋いで、La Fonera+の電源をONにしたらすばやくPutty(他TeraTermなどTELNETクライアント)のTELNETでポート番号は9000番でアクセスします。

La Fonera+ (FON2201) の場合
telnet 192.168.1.1 9000
La Fonera (FON2100E) の場合
telnet 192.168.1.254 9000

<追記>
La Fonera(FON2100E)「+」でないほうはRedbootにログインするのに前準備が必要です。
La Fonera (FON2100E) を DD-WRT にしちゃうの上のあたりの部分をやってRedbootにログインできるようにしてから作業してください。当然シリアルコンソールならしなくてもいいはずです。
・状態表示(La Fonera+)

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

・状態表示(DD-WRT RC3)

RedBoot> fis list
Name              FLASH addr  Mem addr    Length      Entry point
RedBoot           0xA8000000  0xA8000000  0x00030000  0x00000000
rootfs            0xA8030000  0xA8030000  0x002C0000  0x00000000
vmlinux.bin.l7    0xA82F0000  0x80041000  0x000E0000  0x80041000
nvram             0xA83D0000  0xA83D0000  0x00010000  0x80041000
FIS directory     0xA87E0000  0xA87E0000  0x0000F000  0x00000000
RedBoot config    0xA87EF000  0xA87EF000  0x00001000  0x00000000

・IPの設定
La Fonera+が192.168.1.1、PCが192.168.1.2の場合

La Fonera+ (FON2201) の場合
RedBoot> ip_address -l 192.168.1.1/24 -h 192.168.1.2
Default server: 192.168.1.2
La Fonera (FON2100E) の場合
RedBoot> ip_address -l 192.168.1.254/24 -h 192.168.1.2
Default server: 192.168.1.2

・フラッシュディレクトリを初期化

RedBoot> fis init
About to initialize [format] FLASH image system - continue (y/n)? y
*** Initialize FLASH Image System
... Erase from 0xa87e0000-0xa87f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .

・linux.binの書き込み
時間がかかるのですが(LaFonera+の場合約30分ほど!!!、LaFoneraだともうすこし早いかな)しびれを切らしてEnterとかするとターミナルが切れるので注意。切れてしまった場合は最初からやりなおせばOKのはずです。

RedBoot> load -r -v -b 0x80041000 linux.bin
Raw file loaded 0x80041000-0x80684fff, assumed entry at 0x80041000
RedBoot> fis create linux
... Erase from 0xa8030000-0xa8674000: .....................................................................................................---------------------
... Program from 0x80041000-0x80685000 at 0xa8030000: .....................................................................................................-----
... Erase from 0xa87e0000-0xa87f0000: .-----------------------------------------
... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .-------------------------

・一応確認

RedBoot> fis list
Name              FLASH addr  Mem addr    Length      Entry point
RedBoot           0xA8000000  0xA8000000  0x00030000  0x00000000
linux             0xA8030000  0x80041000  0x00644000  0x80041000
FIS directory     0xA87E0000  0xA87E0000  0x0000F000  0x00000000
RedBoot config    0xA87EF000  0xA87EF000  0x00001000  0x00000000

・起動設定の表示

RedBoot> fconfig -l -n
boot_script: true
boot_script_data:
.. fis load -b 0x80100000 loader
..  go 0x80100000
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

・起動設定の変更

RedBoot> fconfig
Run script at boot: true
Boot script:
.. fis load -b 0x80100000 loader
..  go 0x80100000
Enter script, terminate with empty line
>> fis load -l linux
>> exec
>>
Boot script timeout (1000ms resolution): 2
Use BOOTP for network configuration: false
Gateway IP address:
Local IP address: 192.168.1.1
Local IP address mask: 255.255.255.0
Default server IP address: 192.168.1.254
Console baud rate: 9600
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)? y
... Erase from 0xa87e0000-0xa87f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .

・リセット

RedBoot> reset

・作業完了
無線LANでdd-wrtを捕まえて以下のアドレスで管理画面にログインできます。

http://192.168.1.1/
User:root
Passwd:admin
SSID:dd-wrt(暗号化なし)

La Fonera+ (FON2201) を DD-WRT にしちゃう

追記、DD-WRT RC7以上はこちら→La Fonera+ (FON2201) を DD-WRT v24 にしちゃう

キャンペーンで安く手に入れたLa Fonera+をさっそくDD-WRTにしてみます(^^)/
La Fonera(+でない)のは、RedBootの書き換えから必要ですが、La Fonera+はRedBootには標準でTELNETでログインできます(なんて親切設計(笑))
んで、シリアルコンソールを使えばいろいろ起動時の画面などみれると思いますが、箱開けるのはともかくシリアルケーブルは作るの面倒なので、必要機材はLANケーブルとパソコン一台で作業します。やり方はLa FoneraもLa Fonera+もほぼ同じですがLa Fonera+は最後に起動されるファイル設定を変えないと自動でブートしないのでその作業が追加になります。

追記:La Fonera+の箱は開けにくいように?へクスローブのネジです。専用工具が必要
 
・ファームのダウンロードと準備
http://www.dd-wrt.com/dd-wrtv2/down.php?path=downloads%2Frelease+candidates/
から、今回は、DD-WRT v24 RC3のFoneraフォルダから

fonera-firmware.bin
root.fs
vmlinux.bin.l7

の3ファイルのダウンロードしてTFTPサーバにいれます。

追記>
RC3だとLANのインターフェースがうまく動作しなかったようです。RC5でとりあえず使えました

TFTPサーバは、Windowsだったら、
TFTPサーバー Poor TFTP Server for WIN32(Vector)
とかだったら、exeと同じフォルダにファイルぶっこんでexe起動するだけでオッケー!、ただし日本語のフォルダ名とかあるとハマるもとなので注意
 
・Redbootにアクセスします
PCのIPアドレスを192.168.1.2/24とか(192.168.1.1以外の192.168.1.0/24のIPならなんでもOK)に設定し、La Fonera+とLANケーブルで繋いで、La Fonera+の電源をONにしたらすばやくPutty(他TeraTermなどTELNETクライアント)のTELNETでポート番号は9000番でアクセスします。

telnet 192.168.1.1 9000

 
・状態表示

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

 
・IPの設定
La Fonera+が192.168.1.1、PCが192.168.1.2の場合

RedBoot> ip_address -l 192.168.1.1/24 -h 192.168.1.2
Default server: 192.168.1.2

 
・フラッシュディレクトリを初期化

RedBoot> fis init
About to initialize [format] FLASH image system - continue (y/n)? y
*** Initialize FLASH Image System
... Erase from 0xa87e0000-0xa87f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .

 
・root.fsの書き込み
15分ぐらいかかる。。長ッ!しびれを切らしてEnterするとターミナルが切れるので注意!

RedBoot> load -r -v -b 0x80041000 root.fs
RedBoot> fis create -b 0x80041000 -f 0xA8030000 -l 0x002C0000 -e 0x00000000 root.fs

 
・vmlinux.bin.l7の書き込み
こちらは4分ぐらい

RedBoot> load -r -v -b 0x80041000 vmlinux.bin.l7
RedBoot> fis create -r 0x80041000 -e 0x80041000 -l 0x000E0000 vmlinux.bin.l7
RedBoot> fis create -f 0xA83D0000 -l 0x00010000 -n nvram

 
・参考(Redbootから手動で起動)

RedBoot> fis load -l vmlinux.bin.l7
RedBoot> go

 
・起動設定の表示

RedBoot> fconfig -l -n
boot_script: true
boot_script_data:
.. fis load -b 0x80100000 loader
..  go 0x80100000
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

 
・起動設定の変更

RedBoot> fconfig
Run script at boot: true
Boot script:
.. fis load -b 0x80100000 loader
..  go 0x80100000
Enter script, terminate with empty line
>> fis load -l vmlinux.bin.l7
>> exec
>>
Boot script timeout (1000ms resolution): 2
Use BOOTP for network configuration: false
Gateway IP address:
Local IP address: 192.168.1.1
Local IP address mask: 255.255.255.0
Default server IP address: 192.168.1.254
Console baud rate: 9600
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)? y
... Erase from 0xa87e0000-0xa87f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .

 
・リセット

RedBoot> reset

 
・作業完了
無線LANでdd-wrtを捕まえて以下のアドレスで管理画面にログインできます。

http://192.168.1.1/
User:root
Passwd:admin
SSID:dd-wrt(暗号化なし)

 
 
La Fonera+の有線LANのポートが使用できるかどうかが不明、だったら+じゃなくてもいいじゃん(笑)
 
◆参考URL
LaFonera+へのDD-WRTインストール(物好き者)
LaFonera+のRedBoot設定変更を行いDD-WRT自動起動できるようにしました(物好き者)

La Fonera (FON2100E) を DD-WRT にしちゃう

追記、DD-WRT RC7以上はこちら→La Fonera+ (FON2201) を DD-WRT v24 にしちゃう

まぁ、FONでなんとなくつながって飽きてきたので、ファームをいぢってみる、んで、FONルータではなくなってしまうのですが、DD-WRTにして高機能?無線LANルータに改造してみます(おやくそくですが、以下の内容は自分が試した内容の記憶をもとにまとめたので、もしかしたらまちがってるかもしれないし、もしかしたらLa Foneraがゴミになってしまかもしれませんのでそのへんは自己責任で)
おおざっぱに手順は、
1.La Fonera にSSHでアクセスできるようにする
2.RedBoot(Boot Loader)を書きかえれるようにする
3.DD-WRTに変更
のような感じです。
では、レッツゴー!(笑)
 
・今から購入すると、firmware 0.7.1 r2以降だと思いますので、無線LAN(MySpace)から

http://192.168.10.1/
User:root
Passwd:admin

で、自分のIP,サブネットマスクは適当に設定し、
DNSサーバを「88.198.165.155」設定して電源をいれなおします。
 
・起動してきたら無線LANでMySpaceに接続してPuttyなどのSSHクライアントで、

192.168.10.1
User:root
Passwd:admin

に接続します。

mv /etc/init.d/dropbear /etc/init.d/S50dropbear
vi /etc/firewall.user

以下の行のコメントを外します。

# iptables -t nat -A prerouting_rule -i $WAN -p tcp --dport 22 -j ACCEPT
# iptables -A input_rule -i $WAN -p tcp --dport 22 -j ACCEPT
vi /bin/thinclient

以下の行をコメントにします。

. /tmp/.thinclient.sh

以下の行をかわりに加えます。

cp /tmp/.thinclient.sh /tmp/thinclient-$(date '+%Y%m%d-%H%M')

 
・RedBootの書き換え
Putty等でSSHでログイン

cd /tmp
wget http://fonera.info/camicia/openwrt-ar531x-2.4-vmlinux-CAMICIA.lzma
mtd -e vmlinux.bin.l7 write openwrt-ar531x-2.4-vmlinux-CAMICIA.lzma vmlinux.bin.l7
reboot

再起動後、Putty等でSSHでログイン

cd /tmp
wget http://fonera.info/camicia/out.hex
mtd -e "RedBoot config" write out.hex "RedBoot config"
reboot

 
・RedBootへログイン
PCのIPを192.168.1.2とかにしておいて、La Foneraとクロスケーブルか、HUBでつなぎます。
La Foneraのreboot(または、電源ON)後、数秒以内に「telnet 192.168.1.254 9000」とするとRedBootへ接続できます。
ファームアップ後、La Foneraは192.168.1.1になってしまうので、外向け用ルータなど192.168.1.1で使っている場合は変えておかないとIPがカブるので注意
 
・ファームのダウンロードと準備
http://www.dd-wrt.com/dd-wrtv2/down.php?path=downloads%2Fbeta%2FFONERA/
から

fonera-firmware.bin
root.fs
vmlinux.bin.l7

の3ファイルのダウンロードしてTFTPサーバにいれる。(ファームは新しければいいってもんでもないと思いますが、自分は、「2007- 0803」でインストールしました
TFTPサーバは、Windowsだったら、
TFTPサーバー Poor TFTP Server for WIN32(Vector)
とかだったら、exeと同じフォルダにファイルぶっこんでexe起動するだけでオッケー!、ただし日本語のフォルダ名とかあるとハマるもとなので注意
 
・ファームの書き換え
La Foneraが192.168.1.254、PCが192.168.1.2の場合

 ip_address -l 192.168.1.254/24 -h 192.168.1.2
fis init
load -r -v -b 0x80041000 root.fs
fis create -b 0x80041000 -f 0xA8030000 -l 0x002C0000 -e 0x00000000 rootfs
load -r -v -b 0x80041000 vmlinux.bin.l7
fis create -r 0x80041000 -e 0x80041000 -l 0x000E0000 vmlinux.bin.l7
fis create -f 0xA83D0000 -l 0x00010000 -n nvram
reset

最初のfis createは3分~5分ほどかかるので、我慢できずにEnterを連打しないこと、コンソールが落ちてしまうので、失敗の原因になります。失敗したら最初からやりなおせばたぶん大丈夫です。
・アップデート完了

http://192.168.1.1/
User:root
Passwd:admin
SSID:dd-wrt(暗号化なし)

で無線LAN側からも接続できると思います。
<参考>
FONまとめwiki DD-WRT
FONまとめwiki Tips
LaFonera Software Flashing
Hacking the La Fonera
無線アクセス・ポイントの代替ファームウエア:「DD-WRT」(ITPRO)

FONつづき

先日からFONを使ってますが、なんか、不安定なんですが。。。。
実は、FONのルータを購入した動機は、IEEE802.11bのAPは持ってるのだけど、PC間のファイルコピーが遅いので、IEEE802.11gのルータが欲しかっただけなんですが、どうもVistaとXPのファイル共有がヘボなのか、無線LANのドライバがイマイチなのかわかりませんが、通常のブラウジングも心なしか遅いような気もするし、とりあえず、前からのIEEE802.11bのAPに戻しましたorz

FON

東京出張のついでにツクモでFONを買ってきました1,980円ナリ。単に無線LANのアクセスポイントが欲しかっただけなんですが(笑)。で実際作りはよく出来てて、公開用とプライベート用のSSIDでネットワークがわかれていたり、ルーターFONルータ間も公開用のセグメントからは接続できないようになってたり、それなりに考えられてるようです。まぁ、とりあえずつながるようにしましたが、これからいじってあそんでみます
FON
ツクモのページ
FONまとめwiki