diff mbox series

packages: nvram: add NVRAM quirks for bcm53xx target

Message ID 20220331191956.5267-1-arinc.unal@arinc9.com
State Changes Requested
Headers show
Series packages: nvram: add NVRAM quirks for bcm53xx target | expand

Commit Message

Arınç ÜNAL March 31, 2022, 7:19 p.m. UTC
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.

Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
---
 package/utils/nvram/Makefile                  |  8 +++-
 .../files/{nvram.init => nvram-bcm47xx.init}  |  2 +-
 package/utils/nvram/files/nvram-bcm53xx.init  | 40 +++++++++++++++++++
 .../base-files/etc/init.d/clear_partialboot   | 13 ------
 4 files changed, 47 insertions(+), 16 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

Comments

Rafał Miłecki May 3, 2022, 7:20 a.m. UTC | #1
On 31.03.2022 21:19, Arınç ÜNAL wrote:
> 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.
> 
> Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
> ---
>   package/utils/nvram/Makefile                  |  8 +++-
>   .../files/{nvram.init => nvram-bcm47xx.init}  |  2 +-
>   package/utils/nvram/files/nvram-bcm53xx.init  | 40 +++++++++++++++++++
>   .../base-files/etc/init.d/clear_partialboot   | 13 ------
>   4 files changed, 47 insertions(+), 16 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..c95933246c 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:-:}
> diff --git a/package/utils/nvram/files/nvram-bcm53xx.init b/package/utils/nvram/files/nvram-bcm53xx.init
> new file mode 100755
> index 0000000000..d50917c776
> --- /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
> +}
> +
> +start() {
> +	. /lib/functions.sh
> +
> +	clear_partialboots
> +	set_wireless_led_behaviour
> +
> +	[ "$COMMIT" = "1" ] && nvram commit
> +}

Do we want / need to switch from boot() to start()?

I don't have opinion, just making sure it's intentional.


> 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
> -}
Arınç ÜNAL May 3, 2022, 7:44 a.m. UTC | #2
On 03/05/2022 10:20, Rafał Miłecki wrote:
> On 31.03.2022 21:19, Arınç ÜNAL wrote:
>> 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.
>>
>> Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
>> ---
>>   package/utils/nvram/Makefile                  |  8 +++-
>>   .../files/{nvram.init => nvram-bcm47xx.init}  |  2 +-
>>   package/utils/nvram/files/nvram-bcm53xx.init  | 40 +++++++++++++++++++
>>   .../base-files/etc/init.d/clear_partialboot   | 13 ------
>>   4 files changed, 47 insertions(+), 16 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..c95933246c 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:-:}
>> diff --git a/package/utils/nvram/files/nvram-bcm53xx.init 
>> b/package/utils/nvram/files/nvram-bcm53xx.init
>> new file mode 100755
>> index 0000000000..d50917c776
>> --- /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
>> +}
>> +
>> +start() {
>> +    . /lib/functions.sh
>> +
>> +    clear_partialboots
>> +    set_wireless_led_behaviour
>> +
>> +    [ "$COMMIT" = "1" ] && nvram commit
>> +}
> 
> Do we want / need to switch from boot() to start()?
> 
> I don't have opinion, just making sure it's intentional.

Wiki says boot() is executed before start() which is usually used to 
turn on hardware. bcm47xx nvram initscript uses start() so it doesn't 
seem to matter. I tested the patch on my Asus RT-AC88U to make sure the 
initscript works fine.

https://openwrt.org/docs/techref/initscripts#other_functions

Arınç
Hauke Mehrtens May 3, 2022, 8:12 p.m. UTC | #3
On 5/3/22 09:44, Arınç ÜNAL wrote:
> On 03/05/2022 10:20, Rafał Miłecki wrote:
>> On 31.03.2022 21:19, Arınç ÜNAL wrote:
>>> 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.
>>>
>>> Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
>>> ---
>>>   package/utils/nvram/Makefile                  |  8 +++-
>>>   .../files/{nvram.init => nvram-bcm47xx.init}  |  2 +-
>>>   package/utils/nvram/files/nvram-bcm53xx.init  | 40 +++++++++++++++++++
>>>   .../base-files/etc/init.d/clear_partialboot   | 13 ------
>>>   4 files changed, 47 insertions(+), 16 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..c95933246c 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:-:}
>>> diff --git a/package/utils/nvram/files/nvram-bcm53xx.init 
>>> b/package/utils/nvram/files/nvram-bcm53xx.init
>>> new file mode 100755
>>> index 0000000000..d50917c776
>>> --- /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
>>> +}
>>> +
>>> +start() {
>>> +    . /lib/functions.sh
>>> +
>>> +    clear_partialboots
>>> +    set_wireless_led_behaviour
>>> +
>>> +    [ "$COMMIT" = "1" ] && nvram commit
>>> +}
>>
>> Do we want / need to switch from boot() to start()?
>>
>> I don't have opinion, just making sure it's intentional.
> 
> Wiki says boot() is executed before start() which is usually used to 
> turn on hardware. bcm47xx nvram initscript uses start() so it doesn't 
> seem to matter. I tested the patch on my Asus RT-AC88U to make sure the 
> initscript works fine.
> 
> https://openwrt.org/docs/techref/initscripts#other_functions
> 
> Arınç

I think boot() would look better, but it would be good to keep this 
consistent with the bcm47xx code. Using boot() or start() does not make 
a big difference, boot() calls start() anyway.

What about to also change the bcm47xx code to boot()?

The rest looks ok to me.

Hauke
Arınç ÜNAL May 3, 2022, 8:20 p.m. UTC | #4
> On 3 May 2022, at 23:12, Hauke Mehrtens <hauke@hauke-m.de> wrote:
> 
> On 5/3/22 09:44, Arınç ÜNAL wrote:
>>> On 03/05/2022 10:20, Rafał Miłecki wrote:
>>> On 31.03.2022 21:19, Arınç ÜNAL wrote:
>>>> 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.
>>>> 
>>>> Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
>>>> ---
>>>>   package/utils/nvram/Makefile                  |  8 +++-
>>>>   .../files/{nvram.init => nvram-bcm47xx.init}  |  2 +-
>>>>   package/utils/nvram/files/nvram-bcm53xx.init  | 40 +++++++++++++++++++
>>>>   .../base-files/etc/init.d/clear_partialboot   | 13 ------
>>>>   4 files changed, 47 insertions(+), 16 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..c95933246c 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:-:}
>>>> diff --git a/package/utils/nvram/files/nvram-bcm53xx.init b/package/utils/nvram/files/nvram-bcm53xx.init
>>>> new file mode 100755
>>>> index 0000000000..d50917c776
>>>> --- /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
>>>> +}
>>>> +
>>>> +start() {
>>>> +    . /lib/functions.sh
>>>> +
>>>> +    clear_partialboots
>>>> +    set_wireless_led_behaviour
>>>> +
>>>> +    [ "$COMMIT" = "1" ] && nvram commit
>>>> +}
>>> 
>>> Do we want / need to switch from boot() to start()?
>>> 
>>> I don't have opinion, just making sure it's intentional.
>> Wiki says boot() is executed before start() which is usually used to turn on hardware. bcm47xx nvram initscript uses start() so it doesn't seem to matter. I tested the patch on my Asus RT-AC88U to make sure the initscript works fine.
>> https://openwrt.org/docs/techref/initscripts#other_functions
>> Arınç
> 
> I think boot() would look better, but it would be good to keep this consistent with the bcm47xx code. Using boot() or start() does not make a big difference, boot() calls start() anyway.
> 
> What about to also change the bcm47xx code to boot()?

Sure, why not. I’ll send v2.

Arınç
Jo-Philipp Wich May 3, 2022, 9:55 p.m. UTC | #5
Hi,

> I think boot() would look better, but it would be good to keep this consistent
> with the bcm47xx code. Using boot() or start() does not make a big difference,
> boot() calls start() anyway.

an "/etc/init.d/whatever restart" will not execute boot(), which would be a
reason to prefer it over start() for code that is not meant to be (re)executed
by the user.

~ Jo
Arınç ÜNAL May 4, 2022, 8:24 a.m. UTC | #6
On 04/05/2022 00:55, Jo-Philipp Wich wrote:
> Hi,
> 
>> I think boot() would look better, but it would be good to keep this consistent
>> with the bcm47xx code. Using boot() or start() does not make a big difference,
>> boot() calls start() anyway.
> 
> an "/etc/init.d/whatever restart" will not execute boot(), which would be a
> reason to prefer it over start() for code that is not meant to be (re)executed
> by the user.

Makes sense. Will send v2, thank you!

Arınç
diff mbox series

Patch

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..c95933246c 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:-:}
diff --git a/package/utils/nvram/files/nvram-bcm53xx.init b/package/utils/nvram/files/nvram-bcm53xx.init
new file mode 100755
index 0000000000..d50917c776
--- /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
+}
+
+start() {
+	. /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
-}