[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