Commit Graph

1559 Commits

Author SHA1 Message Date
Tianling Shen
ef0da86253
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-09-01 09:52:11 +08:00
Felix Fietkau
99a98b3024 mac80211: remove non-upstream antenna gain configuration patch
It seems that this was not functioning properly and was likely completely unused.
Keeping this out of tree also introduced some annoying churn when updating, because
of the iw nl80211.h sync patch.
If this is needed, it will be reintroduced when/if it is added upstream

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-08-30 12:28:30 +02:00
Tianling Shen
e26decebb4
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-08-26 11:04:26 +08:00
Jacob Aharon
adcd032679 mac80211: Add ath11k to the help text of ATH_DEBUG
ATH_DEBUG package is required to debug ath11k.

Fixes: 93ae4353cd ("mac80211: add ath11k PCI support")
Signed-off-by: Jacob Aharon <ah.jacob@gmail.com>
2023-08-25 23:56:21 +02:00
Tianling Shen
6da6b360c3
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-08-23 08:49:49 +08:00
Shiji Yang
ce6ad123e7 mac80211: fix MT7620 Wi-Fi channel scanning function
During the channel scanning process, the driver will continuously
switch channels. It seems that the full RF calibration step in
rt2800_config_channel() caused the channel scanning function to
timeout. To fix it, move the RF calibration to rt2800_enable_radio()
so that it is only executed once. This commit also includes some
coding format adjustments to follow the Linux recommended style.

Fixes: 2824fa6963 ("mac80211: rework MT7620 PA/LNA RF calibration")
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
2023-08-22 19:17:24 +01:00
Tianling Shen
5f7a622ee2
mac80211: don't set country code by default
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-08-13 10:38:10 +08:00
Tianling Shen
d493b10e69
mac80211: mt7601u: allow AP mode
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-08-11 17:29:57 +08:00
Tianling Shen
772e135630
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-08-11 08:33:22 +08:00
Felix Fietkau
ed0ad7759c hostapd: remove config_id parameters from hostapd.conf
They are no longer used

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-08-10 22:27:59 +02:00
Tianling Shen
86557c8aa0
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-08-10 18:22:42 +08:00
Felix Fietkau
4bd9f2eda5 mac80211: fix setting mesh parameters after hostapd reload change
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-08-09 10:50:53 +02:00
Felix Fietkau
afa229038c mac80211: fix applying tx/rx antenna changes afer hostapd reload change
Tear down all interfaces if the antenna settings change, so that the
capabilities can be recalculated properly

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-08-08 20:12:13 +02:00
Tianling Shen
85daf36dff
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-08-03 11:20:16 +08:00
Felix Fietkau
e56c5f7b27 hostapd: add ucode support, use ucode for the main ubus object
This implements vastly improved dynamic configuration reload support.
It can handle configuration changes on individual wifi interfaces, as well
as adding/removing interfaces.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-08-01 10:08:03 +02:00
Tianling Shen
550d7b28b3
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-07-31 01:08:15 +08:00
Shiji Yang
2824fa6963 mac80211: rework MT7620 PA/LNA RF calibration
This patch makes some improvements to the MT7620 RF calibration.

1. Move MT7620 PA/LNA calibration code to dedicated functions.
2. Restore RF and BBP registers before R-Calibration.
3. Do Rx DCOC calibration again before RXIQ calibration.
4. Use SoC specific AGC initial LNA value.
5. Correct MAC_RX_EN mask in rt2800_r_calibration()[1].

[1] This change may fix the "BBP/RF register access failed" error:
ieee80211 phy0: rt2800_wait_bbp_rf_ready: Error - BBP/RF register access failed, aborting

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
2023-07-29 15:07:11 +01:00
Tianling Shen
1b62fa461c
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-07-27 04:29:01 +08:00
Lu jicong
06d5c773fa rockchip: enable wifi support for NanoPC T4
wifi module: AP6356S (BCM4356) SDIO

Signed-off-by: Lu jicong <jiconglu58@gmail.com>
2023-07-26 12:15:20 +02:00
Tianling Shen
c467b5601a
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-07-25 18:58:38 +08:00
Shiji Yang
a680ac8bcb mac80211: limit MT7620 TX power based on eeprom calibration
This patch adds basic TX power control for the MT7620 and limits its
maximum TX power. This can avoid the link speed decrease caused by
chip overheating.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
2023-07-23 12:40:12 +01:00
Tianling Shen
360fa4dfe4
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-07-12 21:45:08 +08:00
Felix Fietkau
8f7be2a2ba mac80211: add fix for receiving STP frames on mesh
Fix length in ethernet header

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-07-11 14:38:20 +02:00
Tianling Shen
a290a61f6d
mac80211: set default country to CN
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-07-08 03:30:00 +08:00
Tianling Shen
94812e90ec
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-07-05 20:40:39 +08:00
David Bauer
d9070f8d23 mac80211: partly revert force-mac80211 loss detection
This patch will only force mac80211 loss detection upon ath10k by
masking the driver-specific loss-detection bit.

Ref: commit ed816f6ba8 ("mac80211: always use mac80211 loss detection")

Signed-off-by: David Bauer <mail@david-bauer.net>
2023-07-05 12:40:34 +02:00
Tianling Shen
4fbf4329b0
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-06-30 20:38:42 +08:00
Felix Fietkau
c8963580aa mac80211: fix mesh fast tx cache issues
Split the cache by tx type in order to avoid packet drop issues

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-06-30 13:18:55 +02:00
Tianling Shen
36512ff672
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-06-24 12:22:24 +08:00
Felix Fietkau
f343001b25 mac80211: fix quilt patch corruption
Fixes: 9219b0660a ("mac80211: fix HE issues with AP_VLAN interfaces")
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-06-23 17:34:19 +02:00
Felix Fietkau
9219b0660a mac80211: fix HE issues with AP_VLAN interfaces
Fixes issues with aggregation

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-06-23 13:58:09 +02:00
David Bauer
ed816f6ba8 mac80211: always use mac80211 loss detection
ath10k does not report excessive loss in case of broken block-ack
sessions. The loss is communicated to the host-os, but ath10k does not
trigger a low-ack events by itself.

The mac80211 framework for loss detection however detects this
circumstance well in case of ath10k. So use it regardless of ath10k's
own loss detection mechanism.

Signed-off-by: David Bauer <mail@david-bauer.net>
2023-06-23 00:21:48 +02:00
Tianling Shen
b0063446b8
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-06-17 14:19:10 +08:00
Robert Marko
f02f6aaa8d
ipq807x: rename target to qualcommax
Currently, ipq807x only covers Qualcomm IPQ807x SoC-s.
However, Qualcomm also has IPQ60xx and IPQ50xx SoC-s under the AX WiSoC-s
and they share a lot of stuff with IPQ807x, especially IPQ60xx so to avoid
duplicating kernel patches and everything lets make a common target with
per SoC subtargets.

Start doing that by renaming ipq807x to qualcommax so that dependencies
on ipq807x target can be updated.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2023-06-16 11:11:08 +02:00
Tianling Shen
3495f95618
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-06-06 23:19:38 +08:00
Robert Marko
acde5271a6 mac80211: ath11k: sync with ath-next
Synchronize the ath11k backports with the current ath-next tree.

This introduces support for MBSSID and EMA, adds factory test mode and
some new HTT stats.

Tested-by: Francisco G Luna <frangonlun@gmail.com>
Signed-off-by: Robert Marko <robimarko@gmail.com>
2023-06-04 12:50:31 +02:00
Robert Marko
84b5735b4c mac80211: backport EMA beacon support
Backport EMA beacon support from kernel 6.4.
It is required for MBSSID/EMA suport in ath11k that will follow.

Tested-by: Francisco G Luna <frangonlun@gmail.com>
Signed-off-by: Robert Marko <robimarko@gmail.com>
2023-06-04 12:50:25 +02:00
Tianling Shen
1ec350e313 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-05-27 22:20:06 +08:00
Felix Fietkau
9713d62c01 mac80211: remove legacy unused lib80211 support patch
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-05-26 13:38:34 +02:00
Tianling Shen
6ac5d62e78 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-05-24 14:01:53 +08:00
Robert Marko
bc4ba54a09 mac80211: backport merged version of A-MSDU mesh patch
Kernel 6.1 now has fortify_memcpy_chk() and it is causing the following
warning while trying to compile backports:
  CC [M]  /home/robimarko/Building/AX3600/ipq807x-5.15/build_dir/target-aarch64_cortex-a53_musl/linux-ipq807x_generic/backports-6.1.24/net/wireless/util.o
In file included from ./include/linux/string.h:253,
                 from /home/robimarko/Building/AX3600/ipq807x-5.15/build_dir/target-aarch64_cortex-a53_musl/linux-ipq807x_generic/backports-6.1.24/backport-include/linux/string.h:3,
                 from ./include/linux/bitmap.h:11,
                 from ./include/linux/cpumask.h:12,
                 from ./include/linux/smp.h:13,
                 from ./arch/arm64/include/asm/arch_timer.h:18,
                 from ./arch/arm64/include/asm/timex.h:8,
                 from ./include/linux/timex.h:67,
                 from ./include/linux/time32.h:13,
                 from ./include/linux/time.h:60,
                 from /home/robimarko/Building/AX3600/ipq807x-5.15/build_dir/target-aarch64_cortex-a53_musl/linux-ipq807x_generic/backports-6.1.24/backport-include/linux/time.h:3,
                 from ./include/linux/skbuff.h:15,
                 from /home/robimarko/Building/AX3600/ipq807x-5.15/build_dir/target-aarch64_cortex-a53_musl/linux-ipq807x_generic/backports-6.1.24/backport-include/linux/skbuff.h:3,
                 from ./include/linux/if_ether.h:19,
                 from /home/robimarko/Building/AX3600/ipq807x-5.15/build_dir/target-aarch64_cortex-a53_musl/linux-ipq807x_generic/backports-6.1.24/backport-include/linux/if_ether.h:3,
                 from ./include/linux/etherdevice.h:20,
                 from /home/robimarko/Building/AX3600/ipq807x-5.15/build_dir/target-aarch64_cortex-a53_musl/linux-ipq807x_generic/backports-6.1.24/backport-include/linux/etherdevice.h:3,
                 from /home/robimarko/Building/AX3600/ipq807x-5.15/build_dir/target-aarch64_cortex-a53_musl/linux-ipq807x_generic/backports-6.1.24/net/wireless/util.c:12:
In function 'fortify_memcpy_chk',
    inlined from 'ieee80211_strip_8023_mesh_hdr' at /home/robimarko/Building/AX3600/ipq807x-5.15/build_dir/target-aarch64_cortex-a53_musl/linux-ipq807x_generic/backports-6.1.24/net/wireless/util.c:590:3:
./include/linux/fortify-string.h:404:25: error: call to '__write_overflow_field' declared with attribute warning: detected write beyond size of field (1st parameter); maybe use struct_group()? [-Werror=attribute-warning]
  404 |                         __write_overflow_field(p_size_field, size);
      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors

This issue was fixed in the final version of
("wifi: mac80211: fix receiving A-MSDU frames on mesh interfaces") that was
merged upstream but we have a older version that is using:
memcpy(&payload.eth.h_dest, mesh_addr, 2 * ETH_ALEN);
instead of:
memcpy(&payload.eth, mesh_addr, 2 * ETH_ALEN);

So, lets just backport the merged version of patch to fix the issue.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2023-05-23 13:37:28 +02:00
Tianling Shen
bdf6d3135c Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-05-23 12:19:10 +08:00
Rafał Miłecki
bd26266314 mac80211: brcm: drop brcmfmac patch waiting for register_wiphy()
That was a workaround for OpenWrt generation of config files. This patch
was used to postpone returning from probe function until loading
firmware and calling register_wiphy().

All of that is not needed anymore thanks to the ieee80211 hotplug.d
script introduced in the commit 5f8f8a3661 ("base-files, mac80211,
broadcom-wl: wifi detection and configuration"). That takes care of
generating /etc/config/wireless entries even if wireless device appears
late in the booting process.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2023-05-22 08:18:45 +02:00
Tianling Shen
13c4817843
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-05-18 11:20:35 +08:00
Daniel Golle
a67f2ab745 mac80211: fix mt7601u firmware path and refresh patches
Import patch fixing the updated firmware path of mt7601u.bin.
Refresh patches while at it.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-05-18 02:39:55 +01:00
Tianling Shen
76ae895eb4
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-05-12 11:15:51 +08:00
Christian Marangi
b545df5cfd
mac80211: brcm: fix compilation warning for unused brcmf_of_fwnames
If CPTCFG_BRCMFMAC_SDIO is not used brcmf_of_fwnames is defined but not
used in the case of CONFIG_OF not compiled.

Restrict brcmf_of_fwnames only with CPTCFG_BRCMFMAC_SDIO selected.
Fix compilation warning:
/__w/openwrt/openwrt/openwrt/build_dir/target-x86_64-openwrt-linux-musl_musl/linux-x86_64/backports-6.1.24/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.h:16:1: error: 'brcmf_of_fwnames' defined but not used [-Werror=unused-function]
   16 | brcmf_of_fwnames(struct device *dev, u32 *map_count)
      | ^~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2023-05-12 03:15:37 +02:00
Christian Marangi
cbf299c86c
mac80211: ath9k: handle error from copy_to_user in read_file_eeprom
Handle error from copy_to_user in read_file_eeprom.
Fix compilarion warning:
/__w/openwrt/openwrt/openwrt/build_dir/target-x86_64-openwrt-linux-musl_musl/linux-x86_64/backports-6.1.24/drivers/net/wireless/ath/ath9k/debug.c: In function 'read_file_eeprom':
/__w/openwrt/openwrt/openwrt/build_dir/target-x86_64-openwrt-linux-musl_musl/linux-x86_64/backports-6.1.24/drivers/net/wireless/ath/ath9k/debug.c:1451:17: error: ignoring return value of 'copy_to_user' declared with attribute 'warn_unused_result' [-Werror=unused-result]
 1451 |                 copy_to_user(user_buf, from, bytes);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2023-05-12 03:15:36 +02:00
Tianling Shen
f9a8dd7f81
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-05-07 17:29:41 +08:00
Robert Marko
15abf8d18b
mac80211: ath11k: sync with ath-next
Synchronize the ath11k backports with the current ath-next tree.

This replaces the 160MHz with the upstreamed one, fixes 6GHz only WIPHY
registration, allows SAR usage on WCN6750 and plenty of REO fixes.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2023-05-06 07:15:57 +02:00