Executive summary
The hypothesis failed in its second clause, instructively: the illuminator does give a controlled single-class source (99 % of captured records are its 52-tone non-HT OFDM class), but the delivered rate is not the commanded pace — broadcast frames carry no ACK and are never retransmitted, so on a contended office channel delivery was 30 % at 100 Hz pace and 72 % at 25 Hz pace, arriving in CSMA-bunched bursts (39 % of gaps < 2 ms, stalls up to 1.1 s). The commanded pace is a ceiling, not a sampling axis; the observer's timing view is the arm's real axis. Two platform defects were found and fixed on the way: a day-one csid bug that made every ≥80 MHz tune fail (mixed iw syntax forms), and a firmware assert that makes 5 GHz AP mode impossible on the iax backport — illumination is 2.4 GHz-only until the driver is fixed.
Sessions (all synced to S3)
| Session | Purpose | Records | Outcome |
|---|---|---|---|
monad02_d1-illuminated_20260727-141232 |
80 MHz tune-fix verification (6 s, ch36/80 MHz) | 0 | Monitor tuned ch36 / 80 MHz / centre 5210 — the metadata sidecar is the artefact; empty capture expected and irrelevant |
monad02_exp-band-24_20260727-141257 |
First illuminated arm, receiver throttled (interval_us=10000) |
3 457 | ~14 Hz of 100 Hz pace — throttle × burst interaction discovered (one record kept per CSMA bunch) |
monad02_exp-band-24_20260727-141703 |
Main 30-min arm, uncapped receiver; pace 100 Hz → 25 Hz at t≈3 min | 41 603 | 99 % illuminator class, 0 stream drops; delivery/burstiness quantified; motion event captured ~14:31–14:34 |
Keys: s3://monad-knowledge/datasets/ax210-csi-captures/monad02/<session_id>/{capture.raw, capture.csiq, metadata.json}. Sources for the viz service: csid:monad02/<session_id>.
Findings
1. The illuminator frames are identifiable by a driver sentinel, not by MAC. Broadcast data frames arrive with source MAC ef:be:ad:de:ad:de — the driver's little-endian 0xdeadbeef/0xdead fill for frames without a station context. monad01's real MAC appears only on its beacons (~3 records per session). All analysis filters on the sentinel + 52-tone class.
2. Broadcast delivery is pace-dependent, bursty, and diurnal. No ACK, no retry: every collision is a permanent loss.
| Commanded pace | Delivered (office hours) | Delivered (early evening) |
|---|---|---|
| 100 Hz | ~30 Hz (30 %) | — |
| 25 Hz | ~14–18 Hz (56–72 %) | 24.1 Hz (96 %) |
Inter-arrival structure at 25 Hz: p50 61 ms vs the ideal 40 ms, a mass of sub-millisecond back-to-back pairs (mac80211 queues some broadcasts and releases them beacon-aligned), occasional ~1 s stalls. CV 1.6–2.5 ⇒ Doppler on this source is qualitative (Widar3-style axes need CV ≲ 0.5). Consequence adopted fleet-wide: illuminator default pace 25 Hz, band-arm captures uncapped (interval_us=0), and any drift/occupancy claim must report the delivered-rate timeline alongside.
3. The receiver throttle and the burstiness interact destructively. With interval_us=10000, one CSI record survives per CSMA bunch — the 100 Hz arm delivered ~10 Hz. The throttled session's inter-arrival histogram starts exactly at the 10 ms floor with the sub-ms mass removed; uniformity must come from the source's pacing, not the receiver's decimation.
_attachments/csi/2026-07-27-illum-band24-throttled-timing.png
4. The link itself is healthy and the measurement is real. RSSI −60/−63 dBm across the office; the two rx chains have genuinely different median |H(f)| curves (antenna distinctness per Gringoli's "CSI crime-scene" checks — not a misparse); the 30-min waterfall shows a stable frequency-selective fingerprint with persistent ridges, and a clear disturbance episode at 14:31–14:34 UTC (someone moving in the office) visible simultaneously in waterfall texture, delivered rate, and an rx1 RSSI dip cluster to −85 dBm.
_attachments/csi/2026-07-27-illum-band24-overview.png _attachments/csi/2026-07-27-illum-band24-chains.png _attachments/csi/2026-07-27-illum-band24-rssi.png _attachments/csi/2026-07-27-illum-band24-timing-tail.png
5. Platform defects fixed. (a) csid emitted iw dev … set freq 5180 80MHz 5210, mixing iw's two mutually exclusive syntax forms — every 80/160 MHz tune since the daemon existed had failed with an empty-stderr error; fixed in csid (iw_numeric() + tune_args() with regression tests pinning the argv), rebuilt and verified on both nodes. This retroactively explains the homelab "5 GHz tuning failed" anomaly, and unblocks the 80 MHz d1-* experiments of DEPLOY-001 AX210 Fleet Deployment FIIT Library. (b) illuminator-ap@band-5 crashes the AX210 firmware (FW error in SYNC CMD LINK_CONFIG_CMD in iwl_mvm_mld_assign_vif_chanctx) — not regulatory (regdom SK, 5180 IR-allowed, LAR-feeding scan changed nothing); 2.4 GHz AP works. 5 GHz sounding therefore uses mgmt-wlan0 traffic through a campus AP (the d1-* pattern) or a future associated-station/injector mode.
Why non-HT OFDM (and why the pace ceiling is acceptable)
Group-addressed frames must use a basic rate every receiver decodes — HT/VHT/HE MCS are per-station negotiated, so broadcast illumination is non-HT by protocol law, not by choice. The choice we did make (pinning basic_rates to 6 Mbps, excluding DSSS) buys band parity: 52 tones at 312.5 kHz identically on 2.4 and 5 GHz, one deterministic waveform, maximum decode robustness. The cost is coarser frequency sampling than HE (52 vs 242 points; cominelli2023_e6ee ↗) and single-stream sounding (2×1). Rich HE 2×2 sounding needs paced unicast to an associated station — which also fixes the time axis (ACK + retries) and is the natural next platform experiment, feeding EXP-008 Active Injection vs Passive Sniffing and the rate ladder of EXP-007 Packet-Rate Floor for Motion Sensing.
Key references
- cominelli2023_e6ee ↗ — antennas and subcarrier spacing dominate raw bandwidth; frames the 52-tone trade-off.
- zeng2021_1e4f ↗ — cross-chain ratio cancels time-varying hardware offsets; the basis for the inter-chain conjugate features this link will use.
- zhang2026_ccac ↗ — device-dependent distortions make raw CSI non-comparable without protocol; motivates the sidecar + delivered-rate reporting discipline.
Limits
- Every number here is a point estimate with no interval. This was a bring-up run, not a designed comparison: one node pair, one office, three sessions, and delivery figures read off single arms. The 30 % / 72 % contrast is not a measured effect with an uncertainty — it is two observations under different commanded paces at different times of day, and the diurnal swing (56–72 % in office hours against 96 % that evening) is the same size as the contrast. Do not cite these percentages as a rate–delivery relationship; that is what the ladder in EXP-007 Packet-Rate Floor for Motion Sensing exists to measure under a paired design.
- One geometry, one room, one band. monad01→monad02 at ~3 m through office furniture on 2.4 GHz ch11. Nothing here transfers to the library deployment or to 5 GHz.
- The instrument is superseded. hostapd multicast was replaced by monitor-mode injection (EXP-011 Paired-Band Delivery and Pacing Contrast), which measured CV 0.017–0.24 against this run's 1.6–2.5. Findings about the link stand; findings about the illuminator describe a component no longer in use, and the CV figure survives only as the baseline that motivated the change.
- The motion episode is anecdotal. Someone moving in the office at 14:31–14:34 UTC is visible in three signals at once, which is good evidence that the instrument sees people — and no evidence at all about how well, since there was no ground truth and n = 1 event.