ザウルスで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が自動実行されるようにしてみたらパソコンからネットワークにつながらなくなる。
どうして?
Copyright (C) 2003-2006 A.SAKAKI All Rights Reserved.
パソコンでサーバーを構築して、自宅サーバにしよう。