Adding OpenWrt Support for TP-Link Archer AX23v2

JP1 should be the primary candidate for UART.

You don’t need to pry anything else open, the IPQ0509 SoC is part of the IPQ5018 family and I see a QCN6102 WiFi chip for 5G (2x2). This board is supportable, but you need have serial access first.. perhaps soldering is required

It looks like the pulldowns have been removed. Use a multi meter and probe the solder pads around jp1 right after power reset.. make sure the ground is good when probing.

Well, at least we now know no v1 or v1.2 image will work here...
I'll add a warning to the wiki.

I have soldered a few wires to JP1 but I didnt receive any signal. I don't know which pulldowns are you referring to. I'm really new in these concerns, could you explain it further?

Indeed I tried to flash them before I know that my board was a v2, nothing bad happen hopefully.

I think I made sense over your wise words :slight_smile:

Pads over JP1

Closing up to the pins inside the squares:

Left square:

Upper left pin: Suspected TX because while pining i got to a different boot mode, maybe i wrote to tx and stopped boot?
Bottom pin: Direct connectio to third pin of JP1
Upper right pin: Idk, 3.5 kohm while powered off, 1v79 powered on.

Right square:

Upper left pin: Moving voltage I suspect RX
Bottom pin: Direct connection to fourth JP1 pin
Upper right pin: Same as the other square, 3.5 kohm while powered off, 1v79 powered on.

Advices, insight, next steps?

connect your USB TTL to GND, and something pointy to the location on the PCB where the voltage keeps shifting, hopefully you'll find the Tx pin, connect it to the TTL's Rx pin.

1 Like

We have a winner, left square right upper pad got signal, a huge boot log was shown in the screen, great success i guess :slight_smile:.

tty configuration:

*** baud: 115200
*** flow: none
*** parity: none
*** databits: 8
*** stopbits: 1
*** dtr: up
*** rts: up
*** mctl: DTR:1 DSR:0 DCD:0 RTS:1 CTS:0 RI:0

Should I solder this pins directly to get permanent connection or should go to the hardware store and find a pulldown which could work?

Or most important question, how unstable is connection without the pulldowns? are they really necessary?

power cycle the router, post the 1st part of the boot sequence, up until when the kernel boot starts.

can't help you with the pull downs, sorry.

1 Like

I think then I will assume risk and create a soldering iron bridge from upper left to bottom to enable JP1 for easy connection.

First log shown after powering on:


U-Boot 2016.01 (Nov 08 2024 - 12:27:28 +0800), Build: jenkins-Router-Archer_AX23v2-6


DRAM:  smem ram ptable found: ver: 1 len: 4

256 MiB

USB: Node Not found, skipping initialization

NAND:  QPIC controller support serial NAND

ID = 7f7f11c8

Vendor = c8

Device = 11

Serial Nand Device Found With ID : 0xc8 0x11

Serial NAND device Manufacturer:F50D1G41LB(2M)

Device Size:128 MiB, Page size:2048, Spare Size:64, ECC:4-bit

SF: Unsupported flash IDs: manuf 00, jedec 0000, ext_jedec 0000

ipq_spi: SPI Flash not found (bus/cs/speed/mode) = (0/0/48000000/0)

128 MiB

MMC:   sdhci: Node Not found, skipping initialization


*** Warning - bad CRC, using default environment


PCI0 is not defined in the device tree

PCI1 is not defined in the device tree

In:    serial@78AF000

Out:   serial@78AF000

Err:   serial@78AF000

machid: 8040000

eth0 MAC Address from ART is not valid

eth1 MAC Address from ART is not valid

led_gpio init done~

button_init done~

Hit any key to stop autoboot:  1  0 

-----------------key 14 addr 0x0100e004 val 0x1

Find no boot alter flag!

ubi0: attaching mtd1

ubi0: scanning is finished

ubi0: attached mtd1 (name "mtd=0", size 53 MiB)

ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes

ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048

ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096

ubi0: good PEBs: 428, bad PEBs: 0, corrupted PEBs: 0

ubi0: user volume: 2, internal volumes: 1, max. volumes count: 128

ubi0: max/mean erase counter: 1/0, WL threshold: 4096, image sequence number: 1128647985

ubi0: available PEBs: 200, total reserved PEBs: 228, PEBs reserved for bad PEB handling: 20

Read 0 bytes from volume kernel to 44000000

No size specified -> Using max size (3360276)

## Loading kernel from FIT Image at 44000000 ...

   Using 'config@mp02.1' configuration

   Trying 'kernel@1' kernel subimage

     Description:  ARM OpenWrt Linux-4.4.60

     Type:         Kernel Image

     Compression:  lzma compressed

     Data Start:   0x440000e4

     Data Size:    1931814 Bytes = 1.8 MiB

     Architecture: ARM

     OS:           Linux

     Load Address: 0x41208000

     Entry Point:  0x41208000

     Hash algo:    crc32

     Hash value:   9f8dec79

     Hash algo:    sha1

     Hash value:   1c97e6553c1fb7699e6b47f72e677d03ae59d0d9

   Verifying Hash Integrity ... crc32+ sha1+ OK

## Loading fdt from FIT Image at 44000000 ...

   Using 'config@mp02.1' configuration

   Trying 'fdt@mp02.1' fdt subimage

     Description:  ARM OpenWrt qcom-ipq50xx-mpxx device tree blob

     Type:         Flat Device Tree

     Compression:  uncompressed

     Data Start:   0x443089bc

     Data Size:    60232 Bytes = 58.8 KiB

     Architecture: ARM

     Hash algo:    crc32

     Hash value:   8c3cf793

     Hash algo:    sha1

     Hash value:   6138e7897da50dd5056432f1074b561ce80afd9e

   Verifying Hash Integrity ... crc32+ sha1+ OK

   Booting using the fdt blob at 0x443089bc

   Uncompressing Kernel Image ... OK

   Loading Device Tree to 4a3ee000, end 4a3ffb47 ... OK

Could not find PCI in device tree

Could not find PCI in device tree

Using machid 0x8040000 from environment


Starting kernel ...

this is the part you want to test, if boot loader is interruptible.

I have achieve complete UART and I have stopped boot getting to uboot shell.

For documentation:

UART Setup for TPLink Archer AX23 v2

What I have done is create a bridge with soldering iron from uppers left pads to bottom pads as you can see in the image, this will lead TX and RX to JP1, pin 3 and 4 respectively. Then optionally I have installed pin headers to JP1 for more comfortable usage.

1 Like

good job !! i was just going to mention bridging the points

nice work!

now, grab one of the initramfs:es from https://downloads.openwrt.org/snapshots/targets/qualcommax/ipq50xx/, and try to TFTP boot it using u-boot's tftpboot and bootm commands.

Great job, well done.

Can you share the entire boot log of the kernel?

I did my best, I got the point where I was able to load initramfs from my tftp server and I did:

IPQ5018# bootm 0x42000000
## Loading kernel from FIT Image at 42000000 ...
   Using 'config@mp03.1' configuration
   Trying 'kernel-1' kernel subimage
     Description:  ARM64 OpenWrt Linux-6.6.87
     Type:         Kernel Image
     Compression:  lzma compressed
     Data Start:   0x420000e8
     Data Size:    13930481 Bytes = 13.3 MiB
     Architecture: AArch64
     OS:           Linux
     Load Address: 0x41000000
     Entry Point:  0x41000000
     Hash algo:    crc32
     Hash value:   c98c5ee0
     Hash algo:    sha1
     Hash value:   04882fbb9f61abc0cf0b67b1b66e03ae435b5d8c
   Verifying Hash Integrity ... crc32+ sha1+ OK
## Loading fdt from FIT Image at 42000000 ...
   Using 'config@mp03.1' configuration
   Trying 'fdt-1' fdt subimage
     Description:  ARM64 OpenWrt linksys_mr5500 device tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x42d4921c
     Data Size:    27673 Bytes = 27 KiB
     Architecture: AArch64
     Hash algo:    crc32
     Hash value:   81d72f9e
     Hash algo:    sha1
     Hash value:   01057dea2748fc671644b76d2dce89ef7a28b81f
   Verifying Hash Integrity ... crc32+ sha1+ OK
   Booting using the fdt blob at 0x42d4921c
   Uncompressing Kernel Image ... OK
ERROR: new format image overwritten - must RESET the board to recover
resetting ...


U-Boot 2016.01 (Nov 08 2024 - 12:27:28 +0800), Build: jenkins-Router-Archer_AX23v2-6

What iwas supposed to happen? Because the router boot up (apparently) as usual. except for the ERROR message :sad_but_relieved_face:

Full log of archer ax23 v2

I found the error, I didn't leave space to decompress image properly.

This is the log for the boot with openwrt-qualcommax-ipq50xx-linksys_mr5500-initramfs-uImage.itb:

Log
IPQ5018# bootm 0x48000000
## Loading kernel from FIT Image at 48000000 ...
   Using 'config@mp03.1' configuration
   Trying 'kernel-1' kernel subimage
     Description:  ARM64 OpenWrt Linux-6.6.87
     Type:         Kernel Image
     Compression:  lzma compressed
     Data Start:   0x480000e8
     Data Size:    13930481 Bytes = 13.3 MiB
     Architecture: AArch64
     OS:           Linux
     Load Address: 0x41000000
     Entry Point:  0x41000000
     Hash algo:    crc32
     Hash value:   c98c5ee0
     Hash algo:    sha1
     Hash value:   04882fbb9f61abc0cf0b67b1b66e03ae435b5d8c
   Verifying Hash Integrity ... crc32+ sha1+ OK
## Loading fdt from FIT Image at 48000000 ...
   Using 'config@mp03.1' configuration
   Trying 'fdt-1' fdt subimage
     Description:  ARM64 OpenWrt linksys_mr5500 device tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x48d4921c
     Data Size:    27673 Bytes = 27 KiB
     Architecture: AArch64
     Hash algo:    crc32
     Hash value:   81d72f9e
     Hash algo:    sha1
     Hash value:   01057dea2748fc671644b76d2dce89ef7a28b81f
   Verifying Hash Integrity ... crc32+ sha1+ OK
   Booting using the fdt blob at 0x48d4921c
   Uncompressing Kernel Image ... OK
   Loading Device Tree to 4a3f6000, end 4a3ffc18 ... OK
Could not find PCI in device tree
Could not find PCI in device tree
Using machid 0x8040000 from environment

Starting kernel ...

Jumping to AARCH64 kernel via monitor
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x51af8014]
[    0.000000] Linux version 6.6.87 (builder@buildhost) (aarch64-openwrt-linux-musl-gcc (OpenWrt GCC 13.3.0 r29245-71446d8052) 13.3.0, GNU ld (GNU Binutils) 2.42) #0 SMP Tue Apr 15 22:43:34 2025
[    0.000000] Machine model: Linksys MR5500
[    0.000000] OF: reserved mem: 0x000000004a400000..0x000000004a7fffff (4096 KiB) nomap non-reusable tz_apps@4a400000
[    0.000000] OF: reserved mem: 0x000000004a800000..0x000000004a9fffff (2048 KiB) nomap non-reusable bootloader@4a800000
[    0.000000] OF: reserved mem: 0x000000004aa00000..0x000000004aafffff (1024 KiB) nomap non-reusable sbl@4aa00000
[    0.000000] OF: reserved mem: 0x000000004ab00000..0x000000004abfffff (1024 KiB) nomap non-reusable smem@4ab00000
[    0.000000] OF: reserved mem: 0x000000004ac00000..0x000000004adfffff (2048 KiB) nomap non-reusable tz@4ac00000
[    0.000000] OF: reserved mem: 0x000000004b000000..0x000000004dffffff (49152 KiB) nomap non-reusable q6_mem_regions@4b000000
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000040000000-0x000000004fffffff]
[    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-0x000000004a3fffff]
[    0.000000]   node   0: [mem 0x000000004a400000-0x000000004adfffff]
[    0.000000]   node   0: [mem 0x000000004ae00000-0x000000004affffff]
[    0.000000]   node   0: [mem 0x000000004b000000-0x000000004dffffff]
[    0.000000]   node   0: [mem 0x000000004e000000-0x000000004fffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x000000004fffffff]
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.0 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.0
[    0.000000] psci: OSI mode supported.
[    0.000000] psci: [Firmware Bug]: failed to set PC mode: -1
[    0.000000] percpu: Embedded 18 pages/cpu s36136 r8192 d29400 u73728
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: detected: Spectre-v4
[    0.000000] alternatives: applying boot alternatives
[    0.000000] Kernel command line: console=ttyMSM0,115200n8 root=/dev/ubiblock0_0 coherent_pool=2M
[    0.000000] Dentry cache hash table entries: 32768 (order: 6, 262144 bytes, linear)
[    0.000000] Inode-cache hash table entries: 16384 (order: 5, 131072 bytes, linear)
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 64512
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] software IO TLB: SWIOTLB bounce buffer size adjusted to 0MB
[    0.000000] software IO TLB: area num 2.
[    0.000000] software IO TLB: SWIOTLB bounce buffer size roundup to 0MB
[    0.000000] software IO TLB: mapped [mem 0x000000004fe59000-0x000000004fed9000] (0MB)
[    0.000000] Memory: 173648K/262144K available (8512K kernel code, 912K rwdata, 2488K rodata, 11008K init, 295K bss, 88496K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] rcu: 	RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
[    0.000000] 	Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] Root IRQ handler: gic_handle_irq
[    0.000000] GICv2m: range[mem 0x0b00a000-0x0b00aff7], SPI[448:479]
[    0.000000] GICv2m: range[mem 0x0b00b000-0x0b00bff7], SPI[480:511]
[    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[    0.000000] arch_timer: cp15 and mmio timer(s) running at 24.00MHz (virt/virt).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns
[    0.000000] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
[    0.000120] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000)
[    0.000137] pid_max: default: 32768 minimum: 301
[    0.005031] Mount-cache hash table entries: 512 (order: 0, 4096 bytes, linear)
[    0.005052] Mountpoint-cache hash table entries: 512 (order: 0, 4096 bytes, linear)
[    0.010681] RCU Tasks Trace: Setting shift to 1 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=2.
[    0.011081] rcu: Hierarchical SRCU implementation.
[    0.011093] rcu: 	Max phase no-delay instances is 1000.
[    0.012218] smp: Bringing up secondary CPUs ...
[    0.013323] Detected VIPT I-cache on CPU1
[    0.013466] CPU1: Booted secondary processor 0x0000000001 [0x51af8014]
[    0.013654] smp: Brought up 1 node, 2 CPUs
[    0.013674] SMP: Total of 2 processors activated.
[    0.013682] CPU features: detected: 32-bit EL0 Support
[    0.013688] CPU features: detected: CRC32 instructions
[    0.013780] CPU features: emulated: Privileged Access Never (PAN) using TTBR0_EL1 switching
[    0.013790] CPU: All CPU(s) started at EL1
[    0.013793] alternatives: applying system-wide alternatives
[    0.022149] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.022186] futex hash table entries: 512 (order: 3, 32768 bytes, linear)
[    0.023957] pinctrl core: initialized pinctrl subsystem
[    0.026633] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.027720] DMA: preallocated 2048 KiB GFP_KERNEL pool for atomic allocations
[    0.028056] DMA: preallocated 2048 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.028364] DMA: preallocated 2048 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.028977] thermal_sys: Registered thermal governor 'step_wise'
[    0.029100] cpuidle: using governor menu
[    0.029365] ASID allocator initialised with 65536 entries
[    0.035067] /soc@0/phy@86000: Fixed dependency cycle(s) with /soc@0/clock-controller@1800000
[    0.035221] /soc@0/clock-controller@1800000: Fixed dependency cycle(s) with /soc@0/phy@86000
[    0.035319] /soc@0/interrupt-controller@b000000: Fixed dependency cycle(s) with /soc@0/interrupt-controller@b000000
[    0.035883] /soc@0/phy@86000: Fixed dependency cycle(s) with /soc@0/clock-controller@1800000
[    0.039304] /soc@0/phy@86000: Fixed dependency cycle(s) with /soc@0/clock-controller@1800000
[    0.039463] /soc@0/clock-controller@1800000: Fixed dependency cycle(s) with /soc@0/phy@86000
[    0.055017] Modules: 26928 pages in range for non-PLT usage
[    0.055033] Modules: 518448 pages in range for PLT usage
[    0.060759] SCSI subsystem initialized
[    0.061047] usbcore: registered new interface driver usbfs
[    0.061100] usbcore: registered new interface driver hub
[    0.061161] usbcore: registered new device driver usb
[    0.061556] qcom_scm: convention: smc arm 64
[    0.065229] clocksource: Switched to clocksource arch_sys_counter
[    0.069558] NET: Registered PF_INET protocol family
[    0.069815] IP idents hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.072296] tcp_listen_portaddr_hash hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.072333] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.072357] TCP established hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.072389] TCP bind hash table entries: 2048 (order: 4, 65536 bytes, linear)
[    0.072477] TCP: Hash tables configured (established 2048 bind 2048)
[    0.073086] MPTCP token hash table entries: 256 (order: 0, 6144 bytes, linear)
[    0.073296] UDP hash table entries: 256 (order: 1, 8192 bytes, linear)
[    0.073329] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear)
[    0.073868] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.073933] PCI: CLS 0 bytes, default 64
[    0.089204] workingset: timestamp_bits=46 max_order=16 bucket_order=0
[    0.089982] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.090003] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.094619] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 248)
[    0.100390] qcom-m31usb-phy 5b000.phy: Registered M31 USB phy
[    0.114468] qcom-pcie a0000000.pcie: host bridge /soc@0/pcie@a0000000 ranges:
[    0.114574] qcom-pcie a0000000.pcie:       IO 0x00a0200000..0x00a02fffff -> 0x00a0200000
[    0.114617] qcom-pcie a0000000.pcie:      MEM 0x00a0300000..0x00b02fffff -> 0x00a0300000
[    0.130816] ------------[ cut here ]------------
[    0.130845] gcc_pcie0_axi_m_clk status stuck at 'off'
[    0.130928] WARNING: CPU: 0 PID: 34 at drivers/clk/qcom/clk-branch.c:86 clk_branch_wait+0x114/0x124
[    0.130986] Modules linked in:
[    0.131000] CPU: 0 PID: 34 Comm: kworker/u4:1 Not tainted 6.6.87 #0
[    0.131019] Hardware name: Linksys MR5500 (DT)
[    0.131027] Workqueue: events_unbound async_run_entry_fn
[    0.131052] pstate: 604000c5 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[    0.131066] pc : clk_branch_wait+0x114/0x124
[    0.131083] lr : clk_branch_wait+0x114/0x124
[    0.131096] sp : ffffffc081eaba40
[    0.131100] x29: ffffffc081eaba40 x28: 0000000000000000 x27: 61c8864680b583eb
[    0.131116] x26: ffffff8000011028 x25: ffffffc0816444e0 x24: ffffff800ff903f0
[    0.131131] x23: ffffffc080a3fe30 x22: 0000000000000001 x21: ffffffc080449e2c
[    0.131146] x20: 0000000000000000 x19: ffffffc081648020 x18: fffffffffffe0000
[    0.131161] x17: 000000001df47976 x16: 00000000d9abcc87 x15: fffffffffffc22a0
[    0.131176] x14: 0000000000000000 x13: 6f27207461206b63 x12: 7574732073757461
[    0.131191] x11: 656820747563205b x10: 0000000000000027 x9 : ffffffc0815bbe58
[    0.131205] x8 : ffffffc081eab820 x7 : ffffffc0816149f0 x6 : 0000000000000000
[    0.131220] x5 : 0000000000000075 x4 : 0000000000000000 x3 : 0000000000000000
[    0.131233] x2 : ffffffc0815bbdf0 x1 : ffffffc0815bbdf0 x0 : 0000000000000029
[    0.131249] Call trace:
[    0.131253]  clk_branch_wait+0x114/0x124
[    0.131269]  clk_branch2_enable+0x30/0x40
[    0.131282]  clk_core_enable+0x6c/0xac
[    0.131292]  clk_enable+0x28/0x54
[    0.131303]  clk_bulk_enable+0x4c/0xd8
[    0.131320]  qcom_pcie_init_2_9_0+0x88/0xfc
[    0.131332]  qcom_pcie_host_init+0x48/0x150
[    0.131343]  dw_pcie_host_init+0x150/0x608
[    0.131355]  qcom_pcie_probe+0x1d0/0x2e8
[    0.131366]  platform_probe+0x68/0xc4
[    0.131386]  really_probe+0x148/0x2b0
[    0.131397]  __driver_probe_device+0x78/0x128
[    0.131407]  driver_probe_device+0x40/0xdc
[    0.131417]  __driver_attach_async_helper+0x4c/0xb4
[    0.131428]  async_run_entry_fn+0x30/0x15c
[    0.131445]  process_one_work+0x17c/0x2f8
[    0.131456]  worker_thread+0x2e8/0x4d4
[    0.131465]  kthread+0xdc/0xe0
[    0.131481]  ret_from_fork+0x10/0x20
[    0.131494] ---[ end trace 0000000000000000 ]---
[    0.131506] Failed to enable clk 'axi_m': -16
[    0.131556] qcom-pcie a0000000.pcie: cannot initialize host
[    0.131627] qcom-pcie: probe of a0000000.pcie failed with error -16
[    0.356585] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[    0.364150] msm_serial 78af000.serial: msm_serial: detected port #0
[    0.364212] msm_serial 78af000.serial: uartclk = 1843199
[    0.364862] 78af000.serial: ttyMSM0 at MMIO 0x78af000 (irq = 21, base_baud = 115199) is a MSM
[    0.364918] msm_serial: console setup on port #0
[    0.365015] printk: console [ttyMSM0] enabled
[    1.388352] msm_serial: driver initialized
[    1.403935] loop: module loaded
[    1.411181] spi-nand spi0.0: ESMT SPI NAND was found.
[    1.411229] spi-nand spi0.0: 128 MiB, block size: 128 KiB, page size: 2048, OOB size: 64
[    1.432390] 18 fixed-partitions partitions found on MTD device spi0.0
[    1.432452] Creating 18 MTD partitions on "spi0.0":
[    1.437885] 0x000000000000-0x000000080000 : "0:SBL1"
[    1.444671] 0x000000080000-0x000000100000 : "0:MIBIB"
[    1.450279] 0x000000100000-0x000000200000 : "0:QSEE"
[    1.455747] 0x000000200000-0x000000240000 : "0:DEVCFG"
[    1.459417] 0x000000240000-0x000000280000 : "0:CDT"
[    1.464349] 0x000000280000-0x000000300000 : "0:APPSBLENV"
[    1.469607] 0x000000300000-0x000000440000 : "0:APPSBL"
[    1.476442] 0x000000440000-0x000000540000 : "0:ART"
[    1.481036] 0x000000540000-0x0000005c0000 : "0:TRAINING"
[    1.484955] 0x0000005c0000-0x000000640000 : "u_env"
[    1.490627] 0x000000640000-0x000000680000 : "s_env"
[    1.494652] 0x000000680000-0x0000006c0000 : "devinfo"
[    1.499935] 0x0000006c0000-0x0000058c0000 : "kernel"
[    1.646532] 0x000000ec0000-0x0000058c0000 : "rootfs"
[    1.648030] mtd: setting mtd13 (rootfs) as root device
[    1.651318] mtdsplit: no squashfs found in "rootfs"
[    1.655611] 0x0000058c0000-0x00000aac0000 : "alt_kernel"
[    1.660303] mtd: partition "alt_kernel" extends beyond the end of device "spi0.0" -- size truncated to 0x2740000
[    1.735804] 0x0000060c0000-0x00000aac0000 : "alt_rootfs"
[    1.735855] mtd: partition "alt_rootfs" extends beyond the end of device "spi0.0" -- size truncated to 0x1f40000
[    1.741454] 0x00000aac0000-0x00000acc0000 : "sysdiag"
[    1.750390] mtd: partition "sysdiag" is out of reach -- disabled
[    1.756424] 0x00000acc0000-0x00000f0c0000 : "syscfg"
[    1.761380] mtd: partition "syscfg" is out of reach -- disabled
[    1.826597] qca8k 90000.mdio-1:11: Switch id detected ff but expected 13
[    1.826785] i2c_dev: i2c /dev entries driver
[    1.836475] cpufreq: cpufreq_online: CPU0: Running at unlisted initial frequency: 799999 KHz, changing to: 1008000 KHz
[    1.838116] sdhci: Secure Digital Host Controller Interface driver
[    1.847328] sdhci: Copyright(c) Pierre Ossman
[    1.853300] sdhci-pltfm: SDHCI platform and OF driver helper
[    1.864131] remoteproc remoteproc0: releasing cd00000.remoteproc
[    1.938641] NET: Registered PF_INET6 protocol family
[    1.941075] Segment Routing with IPv6
[    1.942745] In-situ OAM (IOAM) with IPv6
[    1.946417] NET: Registered PF_PACKET protocol family
[    1.950301] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    1.955792] 8021q: 802.1Q VLAN Support v1.8
[    2.032470] remoteproc remoteproc0: cd00000.remoteproc is available
[    2.032589] qcom-q6-mpd cd00000.remoteproc: pd-1 node found
[    2.039587] remoteproc remoteproc1: pd-1 is available
[    2.045888] clk: Disabling unuse^@[    2.059323] Freeing unused kernel memory: 11008K
[    2.059693] Run /init as init process
[    2.534305] init: Console is alive
[    2.534746] init: - watchdog -
[    2.554048] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    2.582738] gpio_button_hotplug: loading out-of-tree module taints kernel.
[    2.599355] ssdk_dt_parse_mac_mode[299]:INFO:mac mode1 doesn't exit!
[    2.599408] ssdk_dt_parse_mac_mode[307]:INFO:mac mode2 doesn't exit!
[    2.605319] ssdk_dt_parse_port_bmp[1063]:INFO:port_bmp doesn't exist!
[    2.611148] ssdk_dt_parse_interrupt[941]:INFO:intr-gpio does not exist
[    4.235258] ssdk_mp_reset_init[1297]:INFO:MP reset successfully!
[    4.596248] _adpt_mp_uniphy_clk_output_ctrl_set[255]:INFO:uniphy will output clock as 25000000Hz
[    4.596345] regi_init[2548]:INFO:Initializing SCOMPHY Done!!
[    4.604265] regi_init[2574]:INFO:qca-ssdk module init succeeded!
[    4.679014] GMAC2(ffffff80042a0940) Invalid MAC@ - using 2e:a3:4c:1f:bc:5b
[    4.679240] nss-dp 39d00000.dp2 (unnamed net_device) (uninitialized): nss_dp_gmac: Registering netdev eth%d(qcom-id:2) with GMAC, mac_base: 0xffffffc081f00000
[    4.686136] Generic PHY fixed-0:00: attached PHY driver (mii_bus:phy_addr=fixed-0:00, irq=POLL)
[    4.701593] **********************************************************
[    4.707658] * NSS Data Plane driver
[    4.714142] **********************************************************
[    4.743460] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
[    4.743541] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 1
[    4.748457] xhci-hcd xhci-hcd.1.auto: hcc params 0x0220fe65 hci version 0x110 quirks 0x0000008000000010
[    4.755544] xhci-hcd xhci-hcd.1.auto: irq 37, io mem 0x08a00000
[    4.764987] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
[    4.770759] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 2
[    4.776289] xhci-hcd xhci-hcd.1.auto: Host supports USB 3.0 SuperSpeed
[    4.785302] hub 1-0:1.0: USB hub found
[    4.790554] hub 1-0:1.0: 1 port detected
[    4.796133] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
[    4.799291] hub 2-0:1.0: USB hub found
[    4.806511] hub 2-0:1.0: 1 port detected
[    4.815059] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    4.827064] init: - preinit -
[    9.035211] random: crng init done
Cannot parse config file '/etc/fw_env.config': No such file or directory
Failed to find NVMEM device
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
[   13.548403] procd: - early -
[   13.548653] procd: - watchdog -
[   14.183274] procd: - watchdog -
[   14.183707] procd: - ubus -
[   14.340847] procd: - init -
Please press Enter to activate this console.
[   14.726579] kmodloader: loading kernel modules from /etc/modules.d/*
[   14.922556] urngd: v1.0.2 started.
[   15.039994] Loading modules backported from Linux version v6.12.6-0-ge9d65b48ce1a
[   15.040040] Backport generated by backports.git v6.1.110-1-35-g410656ef04d2
[   15.096286] NET: Registered PF_QIPCRTR protocol family
[   15.243001] PPP generic driver version 2.4.2
[   15.245831] NET: Registered PF_PPPOX protocol family
[   15.264340] ath11k c000000.wifi: ipq5018 hw1.0
[   15.264386] ath11k c000000.wifi: FW memory mode: 2
[   15.317873] remoteproc remoteproc1: powering up pd-1
[   15.318161] remoteproc remoteproc1: Booting fw image ath11k/IPQ5018/hw1.0/q6_fw.mdt, size 1820
[   15.321936] remoteproc remoteproc0: powering up cd00000.remoteproc
[   15.330504] remoteproc remoteproc0: Booting fw image ath11k/IPQ5018/hw1.0/q6_fw.mdt, size 1820
[   15.443188] remoteproc remoteproc0: remote processor cd00000.remoteproc is now up
[   15.460374] remoteproc remoteproc1: remote processor pd-1 is now up
[   15.473679] kmodloader: done loading kernel modules from /etc/modules.d/*
[   15.487966] ath11k c000000.wifi: qmi fail to get qcom,m3-dump-addr, ignore m3 dump mem req
[   15.495446] ath11k c000000.wifi: chip_id 0x0 chip_family 0x4 board_id 0xff soc_id 0xffffffff
[   15.495497] ath11k c000000.wifi: fw_version 0x270206d0 fw_build_timestamp 2022-08-04 13:28 fw_build_id WLAN.HK.2.7.0.1-01744-QCAHKSWPL_SILICONZ-1
[   15.629462] mtdblock: MTD device 'devinfo' is NAND, please consider using UBI block devices instead.

After the log the screen gets freezed

this board doesn't contain any wifi chips connected via PCIe, so that should be disabled.
Can you try loading the initramfs image for the mx2000?

Also, it contains a realtek switch, not qca8337. So the switch won't work in this image.

I do think we'll be able to make it work eventually..

EDIT: ath11k requires at least 512 MB of RAM, this device contains 256. I know of the patch @hzyitc created, but not sure it will be accepted as part of a PR, just giving you a heads up..

2 Likes