Skip to content

Analysis: what the sensor can detect and attribute

Date: 2026-10-20; the table updated on 2026-10-21. Question: how far the goal holds after the first week with the hardware and ten testlab scenarios: detecting a client's problem and attributing it to one outcome (AP side, client side, RF environment, upstream / not Wi-Fi, measurement limit, undecided). Sources: docs/measurements/, the testlab recordings (testlab.md, test data), the hint rules (rules) and the code of BlockAckTracker and HintRules. Labels: [B] measured or in the code · [W] likely · [O] uncertain.

The actions that follow from it are in the plan (docs/status.md), the scorecard in test data.

Summary

  • Problems made of events (login, disconnect, roam) are detectable and attributable over the air: the testlab scenarios with a wrong PSK, a refused SAE group, a client leaving, an AP kick and an AP reboot came out as caused [B]. With PMF the reasons, BTM and 11k are encrypted and move to Mist; the sender of a frame stays visible [B].
  • Performance complaints are detectable: BA success per direction works where the data decode does not [B]. Their side is often not attributable from beside the client: the sensor hears the client's surroundings, not the AP's. Without Mist or a second vantage point an uplink loss stays undecided [B, by design]. In the first cases undecided is likely the most common outcome for a performance complaint [W]; that is honest, not a failure.
  • Upstream is a conclusion by elimination ("Wi-Fi looks fine", on a quiet channel). It is as good as BA success, which has no ground truth yet and counts a PPDU lost whole and delivered on a retry as delivered [B, code]; the TXOPs that start with an RTS show part of that (txop-loss.md) [B].
  • Mist turns from an addition into a prerequisite: for the encrypted evidence, for the side of an uplink loss and for a positive upstream finding.
  • The rules fit the home testlab: ten of the sixteen scenario recordings came out right only after a rule change, and no recording was held out [B]. The false alarm rate in dense campus RF is unknown [B].

What holds

  • The capture chain: rule 1 verified by cross-capture, the truncation enforced in the kernel, no drops at the testlab's rates [B].
  • BA success survives the sensor's limits. With the monitor at 20 MHz next to a 160 MHz BSS it still came out at 99.7 % down and 98.0 % up from 55,000 BAs (eht-6g-20-A in eht-capture.md) [B]. The primary metric therefore holds where data frames are not decoded: EHT MCS 13 [B], 320 MHz and puncturing [W, untested].
  • The sensor misses data mainly at a high MCS, when the link is good; at a low MCS it decodes it (eht-6g-160-B: every downlink MPDU at MCS 4–6) [B]. The blind spot of the rates shrinks where the rates matter.
  • The decision model separates tested from untested, and an observation without a side does not decide [B]. With one expert user that matters more for trust than any further rule.

Per problem class

Class Detection Attribution What limits it
Login with PSK or SAE high [B] high [B] M2 without M3 and the SAE status are near unambiguous (testlab-wrong-psk, testlab-sae-group)
Login with 802.1X (eduroam) high [B] medium [W] The EAP timeline is visible (testlab-ap-kick-eduroam); why the RADIUS server refuses is inside the TLS tunnel, and the truncation stops at the EAP type: an EAP-Failure alone does not tell a wrong password from a rejected certificate, an expired account or a policy at the home institution. A failed login is untested
Disconnect high [B] high without PMF or with Mist, medium with PMF alone [B] The sender stays visible, the reason is encrypted (testlab-client-leaves-sae); Mist's reason_code gives it back (testlab-ap-kick-eduroam)
Roaming medium [B] medium [W] Visible between the channels of capA and capB only; BTM encrypted with PMF; sticky client and weaker roam need the sensor beside the client
Loss towards the client (interference at the client, coverage) high, with the BAR bound [B] medium [W] The reference client on the same BSS separates the client from its surroundings (testlab-power-save-second-client); the kind of interferer only with the ath9k
Loss towards the AP, asymmetric link medium [B] low without Mist [B] The sensor hears the client's surroundings, not the AP's
Busy channel medium [B] high [B] QBSS or at least three co-channel radios; no busy time of its own until the ath9k; the AP45 sends QBSS on every band [B]
Power save, latency, jitter power save medium [B], latency and jitter low low without a reference client on the BSS [B] Wakes and the bursts after them are counted (WakeBurst); a loss mostly right after wakes has no side of its own. Latency and jitter are not built: data is encrypted and at a high MCS mostly not decoded
Upstream (DHCP, DNS, the WAN, slow RADIUS) by elimination medium As good as "Wi-Fi looks fine"; only RADIUS latency is a finding of its own. Mist's DHCP and DNS events would make upstream one
Measurement limit high [B] high [B] Drops and the capture share per direction