mirror of
https://gitlab.archlinux.org/tpowa/archboot.git
synced 2024-09-20 03:50:37 +02:00
functionalize wifi and cleanup
This commit is contained in:
parent
da3634cb5c
commit
beb862a063
1 changed files with 67 additions and 63 deletions
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue