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 <arinc.unal@arinc9.com>
This commit is contained in:
Arınç ÜNAL 2022-05-04 11:34:29 +03:00 committed by Rafał Miłecki
parent 65258f5d60
commit f4e219fd5e
4 changed files with 48 additions and 17 deletions

View 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

View File

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

View File

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

View File

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