Skip to content

Commit c6d4efc

Browse files
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

File tree

0 commit comments

Comments
 (0)