Commit Graph

173 Commits

Author SHA1 Message Date
lean
61b1fd2208 Revert "mac80211: sync upstream (#7932)"
This reverts commit a42521a11f.
2021-09-29 21:45:03 +08:00
Beginner
a42521a11f
mac80211: sync upstream (#7932)
* mac80211: fix HT40 mode for 6G band

The channel offset used for VHT segment calculation was missing for HT

Signed-off-by: Felix Fietkau <nbd@nbd.name>

* mac80211: refresh patch

Signed-off-by: Felix Fietkau <nbd@nbd.name>

* mac80211: add missing change for encap offload on devices with sw rate control

Signed-off-by: Felix Fietkau <nbd@nbd.name>

* ath9k: owl-loader: remove obsolete AR71XX patch

this is no longer necessary as the AR71XX target
was superseded by ath79.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>

* mac80211: revert faulty change that was breaking broadcast tx

Fixes: 0f6887972adc ("mac80211: add missing change for encap offload on devices with sw rate control")
Signed-off-by: Felix Fietkau <nbd@nbd.name>

* mac80211: Update to backports-5.10.68

Refresh all patches.
The removed patches were integrated upstream.

This contains fixes for CVE-2020-3702

1. These patches (ath, ath9k, mac80211)  were included in kernel
versions since 4.14.245 and 4.19.205. They fix security vulnerability
CVE-2020-3702 [1] similar to KrØØk, which was found by ESET [2].

Thank you Josef Schlehofer for reporting this problem.

[1] https://nvd.nist.gov/vuln/detail/CVE-2020-3702
[2] https://www.welivesecurity.com/2020/08/06/beyond-kr00k-even-more-wifi-chips-vulnerable-eavesdropping/

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

* mac80211: backport support for BSS color changes

This is needed for an upcoming mt76 update

Signed-off-by: Felix Fietkau <nbd@nbd.name>

Co-authored-by: Felix Fietkau <nbd@nbd.name>
Co-authored-by: Christian Lamparter <chunkeey@gmail.com>
Co-authored-by: Hauke Mehrtens <hauke@hauke-m.de>
2021-09-29 21:41:27 +08:00
coolsnowwolf
7a28386e64 Revert "mac80211: sync upstream (#7734)"
This reverts commit a74c473f42.
2021-09-04 15:19:13 +08:00
coolsnowwolf
b42c413de5 Revert "mac80211: remove patch (#7742)"
This reverts commit 634663fe56.
2021-09-04 15:19:10 +08:00
Beginner
634663fe56
mac80211: remove patch (#7742)
This patch caused a compilation error

Signed-off-by: Beginner <70857188+Beginner-Go@users.noreply.github.com>
2021-08-25 15:07:02 +08:00
Beginner
a74c473f42
mac80211: sync upstream (#7734)
* mac80211: fix HT40 mode for 6G band

The channel offset used for VHT segment calculation was missing for HT

Signed-off-by: Felix Fietkau <nbd@nbd.name>

* mac80211: refresh patch

Signed-off-by: Felix Fietkau <nbd@nbd.name>

* mac80211: add missing change for encap offload on devices with sw rate control

Signed-off-by: Felix Fietkau <nbd@nbd.name>

Co-authored-by: Felix Fietkau <nbd@nbd.name>
2021-08-25 10:55:57 +08:00
Hugo Yuan
527a117abd
ipq807x: add support for ZTE MF269 (#7713) 2021-08-22 01:27:48 +08:00
ntlf9t
fde8a69c47
ath11k: memory leak patches (#7546) 2021-07-28 10:12:15 +08:00
ntlf9t
c7f168255a
ath11k: memory leak patches and finishing patch (#7521) 2021-07-26 00:56:20 +08:00
coolsnowwolf
7a4f49fb25 ath11k: fix wifi drivers memory leak for AX6/AX3600 etc. 2021-07-24 15:49:58 +08:00
coolsnowwolf
f0d208f443 ath11k: Update signal filled flag during sta_statistics drv 2021-07-16 16:50:37 +08:00
Beginner
889ce56607
mac80211: sync upstream (#7387)
* mac80211: merge the virtual time based airtime scheduler

Improves airtime fairness, especially for devices with larger firmware buffers

Signed-off-by: Felix Fietkau <nbd@nbd.name>

* mac80211: merge a 4-addr client mode fix

Signed-off-by: Felix Fietkau <nbd@nbd.name>

* mac80211: backport SAR power limit support

Needed for an upcoming mt76 update

Signed-off-by: Felix Fietkau <nbd@nbd.name>

* mt76: update to the latest version

624c681ef0c6 mt76: mt7921: enable VHT BFee capability
a27dfcb63ccf mt76: connac: fix UC entry is being overwritten
6b691e62470e mt76: connac: add mt76_connac_power_save_sched in mt76_connac_pm_unref
b14365bea586 mt76: mt7921: wake the device before dumping power table
82af16bddfc0 mt76: mt7921: make mt7921_set_channel static
b24598b1c1a9 mt76: connac: add mt76_connac_mcu_get_nic_capability utility routine
5954e3381ff9 mt76: testmode: move chip-specific stats dump before common stats
fd5b612f9aa4 mt76: mt7915: fix rx fcs error count in testmode
d9d26a294f7b mt76: connac: fix the maximum interval schedule scan can support
ed39c882f388 mt76: reduce rx buffer size to 2048
60f3d3adbba6 mt76: move mt76_get_next_pkt_id in mt76.h
67ed4d902c84 mt76: connac: check band caps in mt76_connac_mcu_set_rate_txpower
23c6ec49c000 mt76: make mt76_update_survey() per phy
5ca602fb9455 mt76: mt7915: introduce mt7915_mcu_set_txbf()
c13df42282e9 mt76: mt7915: improve MU stability
dee7dcddcaa0 mt76: use SPDX header file comment style
6fbd47153b3d mt76: mt7915: fix IEEE80211_HE_PHY_CAP7_MAX_NC for station mode
1b97dd1762ca mt76: mt7921: fix sta_state incorrect implementation
1b89053b5a6f mt76: mt7921: improve code readability for mt7921_update_txs
126649816785 mt76: mt7921: limit txpower according to userlevel power
a5163ac09be2 mt76: mt7921: introduce dedicated control for deep_sleep
e47c04db4d7e mt76: mt7921: fix kernel warning when reset on vif is not sta
063d3611662c mt76: mt7921: fix the coredump is being truncated
12bf28feba7c mt76: fix iv and CCMP header insertion
949327e76ee4 mt76: disable TWT capabilities for the moment
3530254c1bc9 mt76: mt7921: enable HE BFee capability
599e35f5d9b8 mt76: sdio: do not run mt76_txq_schedule directly
3b6d30c28946 mt76: mt7663s: rely on pm reference counting
529d55a79088 mt76: mt7663s: rely on mt76_connac_pm_ref/mt76_connac_pm_unref in tx path
ef44ff116ee2 mt76: mt7663s: enable runtime-pm
3a71e71a555e mt76: mt7615: set macwork timeout according to runtime-pm
925d96e443a4 mt76: mt7921: allow chip reset during device restart
63b114d84361 mt76: mt76x0e: fix device hang during suspend/resume
7f5ea5e2fd10 mt7915: check return code of sysfs_create_link
ca64a36908b7 mt76: fix mt76_rates for the multiple devices
f517116bf14c mt76: add mt76_default_basic_rate more devices can rely on
6c70b0100513 mt76: mt7921: fix mgmt frame using unexpected bitrate
c00a9a6b52af mt76: mt7915: fix mgmt frame using unexpected bitrate
0e4089949565 mt76: mt7921: fix endianness in mt7921_mcu_tx_done_event
55f314120ef2 mt76: mt7921: avoid unnecessary spin_lock/spin_unlock in mt7921_mcu_tx_done_event
541cd3276488 mt76: mt7915: fix endianness warning in mt7915_mac_add_txs_skb
817761e87c4f mt76: mt7921: fix endianness warning in mt7921_update_txs
b8eca74bbd7b mt76: mt7615: fix endianness warning in mt7615_mac_write_txwi
5e5e07f0def3 mt76: mt7915: fix potential overflow of eeprom page index
abda4cded420 mt76: mt7915: fix info leak in mt7915_mcu_set_pre_cal()
535899f81a46 mt76: mt7915: fix calling mt76_wcid_alloc with incorrect parameter
adfa1b9a3ca0 mt76: connac: fix mt76_connac_gtk_rekey_tlv usage
2a65b105ea4a mt76: mt7921: enable aspm by default
c57158c82804 mt76: fix build error implicit enumeration conversion
41f607cab83c mt76: mt7921: fix survey-dump reporting
25b4f885a937 mt76: mt76x02: fix endianness warnings in mt76x02_mac.c
e63fadb87fe1 mt76: mt7915: report HE MU radiotap
135ef3e9827a mt76: mt7915: adapt new firmware to update BA winsize for Rx session
7118eacb7ce4 mt76: mt7921: add .set_sar_specs support
f1f6569da408 mt76: mt7915: fix an off-by-one bound check
f7da39467965 mt76 mt7915: take RCU read lock when calling ieee80211_bss_get_elem()
87af8e5c72b1 mt76: mt7915: cleanup -Wunused-but-set-variable
8e2d383fbd92 mt76: mt7915: report tx rate directly from tx status
ddce30977591 mt76: mt7915: remove mt7915_sta_stats
4ccd42029519 mt76: mt7921: introduce testmode support

Signed-off-by: Felix Fietkau <nbd@nbd.name>

Co-authored-by: Felix Fietkau <nbd@nbd.name>
2021-07-15 03:23:47 +00:00
coolsnowwolf
25683fe038 ipq807x: add NSS ecm 64 support 2021-07-10 08:43:31 +08:00
coolsnowwolf
67e0aa3a01 ath10k: add tx hw 802.11 encapusaltion offloading support 2021-07-09 18:18:34 +08:00
coolsnowwolf
2513ccaf94 mac80211: NSS classify tx support 2021-07-09 17:39:01 +08:00
coolsnowwolf
4790aa244b mac80211: add tasklet_kill step during NSS interface take down 2021-07-08 12:57:11 +08:00
coolsnowwolf
e82fddcf0e mac80211: add support for NSS firmware 2021-07-08 12:27:04 +08:00
Tianling Shen
0f29dec405
Revert "ath11k: fixes a memory leak as the MHI controller was allocated but never freed" (#7286)
This makes memory leak more seriously.

This reverts commit 48a880a190.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2021-07-06 06:27:21 +00:00
coolsnowwolf
6675de3732 Revert "ath11k: fix for peer memory corruption"
This reverts commit 83b29e014f.
2021-07-06 14:26:13 +08:00
coolsnowwolf
6ad4588a9b ath11k: allow vht on 2.4g 2021-07-06 00:08:31 +08:00
coolsnowwolf
83b29e014f ath11k: fix for peer memory corruption 2021-07-06 00:07:39 +08:00
coolsnowwolf
6967bf73f0 ipq807x: ax6/ax3600 use 512M RAM profile 2021-07-06 00:06:32 +08:00
coolsnowwolf
48a880a190 ath11k: fixes a memory leak as the MHI controller was allocated but never freed 2021-07-05 18:01:22 +08:00
Beginner
12a44d5e54
mac80211: backport fix for nl80211 control port tx (fixes FS#3857) (#7241)
Signed-off-by: Felix Fietkau <nbd@nbd.name>

Co-authored-by: Felix Fietkau <nbd@nbd.name>
2021-07-01 05:27:14 +00:00
Beginner
ced4dc7500
mac80211: fix a regression in starting aggregation sessions on mesh interfaces (#7226)
Signed-off-by: Felix Fietkau <nbd@nbd.name>

Co-authored-by: Felix Fietkau <nbd@nbd.name>
2021-06-30 01:01:01 +08:00
coolsnowwolf
87d72cae64 mac80211: remove ath11k nss code temporality 2021-06-29 22:24:20 +08:00
coolsnowwolf
892b521774 mac80211: grace code 2021-06-29 17:09:06 +08:00
coolsnowwolf
9faf3ea90d mac80211: add ipq807x dep for ath11k nss 2021-06-29 16:19:40 +08:00
coolsnowwolf
9be314ba8f mac80211: add ath11k nss dependence 2021-06-29 14:07:54 +08:00
coolsnowwolf
37efc3f069 ath11k: Update tx descriptor search index properly 2021-06-29 12:03:04 +08:00
coolsnowwolf
9e2257c44a ath11k: add hw nss ax wifi offload support 2021-06-29 11:47:43 +08:00
coolsnowwolf
aa3cc2ddfa ath11k: add decap offload support 2021-06-29 11:42:28 +08:00
Bob Cantor
5df9eeddbf mac80211: print an error if wifi teardown fails
drv_mac80211_teardown fails silently if the device to be torn down is
not defined.  This commit prints an error message.

branches affected: trunk, 21.02

Signed-off-by: Bob Cantor <coxede6557@w3boats.com>
2021-06-29 11:17:01 +08:00
Bob Cantor
00be744e8f mac80211: always call wireless_set_data (FS#3784)
When wifi is turned off, drv_mac80211_teardown sometimes fails (silently)
because the device to be torn down is not defined.

This situation arises if drv_mac80211_setup was called twice when
wifi was turned on.

This commit ensures that the device to be torn down is always defined
in drv_mac80211_teardown.

Steps to reproduce:

1) Use /sbin/wifi to turn on wifi.
   uci set wireless.@wifi-iface[0].disabled=0
   uci set wireless.@wifi-device[0].disabled=0
   uci commit
   wifi

2) Use /sbin/wifi to turn off wifi.
   uci set wireless.@wifi-device[0].disabled=1
   uci commit
   wifi

3) Observe that wifi is still up.

branches affected: trunk, 21.02

Signed-off-by: Bob Cantor <coxede6557@w3boats.com>
2021-06-29 11:16:40 +08:00
Bob Cantor
9cdb2a6cd3 mac80211: fix no_reload logic (FS#3902)
If drv_mac80211_setup is called twice with the same wifi configuration,
then the second call returns early with error HOSTAPD_START_FAILED.
(wifi works nevertheless, despite the fact that setup is incomplete.  But
"ubus call network.wireless status" erroneously reports that radio0 is down.)

The relevant part of drv_mac80211_setup is,

if [ "$no_reload" != "0" ]; then
        add_ap=1
        ubus wait_for hostapd
        local hostapd_res="$(ubus call hostapd config_add "{\"iface\":\"$primary_ap\", \"config\":\"${hostapd_conf_file}\"}")"
        ret="$?"
        [ "$ret" != 0 -o -z "$hostapd_res" ] && {
                wireless_setup_failed HOSTAPD_START_FAILED
                return
        }
        wireless_add_process "$(jsonfilter -s "$hostapd_res" -l 1 -e @.pid)" "/usr/sbin/hostapd" 1 1
fi

This commit sets no_reload = 0 during the second call of drv_mac80211_setup.

It is perhaps worth providing a way to reproduce the situation
where drv_mac80211_setup is called twice.

When /sbin/wifi is used to turn on wifi,
   uci set wireless.@wifi-iface[0].disabled=0
   uci set wireless.@wifi-device[0].disabled=0
   uci commit
   wifi

/sbin/wifi makes the following ubus calls,
   ubus call network reload
   ubus call network.wireless down
   ubus call network.wireless up

The first and third ubus calls both call drv_mac80211_setup,
while the second ubus call triggers wireless_device_setup_cancel.
So the call sequence becomes,

   drv_mac80211_setup
   wireless_device_setup_cancel
   drv_mac80211_setup

In contrast, when LuCI is used to turn on wifi only a single call
is made to drv_mac80211_setup.

branches affected: trunk, 21.02

Signed-off-by: Bob Cantor <coxede6557@w3boats.com>
2021-06-29 11:16:16 +08:00
AmadeusGhost
41ba774971
ath10k: re-added 256qam support (#7200)
* mac80211: allow VHT on 2.4GHz

Allow VHT rate on 2.4GHz in order to use 256-QAM

Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>

* ath10k: allow VHT on 2.4GHz

Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>

* hostapd: add vendor_vht option

hostapd has vendor_vht option to enable VHT (256-QAM) on 2.4GHz
Add this option to hostapd.sh so users can enable it via uci

Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>

* mac80211: ath.mk: typo fixes

Co-authored-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
2021-06-27 17:47:04 +08:00
coolsnowwolf
5e0c803478 mac80211: enable ATH10K THERMAL 2021-06-27 01:17:59 +08:00
coolsnowwolf
37e0686458 ipq807x: add ath11k wireless 2021-06-24 12:26:35 +08:00
coolsnowwolf
b3908e3b65 mac80211: add ath11k support 2021-06-24 12:20:23 +08:00
Felix Fietkau
4b93d4f442 mac80211: fix an issue with wds links on 802.11ax devices
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2021-06-19 19:46:31 +08:00
Beginner
9a2df98c56
mac80211: sync upstream (#7077)
* mac80211: remove patches stripping down crypto support

Use of WPA3 and things like FILS is getting much more common, and platforms
that can't affort the extra kilobytes for this code are fading away.
Let's not hold back modern authentication methods any longer

Signed-off-by: Felix Fietkau <nbd@nbd.name>

* kernel: make cryptoapi support needed by mac80211 built-in

This reduces the flash space impact, since built-in code is much smaller
than a bunch of kernel modules on squashfs

Signed-off-by: Felix Fietkau <nbd@nbd.name>

* mac80211: remove extra patch accidentally added during rebase

Signed-off-by: Felix Fietkau <nbd@nbd.name>

Co-authored-by: Felix Fietkau <nbd@nbd.name>
2021-06-19 12:44:24 +08:00
Beginner
5a80754f03
mac80211: system hang caused by deferring calls into minstrel to dequeue (#7057)
Move the aggregation check to mac80211

Signed-off-by: Felix Fietkau <nbd@nbd.name>

Co-authored-by: Felix Fietkau <nbd@nbd.name>
2021-06-18 10:12:55 +08:00
Felix Fietkau
a4e2bd54c6 mac80211: fix minstrel sample time check
We need to skip sampling if the next sample time is after jiffies, not before.
This patch fixes an issue where in some cases only very little sampling (or none
at all) is performed, leading to really bad data rates

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2021-06-17 20:16:52 +08:00
Felix Fietkau
f89a6ad13d mac80211: select iwinfo
Since iwinfo is now used in the core scripts, it needs to be present on the system

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2021-06-17 20:16:31 +08:00
Felix Fietkau
f58e450837 mac80211: fix processing HE capabilities (FS#3871)
Use the right argument to fix setting unsupported capabilities to 0

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2021-06-17 20:15:56 +08:00
Hugo Yuan
931947d20a
Set WiFi country to US by default (#6999) 2021-06-15 23:06:55 +08:00
lean
a3f1e837fd x64: fix grub2 booting 2021-06-15 17:58:07 +08:00
lean
9d8a34c9ab ipq807x: add Xiaomi AX3600 and ath11k support 2021-06-14 20:08:28 +08:00
lean
7a50383ab6 add kernel 5.10 support and sync with upstream 2021-06-14 18:30:08 +08:00
Beginner
ff49c6e8aa
mac80211: fix ATH_REG_DYNAMIC_USER_REG_HINTS (#6878)
ATH_REG_DYNAMIC_USER_REG_HINTS is currently not being set as mac80211
tries to set it as m which is not possible as its boolean only.

Since its used alongside user regulatory, move it to USER_REGD.

This is required for ath11k to accept regulatory changes, otherwise
it wont accept any changes and will simply force US.

Signed-off-by: Robert Marko <robimarko@gmail.com>

Co-authored-by: Robert Marko <robimarko@gmail.com>
2021-05-25 22:06:59 +08:00