Commit Graph

51 Commits (477d1c540e1f507f4d9a5184f4305faa52c06ee0)

Author SHA1 Message Date
Michael Yartys 67174adc94 ath10k-ct: update to 2020-01-29
Changes:

ath10k-ct: Support better RSSI measurements.

When used with recent firmware, these changes allow the driver to
query per-chain noise-floor from the radio to better calculate the
per-chain RSSI. The per-chain RSSI is then summed to provide the
'combined RSSI'. This gives better per-chain RSSI as well as combined
RSSI, especially when running with more than 20Mhz bandwidths.

Refresh patches.

Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>  [ipq806x+qca9984,ipq4019+qca9986]
Signed-off-by: Michael Yartys <michael.yartys@protonmail.com>
2020-02-13 17:45:46 +01:00
Paul Fertser 1ac627024d kernel: ath10k-ct: provide a build variant for small RAM devices
According to many bugreports [0][1][2] the default ath10k-ct kernel
module is unusable on devices with just 64 MiB RAM or with 128 MiB and
dual ath10k cards. The target boards boot but eventually oom-killer
starts to interfere with normal operation, so the current state is
effectively broken.

Since the two patches in question have a performance impact (and
possibly some other unexpected side-effects) a dedicated build variant
is added so that users of the low RAM devices can still benefit from all
the ath10k-ct advantages.

According to testing [3] results, the issue can be experienced even with
"a 256MB device with three radios". Measured performance impact of
implementing small buffers was lowering "the maximum 5 GHz throughput on
an IPQ40xx device without RPS/XPS optimizations from 494/432 Mbit/s for
TCP transfers (download/upload) to 438/343 Mbit/s"

The patches were apparently inspired by QSDK tweaks used by ODMs for the
affected devices.

[0] http://lists.infradead.org/pipermail/openwrt-devel/2019-December/020573.html
[1] https://github.com/openwrt/openwrt/pull/1077
[2] https://bugs.openwrt.org/index.php?do=details&task_id=2664
[3] https://github.com/freifunk-gluon/gluon/pull/1440#issue-195607701

Signed-off-by: Paul Fertser <fercerpav@gmail.com>
[Remove double CONFIG_ATH10K-CT_LEDS entry]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2019-12-24 00:56:51 +01:00
Robert Marko 3fe30b28ae ath10k-ct: update to version 2019-09-09
Update the ath10k-ct driver version to 5e8cd86f90dac966d12df6ece84ac41458d0e95f
to enable dynamic VLANs to work. Patches refreshed during the bump.

Signed-off-by: Robert Marko <robimarko@gmail.com>
[commit description facelift]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2019-09-15 22:56:09 +02:00
Christian Lamparter e9d875a537 ath10k-ct: update to HEAD of 2019-08-14 - 9e5ab2
Update ath10k-ct to commit 9e5ab25027e0971fa24ccf93373324c08c4e992d

git log --pretty=oneline --abbrev-commit f0aa8130..9e5ab250

9e5ab25 ath10k-ct:  Update to latest 5.2 upstream, support bigger mtu, 160Mhz

Created with the help of the make-package-update-commit.sh script
and refresh patches.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2019-08-24 23:22:10 +02:00
Hauke Mehrtens 9c0c1c4401 ath10k-ct: Revert back to version 4.19
Version 5.2 shows a error when registering the devive for me.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2019-07-18 00:22:04 +02:00
Hauke Mehrtens bc5b2bcd9c ath10k-ct: switch to version 5.2
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2019-07-18 00:22:04 +02:00
Hauke Mehrtens 8f61b4cac4 ath10k-ct: update to version 2019-06-13
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2019-07-18 00:22:04 +02:00
Kevin Darbyshire-Bryant 49b3dcb2ab ath10k-ct: Update to 2019-06-13
Changes:

ath10k:  Improve PMF/MPF mgt frame check

And add a driver for 5.2 (beta, not even tested yet) kernel.

Refresh patches.

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2019-06-13 19:35:19 +01:00
Robert Marko 671d8752d1 ath10k-ct: Update to current version
This patch updates ath10k-ct to current version.
Changes are:
     ath10k-ct:  Fix printing PN in peer stats.

     Previous logic was incorrect.  Also add set-special API to enable
     returning PN.

Patches refreshed and tested on 8devices Jalapeno dev board(IPQ4019)

Signed-off-by: Robert Marko <robimarko@gmail.com>
2019-05-11 16:37:11 +02:00
Koen Vandeputte 6afe175e5e ath10k-ct: Update to 2019-04-08
9cd701a4f028 ath10k-ct:  Add PN get/set API for wave-2 firmware.
5c8a4668323b ath10k-ct:  Support over-riding the power ctl table in eeprom
75e2705f31bb ath10k-ct:  CCA, eeprom, other changes.
a696e602a0fc ath10k-ct:  Attempt to fix-out-of-tree compile for 4.16
a2aec62262df ath10k:  Improve beacon tx status for 4.20 kernel.
be5c21a82b15 ath10k-ct:  Fix out-of-tree compile for 4.20, pull in stable changes for 4.19

Fixes compile errors when using the 4.20 flavour.
Also the amount of beacon errors seems to have dropped.

Tested on a Mikrotik RB912UAGS-5HPacD

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2019-04-23 13:22:31 +02:00
Christian Lamparter 616ec4365c ath10k-ct: Update to 2019-03-25
2e917efb607f ath10k: Add slow-pci bus work-around, sw-crypt blockack support.
cc73ceb0dbc7 ath10k: Fix out-of-tree compile for 4.16 driver.
4b3cf7c20972 ath10k: Improve tx-status reporting.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2019-03-25 21:19:40 +01:00
Michael Yartys 5c83f27ac5 ath10k-ct: Update to 2019-02-28
9360f389234a ath10k: Support up to 24 vAP per radio, fix DMA bug in wave-1.
9cbf8d430974 ath10k-ct: Add 4.20 driver, SGI support for fixed-rate tx.

Runtime tested on: ipq806x

Signed-off-by: Michael Yartys <michael.yartys@gmail.com>
2019-03-06 21:58:59 +01:00
Sven Eckelmann ba249bc955 ath10k-ct: fix incorrect multicast/broadcast rate setting
If no mcast_rate is set for the wifi-iface then there is no rate_idx (0)
set for the bss. This can break for example 5GHz meshpoint interfaces
because 0 maps to a CCK rate (11Mbit/s).

It must also be avoided that the ath10k-ct internal state for the rates is
not synced with the mac80211 rates state. Otherwise, the user specified
rate (e.g. a wifi-iface mcast_rate for a meshpoint interface) will only be
set on startup. And a short while after that, ath10k-ct specific code in
ath10k_check_apply_special_rates is missing a valid rate in its own
structures and is then recalculating a new default rate. This default rate
is in most situations not the requested rate.

Fixes: 4df3c71cd4 ("ath10k-ct: Update to 2018-12-11 and use version based on 4.19")
Signed-off-by: Sven Eckelmann <sven@narfation.org>
2019-02-26 23:20:04 +01:00
Sven Eckelmann 835fc08ae3 ath10k-ct: support for management rate control
By default the firmware uses 1Mbps and 6Mbps rate for management packets
in 2G and 5G bands respectively. But when the user selects different
basic rates from the userspace, we need to send the management
packets at the lowest basic rate selected by the user.

This change makes use of WMI_VDEV_PARAM_MGMT_RATE param for configuring the
management packets rate to the firmware.

Signed-off-by: Sven Eckelmann <sven@narfation.org>
2019-02-11 19:02:41 +01:00
Robert Marko d0bf8f4fd6 ath10k-ct: Update to 2018-12-20
This version removes a lot of unusefull warnings that would quickly overflow the dmesg.
Warnings like this:
ath10k_ahb a800000.wifi: Invalid legacy rate 26 peer stats
ath10k_ahb a000000.wifi: Invalid VHT mcs 15 peer stats
On this version I only had 2 warnings at all.
Tested on 8devices Jalapeno.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2018-12-24 19:18:07 +01:00
Hauke Mehrtens 4df3c71cd4 ath10k-ct: Update to 2018-12-11 and use version based on 4.19
This updates the ath10k-ct driver to the version from 2018-12-11 and
selects the ath10k-ct version based on kernel 4.19 by default.

CONFIG_ATH10K_CE was introduced between kernel 4.16 and 4.19 and is a
mandatory option.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-12-15 15:25:23 +01:00
Robert Marko b1ab8fac5a ath10k-ct: Update to 29-09-2018
Update ath10k-ct to be able to drop 210-ath10k-fix-recent-bandwidth-conversion-bug.patch
as its upstream.

b9989fbd5d6e ath10k-ct: Add upstream patch to fix peer rate reporting.
ac9224344dbf ath10k-ct: Support sending custom frames with no-ack flag.
bc938bc2021e ath10k-ct: Support sending pkts with specific rate on 10.4 firmware.

Runtime tested on:
- GL-iNet GL-B1300
- Mikrotik RB912 + QCA9882

Signed-off-by: Robert Marko <robimarko@gmail.com>
[Added list of all changes from previous version + add own test device]
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2018-10-11 12:52:27 +02:00
Ansuel Smith 39a9620547 ath10k-ct: adds leds support
This rework and adds patch from ath10k source to make leds work also on candela source

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2018-09-28 22:47:21 +02:00
Hauke Mehrtens c662299bf9 ath10k-ct: update to version ath10k-4.16
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-09-26 16:39:45 +02:00
Stijn Tintel 616b972920 ath10k-ct: bump to git HEAD
e0d2ce0 ath10k:  Support setting tx_antenna in descriptor field.
29c644f Update to latest 4.13 and 4.16 ath10k-ct drivers.
20db9db ath10k:  Support vdev stats for 4.9, 4.16  kernel
fd92066 ath10k:  Support 'ct-sta-mode' for 9984 firmware that supports it.
34954f0 ath10k:  get_tsf, PMF

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2018-08-26 18:40:46 +03:00
Sven Eckelmann 1c01e02575 ath10k-ct: search DT for BDF variant info
Board Data File (BDF) is loaded upon driver boot-up procedure. The right
board data file is identified on QCA4019 using bus, bmi-chip-id and
bmi-board-id.

The problem, however, can occur when the (default) board data file cannot
fulfill the vendor requirements and it is necessary to use a different
board data file.

This problem was solved for SMBIOS by adding a special SMBIOS type 0xF8.
Something similar has to be provided for systems without SMBIOS but with
device trees. No solution was specified by QCA and therefore a new one has
to be found for ath10k.

The device tree requires addition strings to define the variant name

    wifi@a000000 {
    	status = "okay";
    	qcom,ath10k-calibration-variant = "RT-AC58U";
    };

    wifi@a800000 {
    	status = "okay";
    	qcom,ath10k-calibration-variant = "RT-AC58U";
    };

This would create the boarddata identifiers for the board-2.bin search

 *  bus=ahb,bmi-chip-id=0,bmi-board-id=16,variant=RT-AC58U
 *  bus=ahb,bmi-chip-id=0,bmi-board-id=17,variant=RT-AC58U

Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
2018-07-07 18:33:57 +02:00
Koen Vandeputte e5ff84d1f0 ath10k-ct: Update driver to latest
127f98189ee5 ath10k:  Fix bad return w/out unlock, compile w/out debugfs
b8f48f3c138f Fix survey-dump for 4.7, 4.9 and 4.13 kernels.
fa8259ad5d6d ath10k-ct:  Support survey dump in 10.1 firmware.
2853e1337ecf ath10k-ct:  Add 4.16 ath10k-ct driver to package.

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
CC: Ben Greear <greearb@candelatech.com>
2018-06-01 08:22:26 +02:00
Hauke Mehrtens 97a3e69f61 ath10k-ct: make it depend on PCI support again
The missing dependency causes build problems on systems without PCI
support.
The ath10k_pci kernel module depends on PCI support so this dependency
should be added. ath10k now also supported the ahb interface on the
IPQ4019 SoC, but this SoC also has PCI support so this extra dependency
is not as problem.

Fixes: d0f3dd5b9f ("ath10k-ct: update to latest version, enable AHB.")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-04-18 23:57:12 +02:00
Hauke Mehrtens dd8bf0cf64 ath10k-ct: fix module depends
PKG_EXTMOD_SUBDIRS should be set to the sub directory where the kernel
module gets build in, for the ath10k-ct driver this changed in commit
3888e77c1c from ath10k to ath10k-4.13. Without this fix the depends
line of the ath10*.ko modules is empty and the kernel module load system
will not automatically load the depended modules like mac80211.

Fixes: 3888e77c1c ("ath10k-ct driver: use dma_alloc_coherent, 4.13 based driver")
Fixes: 23a388fe41 ("ath10k-ct: Force loading mac80211 and ath modules.")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-03-23 22:08:22 +01:00
Ben Greear 5eb2b99b15 ath10k-ct: Update driver to latest.
Among other things, this will check for an htt-mgt variant of
ath10k-ct firmware before loading 'normal' firmware, and it disables
verbose printing of firmware DBGLOG messages by default.

Signed-off-by: Ben Greear <greearb@candelatech.com>
2018-03-23 22:08:22 +01:00
Ben Greear 375be15429 ath10k-ct: Update DEPENDS and PROVIDES
Update DEPENDS and PROVIDES so that ath10k-ct firmware
and drivers can be used to replace stock firmware
and drivers.  The -htt firmware variant, which requires
ath10k-ct driver now selects ath10k-ct driver when the
firmware is selected.

Signed-off-by: Ben Greear <greearb@candelatech.com>
2018-03-23 22:08:22 +01:00
Ben Greear 23a388fe41 ath10k-ct: Force loading mac80211 and ath modules.
They are not automatically loaded on IPQ4019 (at least) machines
for some reason.

Signed-off-by: Ben Greear <greearb@candelatech.com>
2018-03-22 09:09:54 +01:00
Ben Greear d0f3dd5b9f ath10k-ct: update to latest version, enable AHB.
The driver updates include:

ath10k driver backport to fix WPA 'pn' related security bugs
(4.13 based driver only currently),
a fix for off-channel TX for CT wave-1 firmware, a likely
fix for napi related crashes, and a backport of the firmware fetch
patch.

AHB is needed for the IPQ4019 platform radios.

Signed-off-by: Ben Greear <greearb@candelatech.com>
[use common subject format]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-03-22 09:09:54 +01:00
Matthias Schiffer e9fa0b9f3a
ath9k, ath10k(-ct): move spectral scan support under a separate config symbol
Backport patches that separate spectral scan support from general debugfs
support of ath9k/ath10k; this allows to remove the dependency on
KERNEL_RELAY from these driver packages even with debugfs enabled and
avoids the memory footprint of the relay buffers allocated by ath9k/ath10k
even when they aren't used at all.

The KERNEL_RELAY dependency is moved to a new config symbol that enables
spectral scan support in these drivers.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2018-01-13 19:54:45 +01:00
Karl Vogel 76378c6b9f build: use KERNEL_MAKE_FLAGS for kernel file compilations
The build system already defines KERNEL_CROSS which defaults to TARGET_CROSS.
Make use of this variable for kernel makefiles.

Signed-off-by: Karl Vogel <karl.vogel@gmail.com>
2017-10-29 16:17:05 +01:00
Jonas Gorski 5172f799a3 ath10k-ct: switch to AutoProbe
Now that we have working module dependency generation, we can switch to
AutoProbe and let modprobe handle loading required modules.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
2017-10-27 13:06:15 +02:00
Jonas Gorski dd9df74dfa ath10k-ct: define module directories
Define the module subdir so our buildsystem properly picks up the
Module.symvers.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
2017-10-27 13:06:15 +02:00
Ben Greear 3888e77c1c ath10k-ct driver: use dma_alloc_coherent, 4.13 based driver
This should help ath10k work on systems with little or no IOMMU
memory.  apu2 can boot two 9888 NICs now, for instance.  From
upstream patch by Adrian Chadd.

And, start building the 4.13 based CT ath10k driver.

Signed-off-by: Ben Greear <greearb@candelatech.com>
2017-10-12 23:40:27 +02:00
Ben Greear 1fc0a45558 ath10k-ct: Update to latest ath10k-ct driver.
Supports disabling firmware hex logging that many found too verbose.

Increase BMI timer so system works more often with 9888 Compex NIC
(and maybe others).

Allow configuring a specific board-file per NIC using fwcfg file.

Maybe fix a scan-busy problem when using CT firmware.

Signed-off-by: Ben Greear <greearb@candelatech.com>
2017-05-18 07:59:26 +02:00
Felix Fietkau f6750db5dd ath10k-ct: depend on kmod-hwmon-core, it gets used when CONFIG_THERMAL is set
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-01 17:49:54 +01:00
Ben Greear f9c6cc277f ath10k-ct: Fix performance of 2x2 hardware running 3x3 firmware.
The driver had a bug when calculating the rateset.  This resolves
that and allows full VHT mcs rates on 2x2 hardware.

Signed-off-by: Ben Greear <greearb@candelatech.com>
2017-02-01 17:49:53 +01:00
Ben Greear 5c09d7f23d ath10k-ct: Update to latest CT 4.7 ath10k driver.
This at least makes it harder to hit some txq related
crashes on firmware restart, a potential memory leak,
and some other fixes.

Signed-off-by: Ben Greear <greearb@candelatech.com>
2017-01-13 10:22:20 +01:00
Felix Fietkau c7c1cf5618 treewide: clean up and unify PKG_VERSION for git based downloads
Also use default defintions for PKG_SOURCE_SUBDIR, PKG_SOURCE

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-12-22 16:42:21 +01:00
Andy Strohman 7acb7dc3db ath10k-ct: Enable DFS when "Enable DFS support" is set for kmod-ath
This allows users of this package to configure DFS channels.
It mimics the behaviour of the ath10k module included in
package mac80211

Signed-off-by: Andy Strohman <andrew@andrewstrohman.com>
2016-12-20 16:24:22 +01:00
Alexis Green 84daeb2e14 ath10k-ct: ath10k-ct specifies that it supports 802.11ac mode
Signed-off-by: Alexis Green <agreen@cococorp.com>
2016-12-20 16:24:22 +01:00
Felix Fietkau 720b99215d treewide: clean up download hashes
Replace *MD5SUM with *HASH, replace MD5 hashes with SHA256

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-12-16 22:39:22 +01:00
Ben Greear 4921760a45 ath10k-ct: Update to latest CT ath10k driver.
This works around deadlock and/or memory corruption during
firmware crash and improves ability to configure number of
tids in firmware.

Signed-off-by: Ben Greear <greearb@candelatech.com>
2016-12-16 22:37:59 +01:00
Ben Greear f94bee8c02 ath10k-ct: Update to latest.
Fixes locking issue, quietens some potential message floods.

Signed-off-by: Ben Greear <greearb@candelatech.com>
2016-11-22 10:50:51 +01:00
Ben Greear 6408ea0486 ath10k-ct: Add QCA9888/9886 support, fix compat issue.
This should fix problems with latest backports, and also adds
driver support for QCA9888 chipset.

Signed-off-by: Ben Greear <greearb@candelatech.com>
2016-10-27 12:45:05 +02:00
Ben Greear 536420647a ath10k-ct: Update to latest 4.7 CT ath10k driver.
Adds Sebastian's 160Mhz support (un-tested), remove DMA32 change that
broke some x86 systems, allow setting 10.1 CT firmware keepalive watchdog
timeout, support QCA 9887 hardware, and some other tweaks.

Signed-off-by: Ben Greear <greearb@candelatech.com>
2016-10-19 11:13:11 +02:00
Alexis Green aeea251fad ath10k-ct: fix missing symbols if ath9k is not selected
Require kernel to compile with CONFIG_RELAY=y

Signed-off-by: Alexis Green <alexis@cessp.it>
2016-09-05 18:01:59 +02:00
Ben Greear d66db35a1d ath10k-ct: Remove useless WARNING for 10.4 firmware.
Removes a useless splat in ath10k, and adds some safety code
around setting keys in the firmware.

Signed-off-by: Ben Greear <greearb@candelatech.com>
2016-08-28 13:51:41 +02:00
Ben Greear 4c451ae0a7 ath10k-ct: Update to latest ath10k-ct driver.
This uses GFP_DMA32 for firmware swap.  Fixes issue on x86-64 with
QCA 9984 chipset when host system does not have vt-d enabled.

Also tested on linksys ea8500 with 9980 chipset.

Signed-off-by: Ben Greear <greearb@candelatech.com>
2016-08-23 11:55:32 +02:00
Ben Greear f85c12e07d ath10k-ct: Fix loading 9980 firmware.
ath10k-ct driver was using bad defaults for 9980 if user
had not specified a fwcfg file to over-ride them.

Also, support configurable station-kickout-threshold,
which might work around issues with flakey connections.

Signed-off-by: Ben Greear <greearb@candelatech.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name> [fix PKG_VERSION]
2016-08-11 10:54:50 +02:00
Ben Greear eb8ffbebf8 ath10k-ct: Update to latest ath10k-ct driver.
Adds support for 9984 NICs, and an upstream bugfix or two.

Signed-off-by: Ben Greear <greearb@candelatech.com>
2016-07-23 12:28:25 +02:00