Andre Heider [Wed, 18 Jan 2023 13:24:38 +0000 (14:24 +0100)]
devices: add USB devices supported by the mt76 driver
A nice and stable working mainline driver deserves first class support,
and this adds all USB devices supported by it.
The PIDs/VIDs are taken directly from the driver, in the very same order
to make future syncs easy.
The single left out entry is the unknown 148f:760a.
Signed-off-by: Andre Heider <a.heider@gmail.com>
Andre Heider [Wed, 18 Jan 2023 13:24:37 +0000 (14:24 +0100)]
utils: skip comment lines when parsing devices.txt
Just a small optimization, skip the line early if it starts with a #.
Signed-off-by: Andre Heider <a.heider@gmail.com>
Andre Heider [Wed, 18 Jan 2023 13:24:36 +0000 (14:24 +0100)]
cli: describe USB devices as such
This makes it clear if the hardware is embedded or usb/pci based.
Signed-off-by: Andre Heider <a.heider@gmail.com>
Andre Heider [Wed, 18 Jan 2023 13:24:35 +0000 (14:24 +0100)]
devices: add MediaTek MT7628 card
This adds the single missing compatible supported by the mt76 driver,
which is used by a bunch of ramips mt7628an devices.
Signed-off-by: Andre Heider <a.heider@gmail.com>
Jo-Philipp Wich [Mon, 9 Jan 2023 19:49:53 +0000 (20:49 +0100)]
devices: add support for declaring compatible matched devices
Some device have embedded wifi card that are not connected with usb or
internall with pci. Such device have fake device_id and only the
vendor_id actually reflect something real but internally they don't have
any id and are just matched by the node compatible binding in DT.
We currently match this with a big if-else to match the single devices
but this can be improved and be matched directly in devices.txt
Rework this so that we can drop the big if-else and move the matching
to devices.txt
When a device is matched using compatible in iwinfo the hardware will be
flagged as embedded and won't print empty ids.
Update devices.txt by migrating all the compatible matching device from
fake id to compatible matching.
Tested-by: Christian Marangi <ansuelsmth@gmail.com> # ipq4019
Co-developed-by: Christian Marangi <ansuelsmth@gmail.com>
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Tested-by: Robert Marko <robimarko@gmail.com> # ipq8074
Reviewed-by: Andre Heider <a.heider@gmail.com>
Robert Marko [Fri, 6 Jan 2023 16:33:55 +0000 (17:33 +0100)]
devices: add Qualcomm Atheros QCN6024/9024/9074 cards
Add Qualcomm Atheros QCN6024/9024/9074 PCI ID, they all are compatible and
use the same ID.
Signed-off-by: Robert Marko <robimarko@gmail.com>
Robert Marko [Fri, 6 Jan 2023 09:56:54 +0000 (10:56 +0100)]
iwinfo: devices: add Qualcomm Atheros IPQ8074 WiSoC
Add detection of the Qualcomm Atheros IPQ8074 WiSoC using the compatible
string from device tree.
Signed-off-by: Robert Marko <robimarko@gmail.com>
Andre Heider [Mon, 21 Nov 2022 10:22:15 +0000 (11:22 +0100)]
cli: print current HT mode
This was present in the ubus call provided by rpcd, but not the cli.
Signed-off-by: Andre Heider <a.heider@gmail.com>
Andre Heider [Mon, 21 Nov 2022 09:58:14 +0000 (10:58 +0100)]
cli: use IWINFO_HTMODE_COUNT
ARRAY_SIZE works too, but just the sake of consistency.
Signed-off-by: Andre Heider <a.heider@gmail.com>
Andre Heider [Mon, 21 Nov 2022 09:12:27 +0000 (10:12 +0100)]
cli: use IWINFO_KMGMT_NAMES
There's no need to duplicate the strings or even miss new ones.
Signed-off-by: Andre Heider <a.heider@gmail.com>
Andre Heider [Mon, 21 Nov 2022 08:59:09 +0000 (09:59 +0100)]
cli: use IWINFO_CIPHER_NAMES
There's no need to duplicate the strings or even miss new ones.
Signed-off-by: Andre Heider <a.heider@gmail.com>
Andre Heider [Mon, 21 Nov 2022 17:56:38 +0000 (18:56 +0100)]
cli: fix printing the scan channel width
The "chan_width" var contains an index, not a value.
While at it, make the 40 and 2040 description shorter and clearer.
Signed-off-by: Andre Heider <a.heider@gmail.com>
Andre Heider [Thu, 17 Nov 2022 20:59:46 +0000 (21:59 +0100)]
cli: fix marking the active channel
Match by frequency and not by channel as the radio might have the same
channel on multiple bands:
$ iwinfo radio0 freqlist
[snip]
* 2.432 GHz (Channel 5)
[snip]
* 5.975 GHz (Channel 5)
[snip]
Signed-off-by: Andre Heider <a.heider@gmail.com>
Andre Heider [Tue, 22 Nov 2022 08:39:12 +0000 (09:39 +0100)]
utils: add iwinfo_band2ghz() and iwinfo_ghz2band() helpers
To classify bands, to be used as ubus values.
Signed-off-by: Andre Heider <a.heider@gmail.com>
Andre Heider [Tue, 22 Nov 2022 08:45:23 +0000 (09:45 +0100)]
utils: add helper functions to get names by values
Some defines/enums use bits, while some functions only set a single one.
Make it less painful to get to a name for those.
This avoids hardcoding bit lists for consumers.
Signed-off-by: Andre Heider <a.heider@gmail.com>
Andre Heider [Mon, 21 Nov 2022 16:50:09 +0000 (17:50 +0100)]
utils: add iwinfo_htmode_is_{ht|vht|he} helpers
Small and useful functions which allow to clear up some consumers.
Signed-off-by: Andre Heider <a.heider@gmail.com>
Andre Heider [Mon, 21 Nov 2022 16:27:20 +0000 (17:27 +0100)]
utils: add and use iwinfo_format_hwmodes()
Unify how hwmodes are displayed, e.g.:
"802.11ac/ax/b/g/n" instead of "802.11bgnacax".
Luci currently uses a natural sort order, but that probably doesn't work
as intended once "be" is added, so let's do this here.
Signed-off-by: Andre Heider <a.heider@gmail.com>
Andre Heider [Mon, 21 Nov 2022 16:26:19 +0000 (17:26 +0100)]
lib: add IWINFO_80211_COUNT and IWINFO_80211_NAMES
The same as with the other defines/enums which allow consumers to
iterate over all known ones.
Signed-off-by: Andre Heider <a.heider@gmail.com>
Andre Heider [Mon, 21 Nov 2022 12:50:16 +0000 (13:50 +0100)]
lib: add IWINFO_BAND_COUNT and IWINFO_BAND_NAMES
Signed-off-by: Andre Heider <a.heider@gmail.com>
Andre Heider [Mon, 21 Nov 2022 08:49:05 +0000 (09:49 +0100)]
lib: use common IWINFO_CIPHER_NAMES strings
Use a hyphen for the WEP cipher names, just as the others. Not that
anyone cares anymore, but this let's us use this array instead of
everyone fixing it up on their own.
Signed-off-by: Andre Heider <a.heider@gmail.com>
Andre Heider [Mon, 21 Nov 2022 09:11:13 +0000 (10:11 +0100)]
lib: add IWINFO_OPMODE_COUNT and use it for IWINFO_OPMODE_NAMES
Match the other string arrays, which allows us to consistently loop over them.
Signed-off-by: Andre Heider <a.heider@gmail.com>
Andre Heider [Mon, 21 Nov 2022 09:07:37 +0000 (10:07 +0100)]
lib: constify and fixup the string array definitions
Match their declarations as per the header.
Signed-off-by: Andre Heider <a.heider@gmail.com>
Andre Heider [Sun, 20 Nov 2022 15:52:42 +0000 (16:52 +0100)]
nl80211: mark frequencies where HE operation in not allowed
Repurpose the IWINFO_FREQ_NO_2160MHZ define for that, which was
introduced but never used. nl80211 doesn't have such a flag either.
Signed-off-by: Andre Heider <a.heider@gmail.com>
Andre Heider [Fri, 18 Nov 2022 11:14:47 +0000 (12:14 +0100)]
nl80211: add support for HE htmodes
Query hostapd or wpa_supplicant to determine if 802.11ax is enabled.
Signed-off-by: Andre Heider <a.heider@gmail.com>
Andre Heider [Fri, 18 Nov 2022 11:12:09 +0000 (12:12 +0100)]
nl80211: properly get available bands for the hwmode
Just use the already provided info instead of mapping frequencies.
Fixes mapping lower frequencies of the 6G band, which starts at 5935MHz.
Signed-off-by: Andre Heider <a.heider@gmail.com>
Andre Heider [Sun, 20 Nov 2022 21:48:23 +0000 (22:48 +0100)]
nl80211: update the kernel header nl80211.h
Required for NL80211_BAND_6GHZ and NL80211_FREQUENCY_ATTR_NO_HE.
Taken from the v5.15.74 release, which is the current version of the
used mac80211 package.
Signed-off-by: Andre Heider <a.heider@gmail.com>
Andre Heider [Thu, 17 Nov 2022 20:02:16 +0000 (21:02 +0100)]
nl80211: fix frequency/channel conversion for the 6G band
Update using current linux sources, which this was apparently
based on.
Signed-off-by: Andre Heider <a.heider@gmail.com>
[don't fail if no ieee80211ax option is present]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Andre Heider [Tue, 15 Nov 2022 13:12:41 +0000 (14:12 +0100)]
nl80211: don't guess if a name is an ifname
It's too slow to do it all over again and again, especially with e.g.
luci constantly polling.
Before:
$ time iwinfo phy0 info
real 0m 0.54s
$ time iwinfo radio0 info
real 0m 0.70s
$ time ubus call luci-rpc getWirelessDevices
real 0m 0.67s
After:
$ time iwinfo phy0 info
real 0m 0.04s
$ time iwinfo radio0 info
real 0m 0.09s
$ time ubus call luci-rpc getWirelessDevices
real 0m 0.17s
Signed-off-by: Andre Heider <a.heider@gmail.com>
Andre Heider [Sun, 13 Nov 2022 14:39:27 +0000 (15:39 +0100)]
devices: add usb device MediaTek MT7921AU
Add USB PID/VID as found on e.g. Comfast CF-953AX.
Signed-off-by: Andre Heider <a.heider@gmail.com>
[rebase onto current master]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Thu, 15 Dec 2022 19:45:20 +0000 (20:45 +0100)]
nl80211: add ability to describe USB devices
Treat USB vendor and product IDs like PCI subsystem vendor and device IDs
respectively to allow describing USB devices as `0000 0000 $vid $pid` in
the hardware database.
As a side effect, this also skips potentially expensive MTD lookups on
embedded devices with plugged in USB radios.
With a 5.15 kernel, such MTD lookups even spam dmesg with:
mtdblock: MTD device 'factory' is NAND, please consider using UBI block devices instead.
This fix speeds up iwinfo considerably on affected systems:
Before:
sys 0m 3.56s
After:
sys 0m 0.09s
Suggested-by: Andre Heider <a.heider@gmail.com>
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Andre Heider [Sun, 20 Nov 2022 16:45:11 +0000 (17:45 +0100)]
nl80211: remove ancient wpa_supplicant ctrl socket path
This isn't required nor used anymore, and it's been +8 years.
See
"
735a03be: iwinfo: adjust for changed wpa_supplicant control socket path"
on the main repository.
Signed-off-by: Andre Heider <a.heider@gmail.com>
Andre Heider [Sun, 13 Nov 2022 20:11:06 +0000 (21:11 +0100)]
nl80211: fix wpa supplicant ctrl socket permissions
No data at all can currently be read from the control socket.
Set up the permission exactly like hostapd's wpa_cli utility to fix it.
Among other this fixes a mesh's encryption being shown as "None".
Signed-off-by: Andre Heider <a.heider@gmail.com>
Andre Heider [Wed, 23 Nov 2022 13:43:13 +0000 (14:43 +0100)]
fix -Wdangling-else warnings
It's less confusing with braces.
Signed-off-by: Andre Heider <a.heider@gmail.com>
Andre Heider [Wed, 23 Nov 2022 13:40:24 +0000 (14:40 +0100)]
fix -Wreturn-type warning
The function doesn't return anything nor does any caller expect
anything.
Signed-off-by: Andre Heider <a.heider@gmail.com>
Andre Heider [Wed, 23 Nov 2022 13:38:37 +0000 (14:38 +0100)]
fix -Wpointer-sign warning
sb.ssid is buf casted to unsigned char, just use that instead of casting
it back.
Signed-off-by: Andre Heider <a.heider@gmail.com>
Andre Heider [Wed, 23 Nov 2022 13:26:41 +0000 (14:26 +0100)]
fix -Wmaybe-uninitialized warning
All previous cases not hit, which means no scan was possible.
Indicate that.
Signed-off-by: Andre Heider <a.heider@gmail.com>
Andre Heider [Wed, 23 Nov 2022 13:15:08 +0000 (14:15 +0100)]
fix -Wunused-variable warnings
Remove them.
Signed-off-by: Andre Heider <a.heider@gmail.com>
Andre Heider [Wed, 23 Nov 2022 13:11:58 +0000 (14:11 +0100)]
fix -Wduplicate-decl-specifier warnings
include/iwinfo.h:209:19: warning: duplicate 'const' declaration specifier [-Wduplicate-decl-specifier]
209 | static const char const *ht_secondary_offset[4] = {
| ^~~~~
Constify and move the offenders out of the header.
Signed-off-by: Andre Heider <a.heider@gmail.com>
Andre Heider [Fri, 18 Nov 2022 11:29:44 +0000 (12:29 +0100)]
fix -Wformat-truncation warnings
Increase buffer sizes to get rid of e.g.:
iwinfo_nl80211.c:797:41: note: 'snprintf' output between 24 and 279 bytes into a destination of size 64
Signed-off-by: Andre Heider <a.heider@gmail.com>
Andre Heider [Wed, 23 Nov 2022 13:11:31 +0000 (14:11 +0100)]
enable useful compiler warnings via -Wall
There's no reason not to.
Signed-off-by: Andre Heider <a.heider@gmail.com>
Joerg Werner [Sun, 28 Aug 2022 15:21:20 +0000 (17:21 +0200)]
Correctly identify key management algorithms starting with "FT-"
Correctly categorize FT-EAP-SHA384 as WPA3
Signed-off-by: Joerg Werner <schreibubi@gmail.com>
Felix Fietkau [Fri, 14 Oct 2022 08:59:07 +0000 (10:59 +0200)]
nl80211: fix issues with renamed wiphy and multiple phy per device
Remove the assumption that phy names follow the format phy%d and instead look
up the phy index from sysfs properly
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Felix Fietkau [Thu, 22 Sep 2022 12:39:43 +0000 (14:39 +0200)]
nl80211: look up the phy name instead of assuming name == phy<idx>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Felix Fietkau [Thu, 22 Sep 2022 12:22:57 +0000 (14:22 +0200)]
nl80211: fix phy/netdev index lookup
Don't assume a fixed naming pattern. Check all options in this order:
- netdev
- phy name
- wifi device in uci
Use the first one that matches
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Felix Fietkau [Thu, 22 Sep 2022 11:28:57 +0000 (13:28 +0200)]
nl80211: allow phy names that don't start with 'phy'
This is needed for dealing with wiphy renaming
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Felix Fietkau [Thu, 22 Sep 2022 11:20:15 +0000 (13:20 +0200)]
ops: make support for wireless extensions optional
It is usually not needed anymore and only wastes space
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Daniel Golle [Mon, 25 Jul 2022 02:17:44 +0000 (04:17 +0200)]
devices: add MediaTek MT7986 WiSoC
Add detection of the MediaTek MT7986 WiSoC using the compatible string
from device tree.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Joerg Werner [Fri, 19 Aug 2022 09:06:22 +0000 (11:06 +0200)]
Add support for CCMP-256 and GCMP-256 ciphers
Signed-off-by: Joerg Werner <schreibubi@gmail.com>
Tjeu Kayim [Thu, 28 Jul 2022 08:47:09 +0000 (10:47 +0200)]
iwinfo: Add missing auth_suites mappings for WPA3
`iwinfo.h` says:
#define IWINFO_KMGMT_COUNT 5
...
extern const char *IWINFO_KMGMT_NAMES[IWINFO_KMGMT_COUNT];
Though only only 3 items are defined. The other two were forgotten
when adding WPA3 support. The `auth_suites` table exposed via Lua
never included the items "SAE" and "OWE" until this commit.
Fixes: f8ef45065207 ("iwinfo: Add support for WPA3")
Signed-off-by: Tjeu Kayim <15987676+TjeuKayim@users.noreply.github.com>
David Bauer [Mon, 25 Apr 2022 23:53:51 +0000 (01:53 +0200)]
iwinfo: nl80211: omit A-hwmode on non-5GHz hardware
Don't add the hwmode A for radios which do not support 5GHz operation.
Before, this hwmode was added to all non-VHT radios regardless of their
supported bands.
Fixes commit
562d01532616 ("iwinfo: nl80211: fix hwmode parsing for multi-band NICs")
Signed-off-by: David Bauer <mail@david-bauer.net>
David Bauer [Sun, 24 Apr 2022 21:04:57 +0000 (23:04 +0200)]
devices: remove whitespace
Signed-off-by: David Bauer <mail@david-bauer.net>
David Bauer [Fri, 22 Apr 2022 21:56:35 +0000 (23:56 +0200)]
iwinfo: nl80211: fix hwmode parsing for multi-band NICs
In case a NIC supports multiple frequency bands, the supported
hw-modelist might not contain all valid hwmodes, as B/G/AD hwmodes are
only included based on the last parsed supported frequency.
In case a radio supports multiple bands, this might result in these
hwmodes not being flagged as supported.
Circumvent this by tracking all seen frequency bands using a bitmask
which later determined which HW modes are listed as supported.
Signed-off-by: David Bauer <mail@david-bauer.net>
Hauke Mehrtens [Sun, 16 Jan 2022 19:47:30 +0000 (20:47 +0100)]
devices: Add Cypress CYW43455
This adds the Cypress CYW43455. This device was found on the Raspberry Pi 4.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
David Bauer [Thu, 6 Jan 2022 01:13:37 +0000 (02:13 +0100)]
devices: fix AMD RZ608 format
Signed-off-by: David Bauer <mail@david-bauer.net>
David Bauer [Sun, 2 Jan 2022 01:32:58 +0000 (02:32 +0100)]
devices: add AMD RZ608 device-id
Signed-off-by: David Bauer <mail@david-bauer.net>
Jo-Philipp Wich [Sun, 11 Jul 2021 13:56:35 +0000 (15:56 +0200)]
iwinfo: rename hardware.txt to devices.txt
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Felix Fietkau [Mon, 28 Jun 2021 13:30:28 +0000 (15:30 +0200)]
nl80211: fix path compatibility issue
The previous shell script implementation accepted shorter path values
that omitted initial parts before the pcie bus node by only checking if
the configured path is included in the determined path
Add support for doing the same thing here
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Felix Fietkau [Wed, 9 Jun 2021 20:12:08 +0000 (22:12 +0200)]
iwinfo: nl80211: fix typo
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Felix Fietkau [Wed, 9 Jun 2021 12:21:51 +0000 (14:21 +0200)]
iwinfo: nl80211: support looking up phy by path=.. and macaddr=...
Can be used from within mac80211.sh without the need to reference the uci
config directly
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Felix Fietkau [Wed, 9 Jun 2021 12:03:29 +0000 (14:03 +0200)]
iwinfo: nl80211: use new path lookup function for nl80211_phy_idx_from_uci_path
Fixes issues with multiple phy instances of one device
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Felix Fietkau [Wed, 9 Jun 2021 11:57:23 +0000 (13:57 +0200)]
iwinfo: nl80211: add support for printing the device path for a phy
Will be used to replace the shell code from mac80211.sh
Signed-off-by: Felix Fietkau <nbd@nbd.name>
David Bauer [Sat, 17 Apr 2021 21:05:16 +0000 (23:05 +0200)]
iwinfo: add 802.11ax HE rate information
This adds 802.11ax HE specific rate information to iwinfo.
Add fields for HE status of a STA as well as DCM and guard interval
fields specific to HE operation.
Signed-off-by: David Bauer <mail@david-bauer.net>
David Bauer [Tue, 20 Apr 2021 00:22:38 +0000 (02:22 +0200)]
iwinfo: cli: fix hwmode formatting
The placeholder for the 802.11ax hwmode was missing.
Signed-off-by: David Bauer <mail@david-bauer.net>
David Bauer [Sun, 18 Apr 2021 23:38:15 +0000 (01:38 +0200)]
iwinfo: nl80211: perform split wiphy dump
Perform a split wiphy dump when acquiring the hw modelist of a mac80211
device. Otherwise HE capabilities are missing from the message.
This is necessary since upstream commit
f8d504caa ("nl80211: reduce
non-split wiphy dump size") (Kernel 5.9).
Signed-off-by: David Bauer <mail@david-bauer.net>
David Bauer [Thu, 17 Dec 2020 19:39:56 +0000 (20:39 +0100)]
iwinfo: add basic IEEE 802.11ax support
This adds basic support for IEEE 802.11ax when requesting HW or HT
Modelist for a PHY from iwinfo. This way, applications using iwinfo can
detect HE phys.
Signed-off-by: David Bauer <mail@david-bauer.net>
Stijn Segers [Sat, 30 Jan 2021 20:32:05 +0000 (21:32 +0100)]
iwinfo: add PCI ID for MediaTek MT7613BE
This adds the PCI ID for the MT7613BE series, found in e.g.
the TP-Link EAP235-Wall v1.
Signed-off-by: Stijn Segers <foss@volatilesystems.org>
Daniel Golle [Thu, 28 Jan 2021 22:34:42 +0000 (22:34 +0000)]
iwinfo: add hardware description for MediaTek MT7622
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Jo-Philipp Wich [Wed, 6 Jan 2021 22:12:46 +0000 (23:12 +0100)]
build: add ability to specify shared object version
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Ansuel Smith [Wed, 6 Jan 2021 04:54:57 +0000 (05:54 +0100)]
iwinfo: set center chan unsupported for not-nl80211 driver
Declare get_center_chan1 and get_center_chan2 not supported for not
nl80211 driver.
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
Ansuel Smith [Wed, 6 Jan 2021 03:05:37 +0000 (04:05 +0100)]
iwinfo: improve center channel handling
- Improve iwinfo center channel struct position
- Prevent read beyond buffer on malformed data
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
Daniel Golle [Wed, 6 Jan 2021 16:37:58 +0000 (16:37 +0000)]
iwinfo: add hardware description for QCA MIPS WiSoCs
Add description strings and detection logic for all 6
types of WiFi NICs integrated in QCA MIPS WiSoCs.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Daniel Golle [Tue, 5 Jan 2021 14:21:14 +0000 (14:21 +0000)]
iwinfo: add support for GCMP cipher
Extend support for WPA ciphers by GCMP which is required for 802.11ad.
Breaks ABI as ciphers now needs to be a field of 16 bits instead of 8.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Daniel Golle [Tue, 5 Jan 2021 15:09:40 +0000 (15:09 +0000)]
cli: account for additional digit for frequencies above 10GHz
When using 802.11ad, the frequency string will no longer fit in the
preallocated buffer of 10 bytes. In the best case this leads to the
'z' character being truncated in the CLI output:
Mode: Client Channel: 1 (58.320 GH)
Fix that by allocating a large enough buffer.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Ansuel Smith [Sun, 6 Dec 2020 01:11:16 +0000 (02:11 +0100)]
iwinfo: export center_chan info for local wifi
Iwinfo already export the htmode but there is no way to know where the
channel expan in case a 40Mhz+ channel width is used. Export the center
channels used by the driver to better know the channel utilizzation of
the wifi.
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
Ansuel Smith [Sun, 6 Dec 2020 01:11:15 +0000 (02:11 +0100)]
iwinfo: export ht and vht operation in scan results
Export ht and vht operation data in scan results. These additional data
can be usefull to check wifi channel utilizzation by neraby stations.
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
Daniel Golle [Tue, 5 Jan 2021 22:08:46 +0000 (22:08 +0000)]
iwinfo: detect QCA IPQ4019 WiSoC from FDT
As it's the most reliable and straight forward way on modern platforms,
detect the hardware ID by checking the 'compatible'-string of non-PCI
(ie. built-in) devices.
As this is only relevant for WiSoCs, there won't be that many records,
so it's not worth making any larger structural changes. Hence just
match the compatible string and translate it into fake PCI IDs.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
David Bauer [Sun, 13 Dec 2020 19:46:03 +0000 (20:46 +0100)]
hardware: add PCI ID for MediaTek MT7915
This adds the PCI-ID for the MT7915 series.
This PCI-ID was found on the Ubiquiti UniFi6 Lite Access Point.
Signed-off-by: David Bauer <mail@david-bauer.net>
Johann Neuhauser [Mon, 6 Apr 2020 21:58:43 +0000 (23:58 +0200)]
iwinfo: add device id for Mikrotik R11e-5HacD miniPCIe card
Lets add device id for Mikrotik R11e-5HacD miniPCIe card.
Signed-off-by: Johann Neuhauser <johann@it-neuhauser.de>
[added missing commit description]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Pali Rohár [Wed, 20 May 2020 12:33:05 +0000 (14:33 +0200)]
iwinfo: add device id for Marvell 88W8997 SDIO wifi card
Lets add device id for Marvell 88W8997 SDIO wifi card.
Signed-off-by: Pali Rohár <pali@kernel.org>
[added missing commit description]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Pali Rohár [Wed, 20 May 2020 12:31:46 +0000 (14:31 +0200)]
iwinfo: add device id for Atheros AR9287 PCIe wifi card
This card is identified by lspci as:
01:00.0 Network controller [0280]: Qualcomm Atheros AR9287 Wireless Network Adapter (PCI-Express) [168c:002e] (rev 01)
Subsystem: Qualcomm Atheros Device [168c:30a4]
Signed-off-by: Pali Rohár <pali@kernel.org>
David Bauer [Sun, 22 Mar 2020 00:01:26 +0000 (01:01 +0100)]
iwinfo: add missing HT modename for HT-None
Commit
bf2c1069a7f1 ("nl80211: add htmode to iwinfo_ops") increased
IWINFO_HTMODE_COUNT but left the size of the IWINFO_HTMODE_NAMES array
untouched, leading to a segmentation fault when trying to get the HT
modelist from Lua.
Add a dummy NOHT modestring to make the array size fit the size
declaration.
Fixes: bf2c1069a7f1 ("nl80211: add htmode to iwinfo_ops")
Signed-off-by: David Bauer <mail@david-bauer.net>
David Bauer [Sun, 22 Mar 2020 00:05:03 +0000 (01:05 +0100)]
Revert "iwinfo: add BSS load element to scan result"
This reverts commit
a6914dc0dc3cba65e245fbe40076626ea2bcd5a3.
iwinfo currently misses ABI version tracking in OpenWrt, potentially
breaking other packages unintentionally.
Revert this commit for now until this is implemented.
Otherwise, we are not able to safely bump iwinfo at the moment.
Signed-off-by: David Bauer <mail@david-bauer.net>
Robert Marko [Thu, 30 Jan 2020 21:47:29 +0000 (22:47 +0100)]
iwinfo: add device id for Qualcomm Atheros QCA9990
Lets add the PCI ID for QCA9990
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
David Bauer [Tue, 4 Feb 2020 13:49:04 +0000 (14:49 +0100)]
iwinfo: add device id for BCM43602
Signed-off-by: David Bauer <mail@david-bauer.net>
David Bauer [Fri, 31 Jan 2020 13:45:03 +0000 (14:45 +0100)]
iwinfo: add BSS load element to scan result
This adds support for the BSS load information element. With this patch,
the BSS load information is visible when using the CLI as well as when
accessing scan results using the LUA binding.
Signed-off-by: David Bauer <mail@david-bauer.net>
Pawel Dembicki [Tue, 28 Jan 2020 21:16:44 +0000 (22:16 +0100)]
iwinfo: add device id for Atheros AR9287
Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Pawel Dembicki [Tue, 28 Jan 2020 21:16:43 +0000 (22:16 +0100)]
iwinfo: add device id for MediaTek MT7615E
Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Daniel Danzberger [Thu, 19 Dec 2019 14:41:24 +0000 (15:41 +0100)]
nl80211: add htmode to iwinfo_ops
This callback shows the currently active HTMODE of the device.
Signed-off-by: Daniel Danzberger <daniel@dd-wrt.com>
Jo-Philipp Wich [Tue, 26 Nov 2019 07:39:23 +0000 (08:39 +0100)]
nl80211: properly handle netdev names starting with "radio"
This fixes VAPs not being queried correctly when the netdev name starts
with "radio".
Fixes: FS#2629
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Signed-off-by: David Bauer <mail@david-bauer.net>
Tomislav Požega [Fri, 1 Nov 2019 14:18:35 +0000 (15:18 +0100)]
iwinfo: add several QC/A device ids
Add device ids for AR9462, QCA9862, QCA9880 v1 mPCIe cards and
Ubiquiti branded QCA9880 v2 PCI wifi found in LiteBeam 5ac.
Signed-off-by: Tomislav Požega <pozega.tomislav@gmail.com>
Jo-Philipp Wich [Wed, 16 Oct 2019 14:40:41 +0000 (16:40 +0200)]
nl80211: handle hidden SSIDs in wpa_supplicant scan results
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Wed, 16 Oct 2019 14:01:55 +0000 (16:01 +0200)]
lua: fix string description of mixed WPA3 modes
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Tue, 15 Oct 2019 12:21:38 +0000 (14:21 +0200)]
nl80211: align path to phy mapping logic with mac80211.sh
The mac80211.sh implementation of the uci "path" option compares the
readlink() results of each /sys/class/ieee80211/*/device link to find
the proper phy directory while iwinfo so far tried to construct a full
path out of the uci value.
The iwinfo approach appears to fail under certain circumstances, e.g.
with Hyper-V systems utilizing PCI passthrough for the radio devices.
This commit mimicks the behaviour of mac80211.sh more closely to
achieve the same results.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Mon, 30 Sep 2019 10:09:26 +0000 (12:09 +0200)]
nl80211: recognize SAE encrypted mesh
Also report open Ad-Hoc and Mesh network encryption as "none" and
not as "unknown".
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Sun, 22 Sep 2019 16:28:40 +0000 (18:28 +0200)]
nl80211: keep awaiting wpa_supplicant scan results on busy response
When wpa_supplicant responds with FAIL-BUSY in response to the SCAN
command, a scan process is already in process. Instead of failing in
this case, simply keep awaiting the result list.
This also significantly speeds up the scan operation in many cases.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Sun, 22 Sep 2019 15:58:03 +0000 (17:58 +0200)]
nl80211: fix parsing of mixed wpa encryption in wpa_supp scan results
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Sun, 22 Sep 2019 15:35:33 +0000 (17:35 +0200)]
utils: support parsing SAE and OWE key management suites from IEs
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Fri, 20 Sep 2019 06:55:37 +0000 (08:55 +0200)]
cli: fix reporting of mixed WPA2/WPA3 versions
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Fri, 20 Sep 2019 07:07:23 +0000 (09:07 +0200)]
nl80211: properly detect WEP encryption in wpa_supp scan results
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Fri, 20 Sep 2019 10:57:16 +0000 (12:57 +0200)]
nl80211: do not confuse open connections with WEP ones
Signed-off-by: Jo-Philipp Wich <jo@mein.io>