Skip to content

demo/send_packet: env-gated 40 MHz RX + HT STBC/LDPC TX radiotap#105

Merged
josephnef merged 2 commits into
masterfrom
feat/modern-tx-support
Jun 25, 2026
Merged

demo/send_packet: env-gated 40 MHz RX + HT STBC/LDPC TX radiotap#105
josephnef merged 2 commits into
masterfrom
feat/modern-tx-support

Conversation

@josephnef

Copy link
Copy Markdown
Collaborator

Two small, independent additions that let WiFiDriverTxDemo/WiFiDriverDemo exercise
modern HT formats (used to validate an external userspace TX against the chip):

  1. demo: env-gated 40 MHz RX (DEVOURER_BW=40) + the bw/stbc/ldpc/sgi PHY flags
    on the <devourer-corrupt-any> DUMP_ALL line (matching <devourer-stream>), so an
    HT40 frame can be received and a decoded-but-CRC-failed frame inspected for its PHY
    params.
  2. send_packet: honour STBC and FEC=LDPC on the HT radiotap path. The HT-MCS
    radiotap branch read bandwidth/short-GI but never STBC or FEC, so an HT frame tagged
    STBC/LDPC transmitted as plain BCC SISO — only the VHT branch honoured them. Reading
    them here (with DEVOURER_TX_HT_MCS=1) makes WiFiDriverTxDemo emit a real HT STBC /
    HT LDPC frame. Verified at the TX descriptor: fixed rate:128 (MGN_MCS0) ... stbc:1.

Builds clean (WiFiDriverDemo + WiFiDriverTxDemo).

🤖 Generated with Claude Code

josephnef and others added 2 commits June 25, 2026 19:44
DEVOURER_BW=40 selects a 40 MHz monitor channel (CHANNEL_WIDTH_40, with
DEVOURER_CHOFFSET for the secondary half) so the RX can receive HT40 frames; needed to
validate the gr-ieee802-11 fork's HT40 transmit over the air. Also surface
bw/stbc/ldpc/sgi on the <devourer-corrupt-any> DUMP_ALL line (matching <devourer-stream>)
so a frame the chip decodes-but-fails-CRC can be inspected for its decoded PHY params.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The HT-MCS radiotap branch read bandwidth and short-GI but never STBC or FEC, so an
HT frame tagged STBC/LDPC in radiotap silently transmitted as BCC SISO -- only the VHT
branch honoured them. Read STBC (MCS known bit5 / flags bits5-6) and LDPC (known bit4 /
flags bit4) here too, so WiFiDriverTxDemo with DEVOURER_TX_HT_MCS=1 + DEVOURER_TX_STBC=1
emits a real HT STBC / HT LDPC frame. Verified at the TX descriptor: fixed rate:128
(MGN_MCS0) stbc:1. Intended as a chip reference for the gr-ieee802-11 fork's modern TX.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@josephnef josephnef merged commit 4e896e3 into master Jun 25, 2026
6 checks passed
@josephnef josephnef deleted the feat/modern-tx-support branch June 25, 2026 16:48
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