Zaurus用Airkeeperモドキ改良版2009年11月04日 00時00分00秒

今日はザウルスネタ。ザウルスにPHS通信カードを挿して使っている人は今でも多いと思う。それでそのPHSデータ通信なのだが、データが流れていないとデータカード内部でスリープ状態にされてその復帰・再接続に時間がかかり速度が出ないらしい(表面的にはずっと接続を続けているようにみえる)。それで、何秒かに1回Pingを打ってスリープさせないフリーソフトがある。AirKeeperモドキである。

たしかにこのAirkeeperモドキをインストールすると、ブラウザでアクセスする際のタイムラグのようなものがなくなり、キビキビとアクセスするようになる。リンクをクリックしてから接続しに行く時間が短くなるし、同じページの中に違うサーバーから読み込んでいるような場合、次々と接続していくようになる。画像の転送速度だけを測るような回線速度測定サイトでは数値は変わらないが、通常の使い方でクリックしてからページ全体が表示されるまでの速さが短くなる。ブラウザだけでなくほかの通信するソフトでも速い。

しかし、一つ気になる点があった。ダイヤルアップでPPP接続するとAirkeeperモドキが自動的に起動するのはいいのだが、切断してもAirkeeperモドキがずっとプロセスに残っているのである。これが気になるのでずっとAirkeeperモドキは使ってなかった。切断、接続を繰り返してもAirkeeperモドキが二重三重に起動するわけではないので気にしなければよいのだが…。

検索すると、同じようなひとがおられるようで、NetHelperAppletでAirkeeperモドキを起動・停止すればいいという情報があった。
http://wiki.livedoor.jp/kirifue/d/NetHelperApplet

しかし、この設定では接続時にAirkeeperモドキが2個起動して、切断時にはそのうちの1つが停止するだけであった。Airkeeperモドキインストール時に起動するようにどこかで呼び出されている方のプロセスがそのままのようで、これだと意味がない(AirkeeperモドキをインストールしてもPPP接続時にAirkeeperが自動で起動しない人はNetHelperAppletで制御するのがいい)。少し調べたが、Airkeeperモドキがどこで呼び出されているのか私には分からなかった。

さらに検索すると、やはり同じような人がおられるようで、
http://www.geocities.co.jp/SiliconValley-Bay/1180/part114.htmlのレス番号429で改良が提案されていた。レス番号504と509で改良版が完成していた。このレスはAirkeeperモドキのリリースよりも前のようなのだが、Airkeeperモドキにはこの改良は反映されていないようだった。

429 :いつでもどこでも名無しさん :03/01/24 23:02 ID:??? 
AirKeeperモドキ改良希望です。
PPP切断するなどでネットワークがunreachableになったときに
無限ループから抜けたいのですが、どうしたらいいでしょう。
pingがエラーを出してくるのでうざいです。

■airkeeper.sh

#!/bin/sh
while true
do
ping -q -c 1 192.168.0.1 >/dev/null
sleep 1s
done
exit 0
504 :いつでもどこでも名無しさん :03/01/25 16:57 ID:??? 
>>429
pingの戻り値を判定するようにしてみました

-------------------------------------------------
#!/bin/sh

host=192.168.0.1

end(){
echo "AirKeeper terminated"
exit 0
}
trap end 1 2 3 15

while :
do
ping -c 1 $host >/dev/null 2>&1
rc=$?
if [ $rc -ne 0 ]; then
echo "AirKeepr abnormal end (rc=$rc)"
exit &rc
fi
sleep 1
done
-------------------------------------------------
505 :429 :03/01/25 17:25 ID:??? 
>>504
試してみました。完璧です。PPP落とした瞬間に動作止まります。
厨房スクリプトを改造してくれてありがとう。
506 :429 :03/01/25 17:49 ID:??? 
>>504
イイと思ったのですが、この判定方法だと、ちょっと電波状態が
悪いだけでTerminateしてしまいます。
PPPを切断した状態だと、pingからは、以下のようなエラーが返
ってきます。

> Network is unreachable

これを判定してループから抜けるようにできないでしょうか。
509 :いつでもどこでも名無しさん :03/01/25 19:55 ID:??? 
>>506
すみません,考えが甘かったですね.
-------------------------------------------------
#!/bin/sh

host=192.168.0.1
errmes="Network is unreachable\nHost name lookup failure"

end(){
exit 0
}
trap end 1 2 3 15

while :
do
ping -c 1 $host 2>&1 | grep -F "$(echo -e $errmes)" >/dev/null
if [ $? -eq 0 ]; then
exit 1
fi
sleep 1
done
-------------------------------------------------

それでこのレス番号509の内容を戴くことにした。ただ、この509の内容は接続先とPingの間隔を外部で指定していないので、その部分はAirkeeperモドキの方が~/Settings/airkeeper.conf の設定ファイルで設定するようになっていていい。両方のいいとこどりすることにした。

#!/bin/sh

# Airkeeper modoki 改良版

# Thanks to:【VGA】Linuxザウルス SL-C700 スレッド part 14
# 509 03/01/25

# http://haniwa.asablo.jp/blog/
# http://haniwa.asablo.jp/blog/2009/11/04/4675366

setting=/home/root/Settings/airkeeper.conf
host=`grep ^Host $setting | sed 's/ //g' | sed 's/Host=//'`
wait=`grep ^Wait $setting | sed 's/ //g' | sed 's/Wait=//'`
errmes="Network is unreachable\nHost name lookup failure"

end(){
exit 0
}
trap end 1 2 3 15

while :
do
ping -c 1 $host 2>&1 | grep -F "$(echo -e $errmes)" >/dev/null
if [ $? -eq 0 ]; then
exit 1
fi
sleep $wait
done

使い方は、まずは、通常のAirkeeperモドキをダウンロードしてインストールする。

TreeExplorer QTなどで、/home/QtPalmtop/binのairkeeperをAirkeeperoldなどにリネーム(名前を変更)する。

次に、ZEditorなどのテキストエディタで上記の「Airkeeper modoki 改良版」の内容をコピーして、/home/QtPalmtop/binにairkeeperと名前を付けて作成する。

TreeExplorerQTなどで、今新規に作成した/home/QtPalmtop/bin/airkeeperの実行属性をつける。TreeExplorer QTのファイル→プロパティで「権限」の「実行」以下の所有者・所有グループ・その他にチェックを入れる。

設定ファイルは、home/zaurus/Settings/airkeeper.conf だ。デフォルトでは、

Host = www.willcom-inc.com
Wait = 10

になっているが、私はKWINSなので、Host = kwins01.kwins.gnet.ne.jpにしている。Ping間隔は10のままでいいと思う。これもZEditorなどのテキストエディタで編集して保存する。

これでPPP接続するとAirkeeperが起動して、スリープや切断時にはAirkeeperが停止する。WhatsUpOnZなどで起動・停止を確認して欲しい。

「Airkeeperモドキ改良版」は無保証です。自己責任でお願いします。SL-C3200、スペシャルカーネルv18jでしか確認していません。

最後になりましたが、「【VGA】Linuxザウルス SL-C700 スレッド part 12」スレの方、A Way Out様、「【VGA】Linuxザウルス SL-C700 スレッド part 14」スレの方に感謝します。

コメント

_ JP ― 2009年11月06日 00時27分07秒

WillcomのMVNOですね?
Willcomいいですよね。頑張ってほしいです。

_ Haniwa ― 2009年11月07日 09時05分14秒

JP様
そうです。KWINS for PDA(4x)はWILLCOMのMVNOです。ほかにauやdocomoの回線借りたものもあるようです。

本当にウィルコムには頑張ってもらいたいですねぇ。イーモバイルのエリアにはまだまだ大きな穴があいているので、あんまり高速でなくていいから人の住んでそうなところでは必ず繋がってかつ低額なサービスは残って欲しいです。

_ k-mo-ni ― 2009年11月08日 18時27分57秒

はじめまして。私はbitwarp-pdaなのですが、そこはどのように書けば良いかご存知でしたらご教示いただければ幸いです。宜しくお願い致します。

_ Haniwa@m(_ _)m ― 2009年11月09日 17時02分52秒

■ ぶれげ様
■ ノーネームしたん様
■ ノラ猫様
コメントの返事はお待ちください。すみません。m(_ _)m

■ k-mo-ni様
はじめまして。コメントありがとうございます。
pingの先ですのでどこでもいいのですが、なるべく近くで内輪の方がいいということになります。bitwarp-pdaはso-netのサービスですので、
www.so-net.ne.jp
でいいと思います。

_ k-mo-ni ― 2010年01月11日 18時35分11秒

お礼が遅くなり、すみませんでした。おかげさまで少し速くなったような気がします。ありがとうございました。

_ Haniwa ― 2010年01月11日 22時46分13秒

k-mo-ni様
お役に立てて何よりです。

ところで、このAirkeeper改ですが、電池の持ちはいかがでしょうか。寒くなってきたせいや電池がへたってきたせいもあるのでしょうが、このAirkeeperを走らせていると目に見えてザウルスの電池が減っていきます。無線LANに比べてPHSが電池長持ちなのはこのスリープ状態のお蔭なのかもしれません。

それでここのところはAirkeeperを外してみています。接続時にAirkeeperを走らせるよりは、電車などの高速移動時にだけAirkeeperを手動で起動させた方がいいのかもしれないと思い始めています。

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※投稿には管理者が設定した質問に答える必要があります。

名前:
メールアドレス:
URL:
次の質問に答えてください:
私がよく言う「ニコンはレンズの○○環を無くすな」の○○とは?
aperture(stop)の日本語

コメント:

トラックバック

Google
WWW を検索 haniwa.asablo.jp を検索
asahi-net.or.jp/~sp5j-hys/ を検索
※ブラウザで「保護されていない接続」「安全ではありません」などの表示が出る場合はSSL対応のhttps://haniwa.asablo.jp/blog/の方にアクセスしてください。お気に入り・ブックマークもSSL対応の方に変更をお願いします。(2021/02/23)