iw: update to 8fab0c9e

This fixes `iw dev wlan0-mesh station dump`.

8fab0c9 iw: fix ftm_request missing arguments segfault
e816fbc iw: fix mgmt dump missing arguments segfault
5d9d1b8 iw: Fix timestamp output on 32-bit architectures
4b25ae3 iw: fix pointer arithmetic in __print_he_capa
c3df363 iw: add option to print human readable event time
cd64525 iw: print ctrl port tx status event
0ba98b9 iw: use correct type in policy check for mesh
9e38dee iw: scan: fixup HE caps whitespace
17e8564 iw: scan: parse HE capabilities
5735e58 iw: util: factor out HE capability parser
6d8d507 iw: scan: add extension tag parsing
b4e1ec4 man: update wikipage URL, reformat SEE ALSO section
c56036a iw: enable 80MHz support for 6GHz band 11s mesh
fa72728 iw: handle positive error codes gracefully
7ba9093 iw: scan: add flag for scanning colocated ap
5ec60ed iw: Add 'coloc' and 'flush' options to sched_scan
f8ade75 iw: update wikipage URL
b6f2dac iw: Add support for specifying the 160MHz bandwidth when setting the channel/frequency

Signed-off-by: Andre Heider <a.heider@gmail.com>
This commit is contained in:
Andre Heider 2021-05-18 07:13:50 +02:00 committed by Felix Fietkau
parent 26da5c2359
commit b5420dd710
2 changed files with 21 additions and 20 deletions

View File

@ -8,12 +8,13 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=iw PKG_NAME:=iw
PKG_VERSION:=5.9 PKG_VERSION:=5.9-8fab0c9e
PKG_RELEASE:=1 PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=@KERNEL/software/network/iw PKG_SOURCE_URL:=https://git.kernel.org/pub/scm/linux/kernel/git/jberg/iw.git
PKG_HASH:=293a07109aeb7e36267cf59e3ce52857e9ffae3a6666eb8ac77894b1839fe1f2 PKG_SOURCE_VERSION:=8fab0c9ee9db217587a58efcc37421c86edcb638
PKG_MIRROR_HASH:=797b322bc03952f3127ae0a7da476c14ada1bbe9a9ae234a56dd6f864c568e16
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name> PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
PKG_LICENSE:=GPL-2.0 PKG_LICENSE:=GPL-2.0

View File

@ -1,6 +1,6 @@
--- a/event.c --- a/event.c
+++ b/event.c +++ b/event.c
@@ -944,6 +944,7 @@ static int print_event(struct nl_msg *ms @@ -956,6 +956,7 @@ static int print_event(struct nl_msg *ms
} }
switch (gnlh->cmd) { switch (gnlh->cmd) {
@ -8,7 +8,7 @@
case NL80211_CMD_NEW_WIPHY: case NL80211_CMD_NEW_WIPHY:
printf("renamed to %s\n", nla_get_string(tb[NL80211_ATTR_WIPHY_NAME])); printf("renamed to %s\n", nla_get_string(tb[NL80211_ATTR_WIPHY_NAME]));
break; break;
@@ -979,6 +980,7 @@ static int print_event(struct nl_msg *ms @@ -991,6 +992,7 @@ static int print_event(struct nl_msg *ms
case NL80211_CMD_SCHED_SCAN_RESULTS: case NL80211_CMD_SCHED_SCAN_RESULTS:
printf("got scheduled scan results\n"); printf("got scheduled scan results\n");
break; break;
@ -16,7 +16,7 @@
case NL80211_CMD_WIPHY_REG_CHANGE: case NL80211_CMD_WIPHY_REG_CHANGE:
case NL80211_CMD_REG_CHANGE: case NL80211_CMD_REG_CHANGE:
if (gnlh->cmd == NL80211_CMD_WIPHY_REG_CHANGE) if (gnlh->cmd == NL80211_CMD_WIPHY_REG_CHANGE)
@@ -1061,6 +1063,7 @@ static int print_event(struct nl_msg *ms @@ -1073,6 +1075,7 @@ static int print_event(struct nl_msg *ms
mac_addr_n2a(macbuf, nla_data(tb[NL80211_ATTR_MAC])); mac_addr_n2a(macbuf, nla_data(tb[NL80211_ATTR_MAC]));
printf("del station %s\n", macbuf); printf("del station %s\n", macbuf);
break; break;
@ -24,7 +24,7 @@
case NL80211_CMD_JOIN_IBSS: case NL80211_CMD_JOIN_IBSS:
mac_addr_n2a(macbuf, nla_data(tb[NL80211_ATTR_MAC])); mac_addr_n2a(macbuf, nla_data(tb[NL80211_ATTR_MAC]));
printf("IBSS %s joined\n", macbuf); printf("IBSS %s joined\n", macbuf);
@@ -1254,9 +1257,9 @@ static int print_event(struct nl_msg *ms @@ -1271,9 +1274,9 @@ static int print_event(struct nl_msg *ms
case NL80211_CMD_CH_SWITCH_NOTIFY: case NL80211_CMD_CH_SWITCH_NOTIFY:
parse_ch_switch_notify(tb, gnlh->cmd); parse_ch_switch_notify(tb, gnlh->cmd);
break; break;
@ -134,7 +134,7 @@
{ {
--- a/scan.c --- a/scan.c
+++ b/scan.c +++ b/scan.c
@@ -1297,6 +1297,9 @@ static void print_ht_op(const uint8_t ty @@ -1306,6 +1306,9 @@ static void print_ht_op(const uint8_t ty
printf("\t\t * secondary channel offset: %s\n", printf("\t\t * secondary channel offset: %s\n",
ht_secondary_offset[data[1] & 0x3]); ht_secondary_offset[data[1] & 0x3]);
printf("\t\t * STA channel width: %s\n", sta_chan_width[(data[1] & 0x4)>>2]); printf("\t\t * STA channel width: %s\n", sta_chan_width[(data[1] & 0x4)>>2]);
@ -144,7 +144,7 @@
printf("\t\t * RIFS: %d\n", (data[1] & 0x8)>>3); printf("\t\t * RIFS: %d\n", (data[1] & 0x8)>>3);
printf("\t\t * HT protection: %s\n", protection[data[2] & 0x3]); printf("\t\t * HT protection: %s\n", protection[data[2] & 0x3]);
printf("\t\t * non-GF present: %d\n", (data[2] & 0x4) >> 2); printf("\t\t * non-GF present: %d\n", (data[2] & 0x4) >> 2);
@@ -1707,6 +1710,14 @@ static void print_ie(const struct ie_pri @@ -1716,6 +1719,14 @@ static void print_ie(const struct ie_pri
static const struct ie_print ieprinters[] = { static const struct ie_print ieprinters[] = {
[0] = { "SSID", print_ssid, 0, 32, BIT(PRINT_SCAN) | BIT(PRINT_LINK), }, [0] = { "SSID", print_ssid, 0, 32, BIT(PRINT_SCAN) | BIT(PRINT_LINK), },
@ -159,7 +159,7 @@
[1] = { "Supported rates", print_supprates, 0, 255, BIT(PRINT_SCAN), }, [1] = { "Supported rates", print_supprates, 0, 255, BIT(PRINT_SCAN), },
[3] = { "DS Parameter set", print_ds, 1, 1, BIT(PRINT_SCAN), }, [3] = { "DS Parameter set", print_ds, 1, 1, BIT(PRINT_SCAN), },
[5] = { "TIM", print_tim, 4, 255, BIT(PRINT_SCAN), }, [5] = { "TIM", print_tim, 4, 255, BIT(PRINT_SCAN), },
@@ -1716,26 +1727,20 @@ static const struct ie_print ieprinters[ @@ -1725,26 +1736,20 @@ static const struct ie_print ieprinters[
[32] = { "Power constraint", print_powerconstraint, 1, 1, BIT(PRINT_SCAN), }, [32] = { "Power constraint", print_powerconstraint, 1, 1, BIT(PRINT_SCAN), },
[35] = { "TPC report", print_tpcreport, 2, 2, BIT(PRINT_SCAN), }, [35] = { "TPC report", print_tpcreport, 2, 2, BIT(PRINT_SCAN), },
[42] = { "ERP", print_erp, 1, 255, BIT(PRINT_SCAN), }, [42] = { "ERP", print_erp, 1, 255, BIT(PRINT_SCAN), },
@ -187,15 +187,15 @@
}; };
static void print_wifi_wpa(const uint8_t type, uint8_t len, const uint8_t *data, static void print_wifi_wpa(const uint8_t type, uint8_t len, const uint8_t *data,
@@ -2279,6 +2284,7 @@ void print_ies(unsigned char *ie, int ie @@ -2326,6 +2331,7 @@ void print_ies(unsigned char *ie, int ie
ieprinters[ie[0]].flags & BIT(ptype)) { ieprinters[ie[0]].flags & BIT(ptype)) {
print_ie(&ieprinters[ie[0]], print_ie(&ieprinters[ie[0]],
ie[0], ie[1], ie + 2, &ie_buffer); ie[0], ie[1], ie + 2, &ie_buffer);
+#ifdef IW_FULL +#ifdef IW_FULL
} else if (ie[0] == 221 /* vendor */) { } else if (ie[0] == 221 /* vendor */) {
print_vendor(ie[1], ie + 2, unknown, ptype); print_vendor(ie[1], ie + 2, unknown, ptype);
} else if (unknown) { } else if (ie[0] == 255 /* extension */) {
@@ -2288,6 +2294,7 @@ void print_ies(unsigned char *ie, int ie @@ -2337,6 +2343,7 @@ void print_ies(unsigned char *ie, int ie
for (i=0; i<ie[1]; i++) for (i=0; i<ie[1]; i++)
printf(" %.2x", ie[2+i]); printf(" %.2x", ie[2+i]);
printf("\n"); printf("\n");
@ -203,7 +203,7 @@
} }
ielen -= ie[1] + 2; ielen -= ie[1] + 2;
ie += ie[1] + 2; ie += ie[1] + 2;
@@ -2328,6 +2335,7 @@ static void print_capa_non_dmg(__u16 cap @@ -2377,6 +2384,7 @@ static void print_capa_non_dmg(__u16 cap
printf(" ESS"); printf(" ESS");
if (capa & WLAN_CAPABILITY_IBSS) if (capa & WLAN_CAPABILITY_IBSS)
printf(" IBSS"); printf(" IBSS");
@ -211,7 +211,7 @@
if (capa & WLAN_CAPABILITY_CF_POLLABLE) if (capa & WLAN_CAPABILITY_CF_POLLABLE)
printf(" CfPollable"); printf(" CfPollable");
if (capa & WLAN_CAPABILITY_CF_POLL_REQUEST) if (capa & WLAN_CAPABILITY_CF_POLL_REQUEST)
@@ -2356,6 +2364,7 @@ static void print_capa_non_dmg(__u16 cap @@ -2405,6 +2413,7 @@ static void print_capa_non_dmg(__u16 cap
printf(" DelayedBACK"); printf(" DelayedBACK");
if (capa & WLAN_CAPABILITY_IMM_BACK) if (capa & WLAN_CAPABILITY_IMM_BACK)
printf(" ImmediateBACK"); printf(" ImmediateBACK");
@ -219,7 +219,7 @@
} }
static int print_bss_handler(struct nl_msg *msg, void *arg) static int print_bss_handler(struct nl_msg *msg, void *arg)
@@ -2440,8 +2449,10 @@ static int print_bss_handler(struct nl_m @@ -2489,8 +2498,10 @@ static int print_bss_handler(struct nl_m
if (bss[NL80211_BSS_FREQUENCY]) { if (bss[NL80211_BSS_FREQUENCY]) {
int freq = nla_get_u32(bss[NL80211_BSS_FREQUENCY]); int freq = nla_get_u32(bss[NL80211_BSS_FREQUENCY]);
printf("\tfreq: %d\n", freq); printf("\tfreq: %d\n", freq);
@ -230,7 +230,7 @@
} }
if (bss[NL80211_BSS_BEACON_INTERVAL]) if (bss[NL80211_BSS_BEACON_INTERVAL])
printf("\tbeacon interval: %d TUs\n", printf("\tbeacon interval: %d TUs\n",
@@ -2635,6 +2646,7 @@ static int handle_stop_sched_scan(struct @@ -2684,6 +2695,7 @@ static int handle_stop_sched_scan(struct
return 0; return 0;
} }
@ -238,7 +238,7 @@
COMMAND(scan, sched_start, COMMAND(scan, sched_start,
SCHED_SCAN_OPTIONS, SCHED_SCAN_OPTIONS,
NL80211_CMD_START_SCHED_SCAN, 0, CIB_NETDEV, handle_start_sched_scan, NL80211_CMD_START_SCHED_SCAN, 0, CIB_NETDEV, handle_start_sched_scan,
@@ -2645,3 +2657,4 @@ COMMAND(scan, sched_start, @@ -2694,3 +2706,4 @@ COMMAND(scan, sched_start,
COMMAND(scan, sched_stop, "", COMMAND(scan, sched_stop, "",
NL80211_CMD_STOP_SCHED_SCAN, 0, CIB_NETDEV, handle_stop_sched_scan, NL80211_CMD_STOP_SCHED_SCAN, 0, CIB_NETDEV, handle_stop_sched_scan,
"Stop an ongoing scheduled scan."); "Stop an ongoing scheduled scan.");