]> www.wagner.pp.ru Git - oss/btcli.git/blob - bluenet/bluenet
Initial import
[oss/btcli.git] / bluenet / bluenet
1 #!/bin/sh
2 case "$1" in
3 on) 
4         # ðÏÉÓË ÔÏÞËÉ ÄÏÓÔÕÐÁ × /etc/bluetooth/NAP
5         while read address; do
6           echo "Trying access point $address"
7           if sdptool search --bdaddr $address NAP | grep -q "Service Name"; then
8                 pand -c $address -d NAP --devup /usr/local/sbin/btnet-client
9                 exit
10           fi
11           done </etc/bluetooth/NAP
12           echo "No active network access point found" 1>&2
13           exit 1
14 ;;
15 [0-9A-F][0-9A-F]:*)
16         role=${2:-"NAP"}
17         pand -c $1 -d $role --devup  /usr/local/sbin/btnet-client
18 ;;
19 off)
20         ifdown bnep0
21         pand -K
22 ;;
23 master)
24 # ×ÁÒÉÁÎÔ ÒÁÂÏÔÙ ÎÏÕÔÂÕËÁ ÓÅÒ×ÅÒÏÍ ad-hoc ÓÅÔÉ
25         role=${2:-"GN"}
26         PAN_BRIDGE=btgn0
27         # üËÓÐÏÒÔÉÒÕÅÍ ÉÍÑ briget ÄÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ btnet-server ÓËÒÉÐÔÏÍ
28         export PAN_BRIGE
29         # óÏÚÄÁÅÍ bridge ÎÁ ËÏÔÏÒÏÍ ÂÕÄÅÔ ×ÉÓÅÔØ dhcp ÓÅÒ×ÅÒ
30         brctl addbr $PAN_BRIDGE
31         ifconfig btgn0 10.0.0.1 netmask 255.255.255.0 broacast 10.0.0.255
32         # úÄÅÓØ ÎÁÄÏ ÂÙ ÐÒÏ×ÅÒÉÔØ ÚÁÐÕÝÅÎÎÏÓÔØ dnsmasq É ÅÇÏ ÓÌÅÇËÁ
33         # ÐÅÒÅËÏÎÆÉÇÕÒÉÒÏ×ÁÔØ. îÏ Õ ÍÅÎÑ ÏΠ×ÓÅ ÒÁ×ÎÏ ÚÁÐÕÝÅΠÉ
34         # ÓËÏÎÆÉÇÕÒÉÒÏ×ÁΠÔÁË, ÞÔÏ É ÔÁË ÒÁÂÏÔÁÅÔ.
35         # úÁ ÉÓËÌÀÞÅÎÉÅÍ ÔÏÇÏ ÞÔÏ ÏÔÄÁÅÔ default gateway É × ÒÅÖÉÍÅ NAP
36         # É × ÒÅÖÉÍÅ GN
37         
38         # åÓÌÉ ÍÙ ÒÁÂÏÔÁÅÍ NAP, ×ËÌÀÞÁÅÍ ÆÏÒ×ÁÒÄÉÎÇ
39         if [ "$role" = "NAP" ]; then
40                 echo 1> /proc/sys/net/ipv4/ip_forward
41         fi
42         # úÁÐÕÓËÁÅÍ pand × ÒÅÖÉÍÅ ÐÒÉÅÍÁ
43         pand --listen --role $role --devup /usr/local/sbin/btnet-server 
44         ;;
45 *)
46         echo "use $0 on|off|master [GN|NAP]|address [GN|NAP]" >&2
47         exit 1
48         ;;
49 esac
50