Commit Graph

61707 Commits

Author SHA1 Message Date
Felix Fietkau
580ad3e6bb mt76: update to Git HEAD (2024-08-21)
5c9fbdd64313 wifi: mt7915: fix wcid allocation leak
d547c25cabab wifi: mt76: mt7915: fix last argument to mt7915_mcu_add_sta
caed4843c5cd wifi: mt76: fix station muar index
3cd1c1740280 wifi: mt76: mt7915: hold dev->mt76.mutex while disabling tx worker
a5e630ef458c wifi: mt76: mt7916: fix regression in .sta_state migration

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2024-08-21 16:52:07 +02:00
Mark Mentovai
cddda1d44d x86: enable console keyboard
The kernel support necessary to use a console keyboard was not built on
x86, affecting real and virtual machines alike. The console keyboard
would function properly in GRUB, but would not work at all once Linux
booted. It appeared that the console was intended to work because
console video appeared on the display, including prompts to enter
failsafe or select the debug log level from the keyboard, and the prompt
to "Press Enter to activate this console", but there was no way to
provide input to it. All keystrokes were ignored.

This enables several kernel configuration options to enable HID and USB
HID support (CONFIG_HID, CONFIG_HID_SUPPORT, CONFIG_HID_GENERIC, and
CONFIG_USB_HID), making the keyboard functional. For alignment with
armsr, CONFIG_USB_HIDDEV is also added, although not strictly necessary
for keyboard support. Note that this change also causes
CONFIG_HID_HYPERV_MOUSE to be enabled for x86/64 and x86/generic: it was
already set in these subarchitectures' kernel configurations, but was
ineffective due to CONFIG_HID being absent.

The omission of keyboard support on x86 may not have been widely noticed
because USB HID is not used on production OpenWrt x86 machines such as
pc-engines,apu2 which only have a serial console, or with the default
x86 configuration used by scripts/qemustart, which uses -nographic and
does not configure a virtual physical console but instead uses a serial
console.

This configuration change results in, for x86_64, +40kB in kernel.bin
and just over +40kB in gzip-compressed "combined" images. This should
not be a problem for the non-storage-constrained x86 target.

Until 2a86425de1, CONFIG_HID, CONFIG_USB_HID, and CONFIG_USB_HIDDEV
were set in the target-level kernel configuration, and
CONFIG_HID_GENERIC was set at the subtarget level. These are
reintroduced strictly at the subtarget level by request. This applies to
the 64, generic, and legacy subtargets, omitting geode.

Fixes: https://github.com/openwrt/openwrt/issues/16157
Signed-off-by: Mark Mentovai <mark@mentovai.com>
Link: https://github.com/openwrt/openwrt/pull/16208
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-08-21 12:15:21 +02:00
Hauke Mehrtens
a2662309aa kernel: Enable CONFIG_ARM64_PAN to restrict kernel access to user space memory
Enable the CONFIG_ARM64_PAN kernel security option, which leverages the
ARMv8.1 Privileged Access Never (PAN) extension to prevent the kernel
from directly accessing user space memory.

Instead, copy_to_user and similar functions must be used for data
transfer between kernel and user space. This feature is automatically
disabled at runtime on CPUs without PAN support, making it a no-op in
those cases.

Link: https://github.com/openwrt/openwrt/pull/16189
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-08-21 00:21:05 +02:00
Hauke Mehrtens
fd6ce0dea9 kernel: Activate CONFIG_LIST_HARDENED
Activate the kernel option CONFIG_LIST_HARDENED for all targets.
This adds some inline checks to list_add() and list_del() operations
in the kernel. Before kernel 6.6 these checks were only available with
CONFIG_DEBUG_LIST option, but now a light version is available which
should only add very few extra instructions to such operations.

The performance penalty is very low from my point of view. It should
make it much harder to use bugs in Linux kernel list handling when
exploiting the Linux kernel.

Link: https://github.com/openwrt/openwrt/pull/16189
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-08-21 00:20:27 +02:00
Tianling Shen
1c61a8f958 rockchip: add Radxa ROCK 5B support
Hardware
--------
RockChip RK3588 ARM64 (8 cores)
4/8/16/32GB LPDDR4X RAM
2500 Base-T
RGB LED
eMMC Connector
SPI-NOR 16MB
Micro-SD Slot
2x USB 2.0 Port
2x USB 3.0 Port
Headphone Jack
M.2 E-Key
M.2 M-Key
USB PD 5/9/12/15/20V Power

Install
--------
Uncompress the OpenWrt sysupgrade and write it to a micro SD card or
internal eMMC using dd.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/16149
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-08-21 00:10:47 +02:00
Tianling Shen
ea249af456 uboot-rockchip: add ROCK 5B support
Add support for the Radxa ROCK 5B board.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/16149
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-08-21 00:10:47 +02:00
Tianling Shen
0cfd254913 rockchip: add Radxa ROCK 5A support
Hardware
--------
RockChip RK3588 ARM64 (8 cores)
4/8/16/32GB LPDDR4X RAM
1000 Base-T
Status LED
eMMC/SPI Connector
Micro-SD Slot
2x USB 3.0 Port
2x USB 2.0 Port
Headphone Jack
M.2 E-Key
USB PD/QC 5/9/12/15/20V Power

Install
--------
Uncompress the OpenWrt sysupgrade and write it to a micro SD card or
internal eMMC using dd.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/16149
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-08-21 00:10:47 +02:00
Tianling Shen
d44fcee73c uboot-rockchip: add ROCK 5A support
Add support for the Radxa ROCK 5A board.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/16149
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-08-21 00:10:47 +02:00
Tianling Shen
b672dd6e34 rockchip: extend BOARDNAME
Now we have rk3588 support :)

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/16149
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-08-21 00:10:47 +02:00
Tianling Shen
00dd39c289 rockchip: update Kconfig for rk3588
Enable OTP/USBDP drivers for rk3588.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/16149
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-08-21 00:10:47 +02:00
Tianling Shen
6a0a6c45ed rockchip: backport dts updates for rk3588
Backport upstreamed dts updates for rk3588.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/16149
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-08-21 00:10:47 +02:00
Tianling Shen
7108f5bd9f rockchip: backport driver updates for rk3588
Backport upstreamed clk/mfd/phy/usb updates for rk3588.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/16149
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-08-21 00:10:47 +02:00
Tianling Shen
c7c0b7bc02 rockchip: reorder patches
Reorder to start from 001.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/16149
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-08-21 00:10:47 +02:00
Zxl hhyccc
d1bbe65317 kernel: bump 6.1 to 6.1.106
https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.1.106

All patches automatically rebased.

Build system: bcm4908 bcm53xx

Signed-off-by: Zxl hhyccc <zxlhhy@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16174
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-08-20 23:45:07 +02:00
Zxl hhyccc
c296141d92 kernel: bump 6.1 to 6.1.105
https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.1.105

Removed upstreamed:
generic/backport-6.1/860-v6.6-bus-mhi-host-pci_generic-add-support-for-Telit-FE990.patch
See: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/diff/drivers/bus/mhi/host/pci_generic.c?h=v6.1.105&id=da578d3b2d236b50e356b1a9d770ad19165de31c

All other patches automatically rebased.

Build system: bcm4908 bcm53xx

Adjusted generic/config-6.1 for new ksym: ARM64_ERRATUM_3194386 and 3312417[2]

https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/diff/arch/arm64/Kconfig?h=linux-6.1.y&id=286c8ca924b220212fdeab81cb652fdaa77e38fe

Signed-off-by: Zxl hhyccc <zxlhhy@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16174
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-08-20 23:45:07 +02:00
John Audia
00aa9017fa kernel: bump 6.6 to 6.6.47
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.47

All patches automatically rebased.

Build system: x86/64
Build-tested: x86/64/AMD Cezanne, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3
Run-tested: x86/64/AMD Cezanne, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3
Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/16173
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-08-20 23:41:08 +02:00
John Audia
3eb08538c4 kernel: bump 6.6 to 6.6.46
This commit makes three changes all needed for the update of the 6.6 kernel.

1. Upstream kernel bump to 6.6.46

	Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.46
	Manually rebased:
        	bcm27xx/patches-6.6/950-0320-spi-spidev-Restore-loading-from-Device-Tree.patch
	All other patches automatically rebased.

2. Adjusted the following for new ksym[1] enabling it:

        armsr/config-6.6
        bcm27xx/bcm2712/config-6.6

3. Added a fix to receiving fraglist GSO packets:

	generic/pending-6.6/601-udp-fix-receiving-fraglist-GSO_packets.patch[2]

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/diff/arch/arm64/Kconfig?id=v6.6.46&id2=v6.6.45
2. https://marc.info/?l=linux-netdev&m=172407994500599&w=2

Build system: x86/64
Build-tested: x86/64/AMD Cezanne
Run-tested: x86/64/AMD Cezanne

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/16173
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-08-20 23:41:08 +02:00
Álvaro Fernández Rojas
2ae5bea856 Revert "bcm27xx: align and enable hwmon/thermal symbols"
This reverts commit f98f95359b.

It seems that this commit is causing issues with the PWM fan on the RPi 5 as
reported here: https://github.com/openwrt/openwrt/issues/16191

So let's revert this for now.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-08-20 18:01:33 +02:00
Samuele Longhi
ba9c269e1e bmips: bcm6328: add support for D-Link DSL-2750B rev B1
The D-Link DSL-2750B rev B1 (AW4339U) is a wifi fast ethernet router, 2.4 GHz single band
with two external antennas.

This ports the device from old target bcm63xx/generic to bmips/bcm6328.
The hardware is the same of D-Link DSL-2740B rev F1 and DSL-2741B rev F1, plus a usb2 port.

Hardware:
 - SoC: Broadcom BCM63281
 - CPU: single core BMIPS4350 @ 320Mhz
 - RAM: 64 MB (Nanya NT5TU32M16DG)
 - Flash: 8 MB NOR (Macronix MX25L6406ENI-12G)
 - Ethernet LAN: 4x 100Mbit (Broadcom BCM63281)
 - Wifi 2.4 GHz: 802.11bgn (Atheros AR9287)
 - USB: 1x 2.0
 - Buttons: 3x
 - LEDs: 10x
 - UART: yes

Installation via CFE web UI:
  1. Power off the router.
  2. Press reset button near the power switch.
  3. Keep it pressed while powering up during ~20+ seconds.
  4. Browse to http://192.168.1.1 and upload the firmware.
  5. Wait a few minutes for it to finish.

Signed-off-by: Samuele Longhi <agave@dracaena.it>
2024-08-20 16:19:11 +02:00
Álvaro Fernández Rojas
b75a7ca0bc bmips: fix gpio-leds DTS nodes
gpio-leds doesn't have reg property and pin number is not an address, so "-"
should be used instead of "@".
6e4436539a/Documentation/devicetree/bindings/leds/leds-gpio.yaml (L24)

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-08-20 12:21:04 +02:00
Álvaro Fernández Rojas
27b816d545 generic: 6.6: backport upstream r8169 patches
- improve RTL8411b phy-down fixup
- remove not needed check in rtl_fw_write_firmware
- remove multicast filter limit
- improve handling task scheduling
- simplify EEE handling
- simplify code by using core-provided pcpu stats allocation
- add generic rtl_set_eee_txidle_timer function
- support setting the EEE tx idle timer on RTL8168h
- add support for returning tx_lpi_timer in ethtool get_eee
- annotate writes on dev->mtu from ndo_change_mtu()
- disable interrupt source RxOverflow
- remove detection of chip version 11 (early RTL8168b)

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-08-19 20:40:59 +02:00
Álvaro Fernández Rojas
400acae2b9 bcm53xx: refresh 6.6 kernel patches
Refresh bcm53xx kernel patches after 17f07040e7.

Fixes: 17f07040e7 ("kernel: prevent tunnel drivers from mangling fraglist GSO packets")
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-08-19 20:39:03 +02:00
Álvaro Fernández Rojas
052732bddb generic: 6.6: fix early RTL8221B detection
Fixes the issue of RTL8221B-VB-CG not being detected correctly after ca44690.

Fixes: ca4469045f ("generic: 6.6: backport upstream RealTek PHY patches")
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-08-19 18:46:18 +01:00
Álvaro Fernández Rojas
5eec1df01e generic: 6.6: backport realtek phy patches from v6.11
- add support for rtl8224 2.5Gbps PHY
- add support for PHY LEDs on RTL8211F

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-08-19 18:46:18 +01:00
Mark Mentovai
1310e4f1ae failsafe: fix console failsafe shell
When running a failsafe shell on a console, job control was unavailable,
and ^C did not function correctly.

This change invokes console failsafe shells via `setsid`, making them
session leaders and allowing them to claim controlling terminals, which
makes job control function properly. To support this, the busybox
`setsid` utility is enabled. This has a minimal 149-byte size impact on
a test x86_64 squashfs rootfs image.

^C was ignored in subprocesses of failsafe shells: it was not possible
to ^C out of a program that would not exit on its own, such as many
typical `ping` invocations. As job control was unavailable, it was not
possible to suspend these subprocesses either, causing a hung program to
tie up a console indefinitely, unless another means to signal the
program was available. This was caused by SIGINT being placed at
disposition SIG_IGN by the shell running preinit, which it did because
the console shell was executed asynchronously with &. That disposition
was inherited by the console shell and its subprocesses, generally
causing ^C to have no effect.

As there is no way in busybox `ash` to reset the disposition of a signal
already ignored at shell entry, and no apparent way to avoid SIGINT
being placed at SIG_IGN when & is used in preinit, an alternative
construct is needed. Now, `start-stop-daemon` is used to start (-S) the
console failsafe shell in the background (-b). This approach does not
alter SIGINT, allowing the console shell to be started with that
signal's handling intact, and normal ^C processing to occur.

busybox `ash` has some behaviors conditional on SHLVL, and while the
console shells ought to run at SHLVL=1, they were not by virtue of being
started by the shell-based preinit system. Additionally, a variety of
detritus was present in the console shell's environment, carried over
from preinit. These conditions are corrected by running the console
shell via `env -i` to clear the environment and establish a minimum and
correct set of environment variables for operation, in the same manner
as `login`. HOME is not explicitly set, because it's addressed in
/etc/profile. For non-failsafe console shells when
system.@system[0].ttylogin = 0, `login -f root` achieves a similar
effect. (`login` already started non-failsafe console shells when
ttylogin = 1 and behaved correctly. This brings the ttylogin = 0 case to
parity.) Note that even `login -f` is somewhat undesirable for failsafe
shells because it requires a viable /etc/passwd, hence the `env -i`
construct in that case.

The TERM environment variable from the preinit environment, with value
"linux", would rarely be correct for serial consoles. Now, the preinit
TERM value is preserved (or set to "linux" if unset) only when the
console is /dev/console or /dev/tty[0-9]*. Otherwise, it will be set to
a safe default appropriate for serial consoles, "vt102", as used for
serial consoles by busybox init. This "linux"/"vt102" TERM setting is
also duplicated for non-failsafe console shells.

This also indicates failsafe mode by showing "- failsafe -" on all
consoles (not just the last-defined one). It sets a hostname of
"OpenWrt-failsafe" in failsafe mode which is rendered in the shell's
prompt as a reminder of the mode during interactive failsafe use.
Previously, no hostname was set, which resulted in the kernel-default
hostname, "(none)", appearing in failsafe shell prompts.

Signed-off-by: Mark Mentovai <mark@mentovai.com>
Link: https://github.com/openwrt/openwrt/pull/16113
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-08-19 18:55:00 +02:00
Matt Eaton
60951f0515 xfrm: remove requirement for underlying device
Since kernel 5.3, phydev (dev) is no longer required

   torvalds/linux@22d6552

Signed-off-by: Matt Eaton <git@divinehawk.com>
Link: https://github.com/openwrt/openwrt/pull/16046
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-08-19 18:49:49 +02:00
Sylvain Monné
88186c85f9 uhttpd: restart daemon if certificate has changed
Fixes #16075

When the SSL certificate used by uhttpd has been changed, calling
`/etc/init.d/uhttpd reload` will now have the effect of restarting the
daemon to make the change effective.

Signed-off-by: Sylvain Monné <sylvain@monne.contact>
Link: https://github.com/openwrt/openwrt/pull/16076
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-08-19 18:46:08 +02:00
Rosen Penev
7abc89dabe mpc85xx: panda: use DSA B53 driver
It's upstream and a replacement for the swconfig driver.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16124
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-08-19 18:42:45 +02:00
Rosen Penev
40452223d6 ramips: ethernet: use devm for request_irq
Allows removing free_irq. Simpler.

Oddly enough the other switch code already does this.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16050
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-08-19 10:45:06 +02:00
Álvaro Fernández Rojas
5d2a008670 kernel: r8126: print link status when link up
Like other Ethernet drivers, print link speed and duplex mode
when the interface is up. Formatting output at the same time.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
2024-08-18 19:57:47 +02:00
Álvaro Fernández Rojas
a57a3e5cc5 kernel: r8125: print link status when link up
Like other Ethernet drivers, print link speed and duplex mode
when the interface is up. Formatting output at the same time.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
2024-08-18 19:57:41 +02:00
Álvaro Fernández Rojas
2f846a3315 kernel: r8168: print link status when link up
Like other Ethernet drivers, print link speed and duplex mode
when the interface is up. Formatting output at the same time.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
2024-08-18 19:57:36 +02:00
Álvaro Fernández Rojas
fe0240f27e kernel: r8101: print link status when link up
Like other Ethernet drivers, print link speed and duplex mode
when the interface is up. Formatting output at the same time.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-08-18 19:31:55 +02:00
Álvaro Fernández Rojas
8d9893ff34 kernel: r8126: ignore the rss rxnfc log
This log is noisy and useless, just ignore it.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
2024-08-18 11:38:40 +02:00
Chukun Pan
2fd0102cc3 kernel: r8125: ignore the rss rxnfc log
This log is noisy and useless, just ignore it.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
2024-08-18 11:38:40 +02:00
Felix Fietkau
8d25723865 mt76: update to Git HEAD (2024-08-18)
0ac3041a9ac8 wifi: mt76: fix off-channel wcid pending queue handling

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2024-08-18 09:55:46 +02:00
Álvaro Fernández Rojas
b72c4b5386 package: add kmod-r8101 ethernet driver
r8101 is an out of tree driver provided by Realtek for RTL8101 devices.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-08-16 20:40:34 +02:00
Álvaro Fernández Rojas
8208d36220 kernel: r8168/r8125/r8126: update PKG_SOURCE_URL
r8168, r8125 and r8126 have been transferred from https://github.com/noltari to
https://github.com/openwrt.
The old URL should still work after the transfer, but let's update it anyway.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-08-16 20:37:41 +02:00
Felix Fietkau
20bf5f35e7 mt76: update to Git HEAD (2024-08-16)
58d187e4a97c wifi: mt76: mt792x: add struct mt792x_bss_conf
eb278f9863be wifi: mt76: mt792x: add struct mt792x_link_sta
156bd77d3264 wifi: mt76: mt792x: add struct mt792x_chanctx
017001536f34 wifi: mt76: mt7925: support for split bss_info_changed method
f6979f7bac2d wifi: mt76: mt792x: extend mt76_connac_mcu_uni_add_dev for per-link BSS
a72414b0929b wifi: mt76: mt7925: extend mt7925_mcu_set_tx with for per-link BSS
ccc741182b32 wifi: mt76: mt7925: extend mt7925_mcu_add_bss_info for per-link BSS
a6072c1cb337 wifi: mt76: mt7925: extend mt7925_mcu_set_timing for per-link BSS
8bc843c9a1bc wifi: mt76: mt7925: extend mt7925_mcu_bss_ifs_tlv for per-link BSS
57770675f269 wifi: mt76: mt7925: extend mt7925_mcu_bss_color_tlv for per-link BSS
69cbc0f03c2e wifi: mt76: mt7925: extend mt7925_mcu_bss_he_tlv for per-link BSS
36712505c8c6 wifi: mt76: mt7925: extend mt7925_mcu_bss_qos_tlv for per-link BSS
5399d0439cc6 wifi: mt76: mt7925: extend mt7925_mcu_bss_mld_tlv for per-link BSS
92abc8b3efb4 wifi: mt76: mt7925: extend mt7925_mcu_bss_bmc_tlv for per-link BSS
cca65ef81a47 wifi: mt76: mt7925: remove unused parameters in mt7925_mcu_bss_bmc_tlv
7a4997a2fc70 wifi: mt76: mt7925: extend mt7925_mcu_bss_sec_tlv for per-link BSS
eafc690d3e00 wifi: mt76: mt7925: extend mt7925_mcu_bss_basic_tlv for per-link BSS
a215af375b85 wifi: mt76: mt7925: extend mt7925_mcu_set_bss_pm for per-link BSS
b310e0dd4245 wifi: mt76: mt7925: extend mt7925_mcu_[abort, set]_roc for per-link BSS
b71940427ae7 wifi: mt76: mt7925: extend mt7925_mcu_uni_bss_bcnft for per-link BSS
4e2eadef7d59 wifi: mt76: mt7925: extend mt7925_mcu_uni_bss_ps for per-link BSS
0bec7c7124f7 wifi: mt76: mt7925: add mt7925_mcu_bss_rlm_tlv to constitue the RLM TLV
21d15e680a6d wifi: mt76: mt7925: mt7925_mcu_set_chctx rely on mt7925_mcu_bss_rlm_tlv
63e0bb14bd71 wifi: mt76: mt7925: extend mt7925_mcu_sta_update for per-link STA
f5a819c97e71 wifi: mt76: mt7925: extend mt7925_mcu_sta_state_v2_tlv for per-link STA
737235764c4c wifi: mt76: mt7925: extend mt7925_mcu_sta_rate_ctrl_tlv with per-link STA
a59201b4f003 wifi: mt76: mt7925: extend mt7925_mcu_sta_eht_tlv for per-link STA
25e12096e568 wifi: mt76: mt7925: extend mt7925_mcu_sta_he_6g_tlv for per-link STA
5e326a87bc46 wifi: mt76: mt7925: extend mt7925_mcu_sta_he_tlv for per-link STA
5c21555c6c79 wifi: mt76: mt7925: extend mt7925_mcu_sta_amsdu_tlv for per-link STA
d5bb9a9e735c wifi: mt76: mt7925: extend mt7925_mcu_sta_vht_tlv for per-link STA
a9e4e795652c wifi: mt76: mt7925: extend mt7925_mcu_sta_ht_tlv for per-link STA
daccf349f24f wifi: mt76: mt7925: extend mt7925_mcu_sta_phy_tlv for per-link STA
454b8f332428 wifi: mt76: mt7925: extend mt7925_get_phy_mode_ext for per-link STA
54dad0c287a5 wifi: mt76: mt7925: extend mt7925_get_phy_mode for per-link STA
c7248fea9557 wifi: mt76: mt792x: extend mt76_connac_get_phy_mode_v2 for per-link STA
afe6c142b1ee wifi: mt76: mt762x: extend mt76_connac_mcu_sta_basic_tlv for per-link STA
bb8bc43f3400 wifi: mt76: mt7925: extend mt7925_mcu_sta_hdr_trans_tlv for per-link STA
92262378ae20 wifi: mt76: mt7925: extend mt7925_mcu_add_bss_info for per-link STA
371667695674 wifi: mt76: mt7925: extend mt7925_mcu_bss_mld_tlv for per-link STA
990e9c62a7f2 wifi: mt76: mt7925: extend mt7925_mcu_bss_basic_tlv for per-link STA
070efb705591 wifi: mt76: mt7925: add mt7925_mac_link_sta_add to create per-link STA
90a7976363a7 wifi: mt76: mt7925: add mt7925_mac_link_sta_assoc to associate per-link STA
8695a2500bbd wifi: mt76: mt7925: add mt7925_mac_link_sta_remove to remove per-link STA
ac251c6d65e1 wifi: mt76: mt7925: add mt7925_mac_link_bss_add to create per-link BSS
f4f4e3238dc1 wifi: mt76: mt7925: add mt7925_mac_link_bss_remove to remove per-link BSS
64378d3a036e wifi: mt76: mt7925: simpify mt7925_mcu_sta_cmd logic by removing fw_offload
436e75a67e40 wifi: mt76: mt7925: update mt76_connac_mcu_uni_add_dev for MLO
aa913a43f20c wifi: mt76: mt7925: update mt7925_mac_link_sta_[add, assoc, remove] for MLO
74d518be9812 wifi: mt76: mt7925: set Tx queue parameters according to link id
94e751a0f549 wifi: mt76: mt7925: set mt7925_mcu_sta_key_tlv according to link id
15054d71a61a wifi: mt76: mt7925: add mt7925_set_link_key
41e7149458ef wifi: mt76: mt7925: extend mt7925_mcu_uni_roc_event
56064fc172b7 wifi: mt76: mt7925: add mt7925_change_vif_links
74138b229be6 wifi: mt76: mt7925: add mt7925_change_sta_links
6f628298f9ae wifi: mt76: mt7925: add link handling in mt7925_mac_sta_add
79f3aaf2765a wifi: mt76: mt7925: add link handling in mt7925_mac_sta_remove
950578348506 wifi: mt76: mt7925: add link handling to txwi
b6a07bce6000 wifi: mt76: mt7925: add link handling in mt7925_set_key
f1a7ab0544ae wifi: mt76: mt7925: add link handling to mt7925_change_chanctx
14d2ae0cdf16 wifi: mt76: mt7925: add link handling in the BSS_CHANGED_PS handler
f68bdb9b9d64 wifi: mt76: mt7925: add link handling in mt7925_mcu_set_beacon_filter
18ee40e548d1 wifi: mt76: mt7925: add link handling in mt7925_txwi_free
415503c237cf wifi: mt76: mt7925: add link handling in mt7925_mac_sta_assoc
6dfcb265aa97 wifi: mt76: mt7925: add link handling in mt7925_sta_set_decap_offload
18471bb0d671 wifi: mt76: mt7925: add link handling in mt7925_vif_connect_iter
ac8ab0853432 wifi: mt76: mt7925: add link handling in the BSS_CHANGED_ARP_FILTER handler
b14f7c02c79c wifi: mt76: mt7925: add link handling in the mt7925_ipv6_addr_change
6ebeb5f0150d wifi: mt76: mt7925: update rate index according to link id
ebd522981ba6 wifi: mt76: mt7925: report link information in rx status
2304e6146cf9 wifi: mt76: add def_wcid to struct mt76_wcid
1fc2bab3f510 wifi: mt76: mt7925: add mt7925_[assign,unassign]_vif_chanctx
2a23c1e5fef2 wifi: mt76: mt7925: update mt7925_mcu_sta_mld_tlv for MLO
2a226b8c06f7 wifi: mt76: mt7925: update mt7925_mcu_bss_mld_tlv for MLO
45df65348e26 wifi: mt76: mt7925: update mt7925_mcu_add_bss_info for MLO
7eb17943de6b wifi: mt76: mt7925: update mt7925_mcu_sta_update for MLO
d2b28297551e wifi: mt76: mt7925: add mt7925_mcu_sta_eht_mld_tlv for MLO
e385735a67a1 wifi: mt76: mt7925: update mt7925_mcu_sta_rate_ctrl_tlv for MLO
aedb640a90ad wifi: mt76: mt7925: update mt7925_mcu_sta_phy_tlv for MLO
6a3af6e618e4 wifi: mt76: mt7925: update mt7925_mcu_set_timing for MLO
783bb8314585 wifi: mt76: mt7925: update mt7925_mcu_bss_basic_tlv for MLO
17f5ef8058ef wifi: mt76: mt7925: update mt7925_mac_link_bss_add for MLO
94fe68018774 wifi: mt76: mt7925: remove the unused mt7925_mcu_set_chan_info
e0b4763428eb wifi: mt76: mt7925: enabling MLO when the firmware supports it
3a367258d9d6 wifi: mt76: mt792x: fix scheduler interference in drv own process
b6fd8fe5d260 wifi: mt76: mt7996: Use DECLARE_FLEX_ARRAY() and fix -Warray-bounds warnings
e25fb9a010f9 wifi: mt76: mt7921: add missing bss_conf vif init
6585a4353a51 wifi: mt76: mt7921: fix crash on ipv6 addr notification during vif bringup
fdba7f408873 wifi: mt76: fix mt76_get_rate
c13032ba4721 wifi: mt76: mt7915: always query station rx rate from firmware
d5286f465f83 wifi: mt76: connac: add support for IEEE 802.11 fragmentation
c4c66f6b119d wifi: mt76: mt7915: add dummy HW offload of IEEE 802.11 fragmentation
b4da028f990a wifi: mt76: mt7915: fix rx filter setting for bfee functionality
6ccafa50c647 firmware: update firmware for MT7915 to 20240429200502
b80c997b3ff6 wifi: mt76: partially move channel change code to core
891031ee051d wifi: mt76: add separate tx scheduling queue for off-channel tx
4eea0786d83f wifi: mt76: mt7915: disable tx worker during tx BA session enable/disable
e0a409af5526 wifi: mt76: mt7915: allocate vif wcid in the same range as stations
1305484d044a wifi: mt76: connac: add support for passing connection state directly
ea8c3eac128e wifi: mt76: change .sta_assoc callback to .sta_event
5af2f7c8e884 wifi: mt76: mt7915: use mac80211 .sta_state op
863b3a5f521e wifi: mt76: mt7915: set MT76_MCU_RESET early in mt7915_mac_full_reset
a1a65d860812 wifi: mt76: mt7915: retry mcu messages
362fec004cea wifi: mt76: mt7915: reset the device after MCU timeout
37955a4d08db wifi: mt76: mt7996: use hweight16 to get correct tx antenna
b980637b11e8 wifi: mt76: mt7996: fix traffic delay when switching back to working channel
a5aa259fb137 wifi: mt76: mt7996: fix wmm set of station interface to 3
8e2f906cb154 wifi: mt76: mt7996: advertize beacon_int_min_gcd
bf2eeec731c6 wifi: mt76: mt7996: fix HE and EHT beamforming capabilities
c2c6940e60c4 wifi: mt76: mt7996: set correct beamformee SS capability
5cf02b0a2682 wifi: mt76: mt7996: fix EHT beamforming capability check
4a90f927311c wifi: mt76: mt7996: set correct value in beamforming mcu command for mt7992
c4e34c8bb963 wifi: mt76: mt7996: fix handling mbss enable/disable
bb6a5dbbb7aa wifi: mt76: connac: add IEEE 802.11 fragmentation support for mt7996
437ec1b9e282 wifi: mt76: mt7996: set IEEE80211_KEY_FLAG_GENERATE_MMIE for other ciphers

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2024-08-16 19:58:57 +02:00
Daniel Golle
1591e2d4cc arm-trusted-firmware-mediatek: build RAM boot images for MT7622
Build images for use with mtk_uartboot also for MT7622.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-08-16 13:17:55 +01:00
Daniel Golle
6347bf799a arm-trusted-firmware-mediatek: only build bl2 for RAM boot images
There is no need to build BL31 as anyway only the bl2 image is
relevant for use with mtk_uartboot. Build only bl2 in this case.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-08-16 13:17:55 +01:00
Chuanhong Guo
9cf6ce5179 toolchain: binutils: add support for 2.43
Drop two backported patches, and autorefresh the rest.

Release notes:
https://lists.gnu.org/archive/html/info-gnu/2024-08/msg00001.html

Link: https://github.com/openwrt/openwrt/pull/16175
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
2024-08-16 20:10:38 +08:00
Felix Fietkau
17f07040e7 kernel: prevent tunnel drivers from mangling fraglist GSO packets
Fixes crashes on segmenting packets, mainly when dereferencing a no longer
existing fragment chain.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2024-08-16 10:07:01 +02:00
Felix Fietkau
79fce42404 kernel: backport upstream GSO improvements
Fixes some corner cases regarding segmenting packets that were assembled
by GRO.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2024-08-16 10:07:01 +02:00
Daniel Golle
e497c975d3 ramips: mt76x8: add support for Yuncore M300
Hardware:
 - SoC: MediaTek MT7628DAN (MIPS 580MHz)
 - Flash: 8 MiB Spansion S25FL064K
 - RAM: 64 MiB (built-into SoC)
 - WLAN: 2.4 GHz (MT7628)
 - Ethernet: 1x 10/100 Mbps WAN, 1x 10/100 LAN (MT7628)
 - Buttons: 1 Reset button
 - LEDs: 1x Red, 1x Green
 - Serial console: unpopulated header, 57600 8n1 (RX only)
 - Power: 12 VDC, 1 A

There are unpopulated areas on the board for 5 GHz WiFi via PCIe as well
as (most likely) Quectel EG25-G 4G module. As both are not populated on
my board support for both is missing for now.

Installation:
The installation can be done via the recovery HTTP server which is built
into the bootloader. Hold down the reset button while connecting the
device to power and keep holding a bit more than 3 seconds. Connect to
http://192.168.188.253/ and upload sysupgrade.bin file.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-08-15 03:19:30 +01:00
Romanov Danila
089c25f466 kernel: Fix section mismatch in ubi
Fix ubiblock_create_from_param() ubiblock_create_auto_rootfs section mismatch.
Without this, the system upgrade will not work if the kernel was compiled with clang-18.

WARNING: modpost: vmlinux: section mismatch in reference: ubiblock_notify+0x190 (section: .text) -> ubiblock_create_auto_rootfs (section: .init.text)

```
[33342.080771] Call trace:
[33342.083205]  ubiblock_create_auto_rootfs+0x0/0xd0
[33342.087902]  blocking_notifier_call_chain+0xb0/0x1a0
[33342.092857]  ubi_volume_notify+0xcc/0xdc
[33342.096773]  ubi_create_volume+0x520/0x684
[33342.100861]  ubi_cdev_ioctl+0x2ac/0x834
[33342.104688]  __arm64_sys_ioctl+0x14f0/0x15f4
[33342.108947]  invoke_syscall+0x44/0xc8
[33342.112601]  do_el0_svc+0x78/0xa8
[33342.115907]  el0_svc+0x24/0x50
[33342.118951]  el0t_64_sync_handler+0x88/0xf0
[33342.123126]  el0t_64_sync+0x150/0x154
[33342.126784] Code: ???????? ???????? ???????? ???????? (????????)
```
Signed-off-by: Romanov Danila <pervokur@gmail.com>
2024-08-15 02:00:22 +01:00
Marek Behún
b51abacb5f config: kernel: Add support for configuring BTRFS to be built-in
Add the KERNEL_BTRFS_FS config option so that targets can select
whether BTRFS support must be built-in.

Select this option (alongside KERNEL_BTRFS_FS_POSIX_ACL) from the
layerscape/armv8_64b subtarget instead of enabling it in
target/linux/layerscape/armv8_64b/config-* files.

Move disabling of CONFIG_BTRFS_FS_CHECK_INTEGRITY into generic configs.

This makes it possible for OpenWRT to be built with built-in BTRFS
support on specific boards, instead of whole targets.

Signed-off-by: Marek Behún <kabel@kernel.org>
Link: https://github.com/openwrt/openwrt/pull/15990
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-08-15 00:35:17 +02:00
Roland Reinl
2fbffb3643 mediatek: Add support for Linksys EA7500 v3
Specification:
- MT7629 CPU
- MT7531 switch
- MT7761N and MT7762N wifi
- 256 MB RAM
- 128 MB NAND flash with dual-boot partitions
- 2 buttons: WPS and reset
- 1 WAN port (1G)
- 4 LAN ports (1G)
- 1 USB port

Limitations (same as other MT7629/MT7761N/MT7762N devices):
- Wifi is not working
- Second core is not working (kernel error message "CPU1: failed to come online")

Disassembly:
- There are two screws under the front rubber feet and two under the label on the bottom (in the corners towards the back, you should be able to feel them).

Serial Interface:
- UART pin header is already soldered on the board. Pinning from front to back:
1 - VCC
2 - TX
3 - RX
4 - n/a
5 - GND

GPIO:
- 1 white LED, connected to GPIO 52
- 1 reset button, connected to GPIO 60
- 1 WPS button, connected to GPIO 58

MAC Adresses:
- The MAC address printed on the device label is used for LAN and WAN
- The MAC address is stored in the devinfo partition in ASCII format (hw_mac_addr=aa:bb:cc:dd:ee)
- 2.4 GHz wifi uses MAC of the device label + 1
- 5 GHz wifi uses MAC of the device label + 2

Flashing:
- OpenWrt is only runnig in the first partition of dual boot
- To ensure to be able to go back to the factory image, flash the last OEM firmware via OEM web interface. This will ensure that the OEM firmware is present on both partitions
- Because of dual boot partitions, flashing via OEM interface is not supported
- Start a TFTP server and provide the initramfs image. Default settings:
  - Router IP: 192.168.1.1
  - TFTP server IP: 192.168.1.100
  - TFTP file name: 7531.bin
- Open the device, connect UART and select " 1. System Load Linux to SDRAM via TFTP." during startup
- Adapt the settings to your environment, if required
- After initramfs is booted, flash the sysupgrade image

Return to OEM firmware:
- Run the following commands in OpenWrt to switch to the second partition
  fw_setenv boot_part 2
  fw_setenv bootimage 2
- Reboot the device. OEM firmware will start up again

Signed-off-by: Roland Reinl <reinlroland+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16067
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-08-15 00:13:20 +02:00
FUKAUMI Naoki
ced78ccb2f rockchip: fix sysupgrade for Radxa ROCK Pi S
SUPPORTED_DEVICES is required for Radxa ROCK Pi S.

Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
Link: https://github.com/openwrt/openwrt/pull/16167
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-08-14 23:29:45 +02:00
Antonio Flores
63412038dc mac80211: add rtw89 driver
This commits adds the RTW89 driver from Realtek.
Supports the Realtek 8851BE/8852AE/8852BE/8852CE PCIe wireless chips.

Signed-off-by: Antonio Flores <antflores627@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16131
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-08-14 23:26:26 +02:00