From b5db545077b23042261a03e9145124b35d83bd6c Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Wed, 25 Jan 2017 23:37:40 +0100 Subject: [PATCH] luci-mod-admin-full: reload wifi settings page after changing countey code Reloading the page ensures that the allowed tx power values and channel select lists are properly populated with the new effective values. Signed-off-by: Jo-Philipp Wich --- .../luasrc/model/cbi/admin_network/wifi.lua | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/wifi.lua b/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/wifi.lua index 91d092978..afe0d662b 100644 --- a/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/wifi.lua +++ b/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/wifi.lua @@ -42,6 +42,9 @@ end -- wireless toggle was requested, commit and reload page function m.parse(map) + local new_cc = m:formvalue("cbid.wireless.%s.country" % wdev:name()) + local old_cc = m:get(wdev:name(), "country") + if m:formvalue("cbid.wireless.%s.__toggle" % wdev:name()) then if wdev:get("disabled") == "1" or wnet:get("disabled") == "1" then wnet:set("disabled", nil) @@ -56,7 +59,14 @@ function m.parse(map) luci.http.redirect(luci.dispatcher.build_url("admin/network/wireless", arg[1])) return end + Map.parse(map) + + if m:get(wdev:name(), "type") == "mac80211" and new_cc and new_cc ~= old_cc then + luci.sys.call("iw reg set %q" % new_cc) + luci.http.redirect(luci.dispatcher.build_url("admin/network/wireless", arg[1])) + return + end end m.title = luci.util.pcdata(wnet:get_i18n()) -- 2.11.0