diff --git a/files/initrd/opt/rr/include/functions.sh b/files/initrd/opt/rr/include/functions.sh index 1109cc7f..9d939874 100755 --- a/files/initrd/opt/rr/include/functions.sh +++ b/files/initrd/opt/rr/include/functions.sh @@ -422,11 +422,7 @@ function connectwlanif() { else 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 - kill -9 "$(cat /var/run/wpa_supplicant.pid.${1})" - rm -f "/var/run/wpa_supplicant.pid.${1}" - fi + [ -f "/var/run/wpa_supplicant.pid.${1}" ] && return 0 wpa_supplicant -i "${1}" -c "${CONF}" -qq -B -P "/var/run/wpa_supplicant.pid.${1}" >/dev/null 2>&1 fi return 0 diff --git a/files/initrd/opt/rr/menu.sh b/files/initrd/opt/rr/menu.sh index bac496ba..ee24fad0 100755 --- a/files/initrd/opt/rr/menu.sh +++ b/files/initrd/opt/rr/menu.sh @@ -2632,6 +2632,7 @@ function setWirelessAccount() { else 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}" 0 && sleep 1 connectwlanif "${N}" 1 && sleep 1 MACR="$(cat /sys/class/net/${N}/address 2>/dev/null | sed 's/://g')" IPR="$(readConfigKey "network.${MACR}" "${USER_CONFIG_FILE}")"