From 6e412cc78c4b944bdad2acc5c636b2dfc3376651 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.25.1