summaryrefslogtreecommitdiff
path: root/multitech/recipes/ocg-scripts/ocg-scripts-1.0
diff options
context:
space:
mode:
Diffstat (limited to 'multitech/recipes/ocg-scripts/ocg-scripts-1.0')
-rw-r--r--multitech/recipes/ocg-scripts/ocg-scripts-1.0/ocg-wifi-ap.sh58
-rw-r--r--multitech/recipes/ocg-scripts/ocg-scripts-1.0/ocg-wifi-client.sh43
-rw-r--r--multitech/recipes/ocg-scripts/ocg-scripts-1.0/ocg-wifi-dhcpd.sh38
3 files changed, 139 insertions, 0 deletions
diff --git a/multitech/recipes/ocg-scripts/ocg-scripts-1.0/ocg-wifi-ap.sh b/multitech/recipes/ocg-scripts/ocg-scripts-1.0/ocg-wifi-ap.sh
new file mode 100644
index 0000000..5c684cb
--- /dev/null
+++ b/multitech/recipes/ocg-scripts/ocg-scripts-1.0/ocg-wifi-ap.sh
@@ -0,0 +1,58 @@
+#!/bin/bash
+
+do_start() {
+ echo "starting hostap daemon"
+ /etc/init.d/hostapd start
+ echo "setting IP address of access point"
+ ifconfig wlan0 $1
+ ocg-wifi-dhcpd.sh start
+}
+
+do_stop() {
+ echo "stopping hostap daemon"
+ /etc/init.d/hostapd stop
+ ocg-wifi-dhcpd.sh stop
+}
+
+# main
+if [[ $# -lt 1 ]]
+then
+ echo "usage: $0 start|stop|restart [access point IP address]"
+ exit 1
+elif [[ $# -eq 2 ]]
+then
+ ret=1
+ if [[ $2 =~ ^([0-9]{1,3}\.){3,3}[0-9]{1,3}$ ]]
+ then
+ OIFS=$IFS
+ IFS='.'
+ ip=($2)
+ IFS=$OFIS
+ [[ ${ip[0]} -le 255 && ${ip[1]} -le 255 && ${ip[2]} -le 255 && ${ip[3]} -le 255 ]]
+ ret=$?
+ fi
+ if [[ ret -ne 0 ]]
+ then
+ echo "invalid IP address"
+ exit 1
+ fi
+ ip=$2
+else
+ ip="192.168.2.1"
+fi
+
+case $1 in
+ start)
+ do_start $ip
+ ;;
+ stop)
+ do_stop
+ ;;
+ restart)
+ do_stop
+ sleep 1
+ do_start $ip
+ ;;
+esac
+
+exit 0
diff --git a/multitech/recipes/ocg-scripts/ocg-scripts-1.0/ocg-wifi-client.sh b/multitech/recipes/ocg-scripts/ocg-scripts-1.0/ocg-wifi-client.sh
new file mode 100644
index 0000000..6987506
--- /dev/null
+++ b/multitech/recipes/ocg-scripts/ocg-scripts-1.0/ocg-wifi-client.sh
@@ -0,0 +1,43 @@
+#!/bin/bash
+
+do_start() {
+ echo "joining wireless network"
+ wpa_supplicant -B -D nl80211 -i wlan0 -c /etc/wpa_supplicant.conf
+ sleep 5
+ echo "starting dhcp client"
+ udhcpc -i wlan0
+}
+
+do_stop() {
+ echo "stopping wpa_supplicant"
+ killall wpa_supplicant
+ echo "stopping dhcp client"
+ killall udhcpc
+}
+
+# main
+if [[ $# -ne 1 ]]
+then
+ echo "usage: $0 start|stop|restart"
+ exit 1
+fi
+
+case $1 in
+ start)
+ if [[ ! -f "/etc/wpa_supplicant.conf" ]]
+ then
+ echo "/etc/wpa_supplicant.conf does not exist"
+ exit 1
+ fi
+ do_start
+ ;;
+ stop)
+ do_stop
+ ;;
+ restart)
+ do_stop
+ do_start
+ ;;
+esac
+
+exit 0
diff --git a/multitech/recipes/ocg-scripts/ocg-scripts-1.0/ocg-wifi-dhcpd.sh b/multitech/recipes/ocg-scripts/ocg-scripts-1.0/ocg-wifi-dhcpd.sh
new file mode 100644
index 0000000..575b803
--- /dev/null
+++ b/multitech/recipes/ocg-scripts/ocg-scripts-1.0/ocg-wifi-dhcpd.sh
@@ -0,0 +1,38 @@
+#!/bin/bash
+
+do_start() {
+ echo "starting dhcp daemon"
+ udhcpd -S /etc/udhcpd.conf
+}
+
+do_stop() {
+ echo "stopping dhcp daemon"
+ killall udhcpd
+}
+
+# main
+if [[ $# -ne 1 ]]
+then
+ echo "usage: $0 start|stop|restart"
+ exit 1
+fi
+
+case $1 in
+ start)
+ if [[ ! -f "/etc/udhcpd.conf" ]]
+ then
+ echo "/etc/udhcpd.conf does not exist"
+ exit 1
+ fi
+ do_start
+ ;;
+ stop)
+ do_stop
+ ;;
+ restart)
+ do_stop
+ do_start
+ ;;
+esac
+
+exit 0