[openwrt/openwrt] mediatek: filogic: Migrate wifi configuration device paths

LEDE Commits lede-commits at lists.infradead.org
Mon Dec 9 16:07:13 PST 2024


hauke pushed a commit to openwrt/openwrt.git, branch openwrt-24.10:
https://git.openwrt.org/d48e499fc1f2722491d9952bd4c3db007d151505

commit d48e499fc1f2722491d9952bd4c3db007d151505
Author: Hauke Mehrtens <hauke at hauke-m.de>
AuthorDate: Sun Dec 8 16:18:52 2024 +0100

    mediatek: filogic: Migrate wifi configuration device paths
    
    The device path to the devices changed. Migrate the wifi
    configurations from the old path to the new one. This is needed to
    migrate Wireless configurations from OpenWrt 23.05 to OpenWrt 24.10.
    
    This script is based on these two files:
    target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/05-wifi-migrate
    target/linux/qualcommax/ipq807x/base-files/etc/hotplug.d/ieee80211/05-wifi-migrate
    
    Fixes: 0ef927472148 ("mediatek: filogic: move mt7981 on-SoC blocks to "soc" node in DT")
    Fixes: https://github.com/openwrt/openwrt/issues/17174
    Link: https://github.com/openwrt/openwrt/pull/17210
    Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
    (cherry picked from commit f8b93e2d12ef01fc565178c71c39470da798155a)
---
 .../etc/hotplug.d/ieee80211/05-wifi-migrate        | 63 ++++++++++++++++++++++
 1 file changed, 63 insertions(+)

diff --git a/target/linux/mediatek/filogic/base-files/etc/hotplug.d/ieee80211/05-wifi-migrate b/target/linux/mediatek/filogic/base-files/etc/hotplug.d/ieee80211/05-wifi-migrate
new file mode 100644
index 0000000000..ae3bc643cd
--- /dev/null
+++ b/target/linux/mediatek/filogic/base-files/etc/hotplug.d/ieee80211/05-wifi-migrate
@@ -0,0 +1,63 @@
+#!/bin/sh
+
+# This must run before 10-wifi-detect
+
+
+[ "${ACTION}" = "add" ] || return
+
+
+. /lib/functions.sh
+
+
+check_radio()
+{
+	local cfg="$1" to="$2"
+
+	config_get path "$cfg" path
+
+	[ "$path" = "$to" ] && PATH_EXISTS=true
+}
+
+do_migrate_radio()
+{
+	local cfg="$1" from="$2" to="$3"
+
+	config_get path "$cfg" path
+
+	[ "$path" = "$from" ] || return
+
+	uci set "wireless.${cfg}.path=${to}"
+	WIRELESS_CHANGED=true
+
+	logger -t wifi-migrate "Updated path of wireless.${cfg} from '${from}' to '${to}'"
+}
+
+migrate_radio()
+{
+	local from="$1" to="$2"
+
+	config_load wireless
+
+	# Check if there is already a section with the target path: In this case, the system
+	# was already upgraded to a version without this migration script before; better bail out,
+	# as we can't be sure we don't break more than we fix.
+	PATH_EXISTS=false
+	config_foreach check_radio wifi-device "$to"
+	$PATH_EXISTS && return
+
+	config_foreach do_migrate_radio wifi-device "$from" "$to"
+}
+
+
+WIRELESS_CHANGED=false
+
+case "$(board_name)" in
+*)
+	migrate_radio 'platform/18000000.wifi' 'platform/soc/18000000.wifi'
+	migrate_radio 'platform/18000000.wifi+1' 'platform/soc/18000000.wifi+1'
+    ;;
+esac
+
+$WIRELESS_CHANGED && uci commit wireless
+
+exit 0




More information about the lede-commits mailing list