]> git.ipfire.org Git - thirdparty/openwrt.git/log
thirdparty/openwrt.git
3 months agomediatek: filogic: add support for Bazis AX3000WM 21924/head
Fil Dunsky [Sun, 1 Feb 2026 09:33:53 +0000 (12:33 +0300)] 
mediatek: filogic: add support for Bazis AX3000WM

 - SoC: MediaTek MT7981B
 - CPU: 2x 1.3 GHz Cortex-A53
 - Flash: 128 MiB SPI NAND (Winbond W25N01GV)
 - RAM: 256 MiB (Nanya NT5CC128M16JR-EK)
 - WLAN: 2.4 GHz, 5 GHz (MediaTek MT7976CN, 802.11ax)
 - Ethernet: 1x 10/100/1000/2500 Mbps MaxLinear GPY211C WAN, 1x10/100/1000 Mbps MT7981 LAN
 - USB 3.0 port
 - 2x buttons: Reset, Mesh
 - 3x LEDs on top panel (red, green, blue)
 - 3x PHY port LEDs (1 amber, 2 green)
 - Board version: WD830M V2.0
 - Power: 5 VDC, 3 A

UART: internal test points, 3V3 115200 8N1 (RX, TX, GND)

Interface MAC Algorithm
LAN (label) 1c:bf:ce:xx:xx:x1 0x4
WAN 1c:bf:ce:xx:xx:x2 0xa
WLAN 2.4G 1c:bf:ce:xx:xx:x3 0x2a
WLAN 5G 1c:bf:ce:xx:xx:x4 0x24

At the moment installation is possible via UART only since SSH root
is password protected.

Set a static ip on the ethernet interface of your PC:
(ip address: 192.168.1.2, subnet mask:255.255.255.0).
Boot into initramfs via TFTP:
```
setenv serverip 192.168.1.2
tftpboot 0x46000000 openwrt-mediatek-filogic-bazis_ax3000wm-initramfs-recovery.itb
bootm 0x46000000
```

Install kmod-mtd-rw and activate it:
```
apk update && apk add kmod-mtd-rw
insmod mtd-rw i_want_a_brick=1
```
Upload to the router and write OpenWrt BL2 and FIP bootloader:
```
mtd write openwrt-mediatek-filogic-bazis_ax3000wm-preloader.bin BL2
mtd write openwrt-mediatek-filogic-bazis_ax3000wm-bl31-uboot.fip FIP
```
Prepare ubi partition:
```
ubidetach -p /dev/mtd4
ubiformat /dev/mtd4 -y
ubiattach -p /dev/mtd4
```

Upgrade via luci web interface with sysupgrade file or by issuing a command:
```
sysupgrade -n openwrt-mediatek-filogic-bazis_ax3000wm-squashfs-sysupgrade.itb
```
Signed-off-by: Fil Dunsky <filipp.dunsky@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21813
(cherry picked from commit 658e4adca4b69e6ef18601ceb0fbae0a74f2b653)
Link: https://github.com/openwrt/openwrt/pull/21924
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agopackage: uboot-qoriq: fix T4240RDB u-boot selection 21477/head
Pawel Dembicki [Mon, 12 Jan 2026 08:39:16 +0000 (09:39 +0100)] 
package: uboot-qoriq: fix T4240RDB u-boot selection

Mark T4240RDB u-boot variants as device-built and avoid installing them into rootfs.

Without this buildbot crashes during package install with:

ERROR: unable to select packages:

  u-boot-fsl_T4240RDB-nor (no such package):

    required by: world[u-boot-fsl_T4240RDB-nor]

  u-boot-fsl_T4240RDB-sdboot (no such package):

    required by: world[u-boot-fsl_T4240RDB-sdboot]

Fixes: c5d3d5fe28f7 ("package: u-boot: initial support for qoriq arch")
Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21514
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 20727f89d524ffc2970165a5f91558b3785ea249)
Link: https://github.com/openwrt/openwrt/pull/21477
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agoqoriq: kernel: refresh config
Pawel Dembicki [Fri, 12 Dec 2025 23:25:46 +0000 (00:25 +0100)] 
qoriq: kernel: refresh config

Done by 'make kernel_oldconfig'.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/10941
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
(cherry picked from commit ffda7e6748bcff73e4813364e528940cd501c390)
Link: https://github.com/openwrt/openwrt/pull/21477
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agoqoriq: add support for NXP T4240RDB board
Pawel Dembicki [Wed, 19 Nov 2025 21:58:54 +0000 (22:58 +0100)] 
qoriq: add support for NXP T4240RDB board

Hardware specs:
  - NXP T4240, 12C/24T @ 1.67 GHz
  - 3 × 2 GB DDR3 SO-DIMM
  - 128 MB NOR flash
  - 2 GB SLC NAND
  - SD card interface
  - PCIe: x4 and x8
  - SATA 3 Gbps
  - 8 × 1 GbE
  - 4 × 10 GbE SFP
  - RTC

This commit adds the sysupgrade and factory images for T4240RDB board in
both variants:
  - nor: for booting and read whole system from NOR memory
  - sdboot: for booting and read whole system from SD card

SD Card images install:

  - Burn image to sdcard. E.g:
      gunzip -c gunzip -c openwrt-qoriq-generic-fsl_T4240RDB-squashfs-sdcard.img.gz | \
      sudo dd of=/dev/mmcblk0 conv=fsync,notrunc status=progress bs=4M && sync
  - Download lastest Cortina PHY firmware from NXP github [1], if you accept their
    EULA [2].
  - Install Cortina PHY on image, E.g:
      dd if=cs4315-cs4340-PHY-ucode.txt of=/dev/mmcblk0 bs=1 seek=2M
  - Insert SD-Card to SD slot
  - Switch SW3.4 to OFF
  - Configre mac addresses from sticker in u-boot. E.g:
      setenv ethaddr 00:10:f3:3a:a8:66
      setenv eth1addr 00:10:f3:3a:a8:67
      setenv eth2addr 00:10:f3:3a:a8:68
      setenv eth3addr 00:10:f3:3a:a8:69
      setenv eth4addr 00:10:f3:3a:a8:6a
      setenv eth5addr 00:10:f3:3a:a8:6b
      setenv eth6addr 00:10:f3:3a:a8:6c
      setenv eth7addr 00:10:f3:3a:a8:6d
      setenv eth8addr 00:10:f3:3a:a8:6e
      setenv eth9addr 00:10:f3:3a:a8:6f
      setenv eth10addr 00:10:f3:3a:a8:70
      setenv eth11addr 00:10:f3:3a:a8:71
      saveenv
  - reset and boot

NOR images install:

  - download and extract factory image on tftp server root
  - boot device and stop in u-boot (from nor or sd card u-boot)
  - configure server and ip address. E.g:
      setenv ipaddr 192.168.1.2
      setenv serverip 192.168.1.1
  - Download image and run flashing:
      tftpboot $loadaddr openwrt-qoriq-generic-fsl_T4240RDB-squashfs-factory-nor.bin
      protect off all
      erase $fwaddr +$filesize
      cp.b $loadaddr $fwaddr $filesize
  - Switch SW3.4 to ON
  - Switch SW3.1-3 to OFF
  - reboot
  - Do postprocessing (see bellow)

NOR images post processing:

  - Configre mac addresses from sticker in u-boot. E.g:
      setenv ethaddr 00:10:f3:3a:a8:66
      setenv eth1addr 00:10:f3:3a:a8:67
      setenv eth2addr 00:10:f3:3a:a8:68
      setenv eth3addr 00:10:f3:3a:a8:69
      setenv eth4addr 00:10:f3:3a:a8:6a
      setenv eth5addr 00:10:f3:3a:a8:6b
      setenv eth6addr 00:10:f3:3a:a8:6c
      setenv eth7addr 00:10:f3:3a:a8:6d
      setenv eth8addr 00:10:f3:3a:a8:6e
      setenv eth9addr 00:10:f3:3a:a8:6f
      setenv eth10addr 00:10:f3:3a:a8:70
      setenv eth11addr 00:10:f3:3a:a8:71
      saveenv
  - boot
  - Download and refresh RCW stored in eeprom:
      tr '\0' '\377' < /dev/zero | dd bs=256 of=/sys/bus/i2c/devices/0-0050/eeprom
      cat /tmp/openwrt-qoriq-generic-fsl_T4240RDB-squashfs-rcw.bin > /sys/bus/i2c/devices/0-0050/eeprom
  - Download lastest Cortina PHY firmware from NXP github [1], if you accept their
    EULA [2].
  - Install Cortina PHY on image, E.g:
      mtd write cs4315-cs4340-PHY-ucode.txt /dev/mtd4
  - reset and boot

[1] https://raw.githubusercontent.com/nxp-qoriq/qoriq-firmware-cortina/refs/tags/lf-6.12.34-2.1.0/cs4315-cs4340-PHY-ucode.txt
[2] https://github.com/nxp-qoriq/qoriq-firmware-cortina/blob/lf-6.12.34-2.1.0/EULA.txt

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/10941
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
(cherry picked from commit 0a2b3b66dbe04f3169731dc2f52a48c128d6a059)
Link: https://github.com/openwrt/openwrt/pull/21477
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agopackage: u-boot: initial support for qoriq arch
Pawel Dembicki [Fri, 7 Oct 2022 12:25:20 +0000 (14:25 +0200)] 
package: u-boot: initial support for qoriq arch

This package adds initial u-boot support for qoriq target.

U-boot for qoriq devices must be compiled with 32-bit compiler and
linked with 32-bit linker. It's part of mpc 85xx target. But qoriq
target is 64-bit. As workaround, mpc85xx binary toolchain is downloaded
only for this u-boot.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/10941
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
(cherry picked from commit c5d3d5fe28f7990c4a2e7837962244c00e3c355a)
Link: https://github.com/openwrt/openwrt/pull/21477
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agokernel: move patch from mpc85xx to pending
Pawel Dembicki [Fri, 9 Jan 2026 08:37:01 +0000 (09:37 +0100)] 
kernel: move patch from mpc85xx to pending

The patch "Revert "powerpc: dts: mpc85xx: remove "simple-bus" compatible
from ifc node" has been sent upstream [0].

It is also required for qoriq target and in this commit it is moved to
the generic/pending folder.

[0] https://patchwork.ozlabs.org/project/linuxppc-dev/patch/20251105205524.17362-1-rosenp@gmail.com/

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/10941
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
(cherry picked from commit 5ed0f5a6dd70cc17c3b7c096b2535a9a30105503)
Link: https://github.com/openwrt/openwrt/pull/21477
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agobuild: propagate errors when generating apk indexes
Matt Merhar [Wed, 11 Feb 2026 19:33:15 +0000 (14:33 -0500)] 
build: propagate errors when generating apk indexes

The build would continue even if the some of the intermediate commands
failed, as long as the last command in the final iteration of the loop
was successful.

Add 'set -e' to the subshell so that we immediately exit. Previously,
only the exit status of the final make-index-json.py mattered.

Fixes: https://github.com/openwrt/openwrt/issues/21981
Signed-off-by: Matt Merhar <mattmerhar@protonmail.com>
Link: https://github.com/openwrt/openwrt/pull/21993
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit fcb07b00ec22b90fc0cd790701982018ee345366)

3 months agox86: base-files add support for Sophos 210r3 and 230r2
Raylynn Knight [Sun, 8 Feb 2026 09:23:08 +0000 (04:23 -0500)] 
x86: base-files add support for Sophos 210r3 and 230r2

This fixes a previous commit for Sophos XG 210r3 which was missing
board_name mapping and adds support for the SG related version and the
XG/SG 230r2 which is the same hardware with a faster processor.

Sophos board_name mapping was modified to support all Sophos
SG/XG devices.

Sophos SG/XG 210r3 and SG/XG 230r2 are rackmounted x86 based firewall
with 6 RJ-45 gigabit ethernet ports (eth0-5) and 2 SFP gigabit ethernet
ports (eth6, eth7) all running Intel NICs supported by igb driver. The 210r3
and 230r2 only differ in the processor used.  This board update maps
eth1 (marked as WAN) as wan and eth0 and eth2-5 as lan.  Leaving the
two SFP ports unmapped.

Fixes: 4880e8e338fc ("x86: add board mapping for Sophos XG 210r3")
Signed-off-by: Raylynn Knight <rayknight@me.com>
Link: https://github.com/openwrt/openwrt/pull/21959
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit d0c82dbb177b33543de8bf6d537436b889273720)

3 months agomvebu: add depends for Turris MOX boards
Tomáš Macholda [Mon, 10 Nov 2025 15:57:14 +0000 (16:57 +0100)] 
mvebu: add depends for Turris MOX boards

Add dependencies for Turris MOX board modules directly as
DEVICE_PACKAGES. (So that users don't have to add them manually.)

The device uses an SD card for primary storage so space shouldn't be an
issue.

Signed-off-by: Tomáš Macholda <tomas.macholda@nic.cz>
Link: https://github.com/openwrt/openwrt/pull/21151
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit bbfee76d1d7a08a5a89eb1d15a106ff567039521)

3 months agoapk: handle edge case when parsing .apk files 22001/head
Matt Merhar [Wed, 11 Feb 2026 22:30:53 +0000 (17:30 -0500)] 
apk: handle edge case when parsing .apk files

This was a regression introduced in the recent alignment changes and led
to failures when reading (i.e. 'mkndx') certain packages like follows:

ERROR: python3-botocore-1.31.7-r1.apk: unexpected end of file

It affected packages with a header size greater than the read buffer
size of 128KB but less than 160KB (128KB + (128KB / 4)).

In those cases, we'd attempt a 0 byte read, leading to APKE_EOF.

Based on some tests of files across multiple archs and feeds, it seems
the only packages meeting those criteria were python3-botocore and
golang-github-jedisct1-dnscrypt-proxy2-dev.

Fixes: 64ec08eee1 ("apk: backport upstream fixes for unaligned access")
Signed-off-by: Matt Merhar <mattmerhar@protonmail.com>
Link: https://github.com/openwrt/openwrt/pull/21992
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 8c6ed4e927373282b654420ad3962a6a0ea110c3)
Link: https://github.com/openwrt/openwrt/pull/22001
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agomvebu: cortex-a53: respect DEVICE_packages for Methode devices
Robert Marko [Mon, 9 Feb 2026 11:33:20 +0000 (12:33 +0100)] 
mvebu: cortex-a53: respect DEVICE_packages for Methode devices

Use the added support for generating per device targz rootfs so that images
generated for Methode devices when CONFIG_TARGET_MULTI_PROFILE and
CONFIG_TARGET_PER_DEVICE_ROOTFS are set, we actually get the targz rootfs
that respects DEVICE_PACKAGES.

Currently, buildbot generated images have no networking, LM75 nor I2C
working, as the generated images do not include required kmods that are
listed in DEVICE_PACKAGES.

While at it, there is no need for tar to run in verbose mode.

Fixes: 7dff6a8c89e3 ("mvebu: uDPU: add sysupgrade support")
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
(cherry picked from commit ef922657724957c9ba8926c4a2472de20efdd8b5)

3 months agoimage: support generating per device targz rootfs
Robert Marko [Mon, 9 Feb 2026 11:25:56 +0000 (12:25 +0100)] 
image: support generating per device targz rootfs

Currently, for targets that use the CONFIG_TARGET_ROOTFS_TARGZ a single
rootfs tarball is generated for the subtarget based of $(TARGET_DIR).

However, this means that it does not respect DEVICE_PACKAGES like other
rootfs images.

So, lets augment CONFIG_TARGET_ROOTFS_TARGZ by adding a proper targz fstype
so that per device rootfs is generated under lock.

This is required so that devices that use custom sysupgrade archives like
Methode devices, can actually include a per device rootfs so when building
for multiple devices and with CONFIG_TARGET_PER_DEVICE_ROOTFS set the built
image actually includes the listed DEVICE_PACKAGES.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
(cherry picked from commit d89cb72c23fea53883c1e6203020d9b555208452)

3 months agokernel: refresh patches
Hauke Mehrtens [Wed, 11 Feb 2026 23:52:30 +0000 (00:52 +0100)] 
kernel: refresh patches

Refresh the patches to make them apply cleanly again.

Fixes: 105eb9ca95c5 ("kernel: add cake-mq support")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 30ac12f4b4682207c5b0501b3ffc50d56f58b690)

3 months agomediatek: filogic: add 6G precal to Acer Vero W6m
Zhi-Jun You [Fri, 6 Feb 2026 11:25:30 +0000 (19:25 +0800)] 
mediatek: filogic: add 6G precal to Acer Vero W6m

Bootlog has the following line:
mt7915e 0000:01:00.0: missing precal data, size=403472

It is because precal was not included in the previous NVMEM conversion.

Fix this by adding it to the dts.

Fixes: dbc2923cbe21 ("mediatek: filogic: convert Acer Predator W6 to use NVMEM framework")
Signed-off-by: Zhi-Jun You <hujy652@protonmail.com>
Link: https://github.com/openwrt/openwrt/pull/21894
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit c62bab29d5060798ef0d4b28d246a0bc4671c356)

3 months agomediatek: filogic: add 6G precal to Acer Predator W6
Zhi-Jun You [Fri, 6 Feb 2026 11:20:32 +0000 (19:20 +0800)] 
mediatek: filogic: add 6G precal to Acer Predator W6

Bootlog has the following line:
mt7915e 0000:01:00.0: missing precal data, size=403472

It is because precal was not included in the previous NVMEM conversion.

Fix this by adding it to the common dts.

Fixes: dbc2923cbe21 ("mediatek: filogic: convert Acer Predator W6 to use NVMEM framework")
Signed-off-by: Zhi-Jun You <hujy652@protonmail.com>
Link: https://github.com/openwrt/openwrt/pull/21894
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit eb369b267d774303056a7a5eca972621261922bd)

3 months agomediatek: filogic: add precal to W6 common dtsi
Zhi-Jun You [Fri, 6 Feb 2026 11:06:33 +0000 (19:06 +0800)] 
mediatek: filogic: add precal to W6 common dtsi

Bootlog has the following line:
mt798x-wmac 18000000.wifi: missing precal data, size=403472

It is because precal was not included in the previous NVMEM conversion.

Fix this by adding it to the common dtsi.

Fixes: dbc2923cbe21 ("mediatek: filogic: convert Acer Predator W6 to use NVMEM framework")
Signed-off-by: Zhi-Jun You <hujy652@protonmail.com>
Link: https://github.com/openwrt/openwrt/pull/21894
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 3f430451b11d43f1a690314cd146d8282d8e4f70)

3 months agokernel: backport pppoe improvements
Qingfang Deng [Fri, 6 Feb 2026 09:38:50 +0000 (17:38 +0800)] 
kernel: backport pppoe improvements

Backport PPP patches accepted upstream.

Manually rebased:
- target/linux/ipq40xx/patches-6.12/999-atm-mpoa-intel-dsl-phy-support.patch

Signed-off-by: Qingfang Deng <dqfext@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21892
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 316492b809a67403264b91a32abf23e967c64bbf)

3 months agogemini: select the right GPIO input package 21973/head
Linus Walleij [Wed, 28 Jan 2026 00:22:52 +0000 (01:22 +0100)] 
gemini: select the right GPIO input package

We don't want kmod-gpio-button-hotplug, we want the more
normal kmod-input-gpio-keys.

Link: https://github.com/openwrt/openwrt/pull/21750
(cherry picked from commit 37b13b6ea65f64154d4e97d3cb677f31aebf5ec3)
Link: https://github.com/openwrt/openwrt/pull/21973
Signed-off-by: Linus Walleij <linusw@kernel.org>
3 months agogemini: set disk activity on orange LED
Linus Walleij [Mon, 26 Jan 2026 09:18:57 +0000 (10:18 +0100)] 
gemini: set disk activity on orange LED

Set the disk activity LED to the intended trigger.

Link: https://github.com/openwrt/openwrt/pull/21750
(cherry picked from commit f52f1a85d187143f8f4f32441baa626b2a00762d)
Link: https://github.com/openwrt/openwrt/pull/21973
Signed-off-by: Linus Walleij <linusw@kernel.org>
3 months agogemini: sl93512r: override SL93512R partitions for firmware
Linus Walleij [Sun, 1 Feb 2026 09:26:59 +0000 (10:26 +0100)] 
gemini: sl93512r: override SL93512R partitions for firmware

This is patch is identical in form and purpose as the IB-4220-B
patch. We switch over to a single "firmware" partition.

All reference design-based machines are now converted and we can
drop the legacy set-up code.

It turns out that the reference design also uses the flash layout
with a 3072KB kernel so augment the sysupgrade to do the right
thing also here.

Link: https://github.com/openwrt/openwrt/pull/21820
(cherry picked from commit c579e1d04c35dc767964901b384d7bf42f672668)
Link: https://github.com/openwrt/openwrt/pull/21973
Signed-off-by: Linus Walleij <linusw@kernel.org>
3 months agogemini: sq201: override SQ201 partitions for firmware
Linus Walleij [Sat, 31 Jan 2026 23:30:33 +0000 (00:30 +0100)] 
gemini: sq201: override SQ201 partitions for firmware

This is patch is identical in form and purpose as the IB-4220-B
patch. We switch over to a single "firmware" partition.

Link: https://github.com/openwrt/openwrt/pull/21820
(cherry picked from commit 81215f55e274b9127f3491590bd237d1f836a014)
Link: https://github.com/openwrt/openwrt/pull/21973
Signed-off-by: Linus Walleij <linusw@kernel.org>
3 months agogemini: override IB-4220-B partitions for firmware
Linus Walleij [Mon, 26 Jan 2026 07:21:29 +0000 (08:21 +0100)] 
gemini: override IB-4220-B partitions for firmware

To optimize the flash usage and to make firmware upgrades
simpler, catenate the three firmware partitions "Kern",
"Ramdisk" and "Application" into one, and use all of this
for the combined MTD-splitted kernel+rootfs.

This works fine as long as the kernel is placed in the
beginning of this firmware partition and we leave the
RedBoot partition as is, so the boot loader still can load
the kernel from the first two RedBoot partitions.

Using the RedBoot partitions "as is" can be considered
harmful, because when you flash to a RedBoot partition the
file size is used for downsizing of the partition and make
firmware upgrades fail if they are larger than the RedBoot
partition size after flashing, despite there is actually
flash there. So overriding with fixed partitions is just
generally a good idea.

Link: https://github.com/openwrt/openwrt/pull/21820
(cherry picked from commit 387752dc76ba2de2510147427ff1361dfd90c556)
Link: https://github.com/openwrt/openwrt/pull/21973
Signed-off-by: Linus Walleij <linusw@kernel.org>
3 months agokernel: Add necessary CONFIG_MTD_SPLIT config option
Linus Walleij [Tue, 3 Feb 2026 17:20:44 +0000 (18:20 +0100)] 
kernel: Add necessary CONFIG_MTD_SPLIT config option

Buils break without this new config, mea culpa.

Link: https://github.com/openwrt/openwrt/pull/21855
(cherry picked from commit eb0a1a3a8982e25575b7bae214517ce41240bb89)
Link: https://github.com/openwrt/openwrt/pull/21973
Signed-off-by: Linus Walleij <linusw@kernel.org>
3 months agokernel: mtdsplit: create executable prolog splitter
Linus Walleij [Tue, 27 Jan 2026 17:09:10 +0000 (18:09 +0100)] 
kernel: mtdsplit: create executable prolog splitter

The problem is the following: we have three fixed partitions
in a RedBoot partition for kernel, initrd and rootfs. On the
surface this looks good.

But we have little flash and want to use it efficiently. We want
to use the OpenWrt "firmware" partition scheme where the kernel,
initramfs and sqashfs+jffs2 rootfs is appended, leaving maximum
space for a writeable rootfs.

To do this we will override the existing RedBoot partition table
with one that merges the three separate partitions into one
"firmware" partition.

RedBoot is still booting the system. It still needs to read the
first two parts "as if" these were the kernel and initrd. This
works fine, because the kernel still comes first.

We already have hacks in place to merge the two kernel and initrd
into one binary image and execute it. This is done by prepending
a "prolog" to the kernel that does the necessary copying in
memory and then jumps to execute the kernel.

Since this "prolog" copying routine is just 92 bytes but has 512
bytes allocated, we can trivially create a firmware format that
can be used for splitting the image into kernel and rootfs
using a tagging scheme that can be done directly by scripting
so we don't need any special binary programs.

This splitter implements that idea.

This will be used on the Gemini platform and was tested on the
Raidsonic IB-4220-B.

Link: https://github.com/openwrt/openwrt/pull/21820
(cherry picked from commit 5ac8f14ccb078d136db17716eff3a85685e55f9b)
Link: https://github.com/openwrt/openwrt/pull/21973
Signed-off-by: Linus Walleij <linusw@kernel.org>
3 months agogemini: use tar stream to write firmware
Linus Walleij [Thu, 29 Jan 2026 22:40:50 +0000 (23:40 +0100)] 
gemini: use tar stream to write firmware

The firmware update file can get big, so instead of extracting
the whole file into the tmp folder potentially running out of space
and make the upgrade fail, stream from tar xvf -O directly to the
mtd write command.

Refactor the checking of partitions and the actual upgrade into
two steps when we are at it.

Link: https://github.com/openwrt/openwrt/pull/21782
(cherry picked from commit 1977301b5f8f76b4d04b5950b09b2fd7cf607bc4)
Link: https://github.com/openwrt/openwrt/pull/21973
Signed-off-by: Linus Walleij <linusw@kernel.org>
3 months agogemini: pad storlink reference firmware to 128kb
Linus Walleij [Sun, 25 Jan 2026 20:01:47 +0000 (21:01 +0100)] 
gemini: pad storlink reference firmware to 128kb

The redboot partition parser gets upset if a partition
doesn't end on an even erase block and marks the partition
read-only.

Fix this by always padding the three firmware items to
128kb.

It is no longer required for the filesystem to be padded
to 6144kb, so we pad this to just 128kb like the kernel
images.

Link: https://github.com/openwrt/openwrt/pull/21750
(cherry picked from commit db7a2fb217d7e5480e3f5c57c061a675cf9dd83a)
Link: https://github.com/openwrt/openwrt/pull/21973
Signed-off-by: Linus Walleij <linusw@kernel.org>
3 months agogemini: Fix up sysupgrade platform.sh script
Linus Walleij [Sun, 25 Jan 2026 18:01:45 +0000 (19:01 +0100)] 
gemini: Fix up sysupgrade platform.sh script

The Storlink reference designs sometimes fail upgrade because
not the entire partition is used, so the size isn't equal to
the actual flash space available for the partition.

Fix this by calculating the actual partition sizes by measuring
across the partition offsets instead.

Link: https://github.com/openwrt/openwrt/pull/21750
(cherry picked from commit 04bc0b6d3f440cc139d6e320cba165b37cda9c9b)
Link: https://github.com/openwrt/openwrt/pull/21973
Signed-off-by: Linus Walleij <linusw@kernel.org>
3 months agogemini: select CONFIG_BLK_DEV_LOOP
Linus Walleij [Tue, 27 Jan 2026 19:52:37 +0000 (20:52 +0100)] 
gemini: select CONFIG_BLK_DEV_LOOP

The gemini is using split squashfs/jffs2 root filesystems on
all devices, so without CONFIG_BLK_DEV_LOOP the device does
not gain a writeable root filesystem with these boot messages:

mount_root: unable to create loop device
mount_root: jffs2 not ready yet, using temporary tmpfs overlay

and then it never gets out of that. Fix this so we get writeable
rootfs again.

Link: https://github.com/openwrt/openwrt/pull/21748
(cherry picked from commit b8dc7ac9c68d7e3e3a838c2ca32545c57642653b)
Link: https://github.com/openwrt/openwrt/pull/21973
Signed-off-by: Linus Walleij <linusw@kernel.org>
3 months agogemini: create a copy-kernel for 3072k kernels
Linus Walleij [Sat, 24 Jan 2026 17:13:24 +0000 (18:13 +0100)] 
gemini: create a copy-kernel for 3072k kernels

The Raidsonic devices do not use a 2048k kernel "Kern"
partition like the Storlink reference designs. Instead
it uses a 3072k partition to fit a slightly
larger kernel.

Sadly the current OpenWrt Gemini kernel is still bigger
than 3072k so we need to make use of the Ramdisk
partition as well.

Create a special "copy-kernel" version that can deal
with the Raidsonic 3072k kernels. Tested on the
Raidsonic IB-4220-B booting kernel v6.12.66.

Fix a copy/paste error in the image generation makefile
while we are at it.

Link: https://github.com/openwrt/openwrt/pull/21686
(cherry picked from commit 691aa70e1693542eee795df4bed2b46f6af26e63)
Link: https://github.com/openwrt/openwrt/pull/21973
Signed-off-by: Linus Walleij <linusw@kernel.org>
3 months agogemini: support upgrade on reference designs
Linus Walleij [Wed, 21 Jan 2026 21:24:46 +0000 (22:24 +0100)] 
gemini: support upgrade on reference designs

The Gemini reference design-derived devices uses a partition
format which is predictable and we can exploit this to offer
some proper upgrade path.

The kernel for these contains a hack to use this partition
format unaltered by combining the partitions "Kern" and "Ramdisk"
to one image with all of the kernel+ramdisk in memory.

Then the "Application" which is used for the rootfs go into its
own partition.

Standard flash layout:
Kern         2048k |
Ramdisk      6144k | = 9216k
Application  6144k | = 15360k

Following the pattern of the factory image we create three
images named zImage, rd.gz and hddapp.tgz (these filenames
are misleading! They are just required by the old firmware.)
and flash each individually with "mtd" during upgrades.

Since the IB-4220-V has a different layout with a bigger kernel
space we parameterize this so we can handle this too. (More
fixes are needed for that device though.)

A way to upgrade older OpenWrt on these platforms to the latest
and greatest will be to copy the file
target/linux/gemini/base-files/lib/upgrade/platform.sh
to /lib/upgrade/platform.sh
on your running system and then run sysupgrade from the image
produced after this patch.

The script is picky to sanity check the partitions before
commencing upgrade.

This was tested with a full sysupgrade on the iTian SQ201.

Link: https://github.com/openwrt/openwrt/pull/21680
(cherry picked from commit 0b0cd4efe25d9ee73896c8fa3079074dbae2637d)
Link: https://github.com/openwrt/openwrt/pull/21973
Signed-off-by: Linus Walleij <linusw@kernel.org>
3 months agogemini: Fix up the rootfs device for SQ201
Linus Walleij [Fri, 23 Jan 2026 20:24:47 +0000 (21:24 +0100)] 
gemini: Fix up the rootfs device for SQ201

The rootfs partition is /dev/mtdblock3, fix it up.

Link: https://github.com/openwrt/openwrt/pull/21662
(cherry picked from commit 8dec72061f523227e2535863f25f8ff239c441b3)
Link: https://github.com/openwrt/openwrt/pull/21973
Signed-off-by: Linus Walleij <linusw@kernel.org>
3 months agogemini: Add DTS fix from upstream kernel
Linus Walleij [Fri, 23 Jan 2026 15:32:10 +0000 (16:32 +0100)] 
gemini: Add DTS fix from upstream kernel

This contains small but important DTS fixes for the
RedBoot partitions.

Link: https://github.com/openwrt/openwrt/pull/21662
(cherry picked from commit 92682593d53104f43f8b06c52faa5d05d471dea8)
Link: https://github.com/openwrt/openwrt/pull/21973
Signed-off-by: Linus Walleij <linusw@kernel.org>
3 months agoiproute2: add cake_mq support
Rui Salvaterra [Tue, 10 Feb 2026 11:28:56 +0000 (11:28 +0000)] 
iproute2: add cake_mq support

Add two patches backported from iproute2-next.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21964
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit f9320e8d2d3974f992b803437f7a750b000000f0)

3 months agokernel: add cake-mq support
Rui Salvaterra [Wed, 21 Jan 2026 17:27:10 +0000 (17:27 +0000)] 
kernel: add cake-mq support

Add the required patches in order to backport cake-mq from Linux 7.0.

Many thanks to Toke Høiland-Jørgensen for providing the git trees with backports
for both 6.12 and 6.18.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21964
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 105eb9ca95c5906011d3e5eac10e6332f9c3ff60)

3 months agoath79: add calibration variant for TP-Link TL-WA1201 v2 21951/head
Christoph Krapp [Mon, 26 Jan 2026 21:13:25 +0000 (22:13 +0100)] 
ath79: add calibration variant for TP-Link TL-WA1201 v2

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

Tested-by: Jim McDonald <122668301+jimmyd998@users.noreply.github.com>
Signed-off-by: Christoph Krapp <achterin@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21736
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 0fa94cff8631f3339473285012567faca6488abb)
Link: https://github.com/openwrt/openwrt/pull/21951
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agoipq-wifi: Add entry for TP-Link TL-WA1201 v2
Christoph Krapp [Mon, 26 Jan 2026 21:12:35 +0000 (22:12 +0100)] 
ipq-wifi: Add entry for TP-Link TL-WA1201 v2

Add IPQ Wifi entry for ath79 TP-Link TL-WA1201 v2.

Signed-off-by: Christoph Krapp <achterin@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21736
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 0230a3588279dfeefecf191143eda90942613ffc)
Link: https://github.com/openwrt/openwrt/pull/21951
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agoipq-wifi: update to Git HEAD (2026-01-28)
Robert Marko [Wed, 28 Jan 2026 11:02:10 +0000 (12:02 +0100)] 
ipq-wifi: update to Git HEAD (2026-01-28)

88514e5aab3e qca9888: add bdf for TP-Link TL-WA1201 v2

Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 953ef12f179df6436e8029f727da7ec08bedc968)
Signed-off-by: Christoph Krapp <achterin@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21951
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agoipq-wifi: update to Git HEAD (2026-01-24)
Robert Marko [Sun, 25 Jan 2026 10:38:59 +0000 (11:38 +0100)] 
ipq-wifi: update to Git HEAD (2026-01-24)

38804f59fbb9 ci: add ath12k BDF-s
d28bc0724dc6 ipq8074: add TCL LINKHUB  HH500V BDF
8e1fb2f59893 ipq6018:add TP-Link EAP620 HD v3 BDF Add board file for TP-Link EAP620 HD v3. bdwlan_US.bin sourced from EAP620 HD(US)_V3_1.4.4 Build 20250718 stock firmware.

Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 12fd85eb7951e689c31144a308ffff8e49f50a97)
Signed-off-by: Christoph Krapp <achterin@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21951
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agomediatek: filogic: gl-mt2500 fix compatibles PHY variants
Mario Andrés Pérez [Thu, 5 Feb 2026 00:19:08 +0000 (01:19 +0100)] 
mediatek: filogic: gl-mt2500 fix compatibles PHY variants

These devices share the same "compatible" in device tree causing some
incompatibilities (sysupgrades, ASU profile identification), assign a
unique "compatible" and "model" to each variant.

Context:
Commit [1] added each variant's dts compatible to the SUPPORTED_DEVICES
field of the other variant to make easy sysupgrades between these
physically indistinguishable devices variants possible.

But there were found three issues which does not allow this:
- the sysupgrade's stricter check still used in some sysupgrade
paths(this check is being replaced(and redundant) with the newer fwtool's
SUPPORTED_DEVICES check using the info in images METADATA), this check
will fail when sysupgrading from a different board_name(compatible dts)
that the image was created for (image profile name).[2]
- ASU needs unique "dts compatible" to identify the devices profile.
- and an ASU's profile identification limitation when several devices from
a common target share SUPPORTED_DEVICES entries.[3]

There is a proposal for these issues but not yet implemented [4][3].

Until these issues are fixed we won't allow "easy" sysupgrades between
these two device variants.

Commit [5] avoided the ASU profile identification limitation but
missed the required two unique dts compatibles in order to make the two
variants fully work, although not allowing easy sysupgrade between them.

[1]: https://github.com/openwrt/openwrt/commit/8d30e07180367cdeb4affd79adead6e1025355c9
[2]: sysupgrade stricter check https://github.com/openwrt/openwrt/issues/20566#issuecomment-3583555482
[3]: ASU proposal https://github.com/openwrt/asu/pull/1533
[4]: allow easy sysupgrade proposal https://github.com/openwrt/openwrt/pull/20947
[5]: https://github.com/openwrt/openwrt/commit/b71f4665cda10c284c9460409ae30fb9b0beecf8
Fixes: b71f466 ("mediatek: filogic: fix supported_devices list for gl-mt2500")
Fixes: 8d30e07 ("mediatek: filogic: fix for new GL.iNet GL-MT2500/GL-MT2500A hardware revision")
Fixes: https://github.com/openwrt/openwrt/issues/20566
Fixes: https://github.com/openwrt/asu/issues/1525
Signed-off-by: Mario Andrés Pérez <mapb_@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/21842
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 7aa1f7e814dea0627e905ef1ad92954cae51d301)

3 months agoapk: backport upstream fixes for unaligned access
Matt Merhar [Mon, 9 Feb 2026 23:20:39 +0000 (18:20 -0500)] 
apk: backport upstream fixes for unaligned access

On the kirkwood target, packages would frequently fail to install with
APKE_ADB_SCHEMA, APKE_ADB_BLOCK, and/or segfaults. The culprit was
unaligned access leading to bogus values being read out of memory on
these particular ARMv5 CPUs.

Pull in the relevant upstream fixes to address this.

Fixes: https://github.com/openwrt/openwrt/issues/21307
Link: https://gitlab.alpinelinux.org/alpine/apk-tools/-/merge_requests/391
Link: https://gitlab.alpinelinux.org/alpine/apk-tools/-/merge_requests/392
Signed-off-by: Matt Merhar <mattmerhar@protonmail.com>
Link: https://github.com/openwrt/openwrt/pull/21958
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
(cherry picked from commit 64ec08eee1cc35417a6b0189e40b92665056da25)

3 months agowifi-scripts: fix spurious teardown on config_change during setup
Felix Fietkau [Sun, 8 Feb 2026 18:46:07 +0000 (18:46 +0000)] 
wifi-scripts: fix spurious teardown on config_change during setup

When config_change is set during an active setup (e.g. by a concurrent
reconf call), wdev_mark_up() attempted to call setup() while still in
"setup" state. Since setup() requires state "up" or "down", it silently
returned, leaving the state as "setup". The subsequent wdev_setup_cb()
then treated this as a setup failure, triggering an unnecessary
teardown+restart cycle.

Fix this by removing the config_change handling from wdev_mark_up() and
moving it to wdev_setup_cb() instead. wdev_mark_up() now always
transitions to "up" state. When wdev_setup_cb() runs afterwards and
finds the device already "up" with config_change set, it initiates a
clean re-setup from the "up" state where setup() can run.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 3553eda28379f1074b8c2cc4d3ab9930552f0cad)

3 months agowireguard-tools: fix script errors 21840/head
Paul Donald [Tue, 3 Feb 2026 05:18:01 +0000 (06:18 +0100)] 
wireguard-tools: fix script errors

follow-up to 148207730a3c9f3aea807df336ca33792e9d3c0f

Schoolboy error on the peer_psk value.

Also fix an issue when joining peer IPv4 and IPv6 AllowedIPs
(${peer_a_ips/ /, } replaces only the first space, while
${peer_a_ips// /, } replaces all the spaces).

Closes: https://github.com/openwrt/openwrt/issues/21847
Signed-off-by: Paul Donald <newtwen+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21851
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 3f0de6a28db049b782dc7ce27ad8fd917499db31)
Link: https://github.com/openwrt/openwrt/pull/21840
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agowireguard-tools: enable reload without teardown
Paul Donald [Sat, 31 Jan 2026 14:52:21 +0000 (15:52 +0100)] 
wireguard-tools: enable reload without teardown

- preserve (active) interface (at reload)

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21784
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 0a576dec7468b9d1185b383ba17ee9c7b2151a5d)
Link: https://github.com/openwrt/openwrt/pull/21840
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agowireguard-tools: avoid temp file for peer generation
Paul Donald [Sat, 31 Jan 2026 15:01:44 +0000 (16:01 +0100)] 
wireguard-tools: avoid temp file for peer generation

- no longer write any temporary file for peer gen
- use wg syncconf to update active interfaces (not setconf)

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21784
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 148207730a3c9f3aea807df336ca33792e9d3c0f)
Link: https://github.com/openwrt/openwrt/pull/21840
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agowireguard-tools: avoid temp file for key gen
Paul Donald [Sat, 31 Jan 2026 14:47:30 +0000 (15:47 +0100)] 
wireguard-tools: avoid temp file for key gen

- no longer write any temporary file for key gen

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21784
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 97789875d5e23ebf3bd311454846649e8fb215bc)
Link: https://github.com/openwrt/openwrt/pull/21840
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agowireguard-tools: add protocol renew handler
Paul Donald [Sat, 31 Jan 2026 14:56:28 +0000 (15:56 +0100)] 
wireguard-tools: add protocol renew handler

- add a renew handler
- add a peer detect handler

( benefits from https://github.com/openwrt/netifd/pull/66 )

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21784
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 400742a855e2d3e2288ba3b224037bc464dbbdf2)
Link: https://github.com/openwrt/openwrt/pull/21840
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agowireguard-tools: detect address changes at reload
Paul Donald [Sat, 31 Jan 2026 14:53:41 +0000 (15:53 +0100)] 
wireguard-tools: detect address changes at reload

Proto handler now also detects changes to
- addresses

Tighten also assign address portion

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21784
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit d59b360ceeb132b5822087758910487042d41480)
Link: https://github.com/openwrt/openwrt/pull/21840
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agopackage-pack: fix Ubuntu 18.04 compilation
Rosen Penev [Sat, 7 Feb 2026 02:39:33 +0000 (18:39 -0800)] 
package-pack: fix Ubuntu 18.04 compilation

Add \ to fix parsing with make 4.1.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21910
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 71ad91ecfa74427fce0dd5cfa68b95213b9a3e76)

3 months agolantiq: xrx200: handle EPROBE_DEFER for MAC address
Burak Aydos [Tue, 3 Feb 2026 20:38:01 +0000 (23:38 +0300)] 
lantiq: xrx200: handle EPROBE_DEFER for MAC address

The xrx200 ethernet driver falls back to a random MAC address on any
error from of_get_ethdev_address(), including -EPROBE_DEFER. When the
MAC address comes from an nvmem layout driver (such as u-boot-env on
NAND), the nvmem cell may not be available yet at first probe attempt.

Fix this by propagating EPROBE_DEFER so the driver probe is deferred
until the nvmem cell becomes available.

Tested on Zyxel P-2812HNU-F1 (NAND, u-boot-env nvmem layout).

Signed-off-by: Burak Aydos <byhexadecimal@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21861
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 50e7e5c80d9269e7a6e947688ffb4cec895d1237)

3 months agorealtek: dts: add LGS328C port 21 definition 21900/head
Markus Stockhausen [Fri, 30 Jan 2026 17:16:02 +0000 (18:16 +0100)] 
realtek: dts: add LGS328C port 21 definition

Port 21 definition was missed during addition of LGS328C.
Add it to the dts.

Fixes: 853d73f ("realtek: add support for Linksys LGS328C")
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21793
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 75fd2497acb25f77528c7aa73470f303a98f8b63)
Link: https://github.com/openwrt/openwrt/pull/21900
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agorealtek: dsa: remove storm control
Bjørn Mork [Thu, 5 Feb 2026 13:08:51 +0000 (14:08 +0100)] 
realtek: dsa: remove storm control

Commit 78bf3a5f44bf ("realtek: dsa: Fix rate control initialization") enabled
code setting up the "storm control" feature. This casued a speed regression
on rtl838x, reducing the effective max speed per port from line rate to around
500 Mbits/s.

Storm control is a policy feature with a number of input parameters depending
on use case and environment.  It is not possible to define a meaningful static
policy in the driver. The problem isn't just the arbitrary limits in the
current code.  Such features require userspace interfaces.

Drop this code for now. It wasn't missed while it was disabled.

Fixes: 78bf3a5f44bf ("realtek: dsa: Fix rate control initialization")
Link: https://github.com/openwrt/openwrt/issues/21692
Signed-off-by: Bjørn Mork <bjorn@mork.no>
Link: https://github.com/openwrt/openwrt/pull/21877
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 3972aeaf7cc3cb87a99bc6a3d83f1d22e7287399)
Link: https://github.com/openwrt/openwrt/pull/21900
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agorealtek: dsa: rtl839x: fix uninitialized global access
Markus Stockhausen [Sun, 25 Jan 2026 18:07:32 +0000 (19:07 +0100)] 
realtek: dsa: rtl839x: fix uninitialized global access

Setup for DSA QOS on RTL839x accesses unitialized memory. For some
reason the handover of the priv structure was realized via global
intermediate variable switch_priv. During refactoring for adbb9a6
("realtek: dsa: rtl83xx: fix init section mismatch") this was not
noticed. Since then RTL839x devices crash during startup.

Fix this by using standard handover via function parameters.

Fixes: e81affb9 ("realtek: dsa: rtl83xx: fix init section mismatch")
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21703
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit ac9646394482ba2e464ccf75e74c936485028305)
Link: https://github.com/openwrt/openwrt/pull/21900
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agorealtek: dsa: rtl83xx: fix init section mismatch
Markus Stockhausen [Sun, 25 Jan 2026 08:27:56 +0000 (09:27 +0100)] 
realtek: dsa: rtl83xx: fix init section mismatch

Compilation currently spits this message:

WARNING: modpost: vmlinux: section mismatch in reference:
rtl83xx_sw_probe+0x6a4 (section: .text.rtl83xx_sw_probe)
-> rtl83xx_setup_qos (section: .init.text)

That means that we have a "normal" function caller (can be
called during the whole uptime) and a "initialization" function
callee (only available during init.

Fix this and directly fix the unwanted family checks.

Fixes: 012e0091 ("realtek: dsa: avoid use-after-free")
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21690
(cherry picked from commit adbb9a64235e1575bcd47c75d9cdc628b96a15e0)
Link: https://github.com/openwrt/openwrt/pull/21900
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agorealtek: dsa: avoid use-after-free
Carl-Daniel Hailfinger [Sun, 11 Jan 2026 19:31:20 +0000 (20:31 +0100)] 
realtek: dsa: avoid use-after-free

The realtek target uses some functions marked __init for initialization.
However, that means they can only be called once when compiled in and
afterwards the memory occupied by them is freed and potentially reused.
Some "impossible" (code at a given location can't crash in the way it
does) crashes can be caused by this because upon re-execution of those
functions, garbage gets executed. Such re-execution can happen for
deferred probes or repeated probes.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Link: https://github.com/openwrt/openwrt/pull/21504
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
(cherry picked from commit a91c3abe83c3f9513518c86b5d0a42b5a9afaad3)
Link: https://github.com/openwrt/openwrt/pull/21900
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agowifi-scripts: fix encryption setting of default OpenWrt SSID
Shine [Sun, 8 Feb 2026 09:41:45 +0000 (10:41 +0100)] 
wifi-scripts: fix encryption setting of default OpenWrt SSID

Commit 01a87f4bd0cdbfc84bbc172920e865c1600f7a45 changed the encryption
setting of the default SSID "OpenWrt" from "none" to "open". The correct
setting as per the documentation [1] is "none", though.
While this invalid setting won't cause a wrong hostapd setup, it will
at least cause malfunction in LuCI.

Change the default encryption setting back to "none".

[1] https://openwrt.org/docs/guide-user/network/wifi/basic#encryption_modes

Fixes: 01a87f4bd0cdbfc84bbc172920e865c1600f7a45
Signed-off-by: Shine <4c.fce2@proton.me>
Link: https://github.com/openwrt/openwrt/pull/21925
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 4ab5fcc04f7a39cc0a8a7294d825be32ddab1113)

3 months agomediatek: routerich be7200: fix usb issue 21882/head
Mikhail Zhilkin [Fri, 30 Jan 2026 17:23:09 +0000 (20:23 +0300)] 
mediatek: routerich be7200: fix usb issue

This commit fixes non-working USB port:
---
[    5.294036] xhci-mtk 11200000.usb: error -EPERM: Failed to get supply 'vbus'
[    5.301163] xhci-mtk 11200000.usb: error -EPERM: Failed to get regulators
[    5.307938] xhci-mtk 11200000.usb: probe with driver xhci-mtk failed with error -1
---

While testing the USB power on/off functionality during the previous
commit, I didn't sufficiently test the actual operation of the USB
devices.

Fixes: ff5e66a9208a ("mediatek: add support for Routerich BE7200")
Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21795
(cherry picked from commit 2651a6ced9e2f59390dc9e0703c9402e123924a5)
Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21882
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agoext-toolchain: fix wrapper for gcc-ar, gcc-nm, gcc-ranlib 21899/head
Gustavo Henrique Nihei [Fri, 23 Jan 2026 21:04:59 +0000 (18:04 -0300)] 
ext-toolchain: fix wrapper for gcc-ar, gcc-nm, gcc-ranlib

The pattern '*-*cc-*' incorrectly matches these tools because their names
contain 'cc-'. This causes them to receive compiler CFLAGS, breaking
builds with 'ar: two different operation options specified'.

Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
Link: https://github.com/openwrt/openwrt/pull/21757
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 435917735ab8a9ba23300dda77aaace13fc16d96)
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
Link: https://github.com/openwrt/openwrt/pull/21899
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agomediatek: filogic: add support for Cudy AP3000 Wall v1 21890/head
Derek Denk [Wed, 31 Dec 2025 00:34:47 +0000 (17:34 -0700)] 
mediatek: filogic: add support for Cudy AP3000 Wall v1

This commit adds support for the Cudy AP3000 Wall v1.

SoC: MediaTek MT7981b
RAM: 256MiB
Flash: spi-nand spi0.0: 128 MiB
Wifi: MediaTek MT7981 2x2 DBDC 802.11ax 2T2R (2.4 / 5)
LEDs: 1 LED in two colors (red & white)
Buttons: 1 reset, 1 led on/off
Ethernet: 5x 1GbE
Power: PoE powered (standalone)

The stock firmware is a customized variant of OpenWrt, which implements
a signature check that only allows flashing official firmware. Cudy offers
intermediate OpenWrt firmware images on their website [1][2] which do not
implement the signature check. After flashing the intermediate image the
upstream official OpenWrt image can be installed.

The stock firmware can be recovered via TFTP using the U-Boot based boot
loader[3]. Set up a TFTP server on your computer with IP 192.168.1.88/24
serving the stock firmware from Cudy's website renamed to "recovery.bin".
Press and hold the reset button while powering on the device, wait for the
TFTP server to send the recovery.bin file, then release the reset button.
The router will take a couple of minutes to reboot and set up the stock
firmware.

[1] https://www.cudy.com/blogs/faq/openwrt-software-download
[2] https://drive.google.com/drive/folders/1BKVarlwlNxf7uJUtRhuMGUqeCa5KpMnj
[3] https://www.cudy.com/en-us/blogs/faq/how-to-recovery-the-cudy-router-from-openwrt-firmware-to-cudy-official-firmware

Signed-off-by: Derek Denk <derek.denk@live.com>
Link: https://github.com/openwrt/openwrt/pull/21266
(cherry picked from commit afad4c71f8d558ca86b997781ca0236f321cf1e9)
Link: https://github.com/openwrt/openwrt/pull/21890
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agoairoha: an7581: add switch ports interrups 21838/head
Aleksander Jan Bajkowski [Mon, 1 Dec 2025 22:11:17 +0000 (23:11 +0100)] 
airoha: an7581: add switch ports interrups

The MT7531 has an incorrect interrupt number described in the DTS.
This commit also adds PHY interrupts. They work the same as on
the MT7988.

Tested on Gemtek W1700k.

Suggested-by: Benjamin Larsson <benjamin.larsson@genexis.eu>
Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
Link: https://github.com/openwrt/openwrt/pull/21016
(cherry picked from commit 788958880b66dd3f451d53801c8d25e5e6cfe1b8)
Link: https://github.com/openwrt/openwrt/pull/21838
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agoairoha: an7581: enable USB support
Ziyang Huang [Thu, 8 Jan 2026 14:38:46 +0000 (22:38 +0800)] 
airoha: an7581: enable USB support

The an7581.dtsi contains the mediatek,mtk-xhci device.

Signed-off-by: Ziyang Huang <hzyitc@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/21460
(cherry picked from commit f8a6798bf38c3d3e6fe6af9367ea5628df46429a)
Link: https://github.com/openwrt/openwrt/pull/21838
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agoairoha: show link rate and duplex
Aleksander Jan Bajkowski [Sat, 10 Jan 2026 17:05:38 +0000 (18:05 +0100)] 
airoha: show link rate and duplex

Implement the .get_link_ksettings to get the rate, duplex, and
auto-negotiation status.

Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
Link: https://github.com/openwrt/openwrt/pull/21530
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 4953db3aeff052223e4588fe892f94a32e917a05)
Link: https://github.com/openwrt/openwrt/pull/21838
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agoairoha: an7581: correct led nodename
Ziyang Huang [Sun, 19 Oct 2025 09:45:48 +0000 (17:45 +0800)] 
airoha: an7581: correct led nodename

Use standard name.

Signed-off-by: Ziyang Huang <hzyitc@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/20482
(cherry picked from commit f5bf8c2b948201a8e1e62b47049ab9f7b9d842bf)
Link: https://github.com/openwrt/openwrt/pull/21838
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agoairoha: an7581: correct phy nodename
Ziyang Huang [Sun, 19 Oct 2025 09:51:28 +0000 (17:51 +0800)] 
airoha: an7581: correct phy nodename

Let node unit address same as reg.

Signed-off-by: Ziyang Huang <hzyitc@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/20482
(cherry picked from commit 077120fb64450f6780f07139faccd67e587560a5)
Link: https://github.com/openwrt/openwrt/pull/21838
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agoairoha: an7581: move the switch led label from soc-level to board-level
Ziyang Huang [Sun, 19 Oct 2025 09:41:43 +0000 (17:41 +0800)] 
airoha: an7581: move the switch led label from soc-level to board-level

Different boards use different port map. For example, some board may use
a GE port as WAN. So defining the led label in board-level is better.

Signed-off-by: Ziyang Huang <hzyitc@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/20482
(cherry picked from commit ea54b6a4786c1f6e687010a46e9f22a4d19e8219)
Link: https://github.com/openwrt/openwrt/pull/21838
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agoairoha: an7581: move the switch port label from soc-level to board-level
Ziyang Huang [Sun, 19 Oct 2025 09:37:39 +0000 (17:37 +0800)] 
airoha: an7581: move the switch port label from soc-level to board-level

Different boards use different port map. Defining the port labels in
board-level is better.

Signed-off-by: Ziyang Huang <hzyitc@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/20482
(cherry picked from commit e2f7ad08c76593c8cb5abb70088b0813005aa09c)
Link: https://github.com/openwrt/openwrt/pull/21838
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agoairoha: an7581: disable all switch port and phy by default
Ziyang Huang [Sun, 19 Oct 2025 09:45:24 +0000 (17:45 +0800)] 
airoha: an7581: disable all switch port and phy by default

Some board only use some of them, so enable as necessary in
board-level dts.

Signed-off-by: Ziyang Huang <hzyitc@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/20482
(cherry picked from commit 007aa5a51ce8bd596d35d8e2c7bec2240dbca94d)
Link: https://github.com/openwrt/openwrt/pull/21838
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agoairoha: an7581: correct the pinctrl-name of phy leds
Ziyang Huang [Sun, 19 Oct 2025 09:34:53 +0000 (17:34 +0800)] 
airoha: an7581: correct the pinctrl-name of phy leds

address the following issues:

    [    3.542844] mdio_bus mt7530-0: Failed to setup PHY LED pinctrl
    [    3.552550] mdio_bus mt7530-0: Failed to setup PHY LED pinctrl
    [    3.562449] mdio_bus mt7530-0: Failed to setup PHY LED pinctrl
    [    3.574350] mdio_bus mt7530-0: Failed to setup PHY LED pinctrl

Signed-off-by: Ziyang Huang <hzyitc@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/20482
(cherry picked from commit 65aed6aa12c6ca0ed7afa74c992d5376605320e2)
Link: https://github.com/openwrt/openwrt/pull/21838
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agoairoha: an7583: fix scuclk unit-address
Aleksander Jan Bajkowski [Sat, 29 Nov 2025 17:58:17 +0000 (18:58 +0100)] 
airoha: an7583: fix scuclk unit-address

Fix the unit-address of the scuclk node.

Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
Link: https://github.com/openwrt/openwrt/pull/20985
(cherry picked from commit 79ff31104c6877e9acddcff8bf3009dcdd27ae3c)
Link: https://github.com/openwrt/openwrt/pull/21838
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agoairoha: en7583: dts: fix typo disable
Aleksander Jan Bajkowski [Sat, 29 Nov 2025 17:56:50 +0000 (18:56 +0100)] 
airoha: en7583: dts: fix typo disable

No functional changes intended.

Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
Link: https://github.com/openwrt/openwrt/pull/20985
(cherry picked from commit 914fe44647f27941c2e9925b7a05fa366ea1d85e)
Link: https://github.com/openwrt/openwrt/pull/21838
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agoairoha: replace patches with upstream version
Aleksander Jan Bajkowski [Tue, 16 Dec 2025 21:02:34 +0000 (22:02 +0100)] 
airoha: replace patches with upstream version

Replace patches with version accepted upstream.

Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
Link: https://github.com/openwrt/openwrt/pull/21333
(cherry picked from commit f49b452cc021a8f7e0145604ff1d88e8c14285dd)
Link: https://github.com/openwrt/openwrt/pull/21838
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agoapk: backport upstream fix for invalid fetch timestamps
Matt Merhar [Thu, 5 Feb 2026 04:45:13 +0000 (23:45 -0500)] 
apk: backport upstream fix for invalid fetch timestamps

Uninitialized memory led to bogus, huge timestamps being set on files
downloaded with the wget backend. This caused odd issues like 'ls -l'
crashing busybox when attempting to list the .apk file afterwards.

Link: https://gitlab.alpinelinux.org/alpine/apk-tools/-/commit/42f159e67bafe1dad16839c0c0a005b5e89487ba
Signed-off-by: Matt Merhar <mattmerhar@protonmail.com>
Link: https://github.com/openwrt/openwrt/pull/21874
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit f750e3096f692391d9fdd27402b505f1a8c3a10c)

3 months agokernel: mtk_eth_soc: fix memory leak in downstream patch 21821/head
Daniel Golle [Fri, 30 Jan 2026 14:31:36 +0000 (14:31 +0000)] 
kernel: mtk_eth_soc: fix memory leak in downstream patch

Bc-bocun Chen of MediaTek has discovered a memory leak in the error path
in our downstream patch for mtk_eth_soc which adds support for the 10G
PCS and PHY paths of the MT7988 SoC.
Fix this by freeing the at this point already allocated netdev resources
before returning the error.

Fixes: 4cb6bd9a6d ("mediatek: switch to pending XFI 10G Ethernet drivers")
Reported-by: Bc-bocun Chen <bc-bocun.chen@mediatek.com>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit 4d71c767c4a54d1ec9fbd59b1a552f37b165288c)

3 months agoramips: add support for D-Link DIR-1360 A1 21826/head
Aryaman Srivastava [Thu, 15 Jan 2026 17:43:47 +0000 (23:13 +0530)] 
ramips: add support for D-Link DIR-1360 A1

The D-Link DIR-1360 A1 is an AC1300 router based on the MT7621AT SoC.

Specifications :-

* SoC: MediaTek MT7621AT
* RAM: 256 MB DDR3
* Flash: 128 MB SPI NAND (Winbond W29N01HV)
* WiFi: MT7615D (2.4 GHz + 5 GHz DBDC)
* Ethernet: 5x 10/100/1000 Mbps (1x WAN, 4x LAN)
* USB: 1x USB 3.0
* Buttons: Reset, WPS
* LEDs: Power (White/Orange), Internet (White/Orange), USB, 2.4G/5G WLAN

MAC addresses are retrieved from the 'factory' partition via NVMEM.
LAN: 0xe000 (gmac0)
WAN: 0xe006 (gmac1)
WLAN: 0xe00c (pcie0)

Flash Instruction :-

1-Set a static IP on your PC (e.g., 192.168.0.10, Gateway 192.168.0.1).
2- Power off the router and connect your PC to a LAN port.
3- Hold the Reset button and power on the router; continue holding for 5 seconds.
4- Access the Recovery UI at http://192.168.0.1 in your browser.
5- Upload the OpenWrt factory.bin image and wait for the reboot.

With these definitions in place, the DIR-1360 A1 boots reliably, exposes all hardware features correctly, and can be flashed via both the OEM recovery interface and standard OpenWrt upgrade paths.

Signed-off-by: Aryaman Srivastava <aryamansrivastava895@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21616
(cherry picked from commit 7a8e2efed587104328fad4fc9a03e8af9c02f65f)
Link: https://github.com/openwrt/openwrt/pull/21826
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agomediatek: add Motorcomm PHY support to Cudy AP3000 v1
Anton Danilov [Thu, 29 Jan 2026 11:43:17 +0000 (14:43 +0300)] 
mediatek: add Motorcomm PHY support to Cudy AP3000 v1

Newer Cudy AP3000 v1 routers feature a Motorcomm YT8821 PHY
instead of the Realtek PHY [1]. Support for the YT8821
was recently introduced for the Cudy WR3000H router [2].
On the AP3000, the changes allow the PHY to be autodetected.

[1]: https://forum.openwrt.org/t/cudy-ap3000-v1-indoor-wan-motorcomm-yt8821-support/245491
[2]: https://github.com/openwrt/openwrt/pull/21399

Signed-off-by: Anton Danilov <frimen.c@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21776
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 31f30f5a6cffa2046328a933ed8063e9f8fc30b2)

3 months agomac80211: ath11k: fix for unsupported 11ax EDCA 21575/head
Paweł Owoc [Fri, 16 Jan 2026 10:10:35 +0000 (11:10 +0100)] 
mac80211: ath11k: fix for unsupported 11ax EDCA

Currently publicly available firmware for ath11k does not support
the 11ax EDCA parameter.
Skipping sending this parameter allows the use of STA mode.

Fixes: https://github.com/openwrt/openwrt/issues/20702
Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21563
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 5fc92969129a77685f21e929d46e03c06132fdf3)
Link: https://github.com/openwrt/openwrt/pull/21575
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agokernel: bump 6.12 to 6.12.68 21825/head
John Audia [Fri, 30 Jan 2026 20:37:22 +0000 (15:37 -0500)] 
kernel: bump 6.12 to 6.12.68

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

All patches automatically rebased.

Build system: x86/64
Build-tested: flogic/glinet_gl-mt6000
Run-tested: flogic/glinet_gl-mt6000

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/21797
(cherry picked from commit 0bd6a895618f4b0b16707dff1cac39302a903355)
Link: https://github.com/openwrt/openwrt/pull/21825
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agokernel: revert ip6_tunnel use skb_vlan_inet_prepare() in __ip6_tnl_rcv()
Hirokazu MORIKAWA [Fri, 30 Jan 2026 01:14:53 +0000 (10:14 +0900)] 
kernel: revert ip6_tunnel use skb_vlan_inet_prepare() in __ip6_tnl_rcv()

Fixe Linux 6.12.67 broke ipip6 tunnel (DS-Lite) and MAP-E.

Upstream report: https://lists.openwall.net/netdev/2026/01/30/70
Fixes: https://github.com/openwrt/openwrt/issues/21737
Signed-off-by: Hirokazu MORIKAWA <morikw2@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21783
(cherry picked from commit ee0b160accecc397c124b8ddc356822be32a3320)
Link: https://github.com/openwrt/openwrt/pull/21825
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agokernel: bump 6.12 to 6.12.67
John Audia [Fri, 23 Jan 2026 21:22:18 +0000 (16:22 -0500)] 
kernel: bump 6.12 to 6.12.67

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

Manually rebased:
  rockchip/patches-6.12/160-01-phy-rockchip-inno-usb2-Simplify-rockchip-usbgrf-handling.patch

Build system: x86/64
Build-tested: flogic/glinet_gl-mt6000
Run-tested: flogic/glinet_gl-mt6000

Add it again.

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/21629
(cherry picked from commit 2228b7048c2c0dad0a011f3eba116cade84a6b95)
Link: https://github.com/openwrt/openwrt/pull/21687
Link: https://github.com/openwrt/openwrt/pull/21825
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agokernel: fix rtl8261n driver for non-realtek chips 21799/head
Andrew LaMarche [Thu, 29 Jan 2026 14:39:05 +0000 (14:39 +0000)] 
kernel: fix rtl8261n driver for non-realtek chips

Part of the phy patch process breaks functionality on non-Realtek
platforms. Only apply this on Realtek SoCs to fix functionality
everywhere else.

Signed-off-by: Andrew LaMarche <andrewjlamarche@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21777
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 268a0cb3633de760c1eddb4afdae4988bcabe3af)
Link: https://github.com/openwrt/openwrt/pull/21799
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agowifi-scripts: fix ieee80211w override for psk-sae/sae-mixed
Felix Fietkau [Sat, 31 Jan 2026 16:56:53 +0000 (16:56 +0000)] 
wifi-scripts: fix ieee80211w override for psk-sae/sae-mixed

The ucode wifi-scripts unconditionally set ieee80211w=1 for psk-sae
and eap-eap2 auth types, ignoring any user-configured value. This
caused ieee80211w=2 (MFP required) to be silently downgraded to 1
(MFP optional) when using sae-mixed encryption.

Change the logic to only set the default of 1 when ieee80211w is not
already configured by the user.

Fixes: https://github.com/openwrt/openwrt/issues/21751
Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 1bbb60184d1f25b369b26802d199ac4c85af3111)
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agolantiq: xrx200: add env-size for P-2812HNU-F1 u-boot-env
Burak Aydos [Thu, 29 Jan 2026 19:25:04 +0000 (22:25 +0300)] 
lantiq: xrx200: add env-size for P-2812HNU-F1 u-boot-env

The u-boot-env partition on the Zyxel P-2812HNU-F1 is 128 KiB but
the actual environment data is only 8 KiB (0x2000 bytes). Without
the env-size property, the u-boot,env nvmem layout driver assumes
env-size equals the full partition size and computes an incorrect
CRC32 over the entire 128 KiB, causing all nvmem cell reads to fail
silently.

Add env-size = <0x2000> so the CRC32 is computed over the correct
8 KiB region, allowing nvmem-cells (such as ethaddr) to be read
properly by the kernel.

Signed-off-by: Burak Aydos <byhexadecimal@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21780
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 695284443668020ee161cb06836781a725d3dde5)
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agokernel: modules: Add tpm-tis-spi
Tim Harvey [Tue, 27 Jan 2026 01:17:26 +0000 (17:17 -0800)] 
kernel: modules: Add tpm-tis-spi

Add a module for tpm-tis-spi for TCG TIS 1.3 TPM security chips
connected to a regular non-tcg SPI master.

Add imx target compatibility for kmod-tpm.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Link: https://github.com/openwrt/openwrt/pull/21726
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 92a94dc9b0df12111e4c81ff1a280e32deb5eba3)

4 months agouboot-rockchip: add HINLINK H28K support
Chukun Pan [Tue, 9 Dec 2025 10:06:25 +0000 (18:06 +0800)] 
uboot-rockchip: add HINLINK H28K support

Add pending uboot support for the HINLINK H28K.

This fixes the rockchip build again.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
(cherry picked from commit 384127320e0bfc29f31501c2e90aaf4cdba66ca0)
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agoOpenWrt v25.12.0-rc4: revert to branch defaults
Hauke Mehrtens [Thu, 29 Jan 2026 22:52:16 +0000 (23:52 +0100)] 
OpenWrt v25.12.0-rc4: revert to branch defaults

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agoOpenWrt v25.12.0-rc4: adjust config defaults v25.12.0-rc4
Hauke Mehrtens [Thu, 29 Jan 2026 22:52:13 +0000 (23:52 +0100)] 
OpenWrt v25.12.0-rc4: adjust config defaults

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agoRevert "kernel: bump 6.12 to 6.12.67"
Hauke Mehrtens [Thu, 29 Jan 2026 22:36:11 +0000 (23:36 +0100)] 
Revert "kernel: bump 6.12 to 6.12.67"

This reverts commit 53a525f346493ec7db1f1d1c17f4772c8cc4da58.

Linux 6.12.67 broke ipip6 tunnel (DS-Lite) and MAP-E.

Revert this Linux kernel bump till the problem is fixed.

Fixes: https://github.com/openwrt/openwrt/issues/21737
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agotcpdump: update to 4.99.6 21756/head
Ivan Pavlov [Tue, 27 Jan 2026 14:41:05 +0000 (17:41 +0300)] 
tcpdump: update to 4.99.6

Various improvements and bug fixes.
Changelog: https://github.com/the-tcpdump-group/tcpdump/blob/tcpdump-4.99.6/CHANGES

Signed-off-by: Ivan Pavlov <AuthorReflex@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21744
(cherry picked from commit 141d04a4d6b9eb599a1adb73defa54b07817cdbc)
Link: https://github.com/openwrt/openwrt/pull/21756
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agolibpcap: update to 1.10.6
Ivan Pavlov [Tue, 27 Jan 2026 14:40:18 +0000 (17:40 +0300)] 
libpcap: update to 1.10.6

Vulnerabilities fixed: CVE-2025-11961 and CVE-2025-11964
Various improvements and bug fixes.
Changelog: https://github.com/the-tcpdump-group/libpcap/blob/libpcap-1.10.6/CHANGES

Upstreamed patches removed:
  001-Add-support-for-Realtek-Ethertype-DSA-data.patch
  002-Linux-handle-other-DSA-tags.patch

Signed-off-by: Ivan Pavlov <AuthorReflex@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21744
(cherry picked from commit 9a7ddcac3f74aeecbcddd3cd033302fb7529deae)
Link: https://github.com/openwrt/openwrt/pull/21756
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 months agowifi-scripts: iwinfo.uc: fix null reference in info()
Felix Fietkau [Wed, 28 Jan 2026 17:56:30 +0000 (17:56 +0000)] 
wifi-scripts: iwinfo.uc: fix null reference in info()

Fixes: https://github.com/openwrt/openwrt/issues/21651
Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 434e1461b293e4c014391dd19d3977b193a2166f)

4 months agotcpdump: add PROVIDES=tcpdump to tcpdump-tiny
Felix Fietkau [Mon, 26 Jan 2026 17:46:04 +0000 (17:46 +0000)] 
tcpdump: add PROVIDES=tcpdump to tcpdump-tiny

Improves handling of dependencies on tcpdump

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 0b302ec6582902f76740a6b1fbf1042b5bec49a4)

4 months agoopenssl: update to 3.5.5 21755/head
Ivan Pavlov [Wed, 28 Jan 2026 14:01:36 +0000 (17:01 +0300)] 
openssl: update to 3.5.5

This release incorporates the following bug fixes and mitigations:

  fixed Improper validation of PBMAC1 parameters in PKCS#12 MAC verification.
  (CVE-2025-11187)

  fixed Stack buffer overflow in CMS AuthEnvelopedData parsing.
  (CVE-2025-15467)

  fixed NULL dereference in SSL_CIPHER_find  () function on unknown cipher ID.
  (CVE-2025-15468)

  fixed openssl dgst one-shot codepath silently truncates inputs >16 MiB.
  (CVE-2025-15469)

  fixed TLS 1.3 CompressedCertificate excessive memory allocation.
  (CVE-2025-66199)

  fixed Heap out-of-bounds write in BIO_f_linebuffer on short writes.
  (CVE-2025-68160)

  fixed Unauthenticated/unencrypted trailing bytes with low-level OCB function calls.
  (CVE-2025-69418)

  fixed Out of bounds write in PKCS12_get_friendlyname  () UTF-8 conversion.
  (CVE-2025-69419)

  fixed Missing ASN1_TYPE validation in TS_RESP_verify_response  () function.
  (CVE-2025-69420)

  fixed NULL Pointer Dereference in PKCS12_item_decrypt_d2i_ex  () function.
  (CVE-2025-69421)

  fixed Missing ASN1_TYPE validation in PKCS#12 parsing.
  (CVE-2026-22795)

  fixed ASN1_TYPE Type Confusion in the PKCS7_digest_from_attributes  () function.
  (CVE-2026-22796)

Adjust patches due to formatting changes.

Link: https://github.com/openwrt/openwrt/pull/21752
Signed-off-by: Ivan Pavlov <AuthorReflex@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21755
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit df6db01f4f5914036b34ff46844fe86d97d5fc56)

4 months agomvebu: cortex-a53: fix Methode eDPU migration to upstream DTS
Robert Marko [Tue, 27 Jan 2026 12:53:37 +0000 (13:53 +0100)] 
mvebu: cortex-a53: fix Methode eDPU migration to upstream DTS

Migration of the eDPU DTS to upstream one broke the eDPU plus model
since the required ethernet aliases are missing and U-Boot then cannot
find the required ethernet nodes.

So, after sending the required fix upstream, lets apply it in OpenWrt
as well.

Fixes: 9852dda4105c ("mvebu: move DTS diff into a patch for Methode uDPU")
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
(cherry picked from commit 3353827fb5965f4c9911cb9b0920846c0157a59c)

4 months agowifi-scripts: fix ucode mobility_domain default value
Youfu Zhang [Tue, 27 Jan 2026 07:11:15 +0000 (15:11 +0800)] 
wifi-scripts: fix ucode mobility_domain default value

The mobility_domain value generated by ucode differed from the previous
shell script implementation. The legacy shell script used `echo` on the
SSID, which appended a trailing newline.

To maintain roaming compatibility with pre-25.12 releases and OpenWrt
forks in default configuration, update the ucode logic to include this
newline character when generating the default value.

Fixes: #21731
Signed-off-by: Youfu Zhang <zhangyoufu@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21732
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 1d0e2859c5c7cd01c1092019b89dd0f56bf3dda8)

4 months agomac80211: update to version 6.18.7
Hauke Mehrtens [Mon, 26 Jan 2026 00:17:54 +0000 (01:17 +0100)] 
mac80211: update to version 6.18.7

This is based on Linux kernel 6.18.7.

This update contains the following upstream fixes:
f75b9d2c9f5b wifi: rtl8xxxu: Add USB ID 2001:3328 for D-Link AN3U rev. A1
401b10a72f5a wifi: rtw88: Add USB ID 2001:3329 for D-Link AC13U rev. A1
c0d93d69e147 staging: rtl8723bs: fix out-of-bounds read in rtw_get_ie() parser
e841d8ea7223 staging: rtl8723bs: fix stack buffer overflow in OnAssocReq IE parsing
bf323db1d883 staging: rtl8723bs: fix out-of-bounds read in OnBeacon ESR IE parsing
b1497ea24639 wifi: ath10k: move recovery check logic into a new work
99fc0689a588 wifi: ath11k: restore register window after global reset
ab0554f51e5f wifi: ath12k: Fix MSDU buffer types handling in RX error path
d911fa97dab3 wifi: ath12k: fix VHT MCS assignment
ca2a33cee1ef wifi: ath12k: fix TX and RX MCS rate configurations in HE mode
18d4706956b7 wifi: ath11k: fix VHT MCS assignment
6b1a0da75932 wifi: ath11k: fix peer HE MCS assignment
d0a5b5d56438 wifi: ath12k: restore register window after global reset
1564c04afa92 wifi: iwlwifi: mld: add null check for kzalloc() in iwl_mld_send_proto_offload()
d0bb3db7b295 wifi: ath12k: fix potential memory leak in ath12k_wow_arp_ns_offload()
36faecac7a2c wifi: ath12k: fix reusing m3 memory
4f93750fa588 wifi: ath12k: fix error handling in creating hardware group
41b623129175 wifi: ath12k: enforce vdev limit in ath12k_mac_vdev_create()
e442e820e953 wifi: ath12k: unassign arvif on scan vdev create failure
bcf44fe565bf wifi: rtw89: usb: use common error path for skbs in rtw89_usb_rx_handler()
87cc6fe79c3e wifi: rtw89: usb: fix leak in rtw89_usb_write_port()
c7ca777c5879 wifi: ath12k: Fix timeout error during beacon stats retrieval
51b823d7723f wifi: cw1200: Fix potential memory leak in cw1200_bh_rx_helper()
c9d1c4152e6d wifi: rtl818x: Fix potential memory leaks in rtl8180_init_rx_ring()
a6fb8785b179 wifi: mac80211: fix CMAC functions not handling errors
5ebf0fe7eaef wifi: rtl818x: rtl8187: Fix potential buffer underflow in rtl8187_rx_cb()
b8f34c1c5c4f wifi: mt76: mt7996: fix null pointer deref in mt7996_conf_tx()
cbeca0b7ea20 wifi: mt76: mt7996: Remove unnecessary link_id checks in mt7996_tx
d582d0e988d6 wifi: mt76: wed: use proper wed reference in mt76 wed driver callabacks
d2d11298dfc3 wifi: mt76: mt7996: Remove useless check in mt7996_msdu_page_get_from_cache()
2cde732373a7 Revert "wifi: mt76: mt792x: improve monitor interface handling"
74bb080717a3 wifi: mt76: mt7996: fix max nss value when getting rx chainmask
95bb36f8d6b3 wifi: mt76: mt7996: fix implicit beamforming support for mt7992
ee94375d06b5 wifi: mt76: mt7996: fix several fields in mt7996_mcu_bss_basic_tlv()
d64e6f27260e wifi: mt76: mt7996: fix teardown command for an MLD peer
e5c42efeb162 wifi: mt76: mt7996: set link_valid field when initializing wcid
9a43ed9ab800 wifi: mt76: mt7996: fix MLD group index assignment
7d6cd8f51ad8 wifi: mt76: mt7996: fix MLO set key and group key issues
1a4b481a21ae wifi: mt76: mt7996: fix using wrong phy to start in mt7996_mac_restart()
b4b789d24319 wifi: mt76: mt7996: fix EMI rings for RRO
46f0648e261c wifi: mt76: mt7996: grab mt76 mutex in mt7996_mac_sta_event()
70656b45467c wifi: mt76: Move mt76_abort_scan out of mt76_reset_device()
c319967690d4 wifi: mt76: mt7996: skip deflink accounting for offchannel links
abdedd46dc58 wifi: mt76: mt7996: skip ieee80211_iter_keys() on scanning link remove
f4c57afff3b0 wifi: mt76: mt7996: Add missing locking in mt7996_mac_sta_rc_work()
4d42aba0ee49 mt76: mt7615: Fix memory leak in mt7615_mcu_wtbl_sta_add()
ad26a7ef0488 wifi: ieee80211: correct FILS status codes
40257a2ef1bc wifi: rtl8xxxu: Fix HT40 channel config for RTL8192CU, RTL8723AU
c3ab9657866f wifi: cfg80211: stop radar detection in cfg80211_leave()
0283fac52b42 wifi: cfg80211: use cfg80211_leave() in iftype change
9c6f9b2a80ed wifi: mt76: mt792x: fix wifi init fail by setting MCU_RUNNING after CLC load
f5323b43019d wifi: brcmfmac: Add DMI nvram filename quirk for Acer A1 840 tablet
498e286941b9 wifi: mt76: Fix DTS power-limits on little endian systems
e5c129a05531 wifi: rtw88: limit indirect IO under powered off for RTL8822CS
90a15ff32464 wifi: rtlwifi: 8192cu: fix tid out of range in rtl92cu_tx_fill_desc()
7ea38152a289 wifi: cfg80211: sme: store capped length in __cfg80211_connect_result()
182a2786d248 wifi: mac80211: do not use old MBSSID elements
de5eb6b65e9f wifi: iwlwifi: Fix firmware version handling
a21704df4024 wifi: mac80211: Discard Beacon frames to non-broadcast address
e3c35177103e wifi: avoid kernel-infoleak from struct iw_point
b97be67dc06e wifi: mac80211: restore non-chanctx injection behaviour
1251bbdb8f5b wifi: mac80211_hwsim: fix typo in frequency notification

The following patches were applied upstream:
build/130-backports-move-__counted_by-to-compiler_types.h-head.patch patch [1]
build/999-kernel-6.12.64.patch [2]

[1]: https://github.com/openwrt/backports/commit/b63f79524e6f30e58692bc9ee57c6e6e0dd10de4
[2]: https://github.com/openwrt/backports/commit/ed8c176dfab1ae8962435576face472aaa7294c3

Link: https://github.com/openwrt/openwrt/pull/21711
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 9bdb1b4eb496f4d08e4d4c508674926af7c5beb5)

4 months agod1: refresh kernel config
Chukun Pan [Tue, 21 Oct 2025 11:30:09 +0000 (19:30 +0800)] 
d1: refresh kernel config

Run 'make kernel_oldconfig' to get an up-to-date config.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
(cherry picked from commit 8dccd1e44f495ef66515fb1ef1015685c47cf1a7)

4 months agod1: enable overlay support
Chukun Pan [Mon, 20 Oct 2025 14:16:21 +0000 (22:16 +0800)] 
d1: enable overlay support

Add the loop module and mkfs tool to use f2fs/ext4
based overlays. This fixes the following bug:

mount_root: unable to create loop device
mount_root: no usable overlay filesystem found, using tmpfs overlay

Fixes: 99545b4bb1faf7c3 ("d1: add new target")
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
(cherry picked from commit 1e7950a45de593354a508d80a39951b440336ab7)

4 months agod1: enable usbgadget feature
Chukun Pan [Sun, 19 Oct 2025 14:01:25 +0000 (22:01 +0800)] 
d1: enable usbgadget feature

The USB of most d1 devices works in otg or peripheral mode.
Enable this feature to use usbgadget and fix musb errors:

musb-sunxi 4100000.usb: Invalid or missing 'dr_mode' property
musb-sunxi 4100000.usb: probe with driver musb-sunxi failed with error -22

Fixes: 99545b4bb1faf7c3 ("d1: add new target")
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
(cherry picked from commit 81580cc92c37665a0d4646c155727905ee8539da)

4 months agoodhcp6c: update to 25.12 Git HEAD (2026-01-25) 21719/head
Álvaro Fernández Rojas [Mon, 26 Jan 2026 17:54:14 +0000 (18:54 +0100)] 
odhcp6c: update to 25.12 Git HEAD (2026-01-25)

ee2949e3a70a dhcpv6: add config for strict RFC7550
abf6677391f0 dhcpv6: replace hash_ifname() with MD5 implementation

https://github.com/openwrt/odhcp6c/compare/699cc61568b6...ee2949e3a70a

Link: https://github.com/openwrt/openwrt/pull/21719
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 months agokernel: add missing kernel config option
Hauke Mehrtens [Mon, 26 Jan 2026 00:32:23 +0000 (01:32 +0100)] 
kernel: add missing kernel config option

The CONFIG_SOFTLOCKUP_DETECTOR_INTR_STORM option shows up when the
OpenWrt option CONFIG_KERNEL_SOFTLOCKUP_DETECTOR is activated.

Link: https://github.com/openwrt/openwrt/pull/21710
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit bf9e90c94e3cd360bb733b70d48fa0bcb4f6f964)

4 months agokernel: reorder configuration options
Hauke Mehrtens [Mon, 26 Jan 2026 00:32:35 +0000 (01:32 +0100)] 
kernel: reorder configuration options

Reorder the kernel configuration options by running:
./scripts/kconfig-reorder.sh

Link: https://github.com/openwrt/openwrt/pull/21710
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit daa36b777061d78736b8dbd6846e0029d3e86bf4)