diff options
Diffstat (limited to 'networking/wifi/device-files/connect.sh')
-rw-r--r-- | networking/wifi/device-files/connect.sh | 42 |
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!" |