Skip to content

8814: clamp CCK TX rate to OFDM on 5GHz channels (fixes 5GHz TX, #50)#94

Open
josephnef wants to merge 1 commit into
masterfrom
loop/8814-tx-5g
Open

8814: clamp CCK TX rate to OFDM on 5GHz channels (fixes 5GHz TX, #50)#94
josephnef wants to merge 1 commit into
masterfrom
loop/8814-tx-5g

Conversation

@josephnef

Copy link
Copy Markdown
Collaborator

What

8814 devourer-TX produced 0 on-air frames at 5 GHz (the 5GHz half of #50) despite 100% URB completion. 2.4 GHz TX worked fine.

Root cause

send_packet defaults fixed_rate to MGN_1M (1 Mbps CCK) and only overrides it from the radiotap RATE/VHT fields (or HT-MCS under DEVOURER_TX_HT_MCS). CCK rates (1/2/5.5/11M) do not exist at 5 GHz — the RTL8814AU silently drops a CCK-rated frame on a 5 GHz channel: the bulk-OUT completes (rc ok), but nothing goes on-air. The 8812 chip happens to auto-fall-back CCK→OFDM at 5 GHz; the 8814 does not.

Fix

On a 5 GHz channel (_channel.Channel > 14), clamp a CCK fixed_rate to the lowest OFDM rate (MGN_6M).

Validation — real hardware (RTL8814AU 0bda:8813, RTL8821AU kernel-monitor witness)

  • 8814 TX at ch100, default rate: 0 → ~13,770 on-air frames (6 M OFDM, 11a).
  • Confirmed the (chip-agnostic) clamp path at ch36 (UNII-1) via the 8812 on the same send_packet — OFDM on-air.
  • ch6 (2.4 GHz CCK) unaffected.

Together with the merged 5GHz-RX fix (#93), this brings the 8814 to TX+RX on 2.4 GHz and 5 GHz.

🤖 Generated with Claude Code

send_packet defaults fixed_rate to MGN_1M (1M CCK) and only overrides it
from the radiotap RATE/VHT fields (or HT-MCS when DEVOURER_TX_HT_MCS is
set). CCK rates (1/2/5.5/11M) do not exist at 5GHz: the RTL8814AU
silently drops a CCK-rated frame on a 5GHz channel -- the bulk-OUT
completes (rc ok, 100% URB completion) but nothing goes on-air. 2.4GHz
CCK transmits fine.

On a 5GHz channel (Channel > 14), clamp a CCK fixed_rate to the lowest
OFDM rate (MGN_6M). The 8812 chip happens to auto-fall-back CCK->OFDM at
5G; the 8814 does not, so devourer must do it in software.

Verified on hardware (RTL8814AU 0bda:8813, 8821 kernel-monitor witness):
8814 TX at ch100 with the default rate goes 0 -> ~13770 on-air frames
(6M OFDM, 11a); ch6 (2.4G CCK) unaffected. Addresses the 5GHz half of the
8814 devourer-TX on-air gate (#50).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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