end
function _wifi_state(key, val, field)
+ local radio, radiostate, ifc, ifcstate
+
if not next(_ubuswificache) then
_ubuswificache = _ubus:call("network.wireless", "status", {}) or {}
+
+ -- workaround extended section format
+ for radio, radiostate in pairs(_ubuswificache) do
+ for ifc, ifcstate in pairs(radiostate.interfaces) do
+ if ifcstate.section and ifcstate.section:sub(1, 1) == '@' then
+ local s = _uci_real:get_all('wireless.%s' % ifcstate.section)
+ if s then
+ ifcstate.section = s['.name']
+ end
+ end
+ end
+ end
end
- local radio, radiostate
for radio, radiostate in pairs(_ubuswificache) do
- local ifc, ifcstate
for ifc, ifcstate in pairs(radiostate.interfaces) do
if ifcstate[key] == val then
return ifcstate[field]
if l.b then m = m .. "b" end
if l.g then m = m .. "g" end
if l.n then m = m .. "n" end
+ if l.ac then m = "ac" end
return "%s 802.11%s Wireless Controller (%s)" %{ t, m, self:name() }
end