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.