2007/11/11

メニューへ


fonを改造イーサネット化編



fonっていうのをご存知でしょうか
fonはみんながこの「La Fonera」という無線ルーターを使って
どこでもインターネットを出来るようにするプロジェクトだそうです
日本でもこのルーターが九十九電気等で出回っており
続々と無線の輪が広がっています

この「La Fonera」を
多機能無線LANに
改造してしまいましょう!!
今回は イーサネットコンバータの作成です

これから行う実験ではLa foneraを破壊します
壊したくてしょうがない人以外はこれらをまねるようなことはしないでください
もしも行う方はもちろん自己責任でお願いします

fon自体はすごく面白いことをしていると思いますので、改造する方は
出来れば2台買って一台は普通にfonに参加してみてください


買ってきた・・


箱の中は結構シンプルです
本体・電源・LANケーブル・マニュアル(1枚)・ステッカー

これだけ入って価格が
1980円です
・・・安いっ!!

では、早速バラしてみましょう

ここにあるゴム脚を取り外すと
ネジが出てきますので

これをはずします
つめがありますが
以外にあっさりと
ふたが開きます
アンテナ部拡大

・・ひょっとして、もともと
2本繋がる仕様なのかな?
今回の改造POINT

このヘッダピンから
データを流し込みます


ケーブル作成


実際の改造のメインはfonのファームを書き換える所ですが
書き換えるにはヘッダピンからPCへ繋ぐケーブルが要ります
このケーブルを1から作るとちょっと面倒なので
今回は携帯電話用ケーブルを流用します

データ転送ケーブル

カモン
携帯電話-シリアルケーブル
9-KE


シリアルコネクタ内に
レベルコンバータが入っていて、それがそのまま
流用できます



今回ハンダ付け等の加工はここだけです

携帯側をバラすと
こんな感じに
線が4本繋がってます
4本のうち3本を使います

コネクタはIDEのコネクタを
のこぎりで切って加工

後は
熱収縮チューブで絶縁加工
しました
端子側はこんな感じに
なります

ここにコネクタを刺して
完了です


マウス近づけると
刺した状態の写真になります


ファーム書き換え

書き換える前にソフト類を準備をします

使用ソフト
TeraTerm ターミナルソフト
Poor TFTP Server 簡易サーバー

使用ファームウェア
DD-WRTファーム. 2007-04-16版を使用しました
好きな物を使ってください


まずは、FoneraのIPを調べます
買ったばかりの場合は初期IPは 192.168.10.1
すでに、変更していてIPが分からない・繋がらない
FoneraとPCをLANで繋いで

(PC側はIPアドレスを自動に)
169.254.255.1



Foneraの初期ID・PASSは
UserID Pass
admin admin


繋がるとこうなります→



繋がればIPが分かりますね

以下例として
FonIP 192.168.10.1
WInIP 192.168.10.2
として進めていきます
PCの設定は

IP 192.168.10.2
サブネット 255.255.255.0
DNS 192.168.10.1


IPが分かったところでいよいよケーブルをFoneraに刺して
TeraTermを起動します

シリアルケーブルで
繋げてますので
Sirial チェック
Port COM1

今回はCOM1ですが
PCによっては
もちろん違います
TeraTermの準備が出来たら、Fonの電源を入れます
しばらくすると下図がでます(出なかったら、配線チェックしてやり直し・・)
enter ~C to about

の表示が出たら
Ctrl + C

を押す
Poor TFTP Server
を起動します

このソフトの設定は

ファームの
入ったフォルダを
指定するだけで完了!!


これで、ファームを流し込む準備が出来ました
ここからはコマンドラインでコマンドを打ち込みファームを流します
ip_address -l 192.168.10.1/24 -h 192.168.10.2
fis init
load -r -v -b 0x80041000 root.fs
fis create -b 0x80041000 -f 0xA8030000 -l 0x002C0000 -e 0x00000000 root.fs
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


実際はこんな感じになります
赤字が打ち込むコマンドです
+PHY ID is 0000:0000
Ethernet eth0: MAC address 00:00:00:00:00:00
IP: 0.0.0.0/255.255.255.255, Gateway: 0.0.0.0
Default server: 0.0.0.0

RedBoot(tm) bootstrap and debug environment [ROMRAM]
Non-certified release, version v1.3.0 - built 16:57:58, Aug 7 2006

Copyright (C) 2000, 2001, 2002, 2003, 2004 Red Hat, Inc.

Board: ap51
RAM: 0x80000000-0x81000000, [0x80040450-0x80fe1000] available
FLASH: 0xa8000000 - 0xa87f0000, 128 blocks of 0x00010000 bytes each.
== Executing boot script in 1.000 seconds - enter ^C to abort
^C
RedBoot>
ip_address -l 192.168.10.1/24 -h 192.168.10.2
IP: 192.168.10.1/255.255.255.0, Gateway: 0.0.0.0
Default server: 192.168.10.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: .
RedBoot>
load -r -v -b 0x80041000 root.fs
Using default protocol (TFTP)
|
Raw file loaded 0x80041000-0x802cbfff, assumed entry at 0x80041000
RedBoot>
fis create -b 0x80041000 -f 0xA8030000 -l 0x002C0000 -e 0x00000000 root.fs
... Erase from 0xa8030000-0xa82f0000: ..........................................
..
... Program from 0x80041000-0x80301000 at 0xa8030000: ..........................
..................
... Erase from 0xa87e0000-0xa87f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .
RedBoot>
load -r -v -b 0x80041000 vmlinux.bin.l7
Using default protocol (TFTP)
-
Raw file loaded 0x80041000-0x80100fff, assumed entry at 0x80041000
RedBoot>
fis create -r 0x80041000 -e 0x80041000 -l 0x000e0000 vmlinux.bin.l7
... Erase from 0xa82f0000-0xa83d0000: ..............
... Program from 0x80041000-0x80101000 at 0xa82f0000: ............
... Erase from 0xa87e0000-0xa87f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .
RedBoot>
fis create -f 0xa83d0000 -l 0x00010000 -n nvram
... Erase from 0xa87e0000-0xa87f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .
RedBoot>
reset


さあ、繋げてみよう

最初は無線しか繋がらないので
無線LANをPCに繋げてワイヤレスで
つなげます

dd-wrt
が見つかりますので
接続します

dd-wrtの初期IP192.168.1.1
ID:root pass:admin

繋がりました


イーサネットコンバータ設定


これで、超高機能な無線LANが出来ました (使い切れない・・)
このdd-wrtの設定を変えてイーサネットコンバーターにしてみましょう

第1、第2タブ 設定項目 変更値
 Security → Firewall SPI Firewall Disable
 Setup → Advanced Routing Operating Mode RIP2 Router
 Wireless → Wireless Security Wep やら ルーターにあわせる
 Wireless → Basic Settings Regulatory Domain Japan
Wireless Mode Client Bridge
Wireless Network Name ルーターのSSID
 Setup → Basic Connection Type Disable
STP Disable
Local IP Address  foneraのIP(覚えておくこと)
SubnetMask サブネット(例:255.255.255.0)
Gateway ルーターのIPで良いはず
LocalDNS ルータで設定したDNS
DHCP Server Disable
設定変更したら項目ごとに「Save Settings」を押す


foneraのIP忘れちゃったら
PCの設定を
IP 169.254.255.5
サブネット 255.255.0.0
ゲートウェイ 169.254.255.1
DNS 169.254.255.1
にして

169.254.255.1
にアクセス

080122追記
Buffalo製ルータもやってみた

出来る機種は
wla-g54 wla-g54s wla2-g54l wbr-g54 wbr2-g54 wbr2-g54s wli-tx4-g54hp wzr-rs-g54

今回試したのは「\wbr-g54」です

メルコのやり方は
ルーター純正のアップデートでDD-WRTを流し込むだけなのですが
そのままでは無理なので、ヘッダを書き換えます.
手っ取り早くツールが出ているので使わせていただきます
「ddadder」を使います

出来たファイルを読ませれば完了です.


メニューへ