treewide: use radio band option to determine frequency band

The 'hwmode' setting has been replaced with 'band' in OpenWrt to add
support for newer bands outside of 2.4G and 5G. Adjust Gluon accordingly.

[Matthias Schiffer: rebased, extended commit message]
This commit is contained in:
David Bauer 2021-06-14 22:29:07 +02:00 committed by Matthias Schiffer
parent f6faa50ad5
commit c52089fcda
No known key found for this signature in database
GPG Key ID: 16EF3F64CB201D9C
4 changed files with 16 additions and 16 deletions

View File

@ -31,7 +31,7 @@ return function(form, uci)
if data == false then if data == false then
local mesh_ifaces_5ghz = {} local mesh_ifaces_5ghz = {}
uci:foreach('wireless', 'wifi-device', function(config) uci:foreach('wireless', 'wifi-device', function(config)
if config.hwmode ~= '11a' and config.hwmode ~= '11na' then if config.band ~= '5g' then
return return
end end

View File

@ -38,11 +38,11 @@ if not sysconfig.gluon_version then
if radio_band_count["band24"] <= radio_band_count["band5"] then if radio_band_count["band24"] <= radio_band_count["band5"] then
-- Assign radio to 2.4GHz band -- Assign radio to 2.4GHz band
radio_band_count["band24"] = radio_band_count["band24"] + 1 radio_band_count["band24"] = radio_band_count["band24"] + 1
uci:set('wireless', radio_name, 'hwmode', '11g') uci:set('wireless', radio_name, 'band', '2g')
else else
-- Assign radio to 5GHz band -- Assign radio to 5GHz band
radio_band_count["band5"] = radio_band_count["band5"] + 1 radio_band_count["band5"] = radio_band_count["band5"] + 1
uci:set('wireless', radio_name, 'hwmode', '11a') uci:set('wireless', radio_name, 'band', '5g')
end end
end end
end) end)
@ -57,7 +57,7 @@ local function get_channel(radio, config)
if wireless.preserve_channels(uci) then if wireless.preserve_channels(uci) then
-- preserved channel always wins -- preserved channel always wins
channel = radio.channel channel = radio.channel
elseif (radio.hwmode == '11a' or radio.hwmode == '11na') and is_outdoor() then elseif radio.band == '5g' and is_outdoor() then
-- actual channel will be picked and probed from chanlist -- actual channel will be picked and probed from chanlist
channel = 'auto' channel = 'auto'
end end
@ -66,7 +66,7 @@ local function get_channel(radio, config)
end end
local function get_htmode(radio) local function get_htmode(radio)
if (radio.hwmode == '11a' or radio.hwmode == '11na') and is_outdoor() then if radio.band == '5g' and is_outdoor() then
local outdoor_htmode = uci:get('gluon', 'wireless', 'outdoor_' .. radio['.name'] .. '_htmode') local outdoor_htmode = uci:get('gluon', 'wireless', 'outdoor_' .. radio['.name'] .. '_htmode')
if outdoor_htmode ~= nil then if outdoor_htmode ~= nil then
return outdoor_htmode return outdoor_htmode
@ -207,11 +207,11 @@ wireless.foreach_radio(uci, function(radio, index, config)
uci:delete('wireless', radio_name, 'supported_rates') uci:delete('wireless', radio_name, 'supported_rates')
uci:delete('wireless', radio_name, 'basic_rate') uci:delete('wireless', radio_name, 'basic_rate')
local hwmode = radio.hwmode local band = radio.band
if hwmode == '11g' or hwmode == '11ng' then if band == '2g' then
uci:set('wireless', radio_name, 'legacy_rates', false) uci:set('wireless', radio_name, 'legacy_rates', false)
configure_mesh_wireless(radio, index, config) configure_mesh_wireless(radio, index, config)
elseif (hwmode == '11a' or hwmode == '11na') then elseif (band == '5g') then
if is_outdoor() then if is_outdoor() then
uci:set('wireless', radio_name, 'channels', config.outdoor_chanlist()) uci:set('wireless', radio_name, 'channels', config.outdoor_chanlist())

View File

@ -112,11 +112,11 @@ function M.foreach_radio(uci, f)
end) end)
for index, radio in ipairs(radios) do for index, radio in ipairs(radios) do
local hwmode = radio.hwmode local band = radio.band
if hwmode == '11g' or hwmode == '11ng' then if band == '2g' then
f(radio, index, site.wifi24) f(radio, index, site.wifi24)
elseif hwmode == '11a' or hwmode == '11na' then elseif band == '5g' then
f(radio, index, site.wifi5) f(radio, index, site.wifi5)
end end
end end
@ -165,7 +165,7 @@ function M.device_uses_11a(uci)
local ret = false local ret = false
uci:foreach('wireless', 'wifi-device', function(radio) uci:foreach('wireless', 'wifi-device', function(radio)
if radio.hwmode == '11a' or radio.hwmode == '11na' then if radio.band == '5g' then
ret = true ret = true
return false return false
end end

View File

@ -44,9 +44,9 @@ uci:foreach('wireless', 'wifi-device', function(config)
local is_5ghz = false local is_5ghz = false
local title local title
if config.hwmode == '11g' or config.hwmode == '11ng' then if config.band == '2g' then
title = translate("2.4GHz WLAN") title = translate("2.4GHz WLAN")
elseif config.hwmode == '11a' or config.hwmode == '11na' then elseif config.band == '5g' then
is_5ghz = true is_5ghz = true
title = translate("5GHz WLAN") title = translate("5GHz WLAN")
else else
@ -155,9 +155,9 @@ if wireless.device_uses_11a(uci) and not wireless.preserve_channels(uci) then
uci:foreach('wireless', 'wifi-device', function(config) uci:foreach('wireless', 'wifi-device', function(config)
local radio = config['.name'] local radio = config['.name']
local hwmode = uci:get('wireless', radio, 'hwmode') local band = uci:get('wireless', radio, 'band')
if hwmode ~= '11a' and hwmode ~= '11na' then if band ~= '5g' then
return return
end end