Commit Graph

5398 Commits

Author SHA1 Message Date
Tianling Shen
e4b2ac8644
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-11-16 13:41:26 +08:00
Robert Marko
17feb04ad4
qca-ssdk: disable building ISISC
ISISC is the QCA codename for their Atheros switch family including
AR237, QCA8337 etc.

Since we have qca8k support in OpenWrt, there is no need to have SSDK
support for these switches, and boards that also have external switches
can just use qca8k.

Disable QCA803x PHY support as well, since all of those are supportable
via at803x driver.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2023-11-15 11:01:56 +01:00
Tianling Shen
34a73e8435
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-11-15 15:54:20 +08:00
Tianling Shen
5d7917b891
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-11-14 14:01:11 +08:00
Robert Marko
14aeb471f2
qca-ssdk: disable PTP and swconfig by default
PTP and swconfig support in SSDK require kernel modifications we dont need
nor we want to support for now, so move the PTP and swconfig disablement
into general build options as they are not ipq807x specific.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2023-11-14 05:21:55 +01:00
Robert Marko
853db7be95
qca-ssdk: pass SoC to build
Recent SSDK versions started also parsing the "SoC" variable to identify
the SoC along with the "CHIP_TYPE".

We are not passing "SoC" currently and this leads to components we dont
need like MHT (New 2.5G quad port switch) being compiled and then unused,
so lets just pass the "SoC" as well.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2023-11-14 05:21:55 +01: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
Christian Marangi
e927456ec3
qca-ssdk: fix unsupported scenario with PORT1 not declared in switch bmp
Commit 947b44d ("ipq807x: fix wrong define for LAN and WAN ess mask")
started fixing wrong switch_lan_bmp that defined lan there weren't
actually present. This displayed a fragility in the malibu phy init code
in qca-ssdk.

Add patch to fix this. Also update each DTS with the new required
property if needed.

The new binding malibu_phy_start_addr is required with devices that
place the malibu first PHY referring port1 on a different PHY addres
than 0. The most common configuration is 0 but some device (for example
Qnap 301W) place the malibu PHY at an offset to address 16.

Refer to ipq8074-ess dtsi for extensive description on how to derive
this value.

Quoting the patch detailed description:

The usage of first_phy_addr is EXTREMELY FRAGILE and results
in dangerous results if the OEM (or anyone that by chance try to
implement things in a logical manner) deviates from the default values
from the "magical template".

To be in more details. With QSDK 12.4, some tweaks were done to improve
autoneg and now on every call of port status, the phydev is tried to
add. This resulted in the call and log spam of an error with ports that
are actually not present on the system with qsdk reporting phydev is
NULL. This itself is not an error and printing the error is correct.

What is actually an error from ages is setting generic bitmap reporting
presence of port that are actually not present. This is very common on
OEM where the switch_lan_bmp is always a variant of 0x1e (that on bitmap
results in PORT1 PORT2 PORT3 PORT4 present) or 0x3e (PORT1 PORT2 PORT3
PORT4 PORT5). Reality is that many device are used as AP with one LAN
port or one WAN port. (or even exotic configuration with PORT1 not
present and PORT2 PORT3 PORT4 present (Xiaomi 3600)

With this finding one can say... ok nice, then lets update the DT and
set the correct bitmap...

Again world is a bad place and reality is that this cause wonderful
regression in some case of by extreme luck the first ever connected
port working and the rest of the switch dead.

The problem has been bisected to all the device that doesn't have the
PORT1 declared in any of the bitmap.

With this prefaction in mind, on to the REAL problem.

malibu_phy_hw_init FOR SOME REASON, set a global variable first_phy_addr
to the first detected PHY addr that coincidentally is always PORT1.
PORT1 addr is 0x0. The entire code in malibu_phy use this variable to
derive the phy addrs in some function.

Declaring a bitmap where the PORT1 is missing (or worse PORT4 the only
one connected) result in first_phy_addr set to 1 or whatever phy addr is
detected first setting wrong value all over the init stage.

To fix this, introduce a new binding malibu_first_phy_addr to manually
declare the first phy that the malibu PHY driver should use and permit
to detach it from port bmp detection. The legacy detection is kept for
compatibility reason.

Fixes: #13945
Fixes: 947b44d9ae ("ipq807x: fix wrong define for LAN and WAN ess mask")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Tested-by: Robert Marko <robimarko@gmail.com> # Qnap 301W
Reviewed-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2023-11-13 14:27:16 +01:00
Christian Marangi
9b4628eaee
Revert "qca-ssdk: fix unsupported scenario with PORT1 not declared in switch bmp"
This reverts commit 8cce00bc9d.

The confusion was real and this change cause regression on other
advanced devices that makes actual use of the first_phy_addr value.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2023-11-13 14:27:16 +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
Lech Perczak
10b130161d kernel: kmod-usb-serial-mos7720: support parallel port in MCS7715
In-kernel driver for MCS7715 USB-serial bridge has a bool option,
enabling support for parallel port on that chip - which is tied to the
same kernel module. Enable it and select kmod-ppdev, as the image size
increase is minimal and the package isn't bundled in the images by
default.

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
2023-11-12 15:37:33 +01:00
Tianling Shen
b171717c5e
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-11-12 13:33:00 +08:00
Hannu Nyman
36b1dd75fd
ath10k-ct: Restore functionality after switch to 6.4 version
Adjust our local ath10k-ct patches to the change
from the -ct 6.2 version to 6.4.

This restores e.g. the LED functionality.

Fixes: 7d3651f1b9 ("ath10k-ct: switch to 6.4")
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2023-11-11 23:49:15 +01:00
Christian Marangi
8cce00bc9d
qca-ssdk: fix unsupported scenario with PORT1 not declared in switch bmp
Commit 947b44d9ae ("ipq807x: fix wrong define for LAN and WAN ess mask")
started fixing wrong switch_lan_bmp that defined lan there weren't
actually present. This displayed a fragility in the malibu phy init code
in qca-ssdk.

Add patch to fix this.

Quoting the patch detailed description:

I'm very confused by this and to me it's not clear the real usage of
this logic.

From what I can see the usage of this is EXTREMELY FRAGILE and results
in dangerous results if the OEM (or anyone that by chance try to
implement things in a logical manner) deviates from the default values
from the "magical template".

To be in more details. With QSDK 12.4, some tweaks were done to improve
autoneg and now on every call of port status, the phydev is tried to
add. This resulted in the call and log spam of an error with ports that
are actually not present on the system with qsdk reporting phydev is
NULL. This itself is not an error and printing the error is correct.

What is actually an error from ages is setting generic bitmap reporting
presence of port that are actually not present. This is very common on
OEM where the switch_lan_bmp is always a variant of 0x1e (that on bitmap
results in PORT1 PORT2 PORT3 PORT4 present) or 0x3e (PORT1 PORT2 PORT3
PORT4 PORT5). Reality is that many device are used as AP with one LAN
port or one WAN port. (or even exotic configuration with PORT1 not
present and PORT2 PORT3 PORT4 present (Xiaomi 3600)

With this finding one can say... ok nice, then lets update the DT and
set the correct bitmap...

Again world is a bad place and reality is that this cause wonderful
regression in some case of by extreme luck the first ever connected
port working and the rest of the switch dead.

The problem has been bisected to all the device that doesn't have the
PORT1 declared in any of the bitmap.

With this perfection in mind, on to the REAL problem.

malibu_phy_hw_init FOR SOME REASON, set a global variable first_phy_addr
to the first detected PHY addr that coincidentally is always PORT1.
PORT1 addr is 0x0. The entire code in malibu_phy use this variable to
derive the phy addrs in some function.

Declaring a bitmap where the PORT1 is missing (or worse PORT4 the only
one connected) result in first_phy_addr set to 1 or whatever phy addr is
detected first setting wrong value all over the init stage.

To fix this, just drop this variable and hardcode everything to assume
the first phy adrr is ALWAYS 0 and remove calculation and use define for
special case.

With the following change normal switch traffic is restored and ports
function is recovered.

Fixes: #13945
Fixes: 947b44d9ae ("ipq807x: fix wrong define for LAN and WAN ess mask")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2023-11-11 23:39:32 +01:00
Tianling Shen
0e31ff225b
kernel: netdevices: add missing Kconfig to ice driver
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-11-11 14:50:38 +08: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
aiamadeus
47575b9fba
r8168: update to 8.052.01 2023-11-09 21:46:23 +08:00
Tianling Shen
517d6f7ba9
r8152: Update to 2.17.1
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-11-09 21:45:29 +08:00
xlighting2017
18364402dd
r8125: update to 9.012.03-1 2023-11-09 21:38:06 +08:00
Robert Marko
eea264fead
kernel: qca-ssdk: update to 12.4
Update SSDK version to 12.4, this fixes weird SFP port link up/downs
while there is no SFP module plugged in.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2023-11-09 13:21:55 +01:00
Tianling Shen
fa6d637512
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-11-07 09:30:29 +08:00
Hauke Mehrtens
a15eb1cda0 bpf-headers: Fix download URL with kernel 6.1
This fixes the download of the kernel 5.15 for the bpf-headers when
kernel 6.1 is build for the target.

Even if kernel 6.1 was selected for the target we still use kernel 5.15
for the bpf-headers. The download script tried to download the 5.15
kernel from the 6.x directory on kernel,org and this failed. Define
PKG_SOURCE_URL based on PKG_PATCHVER and not KERNEL_BASE like done in
kernel.mk.

Without this change it tries to download the kernel from this URL:
ttps://cdn.kernel.org/pub/linux/kernel/v6.x/linux-5.15.129.tar.xz

Fixes: #13190
Fixes: #13671
Fixes: #13814
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2023-11-06 23:20:14 +01:00
Tianling Shen
2e4a94099a
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-11-03 15:10:06 +08:00
Christian Marangi
a0fa3a17a2
ath10k-ct: add patch fixing compilation error in debug
ath10k-ct based on kernel 6.4 doesn't have a fix present in previous
kernel. Add patch that port the compilation error fix from previous
kernel in the new 6.4 kernel.

Fixes: 7d3651f1b9 ("ath10k-ct: switch to 6.4")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2023-11-03 04:10:03 +01:00
Koen Vandeputte
7d3651f1b9
ath10k-ct: switch to 6.4
Switch to the latest version so we match as close as possible to
our own mac80211 version.

Run-time tested on hundreds of devices in the field for months now:
- qca988x (wave 1)
- qca4019 (wave 2)

Tested-by: Enrico Mioso <mrkiko.rs@gmail.com>
Signed-off-by: Koen Vandeputte <koen.vandeputte@citymesh.com>
2023-11-02 20:38:34 +01:00
Koen Vandeputte
8de3ee2e79
ath10k-ct: bump to latest upstream
92900bf("at10k-ct: fixup version info")

Tested-by: Enrico Mioso <mrkiko.rs@gmail.com>
Signed-off-by: Koen Vandeputte <koen.vandeputte@citymesh.com>
2023-11-02 20:38: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
Til Kaiser
76713f4b82 packages: add needed packages for Mellanox Spectrum Switches
Add needed kernel and firmware packages for Mellanox Spectrum
SN2000 Series Switches.

Signed-off-by: Til Kaiser <til.kaiser@gmx.de>
2023-10-31 21:12:15 +01: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
8eeb455a26
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-10-31 15:23:38 +08:00
Daniel Danzberger
9eecf49053 mt76: Add firmware package for MT7922
Adds the 2 required firmware files for MT7922 chips.

Signed-off-by: Daniel Danzberger <dd@embedd.com>
2023-10-29 22:39:16 +01:00
Rani Hod
62ada26de2 build: hide kmod-zram config unless enabled
Currently the zram default compressor choice is displayed whether or not
zram is activated. Since the default choice is lzo-rle, this adds a
false dependency on kmod-lib-lzo.
With this patch, the choice options appear only when activating zram.

Signed-off-by: Rani Hod <rani.hod@gmail.com>
2023-10-29 19:39:54 +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
e45c90cd26
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-10-27 18:20:12 +08:00
Liangbin Lian
7d6314851a kernel: usb-audio remove Kconfig USB_AUDIO
CONFIG_USB_AUDIO is a "USB Audio Gadget" driver, not a usb device driver

CONFIG_USB_AUDIO is "USB Audio support" before linux 2.6

Signed-off-by: Liangbin Lian <jjm2473@gmail.com>
2023-10-26 22:30:36 +02:00
Luca Barbato
0f9a281e6f kernel: Enable hwmon for nvme
Expose the temperature sensors as hwmon, it improves the overall
user experience since on tiny boards the nvme can become a substantial
source of heat.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Reviewed-by: Robert Marko <robimarko@gmail.com>
2023-10-26 22:19:58 +02:00
Linus Walleij
c1318bc73e
ixp4xx: Add a ixp4xx hardware crypto kernel module
The IXP4xx crypto module must be loaded after the rootfs is
up as it depends on loading some NPE microcode from the file
system.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2023-10-25 11:29:05 +02:00
Linus Walleij
fcd1c9cbcc
kernel: netdevices: Package AMD PHY
This adds a package for the AMD and Altima PHY, found in some
odd devices.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2023-10-25 11:23:57 +02:00
Tianling Shen
bae55c0ab3
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-10-23 20:15:37 +08:00