mirror of https://github.com/hak5/openwrt.git
mac80211: enhance wifi reload
If the reconf call fails force a full restart of the radio. Signed-off-by: John Crispin <john@phrozen.org>master
parent
d3b7838ebe
commit
a1dd773272
|
@ -329,6 +329,8 @@ $base_cfg
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
json_select ..
|
json_select ..
|
||||||
|
radio_md5sum=$(md5sum $hostapd_conf_file | cut -d" " -f1)
|
||||||
|
echo "radio_config_id=${radio_md5sum}" >> $hostapd_conf_file
|
||||||
}
|
}
|
||||||
|
|
||||||
mac80211_hostapd_setup_bss() {
|
mac80211_hostapd_setup_bss() {
|
||||||
|
@ -943,11 +945,16 @@ drv_mac80211_setup() {
|
||||||
local add_ap=0
|
local add_ap=0
|
||||||
local primary_ap=${NEWAPLIST%% *}
|
local primary_ap=${NEWAPLIST%% *}
|
||||||
[ -n "$hostapd_ctrl" ] && {
|
[ -n "$hostapd_ctrl" ] && {
|
||||||
|
local no_reload=1
|
||||||
if [ -n "$(ubus list | grep hostapd.$primary_ap)" ]; then
|
if [ -n "$(ubus list | grep hostapd.$primary_ap)" ]; then
|
||||||
[ "${NEW_MD5}" = "${OLD_MD5}" ] || {
|
[ "${NEW_MD5}" = "${OLD_MD5}" ] || {
|
||||||
ubus call hostapd.$primary_ap reload
|
ubus call hostapd.$primary_ap reload
|
||||||
|
no_reload=$?
|
||||||
|
mac80211_vap_cleanup hostapd "${OLDAPLIST}"
|
||||||
|
[ -n "${NEWAPLIST}" ] && mac80211_iw_interface_add "$phy" "${NEWAPLIST%% *}" __ap || return
|
||||||
}
|
}
|
||||||
else
|
fi
|
||||||
|
if [ "$no_reload" != "0" ]; then
|
||||||
add_ap=1
|
add_ap=1
|
||||||
ubus wait_for hostapd.$phy
|
ubus wait_for hostapd.$phy
|
||||||
ubus call hostapd.${phy} config_add "{\"iface\":\"$primary_ap\", \"config\":\"${hostapd_conf_file}\"}"
|
ubus call hostapd.${phy} config_add "{\"iface\":\"$primary_ap\", \"config\":\"${hostapd_conf_file}\"}"
|
||||||
|
|
Loading…
Reference in New Issue