]> git.ipfire.org Git - thirdparty/openwrt.git/log
thirdparty/openwrt.git
6 hours agogeneric: 6.18: import some SFP quirks main master 23032/head
Daniel Golle [Tue, 21 Apr 2026 14:38:16 +0000 (15:38 +0100)] 
generic: 6.18: import some SFP quirks

Import upstream and pending patches implementing SFP quirks.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
6 hours agogeneric: 6.18: import updated standalone PCS handling
Daniel Golle [Tue, 21 Apr 2026 02:26:14 +0000 (03:26 +0100)] 
generic: 6.18: import updated standalone PCS handling

Import pending series introducing support for standalone PCS drivers.

This has previously already been used by the airoha target, and is
also the base for the closer-to-upstream patches for MediaTek MT7988
10G SerDes support.

In order to not having to diverge from upstream also backport series
for standardized handling for PHY and PCS SerDes pair polarity.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
8 hours agompc85xx: enable 6.18 testing kernel 22732/head
Nick Hainke [Sat, 11 Apr 2026 18:32:44 +0000 (20:32 +0200)] 
mpc85xx: enable 6.18 testing kernel

The mpc85xx now supports 6.18 kernel as testing.

Link: https://github.com/openwrt/openwrt/pull/22732
Signed-off-by: Nick Hainke <vincent@systemli.org>
8 hours agokernel: other: fix ptp-qoriq build with Linux >= 6.18
Nick Hainke [Sun, 12 Apr 2026 11:23:15 +0000 (13:23 +0200)] 
kernel: other: fix ptp-qoriq build with Linux >= 6.18

Linux renamed ptp-qoriq.ko to ptp_qoriq.ko in 6.18.

Link: https://github.com/openwrt/openwrt/pull/22732
Signed-off-by: Nick Hainke <vincent@systemli.org>
8 hours agokenrel: crypto: fix build with Linux >= 6.18 after md5-ppc removal
Nick Hainke [Thu, 2 Apr 2026 15:57:40 +0000 (17:57 +0200)] 
kenrel: crypto: fix build with Linux >= 6.18 after md5-ppc removal

Linux commit 09371e1349c9 ("lib/crypto: powerpc/md5: Migrate optimized code into library")
removed the PowerPC-specific MD5 implementation (md5-ppc.ko) and
replaced it with an optimized library implementation in lib/crypto.

As a result, CONFIG_CRYPTO_MD5_PPC and the module
arch/powerpc/crypto/md5-ppc.ko no longer exist in kernels >= 6.18.

Link: https://github.com/openwrt/openwrt/pull/22732
Signed-off-by: Nick Hainke <vincent@systemli.org>
8 hours agompc85xx: 6.18: update kernel symbols
Nick Hainke [Wed, 1 Apr 2026 19:01:37 +0000 (21:01 +0200)] 
mpc85xx: 6.18: update kernel symbols

Add required 6.18 kernel symbols. Also update kernel config by running
make kernel_oldconfig.

Link: https://github.com/openwrt/openwrt/pull/22732
Signed-off-by: Nick Hainke <vincent@systemli.org>
8 hours agompc85xx: 6.18: refresh patches
Nick Hainke [Wed, 1 Apr 2026 18:33:50 +0000 (20:33 +0200)] 
mpc85xx: 6.18: refresh patches

Refresh patches for the 6.18 kernel.

Link: https://github.com/openwrt/openwrt/pull/22732
Signed-off-by: Nick Hainke <vincent@systemli.org>
8 hours agokernel/mpc85xx: restore files for v6.12
Nick Hainke [Sat, 11 Apr 2026 09:56:05 +0000 (11:56 +0200)] 
kernel/mpc85xx: 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

Link: https://github.com/openwrt/openwrt/pull/22732
Signed-off-by: Nick Hainke <vincent@systemli.org>
8 hours agokernel/mpc85xx: create files for v6.18 (from v6.12)
Nick Hainke [Sat, 11 Apr 2026 09:56:04 +0000 (11:56 +0200)] 
kernel/mpc85xx: create files for v6.18 (from v6.12)

This is an automatically generated commit.

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

Link: https://github.com/openwrt/openwrt/pull/22732
Signed-off-by: Nick Hainke <vincent@systemli.org>
10 hours agod1: drop support for 6.12
Zoltan HERPAI [Tue, 21 Apr 2026 13:26:29 +0000 (13:26 +0000)] 
d1: drop support for 6.12

Drop support for 6.12 by removing config and patches.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
10 hours agod1: switch to 6.18
Zoltan HERPAI [Tue, 21 Apr 2026 13:25:54 +0000 (13:25 +0000)] 
d1: switch to 6.18

Make 6.18 the default kernel.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
10 hours agod1: add proper overlay support
Zoltan HERPAI [Tue, 21 Apr 2026 13:23:49 +0000 (13:23 +0000)] 
d1: add proper overlay support

Add f2fs support into the kernel, otherwise the overlay f2fs
will not be created.

[    7.611817] loop0: detected capacity change from 0 to 212992
[    7.638471] loop0: detected capacity change from 212992 to 206208
[    7.757259] mount_root: failed to mount -t f2fs /dev/loop0 /tmp/overlay: No such device

Fixes: https://github.com/openwrt/openwrt/commit/1e7950a45de593354a508d80a39951b440336ab7
Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
11 hours agostarfive: enable 6.18 testing kernel
Zhihao Xu [Tue, 17 Feb 2026 12:11:44 +0000 (20:11 +0800)] 
starfive: enable 6.18 testing kernel

Enable 6.18 as testing kernel.

Link: https://github.com/openwrt/openwrt/pull/22063
Signed-off-by: Zhihao Xu <ngc7331@outlook.com>
[Tested on VF1/VF2:]
Tested-by: Zoltan HERPAI <wigyori@uid0.hu>
11 hours agostarfive: update kernel symbols for v6.18
Zhihao Xu [Tue, 17 Feb 2026 12:11:47 +0000 (20:11 +0800)] 
starfive: update kernel symbols for v6.18

Drop symbols removed in Linux 6.18 and add newly introduced symbols.

Also handle symbols that are moved out of or into the generic:
- `#CONFIG_ARCH_SOPHGO is not set` is moved into generic [1]

[1] https://github.com/openwrt/openwrt/commit/d3bf8ada022f0dc997e52e6a9d948a6ef05dc230

Signed-off-by: Zhihao Xu <ngc7331@outlook.com>
11 hours agostarfive: refresh e24 driver patch for v6.18
Zhihao Xu [Tue, 17 Feb 2026 12:11:48 +0000 (20:11 +0800)] 
starfive: refresh e24 driver patch for v6.18

- Use ida_alloc(), ida_free() api instead of old ida_simple_* [1], [2]

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=5ade60dda43c8906d4554374226c2eb11cc2ffba
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=c8a09fc9664f79eeb66cdf4a2a34d5b6a239b727

Signed-off-by: Zhihao Xu <ngc7331@outlook.com>
11 hours agostarfive: refresh patches for v6.18
Zhihao Xu [Tue, 17 Feb 2026 12:11:46 +0000 (20:11 +0800)] 
starfive: refresh patches for v6.18

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

Signed-off-by: Zhihao Xu <ngc7331@outlook.com>
11 hours agostarfive: manually refresh patches for v6.18
Zhihao Xu [Tue, 17 Feb 2026 12:11:45 +0000 (20:11 +0800)] 
starfive: manually refresh patches for v6.18

Manually refresh patches:
- 0004-spi-spl022-Get-and-deassert-reset-in-probe.patch
- 0007-driver-mailbox-Add-mailbox-driver.patch
- 0009-uart-8250-Add-dw-auto-flow-ctrl-support.patch
- 0013-drivers-nvme-Add-precheck-and-delay-for-CQE-pending-.patch
- 0014-riscv-Optimize-memcpy-with-aligned-version.patch

Signed-off-by: Zhihao Xu <ngc7331@outlook.com>
11 hours agokernel/starfive: restore files for v6.12
Zhihao Xu [Tue, 17 Feb 2026 12:11:40 +0000 (20:11 +0800)] 
kernel/starfive: 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: Zhihao Xu <ngc7331@outlook.com>
11 hours agokernel/starfive: create files for v6.18 (from v6.12)
Zhihao Xu [Tue, 17 Feb 2026 12:11:24 +0000 (20:11 +0800)] 
kernel/starfive: 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: Zhihao Xu <ngc7331@outlook.com>
12 hours agoscripts: add git_commit to profiles.json
Paul Spooren [Mon, 20 Apr 2026 11:46:13 +0000 (19:46 +0800)] 
scripts: add git_commit to profiles.json

Right now we only have the special getver.sh output (i.e. r32802-f505120278)
instead of the actual, full git hash. Offer the full hash for downstream
tooling, specifically the KernelCI.

Signed-off-by: Paul Spooren <mail@aparcar.org>
15 hours agomediatek: fix MAC address assignment for ZBT Z8102AX V2 23016/head
Xiao Qian [Mon, 20 Apr 2026 09:09:27 +0000 (17:09 +0800)] 
mediatek: fix MAC address assignment for ZBT Z8102AX V2

label: f8:5e:3c:99:95:c0

wifi-2.4G f8 5e 3c 99 95 be
wifi-5.8G f8 5e 3c 99 95 bf
eth0-lan  f8 5e 3c 99 95 c0
eth1-wan  f8 5e 3c 99 95 c1

:~# hexdump -C /dev/mtd2 | more
00000000  81 79 00 00 f8 5e 3c 99  95 be f8 5e 3c 99 95 bf  |.y...^<....^<...|
00000010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000020  00 00 00 00 f8 5e 3c 99  95 c1 f8 5e 3c 99 95 c0  |.....^<....^<...|
00000030  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|

Signed-off-by: Xiao Qian <qxooqx@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23016
Signed-off-by: Robert Marko <robimarko@gmail.com>
15 hours agorealtek: eth: regmap refactoring 23006/head
Markus Stockhausen [Sun, 19 Apr 2026 09:30:58 +0000 (11:30 +0200)] 
realtek: eth: regmap refactoring

Refactor rteth_hw_ring_setup() and rteth_839x_hw_en_rxtx().

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23006
Signed-off-by: Robert Marko <robimarko@gmail.com>
15 hours agorealtek: eth: regmap refactoring
Markus Stockhausen [Sun, 19 Apr 2026 09:20:22 +0000 (11:20 +0200)] 
realtek: eth: regmap refactoring

Refactor rteth_setup_cpu_rx_rings() and rteth_838x_hw_en_rxtx().

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23006
Signed-off-by: Robert Marko <robimarko@gmail.com>
32 hours agouboot-at91: fix wrong BUILD_DEVICES for sama5d4_xplained_nandflash
Cerrone Diamant [Mon, 20 Apr 2026 14:07:14 +0000 (16:07 +0200)] 
uboot-at91: fix wrong BUILD_DEVICES for sama5d4_xplained_nandflash

The sama5d4_xplained_nandflash target incorrectly references microchip_sama5d3-xplained as its BUILD_DEVICES value.

This appears to be a copy-paste error, as all other SAMA5D4 Xplained targets (e.g. mmc and spiflash) correctly use microchip_sama5d4-xplained. The target name itself also clearly refers to the SAMA5D4 platform.

In addition, the SAMA5D3 Xplained and SAMA5D4 Xplained boards use different NAND flash hardware and configurations, so pointing the nandflash target to a SAMA5D3 device is incorrect and may lead to invalid builds or runtime issues.

Fix the inconsistency by updating BUILD_DEVICES to microchip_sama5d4-xplained, aligning the nandflash target with the rest of the SAMA5D4 definitions and ensuring the correct device mapping.

Signed-off-by: Cerrone Diamant <cerrone@tutamail.com>
Link: https://github.com/openwrt/openwrt/pull/23022
Signed-off-by: Robert Marko <robimarko@gmail.com>
34 hours agogeneric: 6.18: drop stale hunk of Filogic SerDes patch
Daniel Pawlik [Mon, 20 Apr 2026 11:29:29 +0000 (13:29 +0200)] 
generic: 6.18: drop stale hunk of Filogic SerDes patch

Daniel Pawlik figured out that a stale patch hunk breaks one of the
two 10G SerDes PCS ports of MT7988. Remove the hunk to make 10G
Ethernet work on both SerDes PCS with Linux 6.18.

Testing was done using a Aquantia AQR113C SFP+ module.

Signed-off-by: Daniel Pawlik <pawlik.dan@gmail.com>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
39 hours agorealtek: add support for Zyxel XS1930-12HP 22909/head
Jonas Jelonek [Sun, 4 Jan 2026 21:04:53 +0000 (21:04 +0000)] 
realtek: add support for Zyxel XS1930-12HP

Add support for RTL9313-based Zyxel XS1930-12HP, a 12-port Multi-Gig
switch with 10x 100M/1G/2.5G/5G/10G RJ45 and 2x 1G/10G SFP+ ports.

Hardware
========

  - RTL9313 SoC
  - 256MiB DDR3 RAM (Winbond W632GU6MB)
  - 32MiB SPI-NOR Flash (Macronix MX25L25645G)
  - 8x 100M/1G/2.5G/5G/10G RJ45 (Aquantia AQR813)
  - 2x 100M/1G/2.5G/5G/10G RJ45 (2x Aquantia AQR113C)
  - 2x 1G/10G SFP+
  - PoE:
    - Ports 1-8 with PoE++/802.3bt
    - 2x RTL8239 + GigaDevice FD32F103 MCU
  - RTL8231 for port LEDs
  - LM96000 I2C hardware monitor
  - 3-pin fans
  - Front LEDs: PWR, SYS, CLOUD, LOCATOR, POE USAGE
  - Console: TTL 3.3V, 115200 8N1
  - Software chain:
    - Bootbase/stripped-down U-Boot
    - BootExt
    - RAS/ZyNOS

Console
=======

The console port is a 4-pin header reachable without opening case.
Looking at the front port-side of the device, turn the device 90 degrees
clockwise. On this side, there's a rectangular opening in the honeycomb
structure. Pinout is (from left/front to right/back): GND RX TX VCC

Hardware quirks
===============

* The SFP signals RX_LOS, MOD_ABS and TX_FAULT do not have dedicated GPIO
  lines each. Instead, there's a multiplexer (using GPIO12 and GPIO14)
  which - depending on its state - connect this single GPIO line to RX_LOS,
  MOD_ABS or TX_FAULT (GPIO19 for SFP1, GPIO27 for SFP2). This requires
  a special adapter driver (which is backed by a gpio-mux) that makes
  this hardware design and Linux' SFP core work together.

* SFP slots are disabled by default. GPIO6 and GPIO7 seems to be gates
  for SFP1 and SFP2 respectively. The need to be pulled low to make SFP
  modules work (i.e. respond to I2C requests and pass GPIO signals).

* Fan can only be set to SLOW or FAST mode, no real speed/PWM control.

Disclaimer
==========

PoE not yet supported.

Flashing OpenWrt will overwrite BootExtension + ZyNOS. BootExtension
functionality (e.g. initramfs boot as mentioned below) is not available
anymore then. The U-boot/Bootbase still has some limited functionality
which can be used in emergency cases.

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

Simple web upgrade:

1. Take the OpenWrt factory.bin image generated by the build.

2. In the ZyNOS web UI, login and go to Maintenance -> Firmware Upgrade.

3. Under "Boot Image", make sure the Config Boot Image is set to 1. In
   other words, make sure the switch booted from firmware image 1 or it
   will do so on next reboot.
   This is crucial, otherwise OpenWrt cannot boot.

4. Below, select and upload the factory.bin image. After clicking
   upgrade, the image will be flashed.

5. After flashing has finished, reboot the switch. It will now boot into
   OpenWrt.

Initramfs boot
==============

NOTE: You need to use Xmodem transfer, the bootloader doesn't support
      Ymodem nor any networking.
      This only works as long as the default ZyNOS firmware is
      installed.

1. Connect to the switch using serial and interrupt the boot process
   to enter debug/recovery mode.

2. You need to unlock the bootloader. Use known methods [1] and [2] to
   obtain the unlock code and unlock the bootloader with:

   > ATEN 1,<unlock_code>

3. Upload the initramfs image using Xmodem:

   > ATUP <address>,<file_length>

   <address>: you may use any RAM address >= 0x80300000
   <file_length>: length of image in bytes

4. After the transfer has finished, boot the image with:

   > ATGO <address>

5. Wait for OpenWrt to boot. At this stage, it might be wise to create a
   backup/dump of the Flash partitions.

Return to stock firmware
========================

1. Download the firmware for the switch from Zyxel website.

2. Unzip the download, there should be a .bin file with a alphanumeric
   name.

3. Upload this file to running OpenWrt.

4. Run (use -F since the image doesn't have image metadata):

   > sysupgrade -F <stock-firmware>.bin

5. Wait for the sysupgrade to succeed and the switch reboot. At the next
   boot, ZyNOS should come up again.

Recovery
========

The Bootbase loader is actually a modified U-Boot variant. You can enter
it by spamming $ during the DRAM test.

The U-Boot shell can be unlocked with [1] and [2]. Note that the command
is slightly different, using a space instead of a comma, and lowercase:

> aten 1 <unlock_code>

You should now have more-or-less a standard RTK-U-boot shell from where
you can upload and write a new image to flash. Use e.g.:

> upgradeY image2 81000000 115200

Wait for the upgrade process to finish and reboot the switch.

===
[1] https://akao.co.uk/tools/zyxel_unlocker/
[2] https://www.ixo.de/info/zyxel_uclinux/

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22909
Signed-off-by: Robert Marko <robimarko@gmail.com>
39 hours agorealtek: add support for Zyxel XS1930-12F
Jonas Jelonek [Sat, 22 Nov 2025 23:09:23 +0000 (23:09 +0000)] 
realtek: add support for Zyxel XS1930-12F

Add support for RTL9313-based Zyxel XS1930-12F, a 12-port Multi-Gig
switch with 8x 1G/10G SFP+ ports and 2x 100M/1G/2.5G/5G/10G RJ45.

Hardware
========

  - RTL9313 SoC
  - 256MiB DDR3 RAM (Nanya NT5CC128M16JR-EK)
  - 32MiB SPI-NOR Flash (Macronix MX25L25645G)
  - 10x 1G/10G SFP+
  - 2x 100M/1G/2.5G/5G/10G RJ45 (2x Aquantia AQR113C)
  - 2x RTL8231 for GPIO expansion + port LEDs
  - TI PM555 GPIO expander
  - LM96000 I2C hardware monitor
  - 3-pin fan
  - Front LEDs: PWR, SYS, CLOUD, LOCATOR
  - Console: TTL 3.3V, 115200 8N1
  - Software chain:
    - Bootbase/stripped-down U-Boot
    - BootExt
    - RAS/ZyNOS

Console
=======

The console port is a 4-pin header reachable without opening case.
Looking at the front port-side of the device, turn the device 90 degrees
clockwise. On this side, there's a rectangular opening in the honeycomb
structure. Pinout is (from left/front to right/back): GND RX TX VCC

Hardware quirks
===============

* SFP slots are disabled by default. Several GPIO lines on the PM555
  GPIO expander need to be pulled low to activate SFPs, one for each SFP
  slot. Otherwise modules cannot respond to I2C requests and GPIO signals
  do not reach the SoC.

* Fan can only be set to SLOW or FAST mode, no real speed/PWM control.

Disclaimer
==========

Flashing OpenWrt will overwrite BootExtension + ZyNOS. BootExtension
functionality (e.g. initramfs boot as mentioned below) is not available
anymore then. The U-boot/Bootbase still has some limited functionality
which can be used in emergency cases.

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

Simple web upgrade:

1. Take the OpenWrt factory.bin image generated by the build.

2. In the ZyNOS web UI, login and go to Maintenance -> Firmware Upgrade.

3. Under "Boot Image", make sure the Config Boot Image is set to 1. In
   other words, make sure the switch booted from firmware image 1 or it
   will do so on next reboot.
   This is crucial, otherwise OpenWrt cannot boot.

4. Below, select and upload the factory.bin image. After clicking
   upgrade, the image will be flashed.

5. After flashing has finished, reboot the switch. It will now boot into
   OpenWrt.

Initramfs boot
==============

NOTE: You need to use Xmodem transfer, the bootloader doesn't support
      Ymodem nor any networking.
      This only works as long as the default ZyNOS firmware is
      installed.

1. Connect to the switch using serial and interrupt the boot process
   to enter debug/recovery mode.

2. You need to unlock the bootloader. Use known methods [1] and [2] to
   obtain the unlock code and unlock the bootloader with:

   > ATEN 1,<unlock_code>

3. Upload the initramfs image using Xmodem:

   > ATUP <address>,<file_length>

   <address>: you may use any RAM address >= 0x80300000
   <file_length>: length of image in bytes

4. After the transfer has finished, boot the image with:

   > ATGO <address>

5. Wait for OpenWrt to boot. At this stage, it might be wise to create a
   backup/dump of the Flash partitions.

Return to stock firmware
========================

1. Download the firmware for the switch from Zyxel website.

2. Unzip the download, there should be a .bin file with a alphanumeric
   name.

3. Upload this file to running OpenWrt.

4. Run (use -F since the image doesn't have image metadata):

   > sysupgrade -F <stock-firmware>.bin

5. Wait for the sysupgrade to succeed and the switch reboot. At the next
   boot, ZyNOS should come up again.

Recovery
========

The Bootbase loader is actually a modified U-Boot variant. You can enter
it by spamming $ during the DRAM test.

The U-Boot shell can be unlocked with [1] and [2]. Note that the command
is slightly different, using a space instead of a comma, and lowercase:

> aten 1 <unlock_code>

You should now have more-or-less a standard RTK-U-boot shell from where
you can upload and write a new image to flash. Use e.g.:

> upgradeY image2 81000000 115200

Wait for the upgrade process to finish and reboot the switch.

===
[1] https://akao.co.uk/tools/zyxel_unlocker/
[2] https://www.ixo.de/info/zyxel_uclinux/

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22909
Signed-off-by: Robert Marko <robimarko@gmail.com>
39 hours agorealtek: add support for Zyxel XS1930-10
Jonas Jelonek [Wed, 7 May 2025 10:18:52 +0000 (10:18 +0000)] 
realtek: add support for Zyxel XS1930-10

Add support for RTL9313-based Zyxel XS1930-10, a 10-port Multi-Gig
switch with 8x 100M/1G/2.5G/5G/10G RJ45 and 2x 1G/10G SFP+ ports.

Hardware
========

  - RTL9313 SoC
  - 256MiB DDR3 RAM (Winbond W632GU6MB)
  - 32MiB SPI-NOR Flash (Macronix MX25L25645G)
  - 8x 100M/1G/2.5G/5G/10G RJ45 (Aquantia AQR813)
  - 2x 1G/10G SFP+
  - RTL8231 for port LEDs
  - LM96000 I2C hardware monitor
  - 3-pin fan
  - Front LEDs: PWR, SYS, CLOUD, LOCATOR
  - Console: TTL 3.3V, 115200 8N1
  - Software chain:
    - Bootbase/stripped-down U-Boot
    - BootExt
    - RAS/ZyNOS

Console
=======

The console port is a 4-pin header reachable without opening case.
Looking at the front port-side of the device, turn the device 90 degrees
clockwise. On this side, there's a rectangular opening in the honeycomb
structure. Pinout is (from left/front to right/back): GND RX TX VCC

Hardware quirks
===============

* The SFP signals RX_LOS, MOD_ABS and TX_FAULT do not have dedicated GPIO
  lines each. Instead, there's a multiplexer (using GPIO12 and GPIO14)
  which - depending on its state - connect this single GPIO line to RX_LOS,
  MOD_ABS or TX_FAULT (GPIO19 for SFP1, GPIO27 for SFP2). This requires
  a special adapter driver (which is backed by a gpio-mux) that makes
  this hardware design and Linux' SFP core work together.

* SFP slots are disabled by default. GPIO6 and GPIO7 seems to be gates
  for SFP1 and SFP2 respectively. The need to be pulled low to make SFP
  modules work (i.e. respond to I2C requests and pass GPIO signals).

* Fan can only be set to SLOW or FAST mode, no real speed/PWM control.

Disclaimer
==========

Flashing OpenWrt will overwrite BootExtension + ZyNOS. BootExtension
functionality (e.g. initramfs boot as mentioned below) is not available
anymore then. The U-boot/Bootbase still has some limited functionality
which can be used in emergency cases.

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

Simple web upgrade:

1. Take the OpenWrt factory.bin image generated by the build.

2. In the ZyNOS web UI, login and go to Maintenance -> Firmware Upgrade.

3. Under "Boot Image", make sure the Config Boot Image is set to 1. In
   other words, make sure the switch booted from firmware image 1 or it
   will do so on next reboot.
   This is crucial, otherwise OpenWrt cannot boot.

4. Below, select and upload the factory.bin image. After clicking
   upgrade, the image will be flashed.

5. After flashing has finished, reboot the switch. It will now boot into
   OpenWrt.

Initramfs boot
==============

NOTE: You need to use Xmodem transfer, the bootloader doesn't support
      Ymodem nor any networking.
      This only works as long as the default ZyNOS firmware is
      installed.

1. Connect to the switch using serial and interrupt the boot process
   to enter debug/recovery mode.

2. You need to unlock the bootloader. Use known methods [1] and [2] to
   obtain the unlock code and unlock the bootloader with:

   > ATEN 1,<unlock_code>

3. Upload the initramfs image using Xmodem:

   > ATUP <address>,<file_length>

   <address>: you may use any RAM address >= 0x80300000
   <file_length>: length of image in bytes

4. After the transfer has finished, boot the image with:

   > ATGO <address>

5. Wait for OpenWrt to boot. At this stage, it might be wise to create a
   backup/dump of the Flash partitions.

Return to stock firmware
========================

1. Download the firmware for the switch from Zyxel website.

2. Unzip the download, there should be a .bin file with a alphanumeric
   name.

3. Upload this file to running OpenWrt.

4. Run (use -F since the image doesn't have image metadata):

   > sysupgrade -F <stock-firmware>.bin

5. Wait for the sysupgrade to succeed and the switch reboot. At the next
   boot, ZyNOS should come up again.

Recovery
========

The Bootbase loader is actually a modified U-Boot variant. You can enter
it by spamming $ during the DRAM test.

The U-Boot shell can be unlocked with [1] and [2]. Note that the command
is slightly different, using a space instead of a comma, and lowercase:

> aten 1 <unlock_code>

You should now have more-or-less a standard RTK-U-boot shell from where
you can upload and write a new image to flash. Use e.g.:

> upgradeY image2 81000000 115200

Wait for the upgrade process to finish and reboot the switch.

===
[1] https://akao.co.uk/tools/zyxel_unlocker/
[2] https://www.ixo.de/info/zyxel_uclinux/

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22909
Signed-off-by: Robert Marko <robimarko@gmail.com>
39 hours agorealtek: add generic support for Zyxel XS1930 lineup
Jonas Jelonek [Tue, 23 Dec 2025 12:08:12 +0000 (12:08 +0000)] 
realtek: add generic support for Zyxel XS1930 lineup

Add generic support for Zyxel's XS1930 10G switch lineup. This will be
used by subsequent patches to share common behavior/settings.

Common specs:

- Realtek RTL9313 switch SoC
- 256MB RAM
- 32MB Flash with shared layout
- different 10G copper/SFP port configurations

The devices use a proprietary software chain from Zyxel, consisting of:
- stripped-down, heavily modified U-boot masked as "Bootbase"
- BootExtension stage2 loader
- Thread-X based ZyNOS

Those devices require to add some symbols to the kernel config, i.e.
CONFIG_AQUANTIA_PHY for the used PHYs and symbols for GPIO peripherals
and muxes due to the hardware design.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22909
Signed-off-by: Robert Marko <robimarko@gmail.com>
39 hours agorealtek: image: add recipe for ZyNOS-based Zyxel devices
Jonas Jelonek [Fri, 10 Apr 2026 11:39:21 +0000 (11:39 +0000)] 
realtek: image: add recipe for ZyNOS-based Zyxel devices

Add a new recipe 'zyxel-zynos' which contains common
behavior/definitions for ZyNOS-based Zyxel devices which requirea
special image to be built using 'zynos-firmware' recipe.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22909
Signed-off-by: Robert Marko <robimarko@gmail.com>
39 hours agorealtek: image: add zynos-firmware recipe
Jonas Jelonek [Tue, 7 Apr 2026 16:55:57 +0000 (16:55 +0000)] 
realtek: image: add zynos-firmware recipe

Add a build recipe to build a ZyNOS firmware image using mkzynfw from
firmware-utils to produce an image that can be flashed with the web
interface of ZyNOS vendor firmware.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22909
Signed-off-by: Robert Marko <robimarko@gmail.com>
39 hours agorealtek: pcs: replace various SerDes range checks 22941/head
Jonas Jelonek [Wed, 15 Apr 2026 09:05:16 +0000 (09:05 +0000)] 
realtek: pcs: replace various SerDes range checks

The whole driver often does some range checks of the SerDes ID to
restrict some functionality to a group of SerDes. However, having these
open-coded checks everywhere is rather confusing because it's not
obvious what it actually means.

Luckily, those checks give a good picture of what SerDes types we have:
- 5G: RTL838x, RTL839x (0-7, 10, 11), RTL930x (0, 1)
- 10G: RTL839x (8, 9, 12, 13), RTL930x (2-9), RTL931x (2-13)
- unknown: RTL930x (10, 11), RTL931x (0, 1)

Add a new enum and field in rtpcs_serdes for the type of a SerDes we
have. This is filled during SerDes probe, making use of the stub
implementations for that hook.. All SerDes ID range checks related to
this are replaced with corresponding checks of the SerDes type.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22941
Signed-off-by: Robert Marko <robimarko@gmail.com>
39 hours agorealtek: pcs: add SerDes probe hook
Jonas Jelonek [Tue, 14 Apr 2026 18:22:08 +0000 (18:22 +0000)] 
realtek: pcs: add SerDes probe hook

Add a per-SerDes probe hook to rtpcs_config, called once for each SerDes
during driver probe. This provides a place for variant-specific, one-time
per-SerDes initialization that doesn't fit into the existing controller-
level init hook — such as allocating per-lane regmap fields or assigning
per-SerDes metadata.

Add stub implementations for all variants for now. They will be used by
all variants in a subsequent comment. For RTL839x, reuse the existing
rtl839x_sds_init hook and move its call out of the global init.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22941
Signed-off-by: Robert Marko <robimarko@gmail.com>
41 hours agoxdp-tools: fix musl build issues 22983/head
Nick Hainke [Sat, 18 Apr 2026 08:03:54 +0000 (10:03 +0200)] 
xdp-tools: fix musl build issues

Add patches to fix build failures on musl-based toolchains:

0002-xdpsock-fix-struct-ethhdr-redefinition-on-musl.patch:
xdpsock.c included <net/ethernet.h> and <netinet/ether.h> alongside
<linux/if_ether.h>, triggering a struct ethhdr redefinition on musl.
Replace BSD-style ether_header/ether_addr with struct ethhdr and drop
the conflicting includes.

0003-build-use-gnu2x-to-avoid-stdbool.h-dependency.patch:
Switch CFLAGS and BPF_CFLAGS from -std=gnu11 to -std=gnu2x. In C23,
bool is a native keyword, fixing "stdbool.h: No such file or directory"
errors with a clang lacking its resource directory (e.g. llvm-bpf built
with LLVM_INSTALL_TOOLCHAIN_ONLY=ON on musl targets).

Link: https://github.com/openwrt/openwrt/pull/22983
Signed-off-by: Nick Hainke <vincent@systemli.org>
41 hours agox86: add support for DFI ASL553 23003/head
Nick Hainke [Sun, 19 Apr 2026 08:08:27 +0000 (10:08 +0200)] 
x86: add support for DFI ASL553

The DFI ASL553 is a 3.5" SBC very similar to the ADN553. The network
topology is identical, so both boards share the same network
configuration.

Differences from the ADN553:
* CPU: Intel Atom x7835RE (8C, 12W) / x7433RE (4C, 9W) /
                  x7213RE (2C, 9W) / x7211RE (2C, 6W)
       (Amston Lake / x7000RE series instead of Alder Lake-N)
* Ethernet: Intel I226IT instead of I226V
* Audio: Realtek ALC888S instead of ALC888

For installation and board detection details, see commit b6b09a2ad838
("x86: add support for DFI ADN553").

Link: https://github.com/openwrt/openwrt/pull/23003
Signed-off-by: Nick Hainke <vincent@systemli.org>
41 hours agotools/ccache: update to 4.13.3 23005/head
Nick Hainke [Sun, 19 Apr 2026 08:46:33 +0000 (10:46 +0200)] 
tools/ccache: update to 4.13.3

Release Notes:
- https://ccache.dev/releasenotes.html#_ccache_4_12_2
- https://ccache.dev/releasenotes.html#_ccache_4_13_3
- https://ccache.dev/releasenotes.html#_ccache_4_13
- https://ccache.dev/releasenotes.html#_ccache_4_13_1
- https://ccache.dev/releasenotes.html#_ccache_4_13_2
- https://ccache.dev/releasenotes.html#_ccache_4_13_3

Link: https://github.com/openwrt/openwrt/pull/23005
Signed-off-by: Nick Hainke <vincent@systemli.org>
41 hours agotools/expat: update to 2.7.5 23007/head
Nick Hainke [Sun, 19 Apr 2026 09:37:10 +0000 (11:37 +0200)] 
tools/expat: update to 2.7.5

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

Fixes: CVE-2026-32776 CVE-2026-32777 CVE-2026-32778
Link: https://github.com/openwrt/openwrt/pull/23007
Signed-off-by: Nick Hainke <vincent@systemli.org>
44 hours agotreewide: use HTTPS for PKG_SOURCE_URL where possible
Paul Spooren [Sat, 18 Apr 2026 13:26:39 +0000 (21:26 +0800)] 
treewide: use HTTPS for PKG_SOURCE_URL where possible

Switch http:// (and redundant ftp://) PKG_SOURCE_URL entries to https://
across tools/ and package/. PKG_HASH alone does not protect against an
attacker tampering with insecure downloads when a maintainer regenerates
the hash via `make ... FIXUP=1`: HTTPS authenticates the upstream so the
captured hash reflects real upstream content.

In-place http -> https (HTTPS reachability verified per host):
- tools/elftosb, tools/lzop, tools/liblzo, tools/mpfr, tools/dosfstools,
  tools/libressl, tools/xz
- package/libs/mpfr, package/libs/libmnl, package/libs/libnfnetlink

Replaced with @OPENWRT (HTTPS-only mirror) where the upstream HTTPS host
is dead or has a broken certificate:
- package/libs/popt (ftp.rpm.org cert mismatch)
- package/firmware/ixp4xx-microcode (was http://downloads.openwrt.org)
- package/boot/imx-bootlets (trabant.uid0.hu cert mismatch)
- package/boot/kobs-ng (freescale.com URL is dead, redirects to nxp.com root)

Dropped redundant ftp://ftp.denx.de fallback (https://ftp.denx.de is
already listed):
- package/boot/uboot-tools, tools/mkimage

Signed-off-by: Paul Spooren <mail@aparcar.org>
2 days agomediatek: 6.18: add missing module dependency
Daniel Golle [Mon, 20 Apr 2026 00:08:45 +0000 (01:08 +0100)] 
mediatek: 6.18: add missing module dependency

Add missing dependency of kmod-btmtkuart on kmod-hci-uart when building
with Linux 6.18.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 days agomediatek: mt7629: add missing CONFIG_LEDS_SMARTRG_LED
Daniel Golle [Mon, 20 Apr 2026 00:05:32 +0000 (01:05 +0100)] 
mediatek: mt7629: add missing CONFIG_LEDS_SMARTRG_LED

The config symbol has acceidentally been omitted when adding support for
Linux 6.18. Re-add it.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 days agobpftool: update to 7.7.0 22973/head
Nick Hainke [Fri, 17 Apr 2026 15:29:56 +0000 (17:29 +0200)] 
bpftool: update to 7.7.0

Release Notes:
- https://github.com/libbpf/bpftool/releases/tag/v7.7.0

Backport upstream commit 9ba0b4add39e ("bpftool: Allow explicitly skip
llvm, libbfd and libcrypto dependencies") to fix a linker error. The
bpftool only needs skeleton generation, not program signing, so pass
SKIP_CRYPTO=1 to drop the libcrypto dependency entirely.

Link: https://github.com/libbpf/bpftool/commit/9ba0b4add39e578ccdb91ca23b62a7de6ff45995
Link: https://github.com/openwrt/openwrt/pull/22973
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 days agosifiveu: drop support for 6.12
Zoltan HERPAI [Sat, 18 Apr 2026 22:11:40 +0000 (22:11 +0000)] 
sifiveu: drop support for 6.12

Drop support for 6.12 by removing config and patches.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2 days agosifiveu: switch to 6.18
Zoltan HERPAI [Sat, 18 Apr 2026 22:10:20 +0000 (22:10 +0000)] 
sifiveu: switch to 6.18

Make 6.18 the default kernel.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
3 days agoleds-gca230718: fix compilation 22984/head
Rosen Penev [Sat, 18 Apr 2026 09:32:06 +0000 (02:32 -0700)] 
leds-gca230718: fix compilation

A & was missing.

Fixes 669a737 ("treewide: use _scoped for loop")
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22984
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 days agopackage: binutils: deduplicate ld 21997/head
Konstantin Demin [Fri, 17 Apr 2026 20:47:11 +0000 (23:47 +0300)] 
package: binutils: deduplicate ld

ld.bfd is the default/only implementation for now but things may change in future.

Signed-off-by: Konstantin Demin <rockdrilla@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21997
Signed-off-by: Nick Hainke <vincent@systemli.org>
3 days agobinutils: update to 2.46.0
Konstantin Demin [Fri, 17 Apr 2026 20:47:11 +0000 (23:47 +0300)] 
binutils: update to 2.46.0

Release Notes:
- https://sourceware.org/pipermail/binutils/2026-February/148149.html

OpenWrt changes:
- rearrange configure options and variables
- provide variables for both configure and build stages (binutils has more than one ./configure script in source tree)

Signed-off-by: Konstantin Demin <rockdrilla@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21997
Signed-off-by: Nick Hainke <vincent@systemli.org>
3 days agotoolchain: binutils: add version 2.46
Konstantin Demin [Fri, 17 Apr 2026 20:47:11 +0000 (23:47 +0300)] 
toolchain: binutils: add version 2.46

Release Notes:
- https://sourceware.org/pipermail/binutils/2026-February/148149.html

OpenWrt changes:
- adjust patch manually:
  - 500-Change-default-emulation-for-mips64-linux.patch
- rearrange configure options and variables
- provide variables for both configure and build stages (binutils has more than one ./configure script in source tree)

Signed-off-by: Konstantin Demin <rockdrilla@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21997
Signed-off-by: Nick Hainke <vincent@systemli.org>
3 days agotoolchain: binutils: simplify patch management
Konstantin Demin [Fri, 17 Apr 2026 20:47:11 +0000 (23:47 +0300)] 
toolchain: binutils: simplify patch management

Take in account only first two version components to lookup patch directory.
Hovewer, computed "BASE_VERSION" may be overridden (if necessary).
This change should prevent further issues with binutils being unpatched, see commits adad973a9c34 and 525a1e94b343.

Also drop obsolete "BIN_VERSION" variable (not used anywhere).

Signed-off-by: Konstantin Demin <rockdrilla@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21997
Signed-off-by: Nick Hainke <vincent@systemli.org>
3 days agotreewide: remove references for obsolete binutils versions
Konstantin Demin [Fri, 17 Apr 2026 20:47:11 +0000 (23:47 +0300)] 
treewide: remove references for obsolete binutils versions

Support for obsolete versions was dropped in upstream commit 72731b445ee3.

Signed-off-by: Konstantin Demin <rockdrilla@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21997
Signed-off-by: Nick Hainke <vincent@systemli.org>
3 days agotoolchain: binutils: remove old versions
Konstantin Demin [Fri, 17 Apr 2026 20:47:10 +0000 (23:47 +0300)] 
toolchain: binutils: remove old versions

Oldest supported release is 2.44 for upcoming release (25.12).

Signed-off-by: Konstantin Demin <rockdrilla@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21997
Signed-off-by: Nick Hainke <vincent@systemli.org>
3 days agox86: add support for DFI ADN553 22980/head
Nick Hainke [Fri, 17 Apr 2026 21:03:40 +0000 (23:03 +0200)] 
x86: add support for DFI ADN553

The DFI ADN553 is a 3.5" SBC based on Intel Atom Alder Lake-N
processors with three Intel I226V 2.5GbE ports.

Specs:
* CPU: Intel Atom x7425E (4C, 12W) / x7213E (2C, 10W) /
       x7211E (2C, 6W)
* RAM: 1x DDR5 SO-DIMM, up to 16GB
* Storage: 1x M.2 M key 2242/2280 (PCIe Gen3 x1/SATA3),
           1x SATA 3.0
* Ethernet: 3x 2.5GbE RJ-45 (Intel I226V)
* USB: 4x USB 3.2 (rear), 2x USB 2.0 (internal)
* Expansion: 1x M.2 B key 3052 (USB3/USB2, opt. PCIe x1, SIM),
             1x M.2 E key 2230 (USB/PCIe x1, CNVi)
* Display: 1x HDMI, 1x Type-C DP Alt. Mode, 1x LVDS/eDP
* Power: 9-36V DC wide range input
* TPM: dTPM 2.0 (NPCT750AADYX)
* Form factor: 3.5" SBC (146mm x 102mm)

Installation:
1. Write the combined-efi.img to a USB drive:
   dd if=combined-efi.img of=/dev/sdX conv=fdatasync
2. Boot the ADN553 from the USB drive via the UEFI boot menu.
3. For permanent installation, write the image to the M.2 or
   SATA storage device.

The board uses "Default string" as DMI sys_vendor and product_name
placeholders, so board detection is fixed by filtering these out and
falling through to board_vendor (DFI Inc.) and board_name (ADN553).

The three I226V NICs are pinned to their PCIe paths to ensure
consistent interface ordering matching the physical left-to-right
port layout. eth0 is assigned as WAN and eth1/eth2 as LAN.

Link: https://github.com/openwrt/openwrt/pull/22980
Signed-off-by: Nick Hainke <vincent@systemli.org>
3 days agoqualcommax: ipq807x: ax9000: wire up the fan 22942/head
Robert Marko [Wed, 15 Apr 2026 11:01:29 +0000 (13:01 +0200)] 
qualcommax: ipq807x: ax9000: wire up the fan

Now that we have a proper driver support for the onboard EMC2301 lets
wire up the fan as a cooling device on the Xiaomi AX9000.

Link: https://github.com/openwrt/openwrt/pull/22942
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 days agogeneric: 6.18: backport EMC2305 changes
Robert Marko [Fri, 17 Apr 2026 17:08:29 +0000 (19:08 +0200)] 
generic: 6.18: backport EMC2305 changes

Now that 6.12 EMC2305 driver is backported to 7.0 code, lets do the same
for 6.18 so they dont diverge.

Link: https://github.com/openwrt/openwrt/pull/22942
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 days agogeneric: 6.12: backport EMC2305 changes
Robert Marko [Wed, 15 Apr 2026 10:58:58 +0000 (12:58 +0200)] 
generic: 6.12: backport EMC2305 changes

Backport the Microchip EMC2305 driver changes up to current linux-next.
These are required in order to actually be able to use the driver with
DTS support to drive fans as cooling devices.

Replace the bcm27xx RPi patch with the one from RPi kernel 7.0 that was
already adapted to all of these backports.

Link: https://github.com/openwrt/openwrt/pull/22942
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 days agopistachio: drop support for 6.12
Zoltan HERPAI [Sat, 18 Apr 2026 09:02:30 +0000 (11:02 +0200)] 
pistachio: drop support for 6.12

Drop support for 6.12 by removing config and patches.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
3 days agopistachio: switch to 6.18
Zoltan HERPAI [Sat, 18 Apr 2026 09:02:01 +0000 (11:02 +0200)] 
pistachio: switch to 6.18

Make 6.18 the default kernel.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
3 days agopistachio: refresh config on 6.18
Zoltan HERPAI [Sat, 18 Apr 2026 10:00:19 +0000 (12:00 +0200)] 
pistachio: refresh config on 6.18

Refresh config.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
3 days agolibbpf: update to 1.7.0 22971/head
Nick Hainke [Fri, 17 Apr 2026 14:50:37 +0000 (16:50 +0200)] 
libbpf: update to 1.7.0

Release Notes:
- https://github.com/libbpf/libbpf/releases/tag/v1.6.3
- https://github.com/libbpf/libbpf/releases/tag/v1.7.0

Link: https://github.com/openwrt/openwrt/pull/22971
Signed-off-by: Nick Hainke <vincent@systemli.org>
3 days agotools/llvm-bpf: update to 22.1.3 22972/head
Nick Hainke [Fri, 17 Apr 2026 15:21:49 +0000 (17:21 +0200)] 
tools/llvm-bpf: update to 22.1.3

Release Notes:
- https://discourse.llvm.org/t/llvm-21-1-7-released
- https://discourse.llvm.org/t/llvm-21-1-8-released
- https://discourse.llvm.org/t/llvm-22-1-0-released
- https://discourse.llvm.org/t/llvm-22-1-1-released
- https://discourse.llvm.org/t/llvm-22-1-2-released
- https://discourse.llvm.org/t/llvm-22-1-3-released

Link: https://github.com/openwrt/openwrt/pull/22972
Signed-off-by: Nick Hainke <vincent@systemli.org>
4 days agosifiveu: enable 6.18 testing kernel
Zoltan HERPAI [Sun, 29 Mar 2026 21:38:31 +0000 (21:38 +0000)] 
sifiveu: enable 6.18 testing kernel

The sifiveu target now supports 6.18 kernel as testing.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
4 days agosifiveu: refresh config for 6.18
Zoltan HERPAI [Fri, 3 Apr 2026 08:47:00 +0000 (08:47 +0000)] 
sifiveu: refresh config for 6.18

Refresh config for 6.18.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
4 days agokernel/sifiveu: restore files for v6.12
Zoltan HERPAI [Sun, 29 Mar 2026 14:47:12 +0000 (14:47 +0000)] 
kernel/sifiveu: 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/sifiveu: create files for v6.18 (from v6.12)
Zoltan HERPAI [Sun, 29 Mar 2026 14:47:12 +0000 (14:47 +0000)] 
kernel/sifiveu: 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 agogemini/kernel: drop v6.12 and default to v6.18 22932/head
Linus Walleij [Tue, 14 Apr 2026 22:26:15 +0000 (00:26 +0200)] 
gemini/kernel: drop v6.12 and default to v6.18

Drop the old kernel and move over to the latest. We hardly
have any patches so this is a swift change.

Link: https://github.com/openwrt/openwrt/pull/22932
Signed-off-by: Linus Walleij <linusw@kernel.org>
4 days agoxdp-tools: update to 1.6.3 21903/head
Nick Hainke [Fri, 6 Feb 2026 19:48:36 +0000 (20:48 +0100)] 
xdp-tools: update to 1.6.3

Add patch "0001-params-avoid-linux-if_ether.h-in-header-to-fix-musl-.patch".

Release Notes:
- https://github.com/xdp-project/xdp-tools/releases/tag/v1.6.0
- https://github.com/xdp-project/xdp-tools/releases/tag/v1.6.1
- https://github.com/xdp-project/xdp-tools/releases/tag/v1.6.2
- https://github.com/xdp-project/xdp-tools/releases/tag/v1.6.3

Link: https://github.com/openwrt/openwrt/pull/21903
Signed-off-by: Nick Hainke <vincent@systemli.org>
4 days agomediatek: enable Linux 6.18 testing kernel 22887/head
Daniel Golle [Fri, 10 Apr 2026 20:01:12 +0000 (21:01 +0100)] 
mediatek: enable Linux 6.18 testing kernel

Enable Linux 6.18 as testing kernel.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 days agomediatek: filogic: adjust config for Linux 6.18
Daniel Golle [Fri, 10 Apr 2026 20:00:58 +0000 (21:00 +0100)] 
mediatek: filogic: adjust config for Linux 6.18

Adapt kernel configuration of the filogic subtarget for Linux 6.18.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 days agomediatek: mt7622: adjust config for Linux 6.18
Daniel Golle [Fri, 10 Apr 2026 22:53:18 +0000 (23:53 +0100)] 
mediatek: mt7622: adjust config for Linux 6.18

Adapt kernel configuration of the mt7622 subtarget for Linux 6.18.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 days agomediatek: mt7629: adjust config for Linux 6.18
Daniel Golle [Sat, 11 Apr 2026 01:55:45 +0000 (02:55 +0100)] 
mediatek: mt7629: adjust config for Linux 6.18

Adapt kernel configuration of the mt7629 subtarget for Linux 6.18.
This was only compile-tested as I don't have the hardward.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 days agomediatek: mt7623: adjust config for Linux 6.18
Daniel Golle [Sat, 11 Apr 2026 01:46:04 +0000 (02:46 +0100)] 
mediatek: mt7623: adjust config for Linux 6.18

Adapt kernel configuration of the mt7623 subtarget for Linux 6.18.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 days agomediatek: build driver for built-in 2.5GE PHY as module
Daniel Golle [Fri, 10 Apr 2026 20:00:29 +0000 (21:00 +0100)] 
mediatek: build driver for built-in 2.5GE PHY as module

The by-now-upstream driver for the built-in 2.5GE PHY of the MediaTek
MT7988 and MT7987 SoC loads firmware at probe time.

Build the driver as a module in order to make sure the driver only
attempts to load the firmware by the time the rootfs with the firmware
file has become available.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 days agomediatek: fix Arioha AN8855 DSA driver for Linux 6.18
Daniel Golle [Fri, 10 Apr 2026 19:58:57 +0000 (20:58 +0100)] 
mediatek: fix Arioha AN8855 DSA driver for Linux 6.18

Upstream changes to phylink require to make some small changes to our
downstream Airoha AN8855 DSA driver, so it build with Linux 6.18.
The efuse driver is upstream by now and can be dropped.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 days agomediatek: fix patches for Linux 6.18
Daniel Golle [Fri, 10 Apr 2026 19:58:19 +0000 (20:58 +0100)] 
mediatek: fix patches for Linux 6.18

Delete patches merged upstream and refresh the remaining patches.
Import pending patchset to fix read-out-of-bounds bug in clk driver
while at it, as it makes maintaining the downstream clk driver for
MT7987 easier.
Replace downstream patch for Fidelix FM35X1GA SPI-NAND chip with
upstream commit replacing it (Dosilicon DS35Q1GA is indentical).
Several additional fixes were needed for MT7623N, especially to get
HDMI and the Mali-450 GPU working again...

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 days agokernel/mediatek: restore files for v6.12
Daniel Golle [Fri, 10 Apr 2026 13:03:10 +0000 (14:03 +0100)] 
kernel/mediatek: 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: Daniel Golle <daniel@makrotopia.org>
4 days agokernel/mediatek: create files for v6.18 (from v6.12)
Daniel Golle [Fri, 10 Apr 2026 13:03:10 +0000 (14:03 +0100)] 
kernel/mediatek: 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: Daniel Golle <daniel@makrotopia.org>
4 days agogeneric: 6.18: fix build of MediaTek USXGMII driver
Daniel Golle [Fri, 10 Apr 2026 19:58:36 +0000 (20:58 +0100)] 
generic: 6.18: fix build of MediaTek USXGMII driver

Upstream changes to phylink require some small changes so the driver
can build with Linux 6.18.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 days agogeneric: 6.18: fix mtk_eth_soc on MT7988 and MT7987
Daniel Golle [Fri, 10 Apr 2026 22:08:28 +0000 (23:08 +0100)] 
generic: 6.18: fix mtk_eth_soc on MT7988 and MT7987

Our downstream patch for the new SerDes paths on MT7988 wasn't
correctly ported to Linux 6.18 which already got most of the XPCS
support upstream.

Fix (ie. reduce) the patch to make the built-in 2.5G PHY on MT7988 and
MT7987 work again.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 days agogeneric: 6.18: add new Kconfig symbols
Daniel Golle [Fri, 10 Apr 2026 22:52:07 +0000 (23:52 +0100)] 
generic: 6.18: add new Kconfig symbols

Add some new Kconfig symbols to the generic config so they don't end up
in all target configs.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 days agorealtek: pcs: rtl93xx: extend USXGMII config 22939/head
Jonas Jelonek [Tue, 14 Apr 2026 11:17:43 +0000 (11:17 +0000)] 
realtek: pcs: rtl93xx: extend USXGMII config

Our USXGMII config only covers one single register of which kind there
are actually more. We only set a value for 'CFG_QHSG_TXCFG_MAC_CH0' but
there are additional registers for CH1-CH3. Those refer to the 4
USXGMII 'channels'. While the RTL930x part of the SDK doesn't set them
explicitly, from RTK setup SerDes dumps we can see they are usually
similarly set.

The RTL931x part of the SDK actually writes those register explicitly
during USXGMII. We just haven't implemented that so far. Thus, add this
to the USXGMII config for both RTL93xx.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22939
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agorealtek: pcs: rtl931x: use generic USXGMII config
Jonas Jelonek [Tue, 14 Apr 2026 11:10:38 +0000 (11:10 +0000)] 
realtek: pcs: rtl931x: use generic USXGMII config

Since the USXGMII config was made generic before, we can use it now for
the RTL931x setup too. This brings it closer to what the SDK configures
(see _dal_mango_construct_init_usxgmii), fixes some deviations in our
previous settings and makes clearer what is actually done.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22939
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agorealtek: pcs: rtl93xx: make USXGMII config generic
Jonas Jelonek [Tue, 14 Apr 2026 11:05:16 +0000 (11:05 +0000)] 
realtek: pcs: rtl93xx: make USXGMII config generic

The USXGMII config setting specific options currently is only
implemented for RTL930x. Looking at the SDK one can see that RTL931x
shares a lot of these configuration options. Additionally, several dumps
from RTK setups have shown that values which aren't set yet by us for
RTL930x but for RTL931x, also apply for RTL930x. Thus, both can be
merged. Start this by making the current function generic for RTL93xx.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22939
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agorealtek: pcs: rtl93xx: properly handle USXGMII autoneg
Jonas Jelonek [Sun, 29 Mar 2026 17:56:51 +0000 (17:56 +0000)] 
realtek: pcs: rtl93xx: properly handle USXGMII autoneg

USXGMII autoneg setting is currently hardcoded for RTL930x and not even
handled explicitly for RTL931x. This should be handled via neg_mode from
phylink subsystem too. Thus, move it over to rtpcs_93xx_sds_set_autoneg
as generic implementation for RTL93xx and set it depending on the
provided negotiation mode.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22939
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agomediatek: add support for BUFFALO WSR-3000AX4P 22587/head
INAGAKI Hiroshi [Sun, 22 Mar 2026 14:29:17 +0000 (23:29 +0900)] 
mediatek: add support for BUFFALO WSR-3000AX4P

BUFFALO WSR-3000AX4P is a 2.4/5 GHz band 11ax (Wi-Fi 6) router, based on
MT7981B.

Specification:

- SoC             : MediaTek MT7981B
- RAM             : DDR4 512 MiB (ESMT M16U4G16256A-KJBG)
- Flash           : SPI-NAND 128 MiB (Winbond W25N01GVZEIG)
- WLAN            : 2.4/5 GHz 2T2R (MediaTek MT7981B (SoC))
- Ethernet        : 4x 10/100/1000 Mbps
  - switch        : MediaTek MT7531A
- LEDs/Keys (GPIO): 6x/4x
- UART            : through-hole on PCB (J1)
  - assignment    : 3.3V, GND, TX, RX from tri-angle marking
  - settings      : 115200n8
- Power           : 12 VDC, 1.5 A (Max. 14.4 W)

Flash instruction using initramfs image:

1. Prepare a TFTP server with 192.168.11.2
2. Rename initramfs image to "linux.ubi-recovery" and put it to the TFTP
   directory
3. Hold the "AOSS" button and power on WSR-3000AX4P, release after 7~
   seconds
4. The bootloader automatically downloads the initramfs image and boots
   with it
5. After booting, upload a sysupgrade image to the device and perform
   sysupgrade with it
6. Wait ~100 seconds to complete flashing

Reverting to stock image:

1. Download a official firmware and decrypt it by buffalo-enc

   example:

     buffalo-enc -i <official .bin> -o fw.dec -d -O 0xC8 -l

2. Upload the decrypted image to the device
3. Flash the image to the UBI in "ubi_kernel" partition on the device

   example:

     . /lib/upgrade/common.sh
     . /lib/upgrade/nand.sh
     CI_UBIPART="ubi_kernel" nand_do_flash_file fw.dec

4. Reboot the device

   reboot

Notes:

- WSR-3000AX4P has 2x OS images ("ubi"/"Kernel2"), but the second one
  is only for backup and not used for booting.

  image handling on the bootloader:

  - "ubi" is broken     : "Kernel2" --(copy)--> "ubi"
  - "Kernel2" is broken : "ubi" --(copy)--> "Kernel2"
  - "ubi" != "Kernel2"  :
    - boot_select=0: "ubi" --(copy)--> "Kernel2"
    - boot_select=1: "Kernel2" --(copy)--> "ubi", set boot_select to '0'

MAC Addresses:

LAN   : EC:5A:31:xx:xx:50 (board_data, "mac" (text))
WAN   : EC:5A:31:xx:xx:50
2.4GHz: EC:5A:31:xx:xx:52
5GHz  : EC:5A:31:xx:xx:59

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22587
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 days agomediatek: filogic: enable ascii-env NVMEM driver
INAGAKI Hiroshi [Sun, 22 Mar 2026 13:15:04 +0000 (22:15 +0900)] 
mediatek: filogic: enable ascii-env NVMEM driver

Enable ascii-env NVMEM driver (CONFIG_NVMEM_LAYOUT_ASCII_ENV) on
mediatek/filogic subtarget, to handle ascii-based MAC addresses
in key-value format stored to the mtd partition.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22587
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 days agouboot-tools: envtools: add support for BUFFALO WSR-3000AX4P
INAGAKI Hiroshi [Mon, 23 Mar 2026 18:00:57 +0000 (03:00 +0900)] 
uboot-tools: envtools: add support for BUFFALO WSR-3000AX4P

Add support for BUFFALO WSR-3000AX4P, to allow updating environment
variables of U-Boot on that device.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22587
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 days agopistachio: enable 6.18 testing kernel
Zoltan HERPAI [Fri, 3 Apr 2026 10:19:13 +0000 (12:19 +0200)] 
pistachio: enable 6.18 testing kernel

The pistachio target now supports 6.18 kernel as testing.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
5 days agopistachio: refresh patches for 6.18
Zoltan HERPAI [Fri, 3 Apr 2026 10:18:57 +0000 (12:18 +0200)] 
pistachio: refresh patches for 6.18

Refresh patches.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
5 days agokernel/pistachio: restore files for v6.12
Zoltan HERPAI [Tue, 31 Mar 2026 12:36:53 +0000 (14:36 +0200)] 
kernel/pistachio: 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>
5 days agokernel/pistachio: create files for v6.18 (from v6.12)
Zoltan HERPAI [Tue, 31 Mar 2026 12:36:53 +0000 (14:36 +0200)] 
kernel/pistachio: 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>
5 days agomediatek: filogic: Add new Router model ZBT-Z8106AX-T 21834/head
Jörg Seitz [Sun, 24 Aug 2025 04:51:11 +0000 (06:51 +0200)] 
mediatek: filogic: Add new Router model ZBT-Z8106AX-T

Device support for zbt-z8106ax-t

Vendor Zbtlink advertizes this device as model Z8106AX-M2-T
on their website www.zbtlink.com. Device label sticked on
enclosure however states this is model Z8106AX version -T.
I made firmware selector to show this device as
- ZBT-Z8106AX-T to match information printed on the label and
- ZBT-Z8106AX-M2-T to match information found on vendors web pages.

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-32V 1A
WiFi: MT7981B 2.4Ghz & 5Ghz
USB 3
M2 slot to hold LTE modem
2x nano SIM slots (user controllable)

Router comes in a flat metal box with all antennas detachable.
 - 4 antennas for LTE 4G/5G communication
 - 2 antennas for Wifi 2.4 GHz
 - 2 antennas for Wifi 5 GHz

Power supply could be between 12V and 32V.
This serves both cars equipped with 12V batteries
and trucks equipped with 24V batteries.

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 Slots:

Controlled via exported GPIO named SIM.

echo "0" > /sys/class/gpio/sim/value
 - selects upper sim slot labelled SIM1

echo "1" > /sys/class/gpio/sim/value
 - selects lower sim slot labelled SIM2

Slot SIM2 is set as default and matches label on Router enclosure

---

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 and 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-t could be ordered from vendor with a variety of modems.
Mine came with a Quectel RM520N-GL. Quectel firmware was at RM520NGLAAR01A07M4G.
This level of firmware made some trouble connecting with some of my
SIM cardproviders.
Newer firmware level RM520NGLAAR01A08M4G_01.205.01.205 was available searching
github repositories. Upgrading my RM520-GL allowed to get successful connects
that did fail with older Quectel firmware.

Modem communication is set to ethernet control mode (ECM) by vendor.
Vendor takes advantage of ECM by wiring modem to internal switch port WWAN.
OpenWRT network configuration wants to define two network interfaces
 - Network interface covering USB0 set with high metric
 - Network interface covering WWAN set with low metric
Network interface covering WWAN would be preferred default route.

Please take note that internal switch port wired to LTE modem is named LAN5
in vendor provided firmwares. OpenWRT however names port as WWAN to better
describe purpose of port. WWAN is suggested to be assigned to firewall zone WAN.

Did use package qmodem from github repository FUjR/QModem to manage RM520N-GL LTE modem.

Signed-off-by: Jörg Seitz <github.joeterminal@xoxy.net>
Link: https://github.com/openwrt/openwrt/pull/21834
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 days agobase-files: sysupgrade: exclude apk files from backup 22937/head
Eric Fahlgren [Wed, 15 Apr 2026 01:50:37 +0000 (18:50 -0700)] 
base-files: sysupgrade: exclude apk files from backup

Exclude more apk related files from the sysupgrade backup list when
using the various options that scan /etc for changes.

Ensure removal of the system generated distfeeds list, as that
contains kernel- and version-specific urls and should never be
retained.

Also exclude any '*.apk-new' files, equivalent to the old '*-opkg'
files, which may have been created during package installation.

Example before
  $ sysupgrade -l -c | grep apk
  /etc/apk/keys/buildroot.pem
  /etc/apk/repositories.d/customfeeds.list
  /etc/apk/repositories.d/distfeeds.list
  /etc/owut.d/pre-install.sh.apk-new
  /etc/config/adblock.apk-new

After
  $ sysupgrade -l -c | grep apk
  /etc/apk/keys/buildroot.pem
  /etc/apk/repositories.d/customfeeds.list

Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22937
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agouboot-envtools: add extreme-networks,ws-ap3805i 22882/head
Rosen Penev [Fri, 10 Apr 2026 19:04:04 +0000 (12:04 -0700)] 
uboot-envtools: add extreme-networks,ws-ap3805i

This device has a redundant configuration. Important when writing to it.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22882
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agoath79: enterasys,ws-ap3805i: fix u-boot env
Rosen Penev [Fri, 10 Apr 2026 18:45:00 +0000 (11:45 -0700)] 
ath79: enterasys,ws-ap3805i: fix u-boot env

This is apparently a redundant u-boot config split between cfg1 and
cfg2. The size is also 0x10000 instead of the full amount.

This is needed in order to fix ethernet probing.

Fixes: 3faa3a04bb ("ath79: enterasys,ws-ap3805i: use nvmem")
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22882
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agotreewide: use _scoped for loop 21176/head
Rosen Penev [Wed, 3 Dec 2025 21:27:59 +0000 (13:27 -0800)] 
treewide: use _scoped for loop

Avoids refcount problems and slightly simplifies code.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21176
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 days agomtd-utils: update to v2.3.1 22946/head
Shiji Yang [Wed, 15 Apr 2026 17:05:13 +0000 (01:05 +0800)] 
mtd-utils: update to v2.3.1

Fixes:
  - ubifs-utils: link libmissing.a in case execinfo.h isn't present
  - ubifs-utils: common: fix memory leak in devtable.c
  - Broken check for GCC compiler versions
  - ubifs-utils: missing header file includes
  - ubifs-utils: tests: missing files in release tarball
  - mtd-tests: flash_speed: really skip destructive tests
  - mtd-tests: flash_speed: wrong error message in read_eraseblock()
  - serve_image: fix _POSIX_C_SOURCE define
  - ubiattach: fix wording in usage example
  - fsck.ubifs: don't use pointers that reference out-of-scope variables
  - fsck.ubifs: fix platform dependant `ino_t` and `loff_t` formatting
  - docfdisk.c: fix potential arithmetic overflows in partition size
  - jittertest: reject overlong file names

Changes:
  - ubirsvol: resize using all available free space if size is specified
    as 0

Upstreamed patches:
  - 001-ubifs-utils-link-libmissing.a-in-case-execinfo.h-isn.patch[1]
  - 002-ubifs-utils-common-fix-memory-leak-in-devtable.c.patch[2]
  - 004-Improve-check-for-GCC-compiler-version.patch[3]
  - 005-ubifs-utils-ubifs.h-Include-fcntl.h.patch[4]
  - 006-ubifs-utils-journal-Include-sys-stat.h.patch[5]
  - 007-ubifs-utils-extract_files-Include-linux-limits.h.patch[6]

[1] https://git.infraroot.at/mtd-utils.git/commit/?h=v2.3.1&id=8a83b306db64d6f60186d4396b0b770163b85b6e
[2] https://git.infraroot.at/mtd-utils.git/commit/?h=v2.3.1&id=2669111e3c60b8e146c174db5d2e7e9991f3dd87
[3] https://git.infraroot.at/mtd-utils.git/commit/?h=v2.3.1&id=ac0ab65ebcd7b11739986b81343457469fbb43b0
[4] https://git.infraroot.at/mtd-utils.git/commit/?h=v2.3.1&id=12bc9ad824bd8f18a5ec9c7154ad2374cf8c7ae3
[5] https://git.infraroot.at/mtd-utils.git/commit/?h=v2.3.1&id=173f9714c8da1d685bfa951d43b9310d16bbab3c
[6] https://git.infraroot.at/mtd-utils.git/commit/?h=v2.3.1&id=77981a2888c711268b0e7f32af6af159c2288e23
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22946
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 days agotools/mtd-utils: update to v2.3.1
Shiji Yang [Wed, 15 Apr 2026 17:03:59 +0000 (01:03 +0800)] 
tools/mtd-utils: update to v2.3.1

Fixes:
  - ubifs-utils: link libmissing.a in case execinfo.h isn't present
  - ubifs-utils: common: fix memory leak in devtable.c
  - Broken check for GCC compiler versions
  - ubifs-utils: missing header file includes
  - ubifs-utils: tests: missing files in release tarball
  - mtd-tests: flash_speed: really skip destructive tests
  - mtd-tests: flash_speed: wrong error message in read_eraseblock()
  - serve_image: fix _POSIX_C_SOURCE define
  - ubiattach: fix wording in usage example
  - fsck.ubifs: don't use pointers that reference out-of-scope variables
  - fsck.ubifs: fix platform dependant `ino_t` and `loff_t` formatting
  - docfdisk.c: fix potential arithmetic overflows in partition size
  - jittertest: reject overlong file names

Changes:
  - ubirsvol: resize using all available free space if size is specified
    as 0

Upstreamed patches:
  - 001-ubifs-utils-link-libmissing.a-in-case-execinfo.h-isn.patch[1]
  - 002-ubifs-utils-common-fix-memory-leak-in-devtable.c.patch[2]
  - 004-Improve-check-for-GCC-compiler-version.patch[3]
  - 005-ubifs-utils-ubifs.h-Include-fcntl.h.patch[4]
  - 006-ubifs-utils-journal-Include-sys-stat.h.patch[5]
  - 007-ubifs-utils-extract_files-Include-linux-limits.h.patch[6]

[1] https://git.infraroot.at/mtd-utils.git/commit/?h=v2.3.1&id=8a83b306db64d6f60186d4396b0b770163b85b6e
[2] https://git.infraroot.at/mtd-utils.git/commit/?h=v2.3.1&id=2669111e3c60b8e146c174db5d2e7e9991f3dd87
[3] https://git.infraroot.at/mtd-utils.git/commit/?h=v2.3.1&id=ac0ab65ebcd7b11739986b81343457469fbb43b0
[4] https://git.infraroot.at/mtd-utils.git/commit/?h=v2.3.1&id=12bc9ad824bd8f18a5ec9c7154ad2374cf8c7ae3
[5] https://git.infraroot.at/mtd-utils.git/commit/?h=v2.3.1&id=173f9714c8da1d685bfa951d43b9310d16bbab3c
[6] https://git.infraroot.at/mtd-utils.git/commit/?h=v2.3.1&id=77981a2888c711268b0e7f32af6af159c2288e23
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22946
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 days agolayerscape: armv8_64b: traverse ten64-mtd fix ASU support 22359/head
Mario Andrés Pérez [Tue, 10 Mar 2026 19:21:33 +0000 (20:21 +0100)] 
layerscape: armv8_64b: traverse ten64-mtd fix ASU support

The profiles.json[1] in generated and used during ASU sysupgrades takes
DEVICE_NAME as profile name which break ASU sysupgrades, use BOARD_NAME
which serves the same goal as overwriting DEVICE_NAME, allowing
sysupgrade-tar's checks be succesfully passed using the old name used in
older installations. Without affecting the generated profiles.json, thus
recovering ASU support.

*Keep the non-stardand device name with suffix "-mtd"(replaced underscore
by hyphen) to remark that this device is also supported in the armsr
(armvirt) target as originally intented[2].
*I think I have fully checked the sysupgrade path to confirm this change
does not have side effects.

[1]: https://downloads.openwrt.org/releases/25.12.0/targets/layerscape/armv8_64b/profiles.json
[2]: https://github.com/openwrt/openwrt/pull/12828
Fixes: af0546da3440dba24217949527e503820350ff05 ("layerscape: armv8_64b: add Traverse Ten64 NAND variant")
Fixes: https://github.com/openwrt/asu/issues/1583
Reported-by: DanaGoyette (github)
Co-developed-by: Eric Fahlgren <ericfahlgren@gmail.com>
Signed-off-by: Mario Andrés Pérez <mapb_@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22359
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 days agomediatek: add missing patch description
Daniel Golle [Thu, 16 Apr 2026 13:57:37 +0000 (14:57 +0100)] 
mediatek: add missing patch description

Add missing patch description, so all patches of the mediatek target can
be applied to a kernel tree using 'git am'.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
5 days agokernel: add missing patch description (again)
Daniel Golle [Thu, 16 Apr 2026 13:57:13 +0000 (14:57 +0100)] 
kernel: add missing patch description (again)

Add missing patch description, so all generic patches can be applied
to a kernel tree using 'git am'.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
5 days agomxs: drop support for 6.12
Zoltan HERPAI [Wed, 15 Apr 2026 22:09:09 +0000 (00:09 +0200)] 
mxs: drop support for 6.12

Drop support for 6.12 by removing config.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>