Jelajahi Sumber

packages: nvram: add NVRAM quirks for bcm53xx target

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 <[email protected]>
Arınç ÜNAL 3 tahun lalu
induk
melakukan
f4e219fd5e

+ 6 - 2
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
 

+ 2 - 2
package/utils/nvram/files/nvram.init → 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
 

+ 40 - 0
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
+}

+ 0 - 13
target/linux/bcm53xx/base-files/etc/init.d/clear_partialboot

@@ -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
-}