docs: tests/README — sniffer-attribution methodology + per-band sniffer assignment#79
Merged
josephnef merged 1 commit intoJun 6, 2026
Conversation
…er assignment The matrix's `--sniffer-iface` flag has been treated as an optional encoding-distribution dump, but with a working 5 GHz sniffer on the test rig it becomes a third independent witness that attributes TX-vs-RX failure independently of either endpoint. This commit makes that explicit in the docs. Adds: - "Failure attribution via the sniffer" section near the top — the 2x2 (sniffer-caught × RX-counted) decoder turning every cell from "did the pair work?" into "which side broke?". - Per-band sniffer-chip assignment table: AR9271 for 2.4 GHz (canonical, vanilla radiotap, no driver-side flag filtering), RTL8832AU for 5 GHz (lwfinger OOT 8852au — kernel-6.18 patch set tracked separately in kaeru). - Note on when the sniffer displaces VM mode — for devourer-only regression hunts, pair-with-anything + sniffer is sufficient because the sniffer attributes failure without needing a working kernel driver on the other side. VM remains required for the cross-driver interop rows on chips whose host kernel driver doesn't build (notably RTL8814AU on 6.15+). - Updated `--full-matrix` example to thread the sniffer-iface through, plus a `--no-baseline-abort` pointer for cases where the kernel side genuinely can't come up. - RTL8832AU caveat: one host stall observed under matrix load at ch36; cause not isolated, documented so the next person doesn't waste a debugging session reproducing it blind. No code change; doc-only. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
--sniffer-ifacefrom "optional encoding-distribution dump" to "third independent witness that attributes TX-vs-RX failure". New top-of-file Failure attribution via the sniffer section makes the 2×2 (sniffer-caught × RX-counted) decoder explicit so every cell goes from "did the pair work?" to "which side broke?".ath9k_htc) for 2.4 GHz, RTL8832AU (8852au, lwfinger OOT) for 5 GHz (UNII-1/2/3). The kernel-6.18 patch set for the OOT driver lives in kaeru (lwfinger/rtl8852au — kernel 6.18 build patches) and is not duplicated here.--full-matrixexample to thread--sniffer-ifacethrough, and point at--no-baseline-abortfor runs where the kernel side genuinely can't come up.--full-matrix --channel 36with three concurrent Realtek DUTs on the same xhci bus. Hard CPU stall, no oops/NMI. Retry was inconclusive (logs lost on tmp cleanup). Documented so the next person doesn't reproduce blind.No code change; doc-only.
Validation context
Background matrix runs on master used to assemble this doc:
4b3e79a(PR fix: 8821AU ch100 chip wedge on second channel-set during init (issue #59) #70) where the d/k and d/d cells were already 0 hits when the original "ch100 chip-wedge fix" landed.Test plan
sudo python3 tests/regress.py --full-matrix --channel 6 --sniffer-iface <AR9271 iface> --vm-name devourer-testrig --vm-ssh <user>@<vm-ip>reproduces the 23/24 + 8814-TX-gate signature against the README's stated expectation.🤖 Generated with Claude Code