]> git.ipfire.org Git - thirdparty/openwrt.git/log
thirdparty/openwrt.git
6 hours agosunxi: drop support for 6.12 main master
Zoltan HERPAI [Mon, 27 Apr 2026 13:02:27 +0000 (13:02 +0000)] 
sunxi: drop support for 6.12

Drop support for 6.12 by removing config and patches.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
6 hours agosunxi: switch to 6.18
Zoltan HERPAI [Mon, 27 Apr 2026 13:02:57 +0000 (13:02 +0000)] 
sunxi: switch to 6.18

Make 6.18 the default kernel.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
6 hours agorealtek: rtl930x: mcx3: specify RTL8224 reset GPIO 22966/head
Sven Eckelmann [Fri, 17 Apr 2026 07:46:13 +0000 (09:46 +0200)] 
realtek: rtl930x: mcx3: specify RTL8224 reset GPIO

The nRESET pins of the RTL8224 PHY on the MCX3 are wired to GPIO6 of the
SoC, but this was never described in the devicetree.

Commit c99a30668d5f ("realtek: add RTL8224 initialization to Realtek
driver") introduced support for reinitializing RTL8224 PHYs, and commit
084da38a2e74 ("realtek: mdio: activate multiple busses") allowed the MDIO
bus provider load the devicetree properties to the bus, including reset
descriptors. With both in place, a bus level PHY reset via the hardware pin
is now correctly triggered before reinitialization.

Add the missing reset-gpios property so the PHY can be reset via the
hardware pin.

Signed-off-by: Sven Eckelmann <sven@narfation.org>
Link: https://github.com/openwrt/openwrt/pull/22966
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 hours agoramips: remove hack and use safexcel-eip93ies 22871/head
Mieczyslaw Nalewaj [Thu, 23 Apr 2026 15:13:34 +0000 (17:13 +0200)] 
ramips: remove hack and use safexcel-eip93ies

Remove legacy hack patch, switch mt7621 crypto node to the intended
Safexcel insecure EIP93 compatible string and simplify crypto module
packaging to use the inside-secure eip93 driver.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/22871
Signed-off-by: Nick Hainke <vincent@systemli.org>
7 hours agoramips: drop 6.12 support
Mieczyslaw Nalewaj [Thu, 9 Apr 2026 20:51:47 +0000 (22:51 +0200)] 
ramips: drop 6.12 support

Drop patches and configs for Linux 6.12.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/22871
Signed-off-by: Nick Hainke <vincent@systemli.org>
7 hours agoramips: use kernel 6.18 by default
Mieczyslaw Nalewaj [Thu, 9 Apr 2026 20:48:42 +0000 (22:48 +0200)] 
ramips: 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/22871
Signed-off-by: Nick Hainke <vincent@systemli.org>
8 hours agomold: Update to 2.41.0
Carsten Schuette [Mon, 27 Apr 2026 14:23:43 +0000 (16:23 +0200)] 
mold: Update to 2.41.0

Update mold to 2.41.0

Release notes:
https://github.com/rui314/mold/releases/tag/v2.41.0

Signed-off-by: Carsten Schuette <schuettecarsten@googlemail.com>
Link: https://github.com/openwrt/openwrt/pull/23129
Signed-off-by: Robert Marko <robimarko@gmail.com>
14 hours agonetifd: update to Git HEAD (2026-04-23)
Daniel Golle [Tue, 28 Apr 2026 00:37:38 +0000 (01:37 +0100)] 
netifd: update to Git HEAD (2026-04-23)

 e45b890 ethtool: avoid unneeded ioctl
 8c31959 system-linux: gate ethtool reapply on apply_mask
 1375538 device: live-apply pure-sysctl config changes without teardown
 5bddddb device: centralise device-attr diff handling in device_set_config
 18ba5f3 device: realign DEV_OPT_* bits with DEV_ATTR_* enum positions

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
16 hours agokernel: backport crypto selftests 23012/head
Aleksander Jan Bajkowski [Wed, 28 Jan 2026 00:00:59 +0000 (01:00 +0100)] 
kernel: backport crypto selftests

FIPS 140-3 recommends that all crypto implementations should be tested
before first use. Testmanager performs initial tests based on existing
test vectors. Not all algorithms have defined test vectors, so to improve
this situation, this commit backports recently added test vectors for
some cipher suites.

These vectors were calculated using a software implementation and then
double-checked on Mediatek MT7981 (safexcel) and NXP P2020 (talitos).
Both platforms passed self-tests.

Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
Link: https://github.com/openwrt/openwrt/pull/23012
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
16 hours agorealtek: mdio: convert to regmap_assign_bits() 23099/head
Markus Stockhausen [Sun, 26 Apr 2026 07:22:02 +0000 (09:22 +0200)] 
realtek: mdio: convert to regmap_assign_bits()

Use regmap_assign_bits() where it improves readability. With this
there is no need to calculate masks and values in separate lines.

Splitting the single update_bits() in rtmdio_931x_setup_polling()
into two separate assign_bits() is uncritical.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23099
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
17 hours agorealtek: arch: rtl-otto: add rtl9607 model info support 23023/head
Rustam Adilov [Mon, 20 Apr 2026 16:42:22 +0000 (21:42 +0500)] 
realtek: arch: rtl-otto: add rtl9607 model info support

Add the registers, family id and cpu port defines to the mach header.
Since RTL96xx SoCs has additional "subtype" info, add the respective
property to soc_info struct to be used in prom file.

The same way as rtl838x, the chip_info register requires 0xa to be
written. Similarly, 0xb must be written to get the subtype info.
There doesn't seem any check for testchip in RTL96xx so, we ignore it.

Add subtype information to set_system_type function if it is present
using the added subtype variable.

There are some RTL9607 chips out there with 512MB so add the check
for RTL9607 in the prepare_highmem. The registers are the same as
in RTL9300 so nothing else need to be changed.

Signed-off-by: Rustam Adilov <adilov@tutamail.com>
Link: https://github.com/openwrt/openwrt/pull/23023
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
26 hours agorealtek: refresh 'add-pcs-rtl-otto' patch 23127/head
Jonas Jelonek [Mon, 27 Apr 2026 13:12:59 +0000 (13:12 +0000)] 
realtek: refresh 'add-pcs-rtl-otto' patch

Refresh the patch to account for recent changes in the generic kernel
patches. Makes the CI kernel patch check happy again.

Fixes: c271123724fc ("generic: 6.18: fix MediaTek USXGMII driver")
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23127
Signed-off-by: Robert Marko <robimarko@gmail.com>
27 hours agogeneric: 6.18: mtk_eth_soc: improve non-MTK tag_8021q DSA 23074/head
Daniel Golle [Thu, 23 Apr 2026 17:58:52 +0000 (18:58 +0100)] 
generic: 6.18: mtk_eth_soc: improve non-MTK tag_8021q DSA

Add patches to improve support for using 3rd-party DSA switches
like MaxLinear MxL862xx with MediaTek's mtk_eth_soc being the
conduit. This involves reorganizing hardware queues to avoid
overlap (currently dp->index is used -- if there is more than one
DSA switch this is problematic), and correctly programming flows
of the non-MTK DSA users ports in the PPE offloading engine.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
27 hours agomodules: video: Fix DRM client lib dependency 23124/head
Paweł Owoc [Mon, 27 Apr 2026 11:57:28 +0000 (13:57 +0200)] 
modules: video: Fix DRM client lib dependency

Fix dependency for kmod-drm-client-lib module:
error: recursive dependency detected!
symbol LINUX_6_18 is selected by PACKAGE_kmod-drm-client-lib
symbol PACKAGE_kmod-drm-client-lib is selected by LINUX_6_18

Fixes: e75ba35ed837 ("modules: video: introduce DRM client setup module")
Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23124
Signed-off-by: Robert Marko <robimarko@gmail.com>
27 hours agobcm27xx: update irq-msi-lib.h header path 23125/head
Shiji Yang [Mon, 27 Apr 2026 11:42:55 +0000 (19:42 +0800)] 
bcm27xx: update irq-msi-lib.h header path

Fix build error:

drivers/irqchip/irq-bcm2712-mip.c:14:10: fatal error: irq-msi-lib.h: No such file or directory
   14 | #include "irq-msi-lib.h"
      |          ^~~~~~~~~~~~~~~

Fixes: ba7aa2a97153 ("generic: backport MSI affinity support for DW PCIe")
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/23125
Signed-off-by: Robert Marko <robimarko@gmail.com>
27 hours agorealtek: pcs: rtl931x: drop USXGMII gating in setup_serdes 23120/head
Jonas Jelonek [Thu, 23 Apr 2026 11:28:45 +0000 (11:28 +0000)] 
realtek: pcs: rtl931x: drop USXGMII gating in setup_serdes

The USXGMII_10GDXGMII and USXGMII_10GQXGMII early-return was added
when the submode register was not yet programmed, making those modes
effectively unconfigurable. With the submode now wired up at probe
time and written from the set_mode path, the gating is no longer
needed.

Keep the XSGMII gate - RTL8218D/E bring-up through the proprietary
10G SGMII path is still unimplemented - and rewrite the surrounding
comment accordingly.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23120
Signed-off-by: Robert Marko <robimarko@gmail.com>
27 hours agorealtek: pcs: rtl93xx: add remaining USXGMII submodes
Jonas Jelonek [Thu, 23 Apr 2026 11:29:44 +0000 (11:29 +0000)] 
realtek: pcs: rtl93xx: add remaining USXGMII submodes

Complete the USXGMII submode table with the four values that were
missing so far:

  0x01  10GDX    (2 x 5G)
  0x03  5GSX     (1 x 5G)
  0x04  5GDX     (2 x 2.5G)
  0x05  2_5GSX   (1 x 2.5G)

Together with the existing 10GSX (0x00) and 10GQX (0x02) this covers
all six USXGMII modes the driver declares. Add a corresponding mapping
to the hw_mode table too to cover them properly there.

Replace the switch in rtpcs_93xx_sds_apply_usxgmii_submode() with a
sparse lookup table indexed by hw_mode, using -1 as the sentinel for
modes without a submode value. Non-USXGMII modes silently no-op as
before; a USXGMII mode hitting a SerDes without an allocated submode
register now returns -EOPNOTSUPP, catching configuration mismatches
that would previously have been silently dropped.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23120
Signed-off-by: Robert Marko <robimarko@gmail.com>
27 hours agorealtek: pcs: rtl931x: enable USXGMII submode selection
Jonas Jelonek [Thu, 23 Apr 2026 11:07:24 +0000 (11:07 +0000)] 
realtek: pcs: rtl931x: enable USXGMII submode selection

USXGMII submode (10GSX vs 10GQX) is selected through a dedicated
register at 0x13e8, independent of the MAC and IP mode registers.
Without programming it, USXGMII-QX ports initialise as single-lane
SX and fail to link up correctly; MAC and IP mode alone are
insufficient for a working USXGMII setup.

The register packs 12 x 5-bit entries for SerDes 2..13, six per
32-bit word, non-straddling (bits 0..29 used, 30..31 padded). This
matches the available register dumps and the SDK's
reg_array_field_write() non-CROSS_REGISTERS path, which derives the
bit position as ((index - larray) % (32 / width)) * width and
accesses only a single 32-bit word. The submode values are identical
to RTL930x, so the shared RTPCS_93XX_SDS_USXGMII_SUBMODE_* defines
are reused.

Allocate the regmap_field at probe time with coordinates computed
from the SerDes ID; the regular packing needs no lookup table. Call
rtpcs_93xx_sds_apply_usxgmii_submode() from the set_mode dispatcher
after set_ip_mode - the helper's null-guard and mode filter leave
non-USXGMII paths unchanged.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23120
Signed-off-by: Robert Marko <robimarko@gmail.com>
30 hours agoramips: wn575a3: fix eeprom size for 5ghz wifi 22463/head
Rosen Penev [Tue, 17 Mar 2026 05:17:14 +0000 (22:17 -0700)] 
ramips: wn575a3: fix eeprom size for 5ghz wifi

MT7613 uses 4da8 for eeprom size. eeprom + calibration.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22463
Signed-off-by: Robert Marko <robimarko@gmail.com>
30 hours agorefpolicy: update to 2.20260312 23082/head
Alexandru Ardelean [Fri, 24 Apr 2026 09:17:01 +0000 (12:17 +0300)] 
refpolicy: update to 2.20260312

Changelog:
  This release consists mainly of small fixes in the policy.

  New Modules:
  - ofono
  - pd_mapper
  - tee_supplicant
  - xdsprpcd
  - wayland

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
Link: https://github.com/openwrt/openwrt/pull/23082
Signed-off-by: Robert Marko <robimarko@gmail.com>
30 hours agosecilc: update to 3.10
Alexandru Ardelean [Fri, 24 Apr 2026 11:05:00 +0000 (14:05 +0300)] 
secilc: update to 3.10

Release Notes:
https://github.com/SELinuxProject/selinux/wiki/Releases#release-310

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
Link: https://github.com/openwrt/openwrt/pull/23082
Signed-off-by: Robert Marko <robimarko@gmail.com>
30 hours agopolicycoreutils: update to 3.10
Alexandru Ardelean [Fri, 24 Apr 2026 11:05:00 +0000 (14:05 +0300)] 
policycoreutils: update to 3.10

Release Notes:
https://github.com/SELinuxProject/selinux/wiki/Releases#release-310

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
Link: https://github.com/openwrt/openwrt/pull/23082
Signed-off-by: Robert Marko <robimarko@gmail.com>
30 hours agocheckpolicy: update to 3.10
Alexandru Ardelean [Fri, 24 Apr 2026 11:05:00 +0000 (14:05 +0300)] 
checkpolicy: update to 3.10

Release Notes:
https://github.com/SELinuxProject/selinux/wiki/Releases#release-310

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
Link: https://github.com/openwrt/openwrt/pull/23082
Signed-off-by: Robert Marko <robimarko@gmail.com>
30 hours agolibsemanage: update to 3.10
Alexandru Ardelean [Fri, 24 Apr 2026 11:05:00 +0000 (14:05 +0300)] 
libsemanage: update to 3.10

Release Notes:
https://github.com/SELinuxProject/selinux/wiki/Releases#release-310

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
Link: https://github.com/openwrt/openwrt/pull/23082
Signed-off-by: Robert Marko <robimarko@gmail.com>
30 hours agolibselinux: update to 3.10
Alexandru Ardelean [Fri, 24 Apr 2026 11:04:55 +0000 (14:04 +0300)] 
libselinux: update to 3.10

Release Notes:
https://github.com/SELinuxProject/selinux/wiki/Releases#release-310

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
Link: https://github.com/openwrt/openwrt/pull/23082
Signed-off-by: Robert Marko <robimarko@gmail.com>
30 hours agolibsepol: update to 3.10
Alexandru Ardelean [Fri, 24 Apr 2026 11:04:52 +0000 (14:04 +0300)] 
libsepol: update to 3.10

Release Notes:
https://github.com/SELinuxProject/selinux/wiki/Releases#release-310

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
Link: https://github.com/openwrt/openwrt/pull/23082
Signed-off-by: Robert Marko <robimarko@gmail.com>
30 hours agotoolchain: gcc: fix include memory against GCC 16
Lars Gierth [Sat, 25 Apr 2026 15:33:06 +0000 (17:33 +0200)] 
toolchain: gcc: fix include memory against GCC 16

This patch backports a small but important part of the upstream commit:

b3f1b9e2aa07 build: Remove INCLUDE_MEMORY [PR117737]

Its original commit message fails to mention that the commit also moves
the `#include <memory>` to an earlier position within system.h,
which is the actual change that we're after in this patch.

Building our GCC 14.3 with host GCC 16, the inclusion order starts to matter,
which is an issue that was also touched upon by the upstream commits:

9970b576b7e4 Include safe-ctype.h after C++ standard headers, to avoid over-poisoning
f6e00226a4ca build: Move sstream include above safe-ctype.h {PR117771]

Signed-off-by: Lars Gierth <larsg@systemli.org>
Link: https://github.com/openwrt/openwrt/pull/23095
Signed-off-by: Robert Marko <robimarko@gmail.com>
31 hours agorealtek: dsa: postpone probe due to deferred PHYs 23075/head
Sven Eckelmann [Tue, 7 Apr 2026 07:14:25 +0000 (09:14 +0200)] 
realtek: dsa: postpone probe due to deferred PHYs

PHY drivers might need access to NVMEM or the filesystem to load
calibration/initialization data. The driver will then return -EPROBE_DEFER
to signal to the device core that the probe should be retried multiple
times again in the 10s driver_deferred_probe_timeout.

But when the switch driver calls dsa_register_switch(), it needs to connect
the PHYs directly. As result, all PHYs without an driver will automatically
get the default driver (either `genphy_c45_driver` or `genphy_driver`)
assigned and initialized. But for PHYs with the additional initialization
data from NVMEM/fs, this will usually result in not working PHYs.

Since there are Realtek based boards with RTL826x PHYs and the new driver
loads the initialization/patch values from rootfs, it is necessary to check
in the beginning of the probe function whether the PHYs are ready and the
probing can continue.

If some driver is still without driver after the deferred probe period
ended, the loading will just continue and the generic PHY drivers will
still be used.

Closes: #22811
Co-authored-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Co-authored-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Link: https://github.com/openwrt/openwrt/pull/23075
Signed-off-by: Robert Marko <robimarko@gmail.com>
31 hours agorealtek: pcs: rtl93xx: add shared MAC mode wrapper 23040/head
Jonas Jelonek [Wed, 22 Apr 2026 07:39:58 +0000 (07:39 +0000)] 
realtek: pcs: rtl93xx: add shared MAC mode wrapper

RTL930x and RTL931x share a set of extras around MAC mode writes:

 - a post-write delay (kept for consistency with the original RTL930x
   behaviour; harmless on RTL931x)
 - the force-mode bit (RTL931x only, nullable field)

Add rtpcs_93xx_sds_set_mac_mode() as a shared wrapper around the
generic rtpcs_sds_set_mac_mode() that applies each of these extras
unconditionally; the nullable field makes the force-bit write a no-op
on RTL930x.

Route the three RTL93xx call sites (the 930x and 931x set_mode
dispatchers, and 931x set_ip_mode's OFF transition) through the
wrapper, removing the duplicated force-bit handling from each.

The USXGMII submode write stays out of the wrapper and is called
explicitly from the 930x dispatcher via rtpcs_93xx_sds_apply_usxgmii_submode().
Keeping submode as a separate step leaves room for RTL931x to apply it
from its IP-mode path once the submode register is wired up, without
retrofitting a MAC-mode wrapper with side effects.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23040
Signed-off-by: Robert Marko <robimarko@gmail.com>
31 hours agorealtek: pcs: rtl931x: migrate MAC mode setting to regmap_field
Jonas Jelonek [Mon, 20 Apr 2026 20:26:12 +0000 (20:26 +0000)] 
realtek: pcs: rtl931x: migrate MAC mode setting to regmap_field

RTL931x uses a regular 8-bit-per-SerDes layout in SERDES_MODE_CTRL, so
the reg_field can be computed in the probe hook with simple arithmetic.

The 8-bit-per-SerDes field is split into a 7-bit mac_mode (bits 0..6)
and a 1-bit mac_mode_force (bit 7), each written independently via its
own regmap_field. The mac_mode is widened to 7 bits (rather than the
5 bits strictly needed for the mode value) so MAC mode writes also
clear bit 5 (FEC enable) and bit 6 (10G speedup), matching the original
behaviour where the full 8-bit mask cleared these bits on every mode
change. FEC and speedup are mode-dependent and not yet programmed by
the driver; keeping them cleared leaves headroom for future support
without changing the effective register value.

rtpcs_931x_sds_reset() is updated to save and restore both fields
across the off/on cycle, preserving the original force-bit handling.
rtpcs_931x_sds_set_mode() uses the generic rtpcs_sds_set_mac_mode() and
sets the force bit explicitly; the same sequence also appears in
rtpcs_931x_sds_set_ip_mode()'s OFF transition. Both are folded into
the shared RTL93xx wrapper in a later commit.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23040
Signed-off-by: Robert Marko <robimarko@gmail.com>
31 hours agorealtek: pcs: rtl930x: migrate MAC mode setting to regmap_field
Jonas Jelonek [Mon, 20 Apr 2026 20:15:46 +0000 (20:15 +0000)] 
realtek: pcs: rtl930x: migrate MAC mode setting to regmap_field

RTL930x packs 5-bit mode fields across four registers at irregular
positions. Express this as a static reg_field table indexed by SerDes
ID; the probe hook allocates the corresponding regmap_field. The
USXGMII submode register follows the same pattern with its own
reg_field table, allocated only for 10G-capable SerDes (id 2..9).

The generic rtpcs_sds_set_mac_mode() replaces the old
__rtpcs_930x_sds_set_mac_mode() helper. The previous behaviour of
writing OFF before the target mode is intentionally dropped — it was
RTL930x-specific and not required by the hardware.

The variant-level rtpcs_930x_sds_set_mode() is kept as a pure dispatch
between the IP mode path (set_ip_mode) and the MAC mode path. The
USXGMII submode write is factored into rtpcs_93xx_sds_apply_usxgmii_submode(),
which derives the submode value from hw_mode and no-ops on SerDes
without the submode register.

The __rtpcs_930x_sds_get_mac_mode() and __rtpcs_930x_sds_get_usxgmii_submode()
helpers are dropped. They were __always_unused and depended on the
removed parallel arrays. A future get_mode path will be added if a
caller needs it, likely mirroring the setter's wrapper shape.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23040
Signed-off-by: Robert Marko <robimarko@gmail.com>
31 hours agorealtek: pcs: rtl839x: migrate MAC mode setting to regmap_field
Jonas Jelonek [Mon, 20 Apr 2026 19:43:05 +0000 (19:43 +0000)] 
realtek: pcs: rtl839x: migrate MAC mode setting to regmap_field

RTL839x packs the SerDes MAC mode in MAC_SERDES_IF_CTRL with a regular
per-SerDes layout, so the regmap_field can be computed directly in the
probe hook rather than declared as a static table.

Mode values (currently only OFF and QSGMII) move into a static
rtpcs_839x_sds_hw_mode_vals[] table. Values for 100BASEX, 1000BASEX
and SGMII from the vendor SDK are kept as comments for future
reference — they are not yet exercised here.

With no variant-specific extras (no force bit, no companion register,
no submode), rtpcs_839x_sds_set_mode() is removed; setup_serdes calls
the generic rtpcs_sds_set_mac_mode() directly.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23040
Signed-off-by: Robert Marko <robimarko@gmail.com>
31 hours agorealtek: pcs: rtl838x: migrate MAC mode setting to regmap_field
Jonas Jelonek [Mon, 20 Apr 2026 19:35:13 +0000 (19:35 +0000)] 
realtek: pcs: rtl838x: migrate MAC mode setting to regmap_field

Replace rtpcs_838x_sds_set_mode()'s inline shift/mask arithmetic with
a regmap_field computed and allocated at probe time. The field layout
is regular (5-bit per SerDes, reverse-packed in SDS_MODE_SEL), so the
position can be derived arithmetically from the SerDes ID rather than
declared in a table.

The function keeps its wrapper role because SerDes 4 and 5 have a
second companion register (INT_MODE_CTRL) with its own per-mode value
encoding. Since RTL838x is the only variant with this quirk and the
register is written from only one call site, it is kept inline rather
than abstracted into its own config table.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23040
Signed-off-by: Robert Marko <robimarko@gmail.com>
31 hours agorealtek: pcs: add regmap-based MAC mode infrastructure
Jonas Jelonek [Mon, 20 Apr 2026 19:20:49 +0000 (19:20 +0000)] 
realtek: pcs: add regmap-based MAC mode infrastructure

All four Realtek PCS variants (RTL838x, RTL839x, RTL930x, RTL931x)
configure the SerDes MAC mode by writing a register field whose layout
varies per variant — different base registers, different bit positions,
and in some cases per-SerDes packing that isn't arithmetically regular.

Add the common infrastructure to express this uniformly:

 - per-SerDes regmap_field pointers in a new 'swcore_regs' anonymous
   struct on rtpcs_serdes: mac_mode, mac_mode_force (931x only, nullable)
   and usxgmii_submode (930x only, nullable).

 - a per-variant mode-value table pointer (sds_hw_mode_vals) on
   rtpcs_config, keyed by enum rtpcs_sds_mode. Values are s16 with -1 as
   the "unsupported" sentinel — u8 with 0 would collide with RTL839x's
   OFF value (0x0).

 - a generic rtpcs_sds_set_mac_mode() that looks up the value for the
   requested mode and writes it via the regmap_field.

Variant-specific extras (post-write delay, force bit, companion register
writes, USXGMII submode handling) will be added in per-variant wrappers
in the following commits.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23040
Signed-off-by: Robert Marko <robimarko@gmail.com>
31 hours agokirkwood: switch to 6.18 kernel 22680/head
Pawel Dembicki [Sun, 29 Mar 2026 20:22:14 +0000 (22:22 +0200)] 
kirkwood: switch to 6.18 kernel

This target is not popular among active developers.
If nobody is using the testing kernel, this phase is pointless.

Switch this niche target to kernel 6.18 for testing.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22680
Signed-off-by: Linus Walleij <linusw@kernel.org>
31 hours agokirkwood: kernel: 6.18: refresh config
Pawel Dembicki [Sun, 29 Mar 2026 20:20:41 +0000 (22:20 +0200)] 
kirkwood: kernel: 6.18: refresh config

Done by `kernel_oldconfig`.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22680
Signed-off-by: Linus Walleij <linusw@kernel.org>
31 hours agokernel/kirkwood: restore files for v6.12
Pawel Dembicki [Sat, 28 Mar 2026 22:39:16 +0000 (23:39 +0100)] 
kernel/kirkwood: 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: Pawel Dembicki <paweldembicki@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22680
Signed-off-by: Linus Walleij <linusw@kernel.org>
31 hours agokernel/kirkwood: create files for v6.18 (from v6.12)
Pawel Dembicki [Sat, 28 Mar 2026 22:39:16 +0000 (23:39 +0100)] 
kernel/kirkwood: 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: Pawel Dembicki <paweldembicki@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22680
Signed-off-by: Linus Walleij <linusw@kernel.org>
37 hours agogeneric: 6.18: add and fix support for Aquantia PHYs
Daniel Golle [Mon, 27 Apr 2026 00:52:38 +0000 (01:52 +0100)] 
generic: 6.18: add and fix support for Aquantia PHYs

Add support for Aquantia CUX3410 and fix/sync support for the AQR112
variants.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
37 hours agomediatek: filogic: arcadyan-mozart: fix polarity properties
Daniel Golle [Mon, 27 Apr 2026 00:50:44 +0000 (01:50 +0100)] 
mediatek: filogic: arcadyan-mozart: fix polarity properties

Use the upstream properties to describe the USXGMII PCS polarity as
the downstream mediatek,pnswap{,-rx,tx} was dropped.
This board was the only user.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
37 hours agogeneric: 6.18: fix MediaTek USXGMII driver
Daniel Golle [Mon, 27 Apr 2026 00:46:57 +0000 (01:46 +0100)] 
generic: 6.18: fix MediaTek USXGMII driver

LINK_INBAND_ENABLE isn't valid for 5GBase-R/10GBase-R modes which
by definition don't support any in-band an. Correctly report
LINK_INBAND_DISABLE to fix 10G fiber SFP modules no longer working.
While at it also get rid of downstream pn-swap properties in favor
of using the upstream schema.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
40 hours agomodules: amazon-ena: fix ptp dependency 23098/head
Philip Prindeville [Sun, 26 Apr 2026 01:40:59 +0000 (19:40 -0600)] 
modules: amazon-ena: fix ptp dependency

Going from 6.12 to 6.18 I see breakage with a missing dependency
that drivers/net/ethernet/amazon/ena/ena_netdev.c has on ptp.ko.

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
Link: https://github.com/openwrt/openwrt/pull/23098
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
40 hours agorealtek: eth: convert eth_probe() to regmap 23067/head
Markus Stockhausen [Thu, 23 Apr 2026 18:26:49 +0000 (20:26 +0200)] 
realtek: eth: convert eth_probe() to regmap

Remove the last sw() macros from the ethernet driver.
With this drop the required include line.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23067
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
40 hours agorealtek: eth: convert set_features() to regmap
Markus Stockhausen [Thu, 23 Apr 2026 18:13:45 +0000 (20:13 +0200)] 
realtek: eth: convert set_features() to regmap

Use regmap_assign_bits() for conversion and much simpler code.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23067
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
40 hours agorealtek: eth: convert mac functions to regmap
Markus Stockhausen [Thu, 23 Apr 2026 11:49:39 +0000 (13:49 +0200)] 
realtek: eth: convert mac functions to regmap

Besides converting some functions to regmap do some minor
refactoring for rteth_931x_init_mac().

- Use dev_err() instead of classic print functions
- Harmonize ALE_INIT error handling. ALE_INIT_2 has the same
  logic as the other registers. The reset is finished as soon
  as the register is completely zero.
- From testing 100ms poll timeout seems to be sufficient

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23067
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
40 hours agorealtek: eth: convert link up/down to regmap
Markus Stockhausen [Thu, 23 Apr 2026 11:34:46 +0000 (13:34 +0200)] 
realtek: eth: convert link up/down to regmap

Make use of regmap in rteth_mac_link_down and rteth_mac_link_up.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23067
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
40 hours agorealtek: eth: more regmap refactoring
Markus Stockhausen [Thu, 23 Apr 2026 11:26:49 +0000 (13:26 +0200)] 
realtek: eth: more regmap refactoring

Convert rteth_start_xmit() and rteth_hw_stop() to regmap.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23067
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
40 hours agorealtek: eth: convert rteth_XXXX_hw_stop() to regmap
Markus Stockhausen [Thu, 23 Apr 2026 11:09:07 +0000 (13:09 +0200)] 
realtek: eth: convert rteth_XXXX_hw_stop() to regmap

Use regmap in the following functions

- rteth_838x_hw_stop()
- rteth_839x_hw_stop()
- rteth_930x_hw_stop()
- rteth_931x_hw_stop()

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23067
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
41 hours agomediatek: filogic: Add new Router model ZBT-Z8106AX-S 22912/head
Jörg Seitz [Sun, 24 Aug 2025 04:51:11 +0000 (06:51 +0200)] 
mediatek: filogic: Add new Router model ZBT-Z8106AX-S

Device support for zbt-z8106ax-s

Specifications:

SoC: MediaTek MT7981B
RAM: 256MiB
Flash: Winbond SPI-NAND 128 MiB
Switch: 1 WAN, 4 LAN (Gigabit) MediaTek MT7531
Buttons: Reset
Power: DC 12V 1A
WiFi: MT7981B 2.4Ghz & 5Ghz
USB 3
M2 slot to hold LTE modem
1 nano SIM slot (user controllable)
Hardware watchdog (confirmed to work)

Router comes in a plastic tower with all antennas internal.
 - 4 antennas for LTE 4G/5G communication
 - 2 antennas for Wifi 2.4 GHz
 - 2 antennas for Wifi 5 GHz

Led Layout:

Power (green, user controllable, default set to OpenWrt Status)
Mobile (green, user controllable)
WLAN 2.4G (green, user controllable)
WLAN 5G (green, user controllable)

WAN (amber, user controllable, set to show eth1)
LAN1 (amber, hardware controlled)
LAN2 (amber, hardware controlled)
LAN3 (amber, hardware controlled)
LAN4 (amber, hardware controlled)

SIM Slot:

Controlled via exported GPIO named SIM.

echo "0" > /sys/class/gpio/sim/value
 - turns off sim slot labelled SIM

echo "1" > /sys/class/gpio/sim/value
 - turns on sim slot labelled SIM

---

Installation:

A. Through U-Boot menu:

- Prepare your connecting computer to use a static IP in
  network 192.168.1.0/24 like
  a) 192.168.1.10 netmask 255.255.255.0 (legacy notation)
  b) 192.168.1.10/24 (CIDR notation)
- Power down the router and hold in the Reset button.
- While holding in the button power up the router again.
- Hold the button in for 10 seconds and then release.
- Use your browser to go to 192.168.1.1
- If you see a GUI allowing for flashing firmware then you got the right spot.
- Upload the **Factory** image file.

Note: U-Boot GUI it can be used to recover from an incorrect firmware flash.

B. Through OpenWrt Dashboard:

If your router comes with OpenWrt preinstalled (modified by vendor),
you can easily upgrade by going to the dashboard (192.168.1.1) and
then navigate to "System" -> "Backup/Flash firmware"
Flash OpenWRT firmware.
Important: Take care to deselect (untick) option
"keep settings". Settings done by vendor are incompatible with
versions 24.10 or 25.12.

MAC Addresses:

MAC Addresses were found in Factory partition:

offset 0x4 F8:5E:3C:xx:xx:aa --> Router Label -2
offset 0xa F8:5E:3C:xx:xx:bb --> Router Label -1
offset 0x24 F8:5E:3C:xx:xx:cc --> Router Label +1
offset 0x2a F8:5E:3C:xx:xx:yy --> printed on Router Label

Hardware Watchdog:

Device features a GPIO controlled hardware watchdog.
Verfied by removing procd controlled watchdog and
seeing device rebooting.

---

Notes:
The zbt-z8106ax-s could be ordered from vendor with a variety of modems.
Mine came with a 4G LTE modem Quectel EC200A.
Quectel firmware was at EC200AEUHAR01A30M16.
Choices for ordering with 5G LTE were available.

Modem communication is set to ethernet control mode (ECM) by vendor.

Package modemmanager works fine with Quectel EC200A.
You may also decide to use FUjR/Qmodem github repository
to have it manage LTE modem.

Please take note that internal switch port named lan5 isn't
wired to LTE modem in model S as opposed to model T.
Just removing lan5 from DTS did cause unwanted reboots whenever
a cable is plugged into LAN ports 1-4. Disabling port lan5
in DTS however works fine. No unwanted reboots due to
plug/unplug cable into any lan or wan port.

Signed-off-by: Jörg Seitz <github.joeterminal@xoxy.net>
Link: https://github.com/openwrt/openwrt/pull/22912
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
41 hours agomediatek: add GL.iNET GL-MT3600BE support 22476/head
Tianling Shen [Wed, 18 Mar 2026 09:49:56 +0000 (17:49 +0800)] 
mediatek: add GL.iNET GL-MT3600BE support

Hardware specification:
  SoC: MediaTek MT7987A 4x A53
  Flash: 512 MB SPI-NAND
  RAM: 512MB DDR4
  Ethernet: 2x 2.5GbE (built-in + RTL8221B)
  WiFi: MediaTek MT7990
  USB: 1x USB 3.0 port
  Button: Mode, Reset
  Power: Type-C PD 5/9/12V

Flash instructions:
  1. Power on the device with 'reset' key pressed for 5s
  2. Set static IP on your PC:
     IP 192.168.1.10/24, GW 192.168.1.1
  3. Visit http://192.168.1.1 and upload sysupgrade.bin

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/22476
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
45 hours agomicrochipsw: use 6.18 as default and drop 6.12
Robert Marko [Fri, 24 Apr 2026 10:24:10 +0000 (12:24 +0200)] 
microchipsw: use 6.18 as default and drop 6.12

Now that 6.18 is stable there is no point in keeping 6.12 around.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2 days agorockchip: update irq affinity for RK3528 devices 21770/head
Chukun Pan [Sat, 31 Jan 2026 10:10:15 +0000 (18:10 +0800)] 
rockchip: update irq affinity for RK3528 devices

Since DW PCIe can adjust interrupts on SoC that only support
MSI, adjust the interrupt of r8169 for the RK3528 devices.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Link: https://github.com/openwrt/openwrt/pull/21770
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agogeneric: backport MSI affinity support for DW PCIe
Chukun Pan [Sun, 25 Jan 2026 15:18:02 +0000 (23:18 +0800)] 
generic: backport MSI affinity support for DW PCIe

Currently, the DesignWare PCIe driver cannot configure interrupts on
SoC that do not support MSIX. All MSI interrupts are handled by CPU0.
Backport MSI affinity support for the PCI dwc driver from linux-next,
so now we can adjust MSI interrupts to other CPU cores.

Tested on HINLINK H28K (RK3528) and OrangePi R2S (Ky X1).

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Link: https://github.com/openwrt/openwrt/pull/21770
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agowifi-scripts: ucode: add missing fields for station/vlan schema 22617/head
Rany Hany [Mon, 20 Apr 2026 09:47:26 +0000 (12:47 +0300)] 
wifi-scripts: ucode: add missing fields for station/vlan schema

This adds the missing 'iface' field for both station and VLAN.
On VLAN, we add all network_config_attr to the schema as well
per wireless.uc.

Fixes: https://github.com/openwrt/openwrt/issues/22165
Signed-off-by: Rany Hany <rany_hany@riseup.net>
Link: https://github.com/openwrt/openwrt/pull/22617
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agowifi-scripts: ucode: add bridge_isolate and network_vlan to schema
Rany Hany [Thu, 26 Mar 2026 17:16:37 +0000 (19:16 +0200)] 
wifi-scripts: ucode: add bridge_isolate and network_vlan to schema

These were missing from schema. Add them.

Fixes: https://github.com/openwrt/openwrt/issues/22620
Signed-off-by: Rany Hany <rany_hany@riseup.net>
Link: https://github.com/openwrt/openwrt/pull/22617
[Reordered attributes]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agox86: enable HYPERV_VMBUS 22860/head
Rye Sears [Thu, 9 Apr 2026 00:58:51 +0000 (00:58 +0000)] 
x86: enable HYPERV_VMBUS

enable HYPERV_VMBUS in x86/generic and x86/64.

Fixes: #22846
Signed-off-by: Rye Sears <xlighting@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22860
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agoairoha: disable afe by default for an7581 22660/head
Chukun Pan [Sat, 28 Mar 2026 08:19:20 +0000 (16:19 +0800)] 
airoha: disable afe by default for an7581

The audio should only be enabled when the sound
node is enabled. This fixes the following error:

an7581-audio 1fbe2200.afe: probe with driver an7581-audio failed with error -2

Fixes: 7b55651 ("airoha: enable I2S sound driver and add nodes for eMMC RFB board")
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Link: https://github.com/openwrt/openwrt/pull/22660
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agontfs: update to 2026-04-25 23090/head
Qingfang Deng [Sat, 25 Apr 2026 03:32:34 +0000 (11:32 +0800)] 
ntfs: update to 2026-04-25

Update to the latest version, and fix build on targets without
FS_POSIX_ACL.

Signed-off-by: Qingfang Deng <dqfext@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23090
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agoocteon: enable 6.18 testing kernel 23031/head
Andrew LaMarche [Tue, 21 Apr 2026 13:55:41 +0000 (13:55 +0000)] 
octeon: enable 6.18 testing kernel

Enable the 6.18 testing kernel for Octeon.

Signed-off-by: Andrew LaMarche <andrewjlamarche@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23031
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 days agokernel: crypto: fix build with Linux >= 6.18 after octeon-md5 removal
Andrew LaMarche [Wed, 22 Apr 2026 12:24:10 +0000 (12:24 +0000)] 
kernel: crypto: fix build with Linux >= 6.18 after octeon-md5 removal

Linux commit c9e5ac0 ("lib/crypto: mips/md5: Migrate optimized code into
library") removed the MIPS-Octeon-specific MD5 implementation
(octeon-md5.ko) and replaced it with an optimized library implementation
in lib/crypto.

As a result, CONFIG_CRYPTO_MD5_OCTEON and the module
arch/mips/crypto/octeon-md5.ko no longer exist in kernels >= 6.18.

Signed-off-by: Andrew LaMarche <andrewjlamarche@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23031
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 days agoocteon: refresh 6.18 patches
Andrew LaMarche [Tue, 21 Apr 2026 18:19:01 +0000 (18:19 +0000)] 
octeon: refresh 6.18 patches

Refresh patches for 6.18.

Signed-off-by: Andrew LaMarche <andrewjlamarche@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23031
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 days agoocteon: refresh 6.18 kernel config
Andrew LaMarche [Tue, 21 Apr 2026 14:01:57 +0000 (14:01 +0000)] 
octeon: refresh 6.18 kernel config

Add missing symbols for 6.18.

Signed-off-by: Andrew LaMarche <andrewjlamarche@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23031
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 days agokernel/octeon: restore files for v6.12
Andrew LaMarche [Tue, 21 Apr 2026 13:18:04 +0000 (13:18 +0000)] 
kernel/octeon: 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: Andrew LaMarche <andrewjlamarche@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23031
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 days agokernel/octeon: create files for v6.18 (from v6.12)
Andrew LaMarche [Tue, 21 Apr 2026 13:18:04 +0000 (13:18 +0000)] 
kernel/octeon: 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: Andrew LaMarche <andrewjlamarche@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23031
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 days agokernel: hide kmod-pppox 23077/head
Qingfang Deng [Fri, 24 Apr 2026 08:08:34 +0000 (16:08 +0800)] 
kernel: hide kmod-pppox

The pppox module is a dependency of pppoe/pptp/pppol2tp and does not
have a separate Kconfig symbol.

Signed-off-by: Qingfang Deng <dqfext@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23077
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agokernel: backport RTL8157 support to 6.18 23088/head
Aleksander Jan Bajkowski [Fri, 24 Apr 2026 20:35:44 +0000 (22:35 +0200)] 
kernel: backport RTL8157 support to 6.18

Backport support for the RTL8157. The RTL8157 is a low-cost chipset
designed for USB to 5Gb Ethernet adapters.

Tested on Sabrent NT-C5GA (RTL8157), Wavlink WL-NWU340G (RTL8157) and
UGREEN CM648 (RTL8156BG) adapters.

Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
Link: https://github.com/openwrt/openwrt/pull/23088
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agorealtek: fix SMBus Rollball access 23049/head
Jan Hoffmann [Wed, 22 Apr 2026 15:48:20 +0000 (17:48 +0200)] 
realtek: fix SMBus Rollball access

The Rollball command byte needs to be written last. Otherwise the
controller might access the wrong register or write the wrong value.

Fixes: 1fc19bc06edc ("realtek: rtl93xx: mdio-smbus support for clause 45 and Rollball SFPs")
Signed-off-by: Jan Hoffmann <jan@3e8.eu>
Link: https://github.com/openwrt/openwrt/pull/23049
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agogeneric: net: phy: realtek: don't disable MDIO address 0 for PHY in SFP module 23065/head
Jan Hoffmann [Thu, 23 Apr 2026 14:58:40 +0000 (16:58 +0200)] 
generic: net: phy: realtek: don't disable MDIO address 0 for PHY in SFP module

At least the XikeStor SKT-2.5G-100M SFP module seems to internally use
MDIO address 0 to access the PHY. This module allows accessing PHY
registers using Rollball protocol on address 0x51, and also provides
read-only C22 access on address 0x56. However, after disabling the
PHYAD0 configuration bit, only 0xffff can be read via both methods
(except for MMD device 30 which can still be accessed).

Since having MDIO address 0 enabled shouldn't do any harm on SFP modules
just leave the configuration bit alone in that case.

Signed-off-by: Jan Hoffmann <jan@3e8.eu>
Link: https://github.com/openwrt/openwrt/pull/23065
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agorealtek: mdio: fix "SMY" typo 23070/head
Markus Stockhausen [Thu, 23 Apr 2026 20:32:08 +0000 (22:32 +0200)] 
realtek: mdio: fix "SMY" typo

The defines should have been named SMI like everywhere else.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23070
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agorealtek: mdio: harden defines
Markus Stockhausen [Thu, 23 Apr 2026 20:30:04 +0000 (22:30 +0200)] 
realtek: mdio: harden defines

Add brackets to avoid silent bugs.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23070
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agokernel: rtl8261n: add post-reset MDIO stabilization delay 23076/head
Jonas Jelonek [Fri, 24 Apr 2026 09:07:34 +0000 (11:07 +0200)] 
kernel: rtl8261n: add post-reset MDIO stabilization delay

After the RTL8261N asserts a reset, the MDIO bus becomes temporarily
unavailable during the chip's reinitialization sequence. Any subsequent
read or write issued before the PHY has stabilized will fail.

Add a 30ms delay after triggering the reset to ensure the chip is reachable
via MDIO before resuming communication.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Link: https://github.com/openwrt/openwrt/pull/23076
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agokernel: rtl8261n: always configure as USXGMII
Sven Eckelmann [Fri, 24 Apr 2026 06:50:21 +0000 (08:50 +0200)] 
kernel: rtl8261n: always configure as USXGMII

In the past, all the configuration of SerDes and PHYs on the realtek
switches were done  using u-boot (`rtk init`). But since RTL930x switched
to SerDes configuration under Linux, the SoC side is no longer using the
Realtek-proprietary variant of USXGMII. The communication to the RTL8261N
PHYs on those switches broke because of this incompatibility.

Enabling the full initialization on `CONFIG_MACH_REALTEK_RTL` converts also
the PHY side to the standard USXGMII and therefore ensures that both sides
speak the same dialect.

Co-authored-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Link: https://github.com/openwrt/openwrt/pull/23076
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agokernel: rtl8261n: drop unreachable PHY register patch
Sven Eckelmann [Fri, 24 Apr 2026 06:50:21 +0000 (08:50 +0200)] 
kernel: rtl8261n: drop unreachable PHY register patch

The PHY register patch in question is gated by `CONFIG_MACH_REALTEK_RTL`,
has no documented/expected behavior, and is in practice unreachable:
`phy_patch()` is only called from `rtkphy_config_init()`, which is exits
(too) early for `CONFIG_MACH_REALTEK_RTL` builds.

Remove it as a cleanup step before enabling standard USXGMII configuration
for these PHYs.

Fixes: b77fa45d1278 ("kernel: fix rtl8261n driver for realtek")
Co-authored-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Link: https://github.com/openwrt/openwrt/pull/23076
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 days agowolfssl: update to 5.9.1 23072/head
Sander van Deijck [Fri, 24 Apr 2026 00:43:03 +0000 (02:43 +0200)] 
wolfssl: update to 5.9.1

For changes, see:
https://github.com/wolfSSL/wolfssl/releases/tag/v5.9.1-stable

This includes a fix for a critical (CVSS 9.3) vulnerability:
https://github.com/advisories/GHSA-f5h9-5q52-qrx7

Signed-off-by: Sander van Deijck <sander@vandeijck.com>
Link: https://github.com/openwrt/openwrt/pull/23072
Signed-off-by: Nick Hainke <vincent@systemli.org>
4 days agomediatek: drop v6.12 and default to v6.18 22970/head
Daniel Golle [Fri, 17 Apr 2026 13:42:20 +0000 (14:42 +0100)] 
mediatek: drop v6.12 and default to v6.18

Switch to kernel v6.18 and drop v6.12.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 days agorealtek: rtl930x: add Hasivo S600WP-5GT-2SX-SE 22310/head
Carlo Szelinsky [Sat, 11 Apr 2026 15:11:25 +0000 (17:11 +0200)] 
realtek: rtl930x: add Hasivo S600WP-5GT-2SX-SE

This commit adds support for Hasivo S600WP-5GT-2SX-SE switch.

Device specification
--------------------
SoC Type:               Realtek RTL9303
RAM:                    128MB DDR3 SDRAM
Flash:                  Fudan FM25Q128A (16 MB)
Ethernet:               5x RTL8221B 10/100/1000/2500Mbps PHY (RJ45)
                        2x SFP+ 10G (I2C/DOM via bit-banged GPIO)
LEDs:                   1x power green (no control)
                        1x system green (via RTL9303 GPIO)
                        3x RJ45 LEDs/port (HC595 shift regs on LED SPI)
                                1x Green (1G link)
                                1x Green (10M/100M link)
                                1x Orange (2.5G link)
                        2x SFP+ LEDs/port (HC595 shift regs on LED SPI)
                                1x 10G link
                                1x 1G link
Button:                 Reset
USB ports:              None
Bootloader:             Realtek U-Boot 2011.12
PoE:                    1x HS104PTI for 802.3af/at/bt PoE (driver
                        will follow in a separate patch)

Installing OpenWrt
------------------
1. UART RJ45 requires soldering a connector to the empty footprint (RJ1).
   (Amphenol RJHSEE380 or similar)
2. Connect to UART 38400@8n1, using Cisco Console Rollover cable (RS232)
3. Enter bootloader by pressing esc key during boot
4. Enter password `Hs2021cfgmg`
5. Type `XXXX` to get into U-Boot
6. Increase baudrate: `setenv baudrate 115200`
7. Use serial transfer (Y modem) via minicom:
   `loady 0x84f00000`
   Then send the initramfs image via minicom's Y modem upload.
8. `bootm 0x84f00000`

Now you should be in OpenWrt, and can use sysupgrade to install.

Signed-off-by: Carlo Szelinsky <github@szelinsky.de>
Link: https://github.com/openwrt/openwrt/pull/22310
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agoutil-linux: fix build on Linux v6.18 against musl 23059/head
Thomas Weißschuh [Thu, 23 Apr 2026 09:27:03 +0000 (11:27 +0200)] 
util-linux: fix build on Linux v6.18 against musl

Backport an upstream patch to avoid usages of an undefined
AT_HANDLE_FID.

Closes: https://github.com/openwrt/openwrt/issues/23058
Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
Link: https://github.com/openwrt/openwrt/pull/23059
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agorealtek: pcs: switch SerDes polarity to {rx,tx}-polarity 23044/head
Jonas Jelonek [Wed, 22 Apr 2026 08:33:56 +0000 (08:33 +0000)] 
realtek: pcs: switch SerDes polarity to {rx,tx}-polarity

With the recent backport of the common PHY properties infrastructure
(phy-common-props and the phy_get_manual_{rx,tx}_polarity() helpers) to
OpenWrt, the generic `{rx,tx}-polarity` device tree properties are now
usable for the Realtek PCS driver. Switch the driver and all affected
boards from the local vendor-specific `realtek,pnswap-{rx,tx}` booleans
to the common properties.

Add a `config_polarity` SerDes op (implemented by RTL930x and RTL931x;
RTL838x/RTL839x polarity support not yet added) and a generic wrapper
that resolves the requested polarity via phy_get_manual_{rx,tx}_polarity()
and dispatches to the op. Variants without the op silently accept the
default polarity but warn when a non-default polarity is requested,
since that cannot be honored.

Move the polarity programming out of the variant setup_serdes callbacks
into rtpcs_pcs_config, so it runs before setup_serdes. This matches the
ordering used by the vendor SDK, which configures polarity first.

Update all board DTS files that previously used `realtek,pnswap-{rx,tx}`
to the new `{rx,tx}-polarity = <PHY_POL_INVERT>` property, and select
PHY_COMMON_PROPS from Kconfig.

Each SerDes now retains its DT node for later polarity lookup. Use
for_each_child_of_node_scoped for the iterator, and register a
devm_add_action_or_reset for each stored reference so it is released on
unbind or probe failure.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23044
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agorealtek: eth: harden receive path 22884/head
Markus Stockhausen [Fri, 10 Apr 2026 20:02:59 +0000 (22:02 +0200)] 
realtek: eth: harden receive path

The hardware usually takes care that

- a packet is no larger than the available buffer
- has at least a FCS checksum of 4 bytes

Nevertheless be cautious and improve the existing
packet check. Just in case ...

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22884
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agosunxi: enable 6.18 testing kernel
Zoltan HERPAI [Thu, 5 Feb 2026 14:13:00 +0000 (14:13 +0000)] 
sunxi: enable 6.18 testing kernel

The sunxi target now supports 6.18 kernel as testing.

Tested on:
 - Linksprite pcDuino2 (cortexa8/a10)
 - Olimex Olinuxino A20 Micro (cortexa7/a20)
 - OrangePi 2 (cortexa7/h3)
 - OrangePi Zero2 (cortexa53/h616)

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
4 days agosunxi: 6.18: refresh patches
Zoltan HERPAI [Thu, 5 Feb 2026 15:35:54 +0000 (15:35 +0000)] 
sunxi: 6.18: refresh patches

Refresh patches as required.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
4 days agosunxi: 6.18: add missing symbols
Zoltan HERPAI [Thu, 5 Feb 2026 15:27:47 +0000 (15:27 +0000)] 
sunxi: 6.18: add missing symbols

Add sunxi-related missing symbols that were found during 6.18 migration, and
reorder configs.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
4 days agokernel/sunxi: restore files for v6.12
Zoltan HERPAI [Thu, 25 Dec 2025 23:11:00 +0000 (23:11 +0000)] 
kernel/sunxi: 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: Zoltan HERPAI <wigyori@uid0.hu>
4 days agokernel/sunxi: create files for v6.18 (from v6.12)
Zoltan HERPAI [Thu, 25 Dec 2025 23:10:59 +0000 (23:10 +0000)] 
kernel/sunxi: 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: Zoltan HERPAI <wigyori@uid0.hu>
4 days agobase-files: ipcalc.sh: get rid of `basename` dependency 23060/head
Andre Heider [Thu, 23 Apr 2026 08:38:06 +0000 (10:38 +0200)] 
base-files: ipcalc.sh: get rid of `basename` dependency

The netifd/dhcp flow uses this, and as uxc mounts netifd in a
container, this allows not mounting `basename` for just a usage.

References: https://github.com/openwrt/procd/pull/34
Suggested-by: Daniel Golle <daniel@makrotopia.org>
Signed-off-by: Andre Heider <a.heider@gmail.com>
4 days agomvebu: use libdeflate for gzip 23054/head
Rosen Penev [Sun, 19 Apr 2026 21:43:58 +0000 (14:43 -0700)] 
mvebu: use libdeflate for gzip

Small size reduction.

Tested with Turris Omnia.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23054
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agoairoha: an7581: fix default package selection for Kite EVB device
Christian Marangi [Thu, 23 Apr 2026 15:04:33 +0000 (17:04 +0200)] 
airoha: an7581: fix default package selection for Kite EVB device

The Kite EVB device wrongly select an invalid package for NPU firmware
where the correct one should be the airoha-en7581-npu-firmware one.

Fix the wrong package to restore compilation of the Airoha target.

Fixes: 0cf516751af3 ("airoha: an7581: generalize eMMC DTS and add Kite variant")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
5 days agofirmware: better specify the supported WiFi chip for basic AN7581 NPU FW
Christian Marangi [Thu, 23 Apr 2026 15:01:09 +0000 (17:01 +0200)] 
firmware: better specify the supported WiFi chip for basic AN7581 NPU FW

The basic AN7581 NPU FW also supports WiFi offload for MT7992 WiFi chip.
Add this information in the package description to clarify this.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
5 days agox86: drop 6.12 support 22893/head
Mieczyslaw Nalewaj [Sat, 11 Apr 2026 20:59:01 +0000 (22:59 +0200)] 
x86: drop 6.12 support

Drop patches and configs for Linux 6.12.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/22893
Signed-off-by: Nick Hainke <vincent@systemli.org>
5 days agox86: use kernel 6.18 by default
Mieczyslaw Nalewaj [Sat, 11 Apr 2026 20:53:30 +0000 (22:53 +0200)] 
x86: 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/22893
Signed-off-by: Nick Hainke <vincent@systemli.org>
5 days agolantiq: enable 6.18 testing kernel 22922/head
Shiji Yang [Sat, 11 Apr 2026 00:52:16 +0000 (08:52 +0800)] 
lantiq: enable 6.18 testing kernel

The 6.18 testing kernel for lantiq target is ready now.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22922
Signed-off-by: Nick Hainke <vincent@systemli.org>
5 days agolantiq: update kmod-dsa-gswip module .ko path
Shiji Yang [Mon, 13 Apr 2026 12:32:35 +0000 (20:32 +0800)] 
lantiq: update kmod-dsa-gswip module .ko path

The source files were moved into dedicated directory.

Link: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.18.y&id=cb477c30512db29325c0503ba96a6158a61b7e7c
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22922
Signed-off-by: Nick Hainke <vincent@systemli.org>
5 days agolantiq: adapt to the 6.18 kernel to fix build errors
Shiji Yang [Thu, 16 Apr 2026 10:59:58 +0000 (18:59 +0800)] 
lantiq: adapt to the 6.18 kernel to fix build errors

devm_gpio_request() was removed since kernel 6.17. Convert it to
devm_gpio_request_one().

Link: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.18.y&id=a5589313383074c48a1b3751d592a6e084ae0573
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22922
Signed-off-by: Nick Hainke <vincent@systemli.org>
5 days agolantiq: refresh 6.18 kernel config files
Shiji Yang [Fri, 10 Apr 2026 15:07:02 +0000 (23:07 +0800)] 
lantiq: refresh 6.18 kernel config files

CONFIG_PAGE_BLOCK_MAX_ORDER was set to 10 as the page size is 4k.

All other kernel symbols are automatically refreshed by
`make kernel_oldconfig CONFIG_TARGET=target` and
`make kernel_oldconfig CONFIG_TARGET=subtarget`.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22922
Signed-off-by: Nick Hainke <vincent@systemli.org>
5 days agolantiq: refresh 6.18 kernel patches
Shiji Yang [Fri, 10 Apr 2026 15:06:46 +0000 (23:06 +0800)] 
lantiq: refresh 6.18 kernel patches

Manually resolve the patch conflicts on new LTS kernel.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22922
Signed-off-by: Nick Hainke <vincent@systemli.org>
5 days agolantiq: remove upstreamed patches
Shiji Yang [Fri, 10 Apr 2026 14:23:48 +0000 (22:23 +0800)] 
lantiq: remove upstreamed patches

They are included in the 6.18 kernel.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22922
Signed-off-by: Nick Hainke <vincent@systemli.org>
5 days agolantiq: restore kernel 6.12 config files and patches
Shiji Yang [Fri, 10 Apr 2026 14:21:15 +0000 (22:21 +0800)] 
lantiq: restore kernel 6.12 config files and patches

Copy patches and kernel configs from 6.18 kernel to restore the
default 6.12 kernel support files.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22922
Signed-off-by: Nick Hainke <vincent@systemli.org>
5 days agolantiq: rename patchset and kernel configs to 6.18
Shiji Yang [Fri, 10 Apr 2026 14:20:11 +0000 (22:20 +0800)] 
lantiq: rename patchset and kernel configs to 6.18

This is a preparation for 6.18 kernel support. It can help us
track the files history by using the Git tool.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22922
Signed-off-by: Nick Hainke <vincent@systemli.org>
5 days agomodules: video: introduce DRM client setup module
Zoltan HERPAI [Fri, 17 Apr 2026 16:06:09 +0000 (18:06 +0200)] 
modules: video: introduce DRM client setup module

6.14 has introduced a DRM client setup library. Add kmod-drm-client-lib
to support it, and add it as a dependency to DRM modules which depend on it.

Link: https://github.com/openwrt/openwrt/pull/22975
Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
5 days agoath79: add support for MikroTik RouterBOARD 960PGS 22164/head
Oskari Lemmela [Fri, 19 Nov 2021 05:36:22 +0000 (07:36 +0200)] 
ath79: add support for MikroTik RouterBOARD 960PGS

This patch adds support for the MikroTik RouterBOARD 960PGS (hEX
PoE/PowerBox Pro) router. The device has a USB 2.0 port and an SFP port for
adding optical fiber connectivity. The ports 2-5 can power other PoE
capable devices with the same voltage as applied to the unit.

Specifications:

- SoC: Qualcomm Atheros QCA9557
- Flash: 16 MB (SPI)
- RAM: 128 MB
- 1x Ethernet SFP: 1000
- 1x Ethernet RJ45: 10/100/1000 port with passive POE in
- 4x Ethernet RJ45: 10/100/1000 ports with 802.3af/at PoE out
- 1x USB 2.0 host port
- 1x reset button

See [1] and [2] for more details.

Flashing:
TFTP boot initramfs image and then perform sysupgrade. Follow common
MikroTik procedure as in https://openwrt.org/toh/mikrotik/common.

Link: https://mikrotik.com/product/RB960PGS
Link: https://mikrotik.com/product/RB960PGS-PB
Signed-off-by: Oskari Lemmela <oskari@lemmela.net>
Signed-off-by: Chester A. Unal <chester.a.unal@arinc9.com>