[openwrt/openwrt] wifi-scripts: add default channel to board.json in wifi-detect.uc
LEDE Commits
lede-commits at lists.infradead.org
Fri Jun 21 02:55:25 PDT 2024
nbd pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/31aa61503e519b546539ad4d145faec86fcb4666
commit 31aa61503e519b546539ad4d145faec86fcb4666
Author: Felix Fietkau <nbd at nbd.name>
AuthorDate: Tue Jun 11 11:34:27 2024 +0200
wifi-scripts: add default channel to board.json in wifi-detect.uc
Preparation for avoiding iw calls in /lib/wifi/mac80211.sh
Signed-off-by: Felix Fietkau <nbd at nbd.name>
---
.../files/usr/share/hostap/wifi-detect.uc | 34 +++++++++++++++++++++-
1 file changed, 33 insertions(+), 1 deletion(-)
diff --git a/package/network/config/wifi-scripts/files/usr/share/hostap/wifi-detect.uc b/package/network/config/wifi-scripts/files/usr/share/hostap/wifi-detect.uc
index 5f375880d2..109b6a33cf 100644
--- a/package/network/config/wifi-scripts/files/usr/share/hostap/wifi-detect.uc
+++ b/package/network/config/wifi-scripts/files/usr/share/hostap/wifi-detect.uc
@@ -53,6 +53,26 @@ function wiphy_get_entry(phy, path) {
return wlan[phy];
}
+function freq_to_channel(freq) {
+ if (freq < 1000)
+ return 0;
+ if (freq == 2484)
+ return 14;
+ if (freq == 5935)
+ return 2;
+ if (freq < 2484)
+ return (freq - 2407) / 5;
+ if (freq >= 4910 && freq <= 4980)
+ return (freq - 4000) / 5;
+ if (freq < 5950)
+ return (freq - 5000) / 5;
+ if (freq <= 45000)
+ return (freq - 5950) / 5;
+ if (freq >= 58320 && freq <= 70200)
+ return (freq - 56160) / 2160;
+ return 0;
+}
+
function wiphy_detect() {
let phys = nl.request(nl.const.NL80211_CMD_GET_WIPHY, nl.const.NLM_F_DUMP, { split_wiphy_dump: true });
if (!phys)
@@ -80,8 +100,10 @@ function wiphy_detect() {
band_name = "6G";
else if (freq > 4000)
band_name = "5G";
- else
+ else if (freq > 2000)
band_name = "2G";
+ else
+ continue;
bands[band_name] = band_info;
if (band.ht_capa > 0)
band_info.ht = true;
@@ -124,6 +146,16 @@ function wiphy_detect() {
if (he_phy_cap & 0x2)
push(modes, "HE40");
+ for (let freq in band.freqs) {
+ if (freq.disabled)
+ continue;
+ let chan = freq_to_channel(freq.freq);
+ if (!chan)
+ continue;
+ band_info.default_channel = chan;
+ break;
+ }
+
if (band_name == "2G")
continue;
if (band_info.vht)
More information about the lede-commits
mailing list