diff options
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-migration | 50 |
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 +} |