From e19506f20618bf504abcadb47261a0d69ecf4570 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Santamar=C3=ADa=20Rogado?= Date: Tue, 4 Jun 2019 22:06:17 +0200 Subject: [PATCH] ath79: migrate Archer C7 5GHz radio device paths MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When upgrading a TP-Link Archer C7 v2 from ar71xx to ath79, the 5ghz radio stops working because the device path changed. Some people subtitute the unsupported QCA9880v1 in the Archer v1 with supported QCA9880v2 radio. Since the stock radio doesn't work, so it's safe to apply the change also for the Archer v1 images as well. Also this patch renames the migration file and variables from wmac to wifi. Signed-off-by: David SantamarĂ­a Rogado Signed-off-by: Christian Lamparter [removed comment, added return 0 (not that it matters since uci is clever, see 00-wmac-migration thread), reworded commit message] --- .../{00-wmac-migration => 00-wifi-migration} | 26 ++++++++++++++----- 1 file changed, 20 insertions(+), 6 deletions(-) rename target/linux/ath79/base-files/etc/hotplug.d/ieee80211/{00-wmac-migration => 00-wifi-migration} (50%) diff --git a/target/linux/ath79/base-files/etc/hotplug.d/ieee80211/00-wmac-migration b/target/linux/ath79/base-files/etc/hotplug.d/ieee80211/00-wifi-migration similarity index 50% rename from target/linux/ath79/base-files/etc/hotplug.d/ieee80211/00-wmac-migration rename to target/linux/ath79/base-files/etc/hotplug.d/ieee80211/00-wifi-migration index b051daf98c..b1824303e6 100644 --- a/target/linux/ath79/base-files/etc/hotplug.d/ieee80211/00-wmac-migration +++ b/target/linux/ath79/base-files/etc/hotplug.d/ieee80211/00-wifi-migration @@ -1,22 +1,36 @@ #!/bin/sh -WMAC_PATH_CHANGED=0 +WIFI_PATH_CHANGED=0 . /lib/functions.sh -migrate_wmac_path() { +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" - WMAC_PATH_CHANGED=1 + WIFI_PATH_CHANGED=1 ;; "platform/ar933x_wmac") path="platform/ahb/18100000.wmac" - WMAC_PATH_CHANGED=1 + WIFI_PATH_CHANGED=1 ;; *) return 0 @@ -30,7 +44,7 @@ migrate_wmac_path() { [ ! -e /etc/config/wireless ] && return 0 config_load wireless - config_foreach migrate_wmac_path wifi-device + config_foreach migrate_wifi_path wifi-device - [ "${WMAC_PATH_CHANGED}" = "1" ] && uci commit wireless + [ "${WIFI_PATH_CHANGED}" = "1" ] && uci commit wireless }