PER-RATE TX POWER SETTING(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… Per-rate tx power setting πŸ’…

okay so real talk, this is a page straight out of the Kernel API Manual and it's literally the blueprint for how we set tx power per rate. bestie, it's giving "niche ath5k lore" and honestly? we're obsessed. πŸ¦‹


✨ DESCRIPTION ✨ (well, technically no heading in the original, but like, it's the description yk)

so this is the code that sets the desired tx power limit (below maximum, mind you β€” we're being responsible πŸ™ˆ) on the hw, for each rate. and yes, we also have TPC which sets power per packet type β€” that's a whole other thing, don't confuse them ✨. the way we do it: we hand over an index into the PCDAC/PDADC table we already set up above, one index for each rate. slay.

for now, we only limit txpower based on the maximum tx power supported by hw (that's the stuff living inside rate_info) + conformance test limits. and ngl, we need to limit it even more than that β€” based on regulatory domain etc etc β€” to be safe. but normally that gets done from above, so we genuinely don't care here. all we care about is that the tx power we set will be O.K. for the hw (like, it won't create noise on PA etc). periodt. πŸ’…

the rate power table contains indices into the PCDAC/PDADC table (0.5dB steps β€” those are the x values), and it's indexed like this:

  • rates[0] – rates[7] β†’ OFDM rates 🌸
  • rates[8] – rates[14] β†’ CCK rates πŸŽ€
  • rates[15] β†’ XR rates (they all have the same power, iykyk) πŸ‘‘

🫢 SEE ALSO 🫢

like, go read these next, bestie β€” they're all literally iconic:


ok that's the whole page, go touch grass (or a wifi card) 🌈

and that's a wrap, bestie!! this lil doc lives in ./drivers/net/wireless/ath/ath5k, and it's dated October 2026 β€” so yeah, it's basically from the future πŸ’€βœ¨ πŸ§šβ€β™€οΈ

πŸ“¦ where this page comes from