ザウルスでBluetoothのPANを自動起動させる
なかなかうまくいきません。
とりあえず、ネットワーク関係の自動設定はできるようになったので、その設定を載せておく。
/etc/hotplug/usb.agent
USBをつなぐとこれが自動的に起動する。
ここでpandの実行を行えばいいと思うのだが、そのようにしても正常に動作しない。
パソコンとザウルスが正常に接続してくれない。
case $ACTION in
add)
の
;;
の前に次を埋め込んでみるが、pandは起動するが、正常にパソコンとつながってくれない。
if [ -x /sbin/devlabel ]; then
/sbin/devlabel restart
fi
+ # /etc/hotplug/pand_start &
+
+ # echo " tuka 1 " >> /tmp/aaa
+ # echo " PRODUCT=$PRODUCT" >> /tmp/aaa
+ # echo " TYPE=$TYPE" >> /tmp/aaa
+ # add 2007/10/8
+ # if [ "$PRODUCT" = "a5c/200a/109" -a "$TYPE" = "usb" ]; then
+ # sleep 10
+ # pand -s -r NAP -P $pand_pid
+ # sleep 10
+ # sdptool add NAP
+ # fi
+ # end of add
+
;;
試行錯誤した残骸があるが、そのままにしておく。
次に、
remove)
の方にUSBを引っこ抜いたときに実行するスクリプトを追加する。
remove)
+ # add 2007/10/8
+ # echo " remove " >> /tmp/aaa
+ # echo " PRODUCT=$PRODUCT" >> /tmp/aaa
+ # echo " TYPE=$TYPE" >> /tmp/aaa
+ if [ "$PRODUCT" = "a5c/200a/109" -a "$TYPE" = "224/1/1" ]; th
+ pand --killall
+ PID=`cat $pand_pid`
+ kill $PID
+ fi
+ # end of add
if [ -x $REMOVER ]; then
$REMOVER
fi
こちらは正常に動作して、起動しているpandをkillしてくれる。
/etc/hotplug/net.agent
ネットワークの設定をする。
case $ACTION in
の前後に次のスクリプトを追加する。
+ #add 2007/10/8
+ dhcpd_bnep0_conf=/etc/hotplug/dhcpd.conf.192.168.129
+ dhcpd_bnep0_leases=/var/state/dhcp/dhcpd-bnep0.leases
+ dhcpd_bnep0_pid="/var/run/dhcpd-bnep0.pid"
+ #end of add
case $ACTION in
register)
# Don't do anything if the network is stopped
#if [ ! -f /var/lock/subsys/network ]; then
# rm -f ${NAL}
# exit 0
#fi
case $INTERFACE in
+ # add 2007/10/8
+ bnep0)
+ ifconfig bnep0 192.168.129.201
+ if [ ! -f $dhcpd_bnep0_leases ]; then
+ touch $dhcpd_bnep0_leases
+ fi
+ /usr/sbin/dhcpd -cf $dhcpd_bnep0_conf -lf $dhcpd_bnep
+ ;;
+ # end of add
# interfaces that are registered after being "up" (?)
ppp*|ippp*|isdn*|plip*|lo*|irda*|tunl*)
BluetoothのPANのネットワーク名はbnep0なので、ifconfigして、dhcpdを動かしている。
ネットワーク接続が切れたときの処理も追加する。
;;
unregister)
case $INTERFACE in
+ # add 2007/10/8
+ bnep0)
+ pand --killall
+ PID=`cat $dhcpd_bnep0_pid`
+ kill $PID
+ rm -f $dhcpd_bnep0_leases $dhcpd_bnep0_pid
+ ;;
+ # end of add
usbd0)
if [ "$DEBUG" != "" ]; then
mesg ifconfig $INTERFACE down
/etc/hotplug/dhcpd.conf.192.168.129
dhcpdのconfigファイルはこんなかんじ。
#
# dhcpd.conf
#
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;
option domain-name-servers 61.195.64.65,61.195.64.66; #
range 192.168.129.1 192.168.129.1;
option netbios-name-servers 192.168.129.201;
option netbios-node-type 8;
}
ザウルスのusbネットワークと同じIPアドレスとしている。
netbiosの行は必要ないかも。
使い方はどうなの
こういう設定にすると、どうやって使うかというと、
とりあえずリブートでもしておくか。
そして、おもむろにUSB Bluetoothをザウルスのおしりにつなげる。
次に、コンソールを起動して、rootになって、コンソールから、
# su -m
# pand -s -r NAP -P /var/run/pand_usb.pid
# sdptool add NAP
とする。
最後に、パソコンのBluetoothアプリケーションからザウルスを検索して、ザウルスにネットワーク接続する。
ザウルスでdhcpdサーバーが起動しているので、パソコンのネットワーク設定はデフォルトでよい。
正常に接続できればおめでとう。
私のところでこれで正常に接続できた。
なお、usb.agentのaddのところのコメント"#“をはずしてpandが自動実行されるようにしてみたらパソコンからネットワークにつながらなくなる。
どうして?