From ac69d0510ade3c3cb2d05ba86258b7e6d685ee7d Mon Sep 17 00:00:00 2001 From: Shiji Yang Date: Wed, 18 Jun 2025 19:50:39 +0800 Subject: [PATCH] ipq40xx: migrate wifi configuration device paths for 6.12 kernel The device tree PCIe host node name has been changed in the new 6.12 kernel[1]. Hence we have to update the wifi device path to make sure it can work properly. This script is based on: target/linux/qualcommax/ipq807x/base-files/etc/hotplug.d/ieee80211/05-wifi-migrate [1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.12.y&id=07299ba2e7d98045e6b522f7c5b97f402b15bc82 Signed-off-by: Shiji Yang Link: https://github.com/openwrt/openwrt/pull/18725 Signed-off-by: Hauke Mehrtens --- .../etc/hotplug.d/ieee80211/05-wifi-migrate | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 target/linux/ipq40xx/base-files/etc/hotplug.d/ieee80211/05-wifi-migrate diff --git a/target/linux/ipq40xx/base-files/etc/hotplug.d/ieee80211/05-wifi-migrate b/target/linux/ipq40xx/base-files/etc/hotplug.d/ieee80211/05-wifi-migrate new file mode 100644 index 00000000000..fdacfa56b16 --- /dev/null +++ b/target/linux/ipq40xx/base-files/etc/hotplug.d/ieee80211/05-wifi-migrate @@ -0,0 +1,47 @@ +#!/bin/sh + +# This must run before 10-wifi-detect + +[ "${ACTION}" = "add" ] || return + +. /lib/functions.sh +. /lib/functions/system.sh + +do_migrate_radio() +{ + local config="$1" + + config_get from "$config" path + + to=${from/pci\//pcie\/} + + # Checks if kernel version is less than 6.12.0, if it is and the path is + # using the new format, then path should be migrated to the old format. + [ "$(get_linux_version)" -lt "612000" ] && to=${from/pcie\//pci\/} + + [ "$from" = "$to" ] && return + + uci set "wireless.${config}.path=${to}" + WIRELESS_CHANGED=true + + logger -t wifi-migrate "Updated path of wireless.${config} from '${from}' to '${to}'" +} + +migrate_radio() +{ + config_load wireless + + config_foreach do_migrate_radio wifi-device +} + +WIRELESS_CHANGED=false + +case "$(board_name)" in +*) + migrate_radio + ;; +esac + +$WIRELESS_CHANGED && uci commit wireless + +exit 0