]> git.ipfire.org Git - thirdparty/openwrt.git/log
thirdparty/openwrt.git
4 weeks agoapk: add --force-reinstall option
Felix Fietkau [Sun, 8 Mar 2026 15:32:00 +0000 (15:32 +0000)] 
apk: add --force-reinstall option

Allow reinstalling already-installed packages without a version change.
Only the named packages are reinstalled, not their dependencies.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
4 weeks agoomcproxy: update to Git HEAD (2026-03-07) 22317/head
Álvaro Fernández Rojas [Sat, 7 Mar 2026 14:54:29 +0000 (15:54 +0100)] 
omcproxy: update to Git HEAD (2026-03-07)

3abb601ab77f mrib: receive_mrt: workaround for RTL8373 queries
e25491f27af3 Revert "mrib: receive_mrt: workaround for RTL8373 queries"
cd20f3a4b4f1 mrib: receive_mrt: workaround for RTL8373 queries
cad82dc5cb65 formal: fix workflow permissions
997a981ae375 github: ci: add MIPS64, PowerPC64 and RISCV64
e646f462daeb github: ci: add powerpc arch
b3d1e2e48cf4 github: ci: add cmake build and source directories
de4353546064 github: ci: disable json-c tests
2be7e63d9b68 scripts: devel-build: disable json-c tests
36adc79c7b76 github: fix CI apt dependencies
11e45f6cfe10 README: update build instructions
78eea9b83a93 omcproxy: use syslog mask for logging level
9f0a1454de10 github: add CI build
49df5f5b8704 omcproxy: add a simple build script
757c1c704c9d libubox: remove submodule
8957f6c2557b omcproxy: update cmake file
848d696419eb proxy: fix indentation warning

Link: https://github.com/openwrt/openwrt/pull/22317
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 weeks agorealtek: pending upstream rtl9300 i2c speed patch 22209/head
Jan Kantert [Sat, 28 Feb 2026 23:14:10 +0000 (00:14 +0100)] 
realtek: pending upstream rtl9300 i2c speed patch

Some 10G optics showed random "module transmit fault indicated" due to I2C
read errors on ONTi ONT-S508CL-8S/XikeStor SKS8300-8X switches. The same
modules work with the original firmware and on other Linux based devices.

There seems to be some differences in how we talk to those modules using
I2C in OpenWRT. To fix this this patch adds support for 50kHz I2C speed on
SFPs and enables that for XikeStor/Onti devices. Since SFPs only transmit
very few bytes this should not have any real downsides.

This patch adds support in the i2c driver for 50kHz and 2.5MHz. In a
second PR I will configure 50kHz in the DTS for the affected devices.

Signed-off-by: Jan Kantert <jan-openwrt@kantert.net>
Link: https://github.com/openwrt/openwrt/pull/22209
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 weeks agortl93xx: dsa: Handle lag_change properly 21740/head
Harshal Gohel [Tue, 27 Jan 2026 11:35:16 +0000 (11:35 +0000)] 
rtl93xx: dsa: Handle lag_change properly

LACP frequently changes active/backup links. driver must also handle
dp->lag_tx_enabled.

This should only affect egress LAG table, ingress should not be touched.
To test, connect a known working 802.3ad compatible switch (Mikrotik).
Configure bond with 802.3ad on openwrt as well as mikrotik.
Observer active/backup links on openwrt with
```
for iface in <list of bond participants>; do
ip -d link show $iface
done
```
This should show ACTIVE/BACKUP status which must be synchronized with
the partner's ACTIVE/BACKUP status if LACP is working correctly.

Backup interface must not be chosen by the distribution algorithm to
transmit egress packet

At the moment, we have two parties involved in the selection of active LAG TX
ports:
- the bonding/DSA code which informs about activated/deactivated ports using
  .port_lag_change
- the HW which is deactivating ports based on the link state see
  RTL93XX_TRK_CTRL_LINK_DOWN_AVOID

In our case, the software is supposed to manage everything

Co-developed-by: Sven Eckelmann <se@simonwunderlich.de>
Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Signed-off-by: Harshal Gohel <hg@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/21740
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 weeks agorealtek: dsa: rtl93xx: Add link aggregation support
Harshal Gohel [Tue, 27 Jan 2026 11:33:07 +0000 (11:33 +0000)] 
realtek: dsa: rtl93xx: Add link aggregation support

With this commit it is possible to create 802.3ad compatible bond
interface that is interoperable with other 802.3ad compatible switches.

Each trunk group can have maximum of 8 ports as members.
Hardware also supports trunking with stacked switches, however it is not
handled here and the driver only configures the local trunk.

rtl930x and rtl931x has minimal differences in trunk/lag

Co-developed-by: Sven Eckelmann <se@simonwunderlich.de>
Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Signed-off-by: Harshal Gohel <hg@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/21740
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 weeks agorealtek: dsa: rtl93xx: Initialize trunk on probe
Harshal Gohel [Tue, 27 Jan 2026 09:41:39 +0000 (09:41 +0000)] 
realtek: dsa: rtl93xx: Initialize trunk on probe

rtl93xx has two distribution algorithm slots that are shared among
multiple trunks.
Each of this slot can be configured to handle L2 and/or L3 packets

Hardware can also be configured to support layer3+4 but that is not
802.3ad compliant. With this commmit I want to focus on getting
layer2 and layer2+3 initialized in two slots.
When a new LAG group is created, depending on the xmit_hash_policy
configuration a slot will be configured in LAG table entry

SPA and VLAN bits made the switch to always choose same link for all
connections which completely dismisses point of Link aggregation.
So avoid these and stick to SMAC + DMAC for L2 packets and
SMAC + DMAC + SIP + DIP for L3 packets

Co-developed-by: Sven Eckelmann <se@simonwunderlich.de>
Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Signed-off-by: Jan Fuchs <jf@simonwunderlich.de>
Signed-off-by: Harshal Gohel <hg@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/21740
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 weeks agorealtek: dsa: Reelect primary port for a LAG
Harshal Gohel [Mon, 2 Mar 2026 09:16:10 +0000 (09:16 +0000)] 
realtek: dsa: Reelect primary port for a LAG

rtl93xx hardware supports trunk fdb entries. That requires driver to
translate port-fdb entry to trunk fdb entry if the port is part of a
LAG.

There is no standard way of indicating fdb entries for bond interfaces.

One can use debugfs interface l2_table to dump all the entries stored in
the hardware. Trunk FDB entries are now displayed properly with trunk ID
and participating ports

Co-developed-by: Sven Eckelmann <se@simonwunderlich.de>
Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Signed-off-by: Harshal Gohel <hg@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/21740
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 weeks agorealtek: dsa: rtl93xx: Deduplicate distribution algo setup
Harshal Gohel [Tue, 27 Jan 2026 17:19:46 +0000 (17:19 +0000)] 
realtek: dsa: rtl93xx: Deduplicate distribution algo setup

rtl9310 and rtl9300 have two slots for configuration of packet distribution
algorithm that can be assigned to multiple LAG groups. They also have the
same field descriptions

Co-developed-by: Sven Eckelmann <se@simonwunderlich.de>
Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Signed-off-by: Harshal Gohel <hg@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/21740
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 weeks agorealtek: dsa: Refactor LAG in preparation for rtl93xx
Harshal Gohel [Mon, 2 Mar 2026 09:13:13 +0000 (09:13 +0000)] 
realtek: dsa: Refactor LAG in preparation for rtl93xx

It is not helpful at the moment to expose all the SoC specific details to
the common code when it actually only needed to add ports to a LAG. Just
have a simple interface for now.

Support returning errors while setting distribution algorithm

Move setting algomask to rtl83xx specific routine and out of common lag_add
because algomasks will be handled differently on rtl93xx

Co-developed-by: Sven Eckelmann <se@simonwunderlich.de>
Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Signed-off-by: Harshal Gohel <hg@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/21740
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 weeks agoipq40xx: add support for Huawei AP4050DN
Marco von Rosenberg [Fri, 3 May 2024 20:59:11 +0000 (22:59 +0200)] 
ipq40xx: add support for Huawei AP4050DN

Hardware
========
SoC: Qualcomm IPQ4018
ETH: Qualcomm QCA8075 (2 x RJ-45)
WDG: OnSemi SCT706
RAM: Micron MT41K128M16JT-125 (256MB)
NOR: Infineon S25FL512S (64MB)

Installation
============

1. Create a ramboot-able image with the command

   { dd if=/dev/zero bs=32 count=1 2>/dev/null; \
     cat openwrt-ipq40xx-generic-huawei_ap4050dn-initramfs-uImage.itb; \
   } > ramboot.bin`

2. Start a TFTP server in the folder with the ramboot.bin.

3. Plug in a USB-RJ45 serial adapter to the CONSOLE port of the device
   and start a serial console session with
   9600 baud, no parity, 1 stop bit.

4. Plug in either 12V power or PoE to the device.

5. On the prompt `Press f or F  to stop Auto-Boot in 3 seconds`,
   press `f` to enter the Huawei U-Boot command line

6. Enter a new password for the u-boot command line

7. In the command line, run these commands to ramboot OpenWrt:

      setenv serverip <IPv4 address of TFTP server>
      setenv ipaddr <IPv4 address for this AP>
      setenv rambootfile ramboot.bin
      run ramboot

8. In OpenWrt, set up the network and then `scp` the files
   `u-boot-huawei_ap4050dn/uImage` and
   `openwrt-ipq40xx-generic-huawei_ap4050dn-squashfs-sysupgrade.bin`
   into `/tmp/`

9. To backup the original firmware, run the following:

      cat /dev/mtd12 /dev/mtd13 > huawei_ap4050dn_fw_backup.bin.bin

10. Run the following commands to flash u-boot and OpenWrt to the device:

      mtd erase uboot
      mtd write /tmp/uImage uboot
      sysupgrade -n /tmp/openwrt-ipq40xx-generic-huawei_ap4050dn-squashfs-sysupgrade.bin

11. The device should now boot OpenWrt! (sometimes the boot process takes a bit
    longer due to the watchdog resetting the device before the watchdog driver runs)

Signed-off-by: Marco von Rosenberg <marcovr@selfnet.de>
4 weeks agouboot-fritz4040: add Huawei AP4050DN support
Marco von Rosenberg [Sun, 20 Jul 2025 16:24:54 +0000 (18:24 +0200)] 
uboot-fritz4040: add Huawei AP4050DN support

Add support for the Huawei AP4050DN. Due to vendor bootloader size
limitations, we require a second-stage U-Boot.

Signed-off-by: Marco von Rosenberg <marcovr@selfnet.de>
4 weeks agoipq-wifi: update to latest HEAD
David Bauer [Sat, 7 Mar 2026 17:43:39 +0000 (18:43 +0100)] 
ipq-wifi: update to latest HEAD

beaf466 ipq4019: add Huawei AP4050DN BDF

Signed-off-by: David Bauer <mail@david-bauer.net>
5 weeks agoppp: add memmove fortify and remove MRU patch 22286/head
Paul Donald [Thu, 5 Mar 2026 21:11:13 +0000 (22:11 +0100)] 
ppp: add memmove fortify and remove MRU patch

memcpy() with overlapping src and dest buffers is an undefined behavior
in C. In the current code, a ConfRej response is generated by copying
input data in-place, where the dest address is lower than the src.
This happens to work in practice because memcpy() forward-copies data,
matching the behavior of memmove() in this case.

However, if FORTIFY_SOURCE or Address Sanitizer is enabled, memcpy()
will detect the overlap at run time and abort the program.

Replace the memcpy() with memmove() to ensure a well-defined behavior.

Reported-by: Filippo Carletti <filippo.carletti@gmail.com>
MRU patch https://github.com/ppp-project/ppp/pull/573

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22286
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 weeks agoairoha: an7581: disable NPU offload stats for eagle 22300/head
Kenneth Kasilag [Fri, 6 Mar 2026 13:31:02 +0000 (13:31 +0000)] 
airoha: an7581: disable NPU offload stats for eagle

'CONFIG_NET_AIROHA_FLOW_STATS=y' currently breaks NPU
offload for AN7581+MT7996, so disable it for now.

Signed-off-by: Kenneth Kasilag <kenneth@kasilag.me>
Link: https://github.com/openwrt/openwrt/pull/22300
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
5 weeks agoairoha: add the capability to read firmware names from dts 22289/head
Lorenzo Bianconi [Wed, 7 Jan 2026 10:46:00 +0000 (11:46 +0100)] 
airoha: add the capability to read firmware names from dts

Introduce the capability to read the firmware binary names from device-tree
using the firmware-name property if available.
This is a preliminary patch to enable NPU offloading for MT7996 (Eagle)
chipset since it requires a different binary with respect to the one
used for MT7992 on the EN7581 SoC.

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Link: https://github.com/openwrt/openwrt/pull/22289
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
5 weeks agoairoha: npu: Init BA memory region if provided via DTS
Lorenzo Bianconi [Fri, 24 Oct 2025 15:10:08 +0000 (17:10 +0200)] 
airoha: npu: Init BA memory region if provided via DTS

Initialize NPU Block Ack memory region if reserved via DTS.
Block Ack memory region is used by NPU MT7996 (Eagle) offloading.

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Link: https://github.com/openwrt/openwrt/pull/22289
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
5 weeks agokernel: net: sfp: improve Huawei MA5671a fixup 22283/head
Álvaro Fernández Rojas [Thu, 5 Mar 2026 13:13:55 +0000 (14:13 +0100)] 
kernel: net: sfp: improve Huawei MA5671a fixup

Add pending patch for improving Huawei MA5671a SFP fixup, which allows
communicating with the module even if the fiber isn't connected.

Link: https://github.com/openwrt/openwrt/pull/22283
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
5 weeks agompc85xx: fix dtc warnings 20990/head
Rosen Penev [Sat, 29 Nov 2025 03:25:47 +0000 (19:25 -0800)] 
mpc85xx: fix dtc warnings

Even though these are disabled, dtc still warns on missing reg and
ranges.

Add them. No real difference as it's disabled anyway.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20990
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agoath79: tiny: increment compat version for RE355/RE450 22185/head
Ivan Diaz [Tue, 3 Mar 2026 23:14:48 +0000 (18:14 -0500)] 
ath79: tiny: increment compat version for RE355/RE450

Bump compat version to 3.0 for TP-Link RE355 v1, RE450 v1 and RE450 v2.
Was missed for 25.12; users upgrading from older images need sysupgrade -F.

Signed-off-by: Ivan Diaz <diaz.it@icloud.com>
Link: https://github.com/openwrt/openwrt/pull/22185
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agoath79: add 4k blocksize for RE355/RE450 rootfs alignment
Ivan Diaz [Thu, 26 Feb 2026 13:48:52 +0000 (08:48 -0500)] 
ath79: add 4k blocksize for RE355/RE450 rootfs alignment

Misaligned rootfs_data caused config loss on sysupgrade. Set BLOCKSIZE
:= 4k for proper JFFS2 alignment. Add DEVICE_COMPAT_MESSAGE for
sysupgrade -F requirement.

Signed-off-by: Ivan Diaz <diaz.it@icloud.com>
Link: https://github.com/openwrt/openwrt/pull/22185
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agoath79: rename tplink_rex5x-v1, deduplicate RE450-v2 config
Ivan Diaz [Thu, 26 Feb 2026 13:48:45 +0000 (08:48 -0500)] 
ath79: rename tplink_rex5x-v1, deduplicate RE450-v2 config

Rename Device/tplink_rex5x-v1 to tplink_rex5x. Make RE355 v1, RE450 v1,
and RE450 v2 inherit from it, removing duplicated fields from RE450 v2.

Signed-off-by: Ivan Diaz <diaz.it@icloud.com>
Link: https://github.com/openwrt/openwrt/pull/22185
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agomac80211: ath9k: rework led allocation 21933/head
Rosen Penev [Sun, 8 Jun 2025 03:13:26 +0000 (20:13 -0700)] 
mac80211: ath9k: rework led allocation

Embed gpio_led struct in ath_led. Simpler Allocation.

Use a flex array for the name. Allows using a single allocation.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21933
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agomac80211: ath5k: remove ath79 bugfix 19848/head
Rosen Penev [Thu, 21 Aug 2025 22:36:47 +0000 (15:36 -0700)] 
mac80211: ath5k: remove ath79 bugfix

ath79 at this point supports no ath5k devices.

The only targets with ath5k usage are bcm47xx, ixp4xx, and lantiq.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19848
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agokernel: refresh patches 22206/head
Jonas Jelonek [Tue, 3 Mar 2026 14:44:30 +0000 (14:44 +0000)] 
kernel: refresh patches

Refresh kernel patches with make target/linux/refresh for each target.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22206
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agogeneric: drop downstream gpio-cascade driver
Jonas Jelonek [Fri, 27 Feb 2026 20:30:45 +0000 (20:30 +0000)] 
generic: drop downstream gpio-cascade driver

The single user of the downstream gpio-cascade driver has been switched
to use the upstream gpio-line-mux driver. Thus, we can drop the former
now.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22206
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agoath79: replace gpio-cascade on Buffalo WZR-HP-G300NH
Jonas Jelonek [Fri, 27 Feb 2026 20:27:14 +0000 (20:27 +0000)] 
ath79: replace gpio-cascade on Buffalo WZR-HP-G300NH

The GPIO cascade driver is a downstream-only driver and the Buffalo
WZR-HP-G300NH is its only user for now. Recently, a similar and
independently developed driver 'gpio-line-mux `which serves the same
purpose was accepted upstream and backported here. Use that instead the
downstream driver.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22206
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agogeneric: add kernel module for gpio-line-mux
Jonas Jelonek [Fri, 27 Feb 2026 20:26:11 +0000 (20:26 +0000)] 
generic: add kernel module for gpio-line-mux

Add the GPIO line mux driver as a kernel module for selected usage by
devices.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22206
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agogeneric: backport gpio-line-mux driver
Jonas Jelonek [Tue, 3 Mar 2026 14:43:19 +0000 (14:43 +0000)] 
generic: backport gpio-line-mux driver

Backport the upstream 'gpio-line-mux' driver which allows to provide a
1-to-many mapping between one physical GPIO and multiple virtual GPIOs,
based on a multiplexer.

For this purpose, there's been a dedicated downstream driver
'gpio-cascade' which is mostly the same, but wasn't upstreamed in the
end. Independently developed, the 'gpio-line-mux' driver was upstreamed
to solve the exact same problem occuring on Realtek-based Zyxel XS1930
switches. Support for those is being worked on, but the hardware uses a
similar quirk for SFP signals. The signals 'RX_LOS', 'MOD_ABS' and
'TX_FAULT' do not have dedicated GPIOs each but all use a single GPIO
which is multiplexed. Depending on the multiplexer state the GPIO line is
connected to one of the signals.

Since the SFP driver needs single GPIOs for the single signals, this
adapter drivers fills the gap to make both work together.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22206
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agokernel: iio: Add Richtek RTQ6056 ADC support
Christian Marangi [Fri, 6 Mar 2026 09:55:06 +0000 (10:55 +0100)] 
kernel: iio: Add Richtek RTQ6056 ADC support

Add support for Richtek RTQ6056 Current and Power Monitor ADC.

RTQ6056 is a high accuracy current-sense monitor with I2C and SMBus
compatible interface, and the device provides full information for
system by reading out the load current and power.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
5 weeks agomt76: update to Git HEAD (2026-03-05) 21178/head
Felix Fietkau [Thu, 5 Mar 2026 18:01:25 +0000 (18:01 +0000)] 
mt76: update to Git HEAD (2026-03-05)

1958eaf46fde firmware: update mt7992 and mt7996 firmware to the latest version
da6227dc3029 firmware: add mt7990 firmware
9f95baf93a07 wifi: mt76: mt7996: Add missing CHANCTX_STA_CSA property

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 weeks agomac80211: fix a crash triggered by CSA with AP VLAN enabled
Felix Fietkau [Thu, 5 Mar 2026 17:12:09 +0000 (17:12 +0000)] 
mac80211: fix a crash triggered by CSA with AP VLAN enabled

Fix getting the correct operating channel for stations on VLAN

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 weeks agofirmware-utils: update to Git HEAD (2026-03-05)
Robert Marko [Thu, 5 Mar 2026 12:22:35 +0000 (13:22 +0100)] 
firmware-utils: update to Git HEAD (2026-03-05)

46f373b47f69 tplink-safeloader: add support for TP-Link Archer AX21 v4.6
7324b0ba8e05 tplink-safeloader: fix segfault when partition name is NULL
7593018845d8 asusuimage: Cleanup code and fix typo
caac8b133aca tplink-safeloader: fix soft_ver for Archer AX21
c0d7de851c9a ptgen: fix bug caused by not completely correct reverts
5b6ef84eaa74 ptgen: allow to specify index of gpt entries to be used
467685270cf0 ptgen: add an option to disable stub partition creation
a2c06c39b41b ptgen: add long option support
6a87eaf434cb ptgen: add support for marking multiple partitions as bootable

Fixes: https://github.com/openwrt/firmware-utils/issues/59
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agoairoha: an7581: add ubi nvmem driver 22151/head
Dirk Buchwalder [Sun, 1 Mar 2026 13:16:43 +0000 (14:16 +0100)] 
airoha: an7581: add ubi nvmem driver

Add ubi nvmem driver, required to load nvmem entries from ubi volumes

Signed-off-by: Dirk Buchwalder <buchwalder@posteo.de>
Link: https://github.com/openwrt/openwrt/pull/22151
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
5 weeks agoairoha: an7581: enable fitblk driver
Dirk Buchwalder [Sun, 1 Mar 2026 13:13:55 +0000 (14:13 +0100)] 
airoha: an7581: enable fitblk driver

Enable fitblk driver, required to parse the fit image and set-up the rootfs volume

Signed-off-by: Dirk Buchwalder <buchwalder@posteo.de>
Link: https://github.com/openwrt/openwrt/pull/22151
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
5 weeks agouboot-airoha: add a label to the spi node
Dirk Buchwalder [Sun, 1 Mar 2026 12:48:42 +0000 (13:48 +0100)] 
uboot-airoha: add a label to the spi node

Add a label to the spi node to allow device trees to reference it
(i.e. to mark status = "okay").

Signed-off-by: Dirk Buchwalder <buchwalder@posteo.de>
Link: https://github.com/openwrt/openwrt/pull/22151
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
5 weeks agoairoha: an7581: add uboot chainloader
Kenneth Kasilag [Sat, 21 Feb 2026 21:49:46 +0000 (21:49 +0000)] 
airoha: an7581: add uboot chainloader

Due to issues surrounding the implementation of the vendor BMT/BBT
on Airoha, upstream ATF + uboot has switched to UBI flash partitions.

However, some devices shipped on this platform are bootloader locked,
and thus it is impossible to replace ATF + uboot.

During testing for the Gemtek W1700K (#17869), sysupgrades from Linux
(which is unaware of the underlying BMT/BBT) would occasionally write
data into blocks which were remapped by the vendor uboot when it was
read on the following reboot, causing a soft brick.

An acceptable workaround [1],[2] was discussed where an intermediate
uboot would be written by the vendor uboot (which is aware of Airoha
BMT/BBT). This chainloader would then ignore the regions of flash
used by the vendor uboot, and store all relevant data inside of UBI.

UBI would then be used to handle bad block management. As the vendor
ATF + uboot do not read or interact with the UBI region, we would avoid
unwanted remaps from BMT/BBT.

This commit introduces support for building such a chainloader, by
packaging u-boot and DTS into a FIT image; to be flashed like a kernel.

Configuration for the Gemtek W1700K is provided as an example of how the
chainloader is used.

[1] https://github.com/openwrt/openwrt/pull/17869#discussion_r2836066746
[2] https://github.com/openwrt/openwrt/pull/17869#discussion_r2838395671

Signed-off-by: Kenneth Kasilag <kenneth@kasilag.me>
[ move FIP_COMPRESS to Build/Compile, wrap some long lines ]
Link: https://github.com/openwrt/openwrt/pull/22151
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
5 weeks agouboot-airoha: rename FIP_COMPRESS to LZMA_COMPRESS
Kenneth Kasilag [Wed, 4 Mar 2026 02:48:32 +0000 (02:48 +0000)] 
uboot-airoha: rename FIP_COMPRESS to LZMA_COMPRESS

It is more accurate to describe the contents of the FIP as
compressed, instead of the FIP itself becoming compressed.

Update variable naming accordingly.

Signed-off-by: Kenneth Kasilag <kenneth@kasilag.me>
Link: https://github.com/openwrt/openwrt/pull/22151
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
5 weeks agoqualcommax: ipq807x: ipq6018: ath11k: fix monitor rx length 22244/head
Ruslan Isaev [Sat, 28 Feb 2026 15:59:38 +0000 (18:59 +0300)] 
qualcommax: ipq807x: ipq6018: ath11k: fix monitor rx length

OpenWrt issue:
https://github.com/openwrt/openwrt/issues/16183

Problem summary:
On qualcommax (ipq60xx/ipq807x) with ath11k, monitor-mode captures contain
frames that are consistently longer than expected by 8 bytes.

The symptom is visible in pcap/radiotap captures, and Wireshark parsing
becomes correct after manually cutting these 8 bytes from captured frames.

This patch:
- Remove merge-stage FCS/tail manipulations in ath11k_dp_rx_mon_merg_msdus().
- add length fix in ath11k_dp_rx_mon_deliver(), trim 8 bytes right
  before radiotap update and delivery to mac80211.

This targets monitor capture length correctness only and keeps the fix scoped
to the monitor RX delivery path.

Tested-on: ipq8072 yuncore,ax880; ipq6018 yuncore,ax840; yuncore,fap650
Signed-off-by: Ruslan Isaev <legale.legale@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22244
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agorealtek: mtd: nand: backport realtek-ecc OOB check fix patch 22243/head
Rustam Adilov [Mon, 2 Mar 2026 18:35:41 +0000 (23:35 +0500)] 
realtek: mtd: nand: backport realtek-ecc OOB check fix patch

Add a backport patch of realtek ecc driver which has been accepted
upstream. It enables us to make use of devices with NAND that have
OOB size larger than 64 and utilize Realtek ECC engine in OpenWrt.

Signed-off-by: Rustam Adilov <adilov@tutamail.com>
Link: https://github.com/openwrt/openwrt/pull/22243
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agobuild: include build artifacts in profiles.json 22264/head
Eric Fahlgren [Wed, 4 Mar 2026 01:11:45 +0000 (17:11 -0800)] 
build: include build artifacts in profiles.json

In order to reduce the need for html scraping, add the imagebuilder,
sdk, build toolchain and llvm-bpf toolchain file names to profiles.json.

Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22264
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agorealtek: dsa: remove obsolete attributes from port structure 22255/head
Markus Stockhausen [Tue, 3 Mar 2026 18:46:55 +0000 (19:46 +0100)] 
realtek: dsa: remove obsolete attributes from port structure

The attributes "is2G5" and "is10G" are set but never used. Drop them.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22255
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agorealtek: dsa: rename rtl838x_port to rtldsa_port
Markus Stockhausen [Tue, 3 Mar 2026 18:38:21 +0000 (19:38 +0100)] 
realtek: dsa: rename rtl838x_port to rtldsa_port

Adapt the prefix of the port structure.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22255
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agorealtek: dsa: make pcs a port attribute
Markus Stockhausen [Tue, 3 Mar 2026 18:26:59 +0000 (19:26 +0100)] 
realtek: dsa: make pcs a port attribute

pcs is currently a standalone array for the pcs of each port.
Convert it to an attribute of the port structure and thus move
it where it belongs.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22255
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agomediatek: filogic: enable KASLR 22267/head
Daniel Golle [Wed, 4 Mar 2026 01:29:55 +0000 (01:29 +0000)] 
mediatek: filogic: enable KASLR

Enable Kernel Address Space Layout Randomization (KASLR) on the MT7622
platform. Note that this requires the bootloader to provide the kaslr-seed!

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
5 weeks agomediatek: mt7622: enable KASLR
Daniel Golle [Wed, 4 Mar 2026 01:28:33 +0000 (01:28 +0000)] 
mediatek: mt7622: enable KASLR

Enable Kernel Address Space Layout Randomization (KASLR) on the MT7622
platform. Note that this requires the bootloader to provide the kaslr-seed!

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
5 weeks agouboot-mediatek: port RNG drivers and enable them
Daniel Golle [Wed, 4 Mar 2026 01:45:41 +0000 (01:45 +0000)] 
uboot-mediatek: port RNG drivers and enable them

Port drivers for the hardware true random number generator found in
MediaTek SoCs and enable them for all boards.
This has the side-effect of U-Boot now providing '/chosen/kaslr-seed'
to Linux which is required to enabled KASLR.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
5 weeks agomediatek: replace downstream TRNGv2 driver 22266/head
Daniel Golle [Wed, 4 Mar 2026 01:18:08 +0000 (01:18 +0000)] 
mediatek: replace downstream TRNGv2 driver

Replace the downstream mtk-rng-v2 driver which was acquires random bytes
from TF-A via SMC. A new approach is needed as TF-A for MT7986 has
changed and now requires to use SMC instead of directly accessing the
TRNG via MMIO. However, we can't know whether we are on old or new TF-A,
many devices (like the BananaPi BPi-R3) allow updating TF-A BL3 in the
field, so it may be of the old or new type, and the RNG driver will have
to figure it out somehow.

This currently means that MT7986 with newer TF-A has broken/non-working
HWRNG in Linux:
root@OpenWrt:~# hexdump -C /dev/hwrng
hexdump: /dev/hwrng: I/O error

Fix this by creating a new combined driver which replaces the previous
mtk-rng-v2 driver, and is able to auto-detect which convention to use
on MT7986.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
5 weeks agofirmware: Add support for Airoha EN7581/AN7583 NPU variant firmware
Christian Marangi [Wed, 4 Mar 2026 12:31:00 +0000 (13:31 +0100)] 
firmware: Add support for Airoha EN7581/AN7583 NPU variant firmware

Add support for Airoha EN7581/AN7583 NPU variant firmware present in
linux-firmware. The Airoha EN7581 NPU variant is to support devices
equipped with the MT7996 WiFi chip.

While at it also add an extra new line to follow pattern of double new line to
separate each firmware package.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
5 weeks agobase-files: avoid rm error messages in failsafe_wait 22079/head
Oliver Sedlbauer [Tue, 20 Jan 2026 12:54:12 +0000 (13:54 +0100)] 
base-files: avoid rm error messages in failsafe_wait

The fs_wait_for_key function runs multiple background processes that all
try to delete the same temporary file ($keypress_wait) when they exit.
This creates a race condition where one process successfully deletes the
file while others fail with ENOENT.

Busybox rm only suppresses "file not found" errors during the initial lstat()
check, not during the actual unlink() call. This causes error messages in the
boot log even with rm -f:

  rm: can't remove '/tmp/tmp.hKjPDH': No such file or directory

Fixed by redirecting stderr to /dev/null for rm calls in concurrent contexts.
This change does not affect functionality and only avoids confusing log
output during boot.

Signed-off-by: Oliver Sedlbauer <os@dev.tdt.de>
Link: https://github.com/openwrt/openwrt/pull/22079
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
5 weeks agoipq40xx: re-enable MeshPoint.One target 22258/head
Valent Turkovic [Tue, 3 Mar 2026 21:18:52 +0000 (22:18 +0100)] 
ipq40xx: re-enable MeshPoint.One target

The MeshPoint.One was disabled during the DSA migration with the
comment "Missing DSA Setup". However, this device inherits its
entire network configuration from 8dev Jalapeno via the
Device/8dev_jalapeno-common template, and shares the same DSA
network setup in 02_network.

The Jalapeno has been working with DSA since the migration. All
MeshPoint.One board support files (DTS, network config, LED config)
are already in place and reference the same QCA8072 switch
configuration as the Jalapeno.

Hardware: Qualcomm IPQ4018, QCA8072 switch, same as 8dev Jalapeno.
Tested: Built firmware from current main branch, boots and network
functions correctly.

Signed-off-by: Valent Turkovic <valent@meshpointone.com>
Link: https://github.com/openwrt/openwrt/pull/22258
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agopackage: drop apk cheatsheet from base-files
Paul Spooren [Thu, 26 Feb 2026 21:02:41 +0000 (22:02 +0100)] 
package: drop apk cheatsheet from base-files

This has been up for a while, let's drop it.

Signed-off-by: Paul Spooren <mail@aparcar.org>
5 weeks agoapk: bump to 3.0.5 22240/head
Kuan-Yi Li [Sun, 1 Mar 2026 18:50:24 +0000 (02:50 +0800)] 
apk: bump to 3.0.5

Several OpenWrt-related fixes are included in this release.

Drop upstreamed patches and refresh the rest.

Signed-off-by: Kuan-Yi Li <kyli@abysm.org>
Link: https://github.com/openwrt/openwrt/pull/22240
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
5 weeks agotools/squashfs4: update to 4.7.5 22249/head
Shiji Yang [Tue, 3 Mar 2026 11:25:02 +0000 (19:25 +0800)] 
tools/squashfs4: update to 4.7.5

Release Note:
  https://github.com/plougher/squashfs-tools/releases/tag/4.7.5

Remove upstreamed patch:
- 0001-mksquashfs-don-t-create-duplicate-virtual-real-disk-.patch

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22249
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
5 weeks agouqmi: introduce devpath option 21420/head
Chester A. Unal [Mon, 9 Feb 2026 10:55:02 +0000 (12:55 +0200)] 
uqmi: introduce devpath option

Introduce the devpath option to find the control channel device from a
hardware path for a USB or a WWAN device.

This option is useful when there are multiple modems connected to the
system. The name of the control channel device of a modem can change
depending on which modem initialises first or if it was recently plugged
in. The devpath option allows specifying the hardware path of the modem
where the control channel device will be found using that.

For the USB device hardware path, it is allowed to specify the USB port
number the modem is directly connected to.

If the device and devpath options are both set, devpath takes precedence
over device.

The USB device hardware path of a control channel device can be found by:

readlink -f /sys/class/usbmisc/cdc-wdmX/device

The WWAN device hardware path of a control channel device can be found by:

readlink -f /sys/class/wwan/wwanXqmiX/device

An example uci configuration would be:

config interface 'wwan_usb1'
option proto 'qmi'
option auth 'none'
option devpath '/sys/devices/platform/1e1c0000.xhci/usb1/1-1'
option apn 'internet'
option pdptype 'ipv4v6'

Or:

config interface 'wwan_pcie1'
option proto 'qmi'
option auth 'none'
option devpath '/sys/devices/platform/soc/11280000.pcie/pci0003:00/0003:00:00.0/0003:01:00.0'
option apn 'internet'
option pdptype 'ipv4v6'

Signed-off-by: Chester A. Unal <chester.a.unal@arinc9.com>
5 weeks agoumbim: introduce devpath option
Chester A. Unal [Wed, 5 Mar 2025 06:04:58 +0000 (06:04 +0000)] 
umbim: introduce devpath option

Introduce the devpath option to find the control channel device from a
hardware path for a USB or a WWAN device.

This option is useful when there are multiple modems connected to the
system. The name of the control channel device of a modem can change
depending on which modem initialises first or if it was recently plugged
in. The devpath option allows specifying the hardware path of the modem
where the control channel device will be found using that.

For the USB device hardware path, it is allowed to specify the USB port
number the modem is directly connected to.

If the device and devpath options are both set, devpath takes precedence
over device.

The USB device hardware path of a control channel device can be found by:

readlink -f /sys/class/usbmisc/cdc-wdmX/device

The WWAN device hardware path of a control channel device can be found by:

readlink -f /sys/class/wwan/wwanXmbimX/device

An example uci configuration would be:

config interface 'wwan_usb1'
option proto 'mbim'
option auth 'none'
option devpath '/sys/devices/platform/1e1c0000.xhci/usb1/1-1'
option apn 'internet'
option pdptype 'ipv4v6'

Or:

config interface 'wwan_pcie1'
option proto 'mbim'
option auth 'none'
option devpath '/sys/devices/platform/soc/11280000.pcie/pci0003:00/0003:00:00.0/0003:01:00.0'
option apn 'internet'
option pdptype 'ipv4v6'

Signed-off-by: Chester A. Unal <chester.a.unal@arinc9.com>
5 weeks agobutton-hotplug: use flex array and not pointer hack 22170/head
Rosen Penev [Tue, 30 Dec 2025 03:53:50 +0000 (19:53 -0800)] 
button-hotplug: use flex array and not pointer hack

The &pointer + 1 trick is a C89 trick to point to area allocated after
the size of the struct. We have struct_size and flex arrays now.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22170
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agoramips: modules: build I2C driver package for MT7621 22213/head
Shiji Yang [Sat, 28 Feb 2026 10:36:36 +0000 (18:36 +0800)] 
ramips: modules: build I2C driver package for MT7621

Some MT7621 devices also have I2C peripherals.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22213
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agorealtek: dsa: drop rtldsa_get_mib_desc() 22219/head
Markus Stockhausen [Sat, 28 Feb 2026 20:24:09 +0000 (21:24 +0100)] 
realtek: dsa: drop rtldsa_get_mib_desc()

rtldsa_get_mib_desc() is always well defined and only looks into
the configuration structure. Drop it and use direct data assignment
where needed. While we are here drop all NULL checks because
mib_desc is never unset.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22219
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agorealtek: dsa: move mib_desc/mib_list to device specific source
Markus Stockhausen [Sat, 28 Feb 2026 20:09:44 +0000 (21:09 +0100)] 
realtek: dsa: move mib_desc/mib_list to device specific source

The device specific mib descriptors are located in dsa.c and
rtldsa_get_mib_desc() selects the right decriptor for the caller
based on family_id from the private structure. That makes not
much sense and is not wanted

Move the descriptors into their corresponding files and link
them directly to the config structure. Simplify the selector
by directly returning the linked data.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22219
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agorealtek: dsa: fix ports => ethernet-ports renaming 22242/head
Bjørn Mork [Mon, 2 Mar 2026 14:47:22 +0000 (15:47 +0100)] 
realtek: dsa: fix ports => ethernet-ports renaming

The "ports" node was renamed.  Update driver to match device-tree.

Cc: Markus Stockhausen <markus.stockhausen@gmx.de>
Fixes: 63729a8d6e87 ("realtek: dts: replace ports by ethernet-ports")
Signed-off-by: Bjørn Mork <bjorn@mork.no>
Link: https://github.com/openwrt/openwrt/pull/22242
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agoRevert "kernel: netdevices: add KSZ9477 DSA switch packages"
Robert Marko [Mon, 2 Mar 2026 17:05:55 +0000 (18:05 +0100)] 
Revert "kernel: netdevices: add KSZ9477 DSA switch packages"

This reverts commit c053b225731e81826b5b8acb144ac68f4ae14d30.

KSZ DSA driver is the only thing in the kernel selecting DCB support
instead of depending on it if required.
So, it will enable DCB support without asking and we do not want the
kernel size increase, as well as current Layerscape ARMv8 build failure.

So, revert this until its fixed upstream or worked around.

Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agoRevert "imx: cortexa53: remove KSZ9477 static driver"
Robert Marko [Mon, 2 Mar 2026 17:05:45 +0000 (18:05 +0100)] 
Revert "imx: cortexa53: remove KSZ9477 static driver"

This reverts commit 231553b280925f1c1154c9a7c8549c4cbbea7c9e.

Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agohostapd: update to 2026-02-27 20912/head
Nick Hainke [Wed, 19 Nov 2025 20:49:37 +0000 (21:49 +0100)] 
hostapd: update to 2026-02-27

Add patch:
- 001-PASN-Fix-the-compilation-errors-without-CONFIG_PASN.patch

Manually edit patches:
- 110-mbedtls-TLS-crypto-option-initial-port.patch
- 190-hostapd-Fix-hostapd-crash-if-setup-a-iface-with-.patch
- 191-hostapd-add-support-for-specifying-the-link-id-in-th.patch
- 220-indicate-features.patch
- 360-acs_retry.patch
  -> Remove the extra check for -EBUSY (see below) because the code we
     want to skip is now already guarded by:
     https://git.w1.fi/cgit/hostap/commit/?id=af6473761f07ae4f13ef228dec618ca62faf6ef4
      ```
      + if (ret == -EBUSY)
      +         goto fail;
      ```
- 341-mesh-ctrl-iface-channel-switch.patch
- 600-ubus_support.patch
- 601-ucode_support.patch
  -> The patch had this and similar changes:
     ```
      - if (os_strcmp(drv->first_bss->ifname, ifname) != 0) {
      + if (drv->first_bss->ifindex != ifi->ifi_index) {
     ```
     Those changes should be unnecessary due to the commit:
     https://git.w1.fi/cgit/hostap/commit/?id=2bf6d85963b9857b411b57cc7949e30ee2cb1216
- 780-Implement-APuP-Access-Point-Micro-Peering.patch
  -> Needs adjustement because of Enhanced Privacy Protection (EPP):
     https://git.w1.fi/cgit/hostap/commit/?id=1e13ee9c382a5d88c4bb0ffdfaf434fbb31123f3

Remove patch:
- 030-Revert-nl80211-Accept-a-global-nl80211-event-to-a-br.patch
- 060-nl80211-fix-reporting-spurious-frame-events.patch
  -> https://git.w1.fi/cgit/hostap/commit/?id=ca266cc24d8705eb1a2a0857ad326e48b1408b20
- 190-hostapd-Fix-hostapd-crash-if-setup-a-iface-with-.patch
  -> https://git.w1.fi/cgit/hostap/commit/?id=e275c3dc70e1c2947e02e43aeee6c4f9975c3dc7
- 192-nl80211-cancel-scans-whenever-the-first-bss-is-remov.patch
  -> https://git.w1.fi/cgit/hostap/commit/?id=5ce1d41803866782bbd96d575f53d43358a20a2e
- 350-nl80211_del_beacon_bss.patch
  -> https://git.w1.fi/cgit/hostap/commit/?id=b777ecb16274235974edb5c1dfcea6abab25f6c4

Tested-By: Daniel Pawlik <pawlik.dan@gmail.com>
Co-developed-by: Agustin Lorenzo <agustin.lorenzo@thinco.es>
Link: https://github.com/openwrt/openwrt/pull/20912
Signed-off-by: Nick Hainke <vincent@systemli.org>
5 weeks agomediatek: add support for Zyxel WX5600-T0 18364/head
Valerio 'ftp21' Mancini [Wed, 18 Feb 2026 13:34:31 +0000 (14:34 +0100)] 
mediatek: add support for Zyxel WX5600-T0

This access point is a ‘friend’ of the T56 supplied by Odido but with DDR3 RAM and with two Ethernet 2.5 (GPY211)

The flash procedure is similar to other Zyxel T56/EX5600/EX5601

If you need backup please use the T56 guide
Please refer to https://openwrt.org/inbox/toh/zyxel/wx5600-t0 for detailed flash informations

Specifications:
SOC: MT7986b
RAM: 512MB
Flash: 512 MB SPI NAND
Ports: 2 LAN 2.5Gbps (GPY211C)
WIFI: MT7976GN + MT7976AN
LED: 3 bicolor LED - 1 monocolor LED
Buttons: Reset and WPS

We can install all with U-boot and mtk_uartboot.
Load Uboot:

```
./mtk_uartboot -a -p ./mt7986-ram-ddr3-bl2.bin -s /dev/ttyUSB0 -f openwrt-mediatek-filogic-zyxel_wx5600-t0-ubootmod-bl31-uboot.fip
```
**WARNING: Please use a GBIT ethernet or force it on system**
**WARNING: Please use only LAN2 port in Uboot**
Press 0 on Bootmenu
```
mtd erase ubi
run ubi_format
bootmenu
```
Load and write BL2 and U-boot:
```
8
7
```

Load and write recovery and production
```
6
5
```

Signed-off-by: Valerio 'ftp21' Mancini <ftp21@ftp21.eu>
Co-authored-by: Hal Martin <halmartin@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18364
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
5 weeks agouboot-mediatek: add support for Zyxel WX5600-T0
Valerio 'ftp21' Mancini [Wed, 18 Feb 2026 13:34:26 +0000 (14:34 +0100)] 
uboot-mediatek: add support for Zyxel WX5600-T0

This access point is a ‘friend’ of the T56 supplied by Odido but with DDR3 RAM and with two Ethernet 2.5 (GPY211)

The flash procedure is similar to other Zyxel T56/EX5600/EX5601

If you need backup please use the T56 guide

Please refer to https://openwrt.org/inbox/toh/zyxel/wx5600-t0 for detailed flash informations

We can install all with U-boot and mtk_uartboot.
Load Uboot:

```
./mtk_uartboot -a -p ./mt7986-ram-ddr3-bl2.bin -s /dev/ttyUSB0 -f openwrt-mediatek-filogic-zyxel_wx5600-t0-ubootmod-bl31-uboot.fip
```
**WARNING: Please use a GBIT ethernet or force it on system**
**WARNING: Please use only LAN2 port in Uboot**
Press 0 on Bootmenu
```
mtd erase ubi
run ubi_format
bootmenu
```
Load and write BL2 and U-boot:
```
8
7
```

Load and write recovery and production
```
6
5
```

Signed-off-by: Valerio 'ftp21' Mancini <ftp21@ftp21.eu>
Link: https://github.com/openwrt/openwrt/pull/18364
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
5 weeks agoconfig: add build config option to sign each .apk package
Hannu Nyman [Sun, 1 Mar 2026 21:26:08 +0000 (23:26 +0200)] 
config: add build config option to sign each .apk package

Add a build config option to sign each individual .apk package.

If individual .apk files are signed with the build key, they can be
installed with 'apk add' without '--allow-untrusted' to a firmware
compiled by the same buildhost.

Enable the option by default, but disable it for BUILDBOT.

(At the moment, since commit 084697e, only the package index is signed,
which forces users to use '--allow-untrusted' when installing
self-built .apk files.)

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
5 weeks agokernel: add kmods for vsockets over virtio
Mathijs Rietbergen [Sat, 27 Dec 2025 10:04:52 +0000 (11:04 +0100)] 
kernel: add kmods for vsockets over virtio

Add menuconfig options to include modules for (virtio) vsockets. These are
used when running as Guest OS in a VM.

OpenWRT can be run in a vm (mostly commonly on the x86/64 and armsr
targets). Often it is convenient to have some sort of guest agent running,
to ease communication from host to guest.
Virtual Sockets provide this communication channel.
Virtio is a transport for this communication channel.

Virtual Sockets over virtio are for example used by Incus.
Virtual Sockets in general are used by most hypervisors, including VMware,
Hyper-V, and libvirt (qemu). These may need other transport-specific
modules not included in this commit.

Signed-off-by: Mathijs Rietbergen <mathijs.rietbergen@proton.me>
5 weeks agomt76: update to Git HEAD (2026-03-01)
Felix Fietkau [Sun, 1 Mar 2026 17:15:37 +0000 (17:15 +0000)] 
mt76: update to Git HEAD (2026-03-01)

a47ad19275e9 wifi: mt76: mt7996: fix out-of-bounds array access during hardware restart
a34adb961be5 wifi: mt76: mt7996: add missing max_remain_on_channel_duration
751ae55c0d87 wifi: mt76: improve fix for multi-radio on-channel scanning
9337d2f25d91 wifi: mt76: avoid sending probe requests on active DFS channels
d62f5a0d1d2d wifi: mt76: update fix for backoff fields and max_power calculation
8831fa78cb23 wifi: mt76: add external EEPROM support for mt799x chipsets
f656567eff2c wifi: mt76: mt7996: add variant for MT7992 chipsets
36c59c31bfc8 wifi: mt76: mt7996: apply calibration-free data from OTP
f1c32003333e wifi: mt76: connac: use is_connac2() to replace is_mt7921() checks
95df5c591507 wifi: mt76: mt7921: use mt76_for_each_q_rx() in reset path
c3d742932a3c wifi: mt76: mt7921: handle MT7902 irq_map quirk with mutable copy
772c51c2ebc1 wifi: mt76: mt7921: add MT7902e DMA layout support
2175fa76bfff wifi: mt76: connac: mark MT7902 as hw txp devices
135ebed77517 wifi: mt76: mt792x: add PSE handling barrier for the large MCU cmd
cc343793ad65 wifi: mt76: mt792x: ensure MCU ready before ROM patch download
5ee904252aad wifi: mt76: mt7921: add MT7902 MCU support
4b104a082e72 wifi: mt76: mt792x: add MT7902 WFDMA prefetch configuration
eaa09af12bf4 wifi: mt76: mt7921: add MT7902 PCIe device support
66067d203bd0 wifi: mt76: mt7921: add MT7902 SDIO device support
f21748c6cdae wifi: mt76: mt7996: fix wrong DMAD length when using MAC TXP
88ed9f8abcf3 wifi: mt76: mt7996: fix struct mt7996_mcu_uni_event
19b5d0918ba1 wifi: mt76: avoid to set ACK for MCU command if wait_resp is not set
365f006322aa wifi: mt76: mt7996: fix queue pause after scan due to wrong channel switch reason
2eb5d1e3cfbf wifi: mt76: don't return TXQ when exceeding max non-AQL packets
3129d0a6b185 wifi: mt76: mt7915: fix use-after-free bugs in mt7915_mac_dump_work()
cb906c88ca92 wifi: mt76: mt7996: fix use-after-free bugs in mt7996_mac_dump_work()
4aa63d4c5bf2 wifi: mt76: mt7996: Add eMLSR support
be3aad4c2e10 wifi: mt76: mt7915: sync station power save state
f564cc612813 wifi: mt76: mt7996: Disable Rx hdr_trans in monitor mode
a6761a9892d9 wifi: mt76: mt7921: fix 6GHz regulatory update on connection
003216cc04b7 wifi: mt76: add missing lock protection in mt76_sta_state for sta_event callback
699a4aa3b88a wifi: mt76: mt7925: fix incorrect TLV length in CLC command
aee736a27ea2 wifi: mt76: mt7996: Fix possible oob access in mt7996_mac_write_txwi_80211()
f29ff603012e wifi: mt76: mt7925: Fix possible oob access in mt7925_mac_write_txwi_80211()
ee84094d71ba wifi: mt76: Fix possible oob access in mt76_connac2_mac_write_txwi_80211()

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 weeks agoucode: nl80211: add missing survey info attributes and fix DFS CAC time
Felix Fietkau [Sat, 28 Feb 2026 11:39:33 +0000 (11:39 +0000)] 
ucode: nl80211: add missing survey info attributes and fix DFS CAC time

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 weeks agoucode: update to Git HEAD (2026-02-27)
Felix Fietkau [Sat, 28 Feb 2026 11:19:04 +0000 (11:19 +0000)] 
ucode: update to Git HEAD (2026-02-27)

d768823fea50 vm: rework I_DYNLOAD instruction to read module name from stack
9e265b9a1e15 program: support encoding export symbols in precompiled bytecode
926f20b55e13 compiler: add support for runtime module imports
e3d7d77f0e5d lib: avoid stack operations if required code invoked exit()
7f3a0512f49d compiler: turn static imports of precompiled modules into dynamic loads
ccc25285471b nl80211.h: update to version 6.18
bb145163147a nl80211: add WiFi 7 EHT and MLD attributes
65d268546453 nl80211: add scan, BSS status and BSS use-for constants

Fixes: https://github.com/jow-/ucode/issues/336#issuecomment-3415635374
Fixes: https://github.com/jow-/ucode/pull/338#issuecomment-3442569831
Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 weeks agomediatek: drop PCIe reset assert delay patch 22175/head
Shiji Yang [Wed, 25 Feb 2026 16:03:30 +0000 (00:03 +0800)] 
mediatek: drop PCIe reset assert delay patch

This patch has already been merged into linux 5.17 kernel.

Link: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.17.y&id=65ace9a85fa7f88aec4d9d842061108161fa47bc
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22175
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 weeks agokernel: mfd: Add Hasivo STC8 mfd 21578/head
Bevan Weiss [Tue, 6 Jan 2026 09:50:34 +0000 (20:50 +1100)] 
kernel: mfd: Add Hasivo STC8 mfd

This STC8 microcontroller is used on a range of Hasivo managed switches.
It typically performs some fan/thermal control, and also has some
discrete IO hanging off of it.
The fan/thermal control is still somewhat unknown at this stage, but the
LED / gpio control has been determined as being two I2C registers which
need to be written to with a 'typical' Hasivo 0x40 execute mask set, to
change values.

Rather than having this expose the LED functionality / thermal control
directly, just represent it as an mfd, with some configurable OR'ing of
an execute-bit to certain registers (execute-bit-regs).  This way different
STC8 arrangements can hopefully be handled by devicetree configs rather
than needing new driver code.

Signed-off-by: Bevan Weiss <bevan.weiss@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21578
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 weeks agoeconet: en7528: add missing flash partition for DASAN H660GM-A Generic 22195/head
Ahmed Naseef [Fri, 27 Feb 2026 08:31:02 +0000 (12:31 +0400)] 
econet: en7528: add missing flash partition for DASAN H660GM-A Generic

Add the unnamed partition between rwfs and reservearea to fully describe
the flash layout.

Signed-off-by: Ahmed Naseef <naseefkm@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22195
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 weeks agoeconet: en7528: fix swapped WiFi eeprom references for DASAN H660GM-A
Ahmed Naseef [Thu, 26 Feb 2026 11:04:17 +0000 (15:04 +0400)] 
econet: en7528: fix swapped WiFi eeprom references for DASAN H660GM-A

The 2.4 GHz and 5 GHz WiFi eeprom cell references were assigned to the
wrong PCIe slots. Swap them so slot0 (2.4 GHz) uses the eeprom at
0x1c0000 and slot1 (5 GHz) uses the eeprom at 0x40000. Fix the eeprom
cell lengths to match the sizes expected by their respective drivers.

Fixes: be24a13ad5b2 ("econet: en7528: add PCIe and WiFi support")
Signed-off-by: Ahmed Naseef <naseefkm@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22195
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 weeks agolibunistring: update to 1.4.2 22225/head
Ivan Pavlov [Sun, 1 Mar 2026 05:52:57 +0000 (08:52 +0300)] 
libunistring: update to 1.4.2

sync with gnulib, fixes compilation with gcc15

Signed-off-by: Ivan Pavlov <AuthorReflex@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22225
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 weeks agorealtek: dts: drop SYS LED of XikeStor SKS8310-8X 22211/head
Jonas Jelonek [Fri, 27 Feb 2026 23:24:29 +0000 (23:24 +0000)] 
realtek: dts: drop SYS LED of XikeStor SKS8310-8X

The sys_led node in the device tree is wrong and doesn't work. On GPIO
23 nothing seems to be connected. The switch has a SYS LED but as with a
lot other Realtek switches, this LED is connected to the pin A0, which
can be driven as GPIO0 or system LED. The hardware-assisted behavior is
configured during boot by u-boot.

Though it is be possible to deactivate the hardware-assisted behavior
and give userspace control over the LED, it doesn't work for this
switch. XikeStor apparently decided to hook the SYS LED to some kind of
external watchdog. This one seems to expect a LOW signal on that line
periodically. This leaves room for two options:

1) keep behavior and let the LED blink as configured by u-boot
2) turn off LED completely

Option 2) is rather odd and may confuse users, thus it is better to keep
the behavior as-is for now. u-boot configures the LED to blink fast
which might be annoying. As soon as we have a way in the device tree to
specify different blinking frequencies as supported by the hardware,
this can be smoothened.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22211
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 weeks agorealtek: dts: add monitor IC node for XikeStor SKS8310-8X
Jonas Jelonek [Fri, 27 Feb 2026 22:38:02 +0000 (22:38 +0000)] 
realtek: dts: add monitor IC node for XikeStor SKS8310-8X

The XikeStor SKS8310-8X has a monitoring IC LM75B from National
Instruments on board. This was missed when support for the device was
added. Add it now and also add the corresponding kmod to the device
packages.

Fixes: 62d50fb196 ("realtek: add support for XikeStor SKS8310-8X")
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22211
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 weeks agorealtek: use nvmem for mac address for XikeStor SKS8310-8X
Jonas Jelonek [Fri, 27 Feb 2026 22:31:55 +0000 (22:31 +0000)] 
realtek: use nvmem for mac address for XikeStor SKS8310-8X

Define an nvmem cell in the device tree of XikeStor SKS8310-8X to
reference that as a source for the MAC address of the switch (ports).
This eliminates the need for the userspace script to read and parse the
MAC address.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22211
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 weeks agorealtek: mdio: avoid unneeded array initialization 22131/head
Markus Stockhausen [Sat, 21 Feb 2026 13:26:02 +0000 (14:26 +0100)] 
realtek: mdio: avoid unneeded array initialization

rtmdio_probe() uses for_each_phy() to access dn[]. This will point
to initialized entries. No need to clear that array in advance.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22131
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 weeks agorealtek: mdio: convert port to addr
Markus Stockhausen [Sat, 21 Feb 2026 08:53:15 +0000 (09:53 +0100)] 
realtek: mdio: convert port to addr

Get rid of the port variables. Use addr for phy address like
upstream kernel does for the whole phy/mdio subsystem.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22131
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 weeks agorealtek: mdio: rename RTMDIO_MAX_PORT to RTMDIO_MAX_PHY
Markus Stockhausen [Sat, 21 Feb 2026 08:39:14 +0000 (09:39 +0100)] 
realtek: mdio: rename RTMDIO_MAX_PORT to RTMDIO_MAX_PHY

As with all the rest align the define to reflect that the
driver deals with phys.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22131
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 weeks agorealtek: mdio: use devnum/regnum for mmd access
Markus Stockhausen [Sat, 21 Feb 2026 08:34:36 +0000 (09:34 +0100)] 
realtek: mdio: use devnum/regnum for mmd access

For some functions the mmd access parameter naming differs
from the rest of the driver. Convert remaining addr/reg
parameters to devnum/regnum.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22131
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 weeks agorealtek: mdio: rename foreach iterator
Markus Stockhausen [Sat, 21 Feb 2026 08:30:40 +0000 (09:30 +0100)] 
realtek: mdio: rename foreach iterator

The driver covers phys and not ports. Adapt the iterator to
align with this naming convention. While we are here convert
some open coding to this iterator macro.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22131
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 weeks agorealtek: mdio: rename cpu_port to num_phys
Markus Stockhausen [Sat, 21 Feb 2026 08:27:35 +0000 (09:27 +0100)] 
realtek: mdio: rename cpu_port to num_phys

The mdio driver is about phys and not about the (dsa) port number
of the cpu. This was a generic alias when all of this was part
of a big large mdio/ethernet driver. Give the cpu_port variable
a new name that better fits to the mdio context.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22131
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 weeks agorealtek: dts: replace ports by ethernet-ports 22149/head
Markus Stockhausen [Sun, 22 Feb 2026 20:40:22 +0000 (21:40 +0100)] 
realtek: dts: replace ports by ethernet-ports

In most drivers upstream use "ethernet-ports" instead of "ports"
in dts. Especially the upstream rtl9300 mdio driver uses this to
lookup the port/phy mapping. Do the same downstream. There is no
need to adapt the dsa driver because it scans the dts via
for_each_node_by_name(dn, "port").

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22149
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 weeks agolinux-firmware: update to 20260221 22139/head
John Audia [Sun, 22 Feb 2026 10:11:09 +0000 (05:11 -0500)] 
linux-firmware: update to 20260221

% git log --no-merges --pretty=oneline --abbrev-commit 20260221...20260110
30a139cb6561 qcom: vpu: fix SC7280 VPU Gen2 firmware and add compatibility symlink
65c7ff3ec808 amdgpu: DMCUB updates for various ASICs
6a24a5a92c32 qcom: Update DSP firmware for qcs8300 platform
39f04545b26f cirrus: cs35l41: Add Firmware for ASUS Zenbook Laptop using CS35L41 HDA
664f8b6adeba qcom: Update DSP firmware for sa8775p platform
bed52d78bc0c amdgpu: DMCUB updates for various ASICs
342ce02256f3 rtw89: 8851b: add format-1 for fw v0.29.41.5 with fw elements
4a216696655b rtw89: 8852a: add format-1 for fw v0.13.36.2 with fw elements
0579ff05d882 rtw89: 8852bt: add regd and diag_mac and update txpwr to R09
af193c46b6bd rtw89: 8852b: update txpwr element to R43
81eae19b21a0 rtw89: 8852b: add format-2 with v0.29.29.15 and fw elements
1cfed3e213c5 Revert "rtw89: 8852b: update fw to v0.29.128.0 with format suffix -2"
86725d7351e8 xe: Update GUC to v70.58.0 for LNL, BMG, PTL
cbd0f9753754 ath11k: WCN6855 hw2.0: update board-2.bin
65a3c868b360 ath11k: QCA6390 hw2.0: update board-2.bin
0364daaa28a2 qcom: Add gpu firmwares for Glymur chipset
6c1e2562f626 amdgpu: DMCUB updates for various ASICs
2bb21553d510 qcom: vpu: add video firmware for Glymur
8fafd2481eed qcom: add QUPv3 firmware for x1e80100 platform
fd38db51a2a6 Bluetooth: Add symbolic links for Intel Solar JfP2/1 firmware variants
07b822cc556d Bluetooth: Add symbolic links for Intel Solar firmware variants
1b902aa966e4 Bluetooth: Add symbolic links for Intel Pulsar firmware variants
949dba8936ab Bluetooth: Add symbolic links for Intel AX201 firmware variants
81a99dba039a ath10k: WCN3990 hw1.0: update board-2.bin
b69afa29d3f6 qcom: add ADSP, CDSP firmware for glymur platform
4e83a67a5637 ASoC: tas2783: Add Firmware files for tas2783A
87972e133405 linux-firmware: Update firmware file for Intel Solar core
a693bc58e2ac mediatek MT7921: update bluetooth firmware to 20251223091725
fbf93476b789 rtl_bt: Update RTL8822C BT USB and UART firmware to 0x0673
a712a43ff2c0 ath12k: WCN7850 hw2.0: update board-2.bin
ec76089d563e ath12k: QCN9274 hw2.0: update to WLAN.WBE.1.6-01243-QCAHKSWPL_SILICONZ-1
49df41843d27 ath11k: WCN6855 hw2.0: update board-2.bin
fd8bdffeabe4 ath11k: QCA6698AQ hw2.1: update board-2.bin
af03e44a2029 WHENCE: Correct 2 trailing whitespaces
1043c0303910 linux-firmware: Add firmware for airoha-npu-7581 driver used for MT7990 offloading
f18b40ebf5e8 linux-firmware: Add Dell ISH firmware for Intel panther lake systems
9a727f07bc60 amdgpu: DMCUB updates for various ASICs
fb1cfb1989ea linux-firmware: update Aeonsemi AS21x1x firmware to 1.9.1
0fa5e69a0d9e rtl_nic: add firmware rtl8125cp-1 for RTL8125cp
dfff492a66a0 ice: update DDP LAG package to 1.3.2.0
db024df1e153 cirrus: cs35l56: Add WHENCE links for 17aa233c spkid0 firmware
a80ebbccb826 rtw89: 8922a: update REGD R73-R08, txpwr R46 and element of diag MAC
f9c84ebaefbf rtw89: 8852c: update REGD R73-R60, txpwr R82 and element of diag MAC
d8fc35003355 Update firmware for NPU PHX, STX and STX HALO
a7bd257ea496 qcom: Update ADSP and add CDSP firmware for qcs6490-radxa-dragon-q6a
1ccefae136c4 qcom: Remove ADSP SensorPD json for Radxa Dragon Q6A
afae3262fa2f amdgpu: DMCUB updates for various ASICs
ff3470eca79b intel/ish: Add Lenovo ISH firmware support for X1 and X9 systems
53ec87319d28 cirrus: cs42l45: Add CS42L45 SDCA codec firmware for Lenovo laptops
8ca12d6383d0 cirrus: cs42l45: Add CS42L45 SDCA codec firmware for Dell laptops
ecf00f092a8e cirrus: cs35l57 cs35l63: Add firmware for Cirrus Amps for some Lenovo laptops
d01a86bd2b35 cirrus: cs35l56 cs35l57: Add and update firmware for some Dell laptops
e22074558beb Intel IPU7: Update firmware binary for Panther Lake
a80dabbc28fa linux-firmware: update firmware for MT7921 WiFi device
1e2c15348485 amdgpu: DMCUB updates for various ASICs
9e79ce04180f linux-firmware: Add firmware file for Intel ScorpiusGfp2 core
f401a31ab5ba linux-firmware: Update firmware file for Intel Scorpius core
6be3bd6cc295 linux-firmware: Update firmware file for Intel BlazarIGfP core
99a2479f94e1 linux-firmware: Update firmware file for Intel BlazarI core
9bf06b2bdf74 linux-firmware: Update firmware file for Intel BlazarU-HrPGfP core
40a812ce5880 linux-firmware: Update firmware file for Intel BlazarU core
634af751cc56 rtl_bt: Update RTL8852BT/RTL8852BE-VT BT USB FW to 0x06EB_C65F
4cc877a7c241 linux-firmware: Add firmware for airoha-npu-7583 driver
9a9285ce9b44 iwlwifi: add Bz/Sc FW for core102-56 release
579ca4320f6b iwlwifi: Add Hr/Gf firmware for core102-56 release
90af9c636906 iwlwifi: update ty/So/Ma firmwares for core102-56 release
05a6a40bbba8 xe: Add GSC 105.0.2.1301 for PTL
087f9b0a8d23 mediatek: rename MT8188 SCP firmware
a438fce32e0e qcom: Update DSP firmware for QCM6490 platform
bfc1d7433ddd linux-firmware: qcom: sync audioreach firmwares from v1.0.1 build

Build system: x86/64
Build-tested: x86/64-glibc
Run-tested: Intel N150 based system

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/22139
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
5 weeks agoprocd: update to git HEAD 22204/head
Nora Schiffer [Fri, 27 Feb 2026 19:19:16 +0000 (20:19 +0100)] 
procd: update to git HEAD

2881a59f3043 rcS: allow overriding init.d/rc.d paths
4e4a34b1a833 rcS, ubus: constify char * arguments and variables where appropriate

Link: https://github.com/openwrt/openwrt/pull/22204
Signed-off-by: Nora Schiffer <neocturne@universe-factory.net>
5 weeks agopackages: add PSE (PoE) packages 22172/head
Bevan Weiss [Wed, 25 Feb 2026 08:49:50 +0000 (19:49 +1100)] 
packages: add PSE (PoE) packages

There are a number of pse chips already present in upstream Linux.
OpenWrt is starting to support a number of devices can contain various pse
chips.  But having all the pse chip combinations defined at the target
level will result in bloat on images.
Present the current upstream Linux pse drivers as packages so that they
can be selectively included per board (rather than per target).

Signed-off-by: Bevan Weiss <bevan.weiss@gmail.com>
[Make it depend on REGULATOR_SUPPORT, and !SMALL_FLASH]
Link: https://github.com/openwrt/openwrt/pull/22172
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agotargets: add REGULATOR_SUPPORT auto-feature
Robert Marko [Fri, 27 Feb 2026 11:08:56 +0000 (12:08 +0100)] 
targets: add REGULATOR_SUPPORT auto-feature

Not all targets need regulator support, so they dont enable it as its
disabled in the generic config by default.

So, in order to allow kernel modules to depend on regulator support lets
add a new feature flag "regulator" and set it automatically if target
kernel config enables CONFIG_REGULATOR.

Link: https://github.com/openwrt/openwrt/pull/22172
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agoimx: cortexa53: update supported devices 22202/head
Tim Harvey [Fri, 27 Feb 2026 18:31:19 +0000 (10:31 -0800)] 
imx: cortexa53: update supported devices

Add some additional Gateworks Venice boards to sysupgrade support.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Link: https://github.com/openwrt/openwrt/pull/22202
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agotoolchain: binutils: fix update to 2.45.1
Hauke Mehrtens [Sat, 28 Feb 2026 19:43:11 +0000 (20:43 +0100)] 
toolchain: binutils: fix update to 2.45.1

Rename the patches folder too and also adapt the name in the toolchain menu.
Without changing the patches folder name the patches are not applied.

Fixes: adad973a9c34 ("toolchain: binutils: update to 2.45.1")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 weeks agolantiq: dm200: Fix loading PHY firmware 22188/head
Hauke Mehrtens [Thu, 26 Feb 2026 19:49:17 +0000 (20:49 +0100)] 
lantiq: dm200: Fix loading PHY firmware

The device has 1 100MBit/s port. By default the PHY firmware is running
in 1GBit/s mode. The driver will try to load the 1GBit/s firmware and
fail if it is not there. Set the GPHY0 also to 100MBit/s mode.

The driver uses all nodes independent of the status attribute.

Do the same fix for AVM FRITZ!Box 7412 too.

Reported-by: Achelon in OpenWrt forum
Fixes: https://github.com/openwrt/openwrt/issues/21836
Link: https://github.com/openwrt/openwrt/pull/22188
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 weeks agorealtek: remove currently unused VLAN profile_id 1 21872/head
Linus Lüssing [Wed, 28 Jan 2026 00:52:15 +0000 (01:52 +0100)] 
realtek: remove currently unused VLAN profile_id 1

So far we are only associating and using a VLAN profile ID of 0 to any
VLAN ID, VLAN profile ID 1 is unused. Therefore we can safely remove its
initialization, just like we don't initialize any of VLAN profile IDs
2 to 7 on rtl83xx/rtl930x or 2 to 15 on rtl931x.

Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
Link: https://github.com/openwrt/openwrt/pull/21872
Signed-off-by: Robert Marko <robimarko@gmail.com>
6 weeks agorealtek: setup special portmasks only once
Linus Lüssing [Sat, 10 May 2025 13:38:49 +0000 (15:38 +0200)] 
realtek: setup special portmasks only once

The special all-ports multicast portmasks table entry would be written
twice, redundantly as vlan_profile_setup() is called twice. Which is
unnecessary. Writing this reserved multicast portmask entry is
independent of a VLAN profile, therefore let's move this to a more
suitable position.

Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
Link: https://github.com/openwrt/openwrt/pull/21872
Signed-off-by: Robert Marko <robimarko@gmail.com>
6 weeks agorealtek: add portmasks, vlan_profiles and vlans to debugfs
Linus Lüssing [Wed, 7 May 2025 16:53:06 +0000 (18:53 +0200)] 
realtek: add portmasks, vlan_profiles and vlans to debugfs

Prepare portmasks, vlan profiles and vlans for changes
in upcoming patches by exporting them to debugfs for easier
debugging and monitoring.

Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
Link: https://github.com/openwrt/openwrt/pull/21872
Signed-off-by: Robert Marko <robimarko@gmail.com>
6 weeks agokernel: lift CONFIG_REGULATOR_VEXPRESS 'not set' to generic
Bevan Weiss [Fri, 27 Feb 2026 22:39:54 +0000 (09:39 +1100)] 
kernel: lift CONFIG_REGULATOR_VEXPRESS 'not set' to generic

Advertise the default 'not set' of this CONFIG higher in the tree since
it's already referenced by several other targets, with a few more targets
missing this reference (which fails build to prompt for N/y/m).

Signed-off-by: Bevan Weiss <bevan.weiss@gmail.com>
6 weeks agobcm53xx: fix switch standalone ports (like "wan")
Rafał Miłecki [Fri, 27 Feb 2026 19:40:20 +0000 (20:40 +0100)] 
bcm53xx: fix switch standalone ports (like "wan")

Fixes: https://github.com/openwrt/openwrt/issues/21187
Fixes: https://github.com/openwrt/openwrt/issues/21349
Fixes: 499a59c234f4 ("kernel: bump 6.12 to 6.12.30")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
6 weeks agorealtek: dsa: convert RTL83xx to new fast_age() 22145/head
Markus Stockhausen [Sun, 22 Feb 2026 17:01:11 +0000 (18:01 +0100)] 
realtek: dsa: convert RTL83xx to new fast_age()

Make use of the new fast_age() helpers for the RTL83xx targets.
For this:

- split the existing rtldsa_83xx_fast_age() into two device
  specific functions. This removes a family_id check.
- change the callbacks in the config structures

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22145
Signed-off-by: Robert Marko <robimarko@gmail.com>
6 weeks agorealtek: dsa: switch RTL93xx to new fast_age()
Markus Stockhausen [Sun, 22 Feb 2026 16:40:00 +0000 (17:40 +0100)] 
realtek: dsa: switch RTL93xx to new fast_age()

The driver has a generic fast_age() function. Use it in the
dsa specific callback port_fast_age() for RTL93xx.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22145
Signed-off-by: Robert Marko <robimarko@gmail.com>
6 weeks agorealtek: dsa: provide generic fast_age for RTL93xx
Markus Stockhausen [Sun, 22 Feb 2026 13:09:07 +0000 (14:09 +0100)] 
realtek: dsa: provide generic fast_age for RTL93xx

Fast ageing of L2 entries is supported by DSA with two callbacks.

- port_fast_age(): age out for one port
- port_vlan_fast_age(): age out for one vlan on one port

Independent from the SoC it always boils down to issue a command
to the L2_TBL_FLUSH_CTRL register. Nevertheless the current
implemententation is repeated multiple times and makes use of
the family_id.

As a first refactoring step provide generic fast_age() functions
for RTL930x and RTL931x by rearranging the existing definitions
of vlan_port_fast_age().

The logic is as follows:

- provide a SoC dependent function that works with or without VLAN.
  When VLAN/VID = -1 only flush the specific port otherwise only
  flush given VLAN on port.
- provide a port_fast_age() helper that calls the SoC specific
  functions with VLAN = -1.
- provide a port_vlan_fast_age() helper that calls the SOC specific
  functions and handing over the given VLAN.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22145
Signed-off-by: Robert Marko <robimarko@gmail.com>