functionalize wifi and cleanup

This commit is contained in:
Tobias Powalowski 2022-12-08 11:35:46 +01:00
parent da3634cb5c
commit beb862a063

View file

@ -18,36 +18,7 @@ essid_scan() {
done done
} }
# donetwork() do_wireless() {
# Hand-hold through setting up networking
#
# args: none
# returns: 1 on failure
donetwork() {
S_NET=0
NETPARAMETERS=""
while [[ "${NETPARAMETERS}" = "" ]]; do
# select network interface
INTERFACE=
ifaces=$(net_interfaces)
while [[ "${INTERFACE}" = "" ]]; do
#shellcheck disable=SC2086
DIALOG --ok-label "Select" --menu "Select a network interface:" 14 55 7 ${ifaces} 2>"${ANSWER}"
case $? in
1) return 1 ;;
0) INTERFACE=$(cat "${ANSWER}") ;;
esac
done
if echo "${INTERFACE}" | grep -q wlan >/dev/null; then
CONNECTION="wireless"
else
CONNECTION="ethernet"
fi
# profile name
NETWORK_PROFILE=""
DIALOG --inputbox "Enter your network profile name:" 7 40 "${INTERFACE}-${CONNECTION}" 2>"${ANSWER}" || return 1
NETWORK_PROFILE=/etc/systemd/network/$(cat "${ANSWER}").network
# wireless switch
WLAN_HIDDEN="" WLAN_HIDDEN=""
WLAN_ESSID="" WLAN_ESSID=""
WLAN_SECURITY="" WLAN_SECURITY=""
@ -86,22 +57,22 @@ donetwork() {
[[ -z "${WLAN_KEY}" ]] || echo "psk=\"${WLAN_KEY}\"" >> "${WPA_PROFILE}" [[ -z "${WLAN_KEY}" ]] || echo "psk=\"${WLAN_KEY}\"" >> "${WPA_PROFILE}"
echo "}" >> "${WPA_PROFILE}" echo "}" >> "${WPA_PROFILE}"
echo "wpa_supplicant config saved to ${WPA_PROFILE}." > "${LOG}" echo "wpa_supplicant config saved to ${WPA_PROFILE}." > "${LOG}"
echo "Starting wpa_supplicant@${INTERFACE}.service ..." > "${LOG}" echo "Starting wpa_supplicant@${INTERFACE} ..." > "${LOG}"
#shellcheck disable=2086 #shellcheck disable=2086
systemctl restart wpa_supplicant@${INTERFACE}.service systemctl restart wpa_supplicant@${INTERFACE}.service
AUTH_COUNT="0" AUTH_COUNT="0"
DIALOG --infobox "Waiting 30 seconds for authentification ..." 3 60 DIALOG --infobox "Waiting 30 seconds for authentification ..." 3 60
#shellcheck disable=2086 #shellcheck disable=2086
while ! systemctl status wpa_supplicant@${INTERFACE}.service | grep -qw CTRL-EVENT-CONNECTED > /dev/null 2>&1; do while ! systemctl status wpa_supplicant@${INTERFACE} | grep -qw "CTRL-EVENT-CONNECTED"; do
sleep 1 sleep 1
AUTH_COUNT="$((AUTH_COUNT+1))" AUTH_COUNT="$((AUTH_COUNT+1))"
systemctl status wpa_supplicant@${INTERFACE}.service | grep -qw CTRL-EVENT-DISCONNECTED > /dev/null 2&>1 && break systemctl status wpa_supplicant@${INTERFACE} | grep -qw "CTRL-EVENT-DISCONNECTED" && break
[[ "${AUTH_COUNT}" == "30" ]] && break [[ "${AUTH_COUNT}" == "30" ]] && break
done done
#shellcheck disable=2086 #shellcheck disable=2086
if systemctl status wpa_supplicant@${INTERFACE}.service | grep -qw CTRL-EVENT-CONNECTED ; then if systemctl status wpa_supplicant@${INTERFACE} | grep -qw "CTRL-EVENT-CONNECTED"; then
WPA_AUTH="1" WPA_AUTH="1"
echo "wpa_supplicant@${INTERFACE}.service" > /tmp/.wpa_supplicant echo "wpa_supplicant@${INTERFACE}" > /tmp/.wpa_supplicant
DIALOG --infobox "Authentification successfull. Continuing in 3 seconds ..." 3 70 DIALOG --infobox "Authentification successfull. Continuing in 3 seconds ..." 3 70
sleep 3 sleep 3
else else
@ -110,6 +81,39 @@ donetwork() {
fi fi
done done
fi fi
}
# donetwork()
# Hand-hold through setting up networking
#
# args: none
# returns: 1 on failure
donetwork() {
S_NET=0
NETPARAMETERS=""
while [[ "${NETPARAMETERS}" = "" ]]; do
# select network interface
INTERFACE=
ifaces=$(net_interfaces)
while [[ "${INTERFACE}" = "" ]]; do
#shellcheck disable=SC2086
DIALOG --ok-label "Select" --menu "Select a network interface:" 14 55 7 ${ifaces} 2>"${ANSWER}"
case $? in
1) return 1 ;;
0) INTERFACE=$(cat "${ANSWER}") ;;
esac
done
if echo "${INTERFACE}" | grep -q wlan >/dev/null; then
CONNECTION="wireless"
else
CONNECTION="ethernet"
fi
# profile name
NETWORK_PROFILE=""
DIALOG --inputbox "Enter your network profile name:" 7 40 "${INTERFACE}-${CONNECTION}" 2>"${ANSWER}" || return 1
NETWORK_PROFILE=/etc/systemd/network/$(cat "${ANSWER}").network
# wifi setup first
do_wireless
# dhcp switch # dhcp switch
IP="" IP=""
DIALOG --yesno "Do you want to use DHCP?" 5 40 DIALOG --yesno "Do you want to use DHCP?" 5 40