Message ID | 1425452686-28196-1-git-send-email-arnagara@qti.qualcomm.com (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Johannes Berg |
Headers | show |
On Wed, 2015-03-04 at 12:34 +0530, Ashok Raj Nagarajan wrote: > We already have allowable channel bandwidth information at userspace. > Display this information with 'iw list'. Excerpt of iw list command > > Frequencies: > * 5180 MHz [36] (17.0 dBm) > (10MHZ, 20MHZ, HT40+, VHT80, VHT160) > * 5200 MHz [40] (17.0 dBm) > (10MHZ, 20MHZ, HT40-, HT40+, VHT80, VHT160) > > Signed-off-by: Ashok Raj Nagarajan <arnagara@qti.qualcomm.com> > --- > v2: > Display channel bw information in separate line (Johannes) > Updated commit log to reflect above change. Thanks for the changes. I was going to apply this, but then I realized that the above example is probably incorrect, since I'm guessing it was done on a driver that doesn't actually support 10 MHz? And if it was then it probably also supported 5 MHz... Now, the annoying thing is that to display the possible bandwidth we need to parse a lot more information - i.e. the "supports 5 MHz" and "supports 10 MHz" flags, along with the HT/VHT information. The even more annoying thing is that we get that information only in later nl80211 messages while printing this, so we can no longer parse things in the right order. One technical alternative would be to print exactly the attributes, i.e. "no 5 MHz", "no 10 MHz", etc. instead of inverting and printing what's supported, but that's perhaps a little too unfriendly for users? I guess we can first collect all messages and print all the data later, parsing them first for the capabilities and then the channels, but that seems like a pretty big code change? Additionally, the channel display information in "iw list" is getting pretty big these days. Perhaps we should have a separate command that prints the channel list with all the detail information, and then that command can do all of the above? johannes -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/info.c b/info.c index 1df503f..728cb87 100644 --- a/info.c +++ b/info.c @@ -189,6 +189,31 @@ next: printf(")"); printf("\n"); + if (!tb_freq[NL80211_FREQUENCY_ATTR_DISABLED]) { + open = 0; + printf("\t\t\t "); + if (!tb_freq[NL80211_FREQUENCY_ATTR_NO_10MHZ]) + print_flag("10MHz", &open); + + if (!tb_freq[NL80211_FREQUENCY_ATTR_NO_20MHZ]) + print_flag("20MHz", &open); + + if (!tb_freq[NL80211_FREQUENCY_ATTR_NO_HT40_MINUS]) + print_flag("HT40-", &open); + + if (!tb_freq[NL80211_FREQUENCY_ATTR_NO_HT40_PLUS]) + print_flag("HT40+", &open); + + if (!tb_freq[NL80211_FREQUENCY_ATTR_NO_80MHZ]) + print_flag("VHT80", &open); + + if (!tb_freq[NL80211_FREQUENCY_ATTR_NO_160MHZ]) + print_flag("VHT160", &open); + if (open) + printf(")"); + printf("\n"); + } + if (!tb_freq[NL80211_FREQUENCY_ATTR_DISABLED] && tb_freq[NL80211_FREQUENCY_ATTR_DFS_STATE]) { enum nl80211_dfs_state state = nla_get_u32(tb_freq[NL80211_FREQUENCY_ATTR_DFS_STATE]); unsigned long time;
We already have allowable channel bandwidth information at userspace. Display this information with 'iw list'. Excerpt of iw list command Frequencies: * 5180 MHz [36] (17.0 dBm) (10MHZ, 20MHZ, HT40+, VHT80, VHT160) * 5200 MHz [40] (17.0 dBm) (10MHZ, 20MHZ, HT40-, HT40+, VHT80, VHT160) Signed-off-by: Ashok Raj Nagarajan <arnagara@qti.qualcomm.com> --- v2: Display channel bw information in separate line (Johannes) Updated commit log to reflect above change. info.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+)