Commit c6d4efc
committed
research: macOS WiFi stack — what's open, what's closed, what we use
Documents Apple's WiFi management stack (wifid + Apple80211 + CoreWLAN
+ IO80211Family + eapolclient) and its open-source status. Marked
RESEARCH not PORT because most of it can't be ported — wifid is
closed-source and depends on closed-source IO80211Family kernel
framework that doesn't exist on FreeBSD.
Key findings:
- macOS does NOT use wpa_supplicant. Has its own proprietary stack
centered on wifid (closed-source binary at /usr/libexec/wifid).
- The 802.11 association layer, scanning, key management, profile
storage — all closed source.
- The ONE published piece is eapolclient at apple-oss-distributions/
eap8021x — covers EAP/802.1X authentication only.
- wpa_supplicant from ports is what we ship. Battle-tested,
cross-platform, full WPA3-SAE/OWE/EAP coverage. Same client every
other FreeBSD-based desktop uses (GhostBSD, NomadBSD, HelloSystem).
Hypothetical "wifid-fbsd" path documented in §5: a thin ObjC daemon
exposing a CoreWLAN-equivalent API over DO IPC, talking to
wpa_supplicant via control socket. ~3-4k LOC, ~2 person-months.
Would only do this if Gershwin GUI explicitly wants Mac API
symmetry — cosmetic, not functional.
Comparison table covers protocol-by-protocol coverage (WPA2/WPA3/
EAP/P2P/AP mode/etc.) showing wpa_supplicant matches Apple's stack
on everything that matters functionally. Apple has tighter
proprietary-feature integration (AirDrop, Continuity); wpa_supplicant
has more open feature set (AP mode via hostapd, mature P2P).
Linked into index.html under FreeBSD Research → launchd → configd
→ IPConfiguration, since the WiFi research is companion context to
the dhcp porting plan.1 parent 157af26 commit c6d4efc
2 files changed
Lines changed: 437 additions & 0 deletions
0 commit comments