]> git.ipfire.org Git - thirdparty/iw.git/log
thirdparty/iw.git
2 years agobump version to 5.16 v5.16
Johannes Berg [Mon, 8 Nov 2021 08:58:10 +0000 (09:58 +0100)] 
bump version to 5.16

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2 years agoinfo: add FILS_CRYPTO_OFFLOAD extended feature
Johannes Berg [Mon, 8 Nov 2021 08:43:10 +0000 (09:43 +0100)] 
info: add FILS_CRYPTO_OFFLOAD extended feature

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2 years agoupdate nl80211.h
Johannes Berg [Mon, 8 Nov 2021 08:42:47 +0000 (09:42 +0100)] 
update nl80211.h

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2 years agoiw: print BSS coloring capability if supported
Lorenzo Bianconi [Thu, 21 Oct 2021 10:19:57 +0000 (12:19 +0200)] 
iw: print BSS coloring capability if supported

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Link: https://lore.kernel.org/r/a935a11cabe630100385005b0c2bee9110fb9572.1634811514.git.lorenzo@kernel.org
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2 years agoiw: add set sar_specs command
Zong-Zhe Yang [Thu, 7 Oct 2021 08:56:15 +0000 (16:56 +0800)] 
iw: add set sar_specs command

Add set sar_specs command

usage: iw <phy> set sar_specs <sar type> <range index:sar power>*
e.g.
iw phy0 set sar_specs 0 0:100 1:90 2:80...
where sar type should correspond to wiphy's sar_capa,
and range index should be valid in wiphy's sar_capa.

For now, kernel sar type supports only 0 (NL80211_SAR_TYPE_POWER)
which means that the sar power limitation is specified in 0.25dBm unit.

Cc: Carl Huang <cjhuang@codeaurora.org>
Signed-off-by: Zong-Zhe Yang <kevin_yang@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://lore.kernel.org/r/20211007085615.40399-1-pkshih@realtek.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2 years agoiw: nl80211: add NLA_F_NESTED to nla_nest_start() with older libnl versions
Gokul Sivakumar [Fri, 10 Sep 2021 14:16:15 +0000 (19:46 +0530)] 
iw: nl80211: add NLA_F_NESTED to nla_nest_start() with older libnl versions

It is noticed in Kernel version 5.14.0-rc4+, that when sending the NL cmd
NL80211_CMD_SET_TID_CONFIG with nested attrs under NL80211_ATTR_TID_CONFIG,
kernel returnes a response with the error "NLA_F_NESTED is missing".

 $ sudo ./iw dev wlan0 set tidconf tids 0x1 ampdu on
 kernel reports: NLA_F_NESTED is missing
 command failed: Invalid argument (-22))

Fix this by setting NLA_F_NESTED flag everytime when using nla_nest_start()
library function. This is needed to make cfg80211 allow the nl80211 command
NL80211_ATTR_TID_CONFIG in the new kernel versions that enforce netlink
attribute policy validation.

Signed-off-by: Gokul Sivakumar <gokulkumar792@gmail.com>
Link: https://lore.kernel.org/r/20210910141618.1594617-1-gokulkumar792@gmail.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2 years agoiw: mesh: add comments in the mesh confguration parameter printing sections
Gokul Sivakumar [Fri, 10 Sep 2021 14:16:18 +0000 (19:46 +0530)] 
iw: mesh: add comments in the mesh confguration parameter printing sections

Signed-off-by: Gokul Sivakumar <gokulkumar792@gmail.com>
Link: https://lore.kernel.org/r/20210910141618.1594617-4-gokulkumar792@gmail.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2 years agoiw: event: add the missing time display format in the "iw event" help menu
Gokul Sivakumar [Fri, 10 Sep 2021 14:16:17 +0000 (19:46 +0530)] 
iw: event: add the missing time display format in the "iw event" help menu

The option used to print the events with timestamp in Human readable format
is not listed in the "$ iw event -h" output.

 $ ./iw event -h
 Usage:  ./iw [options] event [-t|-r] [-f] [-n]
 ...

So add "-T" option to the help menu.

 $ ./iw event -h
 Usage:  ./iw [options] event [-t|-T|-r] [-f] [-n]
 ...

Signed-off-by: Gokul Sivakumar <gokulkumar792@gmail.com>
Link: https://lore.kernel.org/r/20210910141618.1594617-3-gokulkumar792@gmail.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2 years agoiw: link: mention the need for MAC addr arg in link get_sta cmd usage menu
Gokul Sivakumar [Fri, 10 Sep 2021 14:16:16 +0000 (19:46 +0530)] 
iw: link: mention the need for MAC addr arg in link get_sta cmd usage menu

The usage menu shown when running the hidden "link get_sta" command is not
mentioning the need for the MAC address argument. Without this, the cmd is
always failing with the output shown below.

 $ ./iw dev wlan0 link get_sta
 Usage:  ./iw [options] dev <devname> link get_sta
 ...

To avoid this, let the user know about the mandatory "MAC address" argument
like below.

 $ ./iw dev wlan0 link get_sta
 Usage:  ./iw [options] dev <devname> link get_sta <mac-addr>
 ...

Signed-off-by: Gokul Sivakumar <gokulkumar792@gmail.com>
Link: https://lore.kernel.org/r/20210910141618.1594617-2-gokulkumar792@gmail.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2 years agoiw: fix vendor event static warnings
Johannes Berg [Wed, 8 Sep 2021 07:35:26 +0000 (09:35 +0200)] 
iw: fix vendor event static warnings

The vendor event section/descriptors can all be static,
adjust the macro accordingly.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2 years agoiw: fix various sparse static warnings
Johannes Berg [Wed, 8 Sep 2021 07:34:20 +0000 (09:34 +0200)] 
iw: fix various sparse static warnings

The section macro must be non-static, but many of them
are not used outside a single file. Still declare all of
the sections so that the warnings go away.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2 years agoiw: make parse_he_gi static
Johannes Berg [Wed, 8 Sep 2021 07:30:32 +0000 (09:30 +0200)] 
iw: make parse_he_gi static

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2 years agoiw: add support for configuring the bss color for ranging measurements
Avraham Stern [Wed, 3 Feb 2021 09:32:35 +0000 (04:32 -0500)] 
iw: add support for configuring the bss color for ranging measurements

NDP ranging requires the BSS color as a parameter. Add it to the
measurement request config file parameters.

Signed-off-by: Avraham Stern <avraham.stern@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2 years agoiw: update nl80211.h
Johannes Berg [Wed, 8 Sep 2021 07:27:29 +0000 (09:27 +0200)] 
iw: update nl80211.h

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2 years agoiw: use cipher suite defines in util.c
Johannes Berg [Wed, 8 Sep 2021 07:23:09 +0000 (09:23 +0200)] 
iw: use cipher suite defines in util.c

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2 years agoiw: add cipher suites definitions
Avraham Stern [Wed, 27 May 2020 08:33:52 +0000 (04:33 -0400)] 
iw: add cipher suites definitions

Signed-off-by: Avraham Stern <avraham.stern@intel.com>
2 years agoiw: unify interface type list printing
Johannes Berg [Wed, 18 Aug 2021 12:22:57 +0000 (14:22 +0200)] 
iw: unify interface type list printing

Add two new functions print_iftype_list() and print_iftype_line()
to print interface lists, and use them where applicable.

Link: https://lore.kernel.org/r/20210818142256.3325c72c65e4.I844f8e382b0ecee00c21886342d0bfd70e246a9f@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2 years agoiw: mesh: add new cmd to dump all the supported mesh config params at once
Gokul Sivakumar [Thu, 5 Aug 2021 15:38:07 +0000 (21:08 +0530)] 
iw: mesh: add new cmd to dump all the supported mesh config params at once

The function print_mesh_param_handler() already supports printing all the
mesh config params when not passing one specific parameter, so add a new
"mesh_param dump" command to help the user see all the parameters at once.

$ iw dev mesh0 mesh_param dump
mesh_retry_timeout = 100 milliseconds
mesh_confirm_timeout = 100 milliseconds
mesh_holding_timeout = 100 milliseconds
mesh_max_peer_links = 99
mesh_max_retries = 3
mesh_ttl = 31
mesh_element_ttl = 31
mesh_auto_open_plinks = 0
mesh_hwmp_max_preq_retries = 4
mesh_path_refresh_time = 1000 milliseconds
mesh_min_discovery_timeout = 100 milliseconds
mesh_hwmp_active_path_timeout = 5000 TUs
mesh_hwmp_preq_min_interval = 10 TUs
mesh_hwmp_net_diameter_traversal_time = 50 TUs
mesh_hwmp_rootmode = 0
mesh_hwmp_rann_interval = 5000 TUs
mesh_gate_announcements = 0
mesh_fwding = 1
mesh_sync_offset_max_neighor = 50
mesh_rssi_threshold = 0 dBm
mesh_hwmp_active_path_to_root_timeout = 6000 TUs
mesh_hwmp_root_interval = 5000 TUs
mesh_hwmp_confirmation_interval = 2000 TUs
mesh_power_mode = active
mesh_awake_window = 10 TUs
mesh_plink_timeout = 0 seconds
mesh_connected_to_gate = 0

Signed-off-by: Gokul Sivakumar <gokulkumar792@gmail.com>
Link: https://lore.kernel.org/r/20210805153807.645106-2-gokulkumar792@gmail.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2 years agoiw: mesh: fix crash when attempting to print the conf param "mesh_nolearn"
Gokul Sivakumar [Thu, 5 Aug 2021 15:38:06 +0000 (21:08 +0530)] 
iw: mesh: fix crash when attempting to print the conf param "mesh_nolearn"

Even if iw did not receive some of the meshconf attributes in response to
NL80211_CMD_GET_MESH_PARAMS, it tries to print that param and gets crashed.
Fix this by adding a condition check before trying to access each of the
mesh conf params.

$ iw dev mesh0 get mesh_param mesh_nolearn
Segmentation fault (core dumped)

 (gdb) bt
 #0  0x00007f21f54660e9 in nla_get_u8 () from /lib/x86_64-linux-gnu/libnl-3.so.200
 #1  0x0000562ba2f5d70d in _print_u8 (a=<optimized out>) at mesh.c:131
 #2  0x0000562ba2f5d7ce in print_mesh_param_handler (msg=<optimized out>,
     arg=0x562ba2f85758 <_mesh_param_descrs+1080>) at mesh.c:412
 #3  0x00007f21f546db9c in nl_recvmsgs_report () from /lib/x86_64-linux-gnu/libnl-3.so.200
 #4  0x00007f21f546e059 in nl_recvmsgs () from /lib/x86_64-linux-gnu/libnl-3.so.200
 #5  0x0000562ba2f5bb3b in __handle_cmd (state=0x7ffe677bc510, idby=II_NETDEV, argc=<optimized out>,
     argv=<optimized out>, cmdout=0x7ffe677bc508) at iw.c:541
 #6  0x0000562ba2f4fe0c in __handle_cmd (cmdout=0x7ffe677bc508, argv=0x7ffe677bc658, argc=4, idby=II_NETDEV,
     state=0x7ffe677bc510) at iw.c:613
 #7  main (argc=4, argv=0x7ffe677bc658) at iw.c:613
 (gdb) up 2
 #2  0x0000562ba2f5d7ce in print_mesh_param_handler (msg=<optimized out>,
     arg=0x562ba2f85758 <_mesh_param_descrs+1080>) at mesh.c:412
 412             mdescr->nla_print_fn(mesh_params[mdescr->mesh_param_num]);
 (gdb) i local
 mdescr = 0x562ba2f85758 <_mesh_param_descrs+1080>
 attrs = {0x0 <repeats 35 times>, 0x562ba4002a14, 0x0 <repeats 266 times>}
 parent_attr = <optimized out>
 mesh_params = {0x0, 0x562ba4002a20, 0x562ba4002a28, 0x562ba4002a30, 0x562ba4002a38, 0x562ba4002a40,
   0x562ba4002a48, 0x562ba4002a58, 0x562ba4002a68, 0x562ba4002a70, 0x562ba4002a78, 0x562ba4002a80,
   0x562ba4002a88, 0x562ba4002a98, 0x562ba4002aa0, 0x562ba4002a50, 0x562ba4002aa8, 0x562ba4002ab0,
   0x562ba4002a90, 0x562ba4002ab8, 0x562ba4002ac0, 0x562ba4002a60, 0x562ba4002ac8, 0x562ba4002ad0,
   0x562ba4002ad8, 0x562ba4002ae0, 0x562ba4002ae8, 0x562ba4002af0, 0x562ba4002af8, 0x562ba4002b00, 0x0, 0x0}
 gnlh = 0x562ba4002a10
 (gdb)
 (gdb) p mesh_params[30]
 $7 = (struct nlattr *) 0x0
 (gdb)

Signed-off-by: Gokul Sivakumar <gokulkumar792@gmail.com>
Link: https://lore.kernel.org/r/20210805153807.645106-1-gokulkumar792@gmail.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2 years agoiw: ps: fix "get power_save" documentation
Johannes Berg [Thu, 1 Jul 2021 16:09:45 +0000 (18:09 +0200)] 
iw: ps: fix "get power_save" documentation

This doesn't take any arguments, remove the "<param>"
string from the help.

Link: https://lore.kernel.org/r/20210701180945.45abdb0d4f52.Ifdc6ce8fdbf252019c080f609b6d95cec23d84ee@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2 years agoiw: add option to set auth type for connect
Jianhui Zhao [Sun, 30 May 2021 11:25:52 +0000 (19:25 +0800)] 
iw: add option to set auth type for connect

Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
Link: https://lore.kernel.org/r/20210530112552.577329-1-zhaojh329@gmail.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
3 years agoupdate nl80211.h
Johannes Berg [Fri, 16 Apr 2021 09:32:41 +0000 (11:32 +0200)] 
update nl80211.h

Change-Id: Iff1e25d95a61a35fabd68fd94260e65909b14bd6
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
3 years agoiw: allow specifying CFLAGS/LIBS externally
Johannes Berg [Mon, 16 Nov 2020 09:43:12 +0000 (10:43 +0100)] 
iw: allow specifying CFLAGS/LIBS externally

If CFLAGS or LIBS are specified on the make command line,
then the += doesn't do anything. Add "override" directives
to still add the necessary libnl flags/libs.

Change-Id: Icdc3d14ae3a6f01b827c76e753c93fe8eb8fcec2
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
3 years agoiw: fix ftm_request missing arguments segfault
Benjamin Aschenbrenner [Sat, 10 Apr 2021 11:19:37 +0000 (13:19 +0200)] 
iw: fix ftm_request missing arguments segfault

When expected argument <config-file> is not passed to arguemts iw
segfaults.

Example: iw wlp2s0 measurement ftm_request

This fixes it.

Signed-off-by: Benjamin Aschenbrenner <benjamin.aschenbrenner@gmail.com>
Link: https://lore.kernel.org/r/20210410111937.32813-2-benjamin.aschenbrenner@gmail.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
3 years agoiw: fix mgmt dump missing arguments segfault
Benjamin Aschenbrenner [Sat, 10 Apr 2021 11:19:36 +0000 (13:19 +0200)] 
iw: fix mgmt dump missing arguments segfault

When expected arguments for mgmt command dump are left out iw segfaults.

Example: iw dev wlp2s0 mgmt dump frame e0

This fixes it.

Signed-off-by: Benjamin Aschenbrenner <benjamin.aschenbrenner@gmail.com>
Link: https://lore.kernel.org/r/20210410111937.32813-1-benjamin.aschenbrenner@gmail.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
3 years agoiw: Fix timestamp output on 32-bit architectures
Toke Høiland-Jørgensen [Thu, 18 Mar 2021 22:46:55 +0000 (23:46 +0100)] 
iw: Fix timestamp output on 32-bit architectures

On 32-bit architectures, time_t is 32-bit which causes overflows in the
arithmetic involving tv_sec, leading to invalid output. Fix this by
explicitly adding ULL suffixes to the constants used in those calculations.

Fixes: 3708f614dfdd ("iw: Print current time in station info dump")
Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
Link: https://lore.kernel.org/r/20210318224655.143489-1-toke@toke.dk
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
3 years agoiw: fix pointer arithmetic in __print_he_capa
Markus Theil [Sat, 13 Feb 2021 11:48:53 +0000 (12:48 +0100)] 
iw: fix pointer arithmetic in __print_he_capa

Found by fuzzing with clang fuzzer.

Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de>
Link: https://lore.kernel.org/r/20210213114853.17276-1-markus.theil@tu-ilmenau.de
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
3 years agoiw: add option to print human readable event time
Markus Theil [Sat, 6 Feb 2021 15:04:32 +0000 (16:04 +0100)] 
iw: add option to print human readable event time

Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de>
Link: https://lore.kernel.org/r/20210206150432.10456-1-markus.theil@tu-ilmenau.de
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
3 years agoiw: print ctrl port tx status event
Markus Theil [Sun, 6 Dec 2020 10:16:42 +0000 (11:16 +0100)] 
iw: print ctrl port tx status event

Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de>
Link: https://lore.kernel.org/r/20201206101642.3606-1-markus.theil@tu-ilmenau.de
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
3 years agoiw: use correct type in policy check for mesh
Markus Theil [Sat, 5 Dec 2020 09:26:15 +0000 (10:26 +0100)] 
iw: use correct type in policy check for mesh

NL80211_STA_INFO_CONNECTED_TO_AS and NL80211_STA_INFO_CONNECTED_TO_GATE
are defined as u8 in kernel, but were checked against NLA_FLAG.

This fixes:

root@openwrt:~# iw dev wlan0-mesh station
failed to parse nested attributes!
failed to parse nested attributes!
failed to parse nested attributes!

Reported-by: Marc Rantanen <marc@eciceron.se>
Tested-by: Marc Rantanen <marc@eciceron.se>
Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de>
Link: https://lore.kernel.org/r/20201205092615.131561-1-markus.theil@tu-ilmenau.de
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
3 years agoiw: scan: fixup HE caps whitespace
Brian Norris [Wed, 18 Nov 2020 03:39:36 +0000 (19:39 -0800)] 
iw: scan: fixup HE caps whitespace

For scans, it's nicer to drop an indentation level, because we don't
have the "interface type" section that we do in the phy-info version.

The NSS print also had an extra level of indentation, and a spare
leading space, which made it a bit inconsistent with other sections.

Signed-off-by: Brian Norris <briannorris@chromium.org>
Link: https://lore.kernel.org/r/20201118033936.3667788-5-briannorris@chromium.org
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
3 years agoiw: scan: parse HE capabilities
Brian Norris [Wed, 18 Nov 2020 03:39:35 +0000 (19:39 -0800)] 
iw: scan: parse HE capabilities

Signed-off-by: Brian Norris <briannorris@chromium.org>
Link: https://lore.kernel.org/r/20201118033936.3667788-4-briannorris@chromium.org
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
3 years agoiw: util: factor out HE capability parser
Brian Norris [Wed, 18 Nov 2020 03:39:34 +0000 (19:39 -0800)] 
iw: util: factor out HE capability parser

We're going to use this for scan parsing.

Signed-off-by: Brian Norris <briannorris@chromium.org>
Link: https://lore.kernel.org/r/20201118033936.3667788-3-briannorris@chromium.org
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
3 years agoiw: scan: add extension tag parsing
Brian Norris [Wed, 18 Nov 2020 03:39:33 +0000 (19:39 -0800)] 
iw: scan: add extension tag parsing

HE IEs are part of the extension tag (ID 255).

Signed-off-by: Brian Norris <briannorris@chromium.org>
Link: https://lore.kernel.org/r/20201118033936.3667788-2-briannorris@chromium.org
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
3 years agoman: update wikipage URL, reformat SEE ALSO section
ivan tkachenko [Wed, 25 Nov 2020 01:50:48 +0000 (04:50 +0300)] 
man: update wikipage URL, reformat SEE ALSO section

groff_man(7) provides plenty of useful requests/macros, and one of
them is .UR/.UE for URL formatting.

Man pages should be formatted with paragraphs (.P or .PP) requests,
and source text should not contain empty lines -- use empty request
instead (literally, single dot on its own line).

Signed-off-by: ivan tkachenko <me@ratijas.tk>
Link: https://lore.kernel.org/r/20201125015048.197683-1-me@ratijas.tk
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
3 years agoiw: enable 80MHz support for 6GHz band 11s mesh
Pradeep Kumar Chitrapu [Fri, 9 Oct 2020 22:49:30 +0000 (15:49 -0700)] 
iw: enable 80MHz support for 6GHz band 11s mesh

without this 11s mesh could not be configured with bandwidth 80MHz
in 6G band using iw. Also, this will be required to set frequency
for 6GHz band in 80MHz.

example:
iw <interface> mesh join <meshname> freq 6195 80MHz

Signed-off-by: Pradeep Kumar Chitrapu <pradeepc@codeaurora.org>
Link: https://lore.kernel.org/r/1602283770-8026-2-git-send-email-pradeepc@codeaurora.org
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
3 years agoiw: handle positive error codes gracefully
Brian Norris [Tue, 3 Nov 2020 23:56:31 +0000 (15:56 -0800)] 
iw: handle positive error codes gracefully

netlink(7) requires error codes to be negative, but since when does a
man page stop anyone? At a minimum, we shouldn't allow a non-conforming
vendor command to put us into an infinite loop in the below snippets
from __handle_cmd():

err = 1;

nl_cb_err(cb, NL_CB_CUSTOM, error_handler, &err);
...
while (err > 0)
nl_recvmsgs(state->nl_sock, cb);

Signed-off-by: Brian Norris <briannorris@chromium.org>
Link: https://lore.kernel.org/r/20201103235631.2936594-1-briannorris@chromium.org
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
3 years agoiw: scan: add flag for scanning colocated ap
Tova Mussai [Thu, 10 Oct 2019 06:54:41 +0000 (09:54 +0300)] 
iw: scan: add flag for scanning colocated ap

1. For full scan set the flag to scan for collocated ap by default.
2. In any other case, user need to add it to the command line (optional).

Signed-off-by: Tova Mussai <tova.mussai@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
3 years agoiw: Add 'coloc' and 'flush' options to sched_scan
Ilan Peer [Thu, 26 Mar 2020 07:17:21 +0000 (09:17 +0200)] 
iw: Add 'coloc' and 'flush' options to sched_scan

Add new 'coloc' (from 6 GHz scanning) and 'flush' options
to the scan command.

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
3 years agoiw: update wikipage URL
Luca Coelho [Tue, 27 Oct 2020 07:50:53 +0000 (09:50 +0200)] 
iw: update wikipage URL

The URL in the README file was still the old one, which leads to
non-existing page.  Update it with the new one.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/20201027075053.2717839-1-luca@coelho.fi
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
3 years agoiw: Add support for specifying the 160MHz bandwidth when setting the channel/frequency
Ttttabcd [Tue, 6 Oct 2020 04:22:18 +0000 (04:22 +0000)] 
iw: Add support for specifying the 160MHz bandwidth when setting the channel/frequency

The current iw tool only supports the direct setting of
[NOHT|HT20|HT40+|HT40-|5MHz|10MHz|80MHz] bandwidth
when setting the channel/frequency.

If we want to set the 160MHz bandwidth,
we need to calculate the center frequency ourselves,
which is inconvenient.

E.g:
iw phy phy0 set freq 5220 160 5250

From now on we can:
iw phy phy0 set channel 44 160MHz
iw phy phy0 set freq 5220 160MHz

This is much more convenient.

Signed-off-by: AK Deng <ttttabcd@protonmail.com>
Link: https://lore.kernel.org/r/cIf-30s-5axo5iDqyzwY9VTVB_JLKCXbxlXdODMSK61q-yFzR6rtAk8URRAPavRlllrwXr1Q-jtem_upoCNKd_fba8qmM0DpJn0O7MIkq6o=@protonmail.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
3 years agobump version to 5.9 v5.9
Johannes Berg [Fri, 2 Oct 2020 10:18:41 +0000 (12:18 +0200)] 
bump version to 5.9

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
3 years agoiw: support HE rate configuration in 6 GHz band
Rajkumar Manoharan [Wed, 30 Sep 2020 02:05:38 +0000 (19:05 -0700)] 
iw: support HE rate configuration in 6 GHz band

Allow HE-MCS, HE-GI, HE-LTF in 6 GHz band as well and allow only
MCS rates in 6 GHz.

Signed-off-by: Rajkumar Manoharan <rmanohar@codeaurora.org>
Link: https://lore.kernel.org/r/1601431538-6621-2-git-send-email-rmanohar@codeaurora.org
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
3 years agoiw: add HE rate/gi/ltf support
Miles Hu [Wed, 30 Sep 2020 02:05:37 +0000 (19:05 -0700)] 
iw: add HE rate/gi/ltf support

This patch adds support for setting fied HE rates/gi/ltf

Tested-by: John Crispin <john@phrozen.org>
Signed-off-by: Miles Hu <milehu@codeaurora.org>
Link: https://lore.kernel.org/r/1601431538-6621-1-git-send-email-rmanohar@codeaurora.org
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
3 years agoiw: update nl80211.h
Johannes Berg [Fri, 2 Oct 2020 10:15:38 +0000 (12:15 +0200)] 
iw: update nl80211.h

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
3 years agoiw: add TID specific Tx bitrate configuration
Tamizh Chelvam [Mon, 7 Sep 2020 06:41:55 +0000 (06:41 +0000)] 
iw: add TID specific Tx bitrate configuration

Add TID specific Tx bitrate configuration by using
handle_bitrates already APIs.

Examples:
$ iw dev wlan0 set tidconf peer xx:xx:xx:xx:xx:xx tids 0x2 bitrates auto
$ iw dev wlan0 set tidconf peer xx:xx:xx:xx:xx:xx tids 0x2 bitrates limit vht-mcs-5 4:9

Signed-off-by: Tamizh Chelvam <tamizhr@codeaurora.org>
Link: https://lore.kernel.org/r/01010174674cba3e-ae0b7501-76dd-4bbd-870f-a799e0558e1e-000000@us-west-2.amazonses.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
3 years agoiw: fix tid config help entries
Tamizh Chelvam [Mon, 7 Sep 2020 06:35:34 +0000 (06:35 +0000)] 
iw: fix tid config help entries

Fix help entries for TID config command by adding
"set tidconf" command info in that.

Signed-off-by: Tamizh Chelvam <tamizhr@codeaurora.org>
Link: https://lore.kernel.org/r/010101746746e7dc-fddbd674-90f6-42f7-9bb7-d41d524c6477-000000@us-west-2.amazonses.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
3 years agobump version to 5.8 v5.8
Johannes Berg [Thu, 27 Aug 2020 11:38:47 +0000 (13:38 +0200)] 
bump version to 5.8

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
3 years agoiw: print hop_count and path_change info of mpath
Tamizh Chelvam [Thu, 20 Aug 2020 05:14:45 +0000 (10:44 +0530)] 
iw: print hop_count and path_change info of mpath

Print hop_count and path_change info which is already providing
by Driver for all mpath through mpath dump command.

Signed-off-by: Tamizh Chelvam <tamizhr@codeaurora.org>
Link: https://lore.kernel.org/r/1597900485-673-1-git-send-email-tamizhr@codeaurora.org
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
3 years agoiw: handle more mesh station info
Markus Theil [Mon, 3 Aug 2020 15:33:36 +0000 (17:33 +0200)] 
iw: handle more mesh station info

Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de>
Link: https://lore.kernel.org/r/20200803153336.319773-4-markus.theil@tu-ilmenau.de
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
3 years agoiw: handle all mesh config parameters
Markus Theil [Mon, 3 Aug 2020 15:33:35 +0000 (17:33 +0200)] 
iw: handle all mesh config parameters

Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de>
Link: https://lore.kernel.org/r/20200803153336.319773-3-markus.theil@tu-ilmenau.de
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
3 years agoiw: print current ext feature set
Markus Theil [Mon, 3 Aug 2020 15:33:33 +0000 (17:33 +0200)] 
iw: print current ext feature set

Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de>
Link: https://lore.kernel.org/r/20200803153336.319773-1-markus.theil@tu-ilmenau.de
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
3 years agoupdate nl80211.h to 5.8-rc1
Johannes Berg [Thu, 27 Aug 2020 11:33:32 +0000 (13:33 +0200)] 
update nl80211.h to 5.8-rc1

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
3 years agoiw: add support for vendor events
Johannes Berg [Thu, 27 Aug 2020 11:07:31 +0000 (13:07 +0200)] 
iw: add support for vendor events

We can already drop in arbitrary files for vendor commands
as the build system picks those up, also add support for
vendor specific events in a similar fashion.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
3 years agoiw: add support for NDP ranging - trigger based and non trigger based
Avraham Stern [Wed, 13 May 2020 09:07:18 +0000 (05:07 -0400)] 
iw: add support for NDP ranging - trigger based and non trigger based

Add support for requesting NDP ranging by specifying the requested
NDP ranging type (trigger based / non trigger based).

Change-Id: I0bebcde19a5615a1261a23168a21b099570e83a0
Signed-off-by: Avraham Stern <avraham.stern@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
3 years agoreg: Fix getting PHY specific regulatory information
Ilan Peer [Sun, 19 Jul 2020 07:44:24 +0000 (10:44 +0300)] 
reg: Fix getting PHY specific regulatory information

Commit 14ad75d3b4c3 ("iw: support multiple regdom print") added
support for dumping multiple regulatory domain, with the intent
that if a specific phy is given, only its regulatory information
would be fetched. However, the phy specific handling was ignored.
Fix it.

Change-Id: I647ef420741e528a4d6568a7d4518c9a561bd199
Signed-off-by: Ilan Peer <ilan.peer@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
3 years agoiw: update freq to chan mappings for 6GHz band per IEEE P802.11ax/D6.1
Pradeep Kumar Chitrapu [Mon, 22 Jun 2020 06:39:06 +0000 (23:39 -0700)] 
iw: update freq to chan mappings for 6GHz band per IEEE P802.11ax/D6.1

This fixes dfferences in 6GHz frequencies which were updated in
IEEE P802.11ax/D6.1.

Also sync 60GHz band channel to freq mapping with kernel.

Fixes: 43789196 ("iw: sync frequency to channel mapping with kernel for 6GHz band")
Signed-off-by: Pradeep Kumar Chitrapu <pradeepc@codeaurora.org>
Link: https://lore.kernel.org/r/20200622063906.24957-1-pradeepc@codeaurora.org
[remove MHZ_TO_KHZ conversion???]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
3 years agoiw: mesh: add mesh_param "mesh_nolearn" to skip path discovery
Linus Lüssing [Wed, 17 Jun 2020 07:30:34 +0000 (09:30 +0200)] 
iw: mesh: add mesh_param "mesh_nolearn" to skip path discovery

Currently, before being able to forward a packet between two 802.11s
nodes, both a PLINK handshake is performed upon receiving a beacon and
then later a PREQ/PREP exchange for path discovery is performed on
demand upon receiving a data frame to forward.

When running a mesh protocol on top of an 802.11s interface, like
batman-adv, we do not need the multi-hop mesh routing capabilities of
802.11s and usually set mesh_fwding=0. However, even with mesh_fwding=0
the PREQ/PREP path discovery is still performed on demand. Even though
in this scenario the next hop PREQ/PREP will determine is always the
direct 11s neighbor node.

The new mesh_nolearn parameter allows to skip the PREQ/PREP exchange in
this scenario, leading to a reduced delay, reduced packet buffering and
simplifies HWMP in general.

mesh_nolearn is still rather conservative in that if the packet destination
is not a direct 11s neighbor, it will fall back to PREQ/PREP path
discovery.

For normal, multi-hop 802.11s mesh routing it is usually not advisable
to enable mesh_nolearn as a transmission to a direct but distant neighbor
might be worse than reaching that same node via a more robust /
higher throughput etc. multi-hop path.

Cc: Sven Eckelmann <sven@narfation.org>
Cc: Simon Wunderlich <sw@simonwunderlich.de>
Signed-off-by: Linus Lüssing <ll@simonwunderlich.de>
Link: https://lore.kernel.org/r/20200617073034.26149-2-linus.luessing@c0d3.blue
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
3 years agoupdate nl80211.h
Johannes Berg [Thu, 30 Jul 2020 11:33:23 +0000 (13:33 +0200)] 
update nl80211.h

Change-Id: I1d8448ce41d0f65dcd557f09698405b541ce39fd
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
3 years agoiw: print current ext feature set
Markus Theil [Thu, 28 May 2020 09:01:39 +0000 (11:01 +0200)] 
iw: print current ext feature set

Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de>
Link: https://lore.kernel.org/r/20200528090139.9879-2-markus.theil@tu-ilmenau.de
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
3 years agoupdate nl80211.h
Johannes Berg [Thu, 28 May 2020 09:28:29 +0000 (11:28 +0200)] 
update nl80211.h

Change-Id: Ic04c3bc6e4a74b687ffcf7c1ca54f14050601bd2
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
3 years agoiw: sync frequency to channel mapping with kernel for 6GHz band
Pradeep Kumar Chitrapu [Fri, 15 May 2020 17:51:45 +0000 (10:51 -0700)] 
iw: sync frequency to channel mapping with kernel for 6GHz band

This enables support for channel to frequency conversion and vice versa
for 6GHz channels and frequencies. Channel numbers of 6GHz band might
overlap with those of 5G and 2G bands.

Signed-off-by: Pradeep Kumar Chitrapu <pradeepc@codeaurora.org>
Link: https://lore.kernel.org/r/20200515175145.30080-1-pradeepc@codeaurora.org
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
3 years agoiw: add TID specific configuration command
Sergey Matyukevich [Fri, 24 Apr 2020 11:29:05 +0000 (14:29 +0300)] 
iw: add TID specific configuration command

Use command NL80211_CMD_SET_TID_CONFIG to perform per-node TID specific
configuration. If peer is not specified, then configuration is applied
to all the peers. Currently kernel supports configuration of the
following parameters:
- short/long retry
- mpdu/msdu aggregation on/off
- rts/cts on/off
- noack on/off

Examples:
Apply configuration for specific peer and TIDs:
$ iw dev wlan0 set tidconf peer 1:2:3:4:5:6 tids 0x3 ampdu off tids 0x2 sretry 10 lretry 100
$ iw dev wlan0 set tidconf peer 1:2:3:4:5:6 tids 0x1 override ampdu off amsdu off

Apply configuration for all peers and all TIDs:
$ iw dev wlan0 set tidconf tids 0xff ampdu off amsdu off sretry 10 lretry 100 noack off

Apply configuration for all peers and specific TIDs:
$ iw dev wlan0 set tidconf peer 0xff:0xff:0xff:0xff:0xff:0xff tids 0x1 ampdu off amsdu off

Signed-off-by: Sergey Matyukevich <sergey.matyukevich.os@quantenna.com>
Link: https://lore.kernel.org/r/20200424112905.26770-6-sergey.matyukevich.os@quantenna.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
3 years agoupdate nl80211.h
Johannes Berg [Tue, 26 May 2020 12:46:02 +0000 (14:46 +0200)] 
update nl80211.h

Change-Id: I1c181bc11420eced5c41a5efe30702149fef575e
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
3 years agoiw: Print limit for maximum associated stations in AP mode
Pali Rohár [Wed, 20 May 2020 09:47:01 +0000 (11:47 +0200)] 
iw: Print limit for maximum associated stations in AP mode

Signed-off-by: Pali Rohár <pali@kernel.org>
Link: https://lore.kernel.org/r/20200520094701.10791-1-pali@kernel.org
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoiw: 'phy <name> reg get' shouldn't dump all domains
Brian Norris [Tue, 31 Mar 2020 23:28:33 +0000 (16:28 -0700)] 
iw: 'phy <name> reg get' shouldn't dump all domains

Right now, 'iw phy ... reg get' gets translated to NLM_F_DUMP, which
dumps all domains. But this command really is looking for non-DUMP
semantics -- it only wants the domain for the specified wiphy, or (per
the kernel's choice) the global, if the wiphy doesn't have its own.

We can achieve this by skipping the handle_reg_get() -> "reg dump"
indirection.

[ with a wiphy-specific domain ]
Before:
  # iw phy phy0 reg get
  global
  country XX: DFS-YYY
  [...]
  phy#0
  country AA: DFS-BBB
  [...]

After:
  # iw phy phy0 reg get
  phy#0
  country AA: DFS-BBB
  [...]

[ without a wiphy-specific domain ]
Before and after (unchanged):
  # iw phy phy0 reg get
  global
  country XX: DFS-YYY
  [...]

Signed-off-by: Brian Norris <briannorris@chromium.org>
Link: https://lore.kernel.org/r/20200331232833.142026-1-briannorris@chromium.org
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoiw: tiny code style fixes
Johannes Berg [Fri, 24 Apr 2020 09:53:03 +0000 (11:53 +0200)] 
iw: tiny code style fixes

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoiw: event: log rssi value for cqm
Markus Theil [Mon, 30 Mar 2020 11:00:27 +0000 (13:00 +0200)] 
iw: event: log rssi value for cqm

Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de>
Link: https://lore.kernel.org/r/20200330110027.21541-1-markus.theil@tu-ilmenau.de
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoiw: event: also handle reg change on wiphy
Markus Theil [Tue, 24 Mar 2020 16:21:49 +0000 (17:21 +0100)] 
iw: event: also handle reg change on wiphy

Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de>
Link: https://lore.kernel.org/r/20200324162149.3178-1-markus.theil@tu-ilmenau.de
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoiw: update extended features in info
Markus Theil [Mon, 23 Mar 2020 12:09:59 +0000 (13:09 +0100)] 
iw: update extended features in info

Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de>
Link: https://lore.kernel.org/r/20200323120959.12019-2-markus.theil@tu-ilmenau.de
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoiw: Complete Extended Key ID detection
Alexander Wetzel [Sun, 22 Mar 2020 16:35:24 +0000 (17:35 +0100)] 
iw: Complete Extended Key ID detection

info: update text to have a unified spelling
scan: flag Extended Key ID in scans

Signed-off-by: Alexander Wetzel <alexander@wetzel-home.de>
Link: https://lore.kernel.org/r/20200322163524.1338224-1-alexander@wetzel-home.de
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoiw: update nl80211.h
Johannes Berg [Wed, 25 Mar 2020 09:04:45 +0000 (10:04 +0100)] 
iw: update nl80211.h

Change-Id: Icfad99c15bcd7d56478a550fab7ac83289ed3765
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoiw: phy: dump wiphy index
Brian Norris [Thu, 12 Mar 2020 01:05:15 +0000 (18:05 -0700)] 
iw: phy: dump wiphy index

We support getting wiphy info by index (e.g., 'iw phy#0 info') but we
don't actually dump that info anywhere. Let's fix that.

Signed-off-by: Brian Norris <briannorris@chromium.org>
Link: https://lore.kernel.org/r/20200312010515.21095-1-briannorris@chromium.org
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoscan: Fix printing of unknown WPS vendor extension
Ilan Peer [Wed, 26 Feb 2020 11:31:48 +0000 (13:31 +0200)] 
scan: Fix printing of unknown WPS vendor extension

When an unknown WPS vendor extension is encountered a '\t' was
inserted without a matching message with '\n'. This would impact
the output of following data. Fix it

Change-Id: I86c40c088592ecc7713b0793e0ac56e41d3607a3
Signed-off-by: Ilan Peer <ilan.peer@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoiw: correctly print signed TX power level
Johannes Berg [Wed, 4 Mar 2020 14:54:22 +0000 (15:54 +0100)] 
iw: correctly print signed TX power level

This should be signed (per nl80211.h), but we put it
into a uint32_t, fix that.

Change-Id: I1ca8d3d74e2927c7fb38d5981b0628ea6da94298
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoresync nl80211.h
Johannes Berg [Mon, 24 Feb 2020 09:22:32 +0000 (10:22 +0100)] 
resync nl80211.h

Change-Id: I2b9c65ee9816b59d72b7485cfe8ae482fafce8bc
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoscan: wps: remove useless string length checks
Johannes Berg [Thu, 13 Feb 2020 20:42:16 +0000 (21:42 +0100)] 
scan: wps: remove useless string length checks

If we're going to print using %*s, then there's no need
to check the length first - zero is fine and results in
no memory access.

Change-Id: I68a4ebd0be8e5c03670d475fe664597b6046df39
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoscan: wps: fix some misplaced code
Johannes Berg [Thu, 13 Feb 2020 20:28:04 +0000 (21:28 +0100)] 
scan: wps: fix some misplaced code

I added a length check, but neglected to move the actual
data access after that ... fix that!

Change-Id: I6cf3f396ce86c70df0d1f917b6a028de657ff2a7
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoiw: scan: parse AP Channel Report
Markus Theil [Tue, 11 Feb 2020 01:22:27 +0000 (02:22 +0100)] 
iw: scan: parse AP Channel Report

Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de>
Link: https://lore.kernel.org/r/20200211012227.6907-2-markus.theil@tu-ilmenau.de
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoiw: scan: parse wps version2
Markus Theil [Tue, 11 Feb 2020 01:22:26 +0000 (02:22 +0100)] 
iw: scan: parse wps version2

Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de>
Link: https://lore.kernel.org/r/20200211012227.6907-1-markus.theil@tu-ilmenau.de
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoscan: wps: add more bounds checks
Johannes Berg [Thu, 13 Feb 2020 18:23:13 +0000 (19:23 +0100)] 
scan: wps: add more bounds checks

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoiw: scan: better length checks in print_wifi_wps()
Markus Theil [Mon, 10 Feb 2020 09:46:19 +0000 (10:46 +0100)] 
iw: scan: better length checks in print_wifi_wps()

Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de>
Link: https://lore.kernel.org/r/20200210094619.14416-2-markus.theil@tu-ilmenau.de
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoiw: scan: fix some format string warnings found by clang
Markus Theil [Mon, 10 Feb 2020 08:13:54 +0000 (09:13 +0100)] 
iw: scan: fix some format string warnings found by clang

Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de>
Link: https://lore.kernel.org/r/20200210081354.10390-2-markus.theil@tu-ilmenau.de
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoiw: scan: fix undefined behaviour in print_vht_capa()
Markus Theil [Sun, 9 Feb 2020 16:59:02 +0000 (17:59 +0100)] 
iw: scan: fix undefined behaviour in print_vht_capa()

Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de>
Link: https://lore.kernel.org/r/20200209165902.44110-9-markus.theil@tu-ilmenau.de
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoiw: scan: fix undefined behaviour in rm capa print
Markus Theil [Sun, 9 Feb 2020 16:59:01 +0000 (17:59 +0100)] 
iw: scan: fix undefined behaviour in rm capa print

Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de>
Link: https://lore.kernel.org/r/20200209165902.44110-8-markus.theil@tu-ilmenau.de
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoiw: scan: fix buffer over-read in print_p2p
Markus Theil [Sun, 9 Feb 2020 16:59:00 +0000 (17:59 +0100)] 
iw: scan: fix buffer over-read in print_p2p

Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de>
Link: https://lore.kernel.org/r/20200209165902.44110-7-markus.theil@tu-ilmenau.de
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoiw: scan: fix buffer over-read in print_wifi_wps
Markus Theil [Sun, 9 Feb 2020 16:58:59 +0000 (17:58 +0100)] 
iw: scan: fix buffer over-read in print_wifi_wps

Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de>
Link: https://lore.kernel.org/r/20200209165902.44110-6-markus.theil@tu-ilmenau.de
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoiw: scan: fix buffer over-read in parsing roaming consortium
Markus Theil [Sun, 9 Feb 2020 16:58:58 +0000 (17:58 +0100)] 
iw: scan: fix buffer over-read in parsing roaming consortium

ANQP and OI length are always present, increase min. length by 2.

Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de>
Link: https://lore.kernel.org/r/20200209165902.44110-5-markus.theil@tu-ilmenau.de
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoiw: scan: fix buffer over-read in print_ies()
Markus Theil [Sun, 9 Feb 2020 16:58:56 +0000 (17:58 +0100)] 
iw: scan: fix buffer over-read in print_ies()

This patch correctly checks, if enough data bytes for parsing IEs are
present (-2 in check for type and length). Furthermore, it adds a
nullptr and length check to ease future fuzzing.

Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de>
Link: https://lore.kernel.org/r/20200209165902.44110-3-markus.theil@tu-ilmenau.de
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agobuild: add -Wdeclaration-after-statement
Johannes Berg [Thu, 13 Feb 2020 18:13:33 +0000 (19:13 +0100)] 
build: add -Wdeclaration-after-statement

Change-Id: Id4f25cf70c39543ae0ff250b3ab3bf7cc17f0811
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoiw: scan: parse measurement pilot element
Markus Theil [Sun, 9 Feb 2020 16:58:55 +0000 (17:58 +0100)] 
iw: scan: parse measurement pilot element

Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de>
Link: https://lore.kernel.org/r/20200209165902.44110-2-markus.theil@tu-ilmenau.de
[squash later fixes]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoiw: scan: parse tx power envelope
Markus Theil [Fri, 7 Feb 2020 15:54:06 +0000 (16:54 +0100)] 
iw: scan: parse tx power envelope

Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de>
Link: https://lore.kernel.org/r/20200207155406.8985-3-markus.theil@tu-ilmenau.de
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoiw: scan: parse 'supported Operating Classes element'
Markus Theil [Fri, 7 Feb 2020 15:54:05 +0000 (16:54 +0100)] 
iw: scan: parse 'supported Operating Classes element'

Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de>
Link: https://lore.kernel.org/r/20200207155406.8985-2-markus.theil@tu-ilmenau.de
[squashed later bugfix, fix typo]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoiw: scan: add missing word for rm capabilities
Markus Theil [Fri, 7 Feb 2020 15:54:04 +0000 (16:54 +0100)] 
iw: scan: add missing word for rm capabilities

Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de>
Link: https://lore.kernel.org/r/20200207155406.8985-1-markus.theil@tu-ilmenau.de
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoiw: reg: parse the NO_HE regulatory flag
Brian Norris [Wed, 5 Feb 2020 23:10:01 +0000 (15:10 -0800)] 
iw: reg: parse the NO_HE regulatory flag

This isn't supported in wireless-regdb yet, but self-managed drivers are
preparing to report it:

https://patchwork.kernel.org/patch/11343173/
https://lkml.kernel.org/linux-wireless/20200121081213.733757-1-luca@coelho.fi

Signed-off-by: Brian Norris <briannorris@chromium.org>
Link: https://lore.kernel.org/r/20200205231001.132595-3-briannorris@chromium.org
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoiw: print ru-alloc values when dumping stations
John Crispin [Tue, 4 Feb 2020 15:45:34 +0000 (16:45 +0100)] 
iw: print ru-alloc values when dumping stations

In commit 2f74c59cf11e ("iw: add HE support to station dump call") we added
most of the HE values when parsing tx bitrates/dumping stations. The
ru-alloc value was missing. This patch adds that value.

Signed-off-by: John Crispin <john@phrozen.org>
Link: https://lore.kernel.org/r/20200204154534.5177-1-john@phrozen.org
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoupdate nl80211.h
Johannes Berg [Thu, 13 Feb 2020 18:07:44 +0000 (19:07 +0100)] 
update nl80211.h

Change-Id: Ia0e95e0cc90a2dfc6caec71f1c1052588411b6bf
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoiw: scan: print radio measurement capabilities
Markus Theil [Wed, 22 Jan 2020 20:06:16 +0000 (21:06 +0100)] 
iw: scan: print radio measurement capabilities

Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de>
Link: https://lore.kernel.org/r/20200122200616.7897-1-markus.theil@tu-ilmenau.de
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoiw: event: parse channel switch
Markus Theil [Wed, 8 Jan 2020 13:11:07 +0000 (14:11 +0100)] 
iw: event: parse channel switch

Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de>
Link: https://lore.kernel.org/r/20200108131107.27653-1-markus.theil@tu-ilmenau.de
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoiw: info: add missing extended flags for 5.5
Markus Theil [Mon, 6 Jan 2020 15:10:24 +0000 (16:10 +0100)] 
iw: info: add missing extended flags for 5.5

Add missing flags and reorder TXQ and airtime related flags
next to each other again. (Thanks Toke for the hint).
Link: https://lore.kernel.org/r/20200106151024.124315-5-markus.theil@tu-ilmenau.de
Signed-off-by: Johannes Berg <johannes.berg@intel.com>