OpenWrt 25.12.2 - Service Release

Hi,

The OpenWrt community is proud to announce the second service release of the OpenWrt 25.12 stable series.

Download firmware images using the OpenWrt Firmware Selector:

Download firmware images directly from our download servers:

Main changes between OpenWrt 25.12.1 and OpenWrt 25.12.2

Only the main changes are listed below. See the full changelog for details.

Device support

  • airoha: rename kernel module kmod-pwm-an7581 to kmod-pwm-airoha β€” users with this module explicitly installed need to reinstall under the new name
  • apm821xx: fix U-Boot environment definitions for NETGEAR WNDR4700, Western Digital MyBookLive, Meraki MR24 and Meraki MX60; fix PCIe boot failure on Meraki MX60
  • ath79: fix initramfs boot for Huawei AP5030DN and AP6010DN
  • ath79: fix VLAN CPU port tagging on 2-CPU-port devices (affects several dual-CPU switch configurations)
  • ath79: remove incorrectly included WiFi packages from Mikrotik RB750r2 (device has no WiFi hardware)
  • ipq40xx: fix ART partition name for Linksys Velop WHW03 V1 β€” restores correct WiFi calibration data access
  • ipq40xx: fix MAC address reading for Linksys devices using eMMC-based NVMEM
  • lantiq: xrx200: fix failsafe mode on BT HomeHub 5A β€” LAN ports 1 & 2 now work correctly in failsafe (https://github.com/openwrt/openwrt/issues/22480)
  • mediatek: Bananapi BPI-R4: fix SFP+ electric module support β€” modules that stopped working after a snapshot upgrade are now functional again (https://github.com/openwrt/openwrt/issues/19878)
  • ramips: fix kernel decompress error that bricked ELECOM WRC-X1800GS on 25.12.0 (https://github.com/openwrt/openwrt/issues/22270)
  • ramips: fix initramfs kernel load address for TP-Link EAP615-Wall v1
  • ramips: fix MAC address assignment for Xiaomi Mi AC2100
  • realtek: fix D-Link fan control script

WiFi fixes and improvements

  • wifi-scripts: fix 160 MHz channel width configuration β€” hostapd was not correctly configured for 160 MHz, preventing its use (https://github.com/openwrt/openwrt/issues/22481)
  • wifi-scripts: fix SU beamformee antenna count β€” incorrect count was passed to the driver
  • hostapd: fix memory leak in Radio Resource Management (RRM) ubus interface
  • mac80211: ath12k: add thermal sensor support for QCA/IPQ devices
  • mac80211: ath9k: fix GPIO mask handling from device tree
  • mt76: fix severe WiFi latency regression (up to multiple seconds) on 2.4 GHz introduced in 25.12.1 β€” affected many MediaTek devices including OpenWrt One, Zyxel EX5601, ASUS RT-AX53U, Xiaomi AX3000T/AX6000, Cudy WR3000/X6, GL Flint 2 and others (https://github.com/openwrt/openwrt/issues/22491)
  • mt76: multiple further stability fixes for MediaTek WiFi chipsets (MT7615/MT7915/MT7996/MT7992/MT792x):
    • add per-link beacon monitoring for MLO (Multi-Link Operation)
    • fix MT7996/MT7992 link handling during MLO station add/remove
    • fix scan work requeue race with spinlock

Upgrading to 25.12.2

Upgrading from 24.10 to 25.12 should be transparent on most devices, as most configuration data has either remained the same or will be translated correctly on first boot by the package init scripts.
For upgrades within the OpenWrt 25.12 stable series, Attended Sysupgrade is also supported, which allows preserving the installed packages.

  • Sysupgrade from 23.05 or earlier to 25.12 is not officially supported.

  • Cron log level was fixed in busybox. system.@system[0].cronloglevel should be set to 7 for normal logging. 7 is the default now. If this option is not set, the default is used and no manual action is needed. https://github.com/openwrt/openwrt/commit/fc0c518a88e68d3deef04bec73b33d35186d6546

  • Bananapi BPI-R4: Interface eth1 was renamed to sfp-lan or lan4, and interface eth2 was renamed to sfp-wan to match the labels. You have to upgrade without saving the configuration. https://github.com/openwrt/openwrt/commit/cd8dcfef378044a1687adfa3738f01f9a9622baf

  • TP-Link RE355 v1, RE450 v1 and RE450 v2: The partition layout and block size changed in this release to fix configuration loss on sysupgrade. Users upgrading from OpenWrt 25.12.0 or earlier must use sysupgrade -F to force the upgrade. The image must not exceed 5.875 MB (6016 KiB).

  • Meraki MX60: Direct sysupgrade to 25.12.2 is not possible without manual preparation β€” meraki_loadaddr must be changed before upgrading, as the default value is insufficient to boot OpenWrt 25.12+. See the device wiki page for instructions.

Known issues


Full release notes and upgrade instructions are available at
https://openwrt.org/releases/25.12/notes-25.12.2

In particular, make sure to read the known issues before upgrading:
https://openwrt.org/releases/25.12/notes-25.12.2#known_issues

For a detailed list of all changes, refer to
https://openwrt.org/releases/25.12/changelog-25.12.2

To download the 25.12.2 images, navigate to:
https://downloads.openwrt.org/releases/25.12.2/targets/
Use OpenWrt Firmware Selector to download:
https://firmware-selector.openwrt.org?version=25.12.2

As always, a big thank you goes to all our active package maintainers, testers, documenters and supporters.

Have fun!

The OpenWrt Community


To stay informed of new OpenWrt releases and security advisories, there
are new channels available:

26 Likes

Updated on my gl-mt6000, lots of added packages, great release so far everything is running well thanks!

3 Likes
Server response: server overload, queue contains too many build requests: 201

Calm down everyone! :slight_smile: There’s enough of that for everybody!

No worries though, I’m not in a hurry.

3 Likes

Updated Linksys EA8500 with OpenVPN and WireGuard server
Updated Netgear R7800 with Adblock, DNS-HTTPS-Proxy, DDNS, and watchcat.
All working just fine

2 Likes

Just updated one of my Mi 4A GbEs to this and it seems that it doesnt like whatever I got in my config. Device wont work (as in no network or wlan whatsoever, not even able to ssh into it) with config I got. I was 25.12.1 before hand with device in dumb ap mode.

I will wait:

2 Likes

Oh my goodness, version 25.12.2 already! I need to get my finger out, I only just finished updating my Raspberry Pi to version 25.12.1 a few days ago.
Hope this version helps those who has issues with the previous one. Also, well done to all those involved with another speedy update.

Mark

Edit
Just tried to upgrade and the server is overloaded, I'll give it a few days and try again.

1 Like

3 devices update Flint2 and Rax3000Me and Xiaomi AX3000T from 25.12.1 to the latest 25.12.2 (r32802) via LuCI with "Keep settings" enabled. The upgrade went smoothly and I haven't encountered any bugs or errors in the new build so far. :cowboy_hat_face: Thanks Devs.

2 Likes

Is 201 the actual number of build requests in the queue or the error code? It seems like an extremely low number? Hoping to try this methodology over the traditional file upload and package install.

Looks like WiFi in EAP615wall is stable now.

That's how long the queue is - 200 builds are waiting.
By the way, it took me 3 hours to move from position 199 to position 4.

The server is currently overloaded, so anyone who wants to create custom images will have to wait.

4 Likes

Updated WRT1900ACSV2 from rc5 to 25.12.2 using the traditional sysupgrade image flash, retained config, and ssh package installation (instead of attended sysupgrade: server overload).

Preliminary assessment: working well.

I just build myself, took me a whole 15 minutes :slight_smile:

Queue size.

Tip: You can use the image builder to build your own image from pre compiled packages, you just need a x64 linux environment for that (I use debian 13 lxc).

1 Like

It's not only a queue size. All of that waiting is in vain, as the final job hits the 600-second timeout.

3 Likes

is there a guide on image builder how to cook from pre compiled packages?

Updated 2 x EDUP 2960s
From Andros "24.10.x Snapshot" to first "Official supported fw" - 25.12.xx

Model	                EDUP EP-RT2960S
Architecture	        MediaTek MT7621 ver:1 eco:3
Target Platform	        ramips/mt7621

Downloaded & used the "prebuild" sysupgrade 25.12.2 image , as there was a long queue on doing a build.

Kept the 24.10.x config.

So far so good.

Thanx @andros-ua & Team :+1:

If the server isn't overloaded, it doesn't take any longer in the image selector either.

Well, I'm in no rush, 25.12.0 and 25.12.1 are running on my router without any issues - no Wi-Fi = no Wi-Fi bugs, etc.

Since the build process failed, I'll just try again tomorrow

2 Likes

Hi @MarkyMark What is your Pi version?

1 Like