Adding Extreme AP3915i/AP7632i support

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)