What does the txpower value passed via nl80211 actually mean?

From: Firas Shaari <hidden>
Date: 2026-09-10 17:38:21

Hi all,

My background is more on the RF/testing side than kernel development,
so this may already be well understood by people on this list.

When I run:

  iw dev wlan0 set txpower fixed 2000

on a 4-chain AP, what exactly is the 20 dBm intended to represent?

 a) Conducted power per TX chain, meaning 20 dBm per chain, with
    approximately +6 dB when combining four chains, plus antenna
    gain; or
 b) A total/EIRP value that the driver is expected to account for
    across the chains?

The nl80211.h documentation only says "Transmit power level in signed
mBm units", and I couldn't find anything that clearly defines which
interpretation is intended.

From what I could follow in ath11k, it appears to be (a), but I'd like
to understand whether that's the intended meaning across drivers or
simply how ath11k implements it.

The reason I'm asking is that on OpenWiFi APs, this value goes directly
from the controller down to `iw set txpower`, and at least one
controller has been labeling the value as "EIRP" in its UI. People
design their networks in Ekahau using EIRP, enter that same number into
the controller, and can end up with cells that have a much larger
footprint than planned.

I have a LitePoint tester and plan to measure the conducted power per
chain across a few chipsets, including ath11k, ath12k, and mt76, using
APs from Edgecore, Actiontec/CIG, and a few other white-box
manufacturers.

If (a) is indeed the intended interpretation, I'd be happy to send a
small documentation patch so the next person doesn't have to guess.

Thanks,
Firas Shaari
802.11 Networks Corp.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help