ザウルスのネットワーク関係の設定

pandの自動実行

pandの実行は/etc/rc.d/init.d/bluetoothで行うことにした。

これで様子を見てみる。

start()
{
        echo -n $"Starting $prog... "
      :
        touch /var/lock/subsys/bluetooth
+        echo "Run Pand"
+        /usr/bin/pand -s -r NAP -E -S -P /var/run/pand_usb.pid
        echo "Done."
}

stop()
{
        echo -n $"Shutting down $prog... "
+        killall pand
        /usr/bin/rfcomm release all
      :
}

KWINSでip-downが実行されないわけ

ip-upでairkeeperを実行して、ip-downでairkeeperを終了させるようにしている。

しかし、KWINSでネットに接続して、切断すると、airkeeperは実行されたままになってしまう。

これは、ip-upやip-downがQt_tunnel_ttyで実行されるため、ip-upで-STOPしていると、KWINSの切断時に、ip-downが実行できないためである。

そこで、方針をpppの接続時にQt_tunnel_ttyを-STOPするのではなく、別のネットワーク機器を接続するときに、そちらの実行スクリプトでQt_tunnel_ttyを-STOPさせるようにする。

なお、USB-Bluetoothを使ってネットワークを構成する場合は、KWINSは今のところ勝手に切断されないので、私はほったらかしにしている。

/etc/ppp/ip-up

#!/bin/sh
#
# The pppd executes this script every time a PPP connection comes
# up and passes the following args to it:
#
#       $1      device
#       $2      tty
#       $3      speed
#       $4      local IP addr
#       $5      remote IP addr
#
# You can then execute special commands (like adding routes)
# depending on the arguments passed by the pppd.
#
#if [ -n "$USEPEERDNS" -a -f /etc/ppp/resolv.conf ]; then
if [ -f /etc/ppp/resolv.conf ]; then
        rm -f /etc/ppp/resolv.prev
        if [ -f /etc/resolv.conf ]; then
                cp /etc/resolv.conf /etc/ppp/resolv.prev
                grep domain /etc/ppp/resolv.prev > /etc/resolv.conf
                grep search /etc/ppp/resolv.prev >> /etc/resolv.conf
                cat /etc/ppp/resolv.conf >> /etc/resolv.conf
        else
                cp /etc/ppp/resolv.conf /etc
        fi
fi

## 時間合わせ
/usr/bin/ntpdate ntp1.jst.mfeed.ad.jp

## firewall
/etc/rc.d/rc.firewall

## KWINSの自動切断を無効にする
###/usr/bin/killall -STOP Qt_tunnel_tty
# これは、別のネットワークを接続するときに行うようにする
# そうしないと、KWINSのとき、ip-downが実行されなくなる。
# 順序としては、KWINSの起動、
# 次に、        USB-LAN or CF-LAN
#                 これの起動スクリプトで、-STOPを行う。
# 終了は、USB-LAN or CF-LAN
#                 これの終了スクリプトで、-CONTを行う。
# 次に、  KWINSの切断だ。

### begin airkeeper ###
/opt/QtPalmtop/bin/airkeeper start
### end airkeeper ###

## 時間合わせ (2)
/usr/bin/ntpdate time-nw.nist.gov

## /etc/hotplug/dhcpd.conf
ident=` /sbin/cardctl ident | \
        /bin/grep product | \
        /bin/sed -n -e '1p' | \
        /bin/awk -F, '{ a=$2; gsub(/[ "]/,"",a); print a; }'`
dhcpdconf=/etc/hotplug/dhcpd.conf
if [ "$ident" = "KW-H128C2" ]; then
    rm -f $dhcpdconf
    sed -e "s/#kwins#//" $dhcpdconf.192.168.129 > $dhcpdconf
else
if [ "$ident" = "W05K" ]; then
    rm -f $dhcpdconf
    sed -e "s/#iijmio#//" $dhcpdconf.192.168.129 > $dhcpdconf
else
    rm -f $dhcpdconf
    ln -s $dhcpdconf.192.168.129 $dhcpdconf
fi
fi

/etc/ppp/ip-down

#!/bin/sh
#
# The pppd executes this script every time a PPP connection goes down
# and passes the following args to it:
#
#       $1      device
#       $2      tty
#       $3      speed
#       $4      local IP addr
#       $5      remote IP addr
#
# You can then execute special commands (like removing routes)
# depending on the arguments passed by the pppd.
#

## dhcpd.conf
dhcpdconf=/etc/hotplug/dhcpd.conf
rm -f $dhcpdconf
ln -s $dhcpdconf.192.168.129 $dhcpdconf

### begin airkeeper ###
/opt/QtPalmtop/bin/airkeeper stop
### end airkeeper ###

#/usr/bin/killall -CONT Qt_tunnel_tty

# firewall.down
/etc/rc.d/rc.firewall.down

#if [ -n "$USEPEERDNS" -a -f /etc/ppp/resolv.conf ]; then
if [ -f /etc/ppp/resolv.conf ]; then
        if [ -f /etc/ppp/resolv.prev ]; then
                cp -f /etc/ppp/resolv.prev /etc/resolv.conf
        else
                rm -f /etc/resolv.conf
        fi
fi

/etc/hotplug/dhcpd.conf.192.168.129

#
# dhcpd.conf.save
#
default-lease-time 7200;
max-lease-time 7200;

#server-identifier slc3100.zaurus.net;
server-name "slc3100";

#option domain-name "zaurus.net";
option subnet-mask 255.255.255.0;

subnet 192.168.129.0 netmask 255.255.255.0 {
        option broadcast-address 192.168.129.255;
        option routers 192.168.129.201;
#iijmio#        option domain-name-servers 210.130.1.1,210.130.0.1;     # IIJmio
#kwins# option domain-name-servers 61.195.64.65,61.195.64.66;   # KWINS

        range 192.168.129.1 192.168.129.1;

#       option netbios-name-servers 192.168.129.201;
#       option netbios-node-type 8;
}