From acab45502f88e1607c10173726cc6da879f2f741 Mon Sep 17 00:00:00 2001 From: Florian Maurer Date: Mon, 14 Oct 2024 00:59:50 +0200 Subject: [PATCH] use radio.band instead of hwmode --- .../lib/gluon/upgrade/320-gluon-client-bridge-wireless | 3 ++- package/gluon-core/luasrc/usr/lib/lua/gluon/wireless.lua | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/package/gluon-client-bridge/luasrc/lib/gluon/upgrade/320-gluon-client-bridge-wireless b/package/gluon-client-bridge/luasrc/lib/gluon/upgrade/320-gluon-client-bridge-wireless index d318009a2a..8542c35118 100755 --- a/package/gluon-client-bridge/luasrc/lib/gluon/upgrade/320-gluon-client-bridge-wireless +++ b/package/gluon-client-bridge/luasrc/lib/gluon/upgrade/320-gluon-client-bridge-wireless @@ -125,7 +125,8 @@ if not sysconfig.gluon_version and has_client_radio then local name = 'client_' .. radio_name - if wireless.supports_channel(radio, config.channel()) and (radio.hwmode == '11a' or radio.hwmode == '11na') then + -- disable client radio on the 5GHz band which supports the mesh channel + if wireless.supports_channel(radio, config.channel()) and radio.band == '5g' then uci:set('wireless', name, 'disabled', true) end end) diff --git a/package/gluon-core/luasrc/usr/lib/lua/gluon/wireless.lua b/package/gluon-core/luasrc/usr/lib/lua/gluon/wireless.lua index 13fa99981c..4ed2996987 100644 --- a/package/gluon-core/luasrc/usr/lib/lua/gluon/wireless.lua +++ b/package/gluon-core/luasrc/usr/lib/lua/gluon/wireless.lua @@ -1,3 +1,4 @@ +local iwinfo = require 'iwinfo' local sysconfig = require 'gluon.sysconfig' local site = require 'gluon.site' local util = require 'gluon.util' @@ -92,9 +93,9 @@ local function get_wlan_mac_from_driver(radio, vif) end end -local function supports_channel(radio, channel) +function M.supports_channel(radio, channel) local phy = M.find_phy(radio) - for i, chan in ipairs(iwinfo.nl80211.freqlist(phy)) do + for _, chan in ipairs(iwinfo.nl80211.freqlist(phy)) do if channel == chan.channel then return true end