summaryrefslogtreecommitdiffstats
path: root/networking/wifi/device-files/connect.sh
diff options
context:
space:
mode:
Diffstat (limited to 'networking/wifi/device-files/connect.sh')
-rw-r--r--networking/wifi/device-files/connect.sh42
1 files changed, 27 insertions, 15 deletions
diff --git a/networking/wifi/device-files/connect.sh b/networking/wifi/device-files/connect.sh
index 133fbd5..7738422 100644
--- a/networking/wifi/device-files/connect.sh
+++ b/networking/wifi/device-files/connect.sh
@@ -24,22 +24,25 @@ if [ $? -ne 0 ]; then
exit 1
fi
-# parse arguments <ssid> <password>
+# parse arguments <ssid> [<password>]
+# If no <password>, then assume no authentication
if [ $# -eq 0 ]; then
- echo "Missing arguments <ssid> <password> "
- exit 1
-fi
-
-if [ $# -ne 2 ]; then
- echo "Wrong argument count!"
- exit 1
+ echo "Usage: bash connect.sh <ssid> [<password>] "
+ exit 1
+elif [ $# -eq 1 ]; then
+ # If no password, we assume that no authentication is necessary
+ SSID="$1"
+ NO_PASSWORD=1
+elif [ $# -eq 2 ]; then
+ #If a a password is passed, we assume WPA-Personal
+ SSID="$1"
+ PASSWORD="$2"
+ NO_PASSWORD=0
+else
+ echo "Usage: bash connect.sh <ssid> [<password>]"
+ exit 1
fi
-# Set SSID and password of your wifi access point
-# WPA-Personal authentication method is assumed
-SSID="$1"
-PASSWORD="$2"
-
wpa_comm="wpa_cli -p$socketfile -P$pidfile -i$ifacename"
sup_pid=$(pidof wpa_supplicant)
@@ -81,11 +84,20 @@ if [ $? -ne 0 ]; then
echo "[DEBUG]set_network ssid FAILED!"
exit 1
fi
-$wpa_comm set_network 0 psk '"'"$PASSWORD"'"'
-if [ $? -ne 0 ]; then
+
+if [ $NO_PASSWORD -eq 1 ]; then
+ $wpa_comm set_network 0 key_mgmt NONE
+ if [ $? -ne 0 ]; then
+ echo "[DEBUG]set_network 0 key_mgmt NONE FAILED!"
+ fi
+else
+ $wpa_comm set_network 0 psk '"'"$PASSWORD"'"'
+ if [ $? -ne 0 ]; then
echo "[DEBUG]set_network psk FAILED!"
exit 1
+ fi
fi
+
$wpa_comm select_network 0
if [ $? -ne 0 ]; then
echo "[DEBUG]select_network 0 FAILED!"