thirdparty/iw.git
3 weeks agoiw: print HE capabilities master
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>
3 weeks 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>
3 weeks 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>
3 weeks 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>
3 weeks 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>
3 weeks 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>
3 weeks 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>
3 weeks 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>
3 weeks 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>
3 weeks 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>
3 weeks 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>
3 weeks 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>
3 weeks 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>
3 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
2 months 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

3 months 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>
3 months 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>
3 months 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>
3 months 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>
3 months 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>
3 months 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>
4 months 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>
4 months 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>
4 months 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>
4 months 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>
4 months 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>
4 months 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>
4 months 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>
4 months 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 months 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>
6 months 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>
6 months 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>
6 months 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>
7 months 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>
8 months 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>
8 months 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>
8 months 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>
8 months 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>
8 months 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>
8 months 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>
8 months 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>
8 months 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>
8 months 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>
8 months 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>
8 months 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>
8 months 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>
8 months 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>
8 months 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>
8 months 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>
9 months 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>
9 months 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>
9 months 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>
10 months 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>
10 months 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>
10 months 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>
12 months 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>
12 months 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>
12 months 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>
13 months 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>
13 months 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>
13 months 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>
13 months 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>
13 months 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>
14 months 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>
14 months 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>
17 months 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.

17 months agoupdate nl80211.h
Johannes Berg [Thu, 4 Jan 2018 15:19:57 +0000 (16:19 +0100)]
update nl80211.h

17 months agoutil: update command list
Johannes Berg [Thu, 4 Jan 2018 15:19:46 +0000 (16:19 +0100)]
util: update command list

18 months agoocb: Use common freqchan helper for setting the operating channel
Peter Große [Wed, 13 Dec 2017 12:58:40 +0000 (13:58 +0100)]
ocb: Use common freqchan helper for setting the operating channel

Simplify code by using the helper which has been introduced earlier.

Signed-off-by: Peter Große <pegro@friiks.de>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
18 months agoiw: add support for mfp
Emmanuel Grumbach [Thu, 10 Aug 2017 07:50:30 +0000 (10:50 +0300)]
iw: add support for mfp

Allow to add a paramater to require MFP in the connect command.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
18 months agoiw: ap: don't return -EPERM
Johannes Berg [Thu, 26 Jan 2017 09:19:20 +0000 (10:19 +0100)]
iw: ap: don't return -EPERM

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
18 months agoiw: ap: support hidden/zeroed SSID
Johannes Berg [Wed, 25 Jan 2017 16:15:47 +0000 (17:15 +0100)]
iw: ap: support hidden/zeroed SSID

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
18 months agoiw: ap: add support for passing a proper chandef
Shaul Triebitz [Thu, 19 Jan 2017 11:51:31 +0000 (13:51 +0200)]
iw: ap: add support for passing a proper chandef

While at it, also fix some minor things in the help.

Signed-off-by: Shaul Triebitz <shaul.triebitz@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
18 months agoiw: Add support for start/stop AP
Ilan Peer [Sun, 4 Sep 2016 14:02:35 +0000 (17:02 +0300)]
iw: Add support for start/stop AP

The beacon head (mandatory) and tail should be provided as part of the
AP start command.

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
18 months agoiw: print missing extended capabilities
Shahar S Matityahu [Sun, 4 Sep 2016 13:09:44 +0000 (16:09 +0300)]
iw: print missing extended capabilities

The extended capabilities IE needs to know if the ap is a VHT STA
and because of that a 'struct print_ies_data' was added to contain
the original ie buffer.

Signed-off-by: Shahar S Matityahu <shahar.s.matityahu@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
18 months agoiw: allow CCMP-128/GCMP-128 as CCMP/GCMP aliases
Johannes Berg [Wed, 17 Aug 2016 08:28:02 +0000 (10:28 +0200)]
iw: allow CCMP-128/GCMP-128 as CCMP/GCMP aliases

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
18 months agoiw: add support for WPA2 PSK CCMP / GCMP association
Emmanuel Grumbach [Wed, 27 Jul 2016 18:25:10 +0000 (21:25 +0300)]
iw: add support for WPA2 PSK CCMP / GCMP association

If the driver advertises
NL80211_EXT_FEATURE_4WAY_HANDSHAKE_OFFLOAD_STA, we can
pass the PMK and let it do the 4way.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
[fix PSK -> PMK in attribute name]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
18 months agoupdate nl80211.h
Johannes Berg [Mon, 11 Dec 2017 12:23:25 +0000 (13:23 +0100)]
update nl80211.h

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
18 months agoiw: add command to register and dump mgmt frames
Sergey Matyukevich [Sat, 18 Nov 2017 18:20:52 +0000 (21:20 +0300)]
iw: add command to register and dump mgmt frames

Add debug command to receive and print selected management frames.
Frames are selected by their type and pattern containing the first
several bytes of the frame that should match.

Note that Linux wireless core does not support multiple listeners
for management frames. So this debug command can be used together
with hostapd or other wireless software only in the case if it
subscribes for different set of management frames.

Format:
$ iw dev <devname> frame <type> <pattern> [frame <type> <pattern>]* [count <frames>]

Example:
$ iw dev wlan0 mgmt dump frame 40 00 frame 40 01:02 count 10

Frame type is supplied as hex w/o leading 0x. Frame pattern is supplied
as hex pattern of the form aa:bb:cc w/o leading 0x as well.
Count is a number of frames to receive.

Signed-off-by: Sergey Matyukevich <sergey.matyukevich.os@quantenna.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
21 months agoiw: define SOL_NETLINK if it isn't
Johannes Berg [Thu, 7 Sep 2017 10:55:02 +0000 (12:55 +0200)]
iw: define SOL_NETLINK if it isn't

We need SOL_NETLINK but userspace headers don't always define it.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
21 months agoiw: add extack support
Johannes Berg [Thu, 13 Apr 2017 13:53:25 +0000 (15:53 +0200)]
iw: add extack support

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2 years agoupdate nl80211.h
Johannes Berg [Thu, 16 Mar 2017 09:58:57 +0000 (10:58 +0100)]
update nl80211.h

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2 years agoiw: Fix bitrate output when no rate info found
Masashi Honma [Tue, 14 Feb 2017 09:38:58 +0000 (18:38 +0900)]
iw: Fix bitrate output when no rate info found

Previously, bitrate showed uninitialized buffer when no rate info found.
This patch fixes the issue.

Signed-off-by: Masashi Honma <masashi.honma@gmail.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2 years agoiw: parse_freqs: check how many center frequencies to expect
Johannes Berg [Thu, 26 Jan 2017 09:20:08 +0000 (10:20 +0100)]
iw: parse_freqs: check how many center frequencies to expect

Instead of just plain assuming the next two integer arguments
are, if present, center frequencies, teach the code how many
are expected and check that they're actually present.

This makes it slightly better to use the parser before an int
argument, although it's still ambiguous due to the width.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2 years agoiw: split str_to_bw() from parse_freqs()
Johannes Berg [Wed, 25 Jan 2017 15:57:43 +0000 (16:57 +0100)]
iw: split str_to_bw() from parse_freqs()

This may be needed separately later, split it out now.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2 years agoPrint frequency of radar events.
Benjamin Berg [Mon, 7 Nov 2016 14:59:43 +0000 (15:59 +0100)]
Print frequency of radar events.

Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
Signed-off-by: Benjamin Berg <benjamin.berg@open-mesh.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2 years agoAdd commands to send CSA
Benjamin Berg [Mon, 7 Nov 2016 14:59:41 +0000 (15:59 +0100)]
Add commands to send CSA

Add a new set of commands to send a CSA. Both the number of beacons and the
flag to block TX can be given optionally.

Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
Signed-off-by: Benjamin Berg <benjamin.berg@open-mesh.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2 years agoAdd cac command to allow clearing channels
Benjamin Berg [Mon, 7 Nov 2016 14:59:40 +0000 (15:59 +0100)]
Add cac command to allow clearing channels

Allow the user to start a CAC for clearing DFS channels.

Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
Signed-off-by: Benjamin Berg <benjamin.berg@open-mesh.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2 years agomesh: Use common freqchan helper for joining a mesh
Benjamin Berg [Mon, 7 Nov 2016 14:59:39 +0000 (15:59 +0100)]
mesh: Use common freqchan helper for joining a mesh

Simplify code by using the helper which has been introduced earlier.

Signed-off-by: Benjamin Berg <benjamin.berg@open-mesh.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2 years agoibss: Use common freqchan helper for joining an ibss
Benjamin Berg [Mon, 7 Nov 2016 14:59:38 +0000 (15:59 +0100)]
ibss: Use common freqchan helper for joining an ibss

Simplify code by using the helper which has been introduced earlier.

Signed-off-by: Benjamin Berg <benjamin.berg@open-mesh.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2 years agophy: Use common freqchan helper for setting the operating channel
Benjamin Berg [Mon, 7 Nov 2016 14:59:37 +0000 (15:59 +0100)]
phy: Use common freqchan helper for setting the operating channel

Simplify code by using the helper which has been introduced earlier.

Signed-off-by: Benjamin Berg <benjamin.berg@open-mesh.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2 years agoutil: Add generic frequency/channel command line handler
Benjamin Berg [Mon, 7 Nov 2016 14:59:36 +0000 (15:59 +0100)]
util: Add generic frequency/channel command line handler

The ability to parse channel definitions is required in a lot of places
inside iw. However, right now each of these duplicates a lot of code to
handle it.

So add a new helper which can be used everywhere.

Signed-off-by: Benjamin Berg <benjamin.berg@open-mesh.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2 years agoupdate version to 4.9 v4.9
Johannes Berg [Tue, 18 Oct 2016 05:46:20 +0000 (07:46 +0200)]
update version to 4.9

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2 years agoiw: nan: Add NAN interface type
Andrei Otcheretianski [Thu, 3 Sep 2015 11:13:17 +0000 (14:13 +0300)]
iw: nan: Add NAN interface type

Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2 years agoiw: add support for VHT MU-MIMO air sniffer
Aviya Erenfeld [Thu, 3 Dec 2015 10:11:31 +0000 (12:11 +0200)]
iw: add support for VHT MU-MIMO air sniffer

Add support for MU-MIMO air sniffer by extending the
"set monitor" command, adding two options:

mumimo-groupid: for MU-MIMO-monitoring according a given MU-MIMO
                groupID

mumimo-follow-mac: for MU-MIMO-monitoring a station according
                   to its MAC address

Signed-off-by: Aviya Erenfeld <aviya.erenfeld@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>