packages: nvram: add set_bcm43602_variables quirk for ASUS RT-AC3200
authorChester A. Unal <chester.a.unal@arinc9.com>
Thu, 11 Sep 2025 09:45:32 +0000 (10:45 +0100)
committerDaniel Golle <daniel@makrotopia.org>
Thu, 18 Dec 2025 18:18:48 +0000 (18:18 +0000)
Broadcom BCM43602 needs certain NVRAM variables to be set to function. Add
a quirk for it and add ASUS RT-AC3200 which has got Broadcom BCM43602 to
the quirk. Thanks to Tom Brautaset for finding the needed variables.

Signed-off-by: Chester A. Unal <chester.a.unal@arinc9.com>
package/utils/nvram/Makefile
package/utils/nvram/files/nvram-bcm53xx.init

index ef65ae0cc204c97e69bc118469cf7d4d13a27a64..5430c97dc118bd256908bf0f2c9c727ac9290784 100644 (file)
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=nvram
-PKG_RELEASE:=13
+PKG_RELEASE:=14
 
 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
 
index d17d301c45907730092e847e1845d41b96fa5461..c97c493557c393d1bc9f09900df758a4d9218ef7 100755 (executable)
@@ -39,11 +39,44 @@ set_wireless_led_behaviour() {
        esac
 }
 
+set_bcm43602_variables() {
+       # set variables needed for Broadcom BCM43602
+
+       case $(board_name) in
+               asus,rt-ac3200)
+                       COMMIT=1
+
+                       # radio 0 (5 GHz)
+                       nvram set devpath0=pcie/1/3
+                       nvram set 0:devpath0=sb/1/
+                       nvram set 0:devid=0x43bc
+                       nvram set 0:sromrev=11
+                       nvram set 0:boardflags=0x30040000
+
+                       # radio 1 (2.4 GHz)
+                       nvram set devpath1=pcie/1/4
+                       nvram set 1:devpath1=sb/1/
+                       nvram set 1:devid=0x43bb
+                       nvram set 1:boardrev=0x1421
+                       nvram set 1:sromrev=11
+                       nvram set 1:boardflags=0x20001000
+
+                       # radio 2 (5 GHz)
+                       nvram set devpath2=pcie/2/1
+                       nvram set 2:devpath2=sb/1/
+                       nvram set 2:devid=0x43bc
+                       nvram set 2:sromrev=11
+                       nvram set 2:boardflags=0x30040000
+                       ;;
+       esac
+}
+
 boot() {
        . /lib/functions.sh
 
        clear_partialboots
        set_wireless_led_behaviour
+       set_bcm43602_variables
 
        [ "$COMMIT" = "1" ] && nvram commit
 }