modules/admin-full: lock channel section in ap wifi config if there is a station on the same radio

This commit is contained in:
Jo-Philipp Wich 2011-10-26 22:12:50 +00:00
parent 017d24c724
commit c3e8976605

View file

@ -114,14 +114,30 @@ local htcaps = wdev:get("ht_capab") and true or false
-- NanoFoo -- NanoFoo
local nsantenna = wdev:get("antenna") local nsantenna = wdev:get("antenna")
ch = s:taboption("general", Value, "channel", translate("Channel")) -- Check whether there is a client interface on the same radio,
ch:value("auto", translate("auto")) -- if yes, lock the channel choice as the station will dicatate the freq
for _, f in ipairs(iw and iw.freqlist or luci.sys.wifi.channels()) do local has_sta = nil
if not f.restricted then local _, net
ch:value(f.channel, "%i (%.3f GHz)" %{ f.channel, f.mhz / 1000 }) for _, net in ipairs(wdev:get_wifinets()) do
if net:mode() == "sta" and net:id() ~= wnet:id() then
has_sta = net
break
end end
end end
if has_sta then
ch = s:taboption("general", DummyValue, "choice", translate("Channel"))
ch.value = translatef("Locked to channel %d used by %s",
has_sta:channel(), has_sta:shortname())
else
ch = s:taboption("general", Value, "channel", translate("Channel"))
ch:value("auto", translate("auto"))
for _, f in ipairs(iw and iw.freqlist or luci.sys.wifi.channels()) do
if not f.restricted then
ch:value(f.channel, "%i (%.3f GHz)" %{ f.channel, f.mhz / 1000 })
end
end
end
------------------- MAC80211 Device ------------------ ------------------- MAC80211 Device ------------------