Adding OpenWrt support for ZTE MF286 3g/4g wifi router

@samuelgwx's idea is good. Please try running iperf3 on another device in your network over the wire as a server, and a client on your wireless device, in both directions. This can properly decouple Wi-Fi performance from your LTE performance. I'll try to unpack the firmware and check if there is anything different in that board definition file.

Edit: it is. It seems, that MF286A and R worked just fine with what's present upstream, but it differs too. board-2.bin for MF286C differs substantially.
@victor186 here is the file: https://drive.google.com/file/d/1Ze6NH8-bLN5ZDNejge2xbxrrUjqvyCC3/view?usp=sharing
Please copy it over /lib/firmware/ath10k/QCA9888/hw2.0/board-2.bin and reboot. Do not use that on any other model, it is specific to MF286C only.

1 Like

Yes, thank you, i will test tomorrow.
You can check if have the same thing for 2.4GHz radio?
If work good, can add to official image ?

For ath9k (2.4GHz), I can't do much, everything regarding calibration is loaded from calibration data on your device.
For ath10k (5GHz), if the alteration of board-2.bin fixes your performance, I will upstream the board definition file, and add it together with official support.

Okay, i will try it tomorrow and report to you

@Leo-PL the fix solved the signal problem on 5GHz, but max speed is 300Mb/s DL, but now is possible to use 5GHz far from router, i believe that this fix is ok.
The 2.4 is strange, mimo don't work for DL


Edit:
2.4GHz:

5GHz:

I tested it now on LTE, enabling software and hardware flow offloading improved the performance of both radios and even wired clients on my MF286C.

But even with offload enabled, the 5GHz radio cannot deliver the maximum performance of the modem, max 5GHz speed seems to be 230 Mbps, while the modem can do 300Mbps (or more, idk).

Here are the tests:

2.4GHz 20MHz SW+HW offload DISABLED

2.4GHz 20MHz SW+HW offload ENABLED

5GHz 80MHz SW+HW offload DISABLED

5GHz 80MHz SW+HW offload ENABLED

Wired SW+HW offload DISABLED

Wired SW+HW offload ENABLED

That's strange, but I observe the same for all ath10k devices I had in my hands. For dual-stream clients, they won't exceed around 230Mbps in DL no matter what. As for 2.4GHz, I need to take a look at the calibration data, maybe the radio for some reason is single-stream?

Please show what iw list says. This will help me write the correct specification while adding support. I'll post the updated BDFs upstream soon - when they land, I'll add support in OpenWrt.

And @victor186 please try with SW flow offload enabled. HW flow offload currently does nothing for ath79.

I can't pass over 45Mbps on downlink with 20MHz channel independent of the offload config.
But i don't believe that this device is siso, because the uplink speed's are compatible to mimo 2x2 rate.
1T2R don't make any sense

BusyBox v1.36.1 (2024-07-15 22:14:18 UTC) built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt 23.05.4, r24012-d8dd03c46f
 -----------------------------------------------------
root@OpenWrt:~# iw list
Wiphy phy1
        wiphy index: 1
        max # scan SSIDs: 4
        max scan IEs length: 2257 bytes
        max # sched scan SSIDs: 0
        max # match sets: 0
        Retry short limit: 7
        Retry long limit: 4
        Coverage class: 0 (up to 0m)
        Device supports AP-side u-APSD.
        Device supports T-DLS.
        Available Antennas: TX 0x3 RX 0x3
        Configured Antennas: TX 0x3 RX 0x3
        Supported interface modes:
                 * IBSS
                 * managed
                 * AP
                 * AP/VLAN
                 * monitor
                 * mesh point
                 * P2P-client
                 * P2P-GO
                 * outside context of a BSS
        Band 1:
                Capabilities: 0x11ee
                        HT20/HT40
                        SM Power Save disabled
                        RX HT20 SGI
                        RX HT40 SGI
                        TX STBC
                        RX STBC 1-stream
                        Max AMSDU length: 3839 bytes
                        DSSS/CCK HT40
                Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
                Minimum RX AMPDU time spacing: 8 usec (0x06)
                HT TX/RX MCS rate indexes supported: 0-15
                Frequencies:
                        * 2412 MHz [1] (23.0 dBm)
                        * 2417 MHz [2] (23.0 dBm)
                        * 2422 MHz [3] (23.0 dBm)
                        * 2427 MHz [4] (23.0 dBm)
                        * 2432 MHz [5] (23.0 dBm)
                        * 2437 MHz [6] (23.0 dBm)
                        * 2442 MHz [7] (23.0 dBm)
                        * 2447 MHz [8] (23.0 dBm)
                        * 2452 MHz [9] (23.0 dBm)
                        * 2457 MHz [10] (23.0 dBm)
                        * 2462 MHz [11] (23.0 dBm)
                        * 2467 MHz [12] (23.0 dBm)
                        * 2472 MHz [13] (23.0 dBm)
                        * 2484 MHz [14] (disabled)
        valid interface combinations:
                 * #{ managed } <= 2048, #{ AP, mesh point } <= 8, #{ P2P-client, P2P-GO } <= 1, #{ IBSS } <= 1,
                   total <= 2048, #channels <= 1, STA/AP BI must match, radar detect widths: { 20 MHz (no HT), 20 MHz, 40 MHz }

        HT Capability overrides:
                 * MCS: ff ff ff ff ff ff ff ff ff ff
                 * maximum A-MSDU length
                 * supported channel width
                 * short GI for 40 MHz
                 * max A-MPDU length exponent
                 * min MPDU start spacing
        max # scan plans: 1
        max scan plan interval: -1
        max scan plan iterations: 0
        Supported extended features:
                * [ RRM ]: RRM
                * [ FILS_STA ]: STA FILS (Fast Initial Link Setup)
                * [ CQM_RSSI_LIST ]: multiple CQM_RSSI_THOLD records
                * [ CONTROL_PORT_OVER_NL80211 ]: control port over nl80211
                * [ TXQS ]: FQ-CoDel-enabled intermediate TXQs
                * [ SCAN_RANDOM_SN ]: use random sequence numbers in scans
                * [ SCAN_MIN_PREQ_CONTENT ]: use probe request with only rate IEs in scans
                * [ CAN_REPLACE_PTK0 ]: can safely replace PTK 0 when rekeying
                * [ AIRTIME_FAIRNESS ]: airtime fairness scheduling
                * [ CONTROL_PORT_NO_PREAUTH ]: disable pre-auth over nl80211 control port support
                * [ DEL_IBSS_STA ]: deletion of IBSS station support
                * [ MULTICAST_REGISTRATIONS ]: mgmt frame registration for multicast
                * [ SCAN_FREQ_KHZ ]: scan on kHz frequency support
                * [ CONTROL_PORT_OVER_NL80211_TX_STATUS ]: tx status for nl80211 control port support
Wiphy phy0
        wiphy index: 0
        max # scan SSIDs: 16
        max scan IEs length: 199 bytes
        max # sched scan SSIDs: 0
        max # match sets: 0
        Retry short limit: 7
        Retry long limit: 4
        Coverage class: 0 (up to 0m)
        Device supports AP-side u-APSD.
        Device supports T-DLS.
        Available Antennas: TX 0x3 RX 0x3
        Configured Antennas: TX 0x3 RX 0x3
        Supported interface modes:
                 * IBSS
                 * managed
                 * AP
                 * AP/VLAN
                 * monitor
                 * mesh point
                 * P2P-client
                 * P2P-GO
                 * P2P-device
        Band 2:
                Capabilities: 0x19ef
                        RX LDPC
                        HT20/HT40
                        SM Power Save disabled
                        RX HT20 SGI
                        RX HT40 SGI
                        TX STBC
                        RX STBC 1-stream
                        Max AMSDU length: 7935 bytes
                        DSSS/CCK HT40
                Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
                Minimum RX AMPDU time spacing: 8 usec (0x06)
                HT TX/RX MCS rate indexes supported: 0-15
                VHT Capabilities (0x339979b2):
                        Max MPDU length: 11454
                        Supported Channel Width: neither 160 nor 80+80
                        RX LDPC
                        short GI (80 MHz)
                        TX STBC
                        SU Beamformer
                        SU Beamformee
                        MU Beamformer
                        MU Beamformee
                        RX antenna pattern consistency
                        TX antenna pattern consistency
                VHT RX MCS set:
                        1 streams: MCS 0-9
                        2 streams: MCS 0-9
                        3 streams: not supported
                        4 streams: not supported
                        5 streams: not supported
                        6 streams: not supported
                        7 streams: not supported
                        8 streams: not supported
                VHT RX highest supported: 0 Mbps
                VHT TX MCS set:
                        1 streams: MCS 0-9
                        2 streams: MCS 0-9
                        3 streams: not supported
                        4 streams: not supported
                        5 streams: not supported
                        6 streams: not supported
                        7 streams: not supported
                        8 streams: not supported
                VHT TX highest supported: 0 Mbps
                VHT extended NSS: not supported
                Frequencies:
                        * 5180 MHz [36] (30.0 dBm)
                        * 5200 MHz [40] (30.0 dBm)
                        * 5220 MHz [44] (30.0 dBm)
                        * 5240 MHz [48] (30.0 dBm)
                        * 5260 MHz [52] (30.0 dBm)
                        * 5280 MHz [56] (30.0 dBm)
                        * 5300 MHz [60] (30.0 dBm)
                        * 5320 MHz [64] (30.0 dBm)
                        * 5500 MHz [100] (30.0 dBm)
                        * 5520 MHz [104] (30.0 dBm)
                        * 5540 MHz [108] (30.0 dBm)
                        * 5560 MHz [112] (30.0 dBm)
                        * 5580 MHz [116] (30.0 dBm)
                        * 5600 MHz [120] (30.0 dBm)
                        * 5620 MHz [124] (30.0 dBm)
                        * 5640 MHz [128] (30.0 dBm)
                        * 5660 MHz [132] (30.0 dBm)
                        * 5680 MHz [136] (30.0 dBm)
                        * 5700 MHz [140] (30.0 dBm)
                        * 5720 MHz [144] (30.0 dBm)
                        * 5745 MHz [149] (30.0 dBm)
                        * 5765 MHz [153] (30.0 dBm)
                        * 5785 MHz [157] (30.0 dBm)
                        * 5805 MHz [161] (30.0 dBm)
                        * 5825 MHz [165] (30.0 dBm)
                        * 5845 MHz [169] (disabled)
                        * 5865 MHz [173] (disabled)
        valid interface combinations:
                 * #{ managed } <= 16, #{ AP, mesh point } <= 16, #{ IBSS } <= 1,
                   total <= 16, #channels <= 1, STA/AP BI must match, radar detect widths: { 20 MHz (no HT), 20 MHz, 40 MHz, 80 MHz, 80+80 MHz, 160 MHz }

        HT Capability overrides:
                 * MCS: ff ff ff ff ff ff ff ff ff ff
                 * maximum A-MSDU length
                 * supported channel width
                 * short GI for 40 MHz
                 * max A-MPDU length exponent
                 * min MPDU start spacing
        max # scan plans: 1
        max scan plan interval: -1
        max scan plan iterations: 0
        Maximum associated stations in AP mode: 0
        Supported extended features:
                * [ VHT_IBSS ]: VHT-IBSS
                * [ RRM ]: RRM
                * [ SET_SCAN_DWELL ]: scan dwell setting
                * [ FILS_STA ]: STA FILS (Fast Initial Link Setup)
                * [ CQM_RSSI_LIST ]: multiple CQM_RSSI_THOLD records
                * [ CONTROL_PORT_OVER_NL80211 ]: control port over nl80211
                * [ TXQS ]: FQ-CoDel-enabled intermediate TXQs
                * [ AIRTIME_FAIRNESS ]: airtime fairness scheduling
                * [ AQL ]: Airtime Queue Limits (AQL)
                * [ CONTROL_PORT_NO_PREAUTH ]: disable pre-auth over nl80211 control port support
                * [ DEL_IBSS_STA ]: deletion of IBSS station support
                * [ SCAN_FREQ_KHZ ]: scan on kHz frequency support
                * [ CONTROL_PORT_OVER_NL80211_TX_STATUS ]: tx status for nl80211 control port support
root@OpenWrt:~#

i noticed that the datarate shown in luci drops to 72 ou 65Mbps during throughput test

Edit:

5GHz without offload:

With SW offload on:

Edit:

If ISP drop's connection, the router don't reconnect automatically...

Check if this cable identified as "2.4G_1" is properly attached. Maybe for some reason it's not connected properly.


1 Like

@victor186 please check the above, I'm curious about that in terms of upstreaming the support.
Also, was there anything specific required to install, versus MF286A that did not work? Especially with regards to console connection?

I will verify the cable.
All worked as expected, but with my serial console, i only able to send command's via serial with teraterm program.
Putty don't wrote command's with PL2303.
but this same has ocurred with mi router 3G on another situation.

My suspicion: PuTTY had HW flow control enabled, which wasn't routed anywhere on the USB-serial chip and that blocked sending of data. Maybe you can tie TX with RX and see if it works with PuTTY as well? Installation manual mentions disabling flow control, but maybe it's not obvious - it's the N part in 115200-8-N-1.

I've checked the cables and all is connected.

Why the modem won't reconnect automatically if connection drops?
I'm using script to get the state via uqmi and reset the connection, but my ISP won't give IPv4 + IPv6 dual stack, they uses 464XLAT, the modem only get IPv6, and the state on UQMI return "disconnected" same if the modem is connected and working.
When this disconnect, nothing changes in luci, but internet stop working and i need to manually click "restart" on interface.

The command uqmi -d /dev/cdc-wdm0 --get-data-status | grep "disconnected" only returns true status if the interface has an IPv4 address and the modem does not automatically reconnect in any situation.

@Leo-PL any update related to mf286c official support ?

Accidentally destroyed a Cp2102 but now I have a new one.

  1. how do I "bump up mem value"? N00b here.
  2. I tried flashing 22.03.7 but that fails after multiple lines with:
ath> bootm 0x81000000
## Booting image at 81000000 ...
   Image Name:   MIPS OpenWrt Linux-5.10.221
   Created:      2024-07-15  22:25:54 UTC
   Image Type:   MIPS Linux Kernel Image (lzma compressed)
   Data Size:    5904734 Bytes =  5.6 MB
   Load Address: 80060000
   Entry Point:  80060000
   Verifying Checksum at 0x81000040 ...OK
   Uncompressing Kernel Image ... OK
No initrd
## Transferring control to Linux (at address 80060000) ...
## Giving linux memsize in bytes, 134217728

Starting kernel ...

[    0.000000] Linux version 5.10.221 (builder@buildhost) (mips-openwrt-linux-musl-gcc (OpenWrt GCC 11.2.0 r20341-591b7e93d3) 11.2.0, GNU ld (GNU Binutils) 2.37) #0 Mon Jul 15 22:25:54 2024
[    0.000000] printk: bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 00019750 (MIPS 74Kc)
[    0.000000] MIPS: machine is ZTE MF286A
[    0.000000] SoC: Qualcomm Atheros QCA956X ver 1 rev 0
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[    0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 32480
[    0.000000] Kernel command line: console=ttyS0,115200n8 rootfstype=squashfs,jffs2
[    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes, linear)
[    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes, linear)
[    0.000000] Writing ErrCtl register=00000000
[    0.000000] Readback ErrCtl register=00000000
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 109628K/131072K available (6410K kernel code, 600K rwdata, 792K rodata, 12092K init, 214K bss, 21444K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS: 51
[    0.000000] CPU clock: 775.000 MHz
[    0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 4932285024 ns
[    0.000008] sched_clock: 32 bits at 387MHz, resolution 2ns, wraps every 5541893118ns
[    0.008288] Calibrating delay loop... 385.84 BogoMIPS (lpj=1929216)
[    0.074819] pid_max: default: 32768 minimum: 301
[    0.079812] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.087530] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.097665] dyndbg: Ignore empty _ddebug table in a CONFIG_DYNAMIC_DEBUG_CORE build
[    0.108432] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.118837] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
[    0.126110] pinctrl core: initialized pinctrl subsystem
[    0.135591] NET: Registered protocol family 16
[    0.140927] thermal_sys: Registered thermal governor 'step_wise'
[    0.192121] clocksource: Switched to clocksource MIPS
[    0.204957] NET: Registered protocol family 2
[    0.209749] IP idents hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.218123] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
[    0.227025] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.235134] TCP bind hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.242582] TCP: Hash tables configured (established 1024 bind 1024)
[    0.249400] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.256342] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.263988] NET: Registered protocol family 1
[    0.268608] PCI: CLS 0 bytes, default 32
[    0.458189] workingset: timestamp_bits=14 max_order=15 bucket_order=1
[    0.468555] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.474762] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.486751] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
[    0.497079] pinctrl-single 1804002c.pinmux: 544 pins, size 68
[    0.504210] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[    0.513027] printk: console [ttyS0] disabled
[    0.517599] 18020000.uart: ttyS0 at MMIO 0x18020000 (irq = 9, base_baud = 1562500) is a 16550A
[    0.526742] printk: console [ttyS0] enabled
[    0.526742] printk: console [ttyS0] enabled
[    0.535802] printk: bootconsole [early0] disabled
[    0.535802] printk: bootconsole [early0] disabled
[    0.562637] spi-nand spi0.1: Winbond SPI NAND was found.
[    0.568145] spi-nand spi0.1: 128 MiB, block size: 128 KiB, page size: 2048, OOB size: 64
[    0.578970] 6 fixed-partitions partitions found on MTD device (null)
[    0.585624] OF: Bad cell count for /ahb/spi@1f000000/flash@1/partitions
[    0.592509] OF: Bad cell count for /ahb/spi@1f000000/flash@1/partitions
[    0.600047] OF: Bad cell count for /ahb/spi@1f000000/flash@1/partitions
[    0.606948] OF: Bad cell count for /ahb/spi@1f000000/flash@1/partitions
[    0.614534] Creating 6 MTD partitions on "(null)":
[    0.619497] 0x000000000000-0x0000000a0000 : "fota-flag"
[    0.628865] 0x0000000a0000-0x000000120000 : "art"
[    0.636020] 0x000000120000-0x0000001a0000 : "mac"
[    0.643219] 0x0000001a0000-0x000001800000 : "ubiconcat0"
[    0.671036] 0x000001800000-0x000001c00000 : "kernel"
[    0.681485] 0x000001c00000-0x000008000000 : "ubiconcat1"
[    0.791535] spi-nor spi0.0: mx25l1606e (2048 Kbytes)
[    0.796759] 3 fixed-partitions partitions found on MTD device spi0.0
[    0.803349] Creating 3 MTD partitions on "spi0.0":
[    0.808300] 0x000000000000-0x0000000a0000 : "u-boot"
[    0.815198] 0x0000000a0000-0x0000000c0000 : "u-boot-env"
[    0.821635] 0x0000000c0000-0x000000200000 : "reserved1"
[    0.830736] Concatenating MTD devices:
[    0.834681] (0): "ubiconcat0"
[    0.837743] (1): "ubiconcat1"
[    0.840806] into device "ubi-concat"
[    0.844535] 1 fixed-partitions partitions found on MTD device ubi-concat
[    0.851454] Creating 1 MTD partitions on "ubi-concat":
[    0.856785] 0x000000000000-0x000007a60000 : "ubi"
[    0.875539] ag71xx 19000000.eth: invalid MAC address, using random address
[    1.585526] switch0: Atheros AR8337 rev. 2 switch registered on mdio.0
[    2.243641] ag71xx 19000000.eth: connected to PHY at mdio.0:00 [uid=004dd036, driver=Atheros AR8216/AR8236/AR8316]
[    2.254905] eth0: Atheros AG71xx at 0xb9000000, irq 4, mode: sgmii
[    2.263628] NET: Registered protocol family 10
[    2.275863] Segment Routing with IPv6
[    2.279756] NET: Registered protocol family 17
[    2.284491] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    2.297890] 8021q: 802.1Q VLAN Support v1.8
[    2.306322] PCI host bridge /ahb/pcie-controller@18250000 ranges:
[    2.312696]  MEM 0x0000000012000000..0x0000000013ffffff
[    2.318093]   IO 0x0000000000000000..0x0000000000000000
[    2.323672] PCI host bridge to bus 0000:00
[    2.327910] pci_bus 0000:00: root bus resource [mem 0x12000000-0x13ffffff]
[    2.335040] pci_bus 0000:00: root bus resource [io  0x0000]
[    2.340796] pci_bus 0000:00: root bus resource [??? 0x00000000 flags 0x0]
[    2.347812] pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff]
[    2.356042] pci 0000:00:00.0: [168c:0056] type 00 class 0x028000
[    2.362290] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x001fffff 64bit]
[    2.369419] pci 0000:00:00.0: PME# supported from D0 D3hot
[    2.376327] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 00
[    2.383230] pci 0000:00:00.0: BAR 0: assigned [mem 0x12000000-0x121fffff 64bit]
[    2.395741] UBI error: no valid UBI magic found inside mtd9
[    2.401728] clk: Disabling unused clocks
[    2.473146] Freeing unused kernel memory: 12092K
[    2.477927] This architecture does not have kernel memory protection.
[    2.484607] Run /init as init process
[    3.032531] init: Console is alive
[    3.036471] init: - watchdog -
[    3.060606] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    3.073674] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    3.091607] init: - preinit -
[    3.385757] random: jshn: uninitialized urandom read (4 bytes read)
[    3.468144] random: jshn: uninitialized urandom read (4 bytes read)
[    3.573678] random: jshn: uninitialized urandom read (4 bytes read)
[    4.598587] random: procd: uninitialized urandom read (4 bytes read)
[    4.613087] Atheros AR8216/AR8236/AR8316 mdio.0:00: Port 5 is up
[    4.620814] eth0: link up (1000Mbps/Full duplex)
[    4.631991] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[    4.645136] IPv6: ADDRCONF(NETDEV_CHANGE): eth0.1: link becomes ready
Press the [f] key and hit [enter] to enter failsafe mode
Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level
[    8.794827] eth0: link down
[    8.817054] procd: - early -
[    8.820357] procd: - watchdog -
[    9.446834] procd: - watchdog -
[    9.450448] procd: - ubus -
[    9.461700] random: ubusd: uninitialized urandom read (4 bytes read)
[    9.504358] random: ubusd: uninitialized urandom read (4 bytes read)
[    9.511442] random: ubusd: uninitialized urandom read (4 bytes read)
[    9.521381] procd: - init -
Please press Enter to activate this console.
[   10.187055] kmodloader: loading kernel modules from /etc/modules.d/*
[   10.638694] Loading modules backported from Linux version v5.15.162-0-gf45bea23c39cb
[   10.646751] Backport generated by backports.git v5.15.162-1-0-g9fa1c65c
[   10.874745] PPP generic driver version 2.4.2
[   10.893058] NET: Registered protocol family 24
[   10.984660] Data bus error, epc == 80339190, ra == 82322d04
[   10.990431] Oops[#1]:
[   10.992780] CPU: 0 PID: 604 Comm: kmodloader Not tainted 5.10.221 #0
[   10.999333] $ 0   : 00000000 00000001 deadc0de 00014000
[   11.004743] $ 4   : b81143fc 000143fc 81be1c14 00000004
[   11.010146] $ 8   : 00000000 8039ed3c ffffffff ffffffff
[   11.015549] $12   : ffffffff 00000020 00000000 ffffffff
[   11.020952] $16   : 82c34080 00000018 8287fb44 8287fb48
[   11.026355] $20   : 8287ff43 80000003 00010000 00014000
[   11.031757] $24   : 00000000 00000000                  
[   11.037161] $28   : 8287e000 8287fad0 00031018 82322d04
[   11.042564] Hi    : 00004b5c
[   11.045529] Lo    : 4e910000
[   11.048500] epc   : 80339190 0x80339190
[   11.052467] ra    : 82322d04 0x82322d04 [ath9k_hw@(ptrval)+0x54ee0]
[   11.058933] Status: 1100dc03	KERNEL EXL IE 
[   11.063262] Cause : 4080801c (ExcCode 07)
[   11.067402] PrId  : 00019750 (MIPS 74Kc)
[   11.071441] Modules linked in: ath9k(+) ath9k_common pppoe ppp_async nft_fib_inet nf_flow_table_ipv6 nf_flow_table_ipv4 nf_flow_table_inet ath9k_hw ath pppox ppp_generic nft_reject_ipv6 nft_reject_ipv4 nft_reject_inet nft_reject nft_redir nft_quota nft_objref nft_numgen nft_nat nft_masq nft_log nft_limit nft_hash nft_flow_offload nft_fib_ipv6 nft_fib_ipv4 nft_fib nft_ct nft_counter nft_chain_nat nf_tables nf_nat nf_flow_table nf_conntrack mac80211 cfg80211 slhc nfnetlink nf_reject_ipv6 nf_reject_ipv4 nf_log_ipv6 nf_log_ipv4 nf_log_common nf_defrag_ipv6 nf_defrag_ipv4 libcrc32c crc_ccitt compat sha256_generic libsha256 seqiv jitterentropy_rng drbg hmac cmac gpio_button_hotplug crc32c_generic
[   11.134722] Process kmodloader (pid: 604, threadinfo=(ptrval), task=(ptrval), tls=77efcdf0)
[   11.143337] Stack : 00000005 00000003 00000dc0 00000000 8287faec 00000000 00000220 000003ff
[   11.151974]         8188f000 00008000 82c34080 82c340a8 82320000 8287fbb4 82350000 82323e24
[   11.160610]         00000000 82c34080 00020000 00007000 ffffffe0 82c345b8 82c340a8 82351f60
[   11.169248]         81a6e04c 00000000 81802d00 00000cc0 000186a0 ffffffff 82c34080 82350568
[   11.177885]         99999999 00008000 00000100 82c340a8 00000000 8287fbb4 82350000 82315358
[   11.186523]         ...
[   11.189050] Call Trace:
[   11.189088] [<82320000>] 0x82320000 [ath9k_hw@(ptrval)+0x54ee0]
[   11.197724] [<82323e24>] 0x82323e24 [ath9k_hw@(ptrval)+0x54ee0]
[   11.203855] [<82315358>] 0x82315358 [ath9k_hw@(ptrval)+0x54ee0]
[   11.209981] [<82306ce4>] 0x82306ce4 [ath9k_hw@(ptrval)+0x54ee0]
[   11.216090] [<8041b504>] 0x8041b504
[   11.219707] [<800a0000>] 0x800a0000
[   11.223314] [<81be2864>] 0x81be2864 [ath9k@(ptrval)+0x192d0]
[   11.229160] [<81be494c>] 0x81be494c [ath9k@(ptrval)+0x192d0]
[   11.235000] [<800c4e24>] 0x800c4e24
[   11.238619] [<81bf00a0>] 0x81bf00a0 [ath9k@(ptrval)+0x192d0]
[   11.244466] [<802434ec>] 0x802434ec
[   11.248066] [<803a3c90>] 0x803a3c90
[   11.251671] [<80245bb0>] 0x80245bb0
[   11.255272] [<804195e0>] 0x804195e0
[   11.258870] [<80416ff4>] 0x80416ff4
[   11.262475] [<80417bf0>] 0x80417bf0
[   11.266076] [<8041991c>] 0x8041991c
[   11.269678] [<80388a40>] 0x80388a40
[   11.273277] [<80417bf8>] 0x80417bf8
[   11.276878] [<80417c74>] 0x80417c74
[   11.280484] [<80417bf8>] 0x80417bf8
[   11.284081] [<80414b80>] 0x80414b80
[   11.287694] [<80416298>] 0x80416298
[   11.291304] [<800ec8a4>] 0x800ec8a4
[   11.294908] [<804185bc>] 0x804185bc
[   11.298511] [<81bff000>] 0x81bff000 [ath9k@(ptrval)+0x192d0]
[   11.304352] [<81bff018>] 0x81bff018 [ath9k@(ptrval)+0x192d0]
[   11.310192] [<80060970>] 0x80060970
[   11.313795] [<800eacd4>] 0x800eacd4
[   11.317396] [<801a5688>] 0x801a5688
[   11.321008] [<800eacf4>] 0x800eacf4
[   11.324610] [<800eccb4>] 0x800eccb4
[   11.328218] [<8006e1a8>] 0x8006e1a8
[   11.331819] 
[   11.333351] Code: 0000000f  8c820000  0000000f <03e00008> 00000000  0000000f  94820000  3042ffff  0000000f 
[   11.343430] 
[   11.345033] ---[ end trace a1f83d924ee2fae5 ]---
[   11.349796] Kernel panic - not syncing: Fatal exception
[   11.355193] Rebooting in 1 seconds..

If it boots, the mem value's OK.

When you've booted the initramfs, what model does it say it is ?