mirror of
https://github.com/RROrg/rr.git
synced 2025-06-21 05:51:05 +08:00
更新无线网络配置逻辑,修复 menu.lock 问题
This commit is contained in:
parent
b03b7c2012
commit
72e9d7d657
@ -228,6 +228,13 @@ if echo "purley broadwellnkv2" | grep -wq "${PLATFORM}"; then
|
|||||||
CMDLINE["SASmodel"]="1"
|
CMDLINE["SASmodel"]="1"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
SSID="$(cat ${PART1_PATH}/wpa_supplicant.conf 2>/dev/null | grep 'ssid=' | cut -d'=' -f2 | sed 's/^"//; s/"$//')"
|
||||||
|
PSK="$(cat ${PART1_PATH}/wpa_supplicant.conf 2>/dev/null | grep 'psk=' | cut -d'=' -f2 | sed 's/^"//; s/"$//')"
|
||||||
|
if [ -n "${SSID}" ] && [ -n "${PSK}" ]; then
|
||||||
|
CMDLINE["wpa.ssid"]="${SSID}"
|
||||||
|
CMDLINE["wpa.psk"]="${PSK}"
|
||||||
|
fi
|
||||||
|
|
||||||
while IFS=': ' read -r KEY VALUE; do
|
while IFS=': ' read -r KEY VALUE; do
|
||||||
[ -n "${KEY}" ] && CMDLINE["network.${KEY}"]="${VALUE}"
|
[ -n "${KEY}" ] && CMDLINE["network.${KEY}"]="${VALUE}"
|
||||||
done <<<$(readConfigMap "network" "${USER_CONFIG_FILE}")
|
done <<<$(readConfigMap "network" "${USER_CONFIG_FILE}")
|
||||||
@ -264,7 +271,7 @@ function _bootwait() {
|
|||||||
rm -f WB WC
|
rm -f WB WC
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
if false && [ -f "${WORK_PATH}/menu.lock" ]; then
|
if false && [ -f "${TMP_PATH}/menu.lock" ]; then
|
||||||
printf "\r%$((${#MSG} * 2))s\n" " "
|
printf "\r%$((${#MSG} * 2))s\n" " "
|
||||||
printf "\r\033[1;33m%s\033[0m\n" "$(TEXT "Menu opened and booting is interrupted.")"
|
printf "\r\033[1;33m%s\033[0m\n" "$(TEXT "Menu opened and booting is interrupted.")"
|
||||||
rm -f WB WC
|
rm -f WB WC
|
||||||
@ -342,7 +349,7 @@ else
|
|||||||
MAC=$(cat /sys/class/net/${N}/address 2>/dev/null)
|
MAC=$(cat /sys/class/net/${N}/address 2>/dev/null)
|
||||||
printf "%s(%s): " "${N}" "${MAC}@${DRIVER}"
|
printf "%s(%s): " "${N}" "${MAC}@${DRIVER}"
|
||||||
while true; do
|
while true; do
|
||||||
if [ ! "${N::3}" = "eth" ]; then
|
if false && [ ! "${N::3}" = "eth" ]; then
|
||||||
printf "\r%s(%s): %s\n" "${N}" "${MAC}@${DRIVER}" "$(TEXT "IGNORE (Does not support non-wired network card.)")"
|
printf "\r%s(%s): %s\n" "${N}" "${MAC}@${DRIVER}" "$(TEXT "IGNORE (Does not support non-wired network card.)")"
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
|
@ -420,9 +420,7 @@ function connectwlanif() {
|
|||||||
rm -f "/var/run/wpa_supplicant.pid.${1}"
|
rm -f "/var/run/wpa_supplicant.pid.${1}"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
local CONF=""
|
local CONF="$([ -f "${PART1_PATH}/wpa_supplicant.conf" ] && echo "${PART1_PATH}/wpa_supplicant.conf" || echo "")"
|
||||||
[ -z "${CONF}" ] && [ -f "${PART1_PATH}/wpa_supplicant.conf.${1}" ] && CONF="${PART1_PATH}/wpa_supplicant.conf.${1}"
|
|
||||||
[ -z "${CONF}" ] && [ -f "${PART1_PATH}/wpa_supplicant.conf" ] && CONF="${PART1_PATH}/wpa_supplicant.conf"
|
|
||||||
[ -z "${CONF}" ] && return 2
|
[ -z "${CONF}" ] && return 2
|
||||||
|
|
||||||
if [ -f "/var/run/wpa_supplicant.pid.${1}" ]; then
|
if [ -f "/var/run/wpa_supplicant.pid.${1}" ]; then
|
||||||
|
@ -14,13 +14,13 @@
|
|||||||
alias DIALOG='dialog --backtitle "$(backtitle)" --colors --aspect 50'
|
alias DIALOG='dialog --backtitle "$(backtitle)" --colors --aspect 50'
|
||||||
|
|
||||||
# lock
|
# lock
|
||||||
exec 304>"${WORK_PATH}/menu.lock"
|
exec 304>"${TMP_PATH}/menu.lock"
|
||||||
flock -n 304 || {
|
flock -n 304 || {
|
||||||
MSG="$(TEXT "The menu.sh instance is already running in another terminal. To avoid conflicts, please operate in one instance only.")"
|
MSG="$(TEXT "The menu.sh instance is already running in another terminal. To avoid conflicts, please operate in one instance only.")"
|
||||||
dialog --colors --aspect 50 --title "$(TEXT "Error")" --msgbox "${MSG}" 0 0
|
dialog --colors --aspect 50 --title "$(TEXT "Error")" --msgbox "${MSG}" 0 0
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
trap 'flock -u 304; rm -f "${WORK_PATH}/menu.lock"' EXIT INT TERM HUP
|
trap 'flock -u 304; rm -f "${TMP_PATH}/menu.lock"' EXIT INT TERM HUP
|
||||||
|
|
||||||
# Check partition 3 space, if < 2GiB is necessary clean cache folder
|
# Check partition 3 space, if < 2GiB is necessary clean cache folder
|
||||||
SPACELEFT=$(df -m ${PART3_PATH} 2>/dev/null | awk 'NR==2 {print $4}')
|
SPACELEFT=$(df -m ${PART3_PATH} 2>/dev/null | awk 'NR==2 {print $4}')
|
||||||
@ -2611,10 +2611,8 @@ function setWirelessAccount() {
|
|||||||
for I in $(iw wlan0 scan 2>/dev/null | grep SSID: | awk '{print $2}'); do MSG+="${I}\n"; done
|
for I in $(iw wlan0 scan 2>/dev/null | grep SSID: | awk '{print $2}'); do MSG+="${I}\n"; done
|
||||||
LINENUM=$(($(echo -e "${MSG}" | wc -l) + 8))
|
LINENUM=$(($(echo -e "${MSG}" | wc -l) + 8))
|
||||||
while true; do
|
while true; do
|
||||||
SSID=$(cat ${PART1_PATH}/wpa_supplicant.conf 2>/dev/null | grep -i SSID | cut -d'=' -f2)
|
SSID="$(cat ${PART1_PATH}/wpa_supplicant.conf 2>/dev/null | grep 'ssid=' | cut -d'=' -f2 | sed 's/^"//; s/"$//')"
|
||||||
PSK=$(cat ${PART1_PATH}/wpa_supplicant.conf 2>/dev/null | grep -i PSK | cut -d'=' -f2)
|
PSK="$(cat ${PART1_PATH}/wpa_supplicant.conf 2>/dev/null | grep 'psk=' | cut -d'=' -f2 | sed 's/^"//; s/"$//')"
|
||||||
SSID="${SSID//\"/}"
|
|
||||||
PSK="${PSK//\"/}"
|
|
||||||
DIALOG --title "$(TEXT "Settings")" \
|
DIALOG --title "$(TEXT "Settings")" \
|
||||||
--form "${MSG}" ${LINENUM:-16} 70 2 "SSID" 1 1 "${SSID}" 1 7 58 0 " PSK" 2 1 "${PSK}" 2 7 58 0 \
|
--form "${MSG}" ${LINENUM:-16} 70 2 "SSID" 1 1 "${SSID}" 1 7 58 0 " PSK" 2 1 "${PSK}" 2 7 58 0 \
|
||||||
2>"${TMP_PATH}/resp"
|
2>"${TMP_PATH}/resp"
|
||||||
@ -2632,14 +2630,7 @@ function setWirelessAccount() {
|
|||||||
connectwlanif "${N}" 0 && sleep 1
|
connectwlanif "${N}" 0 && sleep 1
|
||||||
done
|
done
|
||||||
else
|
else
|
||||||
rm -f ${PART1_PATH}/wpa_supplicant.conf
|
echo -e "ctrl_interface=/var/run/wpa_supplicant\nupdate_config=1\nnetwork={\n ssid=\"${SSID}\"\n priority=1\n psk=\"${PSK}\"\n}" >${PART1_PATH}/wpa_supplicant.conf
|
||||||
echo "ctrl_interface=/var/run/wpa_supplicant" >>${PART1_PATH}/wpa_supplicant.conf
|
|
||||||
echo "update_config=1" >>${PART1_PATH}/wpa_supplicant.conf
|
|
||||||
echo "network={" >>${PART1_PATH}/wpa_supplicant.conf
|
|
||||||
echo " ssid=\"${SSID}\"" >>${PART1_PATH}/wpa_supplicant.conf
|
|
||||||
echo " psk=\"${PSK}\"" >>${PART1_PATH}/wpa_supplicant.conf
|
|
||||||
echo "}" >>${PART1_PATH}/wpa_supplicant.conf
|
|
||||||
|
|
||||||
for N in ${ETHX}; do
|
for N in ${ETHX}; do
|
||||||
connectwlanif "${N}" 1 && sleep 1
|
connectwlanif "${N}" 1 && sleep 1
|
||||||
MACR="$(cat /sys/class/net/${N}/address 2>/dev/null | sed 's/://g')"
|
MACR="$(cat /sys/class/net/${N}/address 2>/dev/null | sed 's/://g')"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user