OpenWrt Support for Banana Pi BPI-R3

Ok. We all Know we already have a Snapshot image. But this topic is for ask adding Banana Pi BPI-R3 on next openwrt official release.

As well we discuss Drivers, instalation, troubleshooting and other userful info.

SPECS:
Key Features

. MediaTek MT7986(Filogic 830) Quad core ARM Cortex A53+MT7531 chip design
. Wifi 6 4x4 2.4G Wifi(MT7975N) +4x4 5G Wifi(MT7975P)
. 2G DDR RAM
. 8G eMMC flash
. 2 SFP 2.5GbE
. 5 GbE network port
. POE support (optional)
. Mini PCIe via USB
. M.2 KEY-E PCIe inerface
. Mciro SD card interfact
. 26 PIN GPIO

Openwrt Custom rom by SINOVOIP:
https://github.com/BPI-SINOVOIP/BPI-R3-OPENWRT-V21.02.3

Latest Snapshot version:
https://firmware-selector.openwrt.org/?version=SNAPSHOT&target=mediatek%2Ffilogic&id=bananapi_bpi-r3

Useful Links:

https://wiki.banana-pi.org/Banana_Pi_BPI-R3
https://forum.banana-pi.org/t/banana-pi-bpi-r3-openwrt-image/13236

if it's already in snapshot, it should be in the next stable.

1 Like

https://downloads.openwrt.org/snapshots/targets/mediatek/filogic/

It's on snapshot since 22
But it don't get a official release.
22.03.3 released this week and it is not on the release.

that's not the next stable, it's the current stable.
see the difference ?

1 Like

If we download all the images from here:

https://firmware-selector.openwrt.org/?version=SNAPSHOT&target=mediatek%2Ffilogic&id=bananapi_bpi-r3

What can we do with the preloaders and the uboot fip images? How can we flash those preloaders an images to NOR, NAND and EMMC if we want to?

Generally all you need is the sdcard image. The rest are primarily only of interest to developers.

If you want to use NAND, NOR, or EMMC, then you will also need a USB-to-serial adapter so you can use the bootloader menu. You have to be careful about the brand, there is a slight hardware issue where some serial adapters have pull resistors that are too small and when they are connected cause the device's wi-fi to malfunction. I recommend FTDI adapters.

First step is to prepare and boot off an sdcard:
gzip -dc openwrt-mediatek-filogic-bananapi_bpi-r3-sdcard.img.gz > /dev/sdX

Then boot from the sdcard by setting the DIP switches (all up). You will get this boot menu:

If you want to boot from NAND you can use the menu to install bootloader, recovery, and production to NAND. Then set the dips to UP DOWN UP DOWN and reboot. You will boot into NAND.

EMMC is a two-step process, because it shares the same SoC interface as the sdcard. So first you have to copy to NAND, boot to NAND, and then use the menu to install to EMMC. Once you have installed into EMMC you can set the dips to DOWN UP UP DOWN and boot EMMC.

There is no real advantage to using EMMC on the R3, since you can never use EMMC and the sdcard slot at the same time. So you can't, say, boot EMMC and then use the sdcard slot for storage. But it's there and usable.

1 Like

Is it already stable and working on both bands in parallel?
I'm thinking of buying one.

No need of serial for flashing emmc.
look at my post here:

3 Likes

Yes it's stable on both bands.
best cost benefit mid/high end router, get it with case and antenas.
I highly recommend this board.

1 Like

If you meant is there a stable OpenWrt release for it yet, the answer is no. It is slated to be part of the next major release. As of right now, though, it is only available on snapshot builds.

100% true.

1 Like

Thank you. I received mine yesterday evening. I've two questions (for now): what kind of cooling do you use and do you use SFP? If you do: do you know of 1/2.5GB compatible modules?

  • 20x20mm (15mm tall) aluminum heatsink for the SoC
  • 15x15 (9mm tall) copper heatsinks for the two mt7975 AFE radio chips
  • NAB SuperMax 0.5mm thick semi-adhesive pads
  • Drilled ventilation holes in a pattern on the case above the SoC/Radios
    This is probably the single most important step, since their case has no ventilation
  • Nothing on the DRAM, EMMC or mt7531 chips

See:

Here are a couple

1 Like

Thanks all. Getting it to 23.05-rc1 was very easy, thanks to @piradopirata. And I put a 20x20x11mm copper heatsink on the cpu and 15x15x15 standard heatsinks on the radio's and drilled some holes in the cover plate; I will put a photo of it in the sinovoip topic.

Anyway, I am now trying to set it up as a router for my ISP including IPTV. For me it is not clear weather eth0 or eth1 is WAN.

my device seems to not be playing nice with my internet modem i have tried it on a cable modem is bridge mode and fiber straight connected. but both after 20ish minutes cause havoc internet going down etc are there some logs i can post to pinpoint whats going wrong?
im running rc1

Not without any logs.

You don't by any chance have the same subnet on the wan as in the lan. It shouldn't be if modem really is bridged, but doesn't hurt to ask.

its on dhcp and not on same subnet which logs can i supply you with?
i have tried 2 different modems and both go into wan whcih is set to dhcp and both after time seems to completely destroy connectivity

post the output of dmesg.
but also the content of /etc/config/network

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 5.15.114 (builder@buildhost) (aarch64-openwrt-linux-musl-gcc (OpenWrt GCC 12.3.0 r23069-e2701e0f33) 12.3.0, GNU ld (GNU Binutils) 2.40.0) #0 SMP Sat Jun 3 09:42:00 2023
[    0.000000] Machine model: Bananapi BPI-R3
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000040000000-0x00000000bfffffff]
[    0.000000]   DMA32    empty
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000040000000-0x0000000042ffffff]
[    0.000000]   node   0: [mem 0x0000000043000000-0x000000004302ffff]
[    0.000000]   node   0: [mem 0x0000000043030000-0x000000004fbfffff]
[    0.000000]   node   0: [mem 0x000000004fc00000-0x000000004ffbffff]
[    0.000000]   node   0: [mem 0x000000004ffc0000-0x00000000bfffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x00000000bfffffff]
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.1 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: MIGRATE_INFO_TYPE not supported.
[    0.000000] psci: SMC Calling Convention v1.2
[    0.000000] percpu: Embedded 17 pages/cpu s30040 r8192 d31400 u69632
[    0.000000] pcpu-alloc: s30040 r8192 d31400 u69632 alloc=17*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: detected: GIC system register CPU interface
[    0.000000] CPU features: kernel page table isolation disabled by kernel configuration
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 516096
[    0.000000] Kernel command line: root=/dev/ubiblock0_2p1
[    0.000000] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[    0.000000] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 2040956K/2097152K available (8384K kernel code, 910K rwdata, 1468K rodata, 448K init, 301K bss, 56196K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] 	Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GICv3: GIC: Using split EOI/Deactivate mode
[    0.000000] GICv3: 640 SPIs implemented
[    0.000000] GICv3: 0 Extended SPIs implemented
[    0.000000] GICv3: Distributor has no Range Selector support
[    0.000000] Root IRQ handler: 0xffffffc008421134
[    0.000000] GICv3: 16 PPIs implemented
[    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x000000000c080000
[    0.000000] arch_timer: cp15 timer(s) running at 13.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x2ff89eacb, max_idle_ns: 440795202429 ns
[    0.000000] sched_clock: 56 bits at 13MHz, resolution 76ns, wraps every 4398046511101ns
[    0.000134] Calibrating delay loop (skipped), value calculated using timer frequency.. 26.00 BogoMIPS (lpj=130000)
[    0.000142] pid_max: default: 32768 minimum: 301
[    0.000358] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.000371] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.001413] rcu: Hierarchical SRCU implementation.
[    0.001724] smp: Bringing up secondary CPUs ...
[    0.001983] Detected VIPT I-cache on CPU1
[    0.002006] GICv3: CPU1: found redistributor 1 region 0:0x000000000c0a0000
[    0.002032] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[    0.002292] Detected VIPT I-cache on CPU2
[    0.002303] GICv3: CPU2: found redistributor 2 region 0:0x000000000c0c0000
[    0.002314] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[    0.002552] Detected VIPT I-cache on CPU3
[    0.002563] GICv3: CPU3: found redistributor 3 region 0:0x000000000c0e0000
[    0.002573] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
[    0.002598] smp: Brought up 1 node, 4 CPUs
[    0.002612] SMP: Total of 4 processors activated.
[    0.002615] CPU features: detected: 32-bit EL0 Support
[    0.002618] CPU features: detected: CRC32 instructions
[    0.002640] CPU features: emulated: Privileged Access Never (PAN) using TTBR0_EL1 switching
[    0.002694] CPU: All CPU(s) started at EL2
[    0.002703] alternatives: patching kernel code
[    0.005748] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.005771] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.005917] pinctrl core: initialized pinctrl subsystem
[    0.006542] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.006792] DMA: preallocated 256 KiB GFP_KERNEL pool for atomic allocations
[    0.006823] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.006849] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.007102] thermal_sys: Registered thermal governor 'fair_share'
[    0.007105] thermal_sys: Registered thermal governor 'bang_bang'
[    0.007108] thermal_sys: Registered thermal governor 'step_wise'
[    0.007111] thermal_sys: Registered thermal governor 'user_space'
[    0.007304] ASID allocator initialised with 65536 entries
[    0.007633] pstore: Registered ramoops as persistent store backend
[    0.007637] ramoops: using 0x10000@0x42ff0000, ecc: 0
[    0.017405] cryptd: max_cpu_qlen set to 1000
[    0.019288] SCSI subsystem initialized
[    0.019373] libata version 3.00 loaded.
[    0.020244] clocksource: Switched to clocksource arch_sys_counter
[    0.020701] NET: Registered PF_INET protocol family
[    0.020815] IP idents hash table entries: 32768 (order: 6, 262144 bytes, linear)
[    0.021466] tcp_listen_portaddr_hash hash table entries: 1024 (order: 2, 16384 bytes, linear)
[    0.021486] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.021494] TCP established hash table entries: 16384 (order: 5, 131072 bytes, linear)
[    0.021561] TCP bind hash table entries: 16384 (order: 6, 262144 bytes, linear)
[    0.021735] TCP: Hash tables configured (established 16384 bind 16384)
[    0.021810] UDP hash table entries: 1024 (order: 3, 32768 bytes, linear)
[    0.021837] UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes, linear)
[    0.021955] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.021974] PCI: CLS 0 bytes, default 64
[    0.024117] workingset: timestamp_bits=46 max_order=19 bucket_order=0
[    0.026771] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.026784] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.048711] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
[    0.049881] pwm-mediatek 10048000.pwm: clock: top fail: -517
[    0.050204] mtk-pcie-gen3 11280000.pcie: host bridge /soc/pcie@11280000 ranges:
[    0.050225] mtk-pcie-gen3 11280000.pcie: Parsing ranges property...
[    0.050235] mtk-pcie-gen3 11280000.pcie:      MEM 0x0020000000..0x002fffffff -> 0x0020000000
[    0.050310] phy phy-soc:t-phy@11c00000.0: u3 auto load valid efuse: ENABLE with value: 1
[    0.050342] phy phy-soc:t-phy@11c00000.0: pcie auto load valid efuse: ENABLE with value: 1
[    0.050366] phy phy-soc:t-phy@11c00000.0: u3 lane1 efuse - intr 28, rx_imp f, tx_imp e
[    0.050431] /soc/pcie@11280000: Failed to get clk index: 0 ret: -517
[    0.050443] mtk-pcie-gen3 11280000.pcie: failed to get clocks
[    0.053201] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[    0.054905] printk: console [ttyS0] disabled
[    0.075075] 11002000.serial: ttyS0 at MMIO 0x11002000 (irq = 122, base_baud = 2500000) is a ST16650V2
[    0.780220] printk: console [ttyS0] enabled
[    0.805008] 11003000.serial: ttyS1 at MMIO 0x11003000 (irq = 123, base_baud = 1625000) is a ST16650V2
[    0.814848] mtk_rng 1020f000.trng: registered RNG driver
[    0.814906] hwrng: no data available
[    0.820412] cacheinfo: Unable to detect cache hierarchy for CPU 0
[    0.831891] loop: module loaded
[    0.835040] Loading iSCSI transport class v2.0-870.
[    0.841355] spi-nand spi0.0: Winbond SPI NAND was found.
[    0.846663] spi-nand spi0.0: 128 MiB, block size: 128 KiB, page size: 2048, OOB size: 64
[    0.854930] 4 fixed-partitions partitions found on MTD device spi0.0
[    0.861274] Creating 4 MTD partitions on "spi0.0":
[    0.866048] 0x000000580000-0x000008000000 : "ubi"
[    0.994837] 0x000000380000-0x000000580000 : "fip"
[    1.001868] 0x000000080000-0x000000380000 : "reserved"
[    1.010309] 0x000000000000-0x000000080000 : "bl2"
[    1.143441] mtk_soc_eth 15100000.ethernet eth0: mediatek frame engine at 0xffffffc009700000, irq 134
[    1.153228] mtk_soc_eth 15100000.ethernet eth1: mediatek frame engine at 0xffffffc009700000, irq 134
[    1.162785] i2c_dev: i2c /dev entries driver
[    1.168553] mtk-wdt 1001c000.watchdog: Watchdog enabled (timeout=31 sec, nowayout=0)
[    1.177089] NET: Registered PF_INET6 protocol family
[    1.182718] Segment Routing with IPv6
[    1.186391] In-situ OAM (IOAM) with IPv6
[    1.190357] NET: Registered PF_PACKET protocol family
[    1.195414] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    1.208445] 8021q: 802.1Q VLAN Support v1.8
[    1.213473] pstore: Using crash dump compression: deflate
[    1.224559] mtk-pcie-gen3 11280000.pcie: host bridge /soc/pcie@11280000 ranges:
[    1.231976] mtk-pcie-gen3 11280000.pcie: Parsing ranges property...
[    1.238229] mtk-pcie-gen3 11280000.pcie:      MEM 0x0020000000..0x002fffffff -> 0x0020000000
[    1.246697] phy phy-soc:t-phy@11c00000.0: u3 auto load valid efuse: ENABLE with value: 1
[    1.254795] phy phy-soc:t-phy@11c00000.0: pcie auto load valid efuse: ENABLE with value: 1
[    1.263058] phy phy-soc:t-phy@11c00000.0: u3 lane1 efuse - intr 28, rx_imp f, tx_imp e
[    1.297390] mtk-msdc 11230000.mmc: phase: [map:ffffffff] [maxlen:32] [final:10]
[    1.306322] mmc0: new HS400 MMC card at address 0001
[    1.312107] mmcblk0: mmc0:0001 008GB0 7.28 GiB 
[    1.318238] mmcblk0boot0: mmc0:0001 008GB0 4.00 MiB 
[    1.324027] mmcblk0boot1: mmc0:0001 008GB0 4.00 MiB 
[    1.329213] mmcblk0rpmb: mmc0:0001 008GB0 4.00 MiB, chardev (250:0)
[    1.490260] mtk-pcie-gen3 11280000.pcie: PCIe link down, ltssm reg val: 0x1000001
[    1.497750] mtk-pcie-gen3: probe of 11280000.pcie failed with error -110
[    1.526321] mt7530-mdio mdio-bus:1f: configuring for fixed/2500base-x link mode
[    1.535461] mt7530-mdio mdio-bus:1f: Link is Up - 2.5Gbps/Full - flow control rx/tx
[    1.544148] mt7530-mdio mdio-bus:1f wan (uninitialized): PHY [mt7530-0:00] driver [MediaTek MT7531 PHY] (irq=142)
[    1.564493] mt7530-mdio mdio-bus:1f lan1 (uninitialized): PHY [mt7530-0:01] driver [MediaTek MT7531 PHY] (irq=143)
[    1.584508] mt7530-mdio mdio-bus:1f lan2 (uninitialized): PHY [mt7530-0:02] driver [MediaTek MT7531 PHY] (irq=144)
[    1.604518] mt7530-mdio mdio-bus:1f lan3 (uninitialized): PHY [mt7530-0:03] driver [MediaTek MT7531 PHY] (irq=145)
[    1.624525] mt7530-mdio mdio-bus:1f lan4 (uninitialized): PHY [mt7530-0:04] driver [MediaTek MT7531 PHY] (irq=146)
[    1.635645] DSA: tree 0 setup
[    1.640779] UBI: auto-attach mtd0
[    1.644093] ubi0: default fastmap pool size: 45
[    1.648606] ubi0: default fastmap WL pool size: 22
[    1.653391] ubi0: attaching mtd0
[    5.266794] ubi0: scanning is finished
[    5.311975] ubi0: attached mtd0 (name "ubi", size 122 MiB)
[    5.317456] ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
[    5.324321] ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
[    5.331095] ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096
[    5.338034] ubi0: good PEBs: 980, bad PEBs: 0, corrupted PEBs: 0
[    5.344024] ubi0: user volume: 6, internal volumes: 1, max. volumes count: 128
[    5.351226] ubi0: max/mean erase counter: 2/1, WL threshold: 4096, image sequence number: 0
[    5.359553] ubi0: available PEBs: 0, total reserved PEBs: 980, PEBs reserved for bad PEB handling: 20
[    5.368754] ubi0: background thread "ubi_bgt0d" started, PID 533
[    5.374823] FIT: Selected configuration: "config-mt7986a-bananapi-bpi-r3-emmc-snand" (OpenWrt bananapi_bpi-r3 with mt7986a-bananapi-bpi-r3-emmc-snand)
[    5.388287] FIT:           kernel sub-image 0x00001000..0x004ebe3a "kernel-1" (ARM64 OpenWrt Linux-5.15.114) 
[    5.398185] FIT:          flat_dt sub-image 0x004ec000..0x004f3fff "fdt-1" (ARM64 OpenWrt bananapi_bpi-r3 device tree blob) 
[    5.409386] FIT:          flat_dt sub-image 0x004f4000..0x004fbfff "fdt-mt7986a-bananapi-bpi-r3-nor" (ARM64 OpenWrt bananapi_bpi-r3 device tree overlay mt7986a-bananapi-bpi-r3-nor) 
[    5.425527] FIT:          flat_dt sub-image 0x004fc000..0x00503fff "fdt-mt7986a-bananapi-bpi-r3-emmc-nor" (ARM64 OpenWrt bananapi_bpi-r3 device tree overlay mt7986a-bananapi-bpi-r3-emmc-nor) 
[    5.442535] FIT:          flat_dt sub-image 0x00504000..0x0050bfff "fdt-mt7986a-bananapi-bpi-r3-emmc-snand" (ARM64 OpenWrt bananapi_bpi-r3 device tree overlay mt7986a-bananapi-bpi-r3-emmc-snand) 
[    5.459889] FIT:          flat_dt sub-image 0x0050c000..0x00513fff "fdt-mt7986a-bananapi-bpi-r3-snand" (ARM64 OpenWrt bananapi_bpi-r3 device tree overlay mt7986a-bananapi-bpi-r3-snand) 
[    5.476373] FIT:       filesystem sub-image 0x00514000..0x00a54fff "rootfs-1" (ARM64 OpenWrt bananapi_bpi-r3 rootfs) 
[    5.486961] FIT: selecting configured loadable "rootfs-1" to be root filesystem
[    5.494252]  ubiblock0_2: p1(rootfs-1)
[    5.494386] block ubiblock0_2: created from ubi0:2(fit)
[    5.526995] VFS: Mounted root (squashfs filesystem) readonly on device 259:0.
[    5.534276] Freeing unused kernel memory: 448K
[    5.570279] Run /sbin/init as init process
[    5.574358]   with arguments:
[    5.577308]     /sbin/init
[    5.579999]   with environment:
[    5.583128]     HOME=/
[    5.585473]     TERM=linux
[    6.104504] init: Console is alive
[    6.108016] init: - watchdog -
[    6.930259] random: crng init done
[    7.238225] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    7.295961] usbcore: registered new interface driver usbfs
[    7.301492] usbcore: registered new interface driver hub
[    7.306819] usbcore: registered new device driver usb
[    7.315404] phy phy-soc:t-phy@11e10000.1: u2 auto load valid efuse: ENABLE with value: 1
[    7.323569] phy phy-soc:t-phy@11e10000.2: u3 auto load valid efuse: ENABLE with value: 1
[    7.331707] phy phy-soc:t-phy@11e10000.3: u2 auto load valid efuse: ENABLE with value: 1
[    7.340254] xhci-mtk 11200000.usb: xHCI Host Controller
[    7.345471] xhci-mtk 11200000.usb: new USB bus registered, assigned bus number 1
[    7.355925] xhci-mtk 11200000.usb: hcc params 0x01403f99 hci version 0x110 quirks 0x0000000000210010
[    7.365086] xhci-mtk 11200000.usb: irq 126, io mem 0x11200000
[    7.370909] xhci-mtk 11200000.usb: xHCI Host Controller
[    7.376118] xhci-mtk 11200000.usb: new USB bus registered, assigned bus number 2
[    7.383502] xhci-mtk 11200000.usb: Host supports USB 3.2 Enhanced SuperSpeed
[    7.390911] hub 1-0:1.0: USB hub found
[    7.394669] hub 1-0:1.0: 2 ports detected
[    7.398914] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
[    7.407250] hub 2-0:1.0: USB hub found
[    7.411023] hub 2-0:1.0: 1 port detected
[    7.417365] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    7.429538] init: - preinit -
[    7.850254] usb 1-1: new high-speed USB device number 2 using xhci-mtk
[    8.030947] hub 1-1:1.0: USB hub found
[    8.034762] hub 1-1:1.0: 4 ports detected
[    8.125441] mtk_soc_eth 15100000.ethernet eth0: configuring for fixed/2500base-x link mode
[    8.133887] mtk_soc_eth 15100000.ethernet eth0: Link is Up - 2.5Gbps/Full - flow control rx/tx
[    8.140479] mt7530-mdio mdio-bus:1f lan1: configuring for phy/gmii link mode
[   10.211283] UBIFS (ubi0:5): Mounting in unauthenticated mode
[   10.216994] UBIFS (ubi0:5): background thread "ubifs_bgt0_5" started, PID 654
[   10.446623] UBIFS (ubi0:5): recovery needed
[   11.041749] UBIFS (ubi0:5): recovery completed
[   11.046231] UBIFS (ubi0:5): UBIFS: mounted UBI device 0, volume 5, name "rootfs_data"
[   11.054051] UBIFS (ubi0:5): LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes
[   11.063943] UBIFS (ubi0:5): FS size: 90660864 bytes (86 MiB, 714 LEBs), max 725 LEBs, journal size 4571136 bytes (4 MiB, 36 LEBs)
[   11.075568] UBIFS (ubi0:5): reserved for root: 4282136 bytes (4181 KiB)
[   11.082164] UBIFS (ubi0:5): media format: w5/r0 (latest is w5/r0), UUID 7A983F13-47BA-4D1F-8C3E-4A9B26AF873A, small LPT model
[   11.145301] mount_root: switching to ubifs overlay
[   11.175133] overlayfs: null uuid detected in lower fs '/', falling back to xino=off,index=off,nfs_export=off.
[   11.211794] urandom-seed: Seeding with /etc/urandom.seed
[   11.938713] procd: - early -
[   11.941688] procd: - watchdog -
[   12.539123] procd: - watchdog -
[   12.559087] procd: - ubus -
[   12.747036] procd: - init -
[   13.893836] urngd: v1.0.2 started.
[   14.917223] kmodloader: loading kernel modules from /etc/modules.d/*
[   15.331373] i2c-gpio i2c-gpio-0: using lines 427 (SDA) and 428 (SCL)
[   15.338003] i2c-gpio i2c-gpio-1: using lines 429 (SDA) and 430 (SCL)
[   15.347077] crypto-safexcel 10320000.crypto: EIP97:230(0,1,4,4)-HIA:270(0,5,5),PE:150/433(alg:7fcdfc00)/0/0/0
[   15.384082] Loading modules backported from Linux version v6.1.24-0-g0102425ac76b
[   15.391570] Backport generated by backports.git v5.15.92-1-44-gd6ea70fafd36
[   15.445084] sfp sfp1: Host maximum power 3.0W
[   15.450181] sfp sfp2: Host maximum power 3.0W
[   15.466193] xt_time: kernel timezone is -0000
[   16.066356] mt7986-wmac 18000000.wmac: HW/SW Version: 0x8a108a10, Build Time: 20221012174743a
[   16.066356] 
[   16.556376] mt7986-wmac 18000000.wmac: WM Firmware Version: ____000000, Build Time: 20221012174805
[   16.774226] mt7986-wmac 18000000.wmac: WA Firmware Version: DEV_000000, Build Time: 20221012174937
[   19.576255] PPP generic driver version 2.4.2
[   19.582498] NET: Registered PF_PPPOX protocol family
[   19.727820] wireguard: WireGuard 1.0.0 loaded. See www.wireguard.com for information.
[   19.735654] wireguard: Copyright (C) 2015-2019 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved.
[   20.177909] batman_adv: B.A.T.M.A.N. advanced 2023.1-openwrt-2 (compatibility version 15) loaded
[   20.191371] kmodloader: done loading kernel modules from /etc/modules.d/*
[   26.557468] mtk_soc_eth 15100000.ethernet eth0: Link is Down
[   26.569290] mtk_soc_eth 15100000.ethernet eth0: configuring for fixed/2500base-x link mode
[   26.577761] mtk_soc_eth 15100000.ethernet eth0: Link is Up - 2.5Gbps/Full - flow control rx/tx
[   26.578790] mt7530-mdio mdio-bus:1f lan1: configuring for phy/gmii link mode
[   26.594221] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   26.600731] br-lan: port 1(lan1) entered blocking state
[   26.605951] br-lan: port 1(lan1) entered disabled state
[   26.613291] device lan1 entered promiscuous mode
[   26.617900] device eth0 entered promiscuous mode
[   26.647342] mt7530-mdio mdio-bus:1f lan2: configuring for phy/gmii link mode
[   26.657238] br-lan: port 2(lan2) entered blocking state
[   26.662515] br-lan: port 2(lan2) entered disabled state
[   26.670405] device lan2 entered promiscuous mode
[   26.683837] mt7530-mdio mdio-bus:1f lan3: configuring for phy/gmii link mode
[   26.693974] br-lan: port 3(lan3) entered blocking state
[   26.695680] mt7530-mdio mdio-bus:1f lan3: Link is Up - 1Gbps/Full - flow control rx/tx
[   26.699196] br-lan: port 3(lan3) entered disabled state
[   26.714829] device lan3 entered promiscuous mode
[   26.728673] br-lan: port 3(lan3) entered blocking state
[   26.733930] br-lan: port 3(lan3) entered forwarding state
[   26.739664] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
[   26.751267] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan.3: link becomes ready
[   26.758084] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan.4: link becomes ready
[   26.764916] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan.99: link becomes ready
[   26.773759] mt7530-mdio mdio-bus:1f lan4: configuring for phy/gmii link mode
[   26.783596] br-lan: port 4(lan4) entered blocking state
[   26.788825] br-lan: port 4(lan4) entered disabled state
[   26.796883] device lan4 entered promiscuous mode
[   26.809921] mt7530-mdio mdio-bus:1f sfp2: configuring for inband/2500base-x link mode
[   26.819687] br-lan: port 5(sfp2) entered blocking state
[   26.824968] br-lan: port 5(sfp2) entered disabled state
[   26.833139] device sfp2 entered promiscuous mode
[   26.846809] mtk_soc_eth 15100000.ethernet eth1: configuring for inband/2500base-x link mode
[   26.857026] br-wan: port 1(eth1) entered blocking state
[   26.862326] br-wan: port 1(eth1) entered disabled state
[   26.867755] device eth1 entered promiscuous mode
[   26.874305] br-wan: port 1(eth1) entered blocking state
[   26.879544] br-wan: port 1(eth1) entered forwarding state
[   26.886813] mt7530-mdio mdio-bus:1f wan: configuring for phy/gmii link mode
[   26.896978] br-wan: port 2(wan) entered blocking state
[   26.898698] mt7530-mdio mdio-bus:1f wan: Link is Up - 1Gbps/Full - flow control rx/tx
[   26.902158] br-wan: port 2(wan) entered disabled state
[   26.916660] device wan entered promiscuous mode
[   26.923666] br-wan: port 2(wan) entered blocking state
[   26.928816] br-wan: port 2(wan) entered forwarding state
[   27.610110] br-wan: port 1(eth1) entered disabled state
[   29.237748] br-lan: port 6(phy0-ap0) entered blocking state
[   29.243365] br-lan: port 6(phy0-ap0) entered disabled state
[   29.249152] device phy0-ap0 entered promiscuous mode
[   31.469533] IPv6: ADDRCONF(NETDEV_CHANGE): phy0-ap0: link becomes ready
[   31.476392] br-lan: port 6(phy0-ap0) entered blocking state
[   31.482013] br-lan: port 6(phy0-ap0) entered forwarding state
[   31.549096] br-lan: port 7(phy0-ap1) entered blocking state
[   31.554776] br-lan: port 7(phy0-ap1) entered disabled state
[   31.560592] device phy0-ap1 entered promiscuous mode
[   31.567970] br-lan: port 7(phy0-ap1) entered blocking state
[   31.573578] br-lan: port 7(phy0-ap1) entered forwarding state
[   31.732573] IPv6: ADDRCONF(NETDEV_CHANGE): phy0-ap1: link becomes ready
[   31.741686] br-lan: port 8(phy0-ap2) entered blocking state
[   31.747267] br-lan: port 8(phy0-ap2) entered disabled state
[   31.753177] device phy0-ap2 entered promiscuous mode
[   31.762275] br-lan: port 8(phy0-ap2) entered blocking state
[   31.767862] br-lan: port 8(phy0-ap2) entered forwarding state
[   31.982310] IPv6: ADDRCONF(NETDEV_CHANGE): phy0-ap2: link becomes ready
[   32.662557] br-lan: port 9(phy1-ap0) entered blocking state
[   32.668134] br-lan: port 9(phy1-ap0) entered disabled state
[   32.673936] device phy1-ap0 entered promiscuous mode
[   33.654047] IPv6: ADDRCONF(NETDEV_CHANGE): phy1-ap0: link becomes ready
[   33.660828] br-lan: port 9(phy1-ap0) entered blocking state
[   33.666400] br-lan: port 9(phy1-ap0) entered forwarding state
[   33.674725] br-lan: port 10(phy1-ap1) entered blocking state
[   33.680484] br-lan: port 10(phy1-ap1) entered disabled state
[   33.686354] device phy1-ap1 entered promiscuous mode
[   33.695535] br-lan: port 10(phy1-ap1) entered blocking state
[   33.701265] br-lan: port 10(phy1-ap1) entered forwarding state
[   33.707462] br-lan: port 10(phy1-ap1) entered disabled state
[   33.851851] IPv6: ADDRCONF(NETDEV_CHANGE): phy1-ap1: link becomes ready
[   33.858599] br-lan: port 10(phy1-ap1) entered blocking state
[   33.864262] br-lan: port 10(phy1-ap1) entered forwarding state
[   33.872142] br-lan: port 11(phy1-ap2) entered blocking state
[   33.877812] br-lan: port 11(phy1-ap2) entered disabled state
[   33.883773] device phy1-ap2 entered promiscuous mode
[   33.891998] br-lan: port 11(phy1-ap2) entered blocking state
[   33.897665] br-lan: port 11(phy1-ap2) entered forwarding state
[   34.051863] IPv6: ADDRCONF(NETDEV_CHANGE): phy1-ap2: link becomes ready
root@banana:~# cat /etc/config/network 

config interface 'loopback'
	option device 'lo'
	option proto 'static'
	option ipaddr '127.0.0.1'
	option netmask '255.0.0.0'

config globals 'globals'
	option ula_prefix 'fd3c:ab8b:419d::/48'

config device
	option name 'br-lan'
	option type 'bridge'
	list ports 'lan1'
	list ports 'lan2'
	list ports 'lan3'
	list ports 'lan4'
	list ports 'sfp2'

config interface 'lan'
	option device 'br-lan.99'
	option proto 'static'
	option ipaddr '10.0.1.1'
	option netmask '255.255.255.0'
	option ip6assign '60'

config device
	option name 'br-wan'
	option type 'bridge'
	list ports 'eth1'
	list ports 'wan'
	option macaddr '6C:3B:6B:42:44:92'

config device
	option name 'eth1'
	option macaddr '6C:3B:6B:42:44:92'

config device
	option name 'wan'
	option macaddr '6C:3B:6B:42:44:92'

config interface 'wan'
	option device 'br-wan'
	option proto 'dhcp'

config interface 'wan6'
	option device 'br-wan'
	option proto 'dhcpv6'

config interface 'xxx'
	option proto 'wireguard'
	option private_key 'xxx'
	list addresses '10.100.100.6'

config wireguard_xxx
	option description 'xxx'
	option public_key 'xxx'
	option preshared_key 'xxx'
	list allowed_ips '10.100.100.0/24'
	option endpoint_host 'xxx.org'
	option endpoint_port '51820'
	option persistent_keepalive '25'
	option route_allowed_ips '1'

config wireguard_wireguard
	option description 'xxxx'
	option public_key 'xxx'
	option preshared_key 'xxxx'
	list allowed_ips '10.0.2.2/32'
	option route_allowed_ips '1'
	option persistent_keepalive '25'

config wireguard_wireguard
	option description 'xxxx'
	option public_key 'lrwOD+pLYCQ/KMHZL1U8VDaBlaDlmV9WrrvPyTaFMh4='
	option preshared_key 'aNG6S6aC7oLa78Io8XZUf8va9YKFojRS02/JyuguM3s='
	list allowed_ips '10.0.2.3/32'
	option route_allowed_ips '1'
	option persistent_keepalive '25'

config interface 'wireguard'
	option proto 'wireguard'
	option private_key 'xxxxxxxxxxxxxxxx'
	option listen_port '51820'
	list addresses '10.0.2.1/24'

config interface 'Guest'
	option proto 'static'
	option ipaddr '10.0.8.1'
	option netmask '255.255.255.0'
	option device 'br-lan.4'

config interface 'IoT'
	option proto 'static'
	option ipaddr '10.0.9.1'
	option netmask '255.255.255.0'
	option device 'br-lan.3'

config bridge-vlan
	option device 'br-lan'
	option vlan '4'
	list ports 'lan1:t'

config bridge-vlan
	option device 'br-lan'
	option vlan '99'
	list ports 'lan1:t'
	list ports 'lan2'
	list ports 'lan3:u*'
	list ports 'lan4'
	list ports 'sfp2'

config bridge-vlan
	option device 'br-lan'
	option vlan '3'
	list ports 'lan1:t'

is this is just after a reboot ?
we need to see if there's anything in dmesg after the outage happens.