From 2421071da6963484a1fcf4429a9c82c5828c174e Mon Sep 17 00:00:00 2001 From: Philippe Caseiro Date: Tue, 18 Sep 2018 15:53:45 +0200 Subject: [PATCH] Adding bash script to connect a wlan interface to a wifi network usage : ./setupKit.sh wlan1 reach my_secret_wpa_key first parameter is the wifi interface second is the SSID prefix, I use reach for "reachxx:xx" last is the WPA KEY to connect to network --- scripts/experiment/setupKit.sh | 73 ++++++++++++++++++++++++++++++++++ scripts/experiment/uciCli.sh | 2 +- 2 files changed, 74 insertions(+), 1 deletion(-) create mode 100644 scripts/experiment/setupKit.sh diff --git a/scripts/experiment/setupKit.sh b/scripts/experiment/setupKit.sh new file mode 100644 index 0000000..8aefbf0 --- /dev/null +++ b/scripts/experiment/setupKit.sh @@ -0,0 +1,73 @@ +#!/bin/bash + +# +# Try to setup Kit ! +# + +function scanWifi() { + local iface=${1} + iwinfo ${iface} scan + return ${?} +} + +function getWifiCell() +{ + local iface=${1} + local ssidPrefix=${2} + res=$(scanWifi ${iface} | grep -B 1 "ESSID: \"${ssidPrefix}") + if [[ "${res}" == "Scanning not possible" ]] || [[ "${res}" == "" ]] + then + for try in $(seq 0 10) + do + sleep 5 + res=$(scanWifi ${iface} | grep -B 1 "ESSID: \"${ssidPrefix}") + if [[ "${res}" == "Scanning not possible" ]] || [[ "${res}" == "" ]] + then + continue + else + echo ${res} + return 0 + fi + done + echo "Error scanning wifi networks !" + return 2 + else + echo ${res} + return 0 + fi +} + +function connectWifi() { + local iface=${1} + local ssidPrefix=${2} + local wpa=${3} + + local cell=$(getWifiCell ${iface} ${ssidPrefix}) + if [[ $? -ne 0 ]] + then + echo "Error on wifi scan !" + exit 12 + fi + local ssid=$(echo ${cell} | awk '{print $7}' | sed -e 's/"//g') + local cellMAC=$(echo ${cell} | awk '{print $5}' | sed -e 's/"//g"') + + set -x + uci delete wireless.@wifi-iface[1] + uci add wireless wifi-iface + uci set wireless.@wifi-iface[1].network="EmlidReach" + uci set wireless.@wifi-iface[1].ssid="${ssid}" + uci set wireless.@wifi-iface[1].encryption="psk2" + uci set wireless.@wifi-iface[1].device="radio1" + uci set wireless.@wifi-iface[1].mode="sta" + uci set wireless.@wifi-iface[1].bssid="${cellMAC}" + uci set wireless.@wifi-iface[1].key="${wpa}" + uci commit + reload_config + sleep 20 + set +x + udhcpc -i ${iface} +} + +# interface SSID_PREFIX Network_KEY +connectWifi "$1" "$2" "$3" + diff --git a/scripts/experiment/uciCli.sh b/scripts/experiment/uciCli.sh index 788f0fd..5b9a8e6 100644 --- a/scripts/experiment/uciCli.sh +++ b/scripts/experiment/uciCli.sh @@ -4,7 +4,7 @@ function scanWifi() { local ifcace=$1 iwconfig ${iface} scan -} + function connectBoard() {