Commit a831f2f
Claude/debug arm mac ethernet w imcc (#19)
* Add single-instance check to prevent duplicate daemon processes
AF_NDRV sockets allow multiple binds but only the first process receives
packets. This caused silent failures when a previous lltdDaemon was still
running. Now uses flock() on /tmp/lltdDaemon.lock to ensure only one
instance runs at a time.
* Add Darwin Wi-Fi metrics module using CoreWLAN
Implements a pure C API for querying Wi-Fi metrics on macOS using CoreWLAN
framework. This provides RSSI, noise, link speed, and computed max link speed
without relying on external commands like wdutil or airport.
New files:
- lltd_wifi_corewlan.h: Pure C89 header with lltd_wifi_metrics_t struct
- lltd_wifi_corewlan.m: Objective-C shim using CoreWLAN
- lltd_wifi_rates.c/h: Rate calculation tables for HT/VHT/HE PHY modes
- tools/lltd-wifi-metrics.c: CLI tool for testing/verification
Features:
- Queries RSSI, noise, PHY mode, channel width via CoreWLAN
- Computes theoretical max link speed based on PHY/width/NSS
- Infers NSS/MCS/GI from observed link rate using rate tables
- Supports 802.11a/b/g/n/ac/ax with proper rate calculations
- Handles missing selectors gracefully for SDK compatibility
The module is Darwin-only and guarded with __APPLE__. No Objective-C
headers leak into the cross-platform C codebase.
---------
Co-authored-by: Claude <noreply@anthropic.com>1 parent 509ac76 commit a831f2f
0 file changed
0 commit comments