I have a few short nl80211 API questions to help convert a userland
program from WEXT to nl80211 [1].
The iw code has been helpful, and I have used bits of it so far. When it comes
to kernel components, though, I don't understand that code well enough; so I'd
appreciate help with the following:
1. Signal Level Units
This refers to station signal level in status ASSOCIATED, AUTHENTICATED,
or IBSS_JOINED.
Q: Are the values reported via NL80211_STA_INFO_SIGNAL{,_AVG}
in xxx always in dBm, or if not, what information should be used
(NL80211_BSS_SIGNAL_MBM, NL80211_BSS_SIGNAL_UNSPEC).
The wext API sets the unit via iw_quality.updated flags (IW_QUAL_DBM),
is the same needed in nl80211?
2. Noise Level
It seems that the WEXT API does no longer support reporting noise floor
levels (IW_QUAL_NOISE_INVALID is always set).
Q: Is it correct to use NL80211_SURVEY_INFO_NOISE for the active channel
(NL80211_SURVEY_INFO_IN_USE) as replacement (header says it is dBm)?
3. Link Quality
WEXT has the concept of a link quality metric (iw_quality.qual).
Q: Given access to signal levels in dBm or mBm, looking at
cfg80211_wireless_stats(); would be correct to replace the call to
SIOCGIWSTATS by using the nl80211 values in (1) and simply
interpret -110dBm and -40dBm as ends of a quality scale from 0..70?
Thanks in advance,
Gerrit
[1] https://github.com/uoaerg/wavemon/tree/development
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html