I am going to make an open source WLAN controller

So I have gotten kinda deep into WLAN as of recently, and I haven't come across any good open source WLAN controllers. There is NetworkManager - which kind of sucks for configuring WLAN APs. It doesn't provide a proper configuration layer for hostapd which is driver-first (as it should be). In addition, there's not any good "show me the connected devices" type of open source interface.

I am taking a lot of inspiration from Unifi's WLAN software - except this project would ideally be aimed towards "bring your own hardware." I will immediately confess that, my DYI router is a recycled x86 thin client with a brand new M.2 WiFi 7 Qualcomm FastConnect NIC. The cost of this modem/router/switch/etc... was ~$90.

The recycled x86 was free and I spent about $50 on a for a WiFi 7 chip and ~$7 on antennas + shipping.

I got the router setup by painfully and manually configuring hostapd (which Qualcomm supports) config files over the course of a weekend. Qualcomm truly has made a beast of a phy. It's dual band WiFi 7 meaning that I got 2.4ghz and 6ghz running continuously on the same SSID. I segregate the 2.4GHz into their own subnet as this are mostly IoT/legacy devices. While the 6GHz subnet is for high-speed post-2020 devices (or whatever year they started producing chips for this band).

In addition to hostapd I am running other nice services in my WLAN x86 host: ufw (duh), PiHole, Wireguard (for egress routed IPSec), file syncs, etc...

Bla bla bla... What will this do?

The MVP will be the following:

  • Single WLAN router controller
  • Start/configure/monitor WLAN on x86 fastconnect 7... whatever MY hardware...
    • Add abstractions so that you too, could add your own hardware-specific configs.
  • WAN, LAN, subnet, DNS, DHCP, etc... configuration.
  • Firewall, MAC address network access control.
  • CLI start/stop/configure interface
  • Web interface.
  • Maybe, if I am nice, like a "install portainer" button.

I am thinking this will be mostly Rust based (unless the native framework is not there yet...)

NixOS native: Ya tu sabe.

When will this be done: By the end of 2026 😺