]> git.ipfire.org Git - thirdparty/openwrt.git/log
thirdparty/openwrt.git
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>
5 days agomxs: switch to 6.18
Zoltan HERPAI [Wed, 15 Apr 2026 22:08:28 +0000 (00:08 +0200)] 
mxs: switch to 6.18

Make 6.18 the default kernel.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
5 days agorealtek: add support for Zyxel XMG1915-10E 21341/head
Damien Dejean [Sun, 9 Mar 2025 21:25:34 +0000 (22:25 +0100)] 
realtek: add support for Zyxel XMG1915-10E

The XMG1915-10E is a switch with 8 copper ports and 2 SFP+ cages.

Specifications:
---------------
  * SoC: RTL9302C
  * Flash: 32 MiB SPI NOR flash
  * RAM: 256 MiB
  * Ethernet: 8x 10/100/1000/2500 Mbps (RTL8224)
  * SFP: 2x SFP+ cages
  * UART: 1x 4 pins serial header, 115200 bauds, 8n1, 3.3v logic levels,
          pinout: unused (top), TX, RX, GND (bottom)
  * Buttons: 1x "Reset" button

Works:
------
  - 2 SFP+ cages either 1G/10G or 2.5G
  - 8*2.5G Ethernet ports
  - Switch function
  - LEDs
  - Boot from flash
  - Assigning MAC addresses from flash

Ethernet ports:
---------------
The 8x 2.5Gbps ethernet ports are provided by two RTL8224 chips. The
ports are supported by the upstream realtek PHY driver plus a local
initialization patch for the 10g-qxgmii mode.

Installation:
-------------
This device uses ZyNOS instead of Linux which makes the installation a
bit cumbersome. OpenWRT will be installed on the slot of the second
firmware image, thus the switch original firmware can be booted with a
little change. The serial console is required.

1. Set the switch to boot from the first image. This is required to
   be sure not to be blocked in the middle of the installation
   procedure.

2. Connect to the switch using the serial adapter and interrupt the boot
   process by pressing "Enter" repeatedly.

3. Load the OpenWRT initramfs image using xmodem. From bootext console
   (use ATHE to get the list of commands):

   > ATUP 81800000,file_length
   > ATGO 81800000

4. Wait for OpenWRT to boot, once this is done transfer the loader
   binary and the sysupgrade image to /tmp using scp.

5. Install OpenWRT permanently by writing the images on the flash:

  > mtd write /tmp/loader.bin loader
  > mtd write /tmp/sysupgrade.bin firmware

6. Reboot the switch and from the stock firmware set the configuration
   to boot from the second image (Maintenance > Firmware upgrade > Boot
   image).

7. Reboot again and enjoy OpenWRT.

Recovery/Return to stock:
-------------------------
1. Connect the switch using the serial adapter and interrupt the boot
   process during the "DRAM POST: Testing:" sequence by pressing '$'
   until the "XMG1915$" prompt appears.

2. Start an ymodem upgrade using the following command and use an xmodem
   upload tool to send the .bin file provided in an OEM upgrade package.

   XMG1915$ upgradeY image2 81000000 115200
   ## Ready for binary (ymodem) download to 0x081000000 at 115200 bps...

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

Signed-off-by: Damien Dejean <dam.dejean@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21341
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agorealtek: eth: normalize ring counter/size register access 22920/head
Markus Stockhausen [Mon, 13 Apr 2026 18:04:53 +0000 (20:04 +0200)] 
realtek: eth: normalize ring counter/size register access

This refactoring is a little bit of all ...

For access to the ring counter and size registers there exist currently
separate helpers. These are only for the register number but not the
bit position inside the register. Register definitions still use the
old prefix. Resolve this mix by

- Changing the prefixes of the register defines
- replacing the helpers with the register addresses
- just calculating register & offset manually where needed.

This might be a little step back but at least aligns with the rest of
the register access code. A future commit might bring an even better
version.

While we are here convert the main consumer rteth_93xx_hw_reset() to
regmap and fix a bug. Until now this function only clears the first
counter in a register because of a missing bit shift during writeback.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22920
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agogeneric: add missing DRM settings 22928/head
Mieczyslaw Nalewaj [Tue, 14 Apr 2026 16:55:25 +0000 (18:55 +0200)] 
generic: add missing DRM settings

Add missing DRM settings.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/22928
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agochromium: Add #{address,size}-cells to /firmware 22951/head
Brian Norris [Thu, 16 Apr 2026 01:58:59 +0000 (18:58 -0700)] 
chromium: Add #{address,size}-cells to /firmware

Commit b4d7263bc3b6 ("kernel: of: avoid some unnecessary bad cell count
warnings") backported Linux commit 6e5773d52f4a ("of/address: Fix WARN
when attempting translating non-translatable addresses"), which started
requiring #address-cells for a device's parent if we want to use the
reg resource in a device node.

Many Chromium devices use a /firmware/coreboot device node that is
patched in by the boot firmware. These structures look something like:

  # find /sys/firmware/devicetree/base/firmware/
  /sys/firmware/devicetree/base/firmware/
  /sys/firmware/devicetree/base/firmware/scm
  /sys/firmware/devicetree/base/firmware/scm/compatible
  /sys/firmware/devicetree/base/firmware/scm/name
  /sys/firmware/devicetree/base/firmware/ranges
  /sys/firmware/devicetree/base/firmware/chromeos
  /sys/firmware/devicetree/base/firmware/chromeos/fmap-offset
  /sys/firmware/devicetree/base/firmware/chromeos/compatible
  /sys/firmware/devicetree/base/firmware/chromeos/readonly-firmware-version
  /sys/firmware/devicetree/base/firmware/chromeos/nonvolatile-context-storage
  /sys/firmware/devicetree/base/firmware/chromeos/hardware-id
  /sys/firmware/devicetree/base/firmware/chromeos/firmware-type
  /sys/firmware/devicetree/base/firmware/chromeos/vboot-shared-data
  /sys/firmware/devicetree/base/firmware/chromeos/nonvolatile-context-offset
  /sys/firmware/devicetree/base/firmware/chromeos/firmware-version
  /sys/firmware/devicetree/base/firmware/chromeos/nonvolatile-context-size
  /sys/firmware/devicetree/base/firmware/chromeos/name
  /sys/firmware/devicetree/base/firmware/coreboot
  /sys/firmware/devicetree/base/firmware/coreboot/compatible
  /sys/firmware/devicetree/base/firmware/coreboot/board-id
  /sys/firmware/devicetree/base/firmware/coreboot/reg
  /sys/firmware/devicetree/base/firmware/coreboot/name
  /sys/firmware/devicetree/base/firmware/name

Notably, there is no #{address,size}-cells in /firmware.

This breaks any driver relying on a device under /firmware, such as the
coreboot_table driver.

This is technically an ill-formatted FDT, and so we might as well just
add the properties ourselves.

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22951
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agorealtek: dsa: rename header file 22931/head
Markus Stockhausen [Tue, 14 Apr 2026 19:40:23 +0000 (21:40 +0200)] 
realtek: dsa: rename header file

The rtl838x.h header is needed for all targets and not only RTL838x
specific. Rename it to rtl-otto.h to make clear that this is a
generic include.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22931
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agorealtek: dsa: merge headers
Markus Stockhausen [Tue, 14 Apr 2026 19:40:22 +0000 (21:40 +0200)] 
realtek: dsa: merge headers

There are currently two header files for the dsa driver. rtl83xx.h
and rtl838x.h. It is unclear for what reason they are separated.
Especially as one always includes the other. Merge those two files
into one.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22931
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agokernel: lantiq: convert Makefile EXTRA_CFLAGS to ccflags-y 22921/head
Shiji Yang [Mon, 13 Apr 2026 23:59:03 +0000 (07:59 +0800)] 
kernel: lantiq: convert Makefile EXTRA_CFLAGS to ccflags-y

EXTRA_CFLAGS was removed since Linux 6.15 kernel.

Link: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.15.y&id=e966ad0edd0056c7491b8f23992c11734ab61ddf
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22921
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agokernel: kmod-ltq-tapi: adapt to the 6.18 kernel timer API
Shiji Yang [Mon, 13 Apr 2026 23:54:21 +0000 (07:54 +0800)] 
kernel: kmod-ltq-tapi: adapt to the 6.18 kernel timer API

Fix build error on the 6.18 kernel.

Link:
[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.18.y&id=87bdd932e85881895d4720255b40ac28749c4e32
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.18.y&id=41cb08555c4164996d67c78b3bf1c658075b75f1
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22921
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agokernel: kmod-ltq-deu: rename some sha1 functions
Shiji Yang [Mon, 13 Apr 2026 23:47:50 +0000 (07:47 +0800)] 
kernel: kmod-ltq-deu: rename some sha1 functions

They are conflict with the kernel crypto library on 6.18 kernel.
Fixes:

ifxmips_sha1.c:83:8: error: redefinition of 'struct sha1_ctx'
   83 | struct sha1_ctx {
      |        ^~~~~~~~
In file included from ifxmips_sha1.c:50:
/workspaces/openwrt/build_dir/target-mips_24kc_musl/linux-lantiq_xway/linux-6.18.21/include/crypto/sha1.h:50:8: note: originally defined here
   50 | struct sha1_ctx {
      |        ^~~~~~~~
ifxmips_sha1.c:164:12: error: conflicting types for 'sha1_update'; have 'int(struct shash_desc *, const u8 *, unsigned int)' {aka 'int(struct shash_desc *, const unsigned char *, unsigned int)'}
  164 | static int sha1_update(struct shash_desc * desc, const u8 *data,
      |            ^~~~~~~~~~~
/workspaces/openwrt/build_dir/target-mips_24kc_musl/linux-lantiq_xway/linux-6.18.21/include/crypto/sha1.h:76:6: note: previous declaration of 'sha1_update' with type 'void(struct sha1_ctx *, const u8 *, size_t)' {aka 'void(struct sha1_ctx *, const unsigned char *, unsigned int)'}
   76 | void sha1_update(struct sha1_ctx *ctx, const u8 *data, size_t len);
      |      ^~~~~~~~~~~
ifxmips_sha1.c:195:12: error: conflicting types for 'sha1_final'; have 'int(struct shash_desc *, u8 *)' {aka 'int(struct shash_desc *, unsigned char *)'}
  195 | static int sha1_final(struct shash_desc *desc, u8 *out)
      |            ^~~~~~~~~~
/workspaces/openwrt/build_dir/target-mips_24kc_musl/linux-lantiq_xway/linux-6.18.21/include/crypto/sha1.h:87:6: note: previous declaration of 'sha1_final' with type 'void(struct sha1_ctx *, u8 *)' {aka 'void(struct sha1_ctx *, unsigned char *)'}
   87 | void sha1_final(struct sha1_ctx *ctx, u8 out[SHA1_DIGEST_SIZE]);
      |      ^~~~~~~~~~

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22921
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agokernel: kmod-ltq-deu: fix discarded-qualifiers build error
Shiji Yang [Mon, 13 Apr 2026 23:46:35 +0000 (07:46 +0800)] 
kernel: kmod-ltq-deu: fix discarded-qualifiers build error

Fixes:

ifxmips_aes.c: In function 'gcm_aes_decrypt':
ifxmips_aes.c:1803:14: error: assignment discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers]
 1803 |         temp = walk.src.virt.addr;
      |              ^

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22921
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agokernel: kmod-ltq-atm: fix discarded-qualifiers build error
Shiji Yang [Mon, 13 Apr 2026 23:37:23 +0000 (07:37 +0800)] 
kernel: kmod-ltq-atm: fix discarded-qualifiers build error

Fixes:

ltq_atm.c: In function 'ltq_atm_probe':
ltq_atm.c:1840:36: error: passing argument 2 of 'platform_set_drvdata' discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers]
 1840 |         platform_set_drvdata(pdev, ops);
      |                                    ^~~
In file included from ltq_atm.c:40:
/workspaces/openwrt/build_dir/target-mips_24kc_musl/linux-lantiq_xway/linux-6.18.21/include/linux/platform_device.h:276:47: note: expected 'void *' but argument is of type 'const struct ltq_atm_ops *'
  276 |                                         void *data)
      |                                         ~~~~~~^~~~

Fixes: c1fa85f65931 ("treewide: use of_device_get_match_data")
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22921
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agorealtek: dts: convert DGS-1250-28X to SWITCH_PORT_SFP() 22947/head
Markus Stockhausen [Wed, 15 Apr 2026 19:09:13 +0000 (21:09 +0200)] 
realtek: dts: convert DGS-1250-28X to SWITCH_PORT_SFP()

Use the new macro for the SFP ports.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22947
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agoixp4xx/kernel: drop v6.12 and default to v6.18 22933/head
Linus Walleij [Tue, 14 Apr 2026 22:29:28 +0000 (00:29 +0200)] 
ixp4xx/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/22933
Signed-off-by: Linus Walleij <linusw@kernel.org>
6 days agogithub: labeler: Update dependencies 22903/head
Hauke Mehrtens [Sun, 12 Apr 2026 15:34:13 +0000 (17:34 +0200)] 
github: labeler: Update dependencies

Update to the most recent version.
The biggest change is the switch to Node.js 24.

Link: https://github.com/openwrt/openwrt/pull/22903
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 days agogithub: github-release: update dependencies
Hauke Mehrtens [Sun, 12 Apr 2026 15:33:22 +0000 (17:33 +0200)] 
github: github-release: update dependencies

Update the dependencies to the latest version.
The biggest change is the update to Node.js 24.

Link: https://github.com/openwrt/openwrt/pull/22903
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 days agod1: enable 6.18 testing kernel
Zoltan HERPAI [Thu, 2 Apr 2026 21:32:12 +0000 (23:32 +0200)] 
d1: enable 6.18 testing kernel

The d1 target now supports 6.18 kernel as testing.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
6 days agod1: refresh patches for 6.18
Zoltan HERPAI [Fri, 3 Apr 2026 15:19:04 +0000 (17:19 +0200)] 
d1: refresh patches for 6.18

Refresh patches.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
6 days agod1: drop audio patches from 6.18
Zoltan HERPAI [Thu, 2 Apr 2026 21:32:35 +0000 (23:32 +0200)] 
d1: drop audio patches from 6.18

These were not in use and can be dropped for now.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
6 days agod1: add missing symbols for 6.18
Zoltan HERPAI [Wed, 15 Apr 2026 07:31:52 +0000 (09:31 +0200)] 
d1: add missing symbols for 6.18

These were found while upgrading the target to 6.18.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
6 days agod1: refresh config for 6.18
Zoltan HERPAI [Thu, 2 Apr 2026 21:31:42 +0000 (23:31 +0200)] 
d1: refresh config for 6.18

Refresh config for 6.18.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
6 days agogeneric/6.18: add missing symbols
Zoltan HERPAI [Sun, 29 Mar 2026 21:38:04 +0000 (21:38 +0000)] 
generic/6.18: add missing symbols

Add missing symbols that were found during migrating d1 to 6.18.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
6 days agokernel/d1: restore files for v6.12
Zoltan HERPAI [Thu, 2 Apr 2026 14:06:33 +0000 (16:06 +0200)] 
kernel/d1: 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>
6 days agokernel/d1: create files for v6.18 (from v6.12)
Zoltan HERPAI [Thu, 2 Apr 2026 14:06:33 +0000 (16:06 +0200)] 
kernel/d1: 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>
6 days agoairoha: backport optimization in QDMA rx queue descriptor setup
Christian Marangi [Wed, 15 Apr 2026 12:46:25 +0000 (14:46 +0200)] 
airoha: backport optimization in QDMA rx queue descriptor setup

Backport patch merged upstream that optimize the QDMA rx queue descriptor
setup by configuring the CPU IDX only when needed.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
6 days agoairoha: fix compilation error from VIP backport patch
Christian Marangi [Wed, 15 Apr 2026 12:38:08 +0000 (14:38 +0200)] 
airoha: fix compilation error from VIP backport patch

It seems that upstream one of the patch had a compilation erro caused by
merging net and net-next and it was fixed silently in a merge commit.

Fix this error in the affected patch.

Fixes: 155c610962af ("airoha: backport additional patch for memory leak and multi-serdes rework")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
6 days agoairoha: backport additional patch for memory leak and multi-serdes rework
Christian Marangi [Wed, 15 Apr 2026 08:13:11 +0000 (10:13 +0200)] 
airoha: backport additional patch for memory leak and multi-serdes rework

Backport upstream memory leak patch merged upstream and even more
preliminary patch for multi-serdes rewrk.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
6 days agogpio-button-hotplug: remove LINUX_VERSION_CODE 22925/head
Rosen Penev [Tue, 14 Apr 2026 02:56:00 +0000 (19:56 -0700)] 
gpio-button-hotplug: remove LINUX_VERSION_CODE

The 6.18 code works with older kernels as well. Remove the older section
and use the newer one always.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22925
Signed-off-by: Robert Marko <robimarko@gmail.com>
6 days agobase-files: add warning to distfeeds.list 22586/head
Eric Fahlgren [Tue, 24 Mar 2026 15:28:27 +0000 (08:28 -0700)] 
base-files: add warning to distfeeds.list

Add a message to the apk distfeeds.list that changes won't be saved
and that users should modify customfeeds.list instead.

Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22586
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 days agoixp4xx: add 6.18 testing kernel 22896/head
Linus Walleij [Sat, 11 Apr 2026 21:01:43 +0000 (23:01 +0200)] 
ixp4xx: add 6.18 testing kernel

Allow for selecting v6.18 it as a testing kernel. One single
Kconfig option needed adding.

Link: https://github.com/openwrt/openwrt/pull/22896
Signed-off-by: Linus Walleij <linusw@kernel.org>
7 days agokernel/ixp4xx: update config for v6.18
Linus Walleij [Sat, 11 Apr 2026 20:57:28 +0000 (22:57 +0200)] 
kernel/ixp4xx: update config for v6.18

The new symbol CONFIG_PAGE_BLOCK_MAX_ORDER typical value
for ARM is 9 (2MB) so set this.

Link: https://github.com/openwrt/openwrt/pull/22896
Signed-off-by: Linus Walleij <linusw@kernel.org>
7 days agokernel/ixp4xx: bump patches for v6.18
Linus Walleij [Sat, 11 Apr 2026 20:49:46 +0000 (22:49 +0200)] 
kernel/ixp4xx: bump patches for v6.18

A bunch of the patches are now upstream, remove them, rename the
remaining patch and refresh.

Link: https://github.com/openwrt/openwrt/pull/22896
Signed-off-by: Linus Walleij <linusw@kernel.org>
7 days agokernel/ixp4xx: restore files for v6.12
Linus Walleij [Sat, 11 Apr 2026 20:38:33 +0000 (22:38 +0200)] 
kernel/ixp4xx: 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/22896
Signed-off-by: Linus Walleij <linusw@kernel.org>
7 days agokernel/ixp4xx: create files for v6.18 (from v6.12)
Linus Walleij [Sat, 11 Apr 2026 20:38:33 +0000 (22:38 +0200)] 
kernel/ixp4xx: 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/22896
Signed-off-by: Linus Walleij <linusw@kernel.org>
7 days agouboot-tools: fix libyaml linker error 22927/head
Shiji Yang [Tue, 14 Apr 2026 13:52:50 +0000 (21:52 +0800)] 
uboot-tools: fix libyaml linker error

When we cross build uboot-tools, the dtc tool is still compiled for
the host. Therefore, we should not attempt to link the OpenWrt system
libraries. CPU architecture mismatch can lead to build errors.

Fixes: https://github.com/openwrt/openwrt/issues/22924
Fixes: 55925650aabb ("uboot-tools: update to v2026.04")
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22927
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 days agoqualcommax: ipq5018: pz-l8: enable PHY-to-PHY CPU link 21496/head
Ziyang Huang [Fri, 9 Jan 2026 15:17:12 +0000 (23:17 +0800)] 
qualcommax: ipq5018: pz-l8: enable PHY-to-PHY CPU link

So we can reach 2Gbps.

Signed-off-by: Ziyang Huang <hzyitc@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/21496
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 days agoqualcommax: qca8337: fix multi CPU links issue
Ziyang Huang [Wed, 14 Jan 2026 15:39:16 +0000 (23:39 +0800)] 
qualcommax: qca8337: fix multi CPU links issue

Use correct CPU link when having multi CPU ports.

Signed-off-by: Ziyang Huang <hzyitc@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/21496
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 days agogeneric: phy: adm6996: fix build on 6.18 kernel 22917/head
Shiji Yang [Sat, 11 Apr 2026 00:34:00 +0000 (08:34 +0800)] 
generic: phy: adm6996: fix build on 6.18 kernel

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

target/linux/generic/files/drivers/net/phy/adm6996.c: In function 'adm6996_gpio_probe':
target/linux/generic/files/drivers/net/phy/adm6996.c:1183:15: error: implicit declaration of function 'devm_gpio_request'; did you mean 'devm_gpio_request_one'? [-Wimplicit-function-declaration]
 1183 |         ret = devm_gpio_request(&pdev->dev, priv->eecs, "adm_eecs");
      |               ^~~~~~~~~~~~~~~~~
      |               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/22917
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 days agorealtek: pcs: add media type for PCB 22814/head
Jonas Jelonek [Mon, 2 Feb 2026 22:30:05 +0000 (22:30 +0000)] 
realtek: pcs: add media type for PCB

Previous commits carved out some TX configuration from different places
into a dedicated function. A cause of this is a behavioral change where
the TX amplifier values aren't applied anymore if it isn't a "fiber
mode". To restore this behavior and make the media/TX-RX configuration
more generic, we need a dedicated media type. The existing ones only
cover fiber and DACs, but not the other left case where a PHY is
attached to the SerDes. This now calls set_media for USXGMII and XSGMII
modes intentionally, both to prepare for future changes and to restore
previous behavior.

We do not have a reliable way to distinct between the actually used
media types, this is still a TODO. But several parts of the code already
have different values applied based on this information. Moreover, this
is especially needed for DAC cables to work properly. While this is
missing, we need to rely on inferring the media from the SerDes mode.

While at it, improve the call site of media handling since there's a
media type for all cases now. This allows to reduce the number of
function calls by moving it out and just have the media type in the
decision block.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22814
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 days agorealtek: pcs: rtl931x: start to carve out tx config
Jonas Jelonek [Sat, 31 Jan 2026 23:34:30 +0000 (23:34 +0000)] 
realtek: pcs: rtl931x: start to carve out tx config

Proceed with the consolidation of TX/RX path config by carving out some
TX configuration out into a separate function. For now, this only
affects TX amplifier config. But it already slims down other polluted
call sites and brings some structure into the TX/RX path config.

While at it, already provide a similar function for RX configuration.
This does nothing yet but should be filled with RX path config later.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22814
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 days agorealtek: pcs: rtl931x: demystify some setup magic
Jonas Jelonek [Wed, 4 Feb 2026 20:19:55 +0000 (20:19 +0000)] 
realtek: pcs: rtl931x: demystify some setup magic

Shed some light into the darkness by giving a part of the setup a
dedicated name. This applies to the magic data blocks in the generic
setup entrypoint and some writes in the media handling. This was just
copied from the SDK which doesn't annotate this properly with
information. But we can clearly connect this with some other functions
of the SDK and extract meaningful information.

The mentioned magic blocks and register writes set coefficients of three
amplifiers in the TX path, a pre-amp, a main-amp and a post-amp. They
are used to tune the signal for different kinds of media. Generic values
are applied for all SerDes and further special values for different media
types depending on the needs.

Provide a dedicated function that sets these amplifier coefficients.
Replace the mystic register writes with the function call so one can see
at a glance what's happening. Also replace the magic TX values with the
coefficients organized into a separate struct. This might be extended
further and is also applicable for RTL930x.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22814
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 days agorealtek: pcs: rtl931x: condense similar writes
Jonas Jelonek [Fri, 27 Mar 2026 11:22:00 +0000 (12:22 +0100)] 
realtek: pcs: rtl931x: condense similar writes

Within RTL931x set_media, two writes are applied in general for all modes
but later again changed depending on the mode. This is a confusing
pattern. To fix this, move those generic writes into the switch-block as
a default case. To maintain behavior, pull the 10G guard into the fiber
media case.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22814
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 days agorealtek: pcs: rtl931x: relocate analog reset
Jonas Jelonek [Fri, 27 Mar 2026 11:16:14 +0000 (12:16 +0100)] 
realtek: pcs: rtl931x: relocate analog reset

Relocate the analog reset code within set_media for RTL931X to have it
in one place at the very top of the function, running all reset actions
before further real configuration is done. Also drop a separate call to
rx_reset because a subsequent sequence already includes this
functionality.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22814
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 days agocrypto: inside-secure/eip93: fix hmac setkey algo selection 22886/head
Kenneth Kasilag [Fri, 10 Apr 2026 23:56:38 +0000 (23:56 +0000)] 
crypto: inside-secure/eip93: fix hmac setkey algo selection

eip93_hmac_setkey() allocates a temporary ahash transform for
computing HMAC ipad/opad key material. The allocation uses the
driver-specific cra_driver_name (e.g. "sha256-eip93") but passes
CRYPTO_ALG_ASYNC as the mask, which excludes async algorithms.

Since the EIP93 hash algorithms are the only ones registered
under those driver names and they are inherently async, the
lookup is self-contradictory and always fails with -ENOENT.

When called from the AEAD setkey path, this failure leaves the
SA record partially initialized with zeroed digest fields. A
subsequent crypto operation then dereferences a NULL pointer in
the request context, resulting in a kernel panic:

```
  pc : eip93_aead_handle_result+0xc8c/0x1240 [crypto_hw_eip93]
  lr : eip93_aead_handle_result+0xbec/0x1240 [crypto_hw_eip93]
  sp : ffffffc082feb820
  x29: ffffffc082feb820 x28: ffffff8011043980 x27: 0000000000000000
  x26: 0000000000000000 x25: ffffffc078da0bc8 x24: 0000000091043980
  x23: ffffff8004d59e50 x22: ffffff8004d59410 x21: ffffff8004d593c0
  x20: ffffff8004d593c0 x19: ffffff8004d4f300 x18: 0000000000000000
  x17: 0000000000000000 x16: 0000000000000000 x15: 0000007fda7aa498
  x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000000
  x11: 0000000000000000 x10: fffffffff8127a80 x9 : 0000000000000000
  x8 : ffffff8004d4f380 x7 : 0000000000000000 x6 : 000000000000003f
  x5 : 0000000000000040 x4 : 0000000000000008 x3 : 0000000000000009
  x2 : 0000000000000008 x1 : 0000000028000003 x0 : ffffff8004d388c0
  Code: 910142b6 f94012e0 f9002aa0 f90006d3 (f9400740)
```

The reported symbol eip93_aead_handle_result+0xc8c is a
resolution artifact from static functions being merged under
the nearest exported symbol. Decoding the faulting sequence:

```
  910142b6  ADD  X22, X21, #0x50
  f94012e0  LDR  X0, [X23, #0x20]
  f9002aa0  STR  X0, [X21, #0x50]
  f90006d3  STR  X19, [X22, #0x8]
  f9400740  LDR  X0, [X26, #0x8]
```

The faulting LDR at [X26, #0x8] is loading ctx->flags
(offset 8 in eip93_hash_ctx), where ctx has been resolved
to NULL from a partially initialized or unreachable
transform context following the failed setkey.

Fix this by dropping the CRYPTO_ALG_ASYNC mask from the
crypto_alloc_ahash() call. The code already handles async
completion correctly via crypto_wait_req(), so there is no
requirement to restrict the lookup to synchronous algorithms.

Note that hashing a single 64-byte block through the hardware
is likely slower than doing it in software due to the DMA
round-trip overhead, but offloading it may still spare CPU
cycles on the slower embedded cores where this IP is found.

Fixes: 9739f5f93b78 ("crypto: eip93 - Add Inside Secure SafeXcel EIP-93 crypto engine support")
Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
[Detailed investigation report of this bug]
Signed-off-by: Kenneth Kasilag <kenneth@kasilag.me>
Link: https://github.com/openwrt/openwrt/pull/22886
Signed-off-by: Robert Marko <robimarko@gmail.com>