Commit Graph

1606 Commits

Author SHA1 Message Date
Tianling Shen
5d7917b891
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-11-14 14:01:11 +08:00
Chukun Pan
3f5e0fb66f mac80211: realtek: rtw88: add RTL8822CU support
Add the Realtek RTL8822CU support to rtw88 package.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
2023-11-13 22:01:49 +01:00
Chukun Pan
055f6dd6f2 mac80211: realtek: rtw88: add RTL8821CU support
Add the Realtek RTL8821CU support to rtw88 package.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
2023-11-13 22:01:49 +01:00
Chukun Pan
1418d9568a mac80211: realtek: rtw88: add RTL8821CE support
Add the Realtek RTL8821CE support to rtw88 package.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
2023-11-13 22:01:49 +01:00
Chukun Pan
16cff054f1 mac80211: realtek: fix rtw88 driver dependencies
The RTW88 PCI/USB driver uses the same firmware,
so add firmware dependencies.

Also CI report that:
  Package kmod-rtw88-usb is missing dependencies for the following libraries:
  usbcore.ko
This commit fixes it.

Fixes: 3538a19 ("mac80211: split rtw88 configuration for each supported chip")
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
2023-11-13 22:01:49 +01:00
Tianling Shen
991f4d42ac
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-11-13 12:38:34 +08:00
Shiji Yang
fbe48e99bd mac80211: rt2x00: correct wrong BBP register in RxDCOC calibration
This fix can reduce the total calibration time from 6 seconds to
1 second.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
2023-11-13 00:55:38 +00:00
Shiji Yang
6bcd1c2501 mac80211: sync some rt2x00 patches with wireless-next
Some local patches have been sent to upstream and they are slightly
different from the upstream version. So it's better to replace them
to avoid conflicts with the new mac80211 backport driver. The
different parts have been merged into patch 996.

This commit also includes some additional fixes:
* Fix watchdog function.
* Improve MT7620 register initialization.
* Introduce DMA busy watchdog for rt2800.

P.S.
Sometimes rt2800 series chips may fall into a DMA busy state. The
tx queues become very slow and the client cannot connect to the AP.
Usually, We can see a lot of hostapd warnings at this point:
'hostapd: IEEE 802.11: did not acknowledge authentication response'

The DMA busy watchdog can help the driver automatically recover
from this abnormal state. By the way, setting higer 'cell_density'
and disabling 'disassoc_low_ack' can significantly reduce the
probability of the DMA busy.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
2023-11-13 00:55:38 +00:00
Alexis Lothoré
12ef0be4fe mac80211: add support for rtw88_8822bu
Kernel 6.1 has introduced support for RTW8822BU network adapter, which
is an USB variant of the rtw8822b 802.11ac chipset family.

Build and install the corresponding module in the rtw88 package

Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
2023-11-12 19:43:19 +01:00
Alexis Lothoré
3538a19c6e mac80211: split rtw88 configuration for each supported chip
Current rtw88 build configuration builds modules for all chips supported by
rtw88 driver family. This brings the following issues:
- adding a chip with a different bus is not convenient (all chips currently
  depends on PCI)
- some features requirements are not relevant for all chips in family (eg
  802.11AC is enforced but RTW88-8723DE is only a 802.11b/g/n chip)

Remove those constraints/issues by adding one module build option per
supported chip, and add intermediate options to properly cascade
dependencies.

Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
2023-11-12 19:42:09 +01:00
Lech Perczak
a5ba28454b mac80211: ath9k-htc: support "chanbw" in debugfs
ath9k-htc USB-based adapters also support 5/10MHz channel bandwidth.
Move the code handling the features in debugfs to common-debug.c,
and create proper registration functions to use in debug.c and
htc_drv_debug.c, leaving only debugfs registration there.

While at that, refresh one patch that would conflict otherwise.

Tested on TP-Link Archer C7v2 (ath79) and TP-Link WN722Nv1 (AR9287)
and WN822Nv2 (AR7010+AR9287).

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
2023-11-12 16:27:16 +01:00
Lech Perczak
bd6dc4bffa mac80211: ath9k-htc: support "eeprom" in debugfs
ath9k-htc USB-based adapterssupport 5/10MHz channel bandwidth, the
same as standard ath9k ones.
Move the code handling the features in debugfs to common-debug.c,
and create proper registration functions to use in debug.c and
htc_drv_debug.c, leaving only debugfs registration there.

While at that, refresh one patch that would conflict otherwise.

Tested on TP-Link Archer C7v2 (ath79) and TP-Link WN722Nv1 (AR9287)
and WN822Nv2 (AR7010+AR9287).

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
2023-11-12 16:27:16 +01:00
Tianling Shen
31f2c18a35
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-11-10 13:02:09 +08:00
Christian Marangi
1070fbce6e
mac80211: fix not set noscan option for wpa_supplicant
noscan option was changed to hostapd_noscan but the entry in
wpa_supplicant was never updated resulting in the noscan option actually
never set.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2023-11-09 15:58:34 +01:00
Tianling Shen
ddc8ffaa33
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-11-01 12:07:45 +08:00
Shiji Yang
2d314984b1 mac80211: ath: add struct_group for struct ath_cycle_counters
Add a struct_group to around all members in struct ath_cycle_counters.
It can help the compiler detect the intended bounds of the memcpy() and
memset().

This patch fixes the following build warning:

In function 'fortify_memset_chk',
    inlined from 'ath9k_ps_wakeup' at /home/db/openwrt/build_dir/target-mips_24kc_musl/linux-ath79_generic/backports-6.1.24/drivers/net/wireless/ath/ath9k/main.c:140:3:
./include/linux/fortify-string.h:314: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]
  314 |                         __write_overflow_field(p_size_field, size);
      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
2023-10-31 21:12:15 +01:00
Tianling Shen
2e7bff994d
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-10-29 11:03:06 +08:00
Zeyu Dong
4b0b90d3fa
mac80211: compile kconf with host gcc
Fix the building issue setting CC to KERNEL_CC in kernel.mk. The
kernel backports by default uses CC to compile kconf. A new patch is
added to mac80211 to compile kconf with host gcc.

Signed-off-by: Zeyu Dong <dzy201415@gmail.com>
[ refresh patches ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2023-10-28 21:34:23 +02:00
Tianling Shen
66a4cb971a
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-10-19 22:17:28 +08:00
Christian Marangi
bea4f50207
mac80211: rt2x00: improve EEPROM load patches
Improve EEPROME load patches. Reorganize and rework them.

The current patch are bugged and with the case of MTD loading, leaks and
never free the EEPROM read values.

Also add support for loading EEPROM using NVMEM cells.

As a cleanup, change the binding to swap EEPROM read from mtd to
ralink,eeprom-swap and generilize it.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2023-10-16 14:16:55 +02:00
Tianling Shen
663809cd0f
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-10-15 11:08:06 +08:00
Robert Marko
359a6e36e9 mac80211: ath11k: sync with ath-next
Synchronize the ath11k backports with the current ath-next tree.

All of the changes are various bugfixes, there is no new major feature.
Notable bugfixes are:
* WCN6855 board name fixes
* One MSI vector booting is working again
This is rather important for most of the older platforms.

* DFS CAC state in virtual interfaces was fixed
* TX power during CAC reporting

Signed-off-by: Robert Marko <robimarko@gmail.com>
2023-10-14 08:26:56 +02:00
Robert Marko
aab2e6d9ae mac80211: backport upstream DFS CAC time export
DFS CAC time export is required for backport of a ath11k fix so lets
backport the required cfg80211 upstream commit as well.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2023-10-14 08:26:56 +02:00
Tianling Shen
df11060923
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-09-23 11:46:05 +08:00
Shiji Yang
d152188906 mac80211: rt2x00: fix MT7620 low RSSI issue
Introducing SoC specific RSSI base value to fix the low RSSI issue
on MT7620. With this fix[1], the RSSI value reported by MT7620 will
increase by 10 dB.

[1] https://lore.kernel.org/linux-wireless/TYAP286MB031571CDB146C414A908A66DBCFEA@TYAP286MB0315.JPNP286.PROD.OUTLOOK.COM/

Fixes: https://github.com/openwrt/openwrt/issues/11036
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
2023-09-23 03:30:00 +01:00
Tianling Shen
57403533b9
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-09-19 10:04:49 +08:00
Felix Fietkau
13b24340d7 mac80211: backport upstream patch required for mt76 update
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-09-18 12:50:45 +02:00
Robert Marko
b33bfcf9fa
mac80211: ath11k: sync with ath-next
Synchronize the ath11k backports with the current ath-next tree.

All of the changes are various bugfixes, there is no new major feature.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2023-09-17 14:44:34 +02:00
Robert Marko
10eea40f7b
mac80211: ath11k: drop upstreamed patches
Commit ed3725e15a154ebebf44e0c34806c57525483f92
("wifi: ath11k: Fix qmi_msg_handler data structure initialization")
has been present upstream since 6.1.2 but it seems Quilt refreshed it
wrongly so it appeared like a completely different patch.

Commit 7c15430822e71e90203d87e6d0cfe83fa058b0dc
("wifi: ath11k: allow system suspend to survive ath11k")
has been present upstream since 6.1.16 but somehow quilt still happily
applied it.

So, drop both of them.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2023-09-17 14:44:30 +02:00
Tianling Shen
46c4f39158
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-09-16 16:58:57 +08:00
Tianling Shen
3f3094e87c
mac80211: ath11k: add workaround for memory leak issue
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-09-16 16:25:36 +08:00
Felix Fietkau
16889141d9 mac80211: fix AP reconfiguration on DFS channels in non-ETSI regdomain
Allow grace period for DFS available after shutting down beacons on the channel

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-09-14 19:13:35 +02:00
Tianling Shen
b9cda8a4e3
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-09-14 21:40:47 +08:00
Felix Fietkau
02b4dc93b6 mac80211: only add the mbssid option to the config when set
This avoids errors when the feature is not built into the hostapd binary

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-09-13 17:38:25 +02:00
Felix Fietkau
20c667cc88 hostapd: rework reload support and MAC address handling
MAC address and interface name assigned by mac80211.sh depend on the order in
which interfaces are brought up. This order changes when interfaces get added
or removed, which can cause unnecessary reload churn.

One part of the fix it making MAC address allocation more dynamic in both
wpa_supplicant and hostapd, by ignoring the provided MAC address using
the next available one, whenever the config does not explicitly specify one.

The other part is making use of support for renaming netdevs at runtime and
preserving the MAC address for renamed netdevs.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-09-13 12:37:44 +02:00
Felix Fietkau
651cb1422e mac80211: add multiple BSSID support
This advertises multiple BSS interfaces in a single set of beacons

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-09-13 12:37:44 +02:00
Felix Fietkau
da55eba968 mac80211: add support for configuring number of globally allocated MAC addresses
When a device has more than one reserved mac address, they can be used for
virtual interfaces without the local bit in the first byte

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-09-13 12:37:44 +02:00
Felix Fietkau
13c1080a3f hostapd: move mac address allocation from mac80211.sh to wdev.uc
Preparation for upcoming hostapd reload improvements

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-09-13 12:37:44 +02:00
Felix Fietkau
1688c47e3e mac80211: disable automatically created sta interfaces
They are not useful for anything on the system and are annoying when a PHY
is disabled in the config

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-09-13 11:57:06 +02:00
Felix Fietkau
2148579116 mac80211: add missing kernel modules for brcmfmac
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-09-13 09:45:56 +02:00
Felix Fietkau
20bd3502d3 mac80211: fix mesh id corruption on 32 bit systems
increase size of ifmsh->mbss_changed

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-09-12 15:35:24 +02:00
Tianling Shen
10602e722d
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-09-12 18:36:26 +08:00
Felix Fietkau
42fda2f64e mac80211: add missing dependency for iwlwifi
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-09-12 11:18:45 +02:00
Felix Fietkau
e648e3ccf9 mac80211: fix build regressions on linux 6.1
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-09-11 18:54:13 +02:00
Felix Fietkau
f861292abc mac80211: update to version 6.5
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-09-11 14:29:36 +02:00
Tianling Shen
3719159f66
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-09-04 21:09:31 +08:00
Felix Fietkau
4a0b1af905 hostapd: allow adding initial AP without breaking STA interface connection
When switching from a STA-only configuration to AP+STA on the same phy, the
STA was previously restarted in order to notify hostapd of the new frequency,
which might not match the AP configuration.
Fix the STA restart by querying the operating frequency from within hostapd
when bringing up the AP.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-09-03 09:51:28 +02:00
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