mirror of
https://github.com/hanwckf/immortalwrt-mt798x.git
synced 2025-01-09 18:59:13 +08:00
hostapd: re-introduce process tracking
Before commit 60fb4c92b6 ("hostapd: add ubus reload") netifd was tracking hostapd/wpa_supplicant and restarting wifi in case of a process crash. Restore this behaviour by tracking the PIDs of hostapd and wpa_supplicant. Also make sure hostapd and/or wpa_supplicant have been started before emmitting ubus calls to them using ubus wait_for. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
This commit is contained in:
parent
2568db3fff
commit
24b97579d2
@ -940,7 +940,10 @@ drv_mac80211_setup() {
|
||||
}
|
||||
else
|
||||
add_ap=1
|
||||
ubus wait_for hostapd.$phy
|
||||
ubus call hostapd.${phy} config_add "{\"iface\":\"$primary_ap\", \"config\":\"${hostapd_conf_file}\"}"
|
||||
local hostapd_pid=$(ubus call service list '{"name": "hostapd"}' | jsonfilter -l 1 -e "@['hostapd'].instances['hostapd-${phy}'].pid")
|
||||
wireless_add_process "$hostapd_pid" "/usr/sbin/hostapd" 1
|
||||
fi
|
||||
ret="$?"
|
||||
[ "$ret" != 0 ] && {
|
||||
|
@ -958,6 +958,7 @@ wpa_supplicant_run() {
|
||||
|
||||
_wpa_supplicant_common "$ifname"
|
||||
|
||||
ubus wait_for wpa_supplicant.$phy
|
||||
ubus call wpa_supplicant.$phy config_add "{ \
|
||||
\"driver\": \"${_w_driver:-wext}\", \"ctrl\": \"$_rpath\", \
|
||||
\"iface\": \"$ifname\", \"config\": \"$_config\" \
|
||||
@ -969,6 +970,9 @@ wpa_supplicant_run() {
|
||||
|
||||
[ "$ret" != 0 ] && wireless_setup_vif_failed WPA_SUPPLICANT_FAILED
|
||||
|
||||
local supplicant_pid=$(ubus call service list '{"name": "hostapd"}' | jsonfilter -l 1 -e "@['hostapd'].instances['supplicant-${phy}'].pid")
|
||||
wireless_add_process "$supplicant_pid" "/usr/sbin/wpa_supplicant" 1
|
||||
|
||||
return $ret
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user