]> git.ipfire.org Git - thirdparty/openwrt.git/log
thirdparty/openwrt.git
3 hours agoapk: backport upstream fixes for unaligned access main master 21958/head
Matt Merhar [Mon, 9 Feb 2026 23:20:39 +0000 (18:20 -0500)] 
apk: backport upstream fixes for unaligned access

On the kirkwood target, packages would frequently fail to install with
APKE_ADB_SCHEMA, APKE_ADB_BLOCK, and/or segfaults. The culprit was
unaligned access leading to bogus values being read out of memory on
these particular ARMv5 CPUs.

Pull in the relevant upstream fixes to address this.

Fixes: https://github.com/openwrt/openwrt/issues/21307
Link: https://gitlab.alpinelinux.org/alpine/apk-tools/-/merge_requests/391
Link: https://gitlab.alpinelinux.org/alpine/apk-tools/-/merge_requests/392
Signed-off-by: Matt Merhar <mattmerhar@protonmail.com>
Link: https://github.com/openwrt/openwrt/pull/21958
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
4 hours agoRevert "apm821xx: rename pciex to pcie" 21941/head
Edward Chow [Mon, 9 Feb 2026 02:54:35 +0000 (10:54 +0800)] 
Revert "apm821xx: rename pciex to pcie"

This reverts commit 66a7e04e9e10247978c301a679428cbfc001e6ea.

Doing so makes the u-boot unable to find the node for this pcie
controller and disable it on mx60, resulting boot failure, as reported
in https://github.com/openwrt/openwrt/issues/21649 .

If we keep on treating mx60 and mx60w the same target, we might have
to endure the warning which 66a7e04 wants to eliminate.

Signed-off-by: Edward Chow <equu@openmail.cc>
Link: https://github.com/openwrt/openwrt/pull/21941
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
17 hours agorealtek: avoid redundant configuration of MAC addresses 21644/head
Jan Hoffmann [Thu, 22 Jan 2026 19:30:10 +0000 (20:30 +0100)] 
realtek: avoid redundant configuration of MAC addresses

Only configure the eth0 MAC address when it is not already done in the
device tree. To do this, create a new variable "eth0_mac".

Also avoid setting "label_mac" for devices already having it defined in
the device tree.

Signed-off-by: Jan Hoffmann <jan@3e8.eu>
Link: https://github.com/openwrt/openwrt/pull/21644
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
17 hours agorealtek: remove MAC assignment default case in 02_network
Jan Hoffmann [Thu, 22 Jan 2026 19:15:09 +0000 (20:15 +0100)] 
realtek: remove MAC assignment default case in 02_network

Explicitly specify all devices where the MAC address is configured based
on the U-Boot environment.

This change makes it clearer which devices use this method. Also makes
things simpler for any future devices which handle MAC address
configuration entirely via device tree.

Signed-off-by: Jan Hoffmann <jan@3e8.eu>
Link: https://github.com/openwrt/openwrt/pull/21644
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
17 hours agorealtek: don't implicitly configure port MAC addresses
Jan Hoffmann [Thu, 22 Jan 2026 19:21:35 +0000 (20:21 +0100)] 
realtek: don't implicitly configure port MAC addresses

Currently, the 02_network script always configures MAC addresses for
each individual LAN port unless "lan_mac_start" is set to "skip". This
behaviour can be unexpected, and is also somewhat broken, as it even
continues to do so when "lan_mac_start" is empty.

Change it to only do the configuration if "lan_mac_start" is non-empty,
and also remove the fallback to "lan_mac", making this more obvious and
less error-prone.

Signed-off-by: Jan Hoffmann <jan@3e8.eu>
Link: https://github.com/openwrt/openwrt/pull/21644
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
17 hours agorealtek: combine identical cases in 02_network
Jan Hoffmann [Wed, 28 Jan 2026 17:14:34 +0000 (18:14 +0100)] 
realtek: combine identical cases in 02_network

The MAC address assignment for XikeStor SKS8300-8T and SKS8300-12E2T2X
is semantically identical to the first case, so let's combine them.

Signed-off-by: Jan Hoffmann <jan@3e8.eu>
Link: https://github.com/openwrt/openwrt/pull/21644
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
17 hours agorealtek: fix indentation in 02_network
Jan Hoffmann [Thu, 22 Jan 2026 19:11:32 +0000 (20:11 +0100)] 
realtek: fix indentation in 02_network

There is a missing tab in one of the cases of MAC address configuration.

Signed-off-by: Jan Hoffmann <jan@3e8.eu>
Link: https://github.com/openwrt/openwrt/pull/21644
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
17 hours agokernel: net: pse-pd: patch netlink & PSE PRIO 21926/head
Carlo Szelinsky [Sat, 7 Feb 2026 13:47:15 +0000 (14:47 +0100)] 
kernel: net: pse-pd: patch netlink & PSE PRIO

patch netlink headers for netifd PSE support
& fix PSE backports for PSE Prio

The 626-* patches are backporting net PSE-PD from
linux 6.18 to 6.12. The 627-02 is a nearly verbatim
copy of the upstream commit. The 6.12-01 patches the
auto generated ethtool_netlink_generated header.

The 6.12 build tools do not have the build system
feature for generating the correct netlink
headers related to the backports.

Signed-off-by: Carlo Szelinsky <github@szelinsky.de>
Link: https://github.com/openwrt/openwrt/pull/21926
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
17 hours agokirkwood: remove upstreamed patch 21954/head
Rosen Penev [Mon, 9 Feb 2026 20:00:55 +0000 (12:00 -0800)] 
kirkwood: remove upstreamed patch

Upstream solution came with 6.4. Seems quilt refreshed it to the extent
that it basically gets applied twice.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21954
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
25 hours agoprocd: update to git HEAD 21948/head
Daniel Golle [Mon, 9 Feb 2026 11:47:39 +0000 (11:47 +0000)] 
procd: update to git HEAD

 7e5b324 instance: check length of names when creating cgroups
 014f94c procd: jail/cgroups: fix OOB write in cgroups_apply()
 e08cdc8 hotplug-dispatch: fix filter disallowing setting PATH
 afa4391 service instance: Improve handling of watchdog config changes
 52c64d2 service instance: Fix overwriting of watchdog linked list members
 96c827f coldplug: fix missing header include
 6b10c71 hotplug-dispatch: fix missing header include
 58d7aaa initd/coldplug: create /dev/null before running udevtrigger
 64f97ff hotplug-dispatch: redirect output to /dev/null
 c4e9859 hotplug-dispatch: use stat if d_type is DT_UNKNOWN
 bafdfff system: fix arguments validation in ubus handler

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
26 hours agomvebu: cortex-a53: respect DEVICE_packages for Methode devices 21947/head
Robert Marko [Mon, 9 Feb 2026 11:33:20 +0000 (12:33 +0100)] 
mvebu: cortex-a53: respect DEVICE_packages for Methode devices

Use the added support for generating per device targz rootfs so that images
generated for Methode devices when CONFIG_TARGET_MULTI_PROFILE and
CONFIG_TARGET_PER_DEVICE_ROOTFS are set, we actually get the targz rootfs
that respects DEVICE_PACKAGES.

Currently, buildbot generated images have no networking, LM75 nor I2C
working, as the generated images do not include required kmods that are
listed in DEVICE_PACKAGES.

While at it, there is no need for tar to run in verbose mode.

Fixes: 7dff6a8c89e3 ("mvebu: uDPU: add sysupgrade support")
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
26 hours agoimage: support generating per device targz rootfs
Robert Marko [Mon, 9 Feb 2026 11:25:56 +0000 (12:25 +0100)] 
image: support generating per device targz rootfs

Currently, for targets that use the CONFIG_TARGET_ROOTFS_TARGZ a single
rootfs tarball is generated for the subtarget based of $(TARGET_DIR).

However, this means that it does not respect DEVICE_PACKAGES like other
rootfs images.

So, lets augment CONFIG_TARGET_ROOTFS_TARGZ by adding a proper targz fstype
so that per device rootfs is generated under lock.

This is required so that devices that use custom sysupgrade archives like
Methode devices, can actually include a per device rootfs so when building
for multiple devices and with CONFIG_TARGET_PER_DEVICE_ROOTFS set the built
image actually includes the listed DEVICE_PACKAGES.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
28 hours agoramips: mt7621: enable kmod-usb3 for Mikrotik RBM33G 21408/head
Chester A. Unal [Mon, 5 Jan 2026 12:54:42 +0000 (14:54 +0200)] 
ramips: mt7621: enable kmod-usb3 for Mikrotik RBM33G

Mikrotik RBM33G has got a USB-A port and mPCIe slots with USB 3.0 and USB
2.0 interfaces in use. The MediaTek MT7621 SoC has got an xHCI to provide
these interfaces. Therefore, enable kmod-usb3 to support them.

Fixes: 5684d087418d ("ramips: Add support for Mikrotik RouterBOARD RBM33g")
Signed-off-by: Chester A. Unal <chester.a.unal@arinc9.com>
33 hours agorealtek: mdio: split bus reset functions 21906/head 21961/head
Markus Stockhausen [Fri, 6 Feb 2026 20:41:55 +0000 (21:41 +0100)] 
realtek: mdio: split bus reset functions

The bus reset functions currently configure a lot of things. Looking
closely they have a topology setup and a polling setup part. Split the
big chunk in smaller better readable functions.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21906
Signed-off-by: Robert Marko <robimarko@gmail.com>
33 hours agorealtek: phy: rename and relocate module 21929/head
Markus Stockhausen [Sun, 8 Feb 2026 16:01:06 +0000 (17:01 +0100)] 
realtek: phy: rename and relocate module

The downstream Realtek phy module is currently known as rtl83xx-phy.c
and its kernel config REALTEK_SOC_PHY. It has been simplified, cleaned
and now aligns to Realtek main module (upstream Realtek phy). It is no
longer tied to the Realtek switch SoC but serves as generic module for
1Gbit multiport phys. Adapt it as follows:

- place it into the realtek folder aside its upstream sibling
- rename it to realtek_multiport.c
- remove SoC dependency in Kconfig and Makefile
- change kernel configs for the targets accordingly

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21929
Signed-off-by: Robert Marko <robimarko@gmail.com>
33 hours agorealtek: phy: drop refactoring leftovers
Markus Stockhausen [Sun, 8 Feb 2026 11:35:59 +0000 (12:35 +0100)] 
realtek: phy: drop refactoring leftovers

Drop some lines that are not needed any longer.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21929
Signed-off-by: Robert Marko <robimarko@gmail.com>
33 hours agoramips: mtk_eth_soc: handle EPROBE_DEFER for MAC 21920/head
Rosen Penev [Sat, 7 Feb 2026 23:58:32 +0000 (15:58 -0800)] 
ramips: mtk_eth_soc: handle EPROBE_DEFER for MAC

If nvmem is used for ethernet mac address, we need to defer loading to
get the proper mac.

Move to probe as ndo_init is the wrong place to handle EPROBE_DEFER.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21920
Signed-off-by: Robert Marko <robimarko@gmail.com>
47 hours agowifi-scripts: fix spurious teardown on config_change during setup
Felix Fietkau [Sun, 8 Feb 2026 18:46:07 +0000 (18:46 +0000)] 
wifi-scripts: fix spurious teardown on config_change during setup

When config_change is set during an active setup (e.g. by a concurrent
reconf call), wdev_mark_up() attempted to call setup() while still in
"setup" state. Since setup() requires state "up" or "down", it silently
returned, leaving the state as "setup". The subsequent wdev_setup_cb()
then treated this as a setup failure, triggering an unnecessary
teardown+restart cycle.

Fix this by removing the config_change handling from wdev_mark_up() and
moving it to wdev_setup_cb() instead. wdev_mark_up() now always
transitions to "up" state. When wdev_setup_cb() runs afterwards and
finds the device already "up" with config_change set, it initiates a
clean re-setup from the "up" state where setup() can run.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
47 hours agox86: base-files add support for Sophos 125r3/125r3w 21914/head
Raylynn Knight [Sat, 7 Feb 2026 00:44:13 +0000 (19:44 -0500)] 
x86: base-files add support for Sophos 125r3/125r3w

The Sophos SG/XG-125 revision 3 like the already supported SG/XG-135
revision 3 has odd numbering of eth ports where the WAN port (as marked
on the case) is:  `eth6` and `eth0`, `eth1`, `eth2`, `eth3`, `eth5`, `eth7`,
`eth8` are LAN ports.

Port `eth4` confirmed to be the SFP port.

Signed-off-by: Raylynn Knight <rayknight@me.com>
Link: https://github.com/openwrt/openwrt/pull/21914
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agowifi-scripts: fix encryption setting of default OpenWrt SSID 21925/head
Shine [Sun, 8 Feb 2026 09:41:45 +0000 (10:41 +0100)] 
wifi-scripts: fix encryption setting of default OpenWrt SSID

Commit 01a87f4bd0cdbfc84bbc172920e865c1600f7a45 changed the encryption
setting of the default SSID "OpenWrt" from "none" to "open". The correct
setting as per the documentation [1] is "none", though.
While this invalid setting won't cause a wrong hostapd setup, it will
at least cause malfunction in LuCI.

Change the default encryption setting back to "none".

[1] https://openwrt.org/docs/guide-user/network/wifi/basic#encryption_modes

Fixes: 01a87f4bd0cdbfc84bbc172920e865c1600f7a45
Signed-off-by: Shine <4c.fce2@proton.me>
Link: https://github.com/openwrt/openwrt/pull/21925
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agoapm821xx: mx60: increment compat_version 21912/head
Edward Chow [Sat, 7 Feb 2026 02:03:03 +0000 (10:03 +0800)] 
apm821xx: mx60: increment compat_version

meraki_loadaddr=1000000 may not enough to boot openwrt 25.12+ on mx60,
so directly sysupgrade without changing meraki_loadaddr would result
broken, but the u-boot-env partition used to be marked read-only, so
compat_version had better be incremented to show a notification to
direct users to the wiki to prepare the sysupgrade manually.

Signed-off-by: Edward Chow <equu@openmail.cc>
Link: https://github.com/openwrt/openwrt/pull/21912
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 days agoapm821xx: disable NVMEM_U_BOOT_ENV 16618/head
Rosen Penev [Tue, 22 Oct 2024 20:02:47 +0000 (13:02 -0700)] 
apm821xx: disable NVMEM_U_BOOT_ENV

The main point of it currently is to extract mac addresses. That is not
being done as MAC addresses are elsewhere.

Disable it until it becomes more feature packed and there's an actual
use for it.

All devices already have config definitions. NVMEM prevents redundant
support as well as write support.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16618
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 days agoapm821xx: meraki-mx60: fix ubootenv definitions
Rosen Penev [Sat, 5 Oct 2024 22:33:51 +0000 (15:33 -0700)] 
apm821xx: meraki-mx60: fix ubootenv definitions

Needed to avoid probe errors.

There are two partitions from 0-20000 and 80000-100000.

This is redundant-count and not regular u-boot,env

Add status = "disabled" as the u-boot env driver can't handle redundant
environments properly. As a result, fw_printenv ends up not working
right.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16618
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 days agoapm821xx: meraki-mr24: fix ubootenv definitions
Rosen Penev [Sun, 13 Jul 2025 18:19:10 +0000 (11:19 -0700)] 
apm821xx: meraki-mr24: fix ubootenv definitions

Per the comments, this is not uboot,env but the redundant forms.

Placed under fixed-partition nodes in order to add status = "disabled".
The roots are needed for u-boot envtools to use.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16618
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 days agoapm821xx: mybooklive: fix ubootenv probe
Rosen Penev [Sun, 6 Oct 2024 19:55:49 +0000 (12:55 -0700)] 
apm821xx: mybooklive: fix ubootenv probe

With nvmem-layout, these probe errors go away.

Add status = "disabled" as the u-boot env driver can't handle redundant
environments properly. As a result, fw_printenv ends up not working
right.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16618
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 days agoapm821xx: wndr4700: fix uboot-env
Rosen Penev [Sun, 6 Oct 2024 19:50:02 +0000 (12:50 -0700)] 
apm821xx: wndr4700: fix uboot-env

With nvmem-layout, these probe errors go away.

Add status = "disabled" as the u-boot env driver can't handle redundant
environments properly. As a result, fw_printenv ends up not working
right.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16618
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 days agouboot-envtools: fix meraki mr24 definition
Rosen Penev [Sun, 13 Jul 2025 18:11:28 +0000 (11:11 -0700)] 
uboot-envtools: fix meraki mr24 definition

These two are redundant definitions according to dts. A value of 4 (CRC
no redundancy) makes no sense.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16618
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 days agouboot-envtools: fix meraki mx60 definition
Rosen Penev [Sun, 13 Jul 2025 18:00:50 +0000 (11:00 -0700)] 
uboot-envtools: fix meraki mx60 definition

There are two redundant sections. One at 0x0 and the other at 0x80000.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16618
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 days agohostapd: fix 601-ucode_support.patch not applying
Nick Hainke [Sun, 8 Feb 2026 15:40:55 +0000 (16:40 +0100)] 
hostapd: fix 601-ucode_support.patch not applying

Code was moved from 601-ucode_support.patch into ucode.{c,h},
but the patch still contained the old hunks. As a result, the patch
no longer applies.

Fix this by dropping the moved code from 601-ucode_support.patch.

Fixes: a7756346c730 ("hostapd: extend DPP ucode API with WPS M7/M8 encrypted settings handling")
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 days agohostapd: extend DPP ucode API with WPS M7/M8 encrypted settings handling
Felix Fietkau [Sun, 8 Feb 2026 11:03:18 +0000 (11:03 +0000)] 
hostapd: extend DPP ucode API with WPS M7/M8 encrypted settings handling

Add callbacks to intercept WPS M7 reception (registrar side) and M8
reception (enrollee side), allowing external code to inject extra
encrypted attributes and optionally skip credential building.

On the registrar side, the m7_rx callback receives the decrypted M7
content and can return extra data to include in M8's encrypted settings
as well as a flag to skip credential generation.

On the enrollee side, add a wps_set_m7 method to set extra encrypted
data for M7, and a m8_rx callback to handle the decrypted M8 content
externally.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 days agouboot-sunxi: bump to 2025.10
Zoltan HERPAI [Mon, 2 Feb 2026 09:16:32 +0000 (09:16 +0000)] 
uboot-sunxi: bump to 2025.10

Compile-tested: all targets
Runtime-tested:
 - Linksprite pcDuino v2 (A10)
 - Banana Pro (A20)
 - Banana Pi M2 Berry (V40)
 - Banana Pi P2 Zero (H2+)
 - Pine64+ (A64)

Patches refreshed as required.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2 days agoarm-trusted-firmware-sunxi: bump to 2.14
Zoltan HERPAI [Mon, 2 Feb 2026 09:11:26 +0000 (09:11 +0000)] 
arm-trusted-firmware-sunxi: bump to 2.14

As prep work to support the A52x/T52x-series, bump the TFA to use
the 2.14 release.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2 days agorealtek: dsa: drop redundant mac_config() logic 21895/head
Markus Stockhausen [Fri, 6 Feb 2026 12:30:05 +0000 (13:30 +0100)] 
realtek: dsa: drop redundant mac_config() logic

RTL930x and RTL931x basically share the same logic for mac_config().
No need to duplicate that logic in two functions and to call one
from the other.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21895
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agorealtek: pcs: rtl931x: drop unneeded cmu band read 21858/head
Jonas Jelonek [Tue, 3 Feb 2026 18:51:49 +0000 (18:51 +0000)] 
realtek: pcs: rtl931x: drop unneeded cmu band read

There is still a stray call in setup_serdes to read the current CMU
band. The only effect is that the current band is printed to the log, the
value itself isn't used for anything further. Drop this since it's not
needed.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21858
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agorealtek: pcs: rtl931x: match function name with content
Jonas Jelonek [Mon, 2 Feb 2026 12:06:49 +0000 (12:06 +0000)] 
realtek: pcs: rtl931x: match function name with content

The function 'rtpcs_931x_sds_init_leq_dfe' was taken over mostly as-is
from the SDK. After looking at what it actually does (by seeing which
register are written and how they are used elsewhere), it becomes clear
that 'init' isn't the correct term to describe what it does. It sets the
LEQ and DFE parameters to baseline values (mostly 0) and turns off auto
mode, switching to manual LEQ/DFE and forcing those baseline values.
This is rather a reset to a known state instead of an initialization.
Name the function accordingly.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21858
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agorealtek: pcs: rtl931x: add some register comments
Jonas Jelonek [Sun, 1 Feb 2026 17:09:33 +0000 (17:09 +0000)] 
realtek: pcs: rtl931x: add some register comments

Add some comments to several register writes explaining what these
fields are. The information was extracted from the SDK. This allows to
understand much better what's going on there.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21858
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agorealtek: pcs: rtl931x: config CMU before media
Jonas Jelonek [Mon, 2 Feb 2026 22:48:04 +0000 (22:48 +0000)] 
realtek: pcs: rtl931x: config CMU before media

Currently, the CMU is configured after media specific settings have been
set. This seems to work however does not make that much sense. The
proper clock should be configured before the TX/RX channels are
configured. Thus, move the call to the CMU configuration above the media
handling.

While at it, handle the return code of the CMU config properly.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21858
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agorealtek: pcs: rtl931x: read chip specifics in early init
Jonas Jelonek [Sun, 1 Feb 2026 09:56:09 +0000 (09:56 +0000)] 
realtek: pcs: rtl931x: read chip specifics in early init

The SerDes setup for RTL931x relies on chip specifics in some cases,
Determining both usually requires some register operations. But we can
avoid to do this every time again and again since the information is
static anyway. Thus, move this to initialization for RTL93xx, only read
once and store it in the global control structure. Though not used for
RTL930x, it has the same registers and information.

While at it, give referenced defines a proper prefix.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21858
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agorealtek: pcs: rtl931x: drop chiptype 1 support
Jonas Jelonek [Wed, 4 Feb 2026 08:54:25 +0000 (08:54 +0000)] 
realtek: pcs: rtl931x: drop chiptype 1 support

From the Realtek SDK we know that the chip type tell us whether a chip
is a normal chip or an engineering sample/testchip [1]. Such engineering
samples likely never reach any consumer device, only some initial
development boards. So far we haven't encountered any device with that,
thus the code paths handling this are practically dead and can hardly be
checked of they work properly. To focus on support for the devices we
actually have, drop support for such engineering samples/testchips. This
may be readded later if there's sufficient need for this.

[1] https://github.com/plappermaul/realtek-doc/blob/3261cf2e6150a519a1d50d1afecd7ad98644cdd6/sources/rtk-dms1250/system/drv/swcore/chip_probe.c#L345

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21858
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agorealtek: pcs: rtl931x: drop sequence in favor of function
Jonas Jelonek [Sat, 31 Jan 2026 18:31:50 +0000 (18:31 +0000)] 
realtek: pcs: rtl931x: drop sequence in favor of function

Drop a register write sequence from the USXGMII setup for RTL931x in
favor of using a function that is already present. From the name, the
function initializes LEQ DFE. Though it's not yet clear what it exactly
does, this is already better then having a sequence with no explanation
somewhere in the code.

Apparently, when this code was added, the function wasn't present
but it's content was just added here as single usage.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21858
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agopackage-pack: fix Ubuntu 18.04 compilation 21910/head
Rosen Penev [Sat, 7 Feb 2026 02:39:33 +0000 (18:39 -0800)] 
package-pack: fix Ubuntu 18.04 compilation

Add \ to fix parsing with make 4.1.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21910
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agokernel: net: pse-pd: backport PSE v6.13-v6.19 21810/head
Carlo Szelinsky [Sat, 31 Jan 2026 12:19:00 +0000 (13:19 +0100)] 
kernel: net: pse-pd: backport PSE v6.13-v6.19

Backport the PSE-PD (Power Sourcing Equipment - Powered Device)
framework updates from Linux 6.13 through 6.19. This brings modern
PoE (Power over Ethernet) controller support to OpenWrt, enabling
userspace control of PSE hardware via ethtool.

Key features:
- Enhanced ethtool integration for PSE status and configuration
- Power domain support with budget evaluation strategies
- PSE event reporting via netlink
- Port priority management for power budget allocation
- New Si3474 PSE controller driver

Backported commits:

v6.13 core framework and TPS23881 improvements:
6e56a6d47a7f net: pse-pd: Add power limit check
0b567519d115 net: pse-pd: tps23881: Simplify function returns
4c2bab507eb7 net: pse-pd: tps23881: Use helpers to calculate bit offset
f3cb3c7bea0c net: pse-pd: tps23881: Add missing configuration register
3e9dbfec4998 net: pse-pd: Split ethtool_get_status
  into multiple callbacks
4640a1f0d8f2 net: pse-pd: Remove is_enabled callback from drivers
7f076ce3f173 net: pse-pd: tps23881: Add power limit
  and measurement features
10276f3e1c7e net: pse-pd: Fix missing PI of_node description
5385f1e1923c net: pse-pd: Clean ethtool header of PSE structures

v6.17 power domains and event support:
fa2f0454174c net: pse-pd: Introduce attached_phydev to pse control
fc0e6db30941 net: pse-pd: Add support for reporting events
f5e7aecaa4ef net: pse-pd: tps23881: Add support for PSE events
50f8b341d268 net: pse-pd: Add support for PSE power domains
1176978ed851 net: ethtool: Add support for power domains index
c394e757dedd net: pse-pd: Add helper to report hw enable status
ffef61d6d273 net: pse-pd: Add support for budget evaluation strategies
359754013e6a net: pse-pd: pd692x0: Add PSE PI priority feature
24a4e3a05dd0 net: pse-pd: pd692x0: Add controller and manager power
56cfc97635e9 net: pse-pd: tps23881: Add static port priority feature
d12b3dc10609 net: pse-pd: pd692x0: reduce stack usage

v6.18 Si3474 driver and fixes:
1c67f9c54cdc net: pse-pd: pd692x0: Fix power budget leak
7ef353879f71 net: pse-pd: pd692x0: Skip power budget when undefined
a2317231df4b net: pse-pd: Add Si3474 PSE controller driver

v6.19 maintenance and TPS23881B support:
2c95a756e0cf net: pse-pd: tps23881: Fix current measurement scaling
f197902cd21a net: pse-pd: pd692x0: Replace __free macro
6fa1f8b64a47 net: pse-pd: pd692x0: Separate configuration parsing
8f3d044b34fe net: pse-pd: pd692x0: Preserve PSE configuration
4d07797faaa1 net: pse-pd: tps23881: Add support for TPS23881B

Signed-off-by: Carlo Szelinsky <github@szelinsky.de>
Link: https://github.com/openwrt/openwrt/pull/21810
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agomediatek: filogic: add support for Bazis AX3000WM 21813/head
Fil Dunsky [Sun, 1 Feb 2026 09:33:53 +0000 (12:33 +0300)] 
mediatek: filogic: add support for Bazis AX3000WM

 - SoC: MediaTek MT7981B
 - CPU: 2x 1.3 GHz Cortex-A53
 - Flash: 128 MiB SPI NAND (Winbond W25N01GV)
 - RAM: 256 MiB (Nanya NT5CC128M16JR-EK)
 - WLAN: 2.4 GHz, 5 GHz (MediaTek MT7976CN, 802.11ax)
 - Ethernet: 1x 10/100/1000/2500 Mbps MaxLinear GPY211C WAN, 1x10/100/1000 Mbps MT7981 LAN
 - USB 3.0 port
 - 2x buttons: Reset, Mesh
 - 3x LEDs on top panel (red, green, blue)
 - 3x PHY port LEDs (1 amber, 2 green)
 - Board version: WD830M V2.0
 - Power: 5 VDC, 3 A

UART: internal test points, 3V3 115200 8N1 (RX, TX, GND)

Interface MAC Algorithm
LAN (label) 1c:bf:ce:xx:xx:x1 0x4
WAN 1c:bf:ce:xx:xx:x2 0xa
WLAN 2.4G 1c:bf:ce:xx:xx:x3 0x2a
WLAN 5G 1c:bf:ce:xx:xx:x4 0x24

At the moment installation is possible via UART only since SSH root
is password protected.

Set a static ip on the ethernet interface of your PC:
(ip address: 192.168.1.2, subnet mask:255.255.255.0).
Boot into initramfs via TFTP:
```
setenv serverip 192.168.1.2
tftpboot 0x46000000 openwrt-mediatek-filogic-bazis_ax3000wm-initramfs-recovery.itb
bootm 0x46000000
```

Install kmod-mtd-rw and activate it:
```
apk update && apk add kmod-mtd-rw
insmod mtd-rw i_want_a_brick=1
```
Upload to the router and write OpenWrt BL2 and FIP bootloader:
```
mtd write openwrt-mediatek-filogic-bazis_ax3000wm-preloader.bin BL2
mtd write openwrt-mediatek-filogic-bazis_ax3000wm-bl31-uboot.fip FIP
```
Prepare ubi partition:
```
ubidetach -p /dev/mtd4
ubiformat /dev/mtd4 -y
ubiattach -p /dev/mtd4
```

Upgrade via luci web interface with sysupgrade file or by issuing a command:
```
sysupgrade -n openwrt-mediatek-filogic-bazis_ax3000wm-squashfs-sysupgrade.itb
```
Signed-off-by: Fil Dunsky <filipp.dunsky@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21813
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agorealtek: add support for Xikestor SKS8300-12E2T2X 21773/head
Michael Wagenhofer [Sat, 31 Jan 2026 09:12:20 +0000 (10:12 +0100)] 
realtek: add support for Xikestor SKS8300-12E2T2X

Add board support for the Xikestor SKS8300-12E2T2X switch.

Hardware specifications:
========================
 -Realtek RTL9302C SoC, 1x MIPS-34Kc, 800 MHz
 -512 MB DDR3 RAM
 -32 MB SPI-NOR Flash
 -12x 2.5GBASE-T Ports (RTL8224)
 -2x 10GBASE-T Ports (RTL8261)
 -2x 10G SPF+ Ports
 -Reset Button on the front panel
 -Power & SYS LED's
 -UART (115200 8N1) via RJ45

Flash instruction:
==================
 -Prepare TFTP server & connect to serial port
 -Connect your computer to one of the RJ45 ports
 -Power on and interrupt autoboot with Shift + A.
 -Use Shift + Q to drop from vendor CLI to U-Boot CLI.
 -Change U-Boot Bootcommand (needed for network functionality):
> setenv bootcmd 'rtk network on; boota'
> saveenv
 -Start network:
> rtk network on
 -Set switch IP and TFTP server IP:
> setenv ipaddr [IP-ADDRESS]
> setenv serverip [IP-ADDRESS]
 -Load initramfs image from TFTP server:
> tftpboot 0x82000000 [IMAGEFILE]
 -Boot with the downloaded image:
> bootm 0x82000000
 -Backup the stock firmware if needed
 -Perform sysupgrade with the sysupgrade image (in Luci or Terminal via scp & sysupgrade)

Back to stock firmware:
=======================
 -In the Terminal enter:
> fw_setenv bootcmd 'boota'
 -Write firmware with:
> sysupgrade -F [IMAGEFILE]

Signed-off-by: Michael Wagenhofer <michael@wagenhofer.de>
Link: https://github.com/openwrt/openwrt/pull/21773
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 days agorealtek: mdio: rename main mdio bus 21702/head
Markus Stockhausen [Sun, 25 Jan 2026 17:19:44 +0000 (18:19 +0100)] 
realtek: mdio: rename main mdio bus

Looking at the Realtek mdio busses there are curently the following

root@OpenWrt:~# mdio
1b000000.switchcore:mdio-controller-mii
fixed-0
realtek-aux-mdio
realtek-serdes-mdio
rtldsa_mdio-0

The main mdio bus for the phys is named after the dts node it belongs
to (1b000000.switchcore:mdio-controller-mii). As it is attached to the
controller node it is even more confusing.

Align the naming to the other busses and use "realtek-mdio".

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21702
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 days agorealtek: phy: drop internal RTL8218B firmware 21885/head
Markus Stockhausen [Thu, 5 Feb 2026 18:45:22 +0000 (19:45 +0100)] 
realtek: phy: drop internal RTL8218B firmware

The phy driver still uses the ancient unknown firmware file format
for the internal RTL8218B of the RTL838x. Get rid of that and
convert the initialization to the bare minimum.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21885
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 days agokernel: bump 6.12 to 6.12.69 21904/head
John Audia [Fri, 6 Feb 2026 19:54:35 +0000 (14:54 -0500)] 
kernel: bump 6.12 to 6.12.69

Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.69

All patches automatically rebased.

Build system: x86/64
Build-tested: flogic/glinet_gl-mt6000
Run-tested: flogic/glinet_gl-mt6000

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/21904
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 days agolantiq: xrx200: handle EPROBE_DEFER for MAC address 21861/head
Burak Aydos [Tue, 3 Feb 2026 20:38:01 +0000 (23:38 +0300)] 
lantiq: xrx200: handle EPROBE_DEFER for MAC address

The xrx200 ethernet driver falls back to a random MAC address on any
error from of_get_ethdev_address(), including -EPROBE_DEFER. When the
MAC address comes from an nvmem layout driver (such as u-boot-env on
NAND), the nvmem cell may not be available yet at first probe attempt.

Fix this by propagating EPROBE_DEFER so the driver probe is deferred
until the nvmem cell becomes available.

Tested on Zyxel P-2812HNU-F1 (NAND, u-boot-env nvmem layout).

Signed-off-by: Burak Aydos <byhexadecimal@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21861
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 days agohostapd: add DPP ucode API for external frame handling
Felix Fietkau [Tue, 3 Feb 2026 19:13:24 +0000 (19:13 +0000)] 
hostapd: add DPP ucode API for external frame handling

Add a ucode API to hostapd and wpa_supplicant for external DPP frame
handling. This allows an external controller to intercept DPP frames
and handle the DPP protocol externally.

The API provides:
- RX callbacks (dpp_rx_action, dpp_rx_gas) called when DPP frames are
  received, allowing external handling before internal processing
- TX methods (dpp_send_action, dpp_send_gas_resp/dpp_send_gas_req) for
  transmitting DPP frames
- A ubus channel-based API (dpp_channel) for bidirectional communication
  with exclusive hook registration per interface
- CCE control for hostapd (set_cce method)

The wpa_supplicant API mirrors hostapd but adapted for STA role:
- Uses tx_gas_req instead of tx_gas_resp
- GAS RX provides full frame instead of parsed query
- No CCE control (AP-only feature)

Both implementations include:
- Timeout handling with automatic channel disconnect after 3 failures
- Hook cleanup on interface removal
- Last-caller-wins semantics for hook registration

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 days agowifi-scripts: fix nested config accumulation in wdev_set_data
Felix Fietkau [Wed, 4 Feb 2026 10:34:55 +0000 (10:34 +0000)] 
wifi-scripts: fix nested config accumulation in wdev_set_data

When storing device-level data, wdev_set_data() spread the entire wdev
object into handler_data. Since handler_config.data is set from the
previous handler_data[wdev.name] before each setup, this created
exponentially growing nesting with each reload, eventually causing
"nesting too deep" JSON parse errors.

Fix by initializing cur to a simple object containing only the device
name instead of the entire wdev object.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 days agowifi-scripts: add DPP encryption support
Felix Fietkau [Wed, 4 Feb 2026 05:46:53 +0000 (05:46 +0000)] 
wifi-scripts: add DPP encryption support

Add support for DPP (Device Provisioning Protocol) as both a primary
encryption type and as an optional addition to existing authentication.

Primary DPP mode (encryption=dpp):
- Sets WPA2 with key_mgmt=DPP
- Requires Management Frame Protection (ieee80211w=2)
- Supports dpp_connector, dpp_csign, dpp_netaccesskey options

Optional DPP mode (dpp=1 boolean on AP):
- Adds DPP to existing key management methods
- Allows AP to accept both DPP and other auth types
- Supports the same connector options

Both ucode and legacy shell implementations are updated for AP and STA
modes.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 days agocli: add cidr6 data type
John Crispin [Fri, 6 Feb 2026 06:35:24 +0000 (07:35 +0100)] 
cli: add cidr6 data type

Signed-off-by: John Crispin <john@phrozen.org>
3 days agocli: object-editor: merge named_args into create parameters
John Crispin [Fri, 6 Feb 2026 06:30:19 +0000 (07:30 +0100)] 
cli: object-editor: merge named_args into create parameters

Allow callers of edit_create_destroy to pass additional named arguments
via info.named_args that get merged into the create command parameters.

Signed-off-by: John Crispin <john@phrozen.org>
3 days agounetmsg: notify subscribers when remote peer connection drops
John Crispin [Fri, 6 Feb 2026 07:41:49 +0000 (08:41 +0100)] 
unetmsg: notify subscribers when remote peer connection drops

When a remote peer's connection drops (device powered off, unetmsgd
crash, network failure), network_rx_cleanup_state silently removed
the remote publish/subscribe handles without notifying local
subscribers. This meant local clients had no way to detect that a
remote peer had disappeared.

Call handle_publish for each channel where a remote publish handle
is removed during connection cleanup, so local subscribers receive
the publisher change notification and can react accordingly.

Signed-off-by: John Crispin <john@phrozen.org>
3 days agounetmsg: only send publish notifications for remote publisher changes
Felix Fietkau [Sat, 7 Feb 2026 08:02:24 +0000 (08:02 +0000)] 
unetmsg: only send publish notifications for remote publisher changes

handle_publish() notifies local subscribers about publisher state
changes. The publish/subscribe handler in network_socket_handle_request()
was calling it for both remote publish and subscribe changes, but
subscriber changes are not relevant to local subscribers.

Guard the handle_publish() calls with a msgtype == "publish" check,
matching the local client paths in unetmsgd-client.uc which already
have this guard.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 days agounetmsg: fix reconnect loop when RX authenticates before TX
Felix Fietkau [Fri, 6 Feb 2026 10:12:31 +0000 (10:12 +0000)] 
unetmsg: fix reconnect loop when RX authenticates before TX

When both peers connect simultaneously, the RX side can authenticate
before the TX handshake completes. network_check_auth() was sending a
ping on the unauthenticated TX channel, which gets rejected by the
remote's pre-auth handler as "Auth failed", killing the connection and
triggering an endless reconnect cycle.

Check chan.auth before interacting with the TX channel. If TX auth
hasn't completed yet, just schedule a reconnect timer - auth_data_cb
already handles state sync when TX auth completes.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 days agounetmsg: close all channels on network removal
Felix Fietkau [Fri, 6 Feb 2026 09:30:49 +0000 (09:30 +0000)] 
unetmsg: close all channels on network removal

network_close() only closed the listening socket without shutting down
established RX/TX connections. This left remote state in
core.remote_publish/core.remote_subscribe for hosts on the removed
network, causing stale entries in channel listings and failed routing
attempts.

Close all RX and TX channels before removing the network, which also
triggers remote state cleanup via network_rx_socket_close().

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 days agounetmsg: fix inverted condition in network_rx_socket_close()
Felix Fietkau [Fri, 6 Feb 2026 09:30:26 +0000 (09:30 +0000)] 
unetmsg: fix inverted condition in network_rx_socket_close()

The cleanup condition checked != instead of ==, inverting the logic.
This caused two problems:

When an authenticated RX connection disconnected, remote state for that
host was never cleaned up since the stored entry matched the one being
closed.

When a stale unauthenticated connection from a peer closed, any existing
authenticated connection from the same peer was incorrectly deleted and
its remote state wiped.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 days agounetmsg: fix publish notification timing around remote auth
Felix Fietkau [Fri, 6 Feb 2026 09:22:30 +0000 (09:22 +0000)] 
unetmsg: fix publish notification timing around remote auth

When a remote peer's publish registrations arrive via RX before the
local TX connection is authenticated, handle_publish fires but the
subscriber can't reach the remote publisher yet since the TX channel
isn't ready.

Suppress publish notifications on the RX side when no authenticated TX
channel exists for the remote host. After TX authentication completes,
re-trigger handle_publish only for topics that the specific peer
publishes and that have local subscribers.

Signed-off-by: John Crispin <john@phrozen.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 days agounetmsg: fix stale network cleanup in unetd_network_update()
Felix Fietkau [Fri, 6 Feb 2026 09:17:50 +0000 (09:17 +0000)] 
unetmsg: fix stale network cleanup in unetd_network_update()

The condition checked !data.networks instead of !data.networks[name],
making it always false since data.networks was already validated earlier
in the function. Networks removed from unetd were never closed.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 days agoprocd: reload_config: support UCI overlay directory
John Crispin [Fri, 23 Jan 2026 08:54:11 +0000 (09:54 +0100)] 
procd: reload_config: support UCI overlay directory

Check /var/run/uci/ before /etc/config/ so that overlay configs
also trigger service reload events.

The overlay directory takes precedence, and uci show already handles
merging overlay + base configuration correctly.

Signed-off-by: John Crispin <john@phrozen.org>
3 days agoucode: add ubus fixes
Felix Fietkau [Sat, 7 Feb 2026 07:47:36 +0000 (07:47 +0000)] 
ucode: add ubus fixes

- avoid double close of externally owned channel fds
- fix refcounting bug

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 days agotools/expat: update to 2.7.4 21907/head
Nick Hainke [Fri, 6 Feb 2026 22:00:25 +0000 (23:00 +0100)] 
tools/expat: update to 2.7.4

Changelog:
https://github.com/libexpat/libexpat/blob/R_2_7_4/expat/Changes

Fixes: CVE-2026-24515 CVE-2026-25210
Link: https://github.com/openwrt/openwrt/pull/21907
Signed-off-by: Nick Hainke <vincent@systemli.org>
3 days agojansson: update to 2.15.0 21908/head
Nick Hainke [Sat, 7 Feb 2026 00:24:31 +0000 (01:24 +0100)] 
jansson: update to 2.15.0

Changelog:
https://github.com/akheron/jansson/blob/v2.15.0/CHANGES

Remove upstreamed patch:
001-cmake-ver.patch

Link: https://github.com/openwrt/openwrt/pull/21908
Signed-off-by: Nick Hainke <vincent@systemli.org>
3 days agolibtraceevent: update to 1.9.0 21886/head
Nick Hainke [Thu, 5 Feb 2026 20:35:37 +0000 (21:35 +0100)] 
libtraceevent: update to 1.9.0

Changelog:
13701b5 libtraceevent: 1.9
6a3a815 libtraceevent: Add tep_load_modules() API
31fc91b libtraceevent: Add tep_parse_last_boot_info()
5e4ef1f libtraceevent: Add tep_btf_list_args()
aa49dce libtraceevent: Split out btf func init code from tep_btf_print_args()
239b063 libtraceevent: Do not change names of functions not of this library
c284dec libtraceevent: Handle __get_stacktrace()
1ba1262 libtraceevent: Move back to 1.8.99
263459e libtraceevent: Use BTF_INT_BITS/OFFSET() when parsing int parameters
0294b73 libtraceevent utest: Add simple test to test BTF parsing
38e03ac libtraceevent: Have BTF find functions with extra characters
b441fff libtraceevent: Add man page for the new BTF functions
87f30d9 libtraceevent: Add loading of BTF to the tep handle
3488dc9 libtraceevent: Move to 1.9 devel

Link: https://github.com/openwrt/openwrt/pull/21886
Signed-off-by: Nick Hainke <vincent@systemli.org>
3 days agolibtracefs: update to 1.8.3
Nick Hainke [Thu, 5 Feb 2026 20:29:35 +0000 (21:29 +0100)] 
libtracefs: update to 1.8.3

Changelog:
6fad6a1 libtracefs: version 1.8.3
5505e14 libtracefs: Do not have utest fail debugfs/tracing not found
362574c libtracefs: Fix whitespace in enable_disable_all()
06c07be libtracefs: Make comm field a string
0a2a28f libtracefs/Documentation: Fix markup in the man page
57fcdc1 libtracefs: utest: Return non-zero exit code when something fails
ae03455 libtracefs: Fix tracefs_event_is_enabled() for all events
01a3fd3 libtracefs: Fix enum type in read_event_state
ef1656b libtracefs: Fix the /dev/null redirection compatibility in Makefile

Link: https://github.com/openwrt/openwrt/pull/21886
Signed-off-by: Nick Hainke <vincent@systemli.org>
4 days agoxdp-tools: update to 1.5.8 20903/head
Nick Hainke [Sat, 22 Nov 2025 06:48:25 +0000 (07:48 +0100)] 
xdp-tools: update to 1.5.8

Release Notes:
- https://github.com/xdp-project/xdp-tools/releases/tag/v1.5.8
- https://github.com/xdp-project/xdp-tools/releases/tag/v1.5.7
- https://github.com/xdp-project/xdp-tools/releases/tag/v1.5.6
- https://github.com/xdp-project/xdp-tools/releases/tag/v1.5.5
- https://github.com/xdp-project/xdp-tools/releases/tag/v1.5.4
- https://github.com/xdp-project/xdp-tools/releases/tag/v1.5.3
- https://github.com/xdp-project/xdp-tools/releases/tag/v1.5.2
- https://github.com/xdp-project/xdp-tools/releases/tag/v1.5.1
- https://github.com/xdp-project/xdp-tools/releases/tag/v1.5.0
- https://github.com/xdp-project/xdp-tools/releases/tag/v1.4.3

Remove upstreamed:
- 010-configure-respect-LDFLAGS.patch
- 020-libxdp-Use-__noinline__-reserved-attribute-for-XDP-d.patch
- 024-lib-allow-overwriting-W-flags-via-BPF_CFLAGS.patch
- 025-Add-BPF_LDFLAGS-to-allow-overwriting-llc-s-march-arg.patch

Remove unnecessary patch:
- 022-xdp-dump-add-missing-perf_event-include-for-bpf-and-.patch
  (The included headers were incorrect. Some musl toolchain headers
   appeared in the BPF bytecode generation path, which should not
   happen. This issue is resolved by overriding CFLAGS and LDFLAGS.)

Remove `PKG_FLAGS:=nonshared`. With this flag enabled, the package is
compiled separately for every target. Removing it limits compilation
to each CPU architecture instead, significantly reducing unnecessary
build overhead.

Add new tools:
- xdp-bench:
  XDP-bench is a benchmarking utility for exercising the different operation modes
  of XDP. It is intended to be a simple program demonstrating the various operating
  modes; these include dropping packets, hairpin forwarding (using the XDP_TX return
  code), and redirection using the various in-kernel packet redirection facilities.
- xdp-forward:
  xdp-forward is an XDP forwarding plane, which will accelerate
  packet forwarding using XDP. To use it, simply load it on
  the set of interfaces to accelerate forwarding between.
- xdp-monitor:
  XDP-monitor is a tool that monitors various XDP related statistics and
  events using BPF tracepoints infrastructure, trying to be as low overhead
  as possible.
- xdp-trafficgen:
  XDP-trafficgen is a packet generator utilising the XDP kernel subsystem
  to generate packets transmit them through a network interface.
  Packets are dynamically generated and transmitted in the kernel,
  allowing for high performance (millions of packets per second per core).

Co-Developed-by: Til Kaiser <mail@tk154.de>
Link: https://github.com/openwrt/openwrt/pull/20903
Signed-off-by: Nick Hainke <vincent@systemli.org>
4 days agoext-toolchain: fix wrapper for gcc-ar, gcc-nm, gcc-ranlib 21757/head
Gustavo Henrique Nihei [Fri, 23 Jan 2026 21:04:59 +0000 (18:04 -0300)] 
ext-toolchain: fix wrapper for gcc-ar, gcc-nm, gcc-ranlib

The pattern '*-*cc-*' incorrectly matches these tools because their names
contain 'cc-'. This causes them to receive compiler CFLAGS, breaking
builds with 'ar: two different operation options specified'.

Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
Link: https://github.com/openwrt/openwrt/pull/21757
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agorealtek: pcs: rtl93xx: configure in-band AN advertisement 21869/head
Jan Hoffmann [Wed, 4 Feb 2026 15:22:06 +0000 (16:22 +0100)] 
realtek: pcs: rtl93xx: configure in-band AN advertisement

Enabling and disabling in-band auto-negotation is already supported on
RTL93xx. However, so far the advertisement is left unchanged at the
default of 0x1a0 (full duplex + pause + asymmetric pause).

Instead, set the advertisement to reflect the current configuration for
1000Base-X and 2500Base-X. Nothing needs to be done for SGMII, as the
advertisement register is ignored in that case.

Testing shows that negotiation of flow control works for 1000Base-X and
2500Base-X (tested with RTL930x on both ends of the link).

Signed-off-by: Jan Hoffmann <jan@3e8.eu>
Link: https://github.com/openwrt/openwrt/pull/21869
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agorealtek: pcs: rtl93xx: implement restarting auto-negotiation
Jan Hoffmann [Wed, 4 Feb 2026 23:17:32 +0000 (00:17 +0100)] 
realtek: pcs: rtl93xx: implement restarting auto-negotiation

Add a new SerDes operation for restarting in-band negotiation including
an implemenation for RTL93xx, and call it from .pcs_an_restart.

This is a prerequisite for configuration of the in-band advertisement,
as changing it requires triggering a restart of auto-negotiation.

Signed-off-by: Jan Hoffmann <jan@3e8.eu>
Link: https://github.com/openwrt/openwrt/pull/21869
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agorealtek: dsa: remove storm control 21877/head
Bjørn Mork [Thu, 5 Feb 2026 13:08:51 +0000 (14:08 +0100)] 
realtek: dsa: remove storm control

Commit 78bf3a5f44bf ("realtek: dsa: Fix rate control initialization") enabled
code setting up the "storm control" feature. This casued a speed regression
on rtl838x, reducing the effective max speed per port from line rate to around
500 Mbits/s.

Storm control is a policy feature with a number of input parameters depending
on use case and environment.  It is not possible to define a meaningful static
policy in the driver. The problem isn't just the arbitrary limits in the
current code.  Such features require userspace interfaces.

Drop this code for now. It wasn't missed while it was disabled.

Cc: Sven Eckelmann <se@simonwunderlich.de>
Fixes: 78bf3a5f44bf ("realtek: dsa: Fix rate control initialization")
Link: https://github.com/openwrt/openwrt/issues/21692
Signed-off-by: Bjørn Mork <bjorn@mork.no>
Link: https://github.com/openwrt/openwrt/pull/21877
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agoqualcommax: ipq50xx: backport v6.20 patches 21883/head
George Moussalem [Thu, 5 Feb 2026 17:31:38 +0000 (21:31 +0400)] 
qualcommax: ipq50xx: backport v6.20 patches

Replace the following pending patches which have now been merged in
kernel v6.20:
- arm64: dts: qcom: ipq5018: Remove tsens v1 fallback compatible
- clk: qcom: gcc-ipq5018: flag sleep clock as critical
- arm64: dts: qcom: ipq5018: Correct USB DWC3 wrapper interrupts

Signed-off-by: George Moussalem <george.moussalem@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/21883
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agoqualcommbe: update pwm patches and add missing symbol 21889/head
Kenneth Kasilag [Thu, 5 Feb 2026 23:48:07 +0000 (23:48 +0000)] 
qualcommbe: update pwm patches and add missing symbol

Update PWM patch set to v20 which resolves some bugs related to the
duty cycle / frequency calculation; and add missing config symbol
CONFIG_PWM.

Fixes: #21727
Signed-off-by: Kenneth Kasilag <kenneth@kasilag.me>
Link: https://github.com/openwrt/openwrt/pull/21889
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agoapk: backport upstream fix for invalid fetch timestamps
Matt Merhar [Thu, 5 Feb 2026 04:45:13 +0000 (23:45 -0500)] 
apk: backport upstream fix for invalid fetch timestamps

Uninitialized memory led to bogus, huge timestamps being set on files
downloaded with the wget backend. This caused odd issues like 'ls -l'
crashing busybox when attempting to list the .apk file afterwards.

Link: https://gitlab.alpinelinux.org/alpine/apk-tools/-/commit/42f159e67bafe1dad16839c0c0a005b5e89487ba
Signed-off-by: Matt Merhar <mattmerhar@protonmail.com>
Link: https://github.com/openwrt/openwrt/pull/21874
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agorealtek: dsa: convert trailer tag hack into separate module 21815/head
Markus Stockhausen [Sun, 1 Feb 2026 10:11:51 +0000 (11:11 +0100)] 
realtek: dsa: convert trailer tag hack into separate module

DSA tagging currently works with a tuned trailer tagging. That means:

- realtek target uses tag_trailer for tagging
- there is a patch for the trailer tagger to write the target port not
  as a bitfield but as an integer

Make the tagging independent from upstream and hacky patches by providing
a new downstream driver. This can be aligned easier for future development.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21815
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agorealtek: dsa: make use of device_get_match_data() 21866/head
Markus Stockhausen [Wed, 4 Feb 2026 07:10:04 +0000 (08:10 +0100)] 
realtek: dsa: make use of device_get_match_data()

The SoC specific configuration structure is currently manually
assigned depending on the family_id. This will be removed in
the future. Make use of device_get_match_data() instead.

While we are here rename the structure prefix.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21866
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agorealtek: dsa: rtl838x: drop redundant SMI_GLB_CTRL accesses 21868/head
Bjørn Mork [Wed, 4 Feb 2026 15:02:08 +0000 (16:02 +0100)] 
realtek: dsa: rtl838x: drop redundant SMI_GLB_CTRL accesses

Bit 15 of the rtl838x SMI_GLB_CTRL register is set early during mdio reset
and never cleared.  There is no need to set it again.

Signed-off-by: Bjørn Mork <bjorn@mork.no>
Link: https://github.com/openwrt/openwrt/pull/21868
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agorealtek: mdio: rtl838x: re-enable phy control via SoC
Bjørn Mork [Wed, 4 Feb 2026 11:23:24 +0000 (12:23 +0100)] 
realtek: mdio: rtl838x: re-enable phy control via SoC

Commit 17f12695d083 ("realtek: mdio: rtl838x: activate combo PHY media detection")
dropped setting bit 15 of the SMI_GLB_CTRL register without any explanation.  This
broke the Netgear GS108Tv3, causing phy patching to fail:

 Firmware loaded. Size 1184, magic: 83808380
 Realtek RTL8218B (internal) 1b000000.switchcore:mdio-controller-mii:08: patch
 Realtek RTL8218B (internal) 1b000000.switchcore:mdio-controller-mii:08: package not ready for patch.
 Realtek RTL8218B (internal) 1b000000.switchcore:mdio-controller-mii:0f: probe with driver Realtek RTL8218B (internal) failed with error -5

None of the internal phys was able to detect a link after this error.

Some rtl8380 devices, like the Zyxel GS1900-10HP A1, were not affected by the bug
because their boot loader always sets bit 15. The bug could also be worked around
on affected devices by running "rtk network on" before booting OpenWrt, setting
bit 15 as a side effect.

Cc: Markus Stockhausen <markus.stockhausen@gmx.de>
Cc: Robert Marko <robimarko@gmail.com>
Fixes: 17f12695d083 ("realtek: mdio: rtl838x: activate combo PHY media detection")
Signed-off-by: Bjørn Mork <bjorn@mork.no>
Link: https://github.com/openwrt/openwrt/pull/21868
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agomediatek: filogic: increase flash speed on Netcore N60 Pro 21802/head
st7105 [Sat, 31 Jan 2026 07:40:47 +0000 (10:40 +0300)] 
mediatek: filogic: increase flash speed on Netcore N60 Pro

This commit increases the SPI bus frequency from 20 to 52 MHz. Reduces boot
time by 2s. Below is a performance comparison.

spi-max-frequency = <20000000>
> time dd if=/dev/mtd4 of=/dev/null bs=10M count=1
> 1+0 records in
> 1+0 records out
> real    0m 1.86s
> user    0m 0.00s
> sys     0m 0.28s

spi-max-frequency = <52000000>
> time dd if=/dev/mtd4 of=/dev/null bs=10M count=1
> 1+0 records in
> 1+0 records out
> real    0m 1.04s
> user    0m 0.00s
> sys     0m 0.27s

Signed-off-by: st7105 <st7105@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21802
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 days agorealtek: phy: drop last soc_info/family usage 21857/head
Markus Stockhausen [Tue, 3 Feb 2026 13:55:42 +0000 (14:55 +0100)] 
realtek: phy: drop last soc_info/family usage

The internal RTL8218B gets detected cleanly. No need for
additional checks of the bus address or the SoC type.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21857
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 days agorealtek: pcs: rtl930x: add standalone XSGMII setup 21762/head
Jonas Jelonek [Tue, 13 Jan 2026 10:57:21 +0000 (10:57 +0000)] 
realtek: pcs: rtl930x: add standalone XSGMII setup

Add everything that's needed to have a standalone setup of the XSGMII
mode without having to rely on previous U-boot setup. This includes
patch sequences for the SerDes and extensions of symbol error reset and
reading.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21762
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 days agorealtek: pcs: rtl93xx: handle XSGMII autoneg
Jonas Jelonek [Mon, 26 Jan 2026 23:20:26 +0000 (23:20 +0000)] 
realtek: pcs: rtl93xx: handle XSGMII autoneg

The XSGMII mode is special in several regards. The inband
autonegotiation for this mode is called 'XSG N-way'. It is controlled
using different bits and location, and using XSG operations.

Add support for this by enhancing the set_autoneg implementation shared
by RTL930x and RTL931x. This can stay shared since it works the same for
both variants.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21762
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 days agorealtek: pcs: make set_autoneg a SerDes operation
Jonas Jelonek [Mon, 26 Jan 2026 22:57:10 +0000 (22:57 +0000)] 
realtek: pcs: make set_autoneg a SerDes operation

Instead of having all kinds of SerDes-related operations in the global
pcs config structure, there's now a SerDes ops structure which is
intended to cover and separate this.

Move the set_autoneg hook to the SerDes ops to adhere to this desired
separation. Calling the operation is further encapsulated with a small
convenience helper.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21762
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 days agomediatek: add Motorcomm PHY support to Cudy AP3000 v1 21776/head
Anton Danilov [Thu, 29 Jan 2026 11:43:17 +0000 (14:43 +0300)] 
mediatek: add Motorcomm PHY support to Cudy AP3000 v1

Newer Cudy AP3000 v1 routers feature a Motorcomm YT8821 PHY
instead of the Realtek PHY [1]. Support for the YT8821
was recently introduced for the Cudy WR3000H router [2].
On the AP3000, the changes allow the PHY to be autodetected.

[1]: https://forum.openwrt.org/t/cudy-ap3000-v1-indoor-wan-motorcomm-yt8821-support/245491
[2]: https://github.com/openwrt/openwrt/pull/21399

Signed-off-by: Anton Danilov <frimen.c@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21776
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 days agokernel: mtd: limit Macronix lock feature to MX25L6405D only 21754/head
Shiji Yang [Wed, 28 Jan 2026 15:15:30 +0000 (23:15 +0800)] 
kernel: mtd: limit Macronix lock feature to MX25L6405D only

Though most Macronix Flash support the lock feature, the generic lock
implementation is not fully compatible with the Macronix series Flash.
Enabling the lock feature globally is unsafe. These hack patches are
used to unlock the Flash of ubnt devices on the ath79 target. Rework
these patches and move it to the ath79 target to prevent the potential
risk.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/21754
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 days agotreewide: remove of_platform.h include 21164/head
Rosen Penev [Fri, 12 Dec 2025 04:35:36 +0000 (20:35 -0800)] 
treewide: remove of_platform.h include

This header is deprecated and typically platform_device.h should be
used.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21164
[Adapted the lantiq patches a bit]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 days agolantiq: ltq-adsl: remove of_platform header
Rosen Penev [Sun, 14 Dec 2025 02:12:46 +0000 (18:12 -0800)] 
lantiq: ltq-adsl: remove of_platform header

It's not the proper one. No of_platform_ APIs are being used.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21164
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 days agokernel: mtd: spinand: add support for SkyHigh S35ML-3 21808/head
Rongzeng Cai [Sat, 31 Jan 2026 12:46:42 +0000 (13:46 +0100)] 
kernel: mtd: spinand: add support for SkyHigh S35ML-3

This introduces support for the SkyHigh S35ML-3 series SPI NAND flash
devices by importing two key patches:
 - 430-v6.14-mtd-spinand-Introduce-a-way-to-avoid-raw-access.patch
 - 431-v6.14-mtd-spinand-Add-support-for-SkyHigh-S35ML-3-family.patch

Additionally, refresh all existing patches.

Co-authored-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Signed-off-by: Rongzeng Cai <cairongzeng@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/21808
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
7 days agokernel: Add necessary CONFIG_MTD_SPLIT config option 21855/head
Linus Walleij [Tue, 3 Feb 2026 17:20:44 +0000 (18:20 +0100)] 
kernel: Add necessary CONFIG_MTD_SPLIT config option

Buils break without this new config, mea culpa.

Link: https://github.com/openwrt/openwrt/pull/21855
Signed-off-by: Linus Walleij <linusw@kernel.org>
7 days agogemini: sl93512r: override SL93512R partitions for firmware 21820/head
Linus Walleij [Sun, 1 Feb 2026 09:26:59 +0000 (10:26 +0100)] 
gemini: sl93512r: override SL93512R partitions for firmware

This is patch is identical in form and purpose as the IB-4220-B
patch. We switch over to a single "firmware" partition.

All reference design-based machines are now converted and we can
drop the legacy set-up code.

It turns out that the reference design also uses the flash layout
with a 3072KB kernel so augment the sysupgrade to do the right
thing also here.

Link: https://github.com/openwrt/openwrt/pull/21820
Signed-off-by: Linus Walleij <linusw@kernel.org>
7 days agogemini: sq201: override SQ201 partitions for firmware
Linus Walleij [Sat, 31 Jan 2026 23:30:33 +0000 (00:30 +0100)] 
gemini: sq201: override SQ201 partitions for firmware

This is patch is identical in form and purpose as the IB-4220-B
patch. We switch over to a single "firmware" partition.

Link: https://github.com/openwrt/openwrt/pull/21820
Signed-off-by: Linus Walleij <linusw@kernel.org>
7 days agogemini: override IB-4220-B partitions for firmware
Linus Walleij [Mon, 26 Jan 2026 07:21:29 +0000 (08:21 +0100)] 
gemini: override IB-4220-B partitions for firmware

To optimize the flash usage and to make firmware upgrades
simpler, catenate the three firmware partitions "Kern",
"Ramdisk" and "Application" into one, and use all of this
for the combined MTD-splitted kernel+rootfs.

This works fine as long as the kernel is placed in the
beginning of this firmware partition and we leave the
RedBoot partition as is, so the boot loader still can load
the kernel from the first two RedBoot partitions.

Using the RedBoot partitions "as is" can be considered
harmful, because when you flash to a RedBoot partition the
file size is used for downsizing of the partition and make
firmware upgrades fail if they are larger than the RedBoot
partition size after flashing, despite there is actually
flash there. So overriding with fixed partitions is just
generally a good idea.

Link: https://github.com/openwrt/openwrt/pull/21820
Signed-off-by: Linus Walleij <linusw@kernel.org>
7 days agokernel: mtdsplit: create executable prolog splitter
Linus Walleij [Tue, 27 Jan 2026 17:09:10 +0000 (18:09 +0100)] 
kernel: mtdsplit: create executable prolog splitter

The problem is the following: we have three fixed partitions
in a RedBoot partition for kernel, initrd and rootfs. On the
surface this looks good.

But we have little flash and want to use it efficiently. We want
to use the OpenWrt "firmware" partition scheme where the kernel,
initramfs and sqashfs+jffs2 rootfs is appended, leaving maximum
space for a writeable rootfs.

To do this we will override the existing RedBoot partition table
with one that merges the three separate partitions into one
"firmware" partition.

RedBoot is still booting the system. It still needs to read the
first two parts "as if" these were the kernel and initrd. This
works fine, because the kernel still comes first.

We already have hacks in place to merge the two kernel and initrd
into one binary image and execute it. This is done by prepending
a "prolog" to the kernel that does the necessary copying in
memory and then jumps to execute the kernel.

Since this "prolog" copying routine is just 92 bytes but has 512
bytes allocated, we can trivially create a firmware format that
can be used for splitting the image into kernel and rootfs
using a tagging scheme that can be done directly by scripting
so we don't need any special binary programs.

This splitter implements that idea.

This will be used on the Gemini platform and was tested on the
Raidsonic IB-4220-B.

Link: https://github.com/openwrt/openwrt/pull/21820
Signed-off-by: Linus Walleij <linusw@kernel.org>
7 days agowireguard-tools: fix script errors 21851/head
Paul Donald [Tue, 3 Feb 2026 05:18:01 +0000 (06:18 +0100)] 
wireguard-tools: fix script errors

follow-up to 148207730a3c9f3aea807df336ca33792e9d3c0f

Schoolboy error on the peer_psk value.

Also fix an issue when joining peer IPv4 and IPv6 AllowedIPs
(${peer_a_ips/ /, } replaces only the first space, while
${peer_a_ips// /, } replaces all the spaces).

Closes: https://github.com/openwrt/openwrt/issues/21847
Signed-off-by: Paul Donald <newtwen+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21851
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 days agorealtek: eth: define hardware receive rings in config 21706/head
Markus Stockhausen [Sun, 25 Jan 2026 20:33:02 +0000 (21:33 +0100)] 
realtek: eth: define hardware receive rings in config

Do not derive the number of hardware receive rings from the SoC
family. Instead add the information to the configuration
structure. Make use of it during ethernet driver probing.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21706
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 days agomediatek: routerich be7200: fix usb issue 21795/head
Mikhail Zhilkin [Fri, 30 Jan 2026 17:23:09 +0000 (20:23 +0300)] 
mediatek: routerich be7200: fix usb issue

This commit fixes non-working USB port:
---
[    5.294036] xhci-mtk 11200000.usb: error -EPERM: Failed to get supply 'vbus'
[    5.301163] xhci-mtk 11200000.usb: error -EPERM: Failed to get regulators
[    5.307938] xhci-mtk 11200000.usb: probe with driver xhci-mtk failed with error -1
---

While testing the USB power on/off functionality during the previous
commit, I didn't sufficiently test the actual operation of the USB
devices.

Fixes: ff5e66a9208a ("mediatek: add support for Routerich BE7200")
Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21795
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
7 days agorealtek: eth: rtl931x: reduce logging of special packet trap 21844/head
Jonas Jelonek [Mon, 2 Feb 2026 19:31:11 +0000 (19:31 +0000)] 
realtek: eth: rtl931x: reduce logging of special packet trap

For packets trapped to the CPU for a special reason (not normal
forward), the RTL931x tag decoding always print a log message with level
INFO. This is not needed and just spams the log, e.g. when LLDP packets
are running through the network, each of them causes a log message.

Make that a debug message instead of an info message. We can keep it,
just change when it's printed.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21844
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 days agohostapd: add status ubus method
Felix Fietkau [Mon, 2 Feb 2026 17:15:41 +0000 (17:15 +0000)] 
hostapd: add status ubus method

Add a status method to both hostapd and wpa_supplicant ubus objects
that lists all configured interfaces with their wiphy, MAC address,
and running/pending state. For MLO interfaces, links are grouped
under a single entry with per-link status.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 days agorealtek: drop legacy I/O functions 21824/head
Markus Stockhausen [Sun, 1 Feb 2026 18:35:45 +0000 (19:35 +0100)] 
realtek: drop legacy I/O functions

Remove the unneeded sw_xxx() macros.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21824
Signed-off-by: Robert Marko <robimarko@gmail.com>
8 days agorealtek: mdio: convert RTL93xx reset to regmap
Markus Stockhausen [Sun, 1 Feb 2026 18:34:29 +0000 (19:34 +0100)] 
realtek: mdio: convert RTL93xx reset to regmap

Make use of regmap in the RTL93xx reset functions.

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