Hi,
haven't been using them since I flashed them so can't tell anything about performance. Will go online when I have moved to new appartment.
1 Like
Great little devices. Seem to suffer from the known IPQ4019 poor throughput bug but they still achieve 400mbps which is plenty for this use-case, and importantly they are very stable. Recommend installing the irqbalance
package as the wifi throughput seems very CPU intensive.
One strange issue that I cannot get a handle on is that about 50% of the time when doing a firmware upgrade the config is not restored, even when using the the exact same image to flash it with. Below is a log from an instance where the config did not get restored after the flash upgrade, can anyone spot the problem?
Thu Oct 10 13:48:08 UTC 2024 upgrade: Switching to ramdisk...
mount: mounting /dev/mtdblock10 on /overlay failed: Resource busy
[22975.684786] VFS: Busy inodes after unmount of jffs2. Self-destruct in 5 seconds. Have a nice day...
Thu Oct 10 13:48:11 UTC 2024 upgrade: Performing system upgrade...
[22975.772573] do_stage2 (6265): drop_caches: 3
Unlocking firmware ...
Writing from <stdin> to firmware ...
Appending jffs2 data from /tmp/sysupgrade.tgz to firmware..
Thu Oct 10 13:49:24 UTC 2024 upgrade: Upgrade completed
Thu Oct 10 13:49:25 UTC 2024 upgrade: Rebooting system...
umount: can't unmount /dev: Resource busy
umount: can't unmount /tmp:
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 5.15.167 (builder@buildhost) (arm-openwrt-linux-muslgnueabi-gcc (OpenWrt GCC 12.3.0 r24106-10cc5fcd00) 12.3.0, GNU ld (GNU Binutils) 2.40.0) #0 SMP Mon Sep 23 12:34:46 2024
[ 0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d
[ 0.000000] CPU: div instructions available: patching division code
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] OF: fdt: Machine model: Extreme Networks WS-AP3915i
[ 0.000000] Memory policy: Data cache writealloc
[ 0.000000] Zone ranges:
[ 0.000000] Normal [mem 0x0000000080000000-0x000000009fffffff]
[ 0.000000] HighMem empty
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000080000000-0x0000000087dfffff]
[ 0.000000] node 0: [mem 0x0000000087e00000-0x0000000087ffffff]
[ 0.000000] node 0: [mem 0x0000000088000000-0x000000009fffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x000000009fffffff]
[ 0.000000] percpu: Embedded 12 pages/cpu s19660 r8192 d21300 u49152
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 129920
[ 0.000000] Kernel command line: mtdparts=nand2:64k@896k(CFG1),448k(BootBAK)ro,64k(WINGCFG1),64k(ART),448k(BootPRI),64k(WINGCFG2),512k(FS),15040k(PriImg),15040k(SecImg),64k(CFG2) BOOT_BOOTROM="U-Boot 2012.07.20 (Oct 05 2017 - 16:32:22) (primary)" BOOT_KERNEL=primary console=ttyMSM0,115200n81 ubi.mtd=0 panic=30 nohlt ro
[ 0.000000] Unknown kernel command line parameters "BOOT_BOOTROM=U-Boot 2012.07.20 (Oct 05 2017 - 16:32:22) (primary) BOOT_KERNEL=primary", will be passed to user space.
[ 0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes, linear)
[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[ 0.000000] Memory: 506856K/524288K available (6768K kernel code, 611K rwdata, 1020K rodata, 1024K init, 246K bss, 17432K reserved, 0K cma-reserved, 0K highmem)
[ 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: 16, nr_irqs: 16, preallocated irqs: 16
[ 0.000000] arch_timer: cp15 timer(s) running at 48.00MHz (virt).
[ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0xb11fd3bfb, max_idle_ns: 440795203732 ns
[ 0.000001] sched_clock: 56 bits at 48MHz, resolution 20ns, wraps every 4398046511096ns
[ 0.000025] Switching to timer-based delay loop, resolution 20ns
[ 0.000314] Calibrating delay loop (skipped), value calculated using timer frequency.. 96.00 BogoMIPS (lpj=480000)
[ 0.000343] CPU: Testing write buffer coherency: ok
[ 0.000401] pid_max: default: 32768 minimum: 301
[ 0.001238] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.001267] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.003286] qcom_scm: convention: smc legacy
[ 0.004481] Setting up static identity map for 0x80300000 - 0x8030003c
[ 0.004656] rcu: Hierarchical SRCU implementation.
[ 0.005252] smp: Bringing up secondary CPUs ...
[ 0.008695] smp: Brought up 1 node, 4 CPUs
[ 0.008731] SMP: Total of 4 processors activated (384.00 BogoMIPS).
[ 0.008749] CPU: All CPU(s) started in SVC mode.
[ 0.015278] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
[ 0.015451] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.015487] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[ 0.015892] pinctrl core: initialized pinctrl subsystem
[ 0.017919] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[ 0.018334] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.019768] thermal_sys: Registered thermal governor 'step_wise'
[ 0.020236] cpuidle: using governor ladder
[ 0.020298] cpuidle: using governor menu
[ 0.047022] cryptd: max_cpu_qlen set to 1000
[ 0.051851] usbcore: registered new interface driver usbfs
[ 0.051929] usbcore: registered new interface driver hub
[ 0.051992] usbcore: registered new device driver usb
[ 0.052080] pps_core: LinuxPPS API ver. 1 registered
[ 0.052093] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.052125] PTP clock support registered
[ 0.054379] clocksource: Switched to clocksource arch_sys_counter
[ 0.055739] NET: Registered PF_INET protocol family
[ 0.055973] IP idents hash table entries: 8192 (order: 4, 65536 bytes, linear)
[ 0.057183] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
[ 0.057240] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[ 0.057263] TCP established hash table entries: 4096 (order: 2, 16384 bytes, linear)
[ 0.057330] TCP bind hash table entries: 4096 (order: 3, 32768 bytes, linear)
[ 0.057426] TCP: Hash tables configured (established 4096 bind 4096)
[ 0.057579] UDP hash table entries: 256 (order: 1, 8192 bytes, linear)
[ 0.057625] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear)
[ 0.057995] NET: Registered PF_UNIX/PF_LOCAL protocol family
[ 0.058050] PCI: CLS 0 bytes, default 64
[ 0.060407] workingset: timestamp_bits=14 max_order=17 bucket_order=3
[ 0.066740] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.066774] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[ 0.195837] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 248)
[ 0.199349] bam-dma-engine 8e04000.dma: num-channels unspecified in dt
[ 0.199383] bam-dma-engine 8e04000.dma: num-ees unspecified in dt
[ 0.200947] tcsr 1949000.tcsr: setting wifi_glb_cfg = 41000000
[ 0.201061] tcsr 1953000.ess_tcsr: setting ess interface select = 0
[ 0.201159] tcsr 1957000.tcsr: setting wifi_noc_memtype_m0_m2 = 2222222
[ 0.201545] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[ 0.203652] msm_serial 78af000.serial: msm_serial: detected port #0
[ 0.203711] msm_serial 78af000.serial: uartclk = 1843200
[ 0.203772] 78af000.serial: ttyMSM0 at MMIO 0x78af000 (irq = 33, base_baud = 115200) is a MSM
[ 0.203813] msm_serial: console setup on port #0
[ 0.783103] printk: console [ttyMSM0] enabled
[ 0.788250] msm_serial: driver initialized
[ 0.798198] loop: module loaded
[ 0.799339] spi_qup 78b5000.spi: IN:block:16, fifo:64, OUT:block:16, fifo:64
[ 0.801963] spi-nor spi0.0: mx25l25635e (32768 Kbytes)
[ 0.807569] 9 fixed-partitions partitions found on MTD device spi0.0
[ 0.812404] Creating 9 MTD partitions on "spi0.0":
[ 0.818925] 0x0000000e0000-0x0000000f0000 : "CFG1"
[ 0.824181] 0x0000000f0000-0x000000160000 : "BootBAK"
[ 0.828956] 0x000000160000-0x000000170000 : "WINGCFG1"
[ 0.833960] 0x000000170000-0x000000180000 : "ART"
[ 0.839086] 0x000000180000-0x0000001f0000 : "BootPRI"
[ 0.843751] 0x0000001f0000-0x000000200000 : "WINGCFG2"
[ 0.848910] 0x000000200000-0x000000280000 : "FS"
[ 0.853820] 0x000000280000-0x000001fe0000 : "firmware"
[ 0.859042] 2 fit-fw partitions found on MTD device firmware
[ 0.863010] 0x000000280000-0x000000690000 : "kernel"
[ 0.869482] 0x000000687c5c-0x000001fe0000 : "rootfs"
[ 0.873767] mtd: partition "rootfs" doesn't start on an erase/write block boundary -- force read-only
[ 0.879305] mtd: setting mtd9 (rootfs) as root device
[ 0.888056] 1 squashfs-split partitions found on MTD device rootfs
[ 0.892871] 0x000000d70000-0x000001fe0000 : "rootfs_data"
[ 0.899599] 0x000001fe0000-0x000001ff0000 : "CFG2"
[ 0.961579] i2c_dev: i2c /dev entries driver
[ 0.963642] sdhci: Secure Digital Host Controller Interface driver
[ 0.965009] sdhci: Copyright(c) Pierre Ossman
[ 0.970918] sdhci-pltfm: SDHCI platform and OF driver helper
[ 0.979495] NET: Registered PF_INET6 protocol family
[ 0.982723] Segment Routing with IPv6
[ 0.986148] In-situ OAM (IOAM) with IPv6
[ 0.989678] NET: Registered PF_PACKET protocol family
[ 0.993637] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[ 0.998982] 8021q: 802.1Q VLAN Support v1.8
[ 1.011733] Registering SWP/SWPB emulation handler
[ 1.029608] qca8k-ipq4019 c000000.switch: configuring for fixed/internal link mode
[ 1.029878] qca8k-ipq4019 c000000.switch: Link is Up - 1Gbps/Full - flow control rx/tx
[ 1.119160] qca8k-ipq4019 c000000.switch lan (uninitialized): PHY [90000.mdio-1:04] driver [Qualcomm QCA8072] (irq=POLL)
[ 1.120356] DSA: tree 0 setup
[ 1.129862] ubi0: attaching mtd0
[ 1.131979] ubi0: MTD device 0 is write-protected, attach in read-only mode
[ 1.135920] ubi0: scanning is finished
[ 1.141963] ubi0 error: 0xc07026c4: the layout volume was not found
[ 1.145919] ubi0 error: 0xc0705c04: failed to attach mtd0, error -22
[ 1.172319] VFS: Mounted root (squashfs filesystem) readonly on device 31:9.
[ 1.174395] Freeing unused kernel image (initmem) memory: 1024K
[ 1.178684] Run /sbin/init as init process
[ 1.840937] init: Console is alive
[ 1.841348] init: - watchdog -
[ 3.253792] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[ 3.412552] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[ 3.417517] init: - preinit -
[ 4.599214] random: jshn: uninitialized urandom read (4 bytes read)
[ 4.644622] random: jshn: uninitialized urandom read (4 bytes read)
[ 4.666457] random: jshn: uninitialized urandom read (4 bytes read)
[ 4.849482] ipqess-edma c080000.ethernet eth0: configuring for fixed/internal link mode
[ 4.850209] qca8k-ipq4019 c000000.switch lan: configuring for phy/psgmii link mode
[ 4.856447] ipqess-edma c080000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[ 5.394158] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: 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
[ 7.754604] mount_root: no usable overlay filesystem found, using tmpfs overlay
[ 7.767689] urandom-seed: Seed file not found (/etc/urandom.seed)
[ 7.864402] random: crng init done
[ 7.864449] random: 7 urandom warning(s) missed due to ratelimiting
[ 7.980123] procd: - early -
[ 7.980337] procd: - watchdog -
[ 8.630189] procd: - watchdog -
[ 8.762010] procd: - ubus -
[ 8.956488] procd: - init -
Please press Enter to activate this console.
[ 9.913230] kmodloader: loading kernel modules from /etc/modules.d/*
[ 10.057152] tun: Universal TUN/TAP device driver, 1.6
[ 10.065319] Loading modules backported from Linux version v6.1.110-0-g5f55cad62cc9d
[ 10.065372] Backport generated by backports.git v6.1.110-1-0-g965f73fc
[ 10.187880] PPP generic driver version 2.4.2
[ 10.189027] NET: Registered PF_PPPOX protocol family
[ 10.195114] wireguard: WireGuard 1.0.0 loaded. See www.wireguard.com for information.
[ 10.196189] wireguard: Copyright (C) 2015-2019 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved.
[ 10.727651] urngd: v1.0.2 started.
[ 11.378697] ath10k_ahb a000000.wifi: qca4019 hw1.0 target 0x01000000 chip_id 0x003900ff sub 0000:0000
[ 11.378773] ath10k_ahb a000000.wifi: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 0
[ 11.390650] ath10k_ahb a000000.wifi: firmware ver 10.4b-ct-4019-fH-13-5ae337bb1 api 5 features mfp,peer-flow-ctrl,txstatus-noack,wmi-10.x-CT,ratemask-CT,regdump-CT,txrate-CT,flush-all-CT,pingpong-CT,ch-regs-CT,nop-CT,htt-mgt-CT,set-special-CT,tx-rc-CT,cust-stats-CT,txrate2-CT,beacon-cb-CT,wmi-block-ack-CT,wmi-bcn-rc-CT crc32 cc518b9b
[ 11.443062] ath10k_ahb a000000.wifi: Loading BDF type 0
[ 11.563444] ath10k_ahb a000000.wifi: board_file api 2 bmi_id 0:20 crc32 d140cd7d
[ 12.850086] ath10k_ahb a000000.wifi: 10.4 wmi init: vdevs: 16 peers: 48 tid: 96
[ 12.850160] ath10k_ahb a000000.wifi: msdu-desc: 2500 skid: 32
[ 12.896709] ath10k_ahb a000000.wifi: wmi print 'P 48/48 V 16 K 144 PH 176 T 186 msdu-desc: 2500 sw-crypt: 0 ct-sta: 0'
[ 12.897672] ath10k_ahb a000000.wifi: wmi print 'free: 53268 iram: 13704 sram: 35752'
[ 13.034803] ath10k_ahb a000000.wifi: htt-ver 2.2 wmi-op 6 htt-op 4 cal pre-cal-file max-sta 32 raw 0 hwcrypto 1
[ 14.345669] ath10k_ahb a800000.wifi: qca4019 hw1.0 target 0x01000000 chip_id 0x003900ff sub 0000:0000
[ 14.345759] ath10k_ahb a800000.wifi: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 0
[ 14.357742] ath10k_ahb a800000.wifi: firmware ver 10.4b-ct-4019-fH-13-5ae337bb1 api 5 features mfp,peer-flow-ctrl,txstatus-noack,wmi-10.x-CT,ratemask-CT,regdump-CT,txrate-CT,flush-all-CT,pingpong-CT,ch-regs-CT,nop-CT,htt-mgt-CT,set-special-CT,tx-rc-CT,cust-stats-CT,txrate2-CT,beacon-cb-CT,wmi-block-ack-CT,wmi-bcn-rc-CT crc32 cc518b9b
[ 14.410041] ath10k_ahb a800000.wifi: Loading BDF type 0
[ 14.422294] ath10k_ahb a800000.wifi: board_file api 2 bmi_id 0:21 crc32 d140cd7d
[ 15.709303] ath10k_ahb a800000.wifi: 10.4 wmi init: vdevs: 16 peers: 48 tid: 96
[ 15.709373] ath10k_ahb a800000.wifi: msdu-desc: 2500 skid: 32
[ 15.756382] ath10k_ahb a800000.wifi: wmi print 'P 48/48 V 16 K 144 PH 176 T 186 msdu-desc: 2500 sw-crypt: 0 ct-sta: 0'
[ 15.757339] ath10k_ahb a800000.wifi: wmi print 'free: 53268 iram: 13704 sram: 35752'
[ 15.894230] ath10k_ahb a800000.wifi: htt-ver 2.2 wmi-op 6 htt-op 4 cal pre-cal-file max-sta 32 raw 0 hwcrypto 1
[ 16.078825] kmodloader: done loading kernel modules from /etc/modules.d/*
BusyBox v1.36.1 (2024-10-08 20:20:23 UTC) built-in shell (ash)