Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions src/RtlJaguarDevice.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,19 @@ bool RtlJaguarDevice::send_packet(const uint8_t *packet, size_t length) {
}
}

/* 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 but
* nothing goes on-air (verified on hardware: default MGN_1M beacon = 0
* frames at ch36/ch100, but ~14k on-air once the rate is OFDM). 2.4GHz
* CCK is fine. So on a 5GHz channel, clamp a CCK rate to the lowest OFDM
* rate. (The 8812 chip happens to auto-fall-back CCK->OFDM at 5G; the
* 8814 does not, so we must do it in software.) */
if (_channel.Channel > 14 &&
(fixed_rate == MGN_1M || fixed_rate == MGN_2M ||
fixed_rate == MGN_5_5M || fixed_rate == MGN_11M)) {
fixed_rate = MGN_6M;
}

usb_frame = new uint8_t[usb_frame_length]();

ptxdesc = (struct tx_desc *)usb_frame;
Expand Down
Loading