2009年06月07日
モバイルルータ化
LinuxZaurus/Customize
IIJmioの3980円/月にてD01NXIIを契約しました。
これでbitwarpとはおさらばです。
といいながら実はwillcomのスペシャルモデルも契約しちゃったのですが
まぁwillcomの方が接続可能エリアが広いのでバックアップ回線として置いておきます。
んでせっかく高速回線が手に入ったので他の機器でも恩恵が受けられないかなと
SL-C3200をモバイルルータ化をしてみました。
以下簡単な手順です。
(1) 内蔵HDDが無くても動くようにします。
/dev/hdd3辺りを参照しているものをすべて変更します。
(2) SL-C3200を2スロット化します
私はホットナイフで切りました。
(3) CFのslot0側に無線LANカードを挿入します
(4) CFのslot1側にD01NXIIを挿入します
(5) 「ネットワーク設定」にてアドホック接続の無線LAN設定を作成します
(6) 「ネットワーク設定」にてD01NXIIの設定を作成します
(7) んでモバイルルータ化するためには両方を有効にしないといけないのですが、
GUIでは両方を有効にすることができないので無線LAN側だけGUIで有効にする。
netctrlコマンドや、qpopコマンドを使ってターミナルにて有効にすることも可能です。
(8) 以下コマンドにてD01NX側も有効にします。
USB??????????は/etc/ppp/peersを参考に。
パスワードはpppのログインパスワードに置き換えます。
pppd ttyJACM0 debug call USB1241967994 password パスワード &
(9) iptablesにてppp0にルーティングするように設定する
まぁこの辺りの設定方法は探せば見つかるでしょう。
以下は(1)〜(9)までをパッチ化したものです。
ntpdateや、routeの設定などが含まれているので各自環境に合わせてください
#!/bin/bash
endppp()
{
sudo killall ping > /dev/null 2>&1
sudo killall router_ppp_on.sh > /dev/null 2>&1
sudo killall -9 .pppd > /dev/null 2>&1
sudo killall ${BW_DIALCMD} > /dev/null 2>&1
qcop QPE/Network 'stop()'
cardctl insert ${CARD_NO}
cardctl suspend ${CARD_NO} > /dev/null 2>&1
exit 0
}
trap 'endppp' HUP
trap 'endppp' INT
trap 'endppp' KILL
trap 'endppp' TERM
trap 'endppp' 0
# set parameter
BW_CARDNAME="D01NX"
BW_DIALNAME="USB??????????" # PPP dial name
BW_DIALCMD="pppd" # dialup command name
PING_HOST="www.iijmio.com" # ping target host
CARD_NO="0"
cardctl ident 0 | grep ${BW_CARDNAME} > /dev/null
if (( $? != 0 ))
then
CARD_NO="1"
cardctl ident 1 | grep ${BW_CARDNAME} > /dev/null
if (( $? != 0 ))
then
echo "Please insert modem card! (other card exist)"
exit 1
fi
fi
# check dialup status
ps aux | grep ${BW_DIALCMD} | grep -v grep > /dev/null
if (( $? == 0 ))
then
echo "pppd already started."
exit 0
fi
# enable WLAN
qcop QPE/Network 'stop()'
sleep 3
qcop QPE/Network 'start(QString,QString)' /home/zaurus/Applications/Network/modules/WLAN.conf
# reset bitWarp card
cardctl eject ${CARD_NO}
sleep 5
cardctl insert ${CARD_NO}
sleep 20
cardctl resume ${CARD_NO}
# start ping
ping -i 15 ${PING_HOST} > /dev/null 2>&1 &
# start and keep connection
while (true)
do
# if dialup not executed, start dialup
ps aux | grep ${BW_DIALCMD} | grep -v grep > /dev/null
if (( $? != 0 ))
then
sudo ${BW_DIALCMD} ttyJACM0 debug call ${BW_DIALNAME} password (パスワード) &
fi
# sleep 10 seconds
sleep 10
sudo route del -net default dev usbd0
sudo route del -net default dev eth0
route | grep ppp0 | grep default > /dev/null
if (( $? != 0 ))
then
sudo route add -net default dev ppp0
fi
sudo /usr/local/sbin/iptables -L | grep ppp-in > /dev/null
if (( $? != 0 ))
then
sudo iptables-ap-on.sh
sudo ntpdate ntp.nict.jp
fi
done
同様なことをすればwillcom(bitwarp)でもモバイルルータ化出来ます。
実際AX420Nで使えてますし。
ただUSB???がDIALUP???になります。
実はIIJmioと契約するときにクティオも買っていたのですが、
結構消費電力が高いため、1時間半保ちません。
それに対してザウルスだと2時間保つし、有線LANルータにもなるので
最近ではザウルスだけを持ち運んでいます。
p.s.
ちなみにSL-C3200のバッテリーとクティオのバッテリーはほとんど同じです。
ただ左右対称なだけです・・・使えないやん(汗)
投稿者 tattsuu : 2009年06月07日 23:33
トラックバック
このエントリーのトラックバックURL:
http://tattsuu.com/mt/mt-tb.cgi/60