iw: enable HE PHY information for iw-tiny

Currently PHY information obtained from "iw phy" lacks information about
a PHYs HE capabilities when using the by default installed iw-tiny.

As there are already 802.11ax supported devices, enabled printing this
information for the by-default installed iw variant.

Signed-off-by: David Bauer <mail@david-bauer.net>
This commit is contained in:
David Bauer 2021-01-03 21:43:57 +01:00
parent 7e4f055990
commit 04f4ea5916
2 changed files with 12 additions and 28 deletions

View File

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=iw PKG_NAME:=iw
PKG_VERSION:=5.8 PKG_VERSION:=5.8
PKG_RELEASE:=1 PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@KERNEL/software/network/iw PKG_SOURCE_URL:=@KERNEL/software/network/iw

View File

@ -38,23 +38,7 @@
--- a/info.c --- a/info.c
+++ b/info.c +++ b/info.c
@@ -167,6 +167,7 @@ static int print_phy_handler(struct nl_m @@ -216,6 +216,7 @@ next:
tb_band[NL80211_BAND_ATTR_VHT_MCS_SET])
print_vht_info(nla_get_u32(tb_band[NL80211_BAND_ATTR_VHT_CAPA]),
nla_data(tb_band[NL80211_BAND_ATTR_VHT_MCS_SET]));
+#ifdef IW_FULL
if (tb_band[NL80211_BAND_ATTR_IFTYPE_DATA]) {
struct nlattr *nl_iftype;
int rem_band;
@@ -174,6 +175,7 @@ static int print_phy_handler(struct nl_m
nla_for_each_nested(nl_iftype, tb_band[NL80211_BAND_ATTR_IFTYPE_DATA], rem_band)
print_he_info(nl_iftype);
}
+#endif
if (tb_band[NL80211_BAND_ATTR_FREQS]) {
if (!band_had_freq) {
printf("\t\tFrequencies:\n");
@@ -216,6 +218,7 @@ next:
} }
} }
@ -62,7 +46,7 @@
if (tb_band[NL80211_BAND_ATTR_RATES]) { if (tb_band[NL80211_BAND_ATTR_RATES]) {
printf("\t\tBitrates (non-HT):\n"); printf("\t\tBitrates (non-HT):\n");
nla_for_each_nested(nl_rate, tb_band[NL80211_BAND_ATTR_RATES], rem_rate) { nla_for_each_nested(nl_rate, tb_band[NL80211_BAND_ATTR_RATES], rem_rate) {
@@ -232,6 +235,7 @@ next: @@ -232,6 +233,7 @@ next:
printf("\n"); printf("\n");
} }
} }
@ -70,7 +54,7 @@
} }
} }
@@ -297,6 +301,7 @@ next: @@ -297,6 +299,7 @@ next:
printf("\tCoverage class: %d (up to %dm)\n", coverage, 450 * coverage); printf("\tCoverage class: %d (up to %dm)\n", coverage, 450 * coverage);
} }
@ -78,7 +62,7 @@
if (tb_msg[NL80211_ATTR_CIPHER_SUITES]) { if (tb_msg[NL80211_ATTR_CIPHER_SUITES]) {
int num = nla_len(tb_msg[NL80211_ATTR_CIPHER_SUITES]) / sizeof(__u32); int num = nla_len(tb_msg[NL80211_ATTR_CIPHER_SUITES]) / sizeof(__u32);
int i; int i;
@@ -308,6 +313,7 @@ next: @@ -308,6 +311,7 @@ next:
cipher_name(ciphers[i])); cipher_name(ciphers[i]));
} }
} }
@ -86,7 +70,7 @@
if (tb_msg[NL80211_ATTR_WIPHY_ANTENNA_AVAIL_TX] && if (tb_msg[NL80211_ATTR_WIPHY_ANTENNA_AVAIL_TX] &&
tb_msg[NL80211_ATTR_WIPHY_ANTENNA_AVAIL_RX]) tb_msg[NL80211_ATTR_WIPHY_ANTENNA_AVAIL_RX])
@@ -327,11 +333,13 @@ next: @@ -327,11 +331,13 @@ next:
printf("\t\t * %s\n", iftype_name(nla_type(nl_mode))); printf("\t\t * %s\n", iftype_name(nla_type(nl_mode)));
} }
@ -100,7 +84,7 @@
if (tb_msg[NL80211_ATTR_INTERFACE_COMBINATIONS]) { if (tb_msg[NL80211_ATTR_INTERFACE_COMBINATIONS]) {
struct nlattr *nl_combi; struct nlattr *nl_combi;
@@ -428,6 +436,7 @@ broken_combination: @@ -428,6 +434,7 @@ broken_combination:
printf("\tinterface combinations are not supported\n"); printf("\tinterface combinations are not supported\n");
} }
@ -108,7 +92,7 @@
if (tb_msg[NL80211_ATTR_SUPPORTED_COMMANDS]) { if (tb_msg[NL80211_ATTR_SUPPORTED_COMMANDS]) {
printf("\tSupported commands:\n"); printf("\tSupported commands:\n");
nla_for_each_nested(nl_cmd, tb_msg[NL80211_ATTR_SUPPORTED_COMMANDS], rem_cmd) nla_for_each_nested(nl_cmd, tb_msg[NL80211_ATTR_SUPPORTED_COMMANDS], rem_cmd)
@@ -525,6 +534,7 @@ broken_combination: @@ -525,6 +532,7 @@ broken_combination:
printf("\t\t * wake up on TCP connection\n"); printf("\t\t * wake up on TCP connection\n");
} }
} }
@ -116,7 +100,7 @@
if (tb_msg[NL80211_ATTR_ROAM_SUPPORT]) if (tb_msg[NL80211_ATTR_ROAM_SUPPORT])
printf("\tDevice supports roaming.\n"); printf("\tDevice supports roaming.\n");
@@ -563,6 +573,7 @@ broken_combination: @@ -563,6 +571,7 @@ broken_combination:
} }
} }
@ -124,7 +108,7 @@
if (tb_msg[NL80211_ATTR_FEATURE_FLAGS]) { if (tb_msg[NL80211_ATTR_FEATURE_FLAGS]) {
unsigned int features = nla_get_u32(tb_msg[NL80211_ATTR_FEATURE_FLAGS]); unsigned int features = nla_get_u32(tb_msg[NL80211_ATTR_FEATURE_FLAGS]);
@@ -627,6 +638,7 @@ broken_combination: @@ -627,6 +636,7 @@ broken_combination:
if (features & NL80211_FEATURE_ND_RANDOM_MAC_ADDR) if (features & NL80211_FEATURE_ND_RANDOM_MAC_ADDR)
printf("\tDevice supports randomizing MAC-addr in net-detect scans.\n"); printf("\tDevice supports randomizing MAC-addr in net-detect scans.\n");
} }
@ -132,7 +116,7 @@
if (tb_msg[NL80211_ATTR_TDLS_SUPPORT]) if (tb_msg[NL80211_ATTR_TDLS_SUPPORT])
printf("\tDevice supports T-DLS.\n"); printf("\tDevice supports T-DLS.\n");
@@ -762,6 +774,7 @@ TOPLEVEL(list, NULL, NL80211_CMD_GET_WIP @@ -762,6 +772,7 @@ TOPLEVEL(list, NULL, NL80211_CMD_GET_WIP
"List all wireless devices and their capabilities."); "List all wireless devices and their capabilities.");
TOPLEVEL(phy, NULL, NL80211_CMD_GET_WIPHY, NLM_F_DUMP, CIB_NONE, handle_info, NULL); TOPLEVEL(phy, NULL, NL80211_CMD_GET_WIPHY, NLM_F_DUMP, CIB_NONE, handle_info, NULL);
@ -140,7 +124,7 @@
static int handle_commands(struct nl80211_state *state, struct nl_msg *msg, static int handle_commands(struct nl80211_state *state, struct nl_msg *msg,
int argc, char **argv, enum id_input id) int argc, char **argv, enum id_input id)
{ {
@@ -773,6 +786,7 @@ static int handle_commands(struct nl8021 @@ -773,6 +784,7 @@ static int handle_commands(struct nl8021
} }
TOPLEVEL(commands, NULL, NL80211_CMD_GET_WIPHY, 0, CIB_NONE, handle_commands, TOPLEVEL(commands, NULL, NL80211_CMD_GET_WIPHY, 0, CIB_NONE, handle_commands,
"list all known commands and their decimal & hex value"); "list all known commands and their decimal & hex value");