[PATCH v2] packages: nvram: add NVRAM quirks for bcm53xx target

Arınç ÜNAL arinc.unal at arinc9.com
Wed May 4 01:34:29 PDT 2022


Add NVRAM quirks script for the bcm53xx target. Split NVRAM quirks for the
bcm47xx and bcm53xx targets. Move clear partialboot NVRAM quirk for Linksys
EA9500 here. Add set wireless LED behaviour quirk for Asus RT-AC88U.

Use boot() instead of start() as nvram commands are meant to be executed
only once, at boot.

Signed-off-by: Arınç ÜNAL <arinc.unal at arinc9.com>
---
v2: Use boot() instead of start().

---
 package/utils/nvram/Makefile                  |  8 +++-
 .../files/{nvram.init => nvram-bcm47xx.init}  |  4 +-
 package/utils/nvram/files/nvram-bcm53xx.init  | 40 +++++++++++++++++++
 .../base-files/etc/init.d/clear_partialboot   | 13 ------
 4 files changed, 48 insertions(+), 17 deletions(-)
 rename package/utils/nvram/files/{nvram.init => nvram-bcm47xx.init} (97%)
 create mode 100755 package/utils/nvram/files/nvram-bcm53xx.init
 delete mode 100755 target/linux/bcm53xx/base-files/etc/init.d/clear_partialboot

diff --git a/package/utils/nvram/Makefile b/package/utils/nvram/Makefile
index 863b304d0d..b957211283 100644
--- a/package/utils/nvram/Makefile
+++ b/package/utils/nvram/Makefile
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=nvram
-PKG_RELEASE:=10
+PKG_RELEASE:=11
 
 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
 
@@ -44,7 +44,11 @@ define Package/nvram/install
 	$(INSTALL_BIN) $(PKG_BUILD_DIR)/nvram $(1)/usr/sbin/
 ifneq ($(CONFIG_TARGET_bcm47xx),)
 	$(INSTALL_DIR) $(1)/etc/init.d
-	$(INSTALL_BIN) ./files/nvram.init $(1)/etc/init.d/nvram
+	$(INSTALL_BIN) ./files/nvram-bcm47xx.init $(1)/etc/init.d/nvram
+endif
+ifneq ($(CONFIG_TARGET_bcm53xx),)
+	$(INSTALL_DIR) $(1)/etc/init.d
+	$(INSTALL_BIN) ./files/nvram-bcm53xx.init $(1)/etc/init.d/nvram
 endif
 endef
 
diff --git a/package/utils/nvram/files/nvram.init b/package/utils/nvram/files/nvram-bcm47xx.init
similarity index 97%
rename from package/utils/nvram/files/nvram.init
rename to package/utils/nvram/files/nvram-bcm47xx.init
index 467ab28195..4a2bcd16fe 100755
--- a/package/utils/nvram/files/nvram.init
+++ b/package/utils/nvram/files/nvram-bcm47xx.init
@@ -1,7 +1,7 @@
 #!/bin/sh /etc/rc.common
 # NVRAM setup
 #
-# This file handles the NVRAM quirks of various hardware.
+# This file handles the NVRAM quirks of various hardware of the bcm47xx target.
 
 START=02
 alias debug=${DEBUG:-:}
@@ -71,7 +71,7 @@ fixup_linksys() {
 	esac
 }
 
-start() {
+boot() {
 	# Don't do any fixups on the WGT634U
 	[ "$(cat /proc/diag/model)" = "Netgear WGT634U" ] && return
 
diff --git a/package/utils/nvram/files/nvram-bcm53xx.init b/package/utils/nvram/files/nvram-bcm53xx.init
new file mode 100755
index 0000000000..0502cd28b6
--- /dev/null
+++ b/package/utils/nvram/files/nvram-bcm53xx.init
@@ -0,0 +1,40 @@
+#!/bin/sh /etc/rc.common
+# NVRAM setup
+#
+# This file handles the NVRAM quirks of various hardware of the bcm53xx target.
+
+START=02
+
+clear_partialboots() {
+	# clear partialboots
+
+	case $(board_name) in
+		linksys,panamera)
+			COMMIT=1
+			nvram set partialboots=0
+			;;
+	esac
+}
+
+set_wireless_led_behaviour() {
+	# set Broadcom wireless LED behaviour for both radios
+	# 0:ledbh9 -> Behaviour of 2.4GHz LED
+	# 1:ledbh9 -> Behaviour of 5GHz LED
+	# 0x7 makes the wireless LEDs on, when radios are enabled, and blink when there's activity
+
+	case $(board_name) in
+		asus,rt-ac88u)
+			COMMIT=1
+			nvram set 0:ledbh9=0x7 set 1:ledbh9=0x7
+			;;
+	esac
+}
+
+boot() {
+	. /lib/functions.sh
+
+	clear_partialboots
+	set_wireless_led_behaviour
+
+	[ "$COMMIT" = "1" ] && nvram commit
+}
diff --git a/target/linux/bcm53xx/base-files/etc/init.d/clear_partialboot b/target/linux/bcm53xx/base-files/etc/init.d/clear_partialboot
deleted file mode 100755
index b3eddf4af0..0000000000
--- a/target/linux/bcm53xx/base-files/etc/init.d/clear_partialboot
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/bin/sh /etc/rc.common
-
-START=97
-boot() {
-	. /lib/functions.sh
-
-	case $(board_name) in
-		linksys,panamera)
-			# clear partialboots
-			nvram set partialboots=0 && nvram commit
-			;;
-	esac
-}
-- 
2.25.1




More information about the openwrt-devel mailing list