Report max TX power from NL80211_BAND_ATTR_FREQS
PATCH 1/1 Report max TX power from NL80211_BAND_ATTR_FREQS
Signed-off-by Jouni Malinen <[email protected]>
info.c +5 -0
@@ -34,6 +34,7 @@ static int print_phy_handler(struct nl_msg *msg, void *arg) [NL80211_FREQUENCY_ATTR_PASSIVE_SCAN] = { .type = NLA_FLAG }, [NL80211_FREQUENCY_ATTR_NO_IBSS] = { .type = NLA_FLAG }, [NL80211_FREQUENCY_ATTR_RADAR] = { .type = NLA_FLAG }, + [NL80211_FREQUENCY_ATTR_MAX_TX_POWER] = { .type = NLA_U32 }, };struct nlattr *tb_rate[NL80211_BITRATE_ATTR_MAX +1 ];
@@ -142,6 +143,10 @@ static int print_phy_handler(struct nl_msg *msg, void *arg)if (!tb_freq[NL80211_FREQUENCY_ATTR_FREQ ])continue ;printf ("\t\t\t* %d MHz" ,nla_get_u32 (tb_freq[NL80211_FREQUENCY_ATTR_FREQ ])); + +if (!tb_freq[NL80211_FREQUENCY_ATTR_DISABLED ]) +printf (" (%.1f dBm)" ,0.01 *nla_get_u32 (tb_freq[NL80211_FREQUENCY_ATTR_MAX_TX_POWER ])); + open =0 ;if (tb_freq[NL80211_FREQUENCY_ATTR_DISABLED ])print_flag ("disabled" , &open);
nl80211.h +5 -0
@@ -497,6 +497,8 @@ enum nl80211_band_attr {* on this channel in current regulatory domain. * @NL80211_FREQUENCY_ATTR_RADAR: Radar detection is mandatory * on this channel in current regulatory domain. +* @NL80211_FREQUENCY_ATTR_MAX_TX_POWER: Maximum transmission power in mBm +* (100 * dBm). */ enum nl80211_frequency_attr { __NL80211_FREQUENCY_ATTR_INVALID,
@@ -505,12 +507,15 @@ enum nl80211_frequency_attr {NL80211_FREQUENCY_ATTR_PASSIVE_SCAN ,NL80211_FREQUENCY_ATTR_NO_IBSS ,NL80211_FREQUENCY_ATTR_RADAR , +NL80211_FREQUENCY_ATTR_MAX_TX_POWER ,/* keep last */ __NL80211_FREQUENCY_ATTR_AFTER_LAST, NL80211_FREQUENCY_ATTR_MAX = __NL80211_FREQUENCY_ATTR_AFTER_LAST - 1 }; +#define NL80211_FREQUENCY_ATTR_MAX_TX_POWER NL80211_FREQUENCY_ATTR_MAX_TX_POWER +/** * enum nl80211_bitrate_attr - bitrate attributes * @NL80211_BITRATE_ATTR_RATE: Bitrate in units of 100 kbps
Signature · 1 line
Jouni Malinen PGP id EFC895FA
info.c static int print_phy_handler(struct nl_msg *msg, void *arg) · line 148
Quoted 3 lines
info.c +2
-0+if (!tb_freq[NL80211_FREQUENCY_ATTR_DISABLED ]) +printf (" (%.1f dBm)" ,0.01 *nla_get_u32 (tb_freq[NL80211_FREQUENCY_ATTR_MAX_TX_POWER ]));
You need to check whether that attribute is present too otherwise iw will segfault on kernels that don't have it, I've fixed that and committed it, thanks.
johannes