]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
packages: nvram: add NVRAM quirks for bcm53xx target
authorArınç ÜNAL <arinc.unal@arinc9.com>
Wed, 4 May 2022 08:34:29 +0000 (11:34 +0300)
committerRafał Miłecki <rafal@milecki.pl>
Wed, 4 May 2022 19:51:20 +0000 (21:51 +0200)
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@arinc9.com>
package/utils/nvram/Makefile
package/utils/nvram/files/nvram-bcm47xx.init [moved from package/utils/nvram/files/nvram.init with 97% similarity]
package/utils/nvram/files/nvram-bcm53xx.init [new file with mode: 0755]
target/linux/bcm53xx/base-files/etc/init.d/clear_partialboot [deleted file]

index 863b304d0d5ef9615cf1f00ed3be4695ff29642a..b957211283d12b8085c7768ec2e7272b7fdc17b5 100644 (file)
@@ -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
 
similarity index 97%
rename from package/utils/nvram/files/nvram.init
rename to package/utils/nvram/files/nvram-bcm47xx.init
index 467ab28195f9ede0909211ecab4c32fb6f53008a..4a2bcd16fee200697fe0f5ae74ec61cf56cde511 100755 (executable)
@@ -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 (executable)
index 0000000..0502cd2
--- /dev/null
@@ -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 (executable)
index b3eddf4..0000000
+++ /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
-}