Adding OpenWrt support for Xiaomi AX3600 (Part 1)

Wait, it was not included? :smiley: I just compiled my package and flashed twice today (first one with that frame_mode=1, second one with frame_mode=2,...). lol

What are the the patches (any new packages needed to select in menuconfig)? Is it in Robimarko's ipq807x-5.15-pr depository?

Thanks.

Did anyone test the perf increase?

Joba-1ยดs rc.local

I am trying to reproduce AX3600 not doing the sysupgrade, but I cant get it to fail, its consistently succeeding.

2 Likes

Memor leak and currently we have other priority.

It happened to me on AX6 once as well. I am sorry for I didn't check the memory or anything before the update. Anything particular I could check before performing an update on my AX6 router what could help you identify the issue (when/if it happens again)?

By the way, it happened to me on your prebuilt image 2022-05-30 (meaning no crazy custom compilation and modifications), minimum packages,... But then I updated a few times withnout an issue with my compilations with some more packages.

Well, it's been happening since the start and is quite annoying, not really appropriate for OpenWrt inclusion, and I see that others on IRC are hitting a similar issue on other boards.
Smells to be something WDT related as sysupgrade will close the WDT and stop feeding it, so we could be hitting the timeout.

But with 2 hostapd instances I cannot hit it.

BTW, for those asking about encap/decap offloading performance improvements, they are free to test and post the results for others to enjoy.

1 Like

(it was present before the patch as we had stalled peer that caused hostapd kill fail as the peer delete function have very high timeout values...)

I wonder if this can be improved in openwrt as we currently have no way to get if a sysupgrade was successful or not after the reboot

Ahh, that would make sense as WDT timeout is 30 seconds and then it would kick in.
I dont really see a way to improve it

well any improvement to that is just a workaround for bugged driver/bin that takes too much to be closed

They intentionally close the WDT as you have to move to tmpfs anyway and it also means that you cannot get stuck in sysupgrade indefinitely.

If hostapd now terminates timely, I am fine with that

just to clarify:

  • My last post has nothing to do with patches. I just use plain github binaries.
  • I always upgrade with luci and select "preserve settings"
  • I repeat this until I see the r0-* tag at ssh login or luci page has changed
  • /etc/rc.local is one of the preserved settings. You need no additional config or patches to keep it.
  • you can edit rc.local and extend (or reduce) the list of packages to whatever you need on your router
    Hope it helps :slight_smile:
1 Like

So i flashed all the latest releases by robimarko and it never succeeded ... i then always flash with

/etc/init.d/wpad stop && sysupgrade ..

Noted on the memory leak. I setup the ap to auto reboot on a daily basis some time back so it doesnt really affect my usage.
Will keep using your NSS offload build until something better comes along.

really appreciate your time and effort. cheers

I can reproduce the sysupgrade problem each time I want. So if you want to give me some image that writes logs to a file in /root or similar to try to catch the problem, I can test it.
I can upgrage easily doing the service wpad stop, with it, it always works at the first time. But without it, I need several tries with each upgrade.

1 Like

can you provide us the number of client connected and the bootlog?

I am looking at some performance improvements to the ethernet driver, so first doing some performance testing.
I am getting around 780 Mbps over NAT, basically through the AX3600 with firewalling.
Can somebody else post what they are getting?

I will try to give you information about my system:

  • Two AX3600 in mesh
  • The first is a router, connected DHCP to the internet (ISP router in bridge mode). It contains several wifi SSID, and the major part of wifi clients, and one wired client. It has usually between 16-18 wifi clients. Half of them 2.4Ghz and the other half 5Ghz.
  • The second one, is basically used to join some wired clients with the first router (and internet). It acts as AP too. It has to two or three wifi clients.
  • The first one usually needs 6-7 sysupgrade intents if I don't stop the wpad service.
  • The second one usually needs 2-3 sysupgrade intents if I don't stop the wpad service.
  • I'm not too sure what is the boot log, maybe that?
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 5.15.45 (runner@fv-az456-203) (aarch64-openwrt-linux-musl-gcc (OpenWrt GCC 11.3.0 r0-4ca380e) 11.3.0, GNU ld (GNU Binutils) 2.37) #0 SMP Mon Jun 20 11:06:57 2022
[    0.000000] Machine model: Xiaomi AX3600
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000040000000-0x000000005fffffff]
[    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-0x0000000040ffffff]
[    0.000000]   node   0: [mem 0x0000000041000000-0x000000004a3fffff]
[    0.000000]   node   0: [mem 0x000000004a400000-0x000000004a4fffff]
[    0.000000]   node   0: [mem 0x000000004a500000-0x000000004a5fffff]
[    0.000000]   node   0: [mem 0x000000004a600000-0x000000004e8fffff]
[    0.000000]   node   0: [mem 0x000000004e900000-0x000000005fffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x000000005fffffff]
[    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] percpu: Embedded 17 pages/cpu s30296 r8192 d31144 u69632
[    0.000000] pcpu-alloc: s30296 r8192 d31144 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] Built 1 zonelists, mobility grouping on.  Total pages: 129024
[    0.000000] Kernel command line: ubi.mtd=rootfs_1 root=mtd:ubi_rootfs rootfstype=squashfs rootwait uart_en=1 root=/dev/ubiblock0_1
[    0.000000] Unknown kernel command line parameters "uart_en=1", will be passed to user space.
[    0.000000] Dentry cache hash table entries: 65536 (order: 7, 524288 bytes, linear)
[    0.000000] Inode-cache hash table entries: 32768 (order: 6, 262144 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 415964K/524288K available (7424K kernel code, 844K rwdata, 2028K rodata, 1216K init, 273K bss, 108324K 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] Root IRQ handler: gic_handle_irq
[    0.000000] GICv2m: range[mem 0x0b00a000-0x0b00affc], SPI[448:479]
[    0.000000] arch_timer: cp15 and mmio timer(s) running at 19.20MHz (virt/virt).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x46d987e47, max_idle_ns: 440795202767 ns
[    0.000000] sched_clock: 56 bits at 19MHz, resolution 52ns, wraps every 4398046511078ns
[    0.000177] Calibrating delay loop (skipped), value calculated using timer frequency.. 38.40 BogoMIPS (lpj=192000)
[    0.000194] pid_max: default: 32768 minimum: 301
[    0.000342] Mount-cache hash table entries: 1024 (order: 1, 8192 bytes, linear)
[    0.000359] Mountpoint-cache hash table entries: 1024 (order: 1, 8192 bytes, linear)
[    0.001922] rcu: Hierarchical SRCU implementation.
[    0.002087] dyndbg: Ignore empty _ddebug table in a CONFIG_DYNAMIC_DEBUG_CORE build
[    0.002566] smp: Bringing up secondary CPUs ...
[    0.003180] Detected VIPT I-cache on CPU1
[    0.003249] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[    0.003872] Detected VIPT I-cache on CPU2
[    0.003915] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[    0.004490] Detected VIPT I-cache on CPU3
[    0.004529] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
[    0.004589] smp: Brought up 1 node, 4 CPUs
[    0.004614] SMP: Total of 4 processors activated.
[    0.004622] CPU features: detected: 32-bit EL0 Support
[    0.004630] CPU features: detected: CRC32 instructions
[    0.004679] CPU features: emulated: Privileged Access Never (PAN) using TTBR0_EL1 switching
[    0.004688] CPU: All CPU(s) started at EL1
[    0.004709] alternatives: patching kernel code
[    0.011635] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.011672] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.011831] pinctrl core: initialized pinctrl subsystem
[    0.012900] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.013381] DMA: preallocated 128 KiB GFP_KERNEL pool for atomic allocations
[    0.013424] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.013463] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.013791] thermal_sys: Registered thermal governor 'step_wise'
[    0.015130] cpuidle: using governor menu
[    0.015339] ASID allocator initialised with 65536 entries
[    0.077208] SCSI subsystem initialized
[    0.077386] usbcore: registered new interface driver usbfs
[    0.077429] usbcore: registered new interface driver hub
[    0.077466] usbcore: registered new device driver usb
[    0.077699] CPUidle PSCI: failed to enable OSI mode: -95
[    0.078029] qcom_scm: convention: smc arm 64
[    0.079203] clocksource: Switched to clocksource arch_sys_counter
[    0.079901] NET: Registered PF_INET protocol family
[    0.080087] IP idents hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.080659] tcp_listen_portaddr_hash hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.080691] TCP established hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.080743] TCP bind hash table entries: 4096 (order: 4, 65536 bytes, linear)
[    0.080824] TCP: Hash tables configured (established 4096 bind 4096)
[    0.080910] UDP hash table entries: 256 (order: 1, 8192 bytes, linear)
[    0.080941] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear)
[    0.081093] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.081128] PCI: CLS 0 bytes, default 64
[    0.082229] workingset: timestamp_bits=46 max_order=17 bucket_order=0
[    0.085922] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.085941] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.088765] qcom-qmp-phy 84000.phy: Registered Qcom-QMP phy
[    0.090956] qcom-pcie 20000000.pci: host bridge /soc/pci@20000000 ranges:
[    0.091019] qcom-pcie 20000000.pci:       IO 0x0020200000..0x002020ffff -> 0x0020200000
[    0.091047] qcom-pcie 20000000.pci:      MEM 0x0020220000..0x002fffffff -> 0x0020220000
[    0.230776] qcom-pcie 20000000.pci: iATU unroll: enabled
[    0.230793] qcom-pcie 20000000.pci: Detected iATU regions: 8 outbound, 8 inbound
[    0.330861] qcom-pcie 20000000.pci: Link up
[    0.331008] qcom-pcie 20000000.pci: PCI host bridge to bus 0000:00
[    0.331022] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.331045] pci_bus 0000:00: root bus resource [io  0x0000-0xffff] (bus address [0x20200000-0x2020ffff])
[    0.331057] pci_bus 0000:00: root bus resource [mem 0x20220000-0x2fffffff]
[    0.331101] pci 0000:00:00.0: [17cb:1002] type 01 class 0x060400
[    0.331130] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x00000fff]
[    0.331213] pci 0000:00:00.0: PME# supported from D0 D3hot D3cold
[    0.334100] pci 0000:01:00.0: [168c:0050] type 00 class 0x028000
[    0.334249] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x001fffff 64bit]
[    0.334466] pci 0000:01:00.0: reg 0x30: [mem 0x00000000-0x0000ffff pref]
[    0.334925] pci 0000:01:00.0: supports D1
[    0.334936] pci 0000:01:00.0: PME# supported from D0 D1 D3hot
[    0.337674] pci 0000:00:00.0: BAR 8: assigned [mem 0x20300000-0x205fffff]
[    0.337698] pci 0000:00:00.0: BAR 9: assigned [mem 0x20600000-0x207fffff 64bit pref]
[    0.337711] pci 0000:00:00.0: BAR 0: assigned [mem 0x20220000-0x20220fff]
[    0.337726] pci 0000:00:00.0: BAR 7: assigned [io  0x1000-0x1fff]
[    0.337742] pci 0000:01:00.0: BAR 0: assigned [mem 0x20400000-0x205fffff 64bit]
[    0.337814] pci 0000:01:00.0: BAR 6: assigned [mem 0x20300000-0x2030ffff pref]
[    0.337828] pci 0000:00:00.0: PCI bridge to [bus 01-ff]
[    0.337840] pci 0000:00:00.0:   bridge window [io  0x1000-0x1fff]
[    0.337852] pci 0000:00:00.0:   bridge window [mem 0x20300000-0x205fffff]
[    0.337864] pci 0000:00:00.0:   bridge window [mem 0x20600000-0x207fffff 64bit pref]
[    0.339811] pcieport 0000:00:00.0: PME: Signaling with IRQ 82
[    0.340111] pcieport 0000:00:00.0: AER: enabled with IRQ 82
[    0.343049] bam-dma-engine 704000.dma-controller: num-channels unspecified in dt
[    0.343074] bam-dma-engine 704000.dma-controller: num-ees unspecified in dt
[    0.346666] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
[    0.347174] msm_serial 78b3000.serial: msm_serial: detected port #0
[    0.347208] msm_serial 78b3000.serial: uartclk = 3686400
[    0.347251] 78b3000.serial: ttyMSM0 at MMIO 0x78b3000 (irq = 22, base_baud = 230400) is a MSM
[    0.347282] msm_serial: console setup on port #0
[    1.146974] printk: console [ttyMSM0] enabled
[    1.151972] msm_serial: driver initialized
[    1.160082] loop: module loaded
[    1.161431] nand: device found, Manufacturer ID: 0xef, Chip ID: 0xaa
[    1.162932] nand: Winbond W29N02GZ
[    1.169539] nand: 256 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
[    1.173505] spmi spmi-0: PMIC arbiter version v2 (0x20010000)
[    1.182855] s1: supplied by regulator-dummy
[    1.186272] s2: supplied by regulator-dummy
[    1.190278] vdd_s3: supplied by regulator-dummy
[    1.194573] vdd_s4: supplied by regulator-dummy
[    1.199093] s5: supplied by regulator-dummy
[    1.203486] l1: supplied by regulator-dummy
[    1.207638] l2: supplied by regulator-dummy
[    1.211801] l3: supplied by regulator-dummy
[    1.215965] l4: supplied by regulator-dummy
[    1.220152] l5: supplied by regulator-dummy
[    1.224289] l6: supplied by regulator-dummy
[    1.228447] l7: supplied by regulator-dummy
[    1.232663] l8: supplied by regulator-dummy
[    1.236796] l9: supplied by regulator-dummy
[    1.241080] l11: supplied by regulator-dummy
[    1.245154] l12: supplied by regulator-dummy
[    1.249650] l13: supplied by regulator-dummy
[    1.267325] i2c_dev: i2c /dev entries driver
[    1.270929] sdhci: Secure Digital Host Controller Interface driver
[    1.270975] sdhci: Copyright(c) Pierre Ossman
[    1.276657] sdhci-pltfm: SDHCI platform and OF driver helper
[    1.285086] NET: Registered PF_INET6 protocol family
[    1.287684] Segment Routing with IPv6
[    1.291831] In-situ OAM (IOAM) with IPv6
[    1.295379] NET: Registered PF_PACKET protocol family
[    1.299379] 8021q: 802.1Q VLAN Support v1.8
[    1.320568] qcom,cpr4-apss-regulator b018000.cpr4-ctrl: CPR valid fuse count: 4
[    1.320882] cpr4_ipq807x_apss_read_fuse_data: apc_corner: speed bin = 0
[    1.326695] cpr4_ipq807x_apss_read_fuse_data: apc_corner: CPR fusing revision = 1
[    1.333382] cpr4_ipq807x_apss_read_fuse_data: apc_corner: CPR misc fuse value = 0
[    1.340970] cpr4_ipq807x_apss_read_fuse_data: apc_corner: Voltage boost fuse config = 0 boost = disable
[    1.348465] cpr3_mem_acc_init: apc: not using memory accelerator regulator
[    1.357610] cpr4_ipq807x_apss_calculate_open_loop_voltages: apc_corner: fused      SVS: open-loop= 704000 uV
[    1.364558] cpr4_ipq807x_apss_calculate_open_loop_voltages: apc_corner: fused      NOM: open-loop= 816000 uV
[    1.374540] cpr4_ipq807x_apss_calculate_open_loop_voltages: apc_corner: fused    TURBO: open-loop= 872000 uV
[    1.384354] cpr4_ipq807x_apss_calculate_open_loop_voltages: apc_corner: fused   STURBO: open-loop= 944000 uV
[    1.394205] cpr4_ipq807x_apss_calculate_target_quotients: apc_corner: fused      SVS: quot[ 7]= 726, quot_offset[ 7]=   0
[    1.403970] cpr4_ipq807x_apss_calculate_target_quotients: apc_corner: fused      NOM: quot[ 7]= 942, quot_offset[ 7]= 215
[    1.414821] cpr4_ipq807x_apss_calculate_target_quotients: apc_corner: fused    TURBO: quot[ 7]=1038, quot_offset[ 7]=  95
[    1.425756] cpr4_ipq807x_apss_calculate_target_quotients: apc_corner: fused   STURBO: quot[ 7]=1174, quot_offset[ 7]= 135
[    1.436829] cpr3_regulator_init_ctrl: apc: Default CPR mode = closed-loop
[    1.438886] nand: device found, Manufacturer ID: 0xef, Chip ID: 0xaa
[    1.454431] nand: Winbond W29N02GZ
[    1.460811] nand: 256 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
[    1.464310] 16 qcomsmem partitions found on MTD device qcom_nand.0
[    1.471591] Creating 16 MTD partitions on "qcom_nand.0":
[    1.477735] 0x000000000000-0x000000100000 : "0:sbl1"
[    1.484523] 0x000000100000-0x000000200000 : "0:mibib"
[    1.489349] 0x000000200000-0x000000500000 : "0:qsee"
[    1.495839] 0x000000500000-0x000000580000 : "0:devcfg"
[    1.498892] 0x000000580000-0x000000600000 : "0:rpm"
[    1.503883] 0x000000600000-0x000000680000 : "0:cdt"
[    1.508609] 0x000000680000-0x000000700000 : "0:appsblenv"
[    1.513500] 0x000000700000-0x000000800000 : "0:appsbl"
[    1.519482] 0x000000800000-0x000000880000 : "0:art"
[    1.524076] 0x000000880000-0x000000900000 : "bdata"
[    1.528842] 0x000000900000-0x000000980000 : "crash"
[    1.533725] 0x000000980000-0x000000a00000 : "crash_syslog"
[    1.538553] 0x000000a00000-0x000002dc0000 : "rootfs"
[    1.571930] mtd: device 12 (rootfs) set to be root filesystem
[    1.572217] mtdsplit: no squashfs found in "rootfs"
[    1.576664] 0x000002dc0000-0x000005180000 : "rootfs_1"
[    1.609839] 0x000005180000-0x000007040000 : "overlay"
[    1.634409] 0x000007040000-0x0000070c0000 : "rsvd0"
[    1.641927] cpufreq: cpufreq_online: CPU0: Running at unlisted initial frequency: 800000 KHz, changing to: 1017600 KHz
[    1.643217] remoteproc remoteproc0: cd00000.q6v5_wcss is available
[    1.652113] ubi0: attaching mtd13
[    1.816088] ubi0: scanning is finished
[    1.821993] ubi0: attached mtd13 (name "rootfs_1", size 35 MiB)
[    1.822037] ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
[    1.826729] ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
[    1.833693] ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096
[    1.840538] ubi0: good PEBs: 286, bad PEBs: 0, corrupted PEBs: 0
[    1.847300] ubi0: user volume: 3, internal volumes: 1, max. volumes count: 128
[    1.853561] ubi0: max/mean erase counter: 8/5, WL threshold: 4096, image sequence number: 219195104
[    1.860594] ubi0: available PEBs: 0, total reserved PEBs: 286, PEBs reserved for bad PEB handling: 40
[    1.869555] ubi0: background thread "ubi_bgt0d" started, PID 413
[    1.870356] block ubiblock0_1: created from ubi0:1(rootfs)
[    1.888848] VFS: Mounted root (squashfs filesystem) readonly on device 254:0.
[    1.889455] Freeing unused kernel memory: 1216K
[    1.929308] Run /sbin/init as init process
[    1.929328]   with arguments:
[    1.929331]     /sbin/init
[    1.929333]   with environment:
[    1.929335]     HOME=/
[    1.929337]     TERM=linux
[    1.929339]     uart_en=1
[    2.115642] init: Console is alive
[    2.115792] init: - watchdog -
[    2.597024] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    2.717844] ssdk_switch_device_num_init[1211]:INFO:ess-switch dts node number: 1
[    2.717954] ssdk_dt_get_switch_node[1016]:INFO:ess-switch DT exist!
[    2.724350] ssdk_dt_parse_access_mode[902]:INFO:switch_access_mode: local bus
[    2.730319] ssdk_dt_parse_access_mode[915]:INFO:switchreg_base_addr: 0x3a000000
[    2.737601] ssdk_dt_parse_access_mode[916]:INFO:switchreg_size: 0x1000000
[    2.744724] ssdk_dt_parse_mac_mode[304]:INFO:mac mode = 0x0
[    2.751667] ssdk_dt_parse_mac_mode[313]:INFO:mac mode1 = 0xff
[    2.757042] ssdk_dt_parse_mac_mode[322]:INFO:mac mode2 = 0xff
[    2.763002] ssdk_dt_parse_uniphy[341]:INFO:ess-uniphy DT exist!
[    2.768840] ssdk_dt_parse_intf_mac[845]:INFO:dp2 MAC 28:d1:27:70:30:f0
[    2.774448] ssdk_dt_parse_intf_mac[845]:INFO:dp3 MAC 28:d1:27:4c:52:a0
[    2.781045] ssdk_dt_parse_intf_mac[845]:INFO:dp4 MAC 28:d1:27:4c:52:a0
[    2.787546] ssdk_dt_parse_intf_mac[845]:INFO:dp5 MAC 28:d1:27:4c:52:a0
[    2.794078] ssdk_plat_init start
[    2.921141] ssdk_gcc_clock_init[1220]:INFO:SSDK gcc clock init successfully!
[    2.922368] malibu_phy_api_ops_init[2846]:INFO:qca probe malibu phy driver succeeded!
[    2.927440] hsl_phy_phydev_get[750]:ERROR:phy_addr 0 phydev is NULL
[    2.941337] regi_init[3754]:INFO:Initializing HPPE!!
[    3.179207] ssdk_ppe_reset_init[1478]:INFO:ppe reset successfully!
[    3.182783] qca_hppe_portctrl_hw_init[111]:INFO:Hawkeye PPE port initializing
[    3.405331] adpt_hppe_port_mux_mac_type_set[2693]:WARN:port 6 need not to configure mux and mac type
[    3.405395] ssdk_switch_register[1867]:INFO:Chip version 0x1500
[    3.413536] qca_link_polling_select[1367]:INFO:link-polling-required node does not exist
[    3.419166] ssdk_switch_register[1893]:INFO:polling is selected
[    3.427507] regi_init[3758]:INFO:Initializing HPPE Done!!
[    3.433215] ssdk_genl_init[211]:INFO:ssdk genl family register success.
[    3.438698] regi_init[3821]:INFO:qca-ssdk module init succeeded!
[    3.447506] EDMA ver 1 hw init
[    3.451603] EDMA HW Reset completed succesfully
[    3.454259] Num rings - TxDesc:1 (23-23) TxCmpl:1 (7-7)
[    3.458655] RxDesc:1 (15-15) RxFill:1 (7-7)
[    3.464468] Generic PHY 90000.mdio-1:01: attached PHY driver (mii_bus:phy_addr=90000.mdio-1:01, irq=POLL)
[    3.468688] nss-dp 3a001200.dp2 eth0: Registered netdev eth0(qcom-id:2)
[    3.478071] Generic PHY 90000.mdio-1:02: attached PHY driver (mii_bus:phy_addr=90000.mdio-1:02, irq=POLL)
[    3.484809] nss-dp 3a001400.dp3 eth1: Registered netdev eth1(qcom-id:3)
[    3.494209] Generic PHY 90000.mdio-1:03: attached PHY driver (mii_bus:phy_addr=90000.mdio-1:03, irq=POLL)
[    3.500964] nss-dp 3a001600.dp4 eth2: Registered netdev eth2(qcom-id:4)
[    3.510391] Generic PHY 90000.mdio-1:04: attached PHY driver (mii_bus:phy_addr=90000.mdio-1:04, irq=POLL)
[    3.517111] nss-dp 3a001800.dp5 eth3: Registered netdev eth3(qcom-id:5)
[    3.526353] **********************************************************
[    3.532628] * NSS Data Plane driver
[    3.539214] **********************************************************
[    3.550955] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    3.558514] init: - preinit -
[    3.882561] random: jshn: uninitialized urandom read (4 bytes read)
[    3.902954] random: jshn: uninitialized urandom read (4 bytes read)
[    3.916329] random: jshn: uninitialized urandom read (4 bytes read)
[    6.040223] UBIFS (ubi0:2): Mounting in unauthenticated mode
[    6.040339] UBIFS (ubi0:2): background thread "ubifs_bgt0_2" started, PID 582
[    6.120662] UBIFS (ubi0:2): UBIFS: mounted UBI device 0, volume 2, name "rootfs_data"
[    6.120706] UBIFS (ubi0:2): LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes
[    6.127485] UBIFS (ubi0:2): FS size: 17395712 bytes (16 MiB, 137 LEBs), max 147 LEBs, journal size 1015809 bytes (0 MiB, 7 LEBs)
[    6.137408] UBIFS (ubi0:2): reserved for root: 821641 bytes (802 KiB)
[    6.149015] UBIFS (ubi0:2): media format: w5/r0 (latest is w5/r0), UUID 978F5D9D-45AB-4089-AD0D-89BFCE693071, small LPT model
[    6.156369] mount_root: overlay filesystem has not been fully initialized yet
[    6.166952] mount_root: switching to ubifs overlay
[    6.176725] overlayfs: null uuid detected in lower fs '/', falling back to xino=off,index=off,nfs_export=off.
[    6.378327] urandom-seed: Seed file not found (/etc/urandom.seed)
[    6.457476] procd: - early -
[    6.457580] procd: - watchdog -
[    6.985589] procd: - watchdog -
[    6.985849] procd: - ubus -
[    7.019948] urandom_read_iter: 3 callbacks suppressed
[    7.019966] random: ubusd: uninitialized urandom read (4 bytes read)
[    7.040169] random: ubusd: uninitialized urandom read (4 bytes read)
[    7.040487] random: ubusd: uninitialized urandom read (4 bytes read)
[    7.047667] procd: - init -
[    7.283202] kmodloader: loading kernel modules from /etc/modules.d/*
[    7.284351] random: crng init done
[    7.284407] urngd: v1.0.2 started.
[    7.288630] random: 23 urandom warning(s) missed due to ratelimiting
[    7.338644] Loading modules backported from Linux version v5.15.33-0-g06f50ca83ace2
[    7.338685] Backport generated by backports.git v5.15.33-1-1-g80b1d685
[    7.351107] NET: Registered PF_QIPCRTR protocol family
[    7.381218] PPP generic driver version 2.4.2
[    7.382011] NET: Registered PF_PPPOX protocol family
[    7.392894] ath10k 5.15 driver, optimized for CT firmware, probing pci device: 0x50.
[    7.393396] ath10k_pci 0000:01:00.0: enabling device (0000 -> 0002)
[    7.400151] ath10k_pci 0000:01:00.0: pci irq msi oper_irq_mode 2 irq_mode 0 reset_mode 0
[    8.416694] ath10k_pci 0000:01:00.0: qca9887 hw1.0 target 0x4100016d chip_id 0x004000ff sub 0000:0000
[    8.416753] ath10k_pci 0000:01:00.0: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 0
[    8.425082] ath10k_pci 0000:01:00.0: firmware ver 10.1-ct-87-__fW-022-ecad3248 api 2 features wmi-10.x,has-wmi-mgmt-tx,mfp,txstatus-noack,wmi-10.x-CT,ratemask-CT,txrate-CT,get-temp-CT,tx-rc-CT,cust-stats-CT,retry-gt2-CT,txrate2-CT,beacon-cb-CT,wmi-block-ack-CT crc32 61a92df5
[    8.460340] ath10k_pci 0000:01:00.0: Loading BDF type 0
[    8.476988] ath10k_pci 0000:01:00.0: board_file api 2 bmi_id N/A crc32 b4ce36fa
[    9.343055] ath10k_pci 0000:01:00.0: 10.1 wmi init: vdevs: 16  peers: 127  tid: 256
[    9.349997] ath10k_pci 0000:01:00.0: wmi print 'P 128 V 8 T 410'
[    9.350047] ath10k_pci 0000:01:00.0: wmi print 'msdu-desc: 1424  sw-crypt: 0 ct-sta: 0'
[    9.355812] ath10k_pci 0000:01:00.0: wmi print 'alloc rem: 25560 iram: 24780'
[    9.403242] ath10k_pci 0000:01:00.0: htt-ver 2.1 wmi-op 2 htt-op 2 cal file max-sta 128 raw 0 hwcrypto 1
[    9.403612] ath10k_pci 0000:01:00.0: NOTE:  Firmware DBGLOG output disabled in debug_mask: 0x10000000
[    9.540294] ath: EEPROM regdomain: 0x0
[    9.540303] ath: EEPROM indicates default country code should be used
[    9.540306] ath: doing EEPROM country->regdmn map search
[    9.540311] ath: country maps to regdmn code: 0x3a
[    9.540316] ath: Country alpha2 being used: US
[    9.540320] ath: Regpair used: 0x3a
[    9.550960] ath11k c000000.wifi: ipq8074 hw2.0
[    9.551270] remoteproc remoteproc0: powering up cd00000.q6v5_wcss
[    9.554498] remoteproc remoteproc0: Booting fw image IPQ8074/q6_fw.mdt, size 668
[   10.761759] remoteproc remoteproc0: remote processor cd00000.q6v5_wcss is now up
[   10.763722] ath11k c000000.wifi: qmi ignore invalid mem req type 3
[   10.768751] ath11k c000000.wifi: chip_id 0x0 chip_family 0x0 board_id 0x292 soc_id 0xffffffff
[   10.774249] ath11k c000000.wifi: fw_version 0x250a04a5 fw_build_timestamp 2021-12-20 07:09 fw_build_id WLAN.HK.2.5.0.1-01208-QCAHKSWPL_SILICONZ-1
[   10.785244] kmodloader: done loading kernel modules from /etc/modules.d/*
[   13.996765] br-lan: port 1(eth1) entered blocking state
[   13.996812] br-lan: port 1(eth1) entered disabled state
[   14.001173] device eth1 entered promiscuous mode
[   14.015198] br-lan: port 2(eth2) entered blocking state
[   14.015252] br-lan: port 2(eth2) entered disabled state
[   14.019553] device eth2 entered promiscuous mode
[   14.028155] br-lan: port 3(eth3) entered blocking state
[   14.029436] br-lan: port 3(eth3) entered disabled state
[   14.034560] device eth3 entered promiscuous mode
[   14.044857] nss-dp 3a001200.dp2 eth0: PHY Link up speed: 1000
[   14.441164] ath: EEPROM regdomain: 0x82d4
[   14.441209] ath: EEPROM indicates we should expect a country code
[   14.444168] ath: doing EEPROM country->regdmn map search
[   14.450316] ath: country maps to regdmn code: 0x37
[   14.455623] ath: Country alpha2 being used: ES
[   14.460258] ath: Regpair used: 0x37
[   14.464647] ath: regdomain 0x82d4 dynamically updated by user
[   14.864113] br-lan: port 4(wlan24g) entered blocking state
[   14.864171] br-lan: port 4(wlan24g) entered disabled state
[   14.868763] device wlan24g entered promiscuous mode
[   14.874180] br-lan: port 4(wlan24g) entered blocking state
[   14.878759] br-lan: port 4(wlan24g) entered forwarding state
[   14.884823] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
[   14.999274] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   15.000226] br-lan: port 4(wlan24g) entered disabled state
[   15.956876] br-lan: port 5(wlan5g) entered blocking state
[   15.956931] br-lan: port 5(wlan5g) entered disabled state
[   15.961641] device wlan5g entered promiscuous mode
[   15.966848] br-lan: port 5(wlan5g) entered blocking state
[   15.971426] br-lan: port 5(wlan5g) entered forwarding state
[   16.031816] br-lan: port 5(wlan5g) entered disabled state
[   16.542970] IPv6: ADDRCONF(NETDEV_CHANGE): wlan5g: link becomes ready
[   16.543219] br-lan: port 5(wlan5g) entered blocking state
[   16.548408] br-lan: port 5(wlan5g) entered forwarding state
[   16.748002] IPv6: ADDRCONF(NETDEV_CHANGE): wlan5g-inv: link becomes ready
[   16.861817] br-lan: port 6(wlan5g-leg) entered blocking state
[   16.861869] br-lan: port 6(wlan5g-leg) entered disabled state
[   16.866876] device wlan5g-leg entered promiscuous mode
[   16.875671] br-lan: port 6(wlan5g-leg) entered blocking state
[   16.877327] br-lan: port 6(wlan5g-leg) entered forwarding state
[   16.918151] IPv6: ADDRCONF(NETDEV_CHANGE): wlan5g-leg: link becomes ready
[   17.129711] nss-dp 3a001400.dp3 eth1: PHY Link up speed: 1000
[   17.129855] br-lan: port 1(eth1) entered blocking state
[   17.134471] br-lan: port 1(eth1) entered forwarding state
[   17.239400] IPv6: ADDRCONF(NETDEV_CHANGE): wlan24g: link becomes ready
[   17.239620] br-lan: port 4(wlan24g) entered blocking state
[   17.244839] br-lan: port 4(wlan24g) entered forwarding state
[   17.376359] IPv6: ADDRCONF(NETDEV_CHANGE): wlan24g-inv: link becomes ready
[   18.302593] br-lan: port 7(mesh0) entered blocking state
[   18.302636] br-lan: port 7(mesh0) entered disabled state
[   18.307251] device mesh0 entered promiscuous mode
[   28.170915] IPv6: ADDRCONF(NETDEV_CHANGE): mesh0: link becomes ready
[   28.171131] br-lan: port 7(mesh0) entered blocking state
[   28.176347] br-lan: port 7(mesh0) entered forwarding state
[   32.489240] l11: disabling
[187537.118521] br-lan: port 6(wlan5g-leg) entered disabled state
[187537.193049] device wlan5g-leg left promiscuous mode
[187537.193106] br-lan: port 6(wlan5g-leg) entered disabled state
[187537.512299] device wlan5g left promiscuous mode
[187537.512489] br-lan: port 5(wlan5g) entered disabled state
[187538.322350] br-lan: port 7(mesh0) entered disabled state
[187543.122017] ath11k c000000.wifi: failed to flush transmit queue, data pkts pending 32
[187543.223728] br-lan: port 7(mesh0) entered disabled state
[187543.272756] device mesh0 left promiscuous mode
[187543.272809] br-lan: port 7(mesh0) entered disabled state
[187544.054104] br-lan: port 5(wlan5g) entered blocking state
[187544.054155] br-lan: port 5(wlan5g) entered disabled state
[187544.058845] device wlan5g entered promiscuous mode
[187544.064133] br-lan: port 5(wlan5g) entered blocking state
[187544.068743] br-lan: port 5(wlan5g) entered forwarding state
[187544.074989] br-lan: port 5(wlan5g) entered disabled state
[187544.178218] IPv6: ADDRCONF(NETDEV_CHANGE): wlan5g: link becomes ready
[187544.178449] br-lan: port 5(wlan5g) entered blocking state
[187544.183704] br-lan: port 5(wlan5g) entered forwarding state
[187544.303265] IPv6: ADDRCONF(NETDEV_CHANGE): wlan5g-inv: link becomes ready
[187544.445600] br-lan: port 6(wlan5g-leg) entered blocking state
[187544.445657] br-lan: port 6(wlan5g-leg) entered disabled state
[187544.450760] device wlan5g-leg entered promiscuous mode
[187544.458454] br-lan: port 6(wlan5g-leg) entered blocking state
[187544.461308] br-lan: port 6(wlan5g-leg) entered forwarding state
[187544.502930] IPv6: ADDRCONF(NETDEV_CHANGE): wlan5g-leg: link becomes ready
[187545.857534] br-lan: port 7(mesh0) entered blocking state
[187545.857579] br-lan: port 7(mesh0) entered disabled state
[187545.862316] device mesh0 entered promiscuous mode
[187556.913774] IPv6: ADDRCONF(NETDEV_CHANGE): mesh0: link becomes ready
[187556.914028] br-lan: port 7(mesh0) entered blocking state
[187556.919214] br-lan: port 7(mesh0) entered forwarding state
1 Like

that id dmesg... I need the output of logread if you can (make sure you remove any private data like MAC and ALL)

This is 940Mbits speedtest DL via PPPoE and NAT (WAN --> LAN):

image

This is 330Mbits speedtest UL via PPPoE and NAT (LAN --> WAN):

image

Packet steering and SW offload and the following IRQ optimizations are on:

#assign 4 rx interrupts to each cores
echo 8 > /proc/irq/50/smp_affinity
echo 4 > /proc/irq/51/smp_affinity
echo 2 > /proc/irq/52/smp_affinity
echo 1 > /proc/irq/53/smp_affinity

#assign 3 tcl completions to 3 CPUs
echo 4 > /proc/irq/73/smp_affinity
echo 2 > /proc/irq/74/smp_affinity
echo 1 > /proc/irq/75/smp_affinity

If you need LAN-LAN tests, let me know.