66 lines
1.2 KiB
Bash
66 lines
1.2 KiB
Bash
#!/bin/bash
|
|
|
|
SSID="CSR"
|
|
PASSWORD="CSR_2021"
|
|
|
|
nmcli connection delete $SSID #delete network to safely test
|
|
|
|
if [[ -z "$SSID" || -z "$PASSWORD" ]]; then
|
|
echo "Usage: $0 <SSID> <PASSWORD>"
|
|
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"
|
|
return 2
|
|
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
|