openwrt/staging/blocktrron.git
3 weeks agokernel: sound: add support for MIDI 2.0 and UMP
Florian Bomers [Mon, 10 Nov 2025 17:39:34 +0000 (18:39 +0100)]
kernel: sound: add support for MIDI 2.0 and UMP

New Packages / build options:
* sound-midi2: enable MIDI 2.0 / UMP in ALSA MIDI
* sound-midi2-seq: enable MIDI 2.0 / UMP in ALSA sequencer
* sound-midi2-usb: enable USB MIDI 2.0 support
* sound-dynamic-minors: allow more than 8 MIDI devices
More info about ALSA MIDI 2.0:
 https://docs.kernel.org/6.12/sound/designs/midi-2.0.html
More info about MIDI 2.0:
 https://midi.org/midi-2-0

Signed-off-by: Florian Bomers <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20727
Signed-off-by: Christian Marangi <[email protected]>
3 weeks agoipq40xx: fix unit-address of Netgear LBR20 ubi partition
Christoph Krapp [Mon, 10 Nov 2025 23:01:17 +0000 (00:01 +0100)]
ipq40xx: fix unit-address of Netgear LBR20 ubi partition

The unit-address of the ubi partition was @a9c0000 but the partition
actually starts at offset 0x0ad00000. Ideally they should match, so
align them.

Signed-off-by: Christoph Krapp <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20733
Signed-off-by: Robert Marko <[email protected]>
3 weeks agorealtek: dsa: Clarify meaning of secondary lag member variable
Sven Eckelmann [Sun, 9 Nov 2025 08:45:39 +0000 (09:45 +0100)]
realtek: dsa: Clarify meaning of secondary lag member variable

The name "is_lagmember" implies that the port is part of a LAG. But this
information is already stored in lagmembers. In reality, it is stored the
non-primary LAG members. Renaming it accordingly, makes the code a lot more
readable

Also the type (u32 array) looks like it would contain some kind of large id
(like the group ID). But it only stores a single bit. It is more appropriate
to just use a single bit per port.

Signed-off-by: Sven Eckelmann <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20707
Signed-off-by: Hauke Mehrtens <[email protected]>
3 weeks agorealtek: DSA: Document meaning of lag priv variables
Sven Eckelmann [Sun, 9 Nov 2025 08:38:48 +0000 (09:38 +0100)]
realtek: DSA: Document meaning of lag priv variables

The names of the LAG variables in struct rtl838x_switch_priv are not self
explaining. They are even suggesting that they are dealing with information
which are actually stored in a different variable. As first step, document
their meaning.

Signed-off-by: Sven Eckelmann <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20707
Signed-off-by: Hauke Mehrtens <[email protected]>
3 weeks agorealtek: dsa: Drop LAG checks already handled by DSA handlers
Sven Eckelmann [Sun, 9 Nov 2025 08:32:03 +0000 (09:32 +0100)]
realtek: dsa: Drop LAG checks already handled by DSA handlers

There is no need to check conditions in rtl83xx_lag_add()/rtl83xx_lag_del()
when they are already checked in
rtl83xx_port_lag_join()/rtl83xx_port_lag_leave().

Signed-off-by: Sven Eckelmann <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20707
Signed-off-by: Hauke Mehrtens <[email protected]>
3 weeks agorealtek: dsa: Use DSA allocated LAG ids
Sven Eckelmann [Sun, 9 Nov 2025 08:30:52 +0000 (09:30 +0100)]
realtek: dsa: Use DSA allocated LAG ids

It is not necessary to have a private LAG id allocation when the shared DSA
code already provides the complete infrastructure for it.

Signed-off-by: Sven Eckelmann <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20707
Signed-off-by: Hauke Mehrtens <[email protected]>
3 weeks agorealtek: dsa: Drop secondary LAG configuration handler
Sven Eckelmann [Sun, 9 Nov 2025 08:26:27 +0000 (09:26 +0100)]
realtek: dsa: Drop secondary LAG configuration handler

The DSA code is responsible to inform the driver about link aggregation
changes. Having a second one which behaves slightly different makes the
whole process fragile and creates hard to debug problems.

It also complicates the code because the secondary event handler can also
not rely on shared DSA state to handle things like LAG ID.

Signed-off-by: Sven Eckelmann <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20707
Signed-off-by: Hauke Mehrtens <[email protected]>
3 weeks agorealtek: dsa: Fix LAG id allocation
Sven Eckelmann [Sun, 9 Nov 2025 08:23:48 +0000 (09:23 +0100)]
realtek: dsa: Fix LAG id allocation

The rtl83xx_lag_can_offload() function always returned an error because
ds->num_lag_ids was never set. This basically disabled the DSA lag
configuration completely.

Drop the private n_lag variable and instead use the DSA specific one. This
ensures that all the code always has the same reference for the number of
LAGs.

Fixes: 32e5b5ee6b86 ("realtek: Add Link Aggregation (aka trunking) support")
Signed-off-by: Sven Eckelmann <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20707
Signed-off-by: Hauke Mehrtens <[email protected]>
3 weeks agoudebug: update to Git HEAD (2025-10-21)
Hauke Mehrtens [Sun, 9 Nov 2025 23:44:05 +0000 (00:44 +0100)]
udebug: update to Git HEAD (2025-10-21)

8c967bce23ae CMakeLists.txt: rename udebug-cli to udebug on installation
75f39cd4a806 add debian package support

Link: https://github.com/openwrt/openwrt/pull/20719
Signed-off-by: Hauke Mehrtens <[email protected]>
3 weeks agouci: update to Git HEAD (2025-11-03)
Hauke Mehrtens [Sun, 9 Nov 2025 23:41:24 +0000 (00:41 +0100)]
uci: update to Git HEAD (2025-11-03)

57c1e8cd2c05 github: add CI build
2e46a7405f26 github: improve CI
c1e2eee6c5e3 github: fix CI apt dependencies

Link: https://github.com/openwrt/openwrt/pull/20717
Signed-off-by: Hauke Mehrtens <[email protected]>
3 weeks agoubus: update to Git HEAD (2025-11-03)
Hauke Mehrtens [Sun, 9 Nov 2025 23:40:51 +0000 (00:40 +0100)]
ubus: update to Git HEAD (2025-11-03)

6fdf7a979162 github: improve CI
0d4bcb56f5e1 github: fix CI apt dependencies

Link: https://github.com/openwrt/openwrt/pull/20716
Signed-off-by: Hauke Mehrtens <[email protected]>
3 weeks agoubox: update to Git HEAD (2025-10-30)
Hauke Mehrtens [Sun, 9 Nov 2025 23:40:12 +0000 (00:40 +0100)]
ubox: update to Git HEAD (2025-10-30)

6f78fa496bf3 ubox validate: port range check fix

Link: https://github.com/openwrt/openwrt/pull/20715
Signed-off-by: Hauke Mehrtens <[email protected]>
3 weeks agolibnl-tiny: update to Git HEAD (2025-11-03)
Hauke Mehrtens [Sun, 9 Nov 2025 23:36:17 +0000 (00:36 +0100)]
libnl-tiny: update to Git HEAD (2025-11-03)

fa6a52b03713 github: add CI build
c69fb5ef80b9 github: improve CI
532ac744dedc github: fix CI apt dependencies

Link: https://github.com/openwrt/openwrt/pull/20714
Signed-off-by: Hauke Mehrtens <[email protected]>
3 weeks agolibubox: update to Git HEAD (2025-11-03)
Hauke Mehrtens [Sun, 9 Nov 2025 23:36:48 +0000 (00:36 +0100)]
libubox: update to Git HEAD (2025-11-03)

7a3863acfb15 lua: CMakeLists: drop redundant cmake_minimum_required
61cc1e6fdc0e examples: CMakeLists: drop redundant cmake_minimum_required
7d6b9d98d0bd add debian/ directory
9caf555f00e2 github: improve CI build
e357be611cd9 github: fix CI apt dependencies

Link: https://github.com/openwrt/openwrt/pull/20713
Signed-off-by: Hauke Mehrtens <[email protected]>
3 weeks agorockchip: add missing KERNEL_LOADADDR for LinkEase EasePi R1
Tianling Shen [Mon, 10 Nov 2025 09:12:27 +0000 (17:12 +0800)]
rockchip: add missing KERNEL_LOADADDR for LinkEase EasePi R1

Commit 8ca4caacd039 ("rockchip: Add support for RK3568 LinkEase EasePi R1")
forgot to include the SoC recipe, which leads KERNEL_LOADADDR undefined.

Fixes: 8ca4caacd039 ("rockchip: Add support for RK3568 LinkEase EasePi R1")
Signed-off-by: Tianling Shen <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20722
Signed-off-by: Hauke Mehrtens <[email protected]>
3 weeks agorockchip: fix assign IRQ SMP affinity for Radxa E52C
Tianling Shen [Mon, 10 Nov 2025 09:09:43 +0000 (17:09 +0800)]
rockchip: fix assign IRQ SMP affinity for Radxa E52C

The ifname was renamed to `lan`/`wan` in commit 1f1db7543220
 ("rockchip: make NIC name predictable for Radxa E52C/ROCK 5 ITX/ROCK 5T"),
update accordingly.

Fixes: 1f1db7543220 ("rockchip: make NIC name predictable for Radxa E52C/ROCK 5 ITX/ROCK 5T")
Signed-off-by: Tianling Shen <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20722
Signed-off-by: Hauke Mehrtens <[email protected]>
3 weeks agorealtek: dsa: rtl93xx: Keep mgmt recv action functions local
Sven Eckelmann [Fri, 7 Nov 2025 14:08:17 +0000 (15:08 +0100)]
realtek: dsa: rtl93xx: Keep mgmt recv action functions local

Th function to set the mangement frames receive actions is only used in the
SoC specific files. They can therefore be kept local without any
declaration in headers.

Signed-off-by: Sven Eckelmann <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20704
Signed-off-by: Hauke Mehrtens <[email protected]>
3 weeks agorealtek: dsa: rtl931x: Sync mgmt recv action code with RTL930x
Sven Eckelmann [Fri, 7 Nov 2025 14:08:17 +0000 (15:08 +0100)]
realtek: dsa: rtl931x: Sync mgmt recv action code with RTL930x

The code for the RTL930x management action configuration was cleaned up
significantly for commit 75fe6b2d0b91 ("realtek: rtl930x: Add support for
trapping management frames"). Sync these changes to RTL931x to make it
easier to extend both implementations.

Signed-off-by: Sven Eckelmann <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20704
Signed-off-by: Hauke Mehrtens <[email protected]>
3 weeks agoodhcp6c: update to Git HEAD (2025-11-09)
Hauke Mehrtens [Sun, 9 Nov 2025 23:33:22 +0000 (00:33 +0100)]
odhcp6c: update to Git HEAD (2025-11-09)

17ef5f40d48a readme: rewrite in markdown
0fcfe9166173 readme: document all environment options
e3949977ca94 readme: update for prpl patch-set additions
86544fa2b581 src: align SoftAtHome license headers format
8bad7df9feb9 src: reorder includes alphabetically
6d353ff96826 src: remove pragma once in headers
f5684d570200 treewide: remove whitespaces at EOL
e5cfea8f6ef8 src: add missing if/else braces
a92f199d6b8d dhcpv6: potential bug fix for checking DHCPV6_OPT_STATUS
9e414d41e16e readme: fix description string
775e6c759cfd dhcpv6: return early upon success
e5690c1f13ed treewide: Replace _unused with _o_unused

This fixes the build on powerpc.

Signed-off-by: Hauke Mehrtens <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20712
Signed-off-by: Christian Marangi <[email protected]>
3 weeks agoairoha: backport patch fixing out of order DMA for ethernet driver
Christian Marangi [Mon, 10 Nov 2025 18:27:11 +0000 (19:27 +0100)]
airoha: backport patch fixing out of order DMA for ethernet driver

Backport upstream patch fixing out of order DMA access for ethernet
driver. This is relevant in the context of QoS when packets doesn't
follow linear handling by QDMA HW.

Signed-off-by: Christian Marangi <[email protected]>
3 weeks agouboot-airoha: drop HIDDEN option
Christian Marangi [Mon, 10 Nov 2025 18:16:01 +0000 (19:16 +0100)]
uboot-airoha: drop HIDDEN option

Drop HIDDEN option from U-Boot default for Airoha while support for ATF
gets pushed.

Signed-off-by: Christian Marangi <[email protected]>
3 weeks agoairona: an7583: fix typo for CONFIG_PHY_AIROHA_USB
Christian Marangi [Mon, 10 Nov 2025 17:24:16 +0000 (18:24 +0100)]
airona: an7583: fix typo for CONFIG_PHY_AIROHA_USB

KConfig flag have an extra whitespace for CONFIG_PHY_AIROHA_USB and
value is not ignored.

Drop the extra whitespace to correctly ignore the value on kernel
compilation.

Fixes: c5b12fc02ab1 ("airoha: Introduce support for Airoha AN7583 SoC")
Signed-off-by: Christian Marangi <[email protected]>
3 weeks agofirewall: config: add dest addr restrictions for DHCPv6 rules
Andy Chiang [Mon, 27 Oct 2025 01:34:13 +0000 (08:34 +0700)]
firewall: config: add dest addr restrictions for DHCPv6 rules

Some ISPs may use a GUA or other non-LLA as the source addr for the DHCPv6 response, but the destination addr is always LLA (fe80::/10).
Therefore, adding a dest addr restriction improves security.
See https://forum.mikrotik.com/t/xfinity-comcast-dhcpv6-configuration-change/156031/10

Signed-off-by: Andy Chiang <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20562
Signed-off-by: Robert Marko <[email protected]>
3 weeks agowifi-scripts: allow sae_password_file to be configured
Rany Hany [Sat, 6 Sep 2025 11:06:15 +0000 (11:06 +0000)]
wifi-scripts: allow sae_password_file to be configured

Adds missing config_add_string for sae_password_file.

Fixes: 65a1c666f2 ("hostapd: add SAE support for wifi-station and optimize PSK file creation")
Fixes: https://github.com/openwrt/openwrt/issues/19717
Signed-off-by: Rany Hany <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19964
Signed-off-by: Robert Marko <[email protected]>
3 weeks agotoplevel.mk: use relative path for feeds/base symlink
Andy Chiang [Sat, 4 Oct 2025 10:38:41 +0000 (17:38 +0700)]
toplevel.mk: use relative path for feeds/base symlink

Currently, feeds/base is created as an absolute symlink to $(TOPDIR)/package.
If the OpenWrt source tree is copied to another location for building (while keeping the old tree), the symlink will still point to the package directory in the old tree.
Using a relative symlink ensures that feeds/base always points to the package directory within the current OpenWrt source tree, improving portability and avoiding incorrect links.

Signed-off-by: Andy Chiang <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20297
Signed-off-by: Robert Marko <[email protected]>
3 weeks agoodhcpd: update Makefile description
David Härdeman [Wed, 5 Nov 2025 09:22:56 +0000 (10:22 +0100)]
odhcpd: update Makefile description

Make it a little bit more consistant, and a bit more idiomatic.

Signed-off-by: David Härdeman <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20673
Signed-off-by: Álvaro Fernández Rojas <[email protected]>
3 weeks agoodhcpd: update Makefile, remove homenet
David Härdeman [Wed, 5 Nov 2025 09:05:36 +0000 (10:05 +0100)]
odhcpd: update Makefile, remove homenet

The support has been removed from odhcpd, so remove the Makefile options
related to homenet.

Signed-off-by: David Härdeman <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20673
Signed-off-by: Álvaro Fernández Rojas <[email protected]>
3 weeks agoodhcpd: reload on change to service/network cfg
David Härdeman [Wed, 5 Nov 2025 08:54:51 +0000 (09:54 +0100)]
odhcpd: reload on change to service/network cfg

"system" is used to get the current time zone, "network" is used to get
the global DUID.

Signed-off-by: David Härdeman <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20673
Signed-off-by: Álvaro Fernández Rojas <[email protected]>
3 weeks agoodhcpd: remove legacy option
David Härdeman [Wed, 5 Nov 2025 08:46:31 +0000 (09:46 +0100)]
odhcpd: remove legacy option

Support for this option has been removed from odhcpd, so remove it in
the defaults as well.

Signed-off-by: David Härdeman <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20673
Signed-off-by: Álvaro Fernández Rojas <[email protected]>
3 weeks agowifi-scripts: ucode: iwinfo: expand AKM display
Eneas U de Queiroz [Fri, 7 Nov 2025 14:21:26 +0000 (11:21 -0300)]
wifi-scripts: ucode: iwinfo: expand AKM display

This exands the list of AKMs to display:
 - display the hash when larger than the default (loosely based on
   what hostapd uses in config).
   - renaming 'WPA PSK2' to 'WPA PSK-SHA256' as a result
 - separate FILS suites from plain 802.1x
 - add suites 3, 5, 9, 19, 20, 24, and 25

Signed-off-by: Eneas U de Queiroz <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20686
Signed-off-by: Robert Marko <[email protected]>
3 weeks agowifi-scripts: ucode: iwinfo: escape control chars
Eneas U de Queiroz [Fri, 7 Nov 2025 17:24:33 +0000 (14:24 -0300)]
wifi-scripts: ucode: iwinfo: escape control chars

Escape control characters when displaying ESSID.  It is not uncommon for
a scan to encounter invalid SSIDs, containing binary data.  Escape the
control characters to avoid messing the display (ENQ is particularly
bothersome).

Signed-off-by: Eneas U de Queiroz <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20686
Signed-off-by: Robert Marko <[email protected]>
3 weeks agowifi-scripts: ucode: iwinfo: show ESSID in scan
Eneas U de Queiroz [Thu, 6 Nov 2025 14:57:26 +0000 (11:57 -0300)]
wifi-scripts: ucode: iwinfo: show ESSID in scan

This adds the ESSID: line to the iwinfo scan results.

Signed-off-by: Eneas U de Queiroz <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20686
Signed-off-by: Robert Marko <[email protected]>
3 weeks agorealtek: RTL838x: make u-boot-env writeable ZyXEL GS1900
Joe Holden [Sat, 30 Aug 2025 21:54:51 +0000 (21:54 +0000)]
realtek: RTL838x: make u-boot-env writeable ZyXEL GS1900

As per #19596 - this allows eg, modifying the bootcmd etc.

This has been useful when testing on e.g the -48, where `rtk network on` is required for the SFP ports.

Signed-off-by: Joe Holden <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19913
Signed-off-by: Hauke Mehrtens <[email protected]>
3 weeks agorockchip: Add support for RK3568 LinkEase EasePi R1
Liangbin Lian [Wed, 24 Sep 2025 12:08:13 +0000 (20:08 +0800)]
rockchip: Add support for RK3568 LinkEase EasePi R1

Specification:
- Rockchip RK3568
- 2GB/4GB LPDDR4 RAM
- 16GB on-board eMMC
- 1x M.2 key for 2280 NVMe (PCIe 3.0)
- 1x USB 3.0 Type-A
- 1x USB 2.0 Type-C (for USB flashing)
- 2x 1000 Base-T (native, RTL8211F)
- 2x 2500 Base-T (PCIe, RTL8125B)
- 1x HDMI 2.0 Output
- 12v DC Jack
- 1x Power key connected to PMIC
- 2x LEDs (one static power supplied, one GPIO controlled)

Debug Serial Port: 3.3V TTL, 3-pin 2.54mm pitch connector, 1500000 bauds,
'J7' on board with G/R/T (GND/RX/TX) pins marked

Installation - eMMC:
-Boot official firmware (OpenWRT based)
-Upload sysupgrade.img.gz to /tmp/firmware.bin (with scp or web page)
-Flash to eMMC: sysupgrade -n -p -F /tmp/firmware.bin

Signed-off-by: Liangbin Lian <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20147
Signed-off-by: Hauke Mehrtens <[email protected]>
3 weeks agouboot-rockchip: add support for LinkEase EasePi R1
Liangbin Lian [Wed, 24 Sep 2025 11:49:26 +0000 (19:49 +0800)]
uboot-rockchip: add support for LinkEase EasePi R1

generic-rk3568 is enough

Signed-off-by: Liangbin Lian <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20147
Signed-off-by: Hauke Mehrtens <[email protected]>
3 weeks agomediatek/filogic: fix Cudy WR3000H ethernet port order
Thibaut VARÈNE [Fri, 24 Oct 2025 09:27:59 +0000 (11:27 +0200)]
mediatek/filogic: fix Cudy WR3000H ethernet port order

The ports are physically labelled in reverse order on the device.
This patch aligns logical names with physical ones.
LED order on front of device is correct after this patch.

Fixes: 9d66b8b312fb6a4087244ee3ee10e1ba1623df81
Signed-off-by: Thibaut VARÈNE <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20528
Signed-off-by: Hauke Mehrtens <[email protected]>
3 weeks agouboot-d1: fix build with swig 4.3.0
Trix Taiclet [Mon, 3 Nov 2025 09:37:05 +0000 (10:37 +0100)]
uboot-d1: fix build with swig 4.3.0

Swig 4.3.0 has changed SWIG_Python_AppendOutput, which now requires an
additional parameter `is_void`. SWIG_AppendOutput remains unchanged.
This was fixed upstream in u-boot/u-boot@a63456b

```
scripts/dtc/pylibfdt/libfdt_wrap.c: In function ‘_wrap_fdt_next_node’:
scripts/dtc/pylibfdt/libfdt_wrap.c:5581:17: error: too few arguments to function ‘SWIG_Python_AppendOutput’
 5581 |     resultobj = SWIG_Python_AppendOutput(resultobj, val);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~
```

This is the same fix as applied in 363e07d.

Fixes: #20619
Link: #20620
Signed-off-by: Trix Taiclet <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20620
Signed-off-by: Hauke Mehrtens <[email protected]>
3 weeks agokirkwood: kernel: remove 6.6 version support
Pawel Dembicki [Thu, 6 Nov 2025 11:55:04 +0000 (12:55 +0100)]
kirkwood: kernel: remove 6.6 version support

After switching to 6.12, time to remove 6.6 support.

Signed-off-by: Pawel Dembicki <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20672
Signed-off-by: Hauke Mehrtens <[email protected]>
3 weeks agokirkwood: kernel: switch to 6.12 version
Pawel Dembicki [Thu, 6 Nov 2025 11:50:07 +0000 (12:50 +0100)]
kirkwood: kernel: switch to 6.12 version

No new reggresions was observed. Time to switch to 6.12.

Signed-off-by: Pawel Dembicki <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20672
Signed-off-by: Hauke Mehrtens <[email protected]>
3 weeks agotools/squashfs4: update to 4.7.3
Shiji Yang [Fri, 7 Nov 2025 12:45:25 +0000 (20:45 +0800)]
tools/squashfs4: update to 4.7.3

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

The three backported patches fixed the regression and build
issue on squashfs-tools v4.7.3.

Signed-off-by: Shiji Yang <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20683
Signed-off-by: Hauke Mehrtens <[email protected]>
3 weeks agorockchip: make NIC name predictable for Radxa E52C/ROCK 5 ITX/ROCK 5T
FUKAUMI Naoki [Fri, 31 Oct 2025 12:14:48 +0000 (12:14 +0000)]
rockchip: make NIC name predictable for Radxa E52C/ROCK 5 ITX/ROCK 5T

The probe order for PCIe buses and devices is non-deterministic,
making the names eth0 and eth1 unpredictable (they may be swapped).

This patch fixes the names by referencing the device path using
`ucidef_set_network_device_path`.

The mapping between silkscreen labels on the board/case and OpenWrt
interface names is as follows:

- E52C
  LAN: lan
  WAN: wan

- ROCK 5 ITX
  RJ45 1: eth0
  RJ45 2: eth1

- ROCK 5T
  RJ45_1: eth0
  RJ45_2: eth1

For Radxa E52C, this breaks compatibility of the network config;
therefore, set DEVICE_COMPAT_VERSION to `1.1`.

Fixes: d16d2765bd ("rockchip: add support for Radxa E52C")
Fixes: 0839345211 ("rockchip: add support for Radxa ROCK 5 ITX/ITX+")
Fixes: 4a78af9876 ("rockchip: add support for Radxa ROCK 5T")
Link: https://github.com/openwrt/openwrt/issues/20202
Signed-off-by: FUKAUMI Naoki <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20608
Signed-off-by: Hauke Mehrtens <[email protected]>
3 weeks agomediatek: add support for COMFAST CF-WR632AX
Andrii Kuiukoff [Wed, 8 Oct 2025 18:40:46 +0000 (21:40 +0300)]
mediatek: add support for COMFAST CF-WR632AX

COMFAST CF-WR632AX is a compact/travel (123.4 mm * 88.7 mm * 34 mm)
wireless WiFi 6 router.

Specification
-------------
- SoC          : MediaTek MT7981B dual-core ARM Cortex-A53 1.3 GHz
- RAM          : DDR3 512 MiB
- Flash        : SPI-NAND 128 MiB (Winbond)
- WLAN         : MediaTek MT7976CN dual-band WiFi 6
  - 2.4 GHz    : b/g/n/ax, MU-MIMO (2x 5 dBi antennas)
  - 5 GHz      : a/n/ac/ax, MU-MIMO (2x 5 dBi antennas)
- Ethernet     :
  - LAN x1     : 10/100/1000 Mbps (MT7981 internal PHY)
  - WAN x1     : 10/100/1000/2500 Mbps (Maxlinear GPY211C)
- USB x1       : 3.0
- UART         : through-hole on PCB
  - assignment : (RX), (TX), (GND), [VCC]
  - settings   : 115200n8
- Buttons x1   : Reset
- LEDs x3      : Status (Blue, Green, Red)
- Fan x1       : PWM, 4-wire, 5 V, 0.3 A, 45 mm * 10 mm
- Power        : 5 VDC, 3 A, Type-C

Flash instructions
------------------
WebUI Method:

1. Install the *squashfs-sysupgrade.bin image using the stock WebUI
   update page.
2. Press and hold the reset button after reboot
   to wipe the stock config.

SSH Method:

1. Import stock firmware settings from backup file
   github.com/andros-ua/owrt-misc/blob/main/cf-wr632ax/backup.file
   Note: WebUI password will be reset to admin1234 after import.
2. Connect via SSH using root:openwrt credentials.
3. Upload the *squashfs-sysupgrade.bin image.
4. Use the command: sysupgrade -n
   All checks should pass.

Return to stock
---------------
Flash a stock firmware
using the OpenWrt sysupgrade method.

Recovery
--------
Power on the router while holding the Reset button until
the LED flashes 5 times.
The U-Boot Flash WebUI will be available at http://192.168.1.1
or
Connect UART and use the U-Boot menu to flash the firmware image
or boot an OpenWrt initramfs image.

OpenWrt U-Boot flash instructions
---------------------------------
1. Flash ordinary OpenWrt image.
2. Login into the device and backup everything, especially 'Factory' part.
3. Unlock mtd partitions:
    apk add kmod-mtd-rw
    insmod mtd-rw i_want_a_brick=1
4. Write new BL2 and FIP:
    mtd write openwrt-mediatek-filogic-comfast_cf-wr632ax-ubootmod-preloader.bin BL2
    mtd write openwrt-mediatek-filogic-comfast_cf-wr632ax-ubootmod-bl31-uboot.fip FIP
5. Set static IP on your PC:
    ip 192.168.1.254 mask 255.255.255.0
6. Serve OpenWrt initramfs image using TFTP server.
7. Reboot device, wait for TFTP recovery to complete.
8. After OpenWrt has booted, perform sysupgrade.

MAC Addresses:
----------------------------------------------------------
| Interface    |  MAC              | Source              |
---------------|-------------------|----------------------
| WAN (label)  | 40:A5:EF:xx:xx:xx | Factory, 0xe000     |
| LAN          | 40:A5:EF:xx:xx:xx | Factory, 0xe000 + 1 |
| WLAN 2.4 GHz | 40:A5:EF:xx:xx:xx | Factory, 0x4        |
| WLAN 5 GHz   | 40:A5:EF:xx:xx:xx | Factory, 0x8000     |
----------------------------------------------------------

Signed-off-by: Andrii Kuiukoff <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20382
Signed-off-by: Hauke Mehrtens <[email protected]>
3 weeks agoramips: mt7621: add support for Cudy AP1300 Outdoor v1
Luis Mita [Wed, 1 Oct 2025 22:42:58 +0000 (18:42 -0400)]
ramips: mt7621: add support for Cudy AP1300 Outdoor v1

Hardware:
 - SoC: MediaTek MT7621DAT
 - Flash: 16 MiB XM25QH128C
 - RAM: 128 MiB
 - WLAN: 2.4 GHz (MT7603E, 11n), 5 GHz (MediaTek MT7613BEN, 11ac)
 - Ethernet: 1x10/100/1000 Mbps LAN
 - Buttons: 1 Reset button, 1 WPS button
 - LEDs: 5x Green
 - Serial Console: unpopulated header 115200 8n1 (silkscreen on PCB)
 - Power: POE 802.3af (37-57V DC)

MAC addresses:
+---------+-------------------+-----------+
|         | MAC               | Algorithm |
+---------+-------------------+-----------+
| LAN     | 80:af:ca:xx:xx:x0 | label     |
| WLAN 2g | 80:af:ca:xx:xx:x0 | label     |
| WLAN 5g | 82:af:ca:xx:xx:x1 | +1        |
+---------+-------------------+-----------+

Installation:
The factory firmware is locked: you can only work with Cudy signed firmware.
Download a intermediate firmware signed by Cudy here:
https://www.cudy.com/blogs/faq/openwrt-software-download

After that, login to the router (192.168.10.254, password "admin") and install the intermediate firmware.

If you can reach LuCI or SSH now on the intermediate firmware, just use the sysupgrade image with the 'Keep settings' option turned off.

Special thanks to Daniel de Kock for starting the porting work at #16265.

Signed-off-by: Luis Mita <[email protected]>
Co-Authored-By: Daniel de Kock <[email protected]>
Co-Authored-By: Hauke Mehrtens <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20268
Signed-off-by: Hauke Mehrtens <[email protected]>
3 weeks agorealtek: pcs: allow to configure SerDes polarity
Jonas Jelonek [Tue, 28 Oct 2025 22:18:34 +0000 (22:18 +0000)]
realtek: pcs: allow to configure SerDes polarity

Allow to configure SerDes polarity in device tree. To achieve this, add
new device tree properties that can be set in the device tree definition
of the SerDes, are read by the PCS driver during probe and are applied
upon SerDes setup.

This may be required for supporting new devices as the SerDes polarity
is usually subject to the vendors board design and defined in the
hardware profile (HWP) in the SDK. Most importantly, it is quite an
important step towards being able to setup everything on our own instead
of relying on the bootloader.

Signed-off-by: Jonas Jelonek <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20648
Signed-off-by: Hauke Mehrtens <[email protected]>
3 weeks agorealtek: pcs: rtl93xx: provide proper SerDes polarity configuration
Jonas Jelonek [Tue, 4 Nov 2025 21:27:07 +0000 (21:27 +0000)]
realtek: pcs: rtl93xx: provide proper SerDes polarity configuration

The configuration code for RTL930X already provides setting the SerDes
TX and RX PN polarity. This is covered by a function called
'..._sds_mac_link_config'. But despite its name, this function only sets
the SerDes polarity and nothing more.

Moreover, this was called always with 'not inverted' in the SerDes setup
code and thus not really allowing to be configured.

At first, streamline the SerDes polarity configuration code. Rename the
function to reflect what it actually does instead of giving the
impression of doing more. Improve the implementation of this for better
readability.

As the implementation, page, register, bits, etc. are exactly the same
for both RTL930X and RTL931X (compare [1] and [2]), move and name it
accordingly so we can also add support for RTL931X.

[1] https://github.com/plappermaul/realtek-doc/blob/69d2890a2e2d7a03df6e40e2cd2c32ff5b074dcf/sources/rtk-xgs1210/src/hal/phy/phy_rtl9300.c#L1384
[2] https://github.com/plappermaul/realtek-doc/blob/69d2890a2e2d7a03df6e40e2cd2c32ff5b074dcf/sources/rtk-xgs1210/src/hal/phy/phy_rtl9310.c#L3479

Signed-off-by: Jonas Jelonek <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20648
Signed-off-by: Hauke Mehrtens <[email protected]>
3 weeks agokernel: mtdsplit_fit: always return 0 when partition can't be split
Shiji Yang [Sun, 9 Nov 2025 07:25:16 +0000 (15:25 +0800)]
kernel: mtdsplit_fit: always return 0 when partition can't be split

If parse_fn() callback returns any error code, the entire MTD partition
table will be destroyed. Returning "0" indicates that the partition
should not be split. This patch fixes the kernel warning when running
the initramfs image but there is no image in firmware partition:

```
[    1.554246] no rootfs found after FIT image in "firmware"
[    1.559686] Failed to parse subpartitions: -19
[    1.564120] Deleting MTD partitions on "spi0.0":
[    1.568743] Deleting bl2 MTD partition
[    1.572507] ------------[ cut here ]------------
[    1.577110] WARNING: CPU: 0 PID: 1 at del_gendisk+0x260/0x2c4
[    1.582855] Modules linked in:
[    1.585902] CPU: 0 UID: 0 PID: 1 Comm: swapper/0 Not tainted 6.12.57 #0
[    1.592505] Hardware name: AiroPi AX3 (DT)
[    1.596589] pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[    1.603538] pc : del_gendisk+0x260/0x2c4
[    1.607452] lr : del_gendisk+0x1c/0x2c4
[    1.611280] sp : ffffffc080dab460
[    1.614583] x29: ffffffc080dab460 x28: ffffffc080d75140 x27: 0000000000000004
[    1.621711] x26: 0000000000000000 x25: 0000000000000000 x24: ffffffc080b3f3d0
[    1.628838] x23: ffffffc080cf3d78 x22: ffffffc080cf3da8 x21: ffffff80009b8780
[    1.635966] x20: ffffffc080cf3e10 x19: ffffff80009d7400 x18: ffffffc080c5ebd8
[    1.643093] x17: ffffffc080cf00f0 x16: 000000009d594d00 x15: 0000000000000088
[    1.650221] x14: 0000000000000088 x13: 00000000ffffffea x12: ffffffc080cb6b80
[    1.657348] x11: 0000000000000040 x10: ffffffc080cf3820 x9 : ffffffc080cf3818
[    1.664475] x8 : ffffff8000420dd8 x7 : 0000000000000000 x6 : 0000000000000000
[    1.671601] x5 : ffffff8000420db0 x4 : ffffff8000420dd8 x3 : 0000000000000000
[    1.678728] x2 : 0000000000000000 x1 : 0000000000000000 x0 : 0000000000000004
[    1.685855] Call trace:
[    1.688290]  del_gendisk+0x260/0x2c4
[    1.691858]  del_mtd_blktrans_dev+0x30/0x144
[    1.696120]  mtdblock_remove_dev+0xc/0x20
[    1.700119]  blktrans_notify_remove+0x88/0xc4
[    1.704464]  del_mtd_device+0x58/0xdc
[    1.708120]  __del_mtd_partitions+0x98/0xe0
[    1.712296]  del_mtd_partitions+0x50/0x70
[    1.716299]  add_mtd_partitions+0x94/0x1e0
[    1.720388]  parse_mtd_partitions+0x3d0/0x4d4
[    1.724736]  mtd_device_parse_register+0x170/0x36c
[    1.729518]  spi_nor_probe+0x250/0x2cc
[    1.733261]  spi_mem_probe+0x68/0xa0
[    1.736828]  spi_probe+0x80/0xe0
[    1.740051]  really_probe+0xb8/0x2a4
[    1.743617]  __driver_probe_device+0x74/0x118
[    1.747962]  driver_probe_device+0x3c/0xe0
[    1.752049]  __device_attach_driver+0xac/0xe8
[    1.756394]  bus_for_each_drv+0x6c/0xb0
[    1.760224]  __device_attach+0x98/0x178
[    1.764049]  device_initial_probe+0x10/0x18
[    1.768223]  bus_probe_device+0xa0/0xa4
[    1.772051]  device_add+0x540/0x724
[    1.775531]  __spi_add_device+0x13c/0x1f8
[    1.779532]  of_register_spi_device+0x44c/0x720
[    1.784051]  spi_register_controller+0x4cc/0x6c0
[    1.788658]  devm_spi_register_controller+0x48/0xa0
[    1.793525]  mtk_spi_probe+0x420/0x720
[    1.797266]  platform_probe+0x64/0xcc
[    1.800920]  really_probe+0xb8/0x2a4
[    1.804485]  __driver_probe_device+0x74/0x118
[    1.808831]  driver_probe_device+0x3c/0xe0
[    1.812916]  __driver_attach+0x88/0x154
[    1.816741]  bus_for_each_dev+0x60/0xa0
[    1.820569]  driver_attach+0x20/0x28
[    1.824138]  bus_add_driver+0xdc/0x208
[    1.827880]  driver_register+0x64/0x114
[    1.831705]  __platform_driver_register+0x20/0x30
[    1.836399]  mtk_spi_driver_init+0x18/0x20
[    1.840486]  do_one_initcall+0x4c/0x1f8
[    1.844313]  kernel_init_freeable+0x238/0x290
[    1.848661]  kernel_init+0x1c/0x120
[    1.852141]  ret_from_fork+0x10/0x20
[    1.855707] ---[ end trace 0000000000000000 ]---
[    1.860731] Deleting u-boot-env MTD partition
[    1.865431] Deleting factory MTD partition
[    1.869907] Deleting fip MTD partition
[    1.874003] Deleting firmware MTD partition
```

Ref:
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/drivers/mtd/mtdpart.c?h=linux-6.12.y&id=5c2f7727d437cd42033d13ebc8b3d74b9fe65712

Signed-off-by: Shiji Yang <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20706
Signed-off-by: Hauke Mehrtens <[email protected]>
3 weeks agoppp: add reqprefix norelease ac_mac
Andy Chiang [Tue, 9 Sep 2025 00:37:09 +0000 (07:37 +0700)]
ppp: add reqprefix norelease ac_mac

Use ppp and enable autoipv6, odhcp6c supports reqprefix and norelease to minimize the chance of IPv6 PD changes.[1]
PPPoE supports connecting to a specific AC/BRAS by using the pppoe-mac parameter.[2]

1. https://github.com/openwrt/openwrt/blob/master/package/network/ipv6/odhcp6c/files/dhcpv6.sh#L67
   https://github.com/openwrt/openwrt/blob/master/package/network/ipv6/odhcp6c/files/dhcpv6.sh#L77
2. https://github.com/ppp-project/ppp/blob/master/pppd/plugins/pppoe/plugin.c#L93

Signed-off-by: Andy Chiang <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19978
Signed-off-by: Robert Marko <[email protected]>
3 weeks agobcm53xx: use -ENOENT error for TRX parser workaround patch
Christian Marangi [Sun, 9 Nov 2025 11:55:18 +0000 (12:55 +0100)]
bcm53xx: use -ENOENT error for TRX parser workaround patch

Change return value from -EINVAL to -ENOENT for the TRX parser
workaround patch as it's better suited and it's the common exit error
for parser failing parsing for expected condition (partition not init,
zero partition found in the schema, magic values not matching)

Also this is needed for a pending upstream patch that will permit parser
to fail and be skipped for subpartitions only with the -ENOENT error.

Signed-off-by: Christian Marangi <[email protected]>
3 weeks agomediatek: filogic: add support for TP-LINK BE450
Dirk Buchwalder [Fri, 10 Oct 2025 19:51:07 +0000 (21:51 +0200)]
mediatek: filogic: add support for TP-LINK BE450

This commit adds support for TP-LINK BE450.

Device specification
--------------------
SoC Type:   MediaTek MT7988D, Cortex-A73, 64-bit
RAM:        512MB
Flash:      SPI NAND GigaDevice (128 MiB)
Ethernet:   MediaTek MT7531AE (3 Ports) + 2.5GbE (internal MT7988 phy) + 10GbE (RTL8261N)

WLAN:       MT7992
WLAN 2g:    MediaTek MT7975N, b/g/n/ax/be, MIMO 4x4
WLAN 5g:    MediaTek MT7979N, a/n/ac/ax/be, MIMO 4x4
LEDs:       8 LEDs, 1 status blue, 2x WIFI blue, 2x Internet
        blue/orange, 1 LAN blue, 1 usb blue, 1 wps blue, gpio-controlled
Button:     2 (Reset, WPS)
USB port:   Yes
Power:      12 VDC, 2 A
Connector:  Barrel
Bootloader: Main U-Boot - U-Boot 2023.10-rc4. Additionally, ubi0
            partition contain "seconduboot" (also U-Boot 2023.10-rc4)

Serial console (UART), unpopulated, located near the power connector
---------------------
heatsink
|   |
|   |
|   |     +----+-----+------+-------+               +-----------------+
|   |     | TX |  RX |  GND | +3.3V |               | power connector |
+---+     +----+-----+------+-------+               +-----------------+
                                  |
                Don't connect ----+

Disassemble: rm the 2 screws at the bottom and the one at the backside.
             un-clip the case starting at the edge above the LEDs.

Installation (UART)
-------------------
1. Place OpenWrt initramfs image on tftp server with IP 192.168.1.2
2. Attach UART, switch on the router and interrupt the boot process by
   pressing 'Ctrl-C'
3. Load and run OpenWrt initramfs image:
      tftpboot 0x50000000 openwrt-mediatek-filogic-tplink_be450-initramfs-kernel.bin && bootm 0x50000000
4. Run 'sysupgrade -n' with the sysupgrade OpenWrt image

Note: the 10GbE (RTL8261N) is only working if reverting this Realtek target specific commit:
      https://github.com/openwrt/openwrt/commit/b77fa45d1278443d534919598c0301719fed2784

      The second ubi partition (ubi1) is empty and there is no known
      dual-partition mechanism, neither in u-boot nor in the stock firmware.

      NMBM is not used.

Not Working: WED, if activated, MT7992 isn't recognized any more.

Signed-off-by: Dirk Buchwalder <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20398
Signed-off-by: Hauke Mehrtens <[email protected]>
3 weeks agopcre2: bump to 10.47
John Audia [Sun, 26 Oct 2025 12:17:07 +0000 (08:17 -0400)]
pcre2: bump to 10.47

Update to latest version.

Changelog: https://github.com/PCRE2Project/pcre2/blob/pcre2-10.47/ChangeLog

Tested with snort3, no regressions.

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

Signed-off-by: John Audia <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20554
Signed-off-by: Hauke Mehrtens <[email protected]>
3 weeks agokernel: generic: mtdsplit_seil: return 0 instead of -ENODEV
INAGAKI Hiroshi [Sat, 8 Nov 2025 05:35:30 +0000 (14:35 +0900)]
kernel: generic: mtdsplit_seil: return 0 instead of -ENODEV

Return 0 if the current mtd is inactive or no valid header/rootfs found,
instead of -ENODEV.
Linux Kernel 6.7 and later versions handle all errors returned by mtd
parsers, including -ENODEV as error. So '0' needs to be returned if no
child partitions were not parsed.

Signed-off-by: INAGAKI Hiroshi <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20697
Signed-off-by: Hauke Mehrtens <[email protected]>
3 weeks agoutil-linux: Update to version 2.41.2
Hauke Mehrtens [Sat, 25 Oct 2025 22:03:29 +0000 (00:03 +0200)]
util-linux: Update to version 2.41.2

Changes:
https://www.kernel.org/pub/linux/utils/util-linux/v2.41/v2.41.2-ReleaseNotes

Link: https://github.com/openwrt/openwrt/pull/20546
Signed-off-by: Hauke Mehrtens <[email protected]>
3 weeks agotools: util-linux: Update to version 2.41.2
Hauke Mehrtens [Sat, 25 Oct 2025 22:02:12 +0000 (00:02 +0200)]
tools: util-linux: Update to version 2.41.2

Changes:
https://www.kernel.org/pub/linux/utils/util-linux/v2.41/v2.41.2-ReleaseNotes

Link: https://github.com/openwrt/openwrt/pull/20546
Signed-off-by: Hauke Mehrtens <[email protected]>
3 weeks agoe2fsprogs: Update to version 1.47.3
Hauke Mehrtens [Sat, 25 Oct 2025 15:00:55 +0000 (17:00 +0200)]
e2fsprogs: Update to version 1.47.3

Changelog:
https://e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.47.3

The file sizes changed only a bit:
```
  8671 bin/packages/mipsel_24kc/base/badblocks-1.47.2-r1.apk
  3449 bin/packages/mipsel_24kc/base/chattr-1.47.2-r1.apk
 61629 bin/packages/mipsel_24kc/base/debugfs-1.47.2-r1.apk
  8522 bin/packages/mipsel_24kc/base/dumpe2fs-1.47.2-r1.apk
  4620 bin/packages/mipsel_24kc/base/e2freefrag-1.47.2-r1.apk
162458 bin/packages/mipsel_24kc/base/e2fsprogs-1.47.2-r1.apk
  6837 bin/packages/mipsel_24kc/base/e4crypt-1.47.2-r1.apk
  6143 bin/packages/mipsel_24kc/base/filefrag-1.47.2-r1.apk
  4136 bin/packages/mipsel_24kc/base/libcomerr0-1.47.2-r1.apk
 12083 bin/packages/mipsel_24kc/base/libe2p2-1.47.2-r1.apk
173855 bin/packages/mipsel_24kc/base/libext2fs2-1.47.2-r1.apk
  8166 bin/packages/mipsel_24kc/base/libss2-1.47.2-r1.apk
  2987 bin/packages/mipsel_24kc/base/lsattr-1.47.2-r1.apk
 23203 bin/packages/mipsel_24kc/base/resize2fs-1.47.2-r1.apk
 36232 bin/packages/mipsel_24kc/base/tune2fs-1.47.2-r1.apk

  8671 bin/packages/mipsel_24kc/base/badblocks-1.47.3-r1.apk
  3450 bin/packages/mipsel_24kc/base/chattr-1.47.3-r1.apk
 61545 bin/packages/mipsel_24kc/base/debugfs-1.47.3-r1.apk
  8519 bin/packages/mipsel_24kc/base/dumpe2fs-1.47.3-r1.apk
  4630 bin/packages/mipsel_24kc/base/e2freefrag-1.47.3-r1.apk
161364 bin/packages/mipsel_24kc/base/e2fsprogs-1.47.3-r1.apk
  6846 bin/packages/mipsel_24kc/base/e4crypt-1.47.3-r1.apk
  6092 bin/packages/mipsel_24kc/base/filefrag-1.47.3-r1.apk
  4135 bin/packages/mipsel_24kc/base/libcomerr0-1.47.3-r1.apk
 12121 bin/packages/mipsel_24kc/base/libe2p2-1.47.3-r1.apk
175696 bin/packages/mipsel_24kc/base/libext2fs2-1.47.3-r1.apk
  8166 bin/packages/mipsel_24kc/base/libss2-1.47.3-r1.apk
  3001 bin/packages/mipsel_24kc/base/lsattr-1.47.3-r1.apk
 23208 bin/packages/mipsel_24kc/base/resize2fs-1.47.3-r1.apk
 36402 bin/packages/mipsel_24kc/base/tune2fs-1.47.3-r1.apk
```

Link: https://github.com/openwrt/openwrt/pull/20541
Signed-off-by: Hauke Mehrtens <[email protected]>
3 weeks agotools: e2fsprogs: Update to version 1.47.3
Hauke Mehrtens [Sat, 25 Oct 2025 15:00:18 +0000 (17:00 +0200)]
tools: e2fsprogs: Update to version 1.47.3

Changelog:
https://e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.47.3

Add patch to fix build on older Linux systems like Debian oldstable.

Link: https://github.com/openwrt/openwrt/pull/20541
Signed-off-by: Hauke Mehrtens <[email protected]>
3 weeks agoiproute2: Update to version 6.17
Hauke Mehrtens [Sat, 25 Oct 2025 21:32:40 +0000 (23:32 +0200)]
iproute2: Update to version 6.17

https://www.spinics.net/lists/netdev/msg1094722.html
https://www.spinics.net/lists/netdev/msg1112693.html
https://www.spinics.net/lists/netdev/msg1126307.html

Only small size increases:
```
 42470 bin/packages/mipsel_24kc/base/devlink-6.17.0-r1.apk
  7553 bin/packages/mipsel_24kc/base/genl-6.17.0-r1.apk
 35340 bin/packages/mipsel_24kc/base/ip-bridge-6.17.0-r1.apk
195151 bin/packages/mipsel_24kc/base/ip-full-6.17.0-r1.apk
133690 bin/packages/mipsel_24kc/base/ip-tiny-6.17.0-r1.apk
 12185 bin/packages/mipsel_24kc/base/nstat-6.17.0-r1.apk
 21484 bin/packages/mipsel_24kc/base/rdma-6.17.0-r1.apk
 40935 bin/packages/mipsel_24kc/base/ss-6.17.0-r1.apk
168132 bin/packages/mipsel_24kc/base/tc-bpf-6.17.0-r1.apk
169667 bin/packages/mipsel_24kc/base/tc-full-6.17.0-r1.apk
144693 bin/packages/mipsel_24kc/base/tc-tiny-6.17.0-r1.apk

 41654 bin/packages/mipsel_24kc/base/devlink-6.14.0-r1.apk
  7551 bin/packages/mipsel_24kc/base/genl-6.14.0-r1.apk
 32847 bin/packages/mipsel_24kc/base/ip-bridge-6.14.0-r1.apk
194398 bin/packages/mipsel_24kc/base/ip-full-6.14.0-r1.apk
132656 bin/packages/mipsel_24kc/base/ip-tiny-6.14.0-r1.apk
 12114 bin/packages/mipsel_24kc/base/nstat-6.14.0-r1.apk
 21366 bin/packages/mipsel_24kc/base/rdma-6.14.0-r1.apk
 40939 bin/packages/mipsel_24kc/base/ss-6.14.0-r1.apk
163878 bin/packages/mipsel_24kc/base/tc-bpf-6.14.0-r1.apk
165511 bin/packages/mipsel_24kc/base/tc-full-6.14.0-r1.apk
140497 bin/packages/mipsel_24kc/base/tc-tiny-6.14.0-r1.apk
```

Link: https://github.com/openwrt/openwrt/pull/20545
Signed-off-by: Hauke Mehrtens <[email protected]>
3 weeks agowireless-regdb: Update to version 2025.10.07
Hauke Mehrtens [Sat, 25 Oct 2025 20:44:22 +0000 (22:44 +0200)]
wireless-regdb: Update to version 2025.10.07

e51d568 wireless-regdb: update regulatory rules for Botswana (BW) for 2022
5afc632 wireless-regdb: update regulatory rules for Sint Marteen (SX) for 2018
b484a31 wireless-regdb: Update regulatory info including bandwidth for Costa Rica (CR) for 2023
39e5e04 wireless-regdb: Permit lower 6 GHz band for Kazakhstan (KZ)
a827d3a wireless-regdb: update regulatory database based on preceding changes

Link: https://github.com/openwrt/openwrt/pull/20544
Signed-off-by: Hauke Mehrtens <[email protected]>
3 weeks agowolfssl: Update to version 5.8.2
Hauke Mehrtens [Sat, 25 Oct 2025 22:18:44 +0000 (00:18 +0200)]
wolfssl: Update to version 5.8.2

This version fixes multiple security problems:
CVE-2025-7395: Problem in certificate verification on Apple devices
CVE-2025-7394: Predictable results from RAND_bytes() after fork call in OpenSSL compatibility layer
CVE-2025-7396: Activate Curve25519 blinding support

See Release notes:
https://github.com/wolfSSL/wolfssl/releases/tag/v5.8.0-stable
https://github.com/wolfSSL/wolfssl/releases/tag/v5.8.2-stable

wolfSSL is now GPLv3 instead of GPLv2, see:
https://github.com/wolfSSL/wolfssl/commit/629c5b4cf61ac717d40678b5cd65974b42077af6

The file size increased a bit:
```
546060 bin/packages/mipsel_24kc/base/libwolfssl5.7.6.e624513f-5.7.6-r1.apk
560684 bin/packages/mipsel_24kc/base/libwolfssl5.8.2.e624513f-5.8.2-r1.apk
```

Link: https://github.com/openwrt/openwrt/pull/20547
Signed-off-by: Hauke Mehrtens <[email protected]>
3 weeks agomtd-utils: Update to version 2.3.0
Hauke Mehrtens [Sat, 25 Oct 2025 13:50:36 +0000 (15:50 +0200)]
mtd-utils: Update to version 2.3.0

See announcement mail for list of new features:
https://lists.infradead.org/pipermail/linux-mtd/2025-February/108248.html

Cherry pick some upstream commits which fix build problems in some
situations.

autoreconf fixup is needed now otherwise the build fails with:
```
mtd-utils-2.3.0/missing: line 81: automake-1.16: command not found
```

The code in tests/ubifs_tools-tests/Makemodule.am does not build because
some test data is not packaged in the tar files, do not build code from
this directory.

The size increased only very little:
 61498 bin/targets/ramips/mt7621/packages/nand-utils-2.3.0-r1.apk
101643 bin/targets/ramips/mt7621/packages/ubi-utils-2.3.0-r1.apk
 61243 bin/targets/ramips/mt7621/packages/nand-utils-2.2.1-r1.apk
101291 bin/targets/ramips/mt7621/packages/ubi-utils-2.2.1-r1.apk

Link: https://github.com/openwrt/openwrt/pull/20540
Signed-off-by: Hauke Mehrtens <[email protected]>
3 weeks agotools: mtd-utils: Update to version 2.3.0
Hauke Mehrtens [Sat, 25 Oct 2025 12:40:21 +0000 (14:40 +0200)]
tools: mtd-utils: Update to version 2.3.0

See announcement mail for list of new features:
https://lists.infradead.org/pipermail/linux-mtd/2025-February/108248.html

The removed patch 100-sscanf_fix.patch was applied upstream, see:
https://git.infradead.org/?p=mtd-utils.git;a=commitdiff;h=cba2d7875328b05a4a76f619de0ce7050f2df971

The patch 110-portability.patch was manually adapted.

Cherry pick some upstream commits which fix build problems in some
situations.

Link: https://github.com/openwrt/openwrt/pull/20540
Signed-off-by: Hauke Mehrtens <[email protected]>
3 weeks agogdb: Update to version 16.3
Hauke Mehrtens [Sat, 25 Oct 2025 20:49:53 +0000 (22:49 +0200)]
gdb: Update to version 16.3

This is a corrective release over GDB 16.2, fixing the following issues:

   PR symtab/32309 ([gdb/symtab, fission] gdb/dwarf2/read.h:289: internal-error: version: Assertion `m_dwarf_version != 0' failed)
   PR corefiles/32441 (gdb segfaults when generating a core file if target_fileio_read_alloc fails)
   PR tui/32623 (TUI console window doesn't update while inferior is running)
   PR corefiles/32634 ([gdb/corefiles] segfault in gdb.arch/i386-biarch-core.exp)
   PR backtrace/32757 ("Assertion `stashed' failed" when inline frame #0 is duplicated)
   PR tdep/32770 ([gdb/tdep, i386] FAIL: gdb.reverse/recvmsg-reverse.exp: continue to breakpoint: marker2)
   PR gdb/32775 ([AArch64] gdbserver crashes on SVE/SME-enabled systems)
   PR record/32784 ([gdb/record, aarch64] Stack smashing detected in aarch64_record_asimd_load_store)
   PR tui/32797 (Escape sequences to only reset foreground or background color to default fail)
   PR gdb/32828 (gstack regression: missing file names and line numbers)

Link: https://github.com/openwrt/openwrt/pull/20543
Signed-off-by: Hauke Mehrtens <[email protected]>
3 weeks agotoolchain: gdb: Update to version 16.3
Hauke Mehrtens [Sat, 25 Oct 2025 20:49:02 +0000 (22:49 +0200)]
toolchain: gdb: Update to version 16.3

This is a corrective release over GDB 16.2, fixing the following issues:

   PR symtab/32309 ([gdb/symtab, fission] gdb/dwarf2/read.h:289: internal-error: version: Assertion `m_dwarf_version != 0' failed)
   PR corefiles/32441 (gdb segfaults when generating a core file if target_fileio_read_alloc fails)
   PR tui/32623 (TUI console window doesn't update while inferior is running)
   PR corefiles/32634 ([gdb/corefiles] segfault in gdb.arch/i386-biarch-core.exp)
   PR backtrace/32757 ("Assertion `stashed' failed" when inline frame #0 is duplicated)
   PR tdep/32770 ([gdb/tdep, i386] FAIL: gdb.reverse/recvmsg-reverse.exp: continue to breakpoint: marker2)
   PR gdb/32775 ([AArch64] gdbserver crashes on SVE/SME-enabled systems)
   PR record/32784 ([gdb/record, aarch64] Stack smashing detected in aarch64_record_asimd_load_store)
   PR tui/32797 (Escape sequences to only reset foreground or background color to default fail)
   PR gdb/32828 (gstack regression: missing file names and line numbers)

Link: https://github.com/openwrt/openwrt/pull/20543
Signed-off-by: Hauke Mehrtens <[email protected]>
3 weeks agotrace-cmd: Update to version 3.3.3
Hauke Mehrtens [Sat, 25 Oct 2025 22:48:04 +0000 (00:48 +0200)]
trace-cmd: Update to version 3.3.3

d1fac9ec trace-cmd record: Always disable func_stack_trace in tracecmd_disable_all_tracing()
75e3b868 trace-cmd: utest: include libgen.h for POSIX basename()
176bc1f1 trace-cmd record: Fix compression when files are greater than 2GB
9da3427e trace-cmd lib: Use proper printf format specifiers
5f20c477 trace-cmd: Version 3.3.1
39acb4cc trace-cmd list: Use tracefs_filter_functions()
4eef18ff trace-cmd show: Add --max_latency
e4540079 trace-cmd list: Use tracefs_instances() to list instances
908d122e trace-cmd stat: Use tracefs_instances() instead of walking them
cc6de736 trace-cmd reset: Bail out immediately if user provides an invalid option
3c4fd59b trace-cmd reset: Add option to preserve specific dynamic events
19ceba14 trace-cmd reset: Update man page for -k option
bbea061f trace-cmd reset: Add bash tab completion for -B and -k
7f126040 trace-cmd utest: Add test cases for trace-cmd reset
5e8b3c16 trace-cmd lib: Prevent a memory leak in handle_options()
6295bcc1 trace-cmd record: Prevent a memory leak in show_error()
7abca575 trace-cmd lib: Check the return value of do_lseek() in trace_get_options()
22a1605c trace-cmd dump: Prevent buffer overrun in dump_clock()
52946308 trace-cmd record: Prevent memory leak in setup_network()
1b901134 trace-cmd lib: Prevent memory leak in tracecmd_create_event_hook()
59d2c3f9 trace-cmd mem: Prevent a memory leak in trace_mem()
969c36d2 trace-cmd record: Check the length of the protocol version received
201f95fd trace-cmd sqlhist: Fix missing initialization of a var
f10d39b8 trace-cmd .gitignore: Ignore utest/trace-utest in git
c76f2404 trace-cmd: Prevent buffer overflow in update_pid_filters()
db45fec2 trace-cmd: libtracecmd: Rename private functions to fix static building
d6cdfc23 trace-cmd: libtracecmd: Remove some unneeded line breaks
d14d790a trace-cmd lib: Prevent a memory leak in tracecmd_tsync_with_guest()
b948fbed trace-cmd lib: Prevent memory leak in tracecmd_msg_wait_for_cmd()
a1b5eee6 trace-cmd sqlhist: Initialize name in trace_sqlhist()
fee20bfb trace-cmd: Fix memory leak in stop_mapping_vcpus()
5f1eeba9 trace-cmd record: Fix stdin redirection to /dev/null
a1b8a0f5 trace-cmd meson: Add options for doc and utest build
24eed8d8 trace-cmd lib: Prevent a leaked FD in __tracecmd_create_buffer_recorder()
d6241881 trace-cmd sqlhist: Initialize err value to tracefs_sql()
179125a4 trace-cmd documentation: Fix typo in man of trace-cmd attach
e81cd4e3 trace-cmd lib: Copy message buffer content in get_trace_req_args()
b44a9a9f trace-cmd list: Check if any functions were found
9c44659e trace-cmd: Add trace-cmd set to bash completion (like start)
f4ede17d trace-cmd list: Show events in bash completion
2149da9c trace-cmd: Add sqlhist to bash completion
477bf923 trace-cmd: Install completion script in /usr/share/bash-completion/completions
6448ea34 trace-cmd show: Update help message for --hist and --trigger options
2fbeb317 trace-cmd list: Show all functions that match string by default
f339229f trace-cmd record: Fix compression on big-endian systems
e57b3d3e libtracecmd: Add missing error handling to trace-compress.c
b1db6f61 libtracecmd: Version 1.5.3
d0a17b4f trace-cmd: Version 3.3.2
24cdb0be trace-cmd completion: Fix trace-cmd report to show files
68bd953b trace-cmd: libtrace-cmd: Fix glob() return value checks
2d5c06e6 trace-cmd: record: Fix glob() return value checks
2c46eb6b trace-cmd split: Only open one file descriptor per CPU
9da7e594 trace-cmd: Version 3.3.3

Link: https://github.com/openwrt/openwrt/pull/20548
Signed-off-by: Hauke Mehrtens <[email protected]>
3 weeks agomediatek: remove non-existent package mt798x-2p5g-phy-firmware-internal
Daniel Golle [Sat, 8 Nov 2025 18:28:39 +0000 (18:28 +0000)]
mediatek: remove non-existent package mt798x-2p5g-phy-firmware-internal

Also the MT7987 RFB accidentally already set the not-yet-existing
mt798x-2p5g-phy-firmware-internal package as one of the DEVICE_PACKAGES.
This currently breaks the build, so remove it for now. Also remove stray
'blkid' package from DEVICE_PACKAGES which was accidentally copied from
MediaTek's SDK.

Fixes: 9de7189ed4 ("mediatek: build image for MT7987 RFB")
Signed-off-by: Daniel Golle <[email protected]>
3 weeks agobase-files: correct global DHCP DUID generation
Alice H. [Sat, 8 Nov 2025 04:39:42 +0000 (04:39 +0000)]
base-files: correct global DHCP DUID generation

The old command generates an often incorrect variable length UUID
instead of a fixed 16-octet hex string.

Ref: https://datatracker.ietf.org/doc/html/rfc8415#section-11.5

Signed-off-by: Alice H. <[email protected]>
4 weeks agorpcd: update to Git HEAD (2025-11-07)
Aleksander Jan Bajkowski [Fri, 7 Nov 2025 20:01:34 +0000 (21:01 +0100)]
rpcd: update to Git HEAD (2025-11-07)

11e0bee504c6 file: use lstat for file list (instead of stat) to reveal links
917000075eb4 iwinfo: add he and eht operation info to wifi scan

Signed-off-by: Aleksander Jan Bajkowski <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20692
Signed-off-by: Robert Marko <[email protected]>
4 weeks agowifi-scripts: ucode: add SAE support for wifi-station and PPSK
Rany Hany [Fri, 7 Nov 2025 20:51:57 +0000 (20:51 +0000)]
wifi-scripts: ucode: add SAE support for wifi-station and PPSK

This implements 65a1c666f2 ("hostapd: add SAE support for wifi-station
and optimize PSK file creation") and 913368a2 ("hostapd: add support for
SAE in PPSK option") for the ucode version as well.

Signed-off-by: Rany Hany <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19965
Signed-off-by: Robert Marko <[email protected]>
4 weeks agolibiwinfo: update to Git HEAD (2025-11-07)
Aleksander Jan Bajkowski [Fri, 7 Nov 2025 19:45:32 +0000 (20:45 +0100)]
libiwinfo: update to Git HEAD (2025-11-07)

40563018dc87 iwinfo: print HT operation only if present
5f4c213fc59f iwinfo: export HE and EHT operation in scan results

Signed-off-by: Aleksander Jan Bajkowski <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20690
Signed-off-by: Hauke Mehrtens <[email protected]>
4 weeks agotools/util-linux: remove automake dep
Rosen Penev [Fri, 7 Nov 2025 19:43:37 +0000 (11:43 -0800)]
tools/util-linux: remove automake dep

In the conversion to meson, this was overlooked.

Fixes e15d5cf7522e: ("tools/util-linux: build with meson")

Signed-off-by: Rosen Penev <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20688
Signed-off-by: Robert Marko <[email protected]>
4 weeks agowifi-scripts: ucode: fix setting tx_queue_data2_burst in config
Rany Hany [Mon, 27 Oct 2025 14:36:51 +0000 (14:36 +0000)]
wifi-scripts: ucode: fix setting tx_queue_data2_burst in config

Currently we unconditionally set it to 2.0 if 802.11ac and disregard
what the user set. This sets it to 2.0 only as a default in case
user didn't specify a tx_burst setting.

Signed-off-by: Rany Hany <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20565
Signed-off-by: Robert Marko <[email protected]>
4 weeks agowifi-scripts: add sae_track_password option
Rany Hany [Thu, 30 Oct 2025 12:43:14 +0000 (12:43 +0000)]
wifi-scripts: add sae_track_password option

This is useful if multiple passwords were specified without
the use of a SAE password identifier. This is the only
way to get multiple passwords for a single peer to work
without resorting to password identifiers.

Unfortunately, support for password identifiers is non-existent
on Android and macOS; and possibly others. So this is the only
option in that case.

As an alternative, one could also continue to use WPA2-PSK instead
as that could easily resort to a bruteforce approach without any
complications.

Signed-off-by: Rany Hany <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20597
Signed-off-by: Robert Marko <[email protected]>
4 weeks agowifi-scripts: add na_mcast_to_ucast option
Rany Hany [Thu, 30 Oct 2025 12:33:38 +0000 (12:33 +0000)]
wifi-scripts: add na_mcast_to_ucast option

As this is generally only useful with "proxy_arp" enabled,
we default na_mcast_to_ucast to true if "proxy_arp" is already
enabled.

Signed-off-by: Rany Hany <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20596
Signed-off-by: Robert Marko <[email protected]>
4 weeks agorealtek: rtl930x: Add support for Plasma Cloud MCX3 Media Converter
Harshal Gohel [Mon, 14 Apr 2025 13:16:47 +0000 (13:16 +0000)]
realtek: rtl930x: Add support for Plasma Cloud MCX3 Media Converter

The Plasma Cloud MCX3 Media Converter is a 3 port multi-GBit switch with
2x 10/100/1000/2500BaseT Ethernet ports and 1x SFP+ module slot.

Hardware:

- RTL9302C SoC
- Macronix MX25L25645G (32MB flash)
- Winbond W632GU6rB-11 (256MB DDR3 SDRAM)
- RTL8224 4x 10m/100m/1/2.5 Gigabit PHY
- IC+ IP802AR POE+ PSE controller

The media converter is powered by 54 Volts 1.2A barrel connector. The
internal TTL serial connector can be used to access the terminal. Pins from
1: TX RX (unused) GND. Serial connection is via 115200 baud, 8N1.

A reset button is accessible through a hole next to the SFP+ module slot.

Installation
------------

* The device can be flashed by using sysupgrade command. Either from the
  original vendor firmware or using an initramfs (see "Debug")
* Connect serial as per the layout above. Connection parameters: 115200 8N1
* The image must be copied using scp to /tmp of the device

      scp openwrt-realtek-rtl930x-plasmacloud_mcx3-squashfs-sysupgrade.bin root@[IP address of the device]:/tmp/

* start sysupgrade without saving the original vendor configuration

      sysupgrade -n /tmp/openwrt-realtek-rtl930x-plasmacloud_mcx3-squashfs-sysupgrade.bin

Installation via u-boot
-----------------------

If you have an TFTP server connected to the switch, it is possible to
directly install the device using the factory image from u-boot

    # setup networking and IP of TFP server
    rtk network on
    setenv ipaddr 10.100.100.99
    setenv serverip 10.100.100.20

    # get factory image
    tftp 0x84000000 factory.bin

    # erase firmware partitions
    sf probe 0
    sf erase 0x100000 0x01f00000

    # write firmware to both partitions
    sf write ${fileaddr} 0x100000 ${filesize}
    sf write ${fileaddr} 0x1080000 ${filesize}

    # adjust the boot commands
    setenv bootargs "mtdparts=spi0.0:896k(u-boot),64k(u-boot-env),64k(u-boot-env2),15872k(inactive),15872k(firmware2)"
    setenv bootcmd "rtk init; bootm 0xb5080000"

    # restart
    reset

Debug
-----

* Connect serial as per the layout above. Connection parameters: 115200 8N1.
* A tftp server is required, tftpd-hpa works well.
* Power the device, at U-Boot start rapidly hit Esc key to stop autoboot
* Enable network:

      rtk network on

* Change ip address of device:

      setenv ipaddr 192.168.1.6

* Download initramfs from TFTP server:

      tftpboot 0x84000000 192.168.1.111:openwrt-realtek-rtl930x-plasmacloud_mcx3-initramfs-kernel.bin

* Boot loaded file:

      bootm 0x84000000

Signed-off-by: Harshal Gohel <[email protected]>
Signed-off-by: Sven Eckelmann <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20625
Signed-off-by: Robert Marko <[email protected]>
4 weeks agowifi-scripts: ucode: fix hostapd_bss_options
Eneas U de Queiroz [Mon, 3 Nov 2025 20:03:07 +0000 (17:03 -0300)]
wifi-scripts: ucode: fix hostapd_bss_options

The raw option inside 'config wifi-iface' is called hostapd_bss_options,
not hostapd_options.

Signed-off-by: Eneas U de Queiroz <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20657
Signed-off-by: Christian Marangi <[email protected]>
4 weeks agodnsmasq: prevent upstream resolution of addresses
Marko Zajc [Sat, 26 Apr 2025 12:21:10 +0000 (14:21 +0200)]
dnsmasq: prevent upstream resolution of addresses

`list address` entries in /etc/config/dhcp are sometimes (I'm not sure
about the exact conditions) passed to upstream resolver, bypassing local
resolution. Adding them (minus the IP) to --local prevents this. In the
configuration, this means that

    # /etc/config/dhcp
    list address '/hello.com/world.com/1.2.3.4'
    list address '/foo.com/bar.com/4.3.2.1'

which previously translated into

    # /var/etc/dnsmasq.conf.*
    address=/hello.com/world.com/1.2.3.4
    address=/foo.com/bar.com/4.3.2.1

now becomes

    # /var/etc/dnsmasq.conf.*
    address=/hello.com/world.com/1.2.3.4
    local=/hello.com/world.com/
    address=/foo.com/bar.com/4.3.2.1
    local=/foo.com/bar.com/

This behaviour is controlled by the `address_as_local` boolean option, which
defaults to false (old behaviour). openwrt/luci#7957 adds support for this flag
to LuCI.

A workaround for a small list of domains is to add them to `option local`,
but this is very tedious to do for every `list address` entry and dnsmasq
limits this option to 1024 characters.

Signed-off-by: Marko Zajc <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/18610
Signed-off-by: Robert Marko <[email protected]>
4 weeks agomediatek: remove non-existing mt7987-2p5g-phy-firmware-internal
Daniel Golle [Fri, 7 Nov 2025 12:01:41 +0000 (12:01 +0000)]
mediatek: remove non-existing mt7987-2p5g-phy-firmware-internal

Because the firmware has not yet been accepted in linux-firmware we
cannot yet package mt7987-2p5g-phy-firmware-internal. Remove it from
DEVICE_PACKAGES of the BPi-R4-mini until the an upcoming linux-firmware
release will come with this firmware included, allowing us to then
create that package.

Fixes: 8b6c6978d6 ("mediatek: add support for BananaPi BPi-R4 Lite")
Signed-off-by: Daniel Golle <[email protected]>
4 weeks agorealtek: dsa: rtl93xx: Support per port throttling
Issam Hamdi [Tue, 15 Jul 2025 17:23:21 +0000 (19:23 +0200)]
realtek: dsa: rtl93xx: Support per port throttling

The RTL930x and RTL931x have an ingress and egress bandwidth controller for
each port. They can can be used to reduce the throughput for each port.

They can be programmed via the the DSA flower offloading capabilities. Only
a limited functionality (bytes based rate limiter for ingress/egress) is
supported.

With kmod-sched-act-police, kmod-sched-flower and tc installed, each port
can have its ingress/egress rate limit applied in hardware using:

    # tc qdisc del dev lan1 clsact
    tc qdisc add dev lan1 clsact
    tc filter add dev lan1 ingress flower skip_sw action police rate 100mbit burst 64k conform-exceed drop
    tc filter add dev lan1 egress flower skip_sw action police rate 150mbit burst 64k conform-exceed drop

Signed-off-by: Issam Hamdi <[email protected]>
Co-developed-by: Sven Eckelmann <[email protected]>
Signed-off-by: Sven Eckelmann <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20663
Signed-off-by: Robert Marko <[email protected]>
4 weeks agoinclude: download.mk: do not check PKG_MIRROR_HASH when set to "skip"
Matthias Franck [Wed, 5 Nov 2025 13:43:53 +0000 (14:43 +0100)]
include: download.mk: do not check PKG_MIRROR_HASH when set to "skip"

In commit 042996b46bd41292ef1fa2d58e3b824a547f4c55 compilation of git repos is made to fail when PKG_MIRROR_HASH is not correct.

It looks like it was forgotten that in openwrt there is a posibility to set the PKG_MIRROR_HASH to "skip".
In this case the hash check should not be performed and compilation should continue as expected.

This is especially very usefull when doing local testing and development with git repos.

Signed-off-by: Matthias Franck <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20655
Signed-off-by: Robert Marko <[email protected]>
4 weeks agopackage: xcrypt: add missing PKG_NAME
Matthias Franck [Wed, 5 Nov 2025 15:34:30 +0000 (16:34 +0100)]
package: xcrypt: add missing PKG_NAME

PKG_NAME was lost during package migration from "packages" feed to "main" feed.

Signed-off-by: Matthias Franck <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20662
Signed-off-by: Robert Marko <[email protected]>
4 weeks agorealtek: pcs: rtl930x: reconfigure PLL of neighbor SerDes when needed
Jan Hoffmann [Mon, 27 Oct 2025 17:50:57 +0000 (18:50 +0100)]
realtek: pcs: rtl930x: reconfigure PLL of neighbor SerDes when needed

On RTL930x, each SerDes pair shares a set of PLLs with different
capabilities (LC PLL: 1G/2.5G/10G, ring PLL: 1G/2.5G). In principle,
this allows any combination of speeds on a SerDes pair. However, it
creates a special case when trying to configure a SerDes for 10G while
the LC PLL is already in use at a slower speed for the neighbor SerDes.
The current implementation just gives up in that case. Instead, free up
the LC PLL by reconfiguring the neighbor SerDes to the ring PLL.

Signed-off-by: Jan Hoffmann <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20568
Signed-off-by: Robert Marko <[email protected]>
4 weeks agokernel: bump 6.6 to 6.6.116
Goetz Goerisch [Wed, 5 Nov 2025 11:17:27 +0000 (12:17 +0100)]
kernel: bump 6.6 to 6.6.116

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

All patches auto-refreshed.

Signed-off-by: Goetz Goerisch <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20598
Signed-off-by: Hauke Mehrtens <[email protected]>
4 weeks agokernel: bump 6.6 to 6.6.115
Goetz Goerisch [Thu, 30 Oct 2025 11:42:23 +0000 (12:42 +0100)]
kernel: bump 6.6 to 6.6.115

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

All patches auto-refreshed.

Signed-off-by: Goetz Goerisch <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20598
Signed-off-by: Hauke Mehrtens <[email protected]>
4 weeks agotreewide: fix mistaken executable bit on dts files
Aleksander Jan Bajkowski [Sat, 1 Nov 2025 11:22:05 +0000 (12:22 +0100)]
treewide: fix mistaken executable bit on dts files

This commit fixes mistaken executable bit on dts files.

Signed-off-by: Aleksander Jan Bajkowski <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20676
Signed-off-by: Hauke Mehrtens <[email protected]>
4 weeks agokernel: bump 6.12 to 6.12.57
Edoardo Pinci [Sun, 2 Nov 2025 17:30:20 +0000 (18:30 +0100)]
kernel: bump 6.12 to 6.12.57

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

All patches automatically rebased.

Build system: x86/64
Build-tested: mediatek/filogic
Run-tested: mediatek/filogic

Signed-off-by: Edoardo Pinci <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20589
Signed-off-by: Hauke Mehrtens <[email protected]>
4 weeks agokernel: bump 6.12 to 6.12.56
Edoardo Pinci [Wed, 29 Oct 2025 15:10:23 +0000 (16:10 +0100)]
kernel: bump 6.12 to 6.12.56

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

Removed upstreamed:
- airoha/patches-6.12/028-v6.13-spi-airoha-do-not-keep-tx-rx-dma-buffer-always-mappe.patch
  https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.56&id=ad00df9ee321e87639a740e6e372f11bfe5af52c
- airoha/patches-6.12/029-01-spi-airoha-return-an-error-for-continuous-mode-di.patch
  https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/drivers/spi?h=v6.12.56&id=f5dc5baa5b04ceb0fca2460bc2863921f0e7ede5
- airoha/patches-6.12/029-03-spi-airoha-add-support-of-dual-quad-wires-spi-mod.patch
  https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.56&id=182221d35c1427630ea6d9de9953c2280848c851
- airoha/patches-6.12/029-05-spi-airoha-switch-back-to-non-dma-mode-in-the-cas.patch
  https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.56&id=8063828625359826316c5a1885e9ea341bbdb1b3
- airoha/patches-6.12/029-06-spi-airoha-fix-reading-writing-of-flashes-with-mo.patch
  https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.56&id=4e9a2d592d91b902f918158c1049eef19f9cce90
- mediatek/patches-6.12/810-tty-serial-8250_mtk-enable-baud-clock.patch
  https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.56&id=7cbf5ed24a26d4d80dcc19eb2259fdb9b179d5cf

All other patches automatically rebased.

Build system: x86/64
Build-tested: mediatek/filogic
Run-tested: mediatek/filogic

Signed-off-by: Edoardo Pinci <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20589
Signed-off-by: Hauke Mehrtens <[email protected]>
4 weeks agomt76: update to Git HEAD (2025-11-06)
Felix Fietkau [Thu, 6 Nov 2025 11:36:14 +0000 (11:36 +0000)]
mt76: update to Git HEAD (2025-11-06)

0aece3089a3a wifi: mt76: mt7996: Remove useless check in mt7996_msdu_page_get_from_cache()
05b3d899ad24 wifi: mt76: Move Q_READ/Q_WRITE definitions in dma.h
85e6517b0ac5 wifi: mt76: Add mt76_dev pointer in mt76_queue struct.
a3b6c67c97d2 wifi: mt76: Add the capability to set TX token start ID
141a81557070 wifi: mt76: Introduce the NPU generic layer
647d11bb17e0 wifi: mt76: mt7996: Add NPU offload support to MT7996 driver
8ff3b2bfc37f wifi: mt76: mt7996: fix typos in comments
0043147439b4 wifi: mt76: mt7925: refactor regulatory domain handling to regd.[ch]
f0e8fe441489 wifi: mt76: mt7925: refactor CLC support check flow
588cc87bf6a2 wifi: mt76: mt7925: refactor regulatory notifier flow
dac1d45fe94b wifi: mt76: mt7925: improve EHT capability control in regulatory flow
c166c4a0e750 wifi: mt76: mt7925: add auto regdomain switch support
d7b059bba166 wifi: mt76: mt7925: disable auto regd changes after user set
84f62a6beb99 wifi: mt76: mmio_*_copy fix byte order and alignment
f5ae5b2e8116 Revert "wifi: mt76: mt792x: improve monitor interface handling"
8ae7e6dc1d3a wifi: mt76: adjust BSS conf pointer handling
1b438ebe0d06 wifi: mt76: mt7925: cqm rssi low/high event notify
7519fa4ce62c wifi: mt76: mt7996: fix max nss value when getting rx chainmask
ea0580ad065f wifi: mt76: mt7996: no need to wait ACK event for SDO command
74112c2956fb wifi: mt76: mt7996: fix implicit beamforming support for mt7992
361d6bdac45d wifi: mt76: mt7996: support fixed rate for link station
d99274cdc30c wifi: mt76: mt7996: fix several fields in mt7996_mcu_bss_basic_tlv()
ad90a85b652b wifi: mt76: mt7996: fix teardown command for an MLD peer
e9fe8bc03e41 wifi: mt76: mt7996: set link_valid field when initializing wcid
050394665502 wifi: mt76: mt7996: use correct link_id when filling TXD and TXP
5d223855552c wifi: mt76: mt7996: fix MLD group index assignment
ab8361dbc421 wifi: mt76: mt7996: fix MLO set key and group key issues
7ce7ab881b3f wifi: mt76: mt7996: fix using wrong phy to start in mt7996_mac_restart()
1e0c23ff754b wifi: mt76: mt7996: fix EMI rings for RRO
eb567bc7f9b6 wifi: mt76: mt7925: ensure the 6GHz A-MPDU density cap from the hardware.

Signed-off-by: Felix Fietkau <[email protected]>
4 weeks agowpa_supplicant: pass control events on the per-interface ubus object
Felix Fietkau [Sat, 1 Nov 2025 05:19:23 +0000 (05:19 +0000)]
wpa_supplicant: pass control events on the per-interface ubus object

Events are passed in the same format as they would be sent on the control
socket.

Signed-off-by: Felix Fietkau <[email protected]>
4 weeks agorealtek: dsa: Simplify rtl83xx_setup_qos
Sven Eckelmann [Tue, 4 Nov 2025 11:14:58 +0000 (12:14 +0100)]
realtek: dsa: Simplify rtl83xx_setup_qos

It is not necessary to have two different family_id checks directly after
another. It is simpler to just combine both into one.

Suggested-by: Álvaro Fernández Rojas <[email protected]>
Signed-off-by: Sven Eckelmann <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20637
Signed-off-by: Álvaro Fernández Rojas <[email protected]>
4 weeks agorealtek: dsa: Fix rate control initialization
Sven Eckelmann [Tue, 4 Nov 2025 11:14:58 +0000 (12:14 +0100)]
realtek: dsa: Fix rate control initialization

The rtl838x_rate_control_init() and rtl839x_rate_control_init() functions
were never called because the rtl83xx_setup_qos() always returned after the
QoS configuration

Fixes: dc9cc0d3e2a1 ("realtek: add QoS and rate control")
Signed-off-by: Sven Eckelmann <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20637
Signed-off-by: Álvaro Fernández Rojas <[email protected]>
4 weeks agoopenssl: rework CFLAGS handling on compilation
Christian Marangi [Wed, 5 Nov 2025 18:06:18 +0000 (19:06 +0100)]
openssl: rework CFLAGS handling on compilation

This mainly improve the CFLAGS handling on compilation of OpenSSL.

The CFLAGS are currently passed 2 times generating compilation warning
due to -fhonour-copts passed 2 times.

This can be improved by passing the CFLAGS as env to the OpenSSL
Configure tool.

For consistency we do the same for CPPFLAGS and LDFLAGS.

This permits to drop redundant flags in the Compile phase and from the
.conf file.

Link: https://github.com/openwrt/openwrt/pull/20665
Signed-off-by: Christian Marangi <[email protected]>
4 weeks agoqualcommax: ipq5018: glinet-gl-b3000: fix dts nvmem macs
Scott Mercer [Wed, 5 Nov 2025 16:21:32 +0000 (11:21 -0500)]
qualcommax: ipq5018: glinet-gl-b3000: fix dts nvmem macs

symtom: macs not properly incremented (all macs the same)
solution: set correct offset to mac location

Signed-off-by: Scott Mercer <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20664
Signed-off-by: Christian Marangi <[email protected]>
4 weeks agocmake: set CMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER
Eneas U de Queiroz [Fri, 20 Jun 2025 13:18:58 +0000 (10:18 -0300)]
cmake: set CMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER

According to CMake documentation[1]:

  [CMAKE_FIND_ROOT_PATH] is a list of directories that contain the
  target environment.

  [CMAKE_FIND_ROOT_PATH_MODE_PROGRAM] sets the default behavior for the
  find_program command.

  In most cases, find_program is used to search for an executable which
  will then be executed, e.g. using execute_process or
  add_custom_command. So in most cases an executable from the build host
  is required, so setting CMAKE_FIND_ROOT_PATH_MODE_PROGRAM to NEVER is
  normally preferred.

Since CMAKE_FIND_ROOT_PATH is set to the target staging dir, and the
toolchain root dir, it will find target programs before the host ones.

An example of this problem is if you try to build antiblock from the
packages feed after llvm from the video feeds is built.  Antiblock will
search for clang-format, pickup the target version, and fail to build.

Signed-off-by: Eneas U de Queiroz <[email protected]>
[1] https://cmake.org/cmake/help/book/mastering-cmake/chapter/Cross%20Compiling%20With%20CMake.html
Link: https://github.com/openwrt/openwrt/pull/20656
Signed-off-by: Christian Marangi <[email protected]>
4 weeks agoopkg: update to Git HEAD (2025-11-05)
Christian Marangi [Wed, 5 Nov 2025 15:47:00 +0000 (16:47 +0100)]
opkg: update to Git HEAD (2025-11-05)

ba73bc4672ec CMakeLists: update cmake minimum required version to 3.10
988399770af1 libbb: CMakeLists: update cmake minimum required version to 3.10
ce546f3ebff5 opkg: CMakeLists: update cmake minimum required version to 3.10
80503d94e356 libopkg: CMakeLists: update cmake minimum required version to 3.10

Fixes: #20659
Signed-off-by: Christian Marangi <[email protected]>
4 weeks agouboot-envtools: handle U-Boot environment on the BPi-R4 Lite
Daniel Golle [Sun, 5 Oct 2025 04:13:55 +0000 (05:13 +0100)]
uboot-envtools: handle U-Boot environment on the BPi-R4 Lite

The BPi-R4 Lite uses the same defaults like all other BananaPi boards
to store the bootloader environment on the boot media.

Signed-off-by: Daniel Golle <[email protected]>
4 weeks agomediatek: add support for BananaPi BPi-R4 Lite
Daniel Golle [Sun, 5 Oct 2025 03:23:29 +0000 (04:23 +0100)]
mediatek: add support for BananaPi BPi-R4 Lite

The BPi-R4 Lite is a WiFi-7 router board based on the MT7987 SoC.

Specification :
 - SOC: Mediatek MT7987A (4x Cortex-A53
 - RAM: 2GB
 - Flash: 32MB SPI NOR, 256MB SPI NAND, 8GB eMMC
 - Switch: MediaTek MT7531AE
 - Ports : 4x LAN (1G), 1x SFP (via MT7531), 1x WAN (2.5G)
 - Buttons : Reset & WPS/Mesh
 - LEDs : Status (PWM), SFP
 - USB: on-board VIA VL817 USB3.1/USB2.0 hub
    * 1 - mPCIe B (SIM3)
    * 2 - NGFF-KEYB (SIM1)
    * 3 - USB-A connector
    * 4 - mPCIe A (SIM4)
 - mPCIe: 1x 8GT/s x2 or 2x 8GT/s x1 (configurable via bootloader)
 - RTC: PCF8563
 - mikroBUS socket with SPI, I2C and full UART
 - on-board HT42B534 USB-to-serial for Type-C console port
 - Power: USB Type-C PD 20V, or DC via barrel connector or JST-VH 3.96

Installation:
Uncompress *sdcard.img.gz and write to microSD card, eg. using 'dd'.
Use bootloader menu on the serial console to install SPI-NAND or SPI-NOR,
once installed to SPI-NAND you can use the bootloader menu to install to
eMMC. See instructions for BananaPi R3 for details.

Signed-off-by: Daniel Golle <[email protected]>
4 weeks agouboot-mediatek: add support for the BananaPi BPi-R4 Lite
Daniel Golle [Sun, 5 Oct 2025 02:48:30 +0000 (03:48 +0100)]
uboot-mediatek: add support for the BananaPi BPi-R4 Lite

The BPi R4 Lite can boot from microSD, SPI-NAND, SPI-NOR and eMMC.
Build menu-driven U-Boot for each storage option.
Provide options for installation from microSD to SPI-NAND and SPI-NOR,
and from SPI-NAND to eMMC (similar to BPi-R3).

Signed-off-by: Daniel Golle <[email protected]>
4 weeks agomediatek: build image for MT7987 RFB
Daniel Golle [Sun, 5 Oct 2025 02:44:03 +0000 (03:44 +0100)]
mediatek: build image for MT7987 RFB

Import and clean DT and DT-overlay files from MediaTek's SDK to build
an image with various DT-overlays for the MT7987 reference board.

Signed-off-by: Daniel Golle <[email protected]>
4 weeks agomediatek: improve MT7988 cpufreq driver and add support for MT7987
Daniel Golle [Sun, 5 Oct 2025 02:42:19 +0000 (03:42 +0100)]
mediatek: improve MT7988 cpufreq driver and add support for MT7987

Import patches to use cpufreq voltage calibration data from the efuse on
MT7988, and add support for MT7987.

Signed-off-by: Daniel Golle <[email protected]>
4 weeks agomediatek: port MT7987 thermal support
Daniel Golle [Sun, 5 Oct 2025 02:40:27 +0000 (03:40 +0100)]
mediatek: port MT7987 thermal support

The MT7987 has two LVTS thermal sensors, one covering all CPU cores,
and one for the built-in 2.5GE PHY.
Add support for MT7987 to the LVTS thermal driver.
Thanks to Chad Monroe of Adtran for providing cleaned up patches for
Linux 6.6 which have been ported to Linux 6.12.

Signed-off-by: Daniel Golle <[email protected]>
4 weeks agomediatek: import patches from SDK to support MT7987 Ethernet
Daniel Golle [Sun, 5 Oct 2025 02:39:52 +0000 (03:39 +0100)]
mediatek: import patches from SDK to support MT7987 Ethernet

Compared to MT7988 (NETSYSv3) the Ethernet Frame Engine of MT7987
has been slighly updated (NETSYSv3.1), among other things the packet
scheduler (shaper) has apparently been reworked.
Import patches for basic support of the Ethernet Frame Engine of the
MT7987 SoC.

Signed-off-by: Daniel Golle <[email protected]>