mirror of
https://github.com/vanhoefm/fragattacks.git
synced 2024-11-28 18:28:23 -05:00
Add AVG_BEACON_RSSI to SIGNAL_POLL output
If the driver reports separate signal strength average for Beacon frames, report that in SIGNAL_POLL output. Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
parent
4acdc48a43
commit
74fa78b281
@ -1477,6 +1477,7 @@ struct wpa_signal_info {
|
|||||||
int above_threshold;
|
int above_threshold;
|
||||||
int current_signal;
|
int current_signal;
|
||||||
int avg_signal;
|
int avg_signal;
|
||||||
|
int avg_beacon_signal;
|
||||||
int current_noise;
|
int current_noise;
|
||||||
int current_txrate;
|
int current_txrate;
|
||||||
enum chan_width chanwidth;
|
enum chan_width chanwidth;
|
||||||
|
@ -1187,6 +1187,7 @@ static int get_link_signal(struct nl_msg *msg, void *arg)
|
|||||||
static struct nla_policy policy[NL80211_STA_INFO_MAX + 1] = {
|
static struct nla_policy policy[NL80211_STA_INFO_MAX + 1] = {
|
||||||
[NL80211_STA_INFO_SIGNAL] = { .type = NLA_U8 },
|
[NL80211_STA_INFO_SIGNAL] = { .type = NLA_U8 },
|
||||||
[NL80211_STA_INFO_SIGNAL_AVG] = { .type = NLA_U8 },
|
[NL80211_STA_INFO_SIGNAL_AVG] = { .type = NLA_U8 },
|
||||||
|
[NL80211_STA_INFO_BEACON_SIGNAL_AVG] = { .type = NLA_U8 },
|
||||||
};
|
};
|
||||||
struct nlattr *rinfo[NL80211_RATE_INFO_MAX + 1];
|
struct nlattr *rinfo[NL80211_RATE_INFO_MAX + 1];
|
||||||
static struct nla_policy rate_policy[NL80211_RATE_INFO_MAX + 1] = {
|
static struct nla_policy rate_policy[NL80211_RATE_INFO_MAX + 1] = {
|
||||||
@ -1215,6 +1216,13 @@ static int get_link_signal(struct nl_msg *msg, void *arg)
|
|||||||
else
|
else
|
||||||
sig_change->avg_signal = 0;
|
sig_change->avg_signal = 0;
|
||||||
|
|
||||||
|
if (sinfo[NL80211_STA_INFO_BEACON_SIGNAL_AVG])
|
||||||
|
sig_change->avg_beacon_signal =
|
||||||
|
(s8)
|
||||||
|
nla_get_u8(sinfo[NL80211_STA_INFO_BEACON_SIGNAL_AVG]);
|
||||||
|
else
|
||||||
|
sig_change->avg_beacon_signal = 0;
|
||||||
|
|
||||||
if (sinfo[NL80211_STA_INFO_TX_BITRATE]) {
|
if (sinfo[NL80211_STA_INFO_TX_BITRATE]) {
|
||||||
if (nla_parse_nested(rinfo, NL80211_RATE_INFO_MAX,
|
if (nla_parse_nested(rinfo, NL80211_RATE_INFO_MAX,
|
||||||
sinfo[NL80211_STA_INFO_TX_BITRATE],
|
sinfo[NL80211_STA_INFO_TX_BITRATE],
|
||||||
|
@ -6476,6 +6476,14 @@ static int wpa_supplicant_signal_poll(struct wpa_supplicant *wpa_s, char *buf,
|
|||||||
pos += ret;
|
pos += ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (si.avg_beacon_signal) {
|
||||||
|
ret = os_snprintf(pos, end - pos,
|
||||||
|
"AVG_BEACON_RSSI=%d\n", si.avg_beacon_signal);
|
||||||
|
if (os_snprintf_error(end - pos, ret))
|
||||||
|
return -1;
|
||||||
|
pos += ret;
|
||||||
|
}
|
||||||
|
|
||||||
return pos - buf;
|
return pos - buf;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user