summaryrefslogtreecommitdiff
path: root/multitech/recipes/ocg-scripts
diff options
context:
space:
mode:
authorMike Fiore <mfiore@multitech.com>2013-04-09 13:44:34 -0500
committerMike Fiore <mfiore@multitech.com>2013-04-09 13:44:34 -0500
commit469dffb495e7c8823975e28117ebaa18a9f294b6 (patch)
treee7bd14d88db360ffedd720570397199fea9f57ee /multitech/recipes/ocg-scripts
parentef442b7ed69223b7910ee3eb5f5a0f0f1aa94e87 (diff)
ocg-scripts: init (wifi-ap, wifi-client, dhcpd)
Diffstat (limited to 'multitech/recipes/ocg-scripts')
-rw-r--r--multitech/recipes/ocg-scripts/ocg-scripts-1.0.inc11
-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
-rw-r--r--multitech/recipes/ocg-scripts/ocg-scripts_1.0.bb11
5 files changed, 161 insertions, 0 deletions
diff --git a/multitech/recipes/ocg-scripts/ocg-scripts-1.0.inc b/multitech/recipes/ocg-scripts/ocg-scripts-1.0.inc
new file mode 100644
index 0000000..46d1cfa
--- /dev/null
+++ b/multitech/recipes/ocg-scripts/ocg-scripts-1.0.inc
@@ -0,0 +1,11 @@
+HOMEPAGE = "www.multitech.net"
+SECTION = "kernel/userland"
+PRIORITY = "optional"
+LICENSE = "GPL"
+
+do_install() {
+ install -d ${D}${sbindir} ${D}${sbindir}
+ install -m 755 ${WORKDIR}/ocg-wifi-client.sh ${D}${sbindir}
+ install -m 755 ${WORKDIR}/ocg-wifi-ap.sh ${D}${sbindir}
+ install -m 755 ${WORKDIR}/ocg-wifi-dhcpd.sh ${D}${sbindir}
+}
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
diff --git a/multitech/recipes/ocg-scripts/ocg-scripts_1.0.bb b/multitech/recipes/ocg-scripts/ocg-scripts_1.0.bb
new file mode 100644
index 0000000..bbe9f10
--- /dev/null
+++ b/multitech/recipes/ocg-scripts/ocg-scripts_1.0.bb
@@ -0,0 +1,11 @@
+DESCRIPTION = "Scripts to easily get started with common OCG use cases"
+
+require ocg-scripts-1.0.inc
+
+PR = "r1"
+
+SRC_URI = "file://ocg-wifi-client.sh \
+ file://ocg-wifi-ap.sh \
+ file://ocg-wifi-dhcpd.sh"
+
+S = "${WORKDIR}/ocg-scripts-${PV}"