From 2db9dded0a1a6133398e75006320f6c1f5d0e17b Mon Sep 17 00:00:00 2001 From: Stefan Lippers-Hollmann Date: Fri, 7 May 2021 00:44:03 +0200 Subject: [PATCH] ipq806x: nbg6817: case-insensitive qcom-smem partitions The out-of-tree qcom-smem patches traditionally displayed mtd partition names in upper case, starting with the new mainline qcom-smem support in kernel v5.10, it switches to normalizing the partition names to lower case. Signed-off-by: Stefan Lippers-Hollmann --- .../ipq806x/base-files/etc/board.d/02_network | 5 ++++- .../etc/hotplug.d/firmware/11-ath10k-caldata | 20 +++++++++++++++---- .../ipq806x/base-files/lib/upgrade/zyxel.sh | 5 ++++- 3 files changed, 24 insertions(+), 6 deletions(-) diff --git a/target/linux/ipq806x/base-files/etc/board.d/02_network b/target/linux/ipq806x/base-files/etc/board.d/02_network index 81edc569a75..511794a3cea 100644 --- a/target/linux/ipq806x/base-files/etc/board.d/02_network +++ b/target/linux/ipq806x/base-files/etc/board.d/02_network @@ -69,7 +69,10 @@ ubnt,unifi-ac-hd) ucidef_set_interface_lan "eth0 eth1" ;; zyxel,nbg6817) - hw_mac_addr=$(mtd_get_mac_ascii 0:APPSBLENV ethaddr) + hw_mac_addr=$(mtd_get_mac_ascii 0:appsblenv ethaddr) + # XXX: drop upper case after kernel v5.4 is gone (qcom-smem) + [ -n "$hw_mac_addr" ] || \ + hw_mac_addr=$(mtd_get_mac_ascii 0:APPSBLENV ethaddr) ucidef_add_switch "switch0" \ "1:lan" "2:lan" "3:lan" "4:lan" "6@eth1" "5:wan" "0@eth0" ucidef_set_interface_macaddr "lan" "$(macaddr_add $hw_mac_addr 2)" diff --git a/target/linux/ipq806x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ipq806x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata index 3befc40630c..a05bd99bc71 100644 --- a/target/linux/ipq806x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata +++ b/target/linux/ipq806x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata @@ -45,8 +45,14 @@ case "$FIRMWARE" in ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary default-mac 0x0) -1) ;; zyxel,nbg6817) - caldata_extract "0:ART" 0x1000 0x2f20 - ath10k_patch_mac $(macaddr_add $(mtd_get_mac_ascii 0:APPSBLENV ethaddr) +1) + if [ -b "$(find_mtd_part 0:art)" ]; then + caldata_extract "0:art" 0x1000 0x2f20 + ath10k_patch_mac $(macaddr_add $(mtd_get_mac_ascii 0:appsblenv ethaddr) +1) + else + # XXX: drop upper case after kernel v5.4 is gone (qcom-smem) + caldata_extract "0:ART" 0x1000 0x2f20 + ath10k_patch_mac $(macaddr_add $(mtd_get_mac_ascii 0:APPSBLENV ethaddr) +1) + fi ;; esac ;; @@ -85,8 +91,14 @@ case "$FIRMWARE" in ath10k_patch_mac $(mtd_get_mac_binary default-mac 0x0) ;; zyxel,nbg6817) - caldata_extract "0:ART" 0x5000 0x2f20 - ath10k_patch_mac $(mtd_get_mac_ascii 0:APPSBLENV ethaddr) + if [ -b "$(find_mtd_part 0:art)" ]; then + caldata_extract "0:art" 0x5000 0x2f20 + ath10k_patch_mac $(mtd_get_mac_ascii 0:appsblenv ethaddr) + else + # XXX: drop upper case after kernel v5.4 is gone (qcom-smem) + caldata_extract "0:ART" 0x5000 0x2f20 + ath10k_patch_mac $(mtd_get_mac_ascii 0:APPSBLENV ethaddr) + fi ;; esac ;; diff --git a/target/linux/ipq806x/base-files/lib/upgrade/zyxel.sh b/target/linux/ipq806x/base-files/lib/upgrade/zyxel.sh index cece018b31d..50f8a3ceaf3 100644 --- a/target/linux/ipq806x/base-files/lib/upgrade/zyxel.sh +++ b/target/linux/ipq806x/base-files/lib/upgrade/zyxel.sh @@ -90,7 +90,10 @@ zyxel_do_upgrade() { [ -b "${rootfs}" ] || return 1 case "$board" in zyxel,nbg6817) - local dualflagmtd="$(find_mtd_part 0:DUAL_FLAG)" + local dualflagmtd="$(find_mtd_part 0:dual_flag)" + # XXX: drop upper case after kernel v5.4 is gone (qcom-smem) + [ -b $dualflagmtd ] || \ + dualflagmtd="$(find_mtd_part 0:DUAL_FLAG)" [ -b $dualflagmtd ] || return 1 case "$rootfs" in -- 2.30.2