]> git.ipfire.org Git - thirdparty/openwrt.git/log
thirdparty/openwrt.git
2 weeks agolantiq: vr200: switch to nvmem eeprom 23115/head
Rosen Penev [Mon, 27 Apr 2026 02:47:59 +0000 (19:47 -0700)] 
lantiq: vr200: switch to nvmem eeprom

mediatek,mtd-eeprom predates nvmem and is being phased out.

At first glance, it looks like it's doing something useful with its
big-endian binding. However on further inspection, big-endian is handled
in the same function that mediatek,mtd-eeprom is handled. In addition,
the older mtd_read way of extracting the firmware byteswaps the data
on big endian hosts which big-endian byteswaps back. nvmem does not do
such byteswapping.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23115
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 weeks agorockchip: refresh kernel patches
Hauke Mehrtens [Sat, 9 May 2026 11:39:34 +0000 (13:39 +0200)] 
rockchip: refresh kernel patches

This was not refresh before because of a merge race.

Fixes: 4c942c06b8f0 ("kernel: bump 6.18 to 6.18.27")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 weeks agosunxi: add T113-S3 support
Zoltan HERPAI [Mon, 9 Feb 2026 09:34:37 +0000 (09:34 +0000)] 
sunxi: add T113-S3 support

The Allwinner T113-s3 (sun8i) SoC features a dual-core Cortex-A7 ARM CPU and
128MB of DDR3 memory in the same physical package. It supports industrial
temperature ranges. Most of the IP blocks are shared with the D1/D1s core.
There are multiple variants of the SoC, which may vary in the included memory
size, with some of them including a C906 RISC-V co-processor.

Boards supported:
 - MangoPi MQDual T113
   - wireless-only (RTL8723DS)

 - MYIR MYD-YT113 eMMC
   - 1Gbit ethernet (Motorcomm YT8531 PHY)
   - 4GByte eMMC
   - M.2-type slot for 4G/5G cards, plus 2x SIM slot
   - USB 2.0 ports
   - GPIO/I2C/SPI/CAN ports
   - FNLink 6131 (rtl8733bu) wifi module

 - MYIR MYD-YT113 SPI
   - Same as above but with 256Mbyte SPI-NAND flash instead of eMMC

 - Rongpin RP-T113
   - 100Mbit ethernet (ICplus IP101GR PHY)
   - miniPCIe slot for 4G cards, plus 1x SIM slot
   - 3x USB 2.0 ports
   - RTL8723BS wireless
   - HYM8563 RTC
   - GPIO/I2C/SPI/CAN ports

 - Olimex T113-Olinuxino
   - 100Mbit ethernet (ICplus IP101GR)
   - UEXT connector (GPIO/I2C/SPI ports)
   - 1x USB 2.0
   - audio jack, LEDC

Installation:
Use the standard sunxi installation to an SD-card.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2 weeks agokernel: bump 6.18 to 6.18.28 23252/head
John Audia [Fri, 8 May 2026 08:53:15 +0000 (04:53 -0400)] 
kernel: bump 6.18 to 6.18.28

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

No patches rebased via update_kernel.sh

Build system: x86/64
Build-tested: x86/64-glibc
Run-tested: x86/64-glibc

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/23252
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 weeks agokernel: bump 6.18 to 6.18.27
John Audia [Thu, 7 May 2026 11:31:59 +0000 (07:31 -0400)] 
kernel: bump 6.18 to 6.18.27

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

Manually rebased:
  pending-6.18/151-net-bridge-do-not-send-arp-replies-if-src-and-target.patch

All other patches automatically rebased via update_kernel.sh

Build system: x86/64
Build-tested: x86/64-glibc
Run-tested: x86/64-glibc

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/23252
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 weeks agokernel: bump 6.12 to 6.12.87 23253/head
John Audia [Fri, 8 May 2026 09:06:41 +0000 (05:06 -0400)] 
kernel: bump 6.12 to 6.12.87

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

No patches automatically rebased via update_kernel.sh

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/23253
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 weeks agokernel: bump 6.12 to 6.12.86
John Audia [Thu, 7 May 2026 11:52:08 +0000 (07:52 -0400)] 
kernel: bump 6.12 to 6.12.86

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

Removed upstreamed:
  mvebu/patches-6.12/101-arm64-dts-marvell-uDPU-add-ethernet-aliases.patch[1]

Manually rebased:
  pending-6.12/151-net-bridge-do-not-send-arp-replies-if-src-and-target.patch

All other patches automatically rebased via update_kernel.sh

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.86&id=e58e97c1441ecbc1f153795f5857e725ebb96bdf

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/23253
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 weeks agorockchip: add kernel 6.18 as testing kernel 23139/head
Tianling Shen [Tue, 28 Apr 2026 07:21:39 +0000 (15:21 +0800)] 
rockchip: add kernel 6.18 as testing kernel

Add kernel 6.18 as testing kernel.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/23139
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 weeks agorockchip: refresh kernel 6.18 configs
Tianling Shen [Tue, 28 Apr 2026 07:21:14 +0000 (15:21 +0800)] 
rockchip: refresh kernel 6.18 configs

Refresh kernel configs with `make kernel_oldconfig CONFIG_TARGET=subtarget`.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/23139
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 weeks agorockchip: refresh kernel 6.18 patches
Tianling Shen [Tue, 28 Apr 2026 07:14:32 +0000 (15:14 +0800)] 
rockchip: refresh kernel 6.18 patches

Remove upstreamed patches and refresh remaining ones.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/23139
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 weeks agorockchip: restore files for v6.12
Tianling Shen [Tue, 28 Apr 2026 04:04:23 +0000 (12:04 +0800)] 
rockchip: restore files for v6.12

This is an automatically generated commit which aids following Kernel patch
history, as git will see the move and copy as a rename thus defeating the
purpose.

For the original discussion see:
https://lists.openwrt.org/pipermail/openwrt-devel/2023-October/041673.html

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/23139
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 weeks agorockchip: create files for v6.18 (from v6.12)
Tianling Shen [Tue, 28 Apr 2026 04:04:23 +0000 (12:04 +0800)] 
rockchip: create files for v6.18 (from v6.12)

This is an automatically generated commit.

When doing `git bisect`, consider `git bisect --skip`.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/23139
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 weeks agoipq40xx: enable testing kernel for ipq40xx 22930/head
Til Kaiser [Fri, 23 Jan 2026 20:32:59 +0000 (21:32 +0100)] 
ipq40xx: enable testing kernel for ipq40xx

KERNEL_TESTING_PATCHVER:=6.18

Signed-off-by: Til Kaiser <mail@tk154.de>
Link: https://github.com/openwrt/openwrt/pull/22930
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 weeks agokernel: lantiq: vrx518_tc: replace EXTRA_CFLAGS with ccflags-y
Til Kaiser [Tue, 28 Apr 2026 20:29:36 +0000 (22:29 +0200)] 
kernel: lantiq: vrx518_tc: replace EXTRA_CFLAGS with ccflags-y

Replace EXTRA_CFLAGS with ccflags-y to fix builds on Linux 6.18.

Signed-off-by: Til Kaiser <mail@tk154.de>
Link: https://github.com/openwrt/openwrt/pull/22930
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 weeks agokernel: lantiq: vrx518_ep: replace EXTRA_CFLAGS with ccflags-y
Til Kaiser [Thu, 16 Apr 2026 12:40:33 +0000 (14:40 +0200)] 
kernel: lantiq: vrx518_ep: replace EXTRA_CFLAGS with ccflags-y

Replace EXTRA_CFLAGS with ccflags-y to fix builds on Linux 6.18.

Signed-off-by: Til Kaiser <mail@tk154.de>
Link: https://github.com/openwrt/openwrt/pull/22930
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 weeks agoipq40xx: add gpio pin function patch
Til Kaiser [Mon, 13 Apr 2026 08:50:56 +0000 (10:50 +0200)] 
ipq40xx: add gpio pin function patch

Add a qcom pinctrl fix for ipq4019 that marks the gpio
function as a GPIO pin function.

With Linux 6.18 strict pinmuxing, ipq40xx can otherwise
hit conflicts when pins muxed to "gpio" are later
requested by GPIO consumers. [1]

This patch fixes that at the driver level and avoids DTS-side
workarounds, same as it is done for other Qualcomm boards. [2]

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=cc85cb96e2e4
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=480dc1952404

Signed-off-by: Til Kaiser <mail@tk154.de>
Link: https://github.com/openwrt/openwrt/pull/22930
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 weeks agoipq40xx: update kernel symbols for v6.18
Til Kaiser [Thu, 29 Jan 2026 15:11:20 +0000 (16:11 +0100)] 
ipq40xx: update kernel symbols for v6.18

Drop symbols removed in Linux 6.18 and add newly introduced symbols.
Additionally, restore CONFIG_PAGE_BLOCK_MAX_ORDER=10.

Signed-off-by: Til Kaiser <mail@tk154.de>
Link: https://github.com/openwrt/openwrt/pull/22930
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 weeks agoipq40xx: refresh IPQ4019 switch patch for v6.18
Til Kaiser [Sun, 1 Feb 2026 15:42:46 +0000 (16:42 +0100)] 
ipq40xx: refresh IPQ4019 switch patch for v6.18

Linux 6.18 adjusts the DSA/phylink integration and removes a couple of
interfaces used by the out-of-tree IPQ4019 built-in switch support.

Update the qca8k-ipq4019 patch to match the new APIs:
- move phylink callbacks to phylink_mac_ops and switch to phylink_config
  [1], [2]
- adapt pcs_get_state() to the new signature [3]
- drop get_mac_eee() from dsa_switch_ops [4]
- switch platform_driver from .remove_new to .remove [5]

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=636d022cd586b94aa4334e1d9b2558f821d58c2e
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=539770616521e5b046ca7612eb79ba11b53edb1d
[3] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=c6739623c91bb3d6e9b20e05afbe69a2664f2d70
[4] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=2fa8b4383d24c1c788528ed4377d9f07c6c10227
[5] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=e70140ba0d2b1a30467d4af6bcfe761327b9ec95

Signed-off-by: Til Kaiser <mail@tk154.de>
Link: https://github.com/openwrt/openwrt/pull/22930
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 weeks agokernel/ipq40xx: refresh patches for v6.18
Til Kaiser [Sun, 1 Feb 2026 15:04:04 +0000 (16:04 +0100)] 
kernel/ipq40xx: refresh patches for v6.18

Refreshed patches for ipq40xx/patches-6.18
by running make target/linux/refresh.

Signed-off-by: Til Kaiser <mail@tk154.de>
Link: https://github.com/openwrt/openwrt/pull/22930
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 weeks agokernel/ipq40xx: restore files for v6.12
Til Kaiser [Fri, 27 Feb 2026 19:46:15 +0000 (20:46 +0100)] 
kernel/ipq40xx: restore files for v6.12

This is an automatically generated commit which aids following Kernel patch
history, as git will see the move and copy as a rename thus defeating the
purpose.

For the original discussion see:
https://lists.openwrt.org/pipermail/openwrt-devel/2023-October/041673.html

Signed-off-by: Til Kaiser <mail@tk154.de>
Link: https://github.com/openwrt/openwrt/pull/22930
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 weeks agokernel/ipq40xx: create files for v6.18 (from v6.12)
Til Kaiser [Fri, 27 Feb 2026 19:46:15 +0000 (20:46 +0100)] 
kernel/ipq40xx: create files for v6.18 (from v6.12)

This is an automatically generated commit.

When doing `git bisect`, consider `git bisect --skip`.

Signed-off-by: Til Kaiser <mail@tk154.de>
Link: https://github.com/openwrt/openwrt/pull/22930
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 weeks agoath79: move label-mac-device out of dtsi 22907/head
Rosen Penev [Wed, 8 Apr 2026 04:20:00 +0000 (21:20 -0700)] 
ath79: move label-mac-device out of dtsi

A script was ran that checks the label-mac-device node to see if it has
nvmem definitions as label-mac-device requires nvmem.

This is mostly a change to make the script happy. No indended functional
difference.

Add a change to qca9533_yuncore_cpe830.dts adding an nvmem definition to
wmac. Seems to have been some kind of oversight where it's specified in
nvmem but not used. label-mac-device needs an NVMEM definition.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22907
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 weeks agoath79: engenius: remove userspace label mac 17329/head
Rosen Penev [Sat, 22 Jun 2024 18:24:35 +0000 (11:24 -0700)] 
ath79: engenius: remove userspace label mac

Can be handled easily in dts.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17329
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 weeks agolibmnl: assign PKG_LICENSE_FILES 23257/head
Wei-Ting Yang [Fri, 8 May 2026 05:53:55 +0000 (13:53 +0800)] 
libmnl: assign PKG_LICENSE_FILES

Ref: https://git.netfilter.org/libmnl/tree/COPYING

Signed-off-by: Wei-Ting Yang <williamatcg@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23257
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 weeks agointel-microcode: fix dirty build
Sander Schutten [Wed, 15 Jan 2025 08:38:17 +0000 (08:38 +0000)] 
intel-microcode: fix dirty build

rebuilding x86 did fail in an existing build directory
mkdir fails if the folder exists already

Signed-off-by: Sander Schutten <schutten@hotmail.com>
Signed-off-by: Florian Maurer <fmaurer@disroot.org>
2 weeks agowifi-scripts: fix basic_rate mapping in supplicant ucode
Florian Maurer [Tue, 14 Apr 2026 23:05:45 +0000 (01:05 +0200)] 
wifi-scripts: fix basic_rate mapping in supplicant ucode

The ucode migration wrote "basic_rate" into the wpa_supplicant network
block, but that is not a valid wpa_supplicant network field, causing:

  Line 15: unknown network field 'basic_rate'.
  failed to parse network block.

Map UCI basic_rate to the correct wpa_supplicant fields, matching the
behavior of the legacy shell script (hostapd.sh):

  - mesh mode:  mesh_basic_rates (space-separated, 100 kb/s units)
  - sta/adhoc:  rates            (comma-separated Mbps)

Link: https://github.com/openwrt/openwrt/commit/a854d833eabdbc3b42065927c136d75b981a1021
Signed-off-by: Florian Maurer <f.maurer@outlook.de>
[fix commit message link]
Signed-off-by: David Bauer <mail@david-bauer.net>
2 weeks agoath79: wlr-7100: move to tiny target
Tomasz Maciej Nowak [Mon, 4 May 2026 17:48:41 +0000 (19:48 +0200)] 
ath79: wlr-7100: move to tiny target

On 25.12.0 the device has not enough free blocks to initialize overlay.
Move the device to tiny target and consume backup with storage
partitions, which were previously unused. This operation will reclaim
~800 KiB of flash memory. OEM used storage partition for configuration,
while backup was used to store copy of U-Boot environment and copy of
calibration data.

Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
2 weeks agoath79: wlr-7100: wire up 5GHz WLAN LED
Tomasz Maciej Nowak [Mon, 4 May 2026 17:48:40 +0000 (19:48 +0200)] 
ath79: wlr-7100: wire up 5GHz WLAN LED

Allows to light it up on 5GHz WLAN activation.

Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
2 weeks agoath79: wlr-7100: fix MAC assignment
Tomasz Maciej Nowak [Mon, 4 May 2026 17:48:39 +0000 (19:48 +0200)] 
ath79: wlr-7100: fix MAC assignment

Partially revert 5e3a602def72. Unfortunately the ethaddr value in U-Boot
environment is enclosed in double quotes which makes it longer than
ETH_ALEN, thus nvmem returns EINVAL. Switch back to handling the MAC
addresses in user space.

Fixes: 5e3a602def72 ("ath79: sitecom,wlrx100: use nvmem")
Reviewed-by: Rosen Penev <rosenp@gmail.com>
Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
2 weeks agoath79: use led-sources for WMAC 23191/head
Rosen Penev [Sat, 2 May 2026 21:41:43 +0000 (14:41 -0700)] 
ath79: use led-sources for WMAC

The ath9k driver creates an ath9k LED by default. Instead of having a
non functional LED, configure it properly and remove the extra as it's
not needed.

It's also a bit funny matching against phy0 and phy1 when both differ
between ath9k and ath10k.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23191
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 weeks agoath79: fap-221-b: revert led-sources change
Rosen Penev [Sun, 3 May 2026 21:14:32 +0000 (14:14 -0700)] 
ath79: fap-221-b: revert led-sources change

Normally WMAC handles 2.4ghz on ath79 devices. Some older units though
handle 5ghz on WMAC and 2.4ghz on pcie. This can be seen by the
frequemcy limits placed on each interface.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23191
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 weeks agoath79: qca953x: use led-sources for WMAC
Rosen Penev [Sat, 24 May 2025 23:02:54 +0000 (16:02 -0700)] 
ath79: qca953x: use led-sources for WMAC

The ath9k driver creates an ath9k LED by default. Instead of having a
non functional LED, configure it properly and remove the extra as it's
not needed.

It's also a bit funny matching against phy0 and phy1 when both differ
between ath9k and ath10k.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23191
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 weeks agoath79: qca955x: use led-sources for WMAC
Rosen Penev [Sun, 25 May 2025 00:40:41 +0000 (17:40 -0700)] 
ath79: qca955x: use led-sources for WMAC

The ath9k driver creates an ath9k LED by default. Instead of having a
non functional LED, configure it properly and remove the extra as it's
not needed.

It's also a bit funny matching against phy0 and phy1 when both differ
between ath9k and ath10k.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23191
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 weeks agoath79: remove led-sources for 1
Rosen Penev [Sun, 30 Nov 2025 23:19:29 +0000 (15:19 -0800)] 
ath79: remove led-sources for 1

In ath9k, 1 is specified as the default GPIO unless matched to a
specific device. None of these match to anything and use 1 anyway.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23191
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 weeks agoath79: convert phy1tpt to led-sources
Rosen Penev [Sun, 30 Nov 2025 22:52:18 +0000 (14:52 -0800)] 
ath79: convert phy1tpt to led-sources

Makes it a lot clearer what phy1tpt is, especially since it differs
between ath10k and ath9k.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23191
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 weeks agopcre2: fix PKG_LICENSE_FILES after upstream rename 23164/head
Michael Pfeifroth [Thu, 30 Apr 2026 12:00:47 +0000 (14:00 +0200)] 
pcre2: fix PKG_LICENSE_FILES after upstream rename

PCRE2 10.47 renamed LICENCE to LICENCE.md. Update PKG_LICENSE_FILES
to match the actual filename in the source tarball.

Signed-off-by: Michael Pfeifroth <michael.pfeifroth@westermo.com>
Link: https://github.com/openwrt/openwrt/pull/23164
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 weeks agorealtek: mach/prom: add identifiers to soc_info structure 23173/head
Markus Stockhausen [Fri, 1 May 2026 08:02:16 +0000 (10:02 +0200)] 
realtek: mach/prom: add identifiers to soc_info structure

SoC name and system type identifiers are currently separated from
the soc_info structure. This gives no benefit. Relocate that info
into the structure where it belongs.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23173
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 weeks agomalta: drop 6.12 support 22868/head
Mieczyslaw Nalewaj [Thu, 9 Apr 2026 18:20:39 +0000 (20:20 +0200)] 
malta: drop 6.12 support

Drop config for Linux 6.12.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/22868
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 weeks agomalta: use kernel 6.18 by default
Mieczyslaw Nalewaj [Thu, 9 Apr 2026 18:18:33 +0000 (20:18 +0200)] 
malta: use kernel 6.18 by default

Switch to Linux kernel version 6.18.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/22868
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 weeks agokernel: fix lz4 initramfs creation 23239/head
Andre Heider [Mon, 7 Jul 2025 16:21:06 +0000 (18:21 +0200)] 
kernel: fix lz4 initramfs creation

lz4c expects the target filename, provide it.

Signed-off-by: Andre Heider <a.heider@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23239
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 weeks agorealtek: pcs: rtl93xx: share IP mode register write 23213/head
Jonas Jelonek [Mon, 27 Apr 2026 10:34:27 +0000 (10:34 +0000)] 
realtek: pcs: rtl93xx: share IP mode register write

RTL930x and RTL931x program the same physical SerDes IP mode field
(page 0x1f reg 0x09, bits 11:7 hold the 5-bit mode value, bit 6 is
the "force mode" enable), but did so via two unrelated code paths:
RTL930x kept the force bit separate from the value in a __set helper,
while RTL931x had it baked into each switch-case constant.

Add a shared rtpcs_93xx_sds_set_ip_mode() that takes the rtpcs_sds_mode
enum, looks up the 5-bit value from the existing sds_hw_mode_vals
table, and writes value | force-bit in one place.

Convert both variants:
 - RTL930x: drop __rtpcs_930x_sds_set_ip_mode and the manual table
   lookup; __rtpcs_930x_sds_get_ip_mode is replaced by the shared
   rtpcs_93xx_sds_get_ip_mode, which reverse-looks the raw register
   value up in sds_hw_mode_vals[] and returns the matching enum
   rtpcs_sds_mode (or -ENOENT for an unmapped raw value). The
   wrapper that orchestrates power, CMU, state machine and rx-reset
   around the mode write is renamed to rtpcs_930x_sds_apply_ip_mode
   for clarity.
 - RTL931x: drop the per-mode switch and the leftover pr_info debug
   print; rename the symerr-clear + MAC-OFF + IP-mode-write wrapper
   to rtpcs_931x_sds_apply_ip_mode.

rtpcs_930x_sds_reconfigure_to_pll() now goes through the new shared
get/set helpers: it saves the current IP mode as an enum on entry
and restores it via the enum-taking setter after the PLL reconfigure.
This changes behavior by mapping the raw mode setting through the
hardware mode table, effectively blocking unknown modes which might be
set by bootloader or somewhere else. This is intended and might uncover
unknown behavior instead of hiding it.

As a side-effect, QSGMII is now properly set too for RTL931x. Most code
paths anyway already had support for this mode, but it was missing from
the mode setting.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23213
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 weeks agoipq-wifi: fix sorting 23216/head
Christoph Krapp [Mon, 4 May 2026 08:03:21 +0000 (10:03 +0200)] 
ipq-wifi: fix sorting

Signed-off-by: Christoph Krapp <achterin@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23216
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 weeks agoath79: add calibration variant for TP-Link EAP225-Wall v2
Christoph Krapp [Mon, 4 May 2026 07:23:13 +0000 (09:23 +0200)] 
ath79: add calibration variant for TP-Link EAP225-Wall v2

Now that we have a board file, add calibration variant for TP-Link
EAP225-Wall v2 and add ipq-wifi package for it.

Tested-by: Alexander <52272120+alexxela1337@users.noreply.github.com>
Signed-off-by: Christoph Krapp <achterin@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23216
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 weeks agoipq-wifi/ath10k: fix 5GHz radio detection on TP-Link EAP225-Wall v2
Christoph Krapp [Mon, 4 May 2026 07:22:06 +0000 (09:22 +0200)] 
ipq-wifi/ath10k: fix 5GHz radio detection on TP-Link EAP225-Wall v2

Add IPQ Wifi entry for ath79 TP-Link EAP225-Wall v2.

Signed-off-by: Christoph Krapp <achterin@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23216
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 weeks agoipq-wifi: update to Git HEAD (2026-05-05)
Robert Marko [Thu, 7 May 2026 09:10:49 +0000 (11:10 +0200)] 
ipq-wifi: update to Git HEAD (2026-05-05)

fc4cf4873873 qca9888: add TP-Link EAP225-Wall v2 BDF

Signed-off-by: Robert Marko <robimarko@gmail.com>
2 weeks agorealtek: image: reset COMPILE between devices 23226/head
Jonas Jelonek [Thu, 30 Apr 2026 10:55:36 +0000 (10:55 +0000)] 
realtek: image: reset COMPILE between devices

Device/zyxel_zynos sets COMPILE := loader-$(1).bin to drive the
standalone rt-loader build, but include/image.mk's Device/Init does
not reset COMPILE between TARGET_DEVICES iterations. When a non-zynos
device follows a zynos device, the stale COMPILE entry survives and
Device/Build/compile registers a second recipe for the previous
device's loader-*.bin target. Make warns about the override and the
second (wrong) recipe wins.

Reset COMPILE in Device/Default so each device starts with a clean
slate.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23226
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 weeks agorealtek: image: pin FLASH_ADDR per device
Jonas Jelonek [Thu, 30 Apr 2026 10:54:33 +0000 (10:54 +0000)] 
realtek: image: pin FLASH_ADDR per device

FLASH_ADDR is referenced inside Build/rt-loader-standalone but is not
listed in DEVICE_VARS, so include/image.mk's Device/Export does not
emit a per-target FLASH_ADDR := <value> assignment for the standalone
loader recipe. At recipe expansion time $(FLASH_ADDR) therefore
resolves to whatever value the last device in TARGET_DEVICES set
globally, which is not necessarily the value belonging to the loader
being built.

This currently happens to produce correct binaries only because every
device that sets FLASH_ADDR within a given subtarget shares the same
value, so the leaked global matches by coincidence.

Add FLASH_ADDR to DEVICE_VARS so each loader recipe captures its own
device's address.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23226
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 weeks agotreewide: remove unused archs leftovers 23240/head
Andre Heider [Wed, 23 Apr 2025 11:04:15 +0000 (13:04 +0200)] 
treewide: remove unused archs leftovers

These are all unused by the current targets, clean up and stop
irritating the user with irrelevant grep results.

Signed-off-by: Andre Heider <a.heider@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23240
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 weeks agostarfive: 6.18: update LED aliases
Zoltan HERPAI [Tue, 5 May 2026 22:41:54 +0000 (22:41 +0000)] 
starfive: 6.18: update LED aliases

Between 6.12 and 6.18, a 'blank' led_status_power has been added into
jh7110-common.dtsi. Update the patches responsible for adding the LED
aliases and add functionality for this LED entry.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2 weeks agostarfive: 6.12: drop CRYPTO_USER_API_*
Zoltan HERPAI [Mon, 4 May 2026 14:02:30 +0000 (14:02 +0000)] 
starfive: 6.12: drop CRYPTO_USER_API_*

These are not needed by any driver directly, and can be used
via modules if needed.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2 weeks agostarfive: 6.18: drop CRYPTO_USER_API_*
Zoltan HERPAI [Mon, 4 May 2026 14:01:49 +0000 (14:01 +0000)] 
starfive: 6.18: drop CRYPTO_USER_API_*

These are not needed by any driver directly, and can be used
via modules if needed.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
3 weeks agorealtek: eth: sort and rename defines 23145/head 23152/head
Markus Stockhausen [Tue, 28 Apr 2026 19:16:38 +0000 (21:16 +0200)] 
realtek: eth: sort and rename defines

Several defines still use the old prefix and are not sorted
alphabetically. Rearange the header file and the configuration
structures.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23145
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agorealtek: patches: simplify dsa/phy port hacks 23186/head
Markus Stockhausen [Fri, 1 May 2026 17:22:28 +0000 (19:22 +0200)] 
realtek: patches: simplify dsa/phy port hacks

The mdio driver has found a simple way to handle phy addresses
for all devices with upstream kernel defaults. Remove all unneeded
hacks from the corresponding patch and reword it.

While we are here increase DSA_MAX_PORTS to 56 to match RTL931x.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23186
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agorealtek: mdio: harden phy address check
Markus Stockhausen [Fri, 1 May 2026 17:21:10 +0000 (19:21 +0200)] 
realtek: mdio: harden phy address check

As of now RTL839x devices have never more than 32 devices on one
mdio bus. Harden the phy address check during probing.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23186
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agorealtek: dts: adapt RTL839x mdio bus topology
Markus Stockhausen [Fri, 1 May 2026 17:04:01 +0000 (19:04 +0200)] 
realtek: dts: adapt RTL839x mdio bus topology

The RTL839x actually has two mdio busses.

- mdio bus 0 serves ports 0..23
- mdio bus 1 serves ports 24..51

This is baked into hardware and cannot be changed during mdio driver
setup with any register write. With the recent changes the driver
handles ports, phys and busses in a more logical way. So a port X
is assigned to a bus Y and a phy Z (on that bus). This gives a
mapping like

- port 16 <=> bus 0, address 16
- port 32 <=> bus 1, address 8

This unique assignment is used in the mdio driver as follows:

- Request to read bus 1, address 8
- Lookup corresponding port = 32
- Read from port 32

Looking at RTL839x it becomes clear that bus/phy => port lookup can
be achieved in multiple different ways. The simple reason is, that
for this device the driver cannot setup the smi topology. It is
baked into the hardware. So adding a "virtual" second bus does not
change the hardware access but allows to keep phy addresses below 32.
Making an example

mdio_bus0 {
  PHY_C22(40, 40)
}

resolves to port 40. But the same can be achieved with

mdio_bus1 {
  PHY_C22(40, 16)
}

In the first case the kernel sees bus/phy = 0/40 and in the second
case it sees bus/phy = 1/16. Both result in the access to the same
phy device on hardware port 40.

Use this analogy for RTL839x devices to match the real hardware
topology. For this change the existing dts and

- activate mdio bus 1 in rtl839x.dtsi
- rearrange devices with ports 24..51 to make use of bus 1

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23186
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agorealtek: hwmon: backport lm75 alert polarity patches 23232/head
Markus Stockhausen [Tue, 5 May 2026 18:06:12 +0000 (20:06 +0200)] 
realtek: hwmon: backport lm75 alert polarity patches

The lm75 alert polarity active-high patch has been accepted upstream.
Replace the downstream version. Additionally add an upstream bugfix
that was identified during the implementation.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23232
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agofirmware-utils: update to Git HEAD (2026-05-04) 23221/head
Jonas Jelonek [Mon, 4 May 2026 17:36:06 +0000 (17:36 +0000)] 
firmware-utils: update to Git HEAD (2026-05-04)

d21804addba6 add XikeStor SKS7300 image generation utility
7806c09361d2 mkzynfw: add board definitions for Zyxel XMG1915 switches
1a4153f4c701 mkzynfw: add board definitions for XGS1930 series

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23221
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agompc85xx: unify wrapper address of simple image devices 23121/head
Edward Chow [Mon, 27 Apr 2026 03:13:51 +0000 (11:13 +0800)] 
mpc85xx: unify wrapper address of simple image devices

The wrapper address of simple image devices should have been changed
at commit 6a8b831 , but only TL-WDR4900 and BR200-WP are changed at
that time, and now the wrapper address changes are split among patches
for specific devices. More importantly, commit 6a8b831 forgot to
change Enterasys WS-AP3715i, causing
https://github.com/openwrt/openwrt/issues/23112 .

This commit will gather the change of wrapper address of simple image
devices into a dedicated patch file.

Tested: Both WS-AP3715i and TL-WDR4900 v1 boot well.

Fixes: https://github.com/openwrt/openwrt/issues/23112
Signed-off-by: Edward Chow <equu@openmail.cc>
Link: https://github.com/openwrt/openwrt/pull/23121
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agompc85xx: ws-ap3715i: use libdeflate-gzip for kernel
Edward Chow [Wed, 29 Apr 2026 21:52:10 +0000 (05:52 +0800)] 
mpc85xx: ws-ap3715i: use libdeflate-gzip for kernel

The simpleImage contains a payload already compressed with lzma-based
xz (by default), so further compressing it with lzma will often make
the result larger. On the contrary, compressing these simpleImages
with gzip can make the result smaller, so replace lzma with
libdeflate-gzip to compress kernel for ws-ap3715i.

Signed-off-by: Edward Chow <equu@openmail.cc>
Link: https://github.com/openwrt/openwrt/pull/23121
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agompc85xx: ws-ap3715i: enable access to u-boot env
Edward Chow [Tue, 28 Apr 2026 03:29:01 +0000 (11:29 +0800)] 
mpc85xx: ws-ap3715i: enable access to u-boot env

find_mtd_part() outputs /dev/mtdblockX, to which fw_setenv cannot
write, "/dev/mtd$(find_mtd_index '<vol name>')" could be used instead.

The envsize should also be changed to 0x1000 to make the CRC checksum
valid and the env block recognized by the uboot-envtools, but the
flash sector size remains 0x10000, otherwise the env block will be
readable but not writable.

The "read-only" mark within device tree is also removed.

Signed-off-by: Edward Chow <equu@openmail.cc>
Link: https://github.com/openwrt/openwrt/pull/23121
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agorealtek: phy: add 100base-FX mode to RTL8214FC 23087/head
Markus Stockhausen [Fri, 24 Apr 2026 20:20:30 +0000 (22:20 +0200)] 
realtek: phy: add 100base-FX mode to RTL8214FC

Add the basic bits to allow 100base-FX SFP mode on the RTL8214FC.
While this looks good fom ethtool perspective, it does not really
change the phy registers to enforce the mode. The SFP is still
driven in 1000base-X.

While it might seem useless at the moment this at least opens
up a new phy control method. This comes handy with one known bug.
In rare cases a SFP that is plugged in during boot does not get
a link. One option to revive the dead port seems to be

root@OpenWrt:~#  ethtool -s lan28 speed 100 duplex full autoneg off
rtl83xx-switch 1b000000.switchcore:ethernet-switch lan28: Link is Up - 100Mbps/Full - flow control off
switch: port 28(lan28) entered blocking state
switch: port 28(lan28) entered forwarding state
rtl83xx_fib_event: FIB_RULE ADD/DEL for IPv6 not supported
rtl83xx_fib_event: FIB_RULE ADD/DEL for IPv6 not supported

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23087
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agoramips: remove mediatek,firmware-eeprom 23137/head
Rosen Penev [Mon, 27 Apr 2026 22:51:06 +0000 (15:51 -0700)] 
ramips: remove mediatek,firmware-eeprom

This is a nonsensical binding that's not implemented anywhere.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23137
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agorealtek: mdio: add define for phy 24-27 link detection 23204/head
Markus Stockhausen [Sun, 3 May 2026 20:26:40 +0000 (22:26 +0200)] 
realtek: mdio: add define for phy 24-27 link detection

Add a meaningful define for RTL838x port 24-27 link status detection.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23204
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agorealtek: mdio: explain missing RTL838x fail command
Markus Stockhausen [Sun, 3 May 2026 17:08:08 +0000 (19:08 +0200)] 
realtek: mdio: explain missing RTL838x fail command

RTL838x devices do not have a fail indicator. Add a comment for that.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23204
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agorealtek: mdio: add comment about c22/command register
Markus Stockhausen [Sun, 3 May 2026 16:57:49 +0000 (18:57 +0200)] 
realtek: mdio: add comment about c22/command register

The C22 aka command register is a wild bit mix. Avoid confusion
for reviewers and add a comment.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23204
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agorealtek: mdio: harden RTMDIO_C45_DATA macro
Markus Stockhausen [Sun, 3 May 2026 16:53:37 +0000 (18:53 +0200)] 
realtek: mdio: harden RTMDIO_C45_DATA macro

Maximum devnum in c45 access is only 31. The bits 21-31 of the MMD
register are reserved and cannot be written. Nevertheless add a
proper mask to help AI review bots.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23204
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agorealtek: mdio: replace 0x1f with RTMDIO_PAGE_SELECT
Markus Stockhausen [Sun, 3 May 2026 16:43:56 +0000 (18:43 +0200)] 
realtek: mdio: replace 0x1f with RTMDIO_PAGE_SELECT

Use park page (aka select page) to get rid of some magic values.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23204
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agorealtek: mdio: add 10G polling comment
Markus Stockhausen [Sun, 3 May 2026 16:42:34 +0000 (18:42 +0200)] 
realtek: mdio: add 10G polling comment

Make clear that the hardware design always uses the same type
of 10G phys. So it is uncritical that the polling values are
overwritten multiple times.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23204
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agorealtek: mdio: harden rtmdio_probe_one()
Markus Stockhausen [Sun, 3 May 2026 16:34:38 +0000 (18:34 +0200)] 
realtek: mdio: harden rtmdio_probe_one()

rtmdio_probe_one() should be only called by rtmdio_probe() after it
has validated the dts input. Nevertheless be defensive and add
another consistency check.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23204
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agorealtek: mdio: adapt module information
Markus Stockhausen [Sun, 3 May 2026 16:27:35 +0000 (18:27 +0200)] 
realtek: mdio: adapt module information

Rename the module to describe that it is for the Realtek Otto
switches. Add owner to make clear who takes care. Adapt the
license to match the SPDX header.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23204
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agorealtek: mdio: harden for_each_port macro
Markus Stockhausen [Sun, 3 May 2026 16:20:38 +0000 (18:20 +0200)] 
realtek: mdio: harden for_each_port macro

In case someone calls the macro with other helpers this might
break the code. Add brackets for consistency.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23204
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agorealtek: mdio: avoid access to uninitialized variable
Markus Stockhausen [Sun, 3 May 2026 16:17:58 +0000 (18:17 +0200)] 
realtek: mdio: avoid access to uninitialized variable

The read functions might fail and thus "val" might be uninitialized.
The debug function will output the undefined state. Set the value
to zero to be consistent.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23204
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agorealtek: mdio: RTL931x does not need ext_page set
Markus Stockhausen [Sun, 3 May 2026 15:25:25 +0000 (17:25 +0200)] 
realtek: mdio: RTL931x does not need ext_page set

Remove the register write. It is never used in the SDK.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23204
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agorealtek: mdio: convert rtmdio_ctrl_from_bus to static inline
Markus Stockhausen [Sun, 3 May 2026 15:14:26 +0000 (17:14 +0200)] 
realtek: mdio: convert rtmdio_ctrl_from_bus to static inline

Make the macro type safe.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23204
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agorealtek: mdio: add define for RTL839x C22 reads/writes
Markus Stockhausen [Sun, 3 May 2026 15:10:01 +0000 (17:10 +0200)] 
realtek: mdio: add define for RTL839x C22 reads/writes

The RTL839x allows to add an extended page operator during phy
access. This is not needed for the standard linux kernel C22
access. Give the hardcoded 0x1ff value a meaningful define.

Although it is not needed, add the corresponding register define.
This makes clear where the mask belongs to.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23204
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agorealtek: mdio: focus on c22/c45 bits in rtmdio_931x_setup_ctrl()
Markus Stockhausen [Sun, 3 May 2026 14:52:56 +0000 (16:52 +0200)] 
realtek: mdio: focus on c22/c45 bits in rtmdio_931x_setup_ctrl()

The rtmdio_931x_setup_ctrl() function currently initializes the c22/c45
and the proprietary format bit of the controller. This works because of
the order these calls are arranged. Narrow down the update to the really
needed bits.

- c22/c45 (bit 1) is updated here
- standard/proprietary (bit 0) is updated in rtmdio_931x_setup_polling()

Adapt the confusing comment "Std. C45, non-standard is 0x3" it basically
explains the other function.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23204
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agorealtek: mdio: refactor RTL930x port ability setup
Markus Stockhausen [Sun, 3 May 2026 09:16:02 +0000 (11:16 +0200)] 
realtek: mdio: refactor RTL930x port ability setup

Provide a separate function to setup the ability (SDS/MDIO) of a RTL930x
port. This simplifies rtmdio_930x_setup_polling().  With this commit the
driver does no longer unconditionally overwrite reserved register bits.

Add a return value for the new function to indicate failure/success. As
of now this will be silently ignored in the caller. A future commit will
take care about that.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23204
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agorealtek: mdio: refactor RTL931x port ability setup
Markus Stockhausen [Sun, 3 May 2026 09:01:56 +0000 (11:01 +0200)] 
realtek: mdio: refactor RTL931x port ability setup

Provide a separate function to setup the ability (SDS/MDIO) of a RTL931x
port. This simplifies rtmdio_931x_setup_polling(). With this commit the
driver does no longer unconditionally overwrite reserved register bits.

Add a return value for the new function to indicate failure/success. As
of now this will be silently ignored in the caller. A future commit will
take care about that.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23204
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agorealtek: mdio: whitespace cleanup
Markus Stockhausen [Sun, 3 May 2026 08:48:05 +0000 (10:48 +0200)] 
realtek: mdio: whitespace cleanup

Fix whitespace issues in the driver.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23204
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agorealtek: mdio: Handle return code of setup_ctrl()
Markus Stockhausen [Sun, 3 May 2026 08:43:14 +0000 (10:43 +0200)] 
realtek: mdio: Handle return code of setup_ctrl()

Improve error handling for the setup_ctrl() functions.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23204
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agorealtek: mdio: harden rtmdio_setup_smi_topology()
Markus Stockhausen [Sun, 3 May 2026 08:36:22 +0000 (10:36 +0200)] 
realtek: mdio: harden rtmdio_setup_smi_topology()

Topology setup is used during probing. Improve error checking
to be 100% sure that hardware setup works as expected. While
we are here:

- use GENMASK()
- Be type consistent and add u32 cast for value calculation
- use __ffs(mask) for code deduplication and better readability

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23204
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agorealtek: mdio: convert err to ret for return handling
Markus Stockhausen [Sun, 3 May 2026 08:29:18 +0000 (10:29 +0200)] 
realtek: mdio: convert err to ret for return handling

The driver was developed over a longer time. Be consistent about
the return code handling and always use "ret" instead of "err".

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23204
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agorealtek: mdio: convert pr_warn() to dev_warn()
Markus Stockhausen [Sun, 3 May 2026 08:20:03 +0000 (10:20 +0200)] 
realtek: mdio: convert pr_warn() to dev_warn()

Use device base warning messages and simplify message.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23204
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agorealtek: mdio: add missing brackets to RTMDIO_PHY_POLL_MMD
Markus Stockhausen [Sun, 3 May 2026 08:12:31 +0000 (10:12 +0200)] 
realtek: mdio: add missing brackets to RTMDIO_PHY_POLL_MMD

With its current usage type RTMDIO_PHY_POLL_MMD() definition is ok.
But for the sake of consistency add brackets around the macro
parameters and use masks to avoid calculation inconsistencies.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23204
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agorealtek: mdio: harden bus number checks
Markus Stockhausen [Sun, 3 May 2026 07:36:18 +0000 (09:36 +0200)] 
realtek: mdio: harden bus number checks

The mdio hardware is fully understood. Describe the number of real
busses in the configuration structure and check against this limit
when working on busses.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23204
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agorealtek: mdio: convert raw_page to num_pages
Markus Stockhausen [Sun, 3 May 2026 07:21:29 +0000 (09:21 +0200)] 
realtek: mdio: convert raw_page to num_pages

Try to describe the hardware capabilities with consistent defines
and configuration variables. As raw_page is always num_pages - 1
better use num_pages naming where needed and provide a macro that
converts this naming.

While we are here:

- Sort the configuration variables alphabetically
- Provide num_pages defines per architecture
- adapt RTMDIO_839X_C22_DATA() macro to use the new define

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23204
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agomicrochipsw: use upstreamed QSGMII soft reset patch
Robert Marko [Tue, 5 May 2026 11:10:10 +0000 (13:10 +0200)] 
microchipsw: use upstreamed QSGMII soft reset patch

It was merged into the net tree, so use the upstreamed version.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
3 weeks agombedtls: backport upstream patches to fix TLS 1.2 client issues 23066/head
Magnus Kroken [Thu, 23 Apr 2026 18:12:51 +0000 (20:12 +0200)] 
mbedtls: backport upstream patches to fix TLS 1.2 client issues

Fix a TLS 1.2 regression that caused clients to reject valid
ServerKeyExchange signatures using RSA-PSS signature algorithms.

The TLS 1.2 regression resulted in errors like:
$ curl https://api.domeneshop.no/v0/
curl: (35) ssl_handshake returned: (-0x6600) SSL - A field in a message was incorrect or inconsistent with other fields

Fixes: https://github.com/openwrt/openwrt/issues/22874
Fixes: https://github.com/openwrt/openwrt/issues/23116
Fixes: f48ef0040b7e ("mbedtls: update to 3.6.6")
Signed-off-by: Magnus Kroken <mkroken@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23066
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agohostapd: clear start_disabled when adding a BSS to an enabled iface
Felix Fietkau [Mon, 4 May 2026 12:02:41 +0000 (12:02 +0000)] 
hostapd: clear start_disabled when adding a BSS to an enabled iface

In AP+STA mode, wifi-scripts emits start_disabled=1 in the per-BSS
section of the generated hostapd config so that hostapd defers
beaconing on every BSS until apsta_state up clears the flag for the
whole iface (uc_hostapd_iface_start clears start_disabled on every BSS
and calls ieee802_11_set_beacon).

When a new BSS is added later via iface.add_bss while the iface is
already in HAPD_IFACE_ENABLED state, the freshly parsed config still
carries start_disabled=1 for that BSS. hostapd_setup_bss is invoked
with start_beacon=true, but hostapd_start_beacon then skips
ieee802_11_set_beacon because conf->start_disabled is set. The kernel
netdev is created without ever starting beacons, the carrier never
comes up, and probe-response transmission attempts fail with
"handle_probe_req: send failed".

Mirror what iface.start does: when the iface is already enabled, the
apsta channel selection has happened, so clear start_disabled for the
incoming BSS before starting it.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 weeks agohostapd: emit ubus key-mismatch event for SAE confirm failures
Felix Fietkau [Mon, 4 May 2026 07:58:40 +0000 (07:58 +0000)] 
hostapd: emit ubus key-mismatch event for SAE confirm failures

Surface SAE confirm mismatches (wrong password) through the same
key-mismatch ubus notification that is already used for PSK failures, so
consumers can react uniformly regardless of the authentication method.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 weeks agohostapd: avoid spurious interface reload on empty MLD config
Felix Fietkau [Mon, 4 May 2026 07:49:37 +0000 (07:49 +0000)] 
hostapd: avoid spurious interface reload on empty MLD config

mld_set_config() treated any call with empty prev_mld as a fresh
configuration and triggered a full Reload all interfaces, even when the
new config was also empty (the typical path on non-MLD devices).
Reloading every BSS on each netifd reconf disrupted associated stations
including PMF-protected backhaul STAs, which would self-deauth after the
SA Query timeout.

Only treat the call as a new configuration when the new config is
actually non-empty.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 weeks agokernel: remove ax25
Felix Fietkau [Wed, 22 Apr 2026 08:47:13 +0000 (08:47 +0000)] 
kernel: remove ax25

It is going away upstream and it's highly unlikely that there are any
users left.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 weeks agoucode: update to Git HEAD (2026-04-24)
Felix Fietkau [Tue, 14 Apr 2026 15:36:04 +0000 (15:36 +0000)] 
ucode: update to Git HEAD (2026-04-24)

3d999b21f4ba socket: add include for older kernels
552ca3cf55ed compiler: allow export function declarations without trailing semicolon
d9e24e4ad13d compiler: add function forward declaration syntax
de986520017a fs: add statvfs flags and fs error codes
e6bf0a9dca79 nl80211: fix listener.request() dropping multicast events
520d9f4c8781 nl80211: fix waitfor() busy-spinning on non-blocking event socket
05328e33f078 nl80211: fix memory leak in waitfor() on repeated matching events
e4a165976dbb nl80211: don't report waitfor() match on event parse failure
57367e880e9d nl80211: add missing survey info attributes
a39b74fe329e nl80211: fix dfs_cac_time attribute type
beafcff845fc compiler, lib, resolv: fix const string pointers
4170c8dcc568 lib: fix system() inheriting blocked SIGCHLD mask in child process
d2c74298e22d fs: document glob
8a8b4d12a867 types: fix regexp `/.../s` flag inversion
d7bc7adcb99d lib: slightly expand regexp() JSDoc
826fbfef2df9 nl80211: fix HE MCS set parsing
617967a3ceb9 socket: strip brackets from IPv6 addresses in addrinfo()
a078b72a90bb socket: increase IPv6 scope ID buffer to support 15-char interface names
ed23cf5aa182 rtnl, nl80211: fix segfault when listener.close() is called explicitly
3e585662394b docs: add function forward declarations to syntax tutorial
bda4a0e454de vm: free thread context on vm_free to prevent memory leak
13158a73c96b nl80211: get iftype extended capabilites
30ffbd6c07dc ubus: add module documentation
ce0c8fc0ffea docs: spelling fixes and usage notes
35a74e92ad69 docs: rewrite ubus module intro to expand pub/sub and fix OpenWrt capitalization
b3380068a7e1 docs: flatten ubus class hierarchy and fix capitalization
3c9d3b5272d7 docs: math: fix spelling mistakes in documentation
aae2250ab519 fs: fix popen() documentation
eff52f0d262a digest: implement FNV-1a 64 bit hash algorithm
35ed1d1efd64 ubus: fix refcounting bug
c7e7dfa7b64a ubus: avoid double close of externally owned channel fds
896ac72caffb tests: make run_tests.uc default to build/
b50372e8e8a0 tests: implement automatic library test skipping
81066c54a07f math: degrees <-> radians convertors
388ef3f35e0a ubus: drop unconditional garbage collection calls
aebdb2c0262e main: fix option argument parsing on glibc

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 weeks agomac80211: bump to version 6.18.26 23167/head
Hauke Mehrtens [Thu, 30 Apr 2026 19:42:43 +0000 (21:42 +0200)] 
mac80211: bump to version 6.18.26

This contains many fixes from upstream Linux.

The code block from this patch was moved a bit in the function:
  subsys/110-mac80211_keep_keys_on_stop_ap.patch

This patch was applied upstream:
  subsys/330-mac80211-fix-crash-in-ieee80211_chan_bw_change-for-A.patch

Link: https://github.com/openwrt/openwrt/pull/23167
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agorealtek: mdio: rename read/write functions 23197/head
Markus Stockhausen [Sat, 2 May 2026 10:14:31 +0000 (12:14 +0200)] 
realtek: mdio: rename read/write functions

Harmonize the read/write functions for better readability. This
aligns with the naming convention of the upstream rtl9300 mdio
driver.

read_phy -> read_c22
read_phy_mmd -> read_c45
write_phy -> write_c22
write_phy_mmd -> write_c45

Swap order of c22/c45 functions to keep structures sorted
alphabetically.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23197
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agorealtek: support configurable LED interface mode on RTL930x 23160/head
Manuel Stocker [Wed, 29 Apr 2026 19:25:21 +0000 (21:25 +0200)] 
realtek: support configurable LED interface mode on RTL930x

Add support for changing the LED mode via the device tree.
Currently it always defaults to SERIAL mode. With this change,
one can also use the SINGLE_COLOR_SCAN and BI_COLOR_SCAN modes.

Signed-off-by: Manuel Stocker <mensi@mensi.ch>
Link: https://github.com/openwrt/openwrt/pull/23160
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agotoolchain: gcc: remove support for GCC 12 23195/head
Shiji Yang [Sat, 2 May 2026 06:39:30 +0000 (14:39 +0800)] 
toolchain: gcc: remove support for GCC 12

We will soon introduce new GCC version 16. There is no need to
maintain too many toolchain versions.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/23195
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agotoolchain: gcc: remove GCC 11 leftovers
Shiji Yang [Sat, 2 May 2026 06:25:10 +0000 (14:25 +0800)] 
toolchain: gcc: remove GCC 11 leftovers

GCC 11 has been removed.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/23195
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agotoolchain: gcc: drop 110-Fix-MIPS-PR-84790.patch 23196/head
Shiji Yang [Sat, 2 May 2026 06:36:05 +0000 (14:36 +0800)] 
toolchain: gcc: drop 110-Fix-MIPS-PR-84790.patch

The issue reported on the patch has been fixed in GCC 13.4.0[1],
14.2.0[2] and 15.1.0[3]. And we have already removed the GCC 14
patch variant in commit
a1b9c28edd72 ("toolchain: gcc: drop 110-Fix-MIPS-PR-84790.patch").

[1] https://gcc.gnu.org/cgit/gcc/commit/gcc/config/mips/mips.cc?h=releases/gcc-13.4.0&id=3be8fa7b19d218ca5812d71801e3e83ee2260ea0
[2] https://gcc.gnu.org/cgit/gcc/commit/gcc/config/mips/mips.cc?h=releases/gcc-14.2.0&id=201cfa725587d13867b4dc25955434ebe90aff7b
[3] https://gcc.gnu.org/cgit/gcc/commit/gcc/config/mips/mips.cc?h=releases/gcc-15.1.0&id=915440eed21de367cb41857afb5273aff5bcb737
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/23196
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agomediatek: add support for ELECOM WRC-X6000GSD 22926/head
INAGAKI Hiroshi [Mon, 2 Mar 2026 13:31:03 +0000 (21:31 +0800)] 
mediatek: add support for ELECOM WRC-X6000GSD

ELECOM WRC-X6000GSD is a 4804Mbps 4xMIMO 2.4/5 GHz 11ax (Wi-Fi 6) router
with 2.5Gbps WAN (stock: 1Gbps max.), based on MT7986B

Specification:

- SoC             : MediaTek MT7986BLA
- RAM             : DDR3 512 MiB (SoC)
- Flash           : Winbond 128MiB SPI NAND (W25N01GVZEIG)
- WLAN            : 2.4/5 GHz 4T4R (MediaTek MT7986)
- Ethernet        : 5x 10/100/1000(/2500) Mbps
  - wan           : Maxlinear Ethernet GPY211C (max. 2500M)
  - lan           : MediaTek MT7531 (max. 1000M)
- LEDs/Keys (GPIO): 11x/4x
- UART            : through-hole on PCB (J1)
  - assignment    : 3.3V, TX, RX, NC, GND from tri-angle marking
  - settings      : 115200n8
- Power           : 12 VDC, 2 A

Flash layout:
dev:  offset     size        name
mtd0: 0x00000000 0x00100000 "BL2"
mtd1: 0x00100000 0x00080000 "Ubootenv"
mtd2: 0x00180000 0x00200000 "Factory"
mtd3: 0x00380000 0x00200000 "FIP"
mtd4: 0x00580000 0x00020000 "Fwheader"
mtd5: 0x005a0000 0x03200000 "ubi"
mtd6: 0x037a0000 0x00380000 "Config"
mtd7: 0x03b20000 0x00020000 "Fwheader_2"
mtd8: 0x03b40000 0x03200000 "ubi_2"
mtd9: 0x06d40000 0x00380000 "Config_2"
mtd10: 0x070c0000 0x00100000 "persist"
mtd11: 0x071c0000 0x00040000 "Mrd"
mtd12: 0x07200000 0x00380000 "Backup"

Flash instruction using factory.bin image:

1. Boot WRC-X6000GSD in router mode normally
2. Access to the WebUI ("http://192.168.2.1/") on the device
   -> その他設定 (Other settings)
   -> フォームウェア更新 (Update firmware)
   -> ローカルファイル指定 (Specify local file)
3. Select the OpenWrt factory.bin image and click apply ("適用") button
4. Wait ~120 seconds to complete flashing

Switching to the stock firmware:

1. Load the elecom.sh script
   . /lib/upgrade/elecom.sh

2. Check the current index of firmware partition
   mstc_rw_bootnum

3. Set the bootnum to opposite value between 1 and 2
   mstc_rw_bootnum value

   example:
   - step2 returned "1": mstc_rw_bootnum 2
   - step2 returned "2": mstc_rw_bootnum 1

4. Reboot, to stock FW

5. Flash the stock FW to fuly revert back to original.

Notes:

- With the stock firmware, it will flash to another partition and
  toggle boot to that partition when any firmware is flashed.
  For example when booting on ubi, the new firmware will be flashed
  to ubi_2 and the router will boot from ubi_2 afterwards.
  The 5th byte of the Persist partition is the boot value (0x01 or 0x02).

- bootmenu_delay=0 is set from factory so uboot menu is hidden by
  default.

- The hardware of WRC-X6000GSD is almost identical to WRC-X6000QS, but
  WAN (labeled as "INTERNET") port is limited to 1000 Mbps on stock FW.
  On OpenWrt FW, 2500 Mbps connection is available on that port.

MAC Addresses:

LAN   : 38:97:A4:xx:xx:58 (Factory, 0x2A(hex)/Ubootenv, "ethaddr"(text))
WAN   : 38:97:A4:xx:xx:5B (Factory, 0x24(hex))
2.4GHz: 38:97:A4:xx:xx:59 (Factory, 0x4(hex))
5GHz  : 38:97:A4:xx:xx:5A (Factory, 0xA(hex)

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22926
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>