TL;DR
Consumer mesh Wi-Fi is expensive and locked down. Meanwhile, enterprises retire perfectly good 802.11ac access points by the pallet and dump them on the surplus market for a few dollars each. The Extreme Networks WS-AP3825i — a 3x3 MIMO, dual-band, PoE business AP — runs about $6 used, and it’ll happily run OpenWrt: no vendor controller, no license, no cloud account, just a clean Linux router you own. I bought a pallet of them. Here’s the why, the how, and the one mistake that turns one into a paperweight.
Why ex-enterprise APs beat consumer gear
- They’re built for abuse. Metal chassis, designed to run 24/7 in a ceiling for a decade. Consumer plastic isn’t in the same league.
- Real radios. 3x3 MIMO 802.11ac, proper antennas, designed for dense client counts. The WS-AP3825i is a PowerPC P1020 (e500v2 @ 800 MHz) with enough muscle to route and serve without breaking a sweat.
- PoE. One cable for power and data. Run it to a PoE switch or a PoE injector and you’re done — no wall wart near the ceiling.
- OpenWrt frees them. Off the vendor’s controller, an AP like this is just a Linux box with good radios. OpenWrt gives you VLANs, guest networks, proper firewalling, and updates on your schedule — no subscription, no phone-home.
The flash, at a glance
The WS-AP3825i has a first-class OpenWrt target: mpc85xx / p1020. The whole game is getting OpenWrt onto the NOR flash over the serial console + a TFTP/HTTP server, then telling the stock U-Boot to boot it.
- Use OpenWrt 23.05.5. It’s the numbered, reproducible release that boots clean on this board (Linux 5.15). The images are
openwrt-23.05.5-mpc85xx-p1020-extreme-networks_ws-ap3825i-*. - You drive it from the serial console. These have a header/console; you interrupt U-Boot, load an initramfs image over the network, then
sysupgradethe real image onto flash. - It’s a known device on the OpenWrt wiki (
toh/extreme_networks/ws-ap3825i) — the device page has the pinout and the boot incantation.
I’m deliberately not pasting my full bench recipe here — it’s fiddly, board-specific, and the wiki is the canonical source. But there’s one trap worth shouting about, because it cost me an evening:
The mistake that bricks them: don’t sysupgrade to stock 24.10
Do not flash a stock OpenWrt 24.10.x image onto this board. It bricks every time. The kernel load address (0x1500000) collides with the kernel-6.x decompression scratch space (OpenWrt #15237), the kernel never comes up, and you’re into a cold-recovery dance. The fix that relocates the load address lives on main; a backport is in flight (PR #23437) but until it lands in a numbered release, stay on 23.05.5. A nightly SNAPSHOT also boots if you want kernel 6.x, but I wouldn’t run a fleet on an unnumbered nightly.
Two more gotchas that’ll save you time:
- First
sysupgrademust keep settings off — don’t use-non the very first write (#12097). - Don’t bridge both Ethernet jacks into the same switch. The two RJ45s map to different internal interfaces and OpenWrt’s default bridge only uses one; loop both into one switch and the bridge detects a Layer-2 loop and refuses to forward. Leave the default bridge alone and use one jack.
What you end up with
A vendor-free 802.11ac access point with VLANs, a guest SSID, real firewalling, and no subscription — for the price of a coffee plus a PoE port. Stick a few around the house off a PoE switch and you have whole-home Wi-Fi that you fully control and can re-flash any time.
Skip the soldering-iron part
The flash is genuinely fiddly — serial console, TFTP, U-Boot environment surgery, and that 24.10 landmine. If you want the radios without the evening, I sell these pre-flashed with OpenWrt 23.05.5, tested booting from flash — in lots, from my store. Or grab a stack of un-flashed ones cheap and follow the wiki; either way, it beats paying consumer-router prices for worse hardware.