Skip to content

dis_cca / EDCCA-disable: measured NULL for monitor RX — safe J3 knob + harness#198

Merged
josephnef merged 2 commits into
masterfrom
dis-cca-investigation
Jul 6, 2026
Merged

dis_cca / EDCCA-disable: measured NULL for monitor RX — safe J3 knob + harness#198
josephnef merged 2 commits into
masterfrom
dis-cca-investigation

Conversation

@josephnef

Copy link
Copy Markdown
Collaborator

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_CCA A/B)

variant delivery
full vendor recipe (MAC EDCCA + BB 0x1a9c/0x1a14/0x1d58) ~10 hits — RX goes deaf
MAC EDCCA-disable only (0x520[15]/0x524[11]) null — 33700 vs 33400 hits over 46..76 dB (ratio 0.99), IGI pinned, FA identical
  • The BB 0x1d58[0xff8]=0x1ff write is literally "OFDM CCA off" (the CW-tone path uses it to stop OFDM detection) → it deafens the receiver to OFDM. Not implemented.
  • Mechanism: EDCCA gates TX deferral, not RX decode. 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.

What landed

  • RtlJaguar3Device::SetCcaModeJaguar3 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 to IRtlDevice.
  • 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

…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>
@josephnef josephnef merged commit 50e125a into master Jul 6, 2026
15 checks passed
@josephnef josephnef deleted the dis-cca-investigation branch July 6, 2026 09:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant