nl80211: Add signal strength and bandwith to nl80211station info
This patch adds signal strength and transmission bitrate to the station_info of nl80211. Signed-off-by: Henning Rogge <rogge@fgan.de> Acked-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
committed by
John W. Linville
parent
221b3d60cb
commit
420e7fabd9
+24
-1
@@ -310,12 +310,35 @@ static void sta_set_sinfo(struct sta_info *sta, struct station_info *sinfo)
|
||||
|
||||
sinfo->filled = STATION_INFO_INACTIVE_TIME |
|
||||
STATION_INFO_RX_BYTES |
|
||||
STATION_INFO_TX_BYTES;
|
||||
STATION_INFO_TX_BYTES |
|
||||
STATION_INFO_TX_BITRATE;
|
||||
|
||||
sinfo->inactive_time = jiffies_to_msecs(jiffies - sta->last_rx);
|
||||
sinfo->rx_bytes = sta->rx_bytes;
|
||||
sinfo->tx_bytes = sta->tx_bytes;
|
||||
|
||||
if (sta->local->hw.flags & IEEE80211_HW_SIGNAL_DBM) {
|
||||
sinfo->filled |= STATION_INFO_SIGNAL;
|
||||
sinfo->signal = (s8)sta->last_signal;
|
||||
}
|
||||
|
||||
sinfo->txrate.flags = 0;
|
||||
if (sta->last_tx_rate.flags & IEEE80211_TX_RC_MCS)
|
||||
sinfo->txrate.flags |= RATE_INFO_FLAGS_MCS;
|
||||
if (sta->last_tx_rate.flags & IEEE80211_TX_RC_40_MHZ_WIDTH)
|
||||
sinfo->txrate.flags |= RATE_INFO_FLAGS_40_MHZ_WIDTH;
|
||||
if (sta->last_tx_rate.flags & IEEE80211_TX_RC_SHORT_GI)
|
||||
sinfo->txrate.flags |= RATE_INFO_FLAGS_SHORT_GI;
|
||||
|
||||
if (!(sta->last_tx_rate.flags & IEEE80211_TX_RC_MCS)) {
|
||||
struct ieee80211_supported_band *sband;
|
||||
sband = sta->local->hw.wiphy->bands[
|
||||
sta->local->hw.conf.channel->band];
|
||||
sinfo->txrate.legacy =
|
||||
sband->bitrates[sta->last_tx_rate.idx].bitrate;
|
||||
} else
|
||||
sinfo->txrate.mcs = sta->last_tx_rate.idx;
|
||||
|
||||
if (ieee80211_vif_is_mesh(&sdata->vif)) {
|
||||
#ifdef CONFIG_MAC80211_MESH
|
||||
sinfo->filled |= STATION_INFO_LLID |
|
||||
|
||||
Reference in New Issue
Block a user