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"
|
||||
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
|
||||
[ -n "${KEY}" ] && CMDLINE["network.${KEY}"]="${VALUE}"
|
||||
done <<<$(readConfigMap "network" "${USER_CONFIG_FILE}")
|
||||
@ -264,7 +271,7 @@ function _bootwait() {
|
||||
rm -f WB WC
|
||||
return 1
|
||||
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\033[1;33m%s\033[0m\n" "$(TEXT "Menu opened and booting is interrupted.")"
|
||||
rm -f WB WC
|
||||
@ -342,7 +349,7 @@ else
|
||||
MAC=$(cat /sys/class/net/${N}/address 2>/dev/null)
|
||||
printf "%s(%s): " "${N}" "${MAC}@${DRIVER}"
|
||||
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.)")"
|
||||
break
|
||||
fi
|
||||
|
@ -420,9 +420,7 @@ function connectwlanif() {
|
||||
rm -f "/var/run/wpa_supplicant.pid.${1}"
|
||||
fi
|
||||
else
|
||||
local CONF=""
|
||||
[ -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"
|
||||
local CONF="$([ -f "${PART1_PATH}/wpa_supplicant.conf" ] && echo "${PART1_PATH}/wpa_supplicant.conf" || echo "")"
|
||||
[ -z "${CONF}" ] && return 2
|
||||
|
||||
if [ -f "/var/run/wpa_supplicant.pid.${1}" ]; then
|
||||
|
@ -14,13 +14,13 @@
|
||||
alias DIALOG='dialog --backtitle "$(backtitle)" --colors --aspect 50'
|
||||
|
||||
# lock
|
||||
exec 304>"${WORK_PATH}/menu.lock"
|
||||
exec 304>"${TMP_PATH}/menu.lock"
|
||||
flock -n 304 || {
|
||||
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
|
||||
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
|
||||
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
|
||||
LINENUM=$(($(echo -e "${MSG}" | wc -l) + 8))
|
||||
while true; do
|
||||
SSID=$(cat ${PART1_PATH}/wpa_supplicant.conf 2>/dev/null | grep -i SSID | cut -d'=' -f2)
|
||||
PSK=$(cat ${PART1_PATH}/wpa_supplicant.conf 2>/dev/null | grep -i PSK | cut -d'=' -f2)
|
||||
SSID="${SSID//\"/}"
|
||||
PSK="${PSK//\"/}"
|
||||
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/"$//')"
|
||||
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 \
|
||||
2>"${TMP_PATH}/resp"
|
||||
@ -2632,14 +2630,7 @@ function setWirelessAccount() {
|
||||
connectwlanif "${N}" 0 && sleep 1
|
||||
done
|
||||
else
|
||||
rm -f ${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
|
||||
|
||||
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
|
||||
for N in ${ETHX}; do
|
||||
connectwlanif "${N}" 1 && sleep 1
|
||||
MACR="$(cat /sys/class/net/${N}/address 2>/dev/null | sed 's/://g')"
|
||||
|
Loading…
x
Reference in New Issue
Block a user