summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRany Hany2025-12-15 17:11:24 +0000
committerRobert Marko2025-12-16 19:23:29 +0000
commitc432647d180b0176ec806ee8d91f4252e20b350b (patch)
treef7defb9f424cf21df24827e9a3dd08f2e5704a8c
parent88ab3205fe474e71567701e19444a1a7edb81d71 (diff)
downloadopenwrt-c432647d180b0176ec806ee8d91f4252e20b350b.tar.gz
wifi-scripts: update phys after rename_phy_by_name call
This fixes a failed bring up of the radio on bootup if the model defines a rename of phy in its /etc/board.json. This specifically impacts Redmi AX6S and any router that does so in its /etc/board.json. The fix fortunately is simple, just update phy name in phys after rename. The entry that specifically causes this issue is the following: { <omitted> "wlan": { "wl0": { "path": "platform/18000000.wmac", "info": { "antenna_rx": 15, "antenna_tx": 15, "bands": { "2G": { "ht": true, "max_width": 40, "modes": [ "NOHT", "HT20", "HT40" ], "default_channel": 1 } }, "radios": [ ] } }, ... } The issue is that after rename, referenced phy in config is going to be wl0 but in phys array it is still phy0; and so it fails to find phy and does not bring up radio. Fixes: https://github.com/openwrt/openwrt/issues/20250 Fixes: https://github.com/openwrt/openwrt/issues/20339 Signed-off-by: Rany Hany <rany_hany@riseup.net> Link: https://github.com/openwrt/openwrt/pull/21175 Signed-off-by: Robert Marko <robimarko@gmail.com> (cherry picked from commit e4d5e76af059d9c7fe295bbd144a39a77fbb5491)
-rw-r--r--package/network/config/wifi-scripts/files/usr/share/ucode/wifi/utils.uc5
1 files changed, 5 insertions, 0 deletions
diff --git a/package/network/config/wifi-scripts/files/usr/share/ucode/wifi/utils.uc b/package/network/config/wifi-scripts/files/usr/share/ucode/wifi/utils.uc
index 0ec8505670..7ecfd2d204 100644
--- a/package/network/config/wifi-scripts/files/usr/share/ucode/wifi/utils.uc
+++ b/package/network/config/wifi-scripts/files/usr/share/ucode/wifi/utils.uc
@@ -57,6 +57,11 @@ function rename_phy_by_name(phys, name, rename) {
wiphy: idx,
wiphy_name: name
});
+
+ let prev_idx = index(phys, prev_name);
+ if (prev_idx >= 0)
+ phys[prev_idx] = name;
+
return true;
}