Skip to content

Kestrel: enable the 8852C frame-free NHM floor on 2.4 GHz#308

Merged
josephnef merged 1 commit into
masterfrom
kestrel-8852c-nhm-24g
Jul 19, 2026
Merged

Kestrel: enable the 8852C frame-free NHM floor on 2.4 GHz#308
josephnef merged 1 commit into
masterfrom
kestrel-8852c-nhm-24g

Conversation

@josephnef

Copy link
Copy Markdown
Collaborator

What

The active/frame-free NHM absolute noise floor (DEVOURER_RX_NOISE_FLOORRxEnergy.abs_noise_floor_dbm) was 8852B-only. This enables it for the 8852C on 2.4 GHz, where on-air characterization shows it is correct and stable.

Why band-gated

I characterized the 8852C NHM across 2.4 + 5 GHz (per-window time series vs the passive floor and the 8852B NHM):

  • 2.4 GHz: the 8852C NHM reads correctly and stably (cross-matches its own passive floor within ~2 dB). → enabled.
  • 5 GHz: the NHM reads correctly for ~1.5 s after a channel tune, then the AGC drifts and locks it ~24 dB high — a bimodal gain-state lock, not a fixed offset. It's not a halbb SW issue (the env-monitor treats the 8852C identically to the 8852B) nor a front-end-gain issue (the physts RSSI is correct). Only a full set_channel re-tune resets it, and RX traffic re-drives it. → stays gated, the 8852C uses the passive rssi−snr floor on 5 GHz.

The 8852B NHM is correct on both bands (unchanged).

Validation (on-air)

die 2.4 GHz (ch6) 5 GHz (ch36)
C8852C -90 dBm (was null) null → passive floor
C8852B -83 dBm -93 dBm (unchanged)

Plausibility guard (-60..-105) retained. Build clean, ctest 28/28. New harness: tests/kestrel_nhm_2g_onair.sh.

Follows up the physts passive-floor work (#307); the 5 GHz NHM gain-lock is the remaining NHM half of #306.

🤖 Generated with Claude Code

The active NHM absolute noise floor (DEVOURER_RX_NOISE_FLOOR) was 8852B-only.
On-air characterization shows the 8852C NHM is correct and stable on 2.4 GHz
(cross-matches its passive floor within ~2 dB), so enable it there. It stays
gated on 5 GHz: ~1.5 s after a channel tune the AGC drifts and locks the NHM
~24 dB high (a bimodal gain-state lock, not a fixed offset — the halbb SW path
treats the 8852C identically to the 8852B and the physts RSSI is correct; only
a full set_channel re-tune resets it, and RX traffic re-drives it). On 5 GHz
the 8852C keeps falling back to the passive rssi-snr floor.

On-air: 8852C 2.4G NHM -90 dBm (matches passive), 5G null; 8852B unchanged.

tests/kestrel_nhm_2g_onair.sh validates the band gate.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@josephnef
josephnef merged commit 4eb5788 into master Jul 19, 2026
18 checks passed
@josephnef
josephnef deleted the kestrel-8852c-nhm-24g branch July 19, 2026 07:19
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