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

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