[openwrt/openwrt] wifi-scripts: fix setting tx power on some drivers

LEDE Commits lede-commits at lists.infradead.org
Sat Jan 4 02:55:24 PST 2025


nbd pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/b795e5cbcffc54e858bc8d3bde0031a2ca32377e

commit b795e5cbcffc54e858bc8d3bde0031a2ca32377e
Author: Felix Fietkau <nbd at nbd.name>
AuthorDate: Sat Jan 4 11:52:50 2025 +0100

    wifi-scripts: fix setting tx power on some drivers
    
    On some drivers, setting the tx power on the interface is not enough.
    Set it for the phy as well.
    
    Fixes: 04fb05914ea7 ("wifi-scripts: add multi-radio config support")
    Signed-off-by: Felix Fietkau <nbd at nbd.name>
---
 .../wifi-scripts/files-ucode/lib/netifd/wireless/mac80211.sh      | 1 +
 .../config/wifi-scripts/files/lib/netifd/wireless/mac80211.sh     | 8 ++++++++
 2 files changed, 9 insertions(+)

diff --git a/package/network/config/wifi-scripts/files-ucode/lib/netifd/wireless/mac80211.sh b/package/network/config/wifi-scripts/files-ucode/lib/netifd/wireless/mac80211.sh
index 93ab404d57..9b86abcee5 100755
--- a/package/network/config/wifi-scripts/files-ucode/lib/netifd/wireless/mac80211.sh
+++ b/package/network/config/wifi-scripts/files-ucode/lib/netifd/wireless/mac80211.sh
@@ -195,6 +195,7 @@ function setup_phy(phy, config, data) {
 	log(`Configuring '${phy}' txantenna: ${config.txantenna}, rxantenna: ${config.rxantenna} distance: ${config.distance}`);
 	system(`iw phy ${phy} set antenna ${config.txantenna} ${config.rxantenna}`);
 	system(`iw phy ${phy} set distance ${config.distance}`);
+	system(`iw phy ${phy} set txpower ${config.txpower}`);
 
 	if (config.frag)
 		system(`iw phy ${phy} set frag ${frag}`);
diff --git a/package/network/config/wifi-scripts/files/lib/netifd/wireless/mac80211.sh b/package/network/config/wifi-scripts/files/lib/netifd/wireless/mac80211.sh
index 5d9bf8ee09..9e9922e0b3 100755
--- a/package/network/config/wifi-scripts/files/lib/netifd/wireless/mac80211.sh
+++ b/package/network/config/wifi-scripts/files/lib/netifd/wireless/mac80211.sh
@@ -1210,6 +1210,14 @@ drv_mac80211_setup() {
 	wdev_tool "$phy$phy_suffix" set_config "$(json_dump)" $active_ifnames
 	json_set_namespace "$prev"
 
+	[ -z "$phy_suffix" ] && {
+		if [ -n "$txpower" ]; then
+			iw phy "$phy" set txpower fixed "${txpower%%.*}00"
+		else
+			iw phy "$phy" set txpower auto
+		fi
+	}
+
 	for_each_interface "ap sta adhoc mesh monitor" mac80211_set_vif_txpower
 	wireless_set_up
 }




More information about the lede-commits mailing list