Thread (3 messages) 3 messages, 2 authors, 2015-11-03

[WEXT/nl80211] few API questions

From: Gerrit Renker <hidden>
Date: 2015-10-31 20:17:37

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help