aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ath79/base-files/etc/hotplug.d/ieee80211/00-wifi-migration
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/ath79/base-files/etc/hotplug.d/ieee80211/00-wifi-migration')
-rw-r--r--target/linux/ath79/base-files/etc/hotplug.d/ieee80211/00-wifi-migration50
1 files changed, 50 insertions, 0 deletions
diff --git a/target/linux/ath79/base-files/etc/hotplug.d/ieee80211/00-wifi-migration b/target/linux/ath79/base-files/etc/hotplug.d/ieee80211/00-wifi-migration
new file mode 100644
index 0000000000..b1824303e6
--- /dev/null
+++ b/target/linux/ath79/base-files/etc/hotplug.d/ieee80211/00-wifi-migration
@@ -0,0 +1,50 @@
+#!/bin/sh
+
+WIFI_PATH_CHANGED=0
+
+. /lib/functions.sh
+
+migrate_wifi_path() {
+ local section="$1"
+ local path
+
+ config_get path ${section} path
+ case ${path} in
+ "pci0000:01/0000:01:00.0")
+ board=$(board_name)
+
+ case "$board" in
+ tplink,archer-c7-v1|\
+ tplink,archer-c7-v2)
+ path="pci0000:00/0000:00:00.0"
+ WIFI_PATH_CHANGED=1
+ ;;
+ *)
+ return 0
+ ;;
+ esac
+ ;;
+ "platform/qca955x_wmac")
+ path="platform/ahb/ahb:apb/18100000.wmac"
+ WIFI_PATH_CHANGED=1
+ ;;
+ "platform/ar933x_wmac")
+ path="platform/ahb/18100000.wmac"
+ WIFI_PATH_CHANGED=1
+ ;;
+ *)
+ return 0
+ ;;
+ esac
+
+ uci set wireless.${section}.path=${path}
+}
+
+[ "${ACTION}" = "add" ] && {
+ [ ! -e /etc/config/wireless ] && return 0
+
+ config_load wireless
+ config_foreach migrate_wifi_path wifi-device
+
+ [ "${WIFI_PATH_CHANGED}" = "1" ] && uci commit wireless
+}