PUD: nwif: fix indenting
[olsrd.git] / files / olsrd-adhoc-setup
1 #!/bin/sh
2
3 channel=7
4 essid=olsr.org
5
6 if [ -x /usr/bin/nmcli ]; then
7         echo -n "Turning off NetworkManager wifi control: "
8     /usr/bin/nmcli nm wifi off
9     echo "done"
10 fi
11
12 if [ "$1" = "" ]; then
13     wlan=`/sbin/iwconfig 2>&1 | grep 'IEEE 802.11' | head -1 | cut -d ' ' -f 1`
14 else
15     wlan=$1
16 fi
17
18 if [ "$wlan" = "" ]; then
19     echo "No wifi network interface found! Perhaps you need to modprobe?"
20     exit
21 fi
22
23
24 echo -n "Setting up ad-hoc networking: "
25
26 # ifconfig down before setting ad-hoc mode because some chips require that
27 /sbin/ifconfig $wlan down
28
29 # disassociate from current BSSID in case an ad-hoc BSSID already stuck there
30 /sbin/iwconfig $wlan ap 00:00:00:00:00:00
31
32 sleep 1
33
34 /sbin/iwconfig $wlan mode ad-hoc
35 /sbin/iwconfig $wlan channel $channel
36 /sbin/iwconfig $wlan essid $essid
37 /sbin/iwconfig $wlan key off
38 /sbin/iwconfig $wlan rate auto
39 /sbin/iwconfig $wlan txpower auto
40 # many devices don't support the follow options so hide the errors
41 /sbin/iwconfig $wlan modu auto  > /dev/null 2>&1
42 /sbin/iwconfig $wlan commit     > /dev/null 2>&1
43
44 /sbin/ifconfig $wlan up
45
46 # some cards what to be configured after the interface is up
47 sleep 4
48 mode=`iwgetid --mode --raw`
49 if [ "$mode" != "1" ]; then
50     /sbin/iwconfig $wlan mode ad-hoc
51     /sbin/iwconfig $wlan channel $channel
52     /sbin/iwconfig $wlan essid $essid
53     /sbin/iwconfig $wlan commit     > /dev/null 2>&1
54 fi
55
56 # Wait for things to settle before trying the next step
57 sleep 2
58 echo "done"
59
60 echo -n "Setting up IP address: "
61 # get MAC to generate hopefully unique IP address with, by using the last two
62 # hex pairs as the last two hex pairs for the IP address, converting the hex
63 # to decimal first.
64 MAC=`/sbin/ifconfig | grep wlan0 | sed 's|.*HWaddr ||'`
65 MAC5=`echo $MAC | cut -d : -f 5`
66 MAC6=`echo $MAC | cut -d : -f 6`
67 ip3=`printf %d 0x$MAC5`
68 ip4=`printf %d 0x$MAC6`
69 net=172.29
70 ip=$net.$ip3.$ip4
71
72 /sbin/ifconfig $wlan inet $ip broadcast $net.255.255
73 echo "done"
74
75 echo "OLSR ad-hoc setup on $wlan using $essid on channel $channel with IP $ip"
76 echo "    ad-hoc Cell BSSID: `iwgetid --ap --raw`"