RATE CODES(9)
π Rate codes β Kernel API Manual, section 9 π
Okay bestie, so this is the Rate codes page from the Kernel API Manual (section 9, yes that section 9), and it's literally all about the little numbers that tell the hardware how fast to go. Buckle up. π¦
So, from what we can tell, the ar5xxx hardware supports up to 32 rates, indexed by 1-32. Thirty-two. That's a lot of rates, iykyk.
The rate code is what you use to get the RX rate or set the TX rate on the hardware descriptors. It's also used for internal modulation control and settings. So yeah β she does a lot. Main character energy fr fr. π
π The hardware rate map we know about (html unfriendly, sorry π)
Here's the whole thing, no cap, every single line:
0x01β 3000 (XR)0x02β 1000 (XR)0x03β 250 (XR)0x04-05β -Reserved-0x06β 2000 (XR)0x07β 500 (XR)0x08β 48000 (OFDM)0x09β 24000 (OFDM)0x0Aβ 12000 (OFDM)0x0Bβ 6000 (OFDM)0x0Cβ 54000 (OFDM)0x0Dβ 36000 (OFDM)0x0Eβ 18000 (OFDM)0x0Fβ 9000 (OFDM)0x10-17β -Reserved-0x18β 11000L (CCK)0x19β 5500L (CCK)0x1Aβ 2000L (CCK)0x1Bβ 1000L (CCK)0x1Cβ 11000S (CCK)0x1Dβ 5500S (CCK)0x1Eβ 2000S (CCK)0x1Fβ -Reserved-
And the decoder ring for those letters, because she's β¨fancyβ¨: "S" means CCK rates with short preamble, and "L" means CCK with long preamble. That's it, that's the whole letter situation. π«Ά
π The AR5211 plot twist
AR5211 has different rate codes for CCK (802.11B) rates. It only uses the lowest 4 bits, so they're the same as the ones above with a 0xF mask β that's 0xB, 0xA, 0x9 and 0x8 for 1M, 2M, 5.5M and 11M. Not me having to double-check that. π
We handle this in ath5k_setup_bands. Slay.
πΈ SEE ALSO πΈ
Go read these too, bestie, they're all feeding the same vibe:
- Kernel file
./drivers/net/wireless/ath/ath5k/ath5k.henum ath5k_version(9)enum ath5k_radio(9)Atheros XR(9)Atheros SuperAG(9)enum ath5k_driver_mode(9)enum ath5k_ant_mode(9)enum ath5k_bw_mode(9)struct ath5k_tx_status(9)enum ath5k_tx_queue(9)enum ath5k_tx_queue_subtype(9)enum ath5k_tx_queue_id(9)struct ath5k_txq(9)struct ath5k_txq_info(9)enum ath5k_pkt_type(9)struct ath5k_rx_status(9)enum ath5k_rfgain(9)struct ath5k_gain(9)struct ath5k_athchan_2ghz(9)enum ath5k_dmasize(9)enum ath5k_int(9)enum ath5k_calibration_mask(9)enum ath5k_power_mode(9)
And that's the page!! π
Sourced from ./drivers/net/wireless/ath/ath5k, dated October 2026, and officially titled Rate codes(9). Go forth and set your TX rate, queen. πβ¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms