Reorga of functions
moved all functions into files Redid RAM to be more useable
This commit is contained in:
115
wifi.sh
115
wifi.sh
@@ -1,65 +1,66 @@
|
||||
#!/bin/bash
|
||||
|
||||
SSID="CSR_Gastzugang"
|
||||
PASSWORD="CSR_2021"
|
||||
function WIFI(){
|
||||
local OUT_FILE=$1
|
||||
SSID="CSR_Gastzugang"
|
||||
PASSWORD="CSR_2021"
|
||||
#delete network to safely test
|
||||
nmcli connection delete $SSID
|
||||
if [[ -z "$SSID" || -z "$PASSWORD" ]]; then
|
||||
echo "Usage: $0 <SSID> <PASSWORD>"
|
||||
echo -e "WIFI:\t Nein" >>"$OUT_FILE"
|
||||
return 1
|
||||
fi
|
||||
echo "Verbinde: $SSID ..."
|
||||
nmcli dev wifi connect "$SSID" password "$PASSWORD" >/dev/null 2>&1
|
||||
if [[ $? -ne 0 ]]; then
|
||||
echo "Verbinding fehlgeschlagen $SSID"
|
||||
echo -e "WIFI:\t Nein" >>"$OUT_FILE"
|
||||
return 2
|
||||
fi
|
||||
|
||||
nmcli connection delete $SSID #delete network to safely test
|
||||
echo "Verbindsaufbau..."
|
||||
# Wait up to 15 seconds for connection
|
||||
for i in {1..15}; do
|
||||
STATE=$(nmcli -t -f WIFI g)
|
||||
if [[ "$STATE" == "enabled" ]]; then
|
||||
CONN=$(nmcli -t -f ACTIVE,SSID dev wifi | grep '^ja' | cut -d: -f2)
|
||||
if [[ "$CONN" == "$SSID" ]]; then
|
||||
echo "Verbunden mit $SSID"
|
||||
break
|
||||
fi
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
if [[ "$CONN" != "$SSID" ]]; then
|
||||
echo "Verbindingsfehler"
|
||||
echo -e "WIFI:\t Nein" >>"$OUT_FILE"
|
||||
return 3
|
||||
fi
|
||||
|
||||
if [[ -z "$SSID" || -z "$PASSWORD" ]]; then
|
||||
echo "Usage: $0 <SSID> <PASSWORD>"
|
||||
return 1
|
||||
fi
|
||||
echo "Teste (ping 8.8.8.8)..."
|
||||
|
||||
echo "Verbinde: $SSID ..."
|
||||
ping -c 3 8.8.8.8 >/dev/null 2>&1
|
||||
PING_STATUS=$?
|
||||
if [[ $PING_STATUS -ne 0 ]]; then
|
||||
echo "Kein Internet"
|
||||
echo -e "WIFI:\t Nein" >>"$OUT_FILE"
|
||||
return 4
|
||||
fi
|
||||
|
||||
nmcli dev wifi connect "$SSID" password "$PASSWORD" >/dev/null 2>&1
|
||||
echo "Ping Erfolg"
|
||||
|
||||
if [[ $? -ne 0 ]]; then
|
||||
echo "Verbinding fehlgeschlagen $SSID"
|
||||
return 2
|
||||
fi
|
||||
echo "Teste HTTP..."
|
||||
curl -s --max-time 5 https://google.com >/dev/null 2>&1
|
||||
CURL_STATUS=$?
|
||||
if [[ $CURL_STATUS -ne 0 ]]; then
|
||||
echo "HTTP fehlgeschlagen"
|
||||
echo -e "WIFI:\t Nein" >>"$OUT_FILE"
|
||||
return 5
|
||||
fi
|
||||
|
||||
echo "Verbindsaufbau..."
|
||||
|
||||
# Wait up to 15 seconds for connection
|
||||
for i in {1..15}; do
|
||||
STATE=$(nmcli -t -f WIFI g)
|
||||
if [[ "$STATE" == "enabled" ]]; then
|
||||
CONN=$(nmcli -t -f ACTIVE,SSID dev wifi | grep '^ja' | cut -d: -f2)
|
||||
if [[ "$CONN" == "$SSID" ]]; then
|
||||
echo "Verbunden mit $SSID"
|
||||
break
|
||||
fi
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
|
||||
if [[ "$CONN" != "$SSID" ]]; then
|
||||
echo "Verbindingsfehler"
|
||||
return 3
|
||||
fi
|
||||
|
||||
echo "Teste (ping 8.8.8.8)..."
|
||||
|
||||
ping -c 3 8.8.8.8 >/dev/null 2>&1
|
||||
PING_STATUS=$?
|
||||
|
||||
if [[ $PING_STATUS -ne 0 ]]; then
|
||||
echo "Kein Internet"
|
||||
return 4
|
||||
fi
|
||||
|
||||
echo "Ping Erfolg"
|
||||
|
||||
echo "Teste HTTP..."
|
||||
|
||||
curl -s --max-time 5 https://google.com >/dev/null 2>&1
|
||||
CURL_STATUS=$?
|
||||
|
||||
if [[ $CURL_STATUS -ne 0 ]]; then
|
||||
echo "HTTP fehlgeschlagen"
|
||||
return 5
|
||||
fi
|
||||
|
||||
echo "Internet funktioniert!"
|
||||
return 0
|
||||
echo "Internet funktioniert!"
|
||||
echo -e "WIFI:\t Ja" >>"$OUT_FILE"
|
||||
return 0
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user