2011年9月22日木曜日

DD-WRTを入れたFonera+のGPIOをいじってみた。

Fonera+にDD-WRTを入れると本来使われていたはずのLEDが二つほど使われなくなることに気付いた。

FON2201のPowerとWirelessのLEDはどちらもオレンジと緑の二色に光るのだけれども、DD-WRTを入れてしまうとPowerはオレンジ、Wirelessは緑に固定されてしまう。

今回はそれがもったいないので使用してみることにした。

FONのLEDはGPIOで制御されているので(WANとLAN以外)DD-WRTに用意されているgpioこまんどでいじることができる

GPIO 1 Wirelessのオレンジ
GPIO 4 Powerの緑
GPIO 7 Powerのオレンジ

となっている。Wirelessの緑は標準で通信時に点滅するようになってるのでいじらないことにした。

DD-WRTを入れたFONにSSHなどで接続し
gpio enable 1
とやるとWirelessのオレンジが点灯し、
gpio disable 1
とやるとWirelessのオレンジが消灯する。

今回はこれを利用してスクリプトを組んでみた

#!/bin/sh
i=`nvram get wl0_ifname`

gpio enable 4
gpio disable 7

while sleep 1; do
  if [ -z `wl_atheros -i $i assoclist`]; then
  gpio enable 1
else
  gpio disable 1
fi

done

このスクリプトはFONの電源を入れてファームウェアが読み込まれて使用できる状態になったときにPowerがオレンジから緑に変化する。

そしてWirelessのLEDはクライアントの接続がないときはオレンジ色に、クライアントが接続しているときは緑色になるようになる。

これをDD-WRTの設定画面を開き、管理のコマンド実行のところに張り付けて
起動スクリプトとして保存ボタンを押せば登録される。
あとはFONを再起動するだけで実行されるはず。

どうしても必要という機能ではないけれどあると便利かも?


あと基本設定のところでHost名をdd-wrt.setupと設定しておくと設定画面を開くのにいちいちIPアドレスではなくてブラウザにdd-wrt.setupと入れるだけでアクセスできるようになる。
これはDNSMasqを有効にしててPC側のDNSがFONになってるときしか効かないかも。
つまりルーターとして使ってるときしか使えない方法かな。

というわけで少しFONを便利にするTipsでしたー




0 件のコメント:

コメントを投稿