]> git.ipfire.org Git - thirdparty/iw.git/log
thirdparty/iw.git
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>
4 years agoiw: event: parse stop ap and frame wait cancel events
Markus Theil [Mon, 6 Jan 2020 15:10:22 +0000 (16:10 +0100)] 
iw: event: parse stop ap and frame wait cancel events

Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de>
Link: https://lore.kernel.org/r/20200106151024.124315-3-markus.theil@tu-ilmenau.de
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoiw: event: handle interface add/del
Markus Theil [Mon, 6 Jan 2020 15:10:21 +0000 (16:10 +0100)] 
iw: event: handle interface add/del

Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de>
Link: https://lore.kernel.org/r/20200106151024.124315-2-markus.theil@tu-ilmenau.de
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoiw: update nl80211.h
Johannes Berg [Wed, 15 Jan 2020 10:05:10 +0000 (11:05 +0100)] 
iw: update nl80211.h

Change-Id: I3b5b124f7d2985b9dc6f9481408bd412e50c0b5b
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoiw: info: print missing extended feature flag information
Markus Theil [Wed, 1 Jan 2020 17:48:36 +0000 (18:48 +0100)] 
iw: info: print missing extended feature flag information

Some extended feature flags were not considered before.

Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de>
Link: https://lore.kernel.org/r/20200101174836.5513-1-markus.theil@tu-ilmenau.de
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoevent: remove unnecessary braces
Johannes Berg [Fri, 13 Dec 2019 09:43:50 +0000 (10:43 +0100)] 
event: remove unnecessary braces

Change-Id: I7fd064aac349859c000961fa7560a968a6552fc8
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoiw: event: add sta opmode changed command
Markus Theil [Tue, 10 Dec 2019 14:43:56 +0000 (15:43 +0100)] 
iw: event: add sta opmode changed command

Parsing this command helps tracking num spatial stream
and bandwidth changes.

Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de>
Link: https://lore.kernel.org/r/20191210144356.15377-1-markus.theil@tu-ilmenau.de
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoiw: event: add set interface command
Markus Theil [Tue, 10 Dec 2019 14:22:45 +0000 (15:22 +0100)] 
iw: event: add set interface command

This patch adds support for CMD_SET_INTERFACE which is called
when switching to mesh or ap mode.

Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de>
Link: https://lore.kernel.org/r/20191210142245.13972-2-markus.theil@tu-ilmenau.de
[fill all device types]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoiw: event: add new peer candidate command
Markus Theil [Tue, 10 Dec 2019 14:22:44 +0000 (15:22 +0100)] 
iw: event: add new peer candidate command

This patch prints information about mesh peering candidates.

Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de>
Link: https://lore.kernel.org/r/20191210142245.13972-1-markus.theil@tu-ilmenau.de
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoiw: bump version to 5.4 v5.4
Johannes Berg [Thu, 5 Dec 2019 12:13:54 +0000 (13:13 +0100)] 
iw: bump version to 5.4

Change-Id: I1f1df568c37b3f163d7d365bb6f259e75b6b9f17
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoiw: generate command list at build time
Johannes Berg [Thu, 5 Dec 2019 11:43:52 +0000 (12:43 +0100)] 
iw: generate command list at build time

There's no reason for me to do this manually every
time I do a release, just generate it directly at
build time.

Change-Id: Icd9c2bbc0ccfb183e054ababdd09d9443855ae12
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoiw: scan: fix double-free in error paths
Brian Norris [Thu, 21 Nov 2019 22:41:39 +0000 (14:41 -0800)] 
iw: scan: fix double-free in error paths

Hit when, for instance, I'm stupid enough to type an invalid scan
command:

  # iw wlan0 scan -h
  BUG at file position lib/msg.c:572:void nlmsg_free(struct nl_msg *)
  iw: lib/msg.c:572: void nlmsg_free(struct nl_msg *): Assertion `0' failed.
  Aborted (core dumped)

Fixes: 2f74c59cf11e ("iw: fix memory leaks inside handle_scan")
Cc: John Crispin <john@phrozen.org>
Signed-off-by: Brian Norris <briannorris@chromium.org>
Link: https://lore.kernel.org/r/20191121224139.58281-1-briannorris@chromium.org
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoiw: Fix typo in iw --help
Ryan Adolf [Tue, 22 Oct 2019 08:07:09 +0000 (01:07 -0700)] 
iw: Fix typo in iw --help

Signed-off-by: Ryan Adolf <ryanadolf123@gmail.com>
Link: https://lore.kernel.org/r/79e3b9aba5159d1e7fbf908af6621e9d0fdb57fd.camel@gmail.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoiw: Print current time in station info dump
Ben Greear [Mon, 9 Sep 2019 20:13:57 +0000 (13:13 -0700)] 
iw: Print current time in station info dump

This lets us more precisely calculate the absolute timestamp
of last-rix (ie, now - idle).

Signed-off-by: Ben Greear <greearb@candelatech.com>
Link: https://lore.kernel.org/r/1568060037-7481-2-git-send-email-greearb@candelatech.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoiw: Support associated-at station statistic.
Ben Greear [Mon, 9 Sep 2019 20:13:56 +0000 (13:13 -0700)] 
iw: Support associated-at station statistic.

This can be helpful for calculating roaming time and other
higher precision stats.

Signed-off-by: Ben Greear <greearb@candelatech.com>
Link: https://lore.kernel.org/r/1568060037-7481-1-git-send-email-greearb@candelatech.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoupdate nl80211.h
Johannes Berg [Wed, 11 Sep 2019 07:35:14 +0000 (09:35 +0200)] 
update nl80211.h

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agobump version to 5.3 v5.3
Johannes Berg [Mon, 5 Aug 2019 20:33:56 +0000 (22:33 +0200)] 
bump version to 5.3

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoinfo: update extended feature list
Johannes Berg [Mon, 5 Aug 2019 20:31:47 +0000 (22:31 +0200)] 
info: update extended feature list

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoinfo: macro-ify ext_feat_print()
Johannes Berg [Mon, 5 Aug 2019 20:28:51 +0000 (22:28 +0200)] 
info: macro-ify ext_feat_print()

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoutil: update command list
Johannes Berg [Mon, 5 Aug 2019 20:27:21 +0000 (22:27 +0200)] 
util: update command list

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoupdate nl80211.h
Johannes Berg [Mon, 5 Aug 2019 20:22:23 +0000 (22:22 +0200)] 
update nl80211.h

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoiw: scan: add missing newline
Johannes Berg [Fri, 26 Jul 2019 07:18:11 +0000 (09:18 +0200)] 
iw: scan: add missing newline

There was a missing newline after the ATIM window print, add it.

Change-Id: I3fba9d1bcd0015a622379c4f9f6c43df225877a6
Reported-by: Bill Unruh <unruh@physics.ubc.ca>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoiw: print HE capabilities
John Crispin [Mon, 20 May 2019 10:54:16 +0000 (12:54 +0200)] 
iw: print HE capabilities

Print the HE MAC/PHY capabilities and MCS/NSS sets.

Signed-off-by: Shashidhar Lakkavalli <slakkavalli@datto.com>
Signed-off-by: John Crispin <john@phrozen.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoiw: really fix build
Johannes Berg [Fri, 24 May 2019 09:17:54 +0000 (11:17 +0200)] 
iw: really fix build

Now after the previous fix, version.o was linked twice...

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoiw: add HE support to station dump call
John Crispin [Thu, 23 May 2019 10:50:50 +0000 (12:50 +0200)] 
iw: add HE support to station dump call

Signed-off-by: Shashidhar Lakkavalli <slakkavalli@datto.com>
Signed-off-by: John Crispin <john@phrozen.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agocac: fix error handling in channel parsing
Johannes Berg [Fri, 24 May 2019 08:50:00 +0000 (10:50 +0200)] 
cac: fix error handling in channel parsing

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agonan: fix memory leak
Johannes Berg [Fri, 24 May 2019 08:48:46 +0000 (10:48 +0200)] 
nan: fix memory leak

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agomesh: initialize err in set_interface_meshparam()
Johannes Berg [Fri, 24 May 2019 08:44:02 +0000 (10:44 +0200)] 
mesh: initialize err in set_interface_meshparam()

Change-Id: I72f4fc551e5a6ab30c1056d5a8978175506870aa
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoiw: fix fp handling inside handle_vendor
John Crispin [Fri, 17 May 2019 19:29:56 +0000 (21:29 +0200)] 
iw: fix fp handling inside handle_vendor

The fp can leak and should not be closed if we do i/o redirection.

Signed-off-by: John Crispin <john@phrozen.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoiw: fix memory leaks inside handle_scan
John Crispin [Fri, 17 May 2019 19:29:55 +0000 (21:29 +0200)] 
iw: fix memory leaks inside handle_scan

Signed-off-by: John Crispin <john@phrozen.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoiw: fix memory leak inside parse_sched_scan
John Crispin [Fri, 17 May 2019 19:29:54 +0000 (21:29 +0200)] 
iw: fix memory leak inside parse_sched_scan

Signed-off-by: John Crispin <john@phrozen.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoiw: fix fd leak inside handle_netns
John Crispin [Fri, 17 May 2019 19:29:53 +0000 (21:29 +0200)] 
iw: fix fd leak inside handle_netns

Signed-off-by: John Crispin <john@phrozen.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoiw: fix memory leak inside handle_cac
John Crispin [Fri, 17 May 2019 19:29:52 +0000 (21:29 +0200)] 
iw: fix memory leak inside handle_cac

Signed-off-by: John Crispin <john@phrozen.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoiw: fix endless loop inside handle_mgmt_dump
John Crispin [Fri, 17 May 2019 19:29:51 +0000 (21:29 +0200)] 
iw: fix endless loop inside handle_mgmt_dump

passing -1 will break the while loop further down in the code.

Signed-off-by: John Crispin <john@phrozen.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoiw: fix memory leak inside register_mgmt_frame
John Crispin [Fri, 17 May 2019 19:29:50 +0000 (21:29 +0200)] 
iw: fix memory leak inside register_mgmt_frame

Signed-off-by: John Crispin <john@phrozen.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
4 years agoiw: add version.o to objects
Johannes Berg [Fri, 24 May 2019 08:36:20 +0000 (10:36 +0200)] 
iw: add version.o to objects

Oops. This needs to be included manually since there's no
C file for it, it's generated.

Change-Id: I5b81caf3e2decf3a44f6470f8900e1774fc585d8
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoiw: include all C files into the binary
Johannes Berg [Thu, 2 May 2019 08:34:37 +0000 (10:34 +0200)] 
iw: include all C files into the binary

There's really no reason to have a separate configuration
for HWSIM, so we can also always compile that. Then, we
no longer need to spell out the list of files and can just
include all the files.

Change-Id: I2a9141b9924bbc217015fce1076ea01017b88cae
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoiw: change __cmd section scheme to fit gcc/clang
Johannes Berg [Thu, 2 May 2019 08:05:47 +0000 (10:05 +0200)] 
iw: change __cmd section scheme to fit gcc/clang

There are some behaviour differences in how gcc and clang
fill a special section like the one we use for __cmd here.

In both compilers, obviously all variables declared like
this end up in the special __cmd section.

However, alignment and padding is applied differently by
different compilers and linkers, and as such it is hard to
really rely on being able to treat this like an array.

To avoid all these issues, put just *pointers* to the
structures into the special section, which makes it easy
to skip NULL pointers (resulting from padding) and has no
issues with alignment as they're always smaller than the
alignment applied.

Change-Id: I35e2c66e541758e60363883d26b31d2040ce8aa9
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoiw: Add support for controlling tx power for per station
Ashok Raj Nagarajan [Fri, 29 Mar 2019 11:23:15 +0000 (16:53 +0530)] 
iw: Add support for controlling tx power for per station

This patch allows userspace to set transmit power,
in dBm units, to a station associated to the AP.

To set a limit tx power of 20 dBm:
iw wlan0 station set <mac-addr> txpwr limit 20

To revert the user defined tx power for a station:
iw wlan0 station set <mac-addr> txpwr auto

Co-developed-by: Balaji Pothunoori <bpothuno@codeaurora.org>
Signed-off-by: Ashok Raj Nagarajan <arnagara@codeaurora.org>
Signed-off-by: Balaji Pothunoori <bpothuno@codeaurora.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoiw: add command to inject a frame via direct mesh link to mesh peer
Pradeep Kumar Chitrapu [Mon, 8 Apr 2019 23:29:23 +0000 (04:59 +0530)] 
iw: add command to inject a frame via direct mesh link to mesh peer

Add mpath command to inject ethernet frame over direct mesh link to
given peer, bypassing the mpath table lookup. This helps to send data
frames over unexcersized direct mesh path, which is not selected as
next_hop node. This can be helpful in measuring link metrics.

Format:
$ iw dev <devname> mpath probe <Peer MAC> frame <pattern>

Example:
$ iw wlan0 mpath probe aa:bb:cc:dd:ee:ff frame aa:bb:cc:dd:ee:ff:kk:ll:mm:nn:oo:pp:yy:zz

Frame pattern is supplied as hex pattern of the form aa:bb:cc without
leading 0x. Frame type and length are expected to be of ethernet frame
type.

Signed-off-by: Pradeep Kumar Chitrapu <pradeepc@codeaurora.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoupdate nl80211.h
Johannes Berg [Fri, 26 Apr 2019 09:54:08 +0000 (11:54 +0200)] 
update nl80211.h

Change-Id: I9e09f7951c782f86775809c2a38a988d921bfcf9
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoiw: print 4ADDR attribute when dumping interface
Antonio Quartulli [Sat, 23 Mar 2019 09:39:14 +0000 (10:39 +0100)] 
iw: print 4ADDR attribute when dumping interface

Print the value of the 4ADDR attribute when dumping the interface
status.

Signed-off-by: Antonio Quartulli <a@unstable.cc>
[print only when enabled]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Change-Id: Ieaa5de972638e9c0a9b74fe1daf4aa86dba2c7fd

5 years agoiw: small cleanup for the sizer code
Johannes Berg [Thu, 28 Feb 2019 21:28:19 +0000 (22:28 +0100)] 
iw: small cleanup for the sizer code

We should use a signed variable if we subtract and potentially
end up with a negative value.

Additionally, we directly reference these variables so don't
need __attribute__((used)).

Change-Id: I78c2a5706dce9c90595284cf5e1d9d6f6fa1879e
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoiw: fix cmd_size determination with LTO
Johannes Berg [Thu, 28 Feb 2019 20:34:03 +0000 (21:34 +0100)] 
iw: fix cmd_size determination with LTO

Use a separate section to determine the cmd_size as in LTO
the entries in __cmd get freely rearranged, leading to a
(usually) very large cmd_size, and thus to the whole thing
not working.

Change-Id: I3437ad34de1d927961a3e98f109794d7a884327f
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoupdate nl80211.h
Johannes Berg [Thu, 28 Feb 2019 20:03:06 +0000 (21:03 +0100)] 
update nl80211.h

This also fixes compilation of the previous commit.

Change-Id: Iaabb7986393411454a2e72ce5a3342f941201fe1
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoiw: Print airtime fairness feature
Toke Høiland-Jørgensen [Mon, 11 Feb 2019 17:04:34 +0000 (18:04 +0100)] 
iw: Print airtime fairness feature

This adds printing of the newly introduced airtime fairness EXT_FEATURE
flag to iw.

Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoiw: Add command to set airtime weight
Toke Høiland-Jørgensen [Mon, 11 Feb 2019 17:04:34 +0000 (18:04 +0100)] 
iw: Add command to set airtime weight

This adds a new iw command to set the airtime weight for a station, support
for which was recently introduced into mac80211.

Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoiw: Add printing of station tx duration and airtime weight
Toke Høiland-Jørgensen [Mon, 11 Feb 2019 17:04:34 +0000 (18:04 +0100)] 
iw: Add printing of station tx duration and airtime weight

This adds printing of the station TX duration (along with the existing RX
duration), and the airtime weight, both of which were added as part of the
airtime fairness patches that were recently merged into mac80211.

Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoiw: bump version to 5.0.1 v5.0.1
Johannes Berg [Mon, 4 Feb 2019 13:37:08 +0000 (14:37 +0100)] 
iw: bump version to 5.0.1

This just fixes build on older compilers.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoiw: make it build with older compilers again
Johannes Berg [Mon, 4 Feb 2019 13:32:36 +0000 (14:32 +0100)] 
iw: make it build with older compilers again

There's no reason to require a newer compiler that understands
-Wstringop-overflow=4, make that optional.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoiw: bump version to 5.0 v5.0
Johannes Berg [Fri, 1 Feb 2019 22:07:56 +0000 (23:07 +0100)] 
iw: bump version to 5.0

The nl80211.h matches what's going to be in 5.0, so
use the version number here to match.

Change-Id: I5ea22f2efd3bcf6145de85b0b47dd43f1c95bfed
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoiw: add FTM responder commands
Johannes Berg [Fri, 1 Feb 2019 22:00:40 +0000 (23:00 +0100)] 
iw: add FTM responder commands

Signed-off-by: David Spinadel <david.spinadel@intel.com>
Signed-off-by: Beni Lev <beni.lev@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoiw: add FTM initiator support
Johannes Berg [Wed, 5 Dec 2018 10:36:31 +0000 (11:36 +0100)] 
iw: add FTM initiator support

Signed-off-by: Avraham Stern <avraham.stern@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoiw: separate wait/print when waiting for an event
Johannes Berg [Thu, 22 Nov 2018 12:59:03 +0000 (13:59 +0100)] 
iw: separate wait/print when waiting for an event

We usually only wanted to print the event that we waited
for, but with measurements that's changing, we want to
wait for the complete event and print the results.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoiw: make parse_random_mac_addr() more generally available
Johannes Berg [Mon, 19 Nov 2018 10:22:55 +0000 (11:22 +0100)] 
iw: make parse_random_mac_addr() more generally available

The parse_random_mac_addr() function is useful in contexts
other than scanning, so make it more generally available and
make it set the attributes to randomise all when no arguments
are given.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoupdate nl80211.h and command list
Johannes Berg [Fri, 1 Feb 2019 21:55:13 +0000 (22:55 +0100)] 
update nl80211.h and command list

Update nl80211.h to what should be in kernel 5.0.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoiw: make all code files non-executable
Johannes Berg [Tue, 8 Jan 2019 11:42:42 +0000 (12:42 +0100)] 
iw: make all code files non-executable

Change-Id: I19eafb95c718cc1632530aef2670581e9e958808
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoiw: add FEATURE support for scan randomization
Brian Norris [Wed, 14 Nov 2018 23:11:29 +0000 (15:11 -0800)] 
iw: add FEATURE support for scan randomization

Signed-off-by: Brian Norris <briannorris@chromium.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoiw: dump 'rx bitrate' in link stats
Brian Norris [Thu, 29 Nov 2018 02:38:48 +0000 (18:38 -0800)] 
iw: dump 'rx bitrate' in link stats

We include it in 'station dump' but not 'link'.

Signed-off-by: Brian Norris <briannorris@chromium.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoiw: use -Wstringop-overflow=4
Johannes Berg [Wed, 21 Nov 2018 08:13:54 +0000 (09:13 +0100)] 
iw: use -Wstringop-overflow=4

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoiw: honor CPPFLAGS when compiling
Paride Legovini [Thu, 8 Nov 2018 20:36:59 +0000 (21:36 +0100)] 
iw: honor CPPFLAGS when compiling

Pass CPPFLAGS to the compiler as done with CFLAGS.

Change-Id: Ic91d26125e8314b32596e9fefa0dd9393cf0cda1
Signed-off-by: Paride Legovini <pl@ninthfloor.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoiw: Fix NAN match event formatting
Andrei Otcheretianski [Sun, 7 May 2017 15:20:30 +0000 (18:20 +0300)] 
iw: Fix NAN match event formatting

Handle new lines and commas correctly.

Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoiw: nan: fix warning of uninitialized variable
Zamir, Roee [Thu, 23 Mar 2017 10:13:11 +0000 (12:13 +0200)] 
iw: nan: fix warning of uninitialized variable

Signed-off-by: Zamir, Roee <roee.zamir@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoremove stray evp.h include
Johannes Berg [Tue, 7 Mar 2017 08:29:56 +0000 (09:29 +0100)] 
remove stray evp.h include

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoiw: nan: Add NAN Commands
Roee Zamir [Mon, 31 Oct 2016 13:42:32 +0000 (15:42 +0200)] 
iw: nan: Add NAN Commands

Implement nan commands for NAN interface.
The commands allow to start/stop the interface, subscribe/publish
and change current configuration.

Signed-off-by: Roee Zamir <roee.zamir@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoiw: nan: Handle NAN Events
Roee Zamir [Mon, 31 Oct 2016 14:31:02 +0000 (16:31 +0200)] 
iw: nan: Handle NAN Events

Handle NAN function termination and NAN match events.

Signed-off-by: Roee Zamir <roee.zamir@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoiw: Add inactivity timeout configuration support
Netanel Bachner [Thu, 18 Jan 2018 18:38:11 +0000 (20:38 +0200)] 
iw: Add inactivity timeout configuration support

Add inactivity time as an optional parameter, so that the time it takes
for the AP to free up a connected inactive station could be configured.

Signed-off-by: Netanel Bachner <netanel.bachner@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agowowlan: Use MAX_NL80211_ATTR instead of NUM in nla_parse
David Spinadel [Mon, 2 Jul 2018 15:27:39 +0000 (18:27 +0300)] 
wowlan: Use MAX_NL80211_ATTR instead of NUM in nla_parse

nla_parse expects max type and not the num of the attributes.
The previous code could cause stack smashing.

While at that use nla_parse_nested instead of nla_parse.

Signed-off-by: David Spinadel <david.spinadel@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoconnect: fix parsing of WEP keys
Emmanuel Grumbach [Tue, 12 Jun 2018 06:01:56 +0000 (09:01 +0300)] 
connect: fix parsing of WEP keys

The introduction of MFP options added a bug that causes a
segmentation fault when parsing WEP keys.
Fix that.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoconnect: Fix parsing of PSK
Ilan Peer [Wed, 20 Jun 2018 06:22:23 +0000 (09:22 +0300)] 
connect: Fix parsing of PSK

Commit cdef5f1f7d40 ("[BUGFIX] connect: fix parsing of WEP keys")
missed updating 'argc' and 'argv' at the end of PSK processing.
Fix it.

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoiw: fix various static checker warnings
Johannes Berg [Thu, 11 Oct 2018 10:26:02 +0000 (12:26 +0200)] 
iw: fix various static checker warnings

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoiw: scan: parse OWE Transition Mode element
Hauke Mehrtens [Wed, 10 Oct 2018 20:47:47 +0000 (22:47 +0200)] 
iw: scan: parse OWE Transition Mode element

This adds code to parse the Opportunistic Wireless Encryption Transition
Mode element.

Without this patch the output looks like this:
WFA 0x1c, data: 00 37 b7 36 dc 0c 08 4f 70 65 6e 57 72 74 34
With this patch it looks like this:
        OWE Transition Mode:
                BSSID: 00:37:b7:36:dc:0c
                SSID: OpenWrt4

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoiw: Make input to mac_addr_n2a() const
Hauke Mehrtens [Wed, 10 Oct 2018 20:47:46 +0000 (22:47 +0200)] 
iw: Make input to mac_addr_n2a() const

The parameter is not modified, so we can make it constant. This makes it
possible to provide other const parameters to this function.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoscan: Decode additional Authentication types
Hauke Mehrtens [Fri, 5 Oct 2018 21:14:31 +0000 (23:14 +0200)] 
scan: Decode additional Authentication types

This adds some more authentication types, the constants are taken from
hostapd. I only tested SAE, FT/SAE and OWE.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoiw: fix enum warnings
Brian Norris [Mon, 8 Oct 2018 17:51:26 +0000 (10:51 -0700)] 
iw: fix enum warnings

clang warns about the misuse of enums:

reg.c:246:26: warning: implicit conversion from enumeration type 'enum command_identify_by' to different enumeration type 'enum id_input' [-Wenum-conversion]
        err = handle_cmd(state, CIB_NONE, 2, dump_args);
              ~~~~~~~~~~        ^~~~~~~~
info.c:645:26: warning: implicit conversion from enumeration type 'enum command_identify_by' to different enumeration type 'enum id_input' [-Wenum-conversion]
        err = handle_cmd(state, CIB_NONE, 2, feat_args);
              ~~~~~~~~~~        ^~~~~~~~

Signed-off-by: Brian Norris <briannorris@chromium.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoiw: fix the beacon average signal parsing
Emmanuel Grumbach [Thu, 4 Oct 2018 09:34:20 +0000 (12:34 +0300)] 
iw: fix the beacon average signal parsing

NL80211_STA_INFO_BEACON_SIGNAL_AVG is parsed as a u8, but
it should be casted to a int8_t before being printed.

Change-Id: Ieb6fab3b803d8ea82819a450f07cc4b537d8de8b
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoiw: ack signal support for tx ack packets
Balaji Pothunoori [Thu, 19 Jul 2018 14:29:50 +0000 (19:59 +0530)] 
iw: ack signal support for tx ack packets

This patch is to display the average ack signal,
last ack signal of tx ack packets.

Signed-off-by: Balaji Pothunoori <bpothuno@codeaurora.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoscan: fix fall through warning
Johannes Berg [Wed, 29 Aug 2018 08:56:10 +0000 (10:56 +0200)] 
scan: fix fall through warning

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoupdate nl80211.h
Johannes Berg [Wed, 29 Aug 2018 08:54:45 +0000 (10:54 +0200)] 
update nl80211.h

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoscan: fix indentation in previous change
Johannes Berg [Tue, 14 Aug 2018 11:34:50 +0000 (13:34 +0200)] 
scan: fix indentation in previous change

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoscan: fix crash when driver doesn't report frame type
Sergey Matyukevich [Sat, 4 Aug 2018 20:31:11 +0000 (23:31 +0300)] 
scan: fix crash when driver doesn't report frame type

If driver does not know what kind of frame has been received from BSS,
then it is possible to specify CFG80211_BSS_FTYPE_UNKNOWN
in cfg80211_inform_bss[_width].

In this case neither NL80211_BSS_BEACON_IES nor NL80211_BSS_PRESP_DATA
will be reported to userspace.

Signed-off-by: Sergey Matyukevich <sergey.matyukevich.os@quantenna.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoiw: 'idby' might be used uninitialized in main function
Omer Dagan [Sun, 22 Jul 2018 14:44:36 +0000 (17:44 +0300)] 
iw: 'idby' might be used uninitialized in main function

During static-analysis of the code, a message appeared stating that
'idby' enum might be used un-initialized.
It described a case in which the 'goto detect' statment occurred and
that means that the enum initialization will be skipped.

Johannes: just move the initialization after the label, instead
of moving the variable as Omer's patch had it since we always
just want it to be II_NONE to start with and don't need it in
any other scope.

Signed-off-by: Omer Dagan <omer.dagan@tandemg.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoiw: enable -Wextra and fix warnings caused by it
Johannes Berg [Tue, 22 May 2018 20:23:32 +0000 (22:23 +0200)] 
iw: enable -Wextra and fix warnings caused by it

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoscan: print out "Information elements from Probe Response frame" only if certain
Johannes Berg [Tue, 22 May 2018 20:15:32 +0000 (22:15 +0200)] 
scan: print out "Information elements from Probe Response frame" only if certain

If we can't be sure that the IEs were really from a probe
response, avoid printing out that they were, since that's
just confusing to the user.
After kernel commit 0e227084aee3 ("cfg80211: clarify BSS
probe response vs. beacon data") in 3.18 it will set the
NL80211_BSS_PRESP_DATA attribute, so we know for sure; we
can also know if the content is different from the beacon
content.

Reported-by: Denis Kenzior <denkenz@gmail.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoiw: fix some scan code indentation
Johannes Berg [Tue, 22 May 2018 20:10:03 +0000 (22:10 +0200)] 
iw: fix some scan code indentation

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoiw: Add getting and setting of TXQ params for phy
Toke Høiland-Jørgensen [Tue, 8 May 2018 11:22:11 +0000 (13:22 +0200)] 
iw: Add getting and setting of TXQ params for phy

This adds commands to get and set the per-phy TXQ parameters for drivers
that use the intermediate TXQs. These are the settings and statistics that
are also available through /sys/kernel/debug/ieee80211/phyX/aqm.

Sample output:

$ iw phy phy0 get txq
Packet limit: 8192 pkts
Memory limit: 4194304 bytes
Quantum: 300 bytes
Number of queues: 4096
Backlog: 12 pkts
Memory usage: 52224 bytes
Packet limit overflows: 0
Memory limit overflows: 0
Hash collisions: 1

Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoiw: Print TXQ statistics for stations and interfaces
Toke Høiland-Jørgensen [Tue, 8 May 2018 11:22:11 +0000 (13:22 +0200)] 
iw: Print TXQ statistics for stations and interfaces

This adds printing of TXQ statistics for stations and interfaces when
supplied by the kernel. For stations, another section is added when verbose
mode is enabled; for interfaces, the multicast queue information is always
printed when available.

This is the information also available through debugfs in
/sys/kernel/debug/ieee80211/phyX/netdev:Y/aqm and
/sys/kernel/debug/ieee80211/phyX/netdev:Y/stations/*/aqm.

Sample output:

$ iw dev wlp2s0 station dump -v
Station xx:xx:xx:xx:xx:xx (on wlp2s0)
[...]
TXQs:
TID qsz-byt qsz-pkt flows drops marks overlmt hashcol tx-bytes tx-packets
0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0
2 0 0 0 0 0 0 0 0 0
3 0 0 0 0 0 0 0 0 0
4 0 0 0 0 0 0 0 0 0
5 0 0 0 0 0 0 0 0 0
6 0 0 0 0 0 0 0 0 0
7 0 0 0 0 0 0 0 0 0
8 0 0 0 0 0 0 0 0 0
9 0 0 0 0 0 0 0 0 0
10 0 0 0 0 0 0 0 0 0
11 0 0 0 0 0 0 0 0 0
12 0 0 0 0 0 0 0 0 0
13 0 0 0 0 0 0 0 0 0
14 0 0 0 0 0 0 0 0 0
15 0 0 0 0 0 0 0 0 0
[...]

$ iw dev wlp2s0 info
Interface wlp2s0
ifindex 9
wdev 0x1
addr xx:xx:xx:xx:xx:xx
type AP
wiphy 0
channel 165 (5825 MHz), width: 20 MHz, center1: 5825 MHz
txpower 24.00 dBm
multicast TXQ:
qsz-byt qsz-pkt flows drops marks overlmt hashcol tx-bytes tx-packets
0 0 72 0 0 0 0 7380 72

Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoupdate nl80211.h
Johannes Berg [Fri, 18 May 2018 08:05:05 +0000 (10:05 +0200)] 
update nl80211.h

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoiw: support reloading the regulatory database
Seth Forshee [Wed, 9 May 2018 15:36:20 +0000 (10:36 -0500)] 
iw: support reloading the regulatory database

Add a "iw reg reload" command, useful for testing new regulatory
databases.

Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
5 years agoiw: Add duration parameter to scan command
Pradeep Kumar Chitrapu [Tue, 8 May 2018 17:20:30 +0000 (10:20 -0700)] 
iw: Add duration parameter to scan command

This patch lets user to specify duration(TUs) and set duration-mandatory
flag in scan command.

Signed-off-by: Pradeep Kumar Chitrapu <pradeepc@codeaurora.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
6 years agoiw: add printout of all supported ext_features to phy info
Dmitry Lebed [Fri, 30 Mar 2018 20:45:09 +0000 (23:45 +0300)] 
iw: add printout of all supported ext_features to phy info

Signed-off-by: Dmitry Lebed <lebed.dmitry@gmail.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
6 years agoiw: update nl80211.h
Johannes Berg [Thu, 19 Apr 2018 15:11:16 +0000 (17:11 +0200)] 
iw: update nl80211.h

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
6 years agobump version to 4.14 v4.14
Johannes Berg [Thu, 4 Jan 2018 15:20:05 +0000 (16:20 +0100)] 
bump version to 4.14

This is a bit of a superset of 4.14, but maybe I want to
release 4.15 with the new things still WIP, and I need to
get a release out the door due to signature issues.