dis_cca / EDCCA-disable: measured NULL for monitor RX — safe J3 knob + harness#198
Merged
Conversation
…arness, not promoted The adaptive-link recipes flag dis_cca as a community "doubles range / removes stuttering" tweak on the rtl88x2eu. Measure-first before shipping it as API. Finding (8822EU, swept B210 AWGN, DEVOURER_DIS_CCA A/B): - Full vendor recipe DEAFENS the RX: the BB 0x1d58[0xff8]=0x1ff write is "OFDM CCA off" (the CW-tone path uses it to stop OFDM detection), so it drops 8822EU delivery from ~6800 to ~10 frames. - MAC EDCCA-disable alone (0x520[15]/0x524[11]) is an exact NULL: delivery within 1% at every noise gain (33700 vs 33400 hits over 46..76 dB; IGI pinned, FA identical). Mechanism: EDCCA gates TX *deferral*, not RX decode — and devourer injects in monitor mode, which already bypasses the CSMA/EDCCA backoff the community's range benefit comes from. So there is nothing a runtime RX-side knob adds here. Disposition (same discipline as the #190 DIG and the J3 per-packet-power probe): - SetCcaMode is a Jaguar3 research knob only (DEVOURER_DIS_CCA=1) — NOT promoted to IRtlDevice. It writes ONLY the safe MAC EDCCA bit; the RX-deafening BB writes are deliberately omitted (documented in the code). - tests/dis_cca_onair.sh kept as the reusable swept-AWGN A/B rig for anyone re-measuring on a real (non-monitor) link — this bench can't bury the wanted beacon under B210 AWGN (near-field front-end limit), so the null is "no effect in the testable regime" + the mechanism above. Co-Authored-By: Claude Opus 4.8 <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.
Measure-first outcome: NULL (documented), knob kept safe & un-promoted
/tmp/adaptive-link-recipes.md§8 flags dis_cca as a community "doubles range / removes stuttering" tweak on the rtl88x2eu. Per the session's measure-first discipline (cf. #190 DIG, the J3 per-packet-power probe #195), I implemented it, measured, and gated shipping on the result.What the measurement found (8822EU, swept B210 AWGN,
DEVOURER_DIS_CCAA/B)0x1a9c/0x1a14/0x1d58)0x520[15]/0x524[11])0x1d58[0xff8]=0x1ffwrite is literally "OFDM CCA off" (the CW-tone path uses it to stop OFDM detection) → it deafens the receiver to OFDM. Not implemented.What landed
RtlJaguar3Device::SetCcaMode— Jaguar3 research knob only (DEVOURER_DIS_CCA=1), writes only the safe MAC EDCCA bit (the RX-deafening BB writes are deliberately omitted + documented). NOT promoted toIRtlDevice.tests/dis_cca_onair.sh— the reusable swept-AWGN delivery A/B rig, kept for re-measurement on a real (non-monitor) link. This bench can't bury the wanted beacon under B210 AWGN (near-field front-end limit), so the null is "no effect in the testable regime" + the mechanism above.Full all-chips build +
ctest(8/8) green. Merge or close at your discretion — the value here is the documented measurement; see the linked help-wanted issue for real-link verification.🤖 Generated with Claude Code