Cdoc has been doing WiFi since before it was worth doing. 802.11a when it was expensive and slow, b and g when it got cheap and still slow, n when it finally started working, and ac/ax now that it's actually good. Thirty-plus years of watching this technology grow up — most of it on the bench first.
We were never afraid to build our own solution when the right one didn't exist yet.
That's still true. The tools are better now, but the approach hasn't changed — test it in the lab, understand it completely, then deploy it for a client. Not the other way around.
When the right test rig didn't exist, we built one. Multiple access points mounted to a plywood panel, wired to a switch, labeled and ready to test configurations before they go anywhere near a client site.
That label reads "WiFi SF SERVICE" — shorthand for a specific service isolation test we were running. The board still works. It's been through a lot of firmware revisions.
Three UAP-AC units, a CloudKey, PoE injectors labeled "Intermittent" — because we test failure modes too, not just happy paths. This is how a client deployment gets validated before it ships.
The platform has changed over the years. DD-WRT, OpenWrt, Meraki, and a few others lived on that bench before UniFi became the standard for most of what we deploy.
Two examples from the field. A client needed coverage in a space where no standard access point mount would work — wrong ceiling type, wrong dimensions, wrong everything. We modified the AP and fabricated a custom mount that fit the space exactly. Another situation called for access point firmware customized beyond what the manufacturer shipped — we did that too, tested it, and it ran for years without a support call.
Neither of those solutions came from a vendor playbook. That's what the lab is for.
This page is a stub. We have photos and stories going back to the ugly days — access points that look like science fair projects, firmware that technically wasn't legal to modify, and at least one client site where we ran cable through a wall that turned out to be load-bearing. More of that story lands here when we get around to it.