From 482ea25c22a39dd974bc02ce8b2b98088adf5786 Mon Sep 17 00:00:00 2001
From: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>
Date: Fri, 27 Nov 2020 16:19:24 +0100
Subject: [PATCH] brcm63xx: check <boardid>.nvm

In case we don't have correct nvm, check
for /data/<boardid.nvm> file and recover.

Signed-off-by: Janusz Dziedzic <janusz.dziedzic@iopsys.eu>
---
 iopsys-brcm63xx-arm/disc/base-files/etc/init.d/wifi_bringup | 6 ++++++
 .../smarthub3/base-files/etc/init.d/wifi_bringup            | 6 ++++++
 2 files changed, 12 insertions(+)

diff --git a/iopsys-brcm63xx-arm/disc/base-files/etc/init.d/wifi_bringup b/iopsys-brcm63xx-arm/disc/base-files/etc/init.d/wifi_bringup
index 9b23ea0ba..6bbf961dc 100755
--- a/iopsys-brcm63xx-arm/disc/base-files/etc/init.d/wifi_bringup
+++ b/iopsys-brcm63xx-arm/disc/base-files/etc/init.d/wifi_bringup
@@ -9,9 +9,15 @@ boot() {
 	# always use the data partition as data
 	mountpoint -q /data || mount -t ubifs ubi:data /data
 
+	BOARDID=$(cat /proc/nvram/boardid)
+	NVM_FILE="${BOARDID}.nvm"
+
 	[ ! -s /etc/wlan/kernel_nvram.setting -a -s /etc/wlan/kernel_nvram.fallback ] && \
 		cp  /etc/wlan/kernel_nvram.fallback /etc/wlan/kernel_nvram.setting
 
+	[ -f "/data/$NVM_FILE" ] && \
+		ln -sf "/data/$NVM_FILE" "/etc/wlan/nvram/$NVM_FILE"
+
 	/etc/init.d/hndnvram.sh start && \
 		[ -s /data/.kernel_nvram.setting ] && \
 		/etc/init.d/bcm-wlan-drivers.sh start || \
diff --git a/iopsys-brcm63xx-arm/smarthub3/base-files/etc/init.d/wifi_bringup b/iopsys-brcm63xx-arm/smarthub3/base-files/etc/init.d/wifi_bringup
index 79163de5f..6d0747859 100755
--- a/iopsys-brcm63xx-arm/smarthub3/base-files/etc/init.d/wifi_bringup
+++ b/iopsys-brcm63xx-arm/smarthub3/base-files/etc/init.d/wifi_bringup
@@ -9,9 +9,15 @@ boot() {
 	# always use the data partition as data
 	mountpoint -q /data || mount -t ext4 /dev/data /data
 
+	BOARDID=$(cat /proc/nvram/boardid)
+	NVM_FILE="${BOARDID}.nvm"
+
 	[ ! -s /etc/wlan/kernel_nvram.setting -a -s /etc/wlan/kernel_nvram.fallback ] && \
 		cp  /etc/wlan/kernel_nvram.fallback /etc/wlan/kernel_nvram.setting
 
+	[ -f "/data/$NVM_FILE" ] && \
+		ln -sf "/data/$NVM_FILE" "/etc/wlan/nvram/$NVM_FILE"
+
 	/etc/init.d/hndnvram.sh start && \
 		[ -s /data/.kernel_nvram.setting ] && \
 		/etc/init.d/bcm-wlan-drivers.sh start || \
-- 
GitLab