olsrd-adhoc-setup: accept interface, channel, SSID, and BSSID as args; default to...
authorHans-Christoph Steiner <hans@eds.org>
Tue, 26 Jun 2012 02:23:33 +0000 (22:23 -0400)
committerHans-Christoph Steiner <hans@eds.org>
Tue, 26 Jun 2012 02:23:33 +0000 (22:23 -0400)
files/olsrd-adhoc-setup

index dda1d42..7d93ede 100755 (executable)
@@ -1,15 +1,6 @@
 #!/bin/sh
 
-channel=7
-essid=olsr.org
-
-if [ -x /usr/bin/nmcli ]; then
-       echo -n "Turning off NetworkManager wifi control: "
-    /usr/bin/nmcli nm wifi off
-    echo "done"
-fi
-
-if [ "$1" = "" ]; then
+if [ -z "$1" ]; then
     wlan=`/sbin/iwconfig 2>&1 | grep 'IEEE 802.11' | head -1 | cut -d ' ' -f 1`
 else
     wlan=$1
@@ -20,6 +11,32 @@ if [ "$wlan" = "" ]; then
     exit
 fi
 
+if [ -z "$2" ]; then
+    channel=5
+else
+    channel=$2
+fi
+
+if [ -z "$3" ]; then
+    essid=commotionwireless.net
+else
+    essid="$3"
+fi
+
+if [ -z "$4" ]; then
+    bssid=00:00:00:00:00:00
+else
+    bssid="$4"
+fi
+
+echo "Setting mesh on '$wlan' to channel $channel:"
+echo "    attaching to '$essid' with BSSID '$bssid'"
+
+if [ -x /usr/bin/nmcli ]; then
+       echo -n "Turning off NetworkManager wifi control: "
+    /usr/bin/nmcli nm wifi off
+    echo "done"
+fi
 
 echo -n "Setting up ad-hoc networking: "
 
@@ -27,7 +44,7 @@ echo -n "Setting up ad-hoc networking: "
 /sbin/ifconfig $wlan down
 
 # disassociate from current BSSID in case an ad-hoc BSSID already stuck there
-/sbin/iwconfig $wlan ap 00:00:00:00:00:00
+/sbin/iwconfig $wlan ap $bssid
 
 sleep 1
 
@@ -43,8 +60,8 @@ sleep 1
 
 /sbin/ifconfig $wlan up
 
-# some cards what to be configured after the interface is up
-sleep 4
+# some cards want to be configured after the interface is up
+sleep 5
 mode=`iwgetid --mode --raw`
 if [ "$mode" != "1" ]; then
     /sbin/iwconfig $wlan mode ad-hoc