]> git.ipfire.org Git - thirdparty/openwrt.git/log
thirdparty/openwrt.git
7 hours agowifi-scripts: move no_probe_resp_if_max_sta to wifi-iface main master 21412/head
Rany Hany [Mon, 5 Jan 2026 15:43:43 +0000 (15:43 +0000)] 
wifi-scripts: move no_probe_resp_if_max_sta to wifi-iface

It is a BSS-level option and not radio-level. As such,
move it to wifi-iface and ap.uc.

Signed-off-by: Rany Hany <rany_hany@riseup.net>
Link: https://github.com/openwrt/openwrt/pull/21412
Signed-off-by: Robert Marko <robimarko@gmail.com>
8 hours agokernel: modules: add kmod-pmbus-sensors package 21444/head
Til Kaiser [Thu, 2 Oct 2025 13:30:07 +0000 (15:30 +0200)] 
kernel: modules: add kmod-pmbus-sensors package

Introduce the kmod-pmbus-sensors package to provide the
generic PMBus hwmon driver (CONFIG_SENSORS_PMBUS).

This enables support for a wide range of PMBus-based devices
including ADP4000, BMR310, BMR480, MAX20796, TPS544B25, and others.

Signed-off-by: Til Kaiser <mail@tk154.de>
Link: https://github.com/openwrt/openwrt/pull/21444
Signed-off-by: Robert Marko <robimarko@gmail.com>
9 hours agobase-files: uci-defaults: migrate time zonename on upgrade 21482/head
Eric Fahlgren [Sat, 10 Jan 2026 01:32:37 +0000 (17:32 -0800)] 
base-files: uci-defaults: migrate time zonename on upgrade

Timezone names no longer allow spaces, so older installations
upgrading to new will have their timezone reset to UTC.

For example, on 24.10:
  $ uci get system.@system[0].zonename
  America/Los Angeles

After upgrade to 25.12:
  $ uci get system.@system[0].zonename
  UTC

Add a migration script to edit zonename on first boot.

Fixes: https://github.com/openwrt/luci/commit/d9a087e4
Link: https://github.com/openwrt/luci/issues/8203
Link: https://forum.openwrt.org/t/openwrt-25-12-0-rc1-release-candidate/244364/98
Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21482
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
9 hours agoeconet: refresh patches 6.12 21500/head
Leo Barsky [Sun, 11 Jan 2026 04:55:50 +0000 (01:55 -0300)] 
econet: refresh patches 6.12

Manually rebased:
econet/patches-6.12/901-nand-enable-en75-bbt.patch

Fixes: 5230157a165 ("kernel: QCOM SPI NAND: backport multiple fixes")
Signed-off-by: Leo Barsky <leobrsky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/21500
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
9 hours agoreadline: add $(FPIC) to LDFLAGS 21455/head
Anari Jalakas [Thu, 8 Jan 2026 10:11:47 +0000 (12:11 +0200)] 
readline: add $(FPIC) to LDFLAGS

Ensure -fPIC is passed during the linking stage to fix LTO build
failures (relocation errors) on MIPS and other architectures.

Fixes: #20436
Signed-off-by: Anari Jalakas <anari.jalakas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21455
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
10 hours agowifi-scripts: ucode: fix RRM defaults 21425/head
Rany Hany [Tue, 6 Jan 2026 14:35:05 +0000 (14:35 +0000)] 
wifi-scripts: ucode: fix RRM defaults

They are being default enabled unconditionally when they should
depend on 802.11k. 802.11k should not be enabled by default
either as it can cause issues with certain older drivers and
is useless without a userspace program like usteer or DAWN.

If users want to enable 802.11k they will enable it when they
set such programs up.

Another inconsistency with rnr was dealt with so that it is not
default enabled. This is also not done with old wifi-scripts
and is generally unexpected and surprising behavior.

Moreoever, this introduces an inconsistency between old shell
wifi-scripts and ucode version. Old wifi-scripts does not do this.

Signed-off-by: Rany Hany <rany_hany@riseup.net>
Link: https://github.com/openwrt/openwrt/pull/21425
Signed-off-by: Robert Marko <robimarko@gmail.com>
15 hours agokernel: cleanup CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU 21465/head
Stijn Tintel [Thu, 8 Jan 2026 19:56:02 +0000 (21:56 +0200)] 
kernel: cleanup CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU

Commit ab805ec316b5 ("generic: add missing squashfs config") enabled
CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU in the generic config, so it is no
longer needed in the target configs.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Link: https://github.com/openwrt/openwrt/pull/21465
Signed-off-by: Robert Marko <robimarko@gmail.com>
17 hours agorealtek: pcs: rtl838x: use SerDes hardware modes 21480/head
Jonas Jelonek [Fri, 2 Jan 2026 17:12:47 +0000 (17:12 +0000)] 
realtek: pcs: rtl838x: use SerDes hardware modes

Switch RTL838X SerDes setup to use the internal SerDes hardware modes
instead of the PHY_INTERFACE_MODE_* modes.

Use the generic mapper in the beginning of the SerDes setup and convert
all affected functions to the different mode type. This will be moved
out to the generic pcs_config later.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21480
Signed-off-by: Robert Marko <robimarko@gmail.com>
17 hours agorealtek: pcs: drop legacy comment and warning 21481/head
Jonas Jelonek [Fri, 9 Jan 2026 23:12:36 +0000 (23:12 +0000)] 
realtek: pcs: drop legacy comment and warning

We finally reached the point where PCS has full control over SerDes and
no parts of this are scattered in other drivers anymore. To make that
clear, drop the comment in pcs_config that explains this former state
and remove a warning which states that pcs_config isn't fully
implemented yet.

Add a generic output to at least keep a generic sign of life from the
PCS driver, independently from what the variant-specific code currently
prints.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21481
Signed-off-by: Robert Marko <robimarko@gmail.com>
17 hours agorealtek: phy: add comment to firmware file definition
Jonas Jelonek [Fri, 9 Jan 2026 23:43:21 +0000 (23:43 +0000)] 
realtek: phy: add comment to firmware file definition

Add a comment stating the situation around a specific RTL838x firmware
file. After SerDes setup has been moved to the PCS driver, this firmware
file is partially unused. If the remaining bits are pulled out or just
replaced, this firmware file can be dropped. The comment ensures that we
do not forget about that.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21481
Signed-off-by: Robert Marko <robimarko@gmail.com>
17 hours agorealtek: eth: remove unused SerDes defines
Jonas Jelonek [Fri, 9 Jan 2026 23:38:25 +0000 (23:38 +0000)] 
realtek: eth: remove unused SerDes defines

Remove some unused defines for SerDes in the ethernet driver. They have
been missed before but are completely out of place here now.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21481
Signed-off-by: Robert Marko <robimarko@gmail.com>
27 hours agolinux: crypto: fix dependencies for curve25519 and poly1305 21483/head
Robert Marko [Fri, 9 Jan 2026 19:37:01 +0000 (20:37 +0100)] 
linux: crypto: fix dependencies for curve25519 and poly1305

Currently, kmod-crypto-kpp is only implied for curve25519 and thus it
can get unselected and then building will fail due to missing kpp.ko.

Same issue happens with kmod-crypto-hash for poly1305.

So, lets drop the whole implies logic and make sure to always select
them as dependencies.

Fixes: #21386
Link: https://github.com/openwrt/openwrt/pull/21483
Signed-off-by: Robert Marko <robimarko@gmail.com>
28 hours agoppp: update deprecated cpe 21441/head
Thomas Perale [Wed, 7 Jan 2026 13:03:22 +0000 (14:03 +0100)] 
ppp: update deprecated cpe

The CPE 'samba:ppp' added in OpenWrt commit [1], has been deprecated in
favour of 'point-to-point_protocol_project:point-to-point_protocol'
(see [2]).

[1] c61a239514 add PKG_CPE_ID ids to package and tools
[2] https://nvd.nist.gov/products/cpe/detail/1224B76D-6BB3-4088-9F42-23AC04A764F2

Signed-off-by: Thomas Perale <thomas.perale@mind.be>
Link: https://github.com/openwrt/openwrt/pull/21441
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
29 hours agorealtek: add support for ZyXEL GS1920-24HPv1 20439/head
Andreas Böhler [Fri, 9 Jan 2026 22:07:02 +0000 (23:07 +0100)] 
realtek: add support for ZyXEL GS1920-24HPv1

The GS1920-24HPv1 is a switch with 24 copper ports and 4 combo SFP/copper
ports and PoE on the first 24 ports.

Specifications:
---------------
  * SoC: Realtek RTL8292M
  * Flash: 16 MiB SPI flash
  * RAM: 128 MiB
  * Ethernet: 24x 10/100/1000 Mbps
  * Buttons: 1x "Reset" button
  * UART: 1x serial header, standard DCE pinout (Tx = 2, Rx = 3, Gnd = 5);
          9600 baud, 8n1, +- 5.6V logic levels
  * SFP: 4 combo copper/SFP ports
  * PoE: 24x
  * Fans: ADT7468 fan controller

Works:
------
  - (24) RJ-45 ethernet ports
  - Switch functions
  - Buttons
  - LEDs (partial support, the wrong LEDs light up)
  - Manual fan control

Not yet enabled:
----------------
  - PoE (requires patches to realtek-poe to support i2c)
  - Combo ports (link is up, but no data is transferred)

Fans:
-----
After boot, the fans are running in full speed mode. You can interact
with the fan controller at /sys/class/hwmon/

Installation:
-------------

This device uses ZyNOS instead of Linux, this makes installation a bit
more cumbersome. Serial console is required!

1. Set the switch to boot from the first image. This step is crucial,
   it will fail to boot if this is not set properly.

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

3. Load the OpenWrt initramfs image via XMODEM. You need to obtain an
   unlock code, based on your MAC address, first. See the excellent write
   up at https://www.ixo.de/info/zyxel_uclinux/ for details. Replace
   unlock_code in the commands below by the code obtained.
   After running ATBA5, the terminal needs to be closed and re-opened
   with 115200 baud. This speeds up the file transfer significantly!
   The file length in bytes need to be given instead of file_length below.
   You also need an XMODEM upload utility like "lrzsz-sx -X" to transfer
   the file. Start the XMODEM upload after running the ATUPxxxx command:

     > ATEN1,unlock_code
     > ATBA5
     > ATUP80100000,file_length
     > ATGO80100000

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 running the following two commands on
   the switch (over SSH):

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

6. Reboot the switch and enjoy OpenWrt.

NB: You do not need to touch the loader binary unless it's recommended.
    The loader is not part of a regular sysupgrade file and will be left
    untouched. The boot loader only checks if the loader is valid to be
    able to boot.

Recovery/ Return to stock:
--------------------------

Just spam the "u" key during (or "z" for 9600 baud) during memory testing
to trigger a recovery XMODEM upload at 115200 baud. A standard OEM upgrade
image works properly.

Signed-off-by: Andreas Böhler <dev@aboehler.at>
Link: https://github.com/openwrt/openwrt/pull/20439
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
29 hours agorealtek: Makefile: add rt-loader-standalone and zynsig recipes
Andreas Böhler [Sun, 12 Oct 2025 17:33:19 +0000 (19:33 +0200)] 
realtek: Makefile: add rt-loader-standalone and zynsig recipes

This adds the build recipes for rt-loader-standalone and zynsig to the
Makefile. The recipes are required for the upcoming ZyXEL GS1920 series.

Signed-off-by: Andreas Böhler <dev@aboehler.at>
Link: https://github.com/openwrt/openwrt/pull/20439
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
30 hours agompc85xx: p2020: add support for WatchGuard XTM330 (NC5AE7) 21020/head
Pawel Dembicki [Sun, 30 Nov 2025 22:50:48 +0000 (23:50 +0100)] 
mpc85xx: p2020: add support for WatchGuard XTM330 (NC5AE7)

Hardware specifications:
  - CPU: Freescale/NXP P2020, dual-core PowerPC @ 1 GHz
  - RAM: 1 GB DDR3
  - Flash: 2 MB NOR, 512 MB NAND
  - Networking: 7x Gigabit Ethernet ports (via two Marvell 88E6171
    switches,  each attached to a different MAC)
  - USB: 2x USB 2.0 ports (front panel)
  - mini-PCIe slot
  - RTC: Ricoh RS5C372A
  - 4 buttons (via external MCU)
  - 3 LEDs (via external MCU)
  - LCD display (via external MCU)

Installation procedure:

1. Obtain the original MAC address table from the stock bootlog, for
   example:

     setting device eth0 to 00:90:7f:00:00:01
     setting device eth1 to 00:90:7f:00:00:02
     setting device eth2 to 00:90:7f:00:00:03
     setting device eth3 to 00:90:7f:00:00:04
     setting device eth4 to 00:90:7f:00:00:05
     setting device eth5 to 00:90:7f:00:00:06
     setting device eth6 to 00:90:7f:00:00:07

2. Open the case and move jumper JP1 from 2-3 to 1-2 to enter FAILSAFE
   mode.
3. Power on the device and interrupt the boot process to access the U-Boot
   shell.
4. Program the MAC base address into the EEPROM (text after '#' is a
   comment):

     mac ports 3
     mac 2 00:90:7f:00:00:01   # first MAC address from bootlog
     mac save

5. Reset the device and enter the U-Boot console again.
6. Connect a TFTP server to port 6 and boot the initramfs image:

     setenv ipaddr 192.168.1.3
     setenv serverip 192.168.1.2
     setenv loadaddr 1000000
     tftpboot $loadaddr openwrt-mpc85xx-p2020-watchguard_xtm330-initramfs-kernel.bin
     bootm $loadaddr

7. (Optional) Backup all MTD partitions if you want the ability to restore
   stock firmware.
8. Perform a normal sysupgrade from the initramfs environment.
9. Power off the device and move jumper JP1 back to 2-3.
10. The device will now boot OpenWrt.

Known issues:
  - LCD, buttons and LEDs are controlled by an external MCU; the protocol is
    currently unknown.
  - The internal connection between the two Marvell switches is unused by
    OpenWrt.
  - The stock firmware uses an empty U-Boot environment; saving variables
    modifies the environment and prevents a normal boot. FAILSAFE U-Boot
    remains functional.
  - WatchGuard configuration is encrypted; DSA MAC addresses are stored in
    this configuration.
  - Failsafe Ethernet works on port1.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21020
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
32 hours agoprojectsmirrors: switch to HTTPS 21268/head
Yanase Yuki [Wed, 24 Dec 2025 06:35:02 +0000 (15:35 +0900)] 
projectsmirrors: switch to HTTPS

apache.mirrors.ovh.net supports HTTPS,
so let's use it.

Signed-off-by: Yanase Yuki <dev@zpc.st>
Link: https://github.com/openwrt/openwrt/pull/21268
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
32 hours agoprojectsmirrors: drop some sites
Yanase Yuki [Wed, 24 Dec 2025 06:27:14 +0000 (15:27 +0900)] 
projectsmirrors: drop some sites

This commit drop ftp.nara.wide.ad.jp and
www.ring.gr.jp from projectsmirrors.

These mirrors only supports plain HTTP.
Drop mirrors that does no meet modern
security standards.

Signed-off-by: Yanase Yuki <dev@zpc.st>
Link: https://github.com/openwrt/openwrt/pull/21268
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
39 hours agonetifd: dhcp: suppress udhcpc default vendor class if specified in sendopts 21450/head
JINLIANG GU [Sat, 10 Jan 2026 01:45:58 +0000 (09:45 +0800)] 
netifd: dhcp: suppress udhcpc default vendor class if specified in sendopts

When DHCP Option 60 is specified via sendopts (hex, decimal, or named
formats), udhcpc sends its default "udhcp <version>" string alongside
the custom value, which causes authentication failures with some ISPs.

This fix detects Option 60 in sendopts and automatically passes -V ""
to udhcpc to suppress the default version string while allowing
multiple user-defined vendor classes.

Supported formats:
- Hexadecimal: 0x3c
- Decimal: 60
- Named: vendor

Fixes: #21242
Signed-off-by: JINLIANG GU <ihipop@gmail.com>
https://github.com/openwrt/openwrt/pull/21450
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2 days agofeeds: revert to git.openwrt.org 21475/head
Goetz Goerisch [Fri, 9 Jan 2026 20:14:47 +0000 (21:14 +0100)] 
feeds: revert to git.openwrt.org

This reverts the feeds.conf.default to git.openwrt.org

Fixes: 66e6ebbc1ea6c661bcbc85702066e2654da9c26a (microchipsw: drop source-only)
Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21475
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 days agorealtek/rtl839x: Edgecore ECS4100-12PH support
Stijn Tintel [Tue, 28 Jun 2022 14:44:51 +0000 (17:44 +0300)] 
realtek/rtl839x: Edgecore ECS4100-12PH support

Add support for the Edgecore ECS4100-12PH, an 8-port 802.3bt PoE Gigabit
Ethernet switch with 2 combo RJ45/SFP and 2 SFP ports.

Hardware:
* SoC: RTL8393M
* RAM: 256MiB
* Flash: 32MiB SPI-NOR
* Ethernet:
  * 8x GbE RJ45 PoE (external RTL8218B)
  * 2x GbE RJ45 / SFP combo (external RTL8214FC)
  * 2x SFP (external RTL8214FC)
* Console: RJ45 RS232 port on front panel
* PoE: Nuvoton M0516 + 2x Broadcom BCM59121 PSE

Installation via bootloader:
* open serial console (baud rate 115200)
* interrupt boot process by pressing any key during boot
* boot the OpenWrt initramfs:
  # rtk network on
  # tftpboot 0x8f000000 /tftpboot/openwrt-realtek-rtl839x-edgecore_ecs4100-12ph-initramfs-kernel.bin
  # bootm
* copy openwrt-realtek-rtl839x-edgecore_ecs4100-12ph-squashfs-sysupgrade.bin
  to /tmp and use sysupgrade to install it:
  # sysupgrade /tmp/openwrt-realtek-rtl839x-edgecore_ecs4100-12ph-squashfs-sysupgrade.bin

Even though U-Boot claims the switch is based on the RTL8392M SoC, my
device is based on the RTL8393M SoC. I have confirmed this by removing
the heatsink, and the Linux kernel agrees with this. Therefore the DTS
has the rtl8393_ prefix.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2 days agorealtek: eth: move init_mac() into configuration structure 21391/head
Markus Stockhausen [Sun, 4 Jan 2026 20:21:23 +0000 (21:21 +0100)] 
realtek: eth: move init_mac() into configuration structure

Avoid family checks where possible. Now that the init_mac()
functions are in perfect shape include them into the
configuration structure. While we are here rename them
to the new driver prefix.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21391
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2 days agorealtek: eth: add init_mac() for RTL930x
Markus Stockhausen [Sun, 4 Jan 2026 20:00:33 +0000 (21:00 +0100)] 
realtek: eth: add init_mac() for RTL930x

This function does nothing at the moment. Simply add it for
completeness.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21391
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2 days agorealtek: eth: reorder init_mac() functions
Markus Stockhausen [Sun, 4 Jan 2026 19:52:29 +0000 (20:52 +0100)] 
realtek: eth: reorder init_mac() functions

Move the functions close to each other and sort them.
No functional changes here.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21391
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2 days agorealtek: eth: simplify rtl8380_init_mac()
Markus Stockhausen [Sun, 4 Jan 2026 19:42:13 +0000 (20:42 +0100)] 
realtek: eth: simplify rtl8380_init_mac()

This function is now only called on RTL838x devices. Remove all
obsolete family checks.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21391
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2 days agorealtek: eth: harmonize mac (aka chip) init
Markus Stockhausen [Sun, 4 Jan 2026 19:31:08 +0000 (20:31 +0100)] 
realtek: eth: harmonize mac (aka chip) init

The ethernet driver must initialize the chip for proper operation.
Currently there exist functions for RTL838x, RTL839x and RTL931x.
All of them are called differently. Combine them in a central call
location.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21391
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2 days agorealtek: dts: RTL93xx whitespace cleanup 21474/head
Markus Stockhausen [Fri, 9 Jan 2026 18:17:38 +0000 (19:17 +0100)] 
realtek: dts: RTL93xx whitespace cleanup

Replace spaces with tabs. No functional changes.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21474
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2 days agorealtek: replace remove_new with remove 21430/head
Jonas Jelonek [Tue, 6 Jan 2026 20:58:11 +0000 (20:58 +0000)] 
realtek: replace remove_new with remove

Replace remove_new callback in struct platform_driver with remove. This
was just meant for a transition period. remove_new is dropped with 6.13.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21430
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2 days agomicrochipsw: drop source-only
Robert Marko [Fri, 9 Jan 2026 17:52:20 +0000 (18:52 +0100)] 
microchipsw: drop source-only

Now that there is a consumer board available, lets drop source-only so that
buildbots provide official images.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2 days agomicrochipsw: lan969x: add Novarq Tactical 1000 21472/head
Robert Marko [Sun, 2 Nov 2025 14:15:35 +0000 (15:15 +0100)] 
microchipsw: lan969x: add Novarq Tactical 1000

Novarq Tactical 1000 is a LAN9696 based switch.

Specifications:
* CPU: Microchip LAN9696 switch SoC
* DRAM: 2GB DDR4
* Storage:
* 32MB QSPI NOR
* 16GB eMMC
* Networking:
* 24 x 10/100/1000 RJ45 via LAN8804 Quad PHY-s over QSGMII
* 4 x 100/1000/2500/5000/10000 SFP+ ports
* 1 x 10/100/1000 management RJ45 via LAN8840 PHY over RGMII (U-Boot too)
* USB: 1 x USB2.0 Type-A
* Management via USB-C (MCP2200):
* UART @ 115200 baud (Default), 921600 possible
* GPIO-s for bootstrap and reset
* LED-s:
* 2 per networking port (Green and Yellow)
* Green status LED
* Soft reset GPIO
* Power: 12V DC barrel jack
* External PoE:
* Option for PoE add-on
* Temperature Sensors:
* TMP1075 onboard
* CPU temperature
* Microchip MCP79402 RTC with battery back-up
* Microchip ATECC608C secure peripheral
* CPU heatsink with PWM fan
* Onboard header for case fan

Installation instructions:

1. Connect to UART via the USB-C port
2. Connect the management port
3. Boot and interrupt U-Boot
4. TFTP the OpenWrt initramfs image and boot it
5. SCP the OpenWrt eMMC GPT image to a running OpenWrt initramfs to /tmp
openwrt-microchipsw-lan969x-novarq_tactical-1000-squashfs-emmc-gpt.img.gz

And decompress it via:
gzip -d /tmp/openwrt-microchipsw-lan969x-novarq_tactical-1000-squashfs-emmc-gpt.img.gz

6. Wipe eMMC with:
dd if=/dev/zero of=/dev/mmcblk0 bs=1M

7. Flash OpenWrt eMMC image with:
dd if=/tmp/openwrt-microchipsw-lan969x-novarq_tactical-1000-squashfs-emmc-gpt.img
of=/dev/mmcblk0

After a restart OpenWrt will boot, and then regular sysupgrade can be used
for upgrades.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2 days agomicrochipsw: use upstreamed patches
Robert Marko [Fri, 9 Jan 2026 17:27:33 +0000 (18:27 +0100)] 
microchipsw: use upstreamed patches

Replace some of the pending patches with the upstreamed versions and mark
them accordingly.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2 days agoboot: arm-trusted-firmware-microchipsw: update to latest
Robert Marko [Fri, 9 Jan 2026 17:10:35 +0000 (18:10 +0100)] 
boot: arm-trusted-firmware-microchipsw: update to latest

Update microchipsw TF-A to the latest bugfix release that fixes
SHA checksum validation if large files are uploaded via the monitor mode.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2 days agomicrochipsw: use latest DTS
Robert Marko [Fri, 9 Jan 2026 15:50:34 +0000 (16:50 +0100)] 
microchipsw: use latest DTS

Use the latest v3 that is sent upstream, it now uses a DTS header for clock
indices.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2 days agorealtek: mdio: drop SerDes access functionality 21439/head
Jonas Jelonek [Tue, 6 Jan 2026 19:54:44 +0000 (19:54 +0000)] 
realtek: mdio: drop SerDes access functionality

The SerDes access functionality in the mdio-realtek-otto drivers was
meant to be temporary, at least from a certain point on. The user was
all the SerDes configuration that lived in the PHY and DSA drivers.

Now that SerDes configuration has moved completely to the PCS driver,
there is no user of this code anymore. Instead, the PCS driver uses a
separate driver 'mdio-realtek-otto-serdes' to access the SerDes. Thus,
drop all that unused functionality from the "normal" mdio driver.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21439
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2 days agoqoriq: kernel: refresh config 10941/head
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>
2 days 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>
2 days 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>
2 days 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>
2 days agokernel: net: phy: mxl-gpy: replace downstream SGMII AN hack
Daniel Golle [Wed, 7 Jan 2026 15:41:17 +0000 (15:41 +0000)] 
kernel: net: phy: mxl-gpy: replace downstream SGMII AN hack

Replace downstream hack disabling SGMII in-band AN on the MediaTek platform
with pending upstream patch announcing in-band AN capabilities and implementing
configuring in-band AN in the PHY driver.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 days agox86: switch from CONFIG_HZ_PERIODIC to CONFIG_NO_HZ_IDLE 21470/head
John Audia [Fri, 9 Jan 2026 13:16:09 +0000 (08:16 -0500)] 
x86: switch from CONFIG_HZ_PERIODIC to CONFIG_NO_HZ_IDLE

Running with CONFIG_HZ_PERIODIC=y keeps the scheduler tick running
continuously, which produces higher jitter and lower power efficiency.
In contrast, CONFIG_NO_HZ_IDLE=y (the upstream default) stops the tick
only when the CPU is idle, giving lower idle power and normal runtime
jitter.

An Intel N150-based router/firewall was tested using two kernel builds:
one with CONFIG_HZ_PERIODIC=y, and one with CONFIG_NO_HZ_IDLE=y. Power
consumption was measured while the system was essentially idle (no
meaningful traffic). The CONFIG_NO_HZ_IDLE=y build consistently used
less power.

Details: The two power-measurement methods were:

 1. PkgWatt from turbostat (software)
 2. Wall-power measurement using a Kill-A-Watt (hardware)

The test began by zeroing the Kill-A-Watt and simultaneously running:
turbostat --quiet --Summary --interval 10 --show Busy%,PkgWatt

The test duration was defined by the time required for the Kill-A-Watt
to accumulate 0.005 kWh, after which the average wattage was calculated.

Results:
+----------------------+-----------------+----------------+-----------+
|  Metric              |   HZ_PERIODIC   |   NO_HZ_IDLE   | Delta %   |
+----------------------+-----------------+----------------+-----------+
|  PkgWatt             |  3.59 ± 0.38    |  3.38 ± 0.34   |  -5.9 %   |
+----------------------+-----------------+----------------+-----------+
| Avg wattage at wall  |      12.47      |     12.00      |  -3.77 %  |
+----------------------+-----------------+----------------+-----------+

The mean PkgWatt difference is 210 mW (5.9%) in favor of
CONFIG_NO_HZ_IDLE=y, with a t-statistic of ~3.17 and p ≈ 0.002.

Wall-power measurements show a 470 mW (3.77%) reduction under
CONFIG_NO_HZ_IDLE=y.

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/21470
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 days agorealtek: phy: keep register state during RTL8214FC fibre check 21393/head
Markus Stockhausen [Sun, 4 Jan 2026 20:41:12 +0000 (21:41 +0100)] 
realtek: phy: keep register state during RTL8214FC fibre check

Reading the fibre status of a RTL8214FC needs access to the
page register (31) and the extended page register (30).

The current implementation has two issues.

- The extended page register is not restored after changes
- Instead of register 30 its write-only sibling 29 is used.

This has the following side effect:

During regular polling kernel calls rtl8214fc_read_status
and determines the media status via __rtl8214fc_media_is_fibre.
Writing to register 29 a copy of that value is handed over
to register 30. This makes use of mdio tools for the first
port of the RTL8214FC hard. Register 30 is overwritten with
zero every second.

Change access from register 29 to register 30 and adapt
the sequence to restore register 30 contents at the end.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21393
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2 days agomediatek: fix 2.5G PHY LED polarity for MT7987 21200/head
Chukun Pan [Fri, 5 Dec 2025 12:16:02 +0000 (20:16 +0800)] 
mediatek: fix 2.5G PHY LED polarity for MT7987

The patch that adds MT7987 support to the mtk-2p5ge
driver does the following:

case MTK_2P5GPHY_ID_MT7987:
phy_clear_bits_mmd MTK_PHY_LED_ON_POLARITY
case MTK_2P5GPHY_ID_MT7988:
phy_set_bits_mmd.. MTK_PHY_LED_ON_POLARITY

phy_set_bits_mmd... MTK_PHY_LED_ON_POLARITY | xxx

This clearly resulted in the LED polarity of the 2.5G PHY
on the MT7987 being reversed. Remove redundant MMD operations
to fix the 2.5G PHY LED error on Bananapi BPi-R4 Lite.

Fixes: d62fc50f ("mediatek: import patches from SDK to support MT7987 Ethernet")
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
2 days agouboot-mediatek: fix LED on Bananapi BPi-R4 Lite
Chukun Pan [Thu, 4 Dec 2025 12:21:08 +0000 (20:21 +0800)] 
uboot-mediatek: fix LED on Bananapi BPi-R4 Lite

Create a common dtsi for Bananapi BPi-R4 Lite and add missing
gpio-leds. This reduced code and fixed the following LED bug:

LED 'green:status' not found (err=-19)

Fixes: 3a71dd58 ("uboot-mediatek: add support for the BananaPi BPi-R4 Lite")
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
2 days agokernel: net: phy: realtek: replace patches with upstream backports
Daniel Golle [Thu, 8 Jan 2026 16:43:26 +0000 (16:43 +0000)] 
kernel: net: phy: realtek: replace patches with upstream backports

Replace downstream patches with backports of commits accepted upstream.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 days agotools/squashfs4: fix rare data corruption issue 21458/head
Shiji Yang [Thu, 8 Jan 2026 13:10:56 +0000 (21:10 +0800)] 
tools/squashfs4: fix rare data corruption issue

There is a chance that the squashfs4 tool may create a broken image
under certain conditions. Backport the fix from upstream to address
this issue.

Report: https://forum.openwrt.org/t/bug-squashfs4-tools-4-7-4-create-corrupted-image/244894
Fixes: 64432358e098 ("tools/squashfs4: update to 4.7.3")
Reported-by: Oleg S <remittor@gmail.com>
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/21458
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 days agorealtek: dsa,phy: rtl839x: remove SerDes PHY leftovers 21360/head
Jonas Jelonek [Sun, 9 Nov 2025 11:15:42 +0000 (11:15 +0000)] 
realtek: dsa,phy: rtl839x: remove SerDes PHY leftovers

Drop several leftovers of SerDes configuration from PHY and DSA drivers.
Both drivers can be seen as free from any SoC-side SerDes stuff.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21360
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2 days agorealtek: pcs: rtl839x: setup SerDes in PCS driver
Jonas Jelonek [Sun, 9 Nov 2025 13:29:25 +0000 (13:29 +0000)] 
realtek: pcs: rtl839x: setup SerDes in PCS driver

Add the SerDes setup hooks in the PCS driver for RTL839x so that
pcs_config actually triggers configuration. Adjust the DTS of all
devices accordingly by adding pcs-handles and dropping phy-handles.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21360
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2 days agorealtek: pcs: rtl839x: add initialization patch sequence
Jonas Jelonek [Tue, 6 Jan 2026 10:48:22 +0000 (10:48 +0000)] 
realtek: pcs: rtl839x: add initialization patch sequence

Add a patch sequence needed to properly initialize 10G SerDes. This is
taken from the SDK mostly as-is ([1]).

Exit early from SerDes reset for now because it seems to cause some
issues on lower 5G SerDes.

[1] https://github.com/plappermaul/realtek-doc/blob/30e7d6c8c246d66538dc1288986b84674e23dcac/sources/rtk-dms1250/src/dal/cypress/dal_cypress_construct.c#L215

Co-authored-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21360
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2 days agorealtek: pcs: rtl839x: add SerDes setup functionality
Jonas Jelonek [Sun, 9 Nov 2025 10:58:40 +0000 (10:58 +0000)] 
realtek: pcs: rtl839x: add SerDes setup functionality

Add basic SerDes setup functionality which determines and sets the
hardware mode of a SerDes, and does a SerDes reset. This is restricted
to the 10G SerDes only as the 5G SerDes are setup properly by default.
Further initialization will be needed for the modes to function properly

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21360
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2 days agorealtek: pcs: rtl839x: refactor SerDes reset sequence
Jonas Jelonek [Mon, 29 Dec 2025 10:29:57 +0000 (10:29 +0000)] 
realtek: pcs: rtl839x: refactor SerDes reset sequence

Refactor the previously added SerDes reset sequence. Use the SerDes
MDIO interface instead of plain writes into the switchcore's register
space. Moreover, simplify the sequence because the SDK version is
unnecessarily complex.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21360
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2 days agorealtek: pcs: rtl893x: add SerDes reset sequence
Jonas Jelonek [Mon, 29 Dec 2025 10:27:32 +0000 (10:27 +0000)] 
realtek: pcs: rtl893x: add SerDes reset sequence

Add SerDes reset sequence mostly as-is from the SDK (except for
adjusting the register write calls to work with regmap).

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21360
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
3 days agoqualcommax: ipq50xx: Correct USB DWC3 wrapper interrupts 21454/head
George Moussalem [Thu, 8 Jan 2026 09:22:33 +0000 (13:22 +0400)] 
qualcommax: ipq50xx: Correct USB DWC3 wrapper interrupts

Interrupts for DWC3 node were completely mixed up - SPI interrupt 62 is
not listed in reference manual at all.  It was also causing dtbs_check
warnings:

  ipq5018-rdp432-c2.dtb: usb@8af8800 (qcom,ipq5018-dwc3): interrupt-names:0: 'pwr_event' was expected
  ipq5018-rdp432-c2.dtb: usb@8af8800 (qcom,ipq5018-dwc3): interrupt-names: ['hs_phy_irq'] is too short

Warning itself was introduced by commit 53c6d854be4e ("dt-bindings: usb:
dwc3: Clean up hs_phy_irq in binding"), but this was trying to bring
sanity to the interrupts overall, although did a mistake for IPQ5018.
IPQ5018 does not have QUSB2 PHY and its interrupts should rather match
ones used in IPQ5332.

Correct it by using interrupts matching the bindings and reference
manual.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Signed-off-by: George Moussalem <george.moussalem@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/21454
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 days agoipq-wifi: rename BDF for EAP623-Outdoor HD v1
Robert Marko [Thu, 8 Jan 2026 10:16:46 +0000 (11:16 +0100)] 
ipq-wifi: rename BDF for EAP623-Outdoor HD v1

BDF for EAP623-Outdoor HD v1 was renamed in the repo, but ipq-wifi
was not updated to reflect that, so do it now to fix broken wifi.

Fixes: #21432
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 days agoqualcommax: ipq50xx: correct assigned cmn pll clock rate 21453/head
George Moussalem [Wed, 7 Jan 2026 14:31:15 +0000 (18:31 +0400)] 
qualcommax: ipq50xx: correct assigned cmn pll clock rate

In IPQ5018, the reference clock to the CMN PLL block from the on-board
Wi-Fi has its divider set to 2. This divider wasn't taken into
consideration when calculating the CMN PLL clock rate which meant the
resulting clock rate was doubled.

With the reference clock divider being accounted for in the driver,
correct the assigned clock rate to 4.8GHz.

Signed-off-by: George Moussalem <george.moussalem@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/21453
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 days agoqualcommax: ipq50xx: enable ipq-cmn-pll driver compilation
George Moussalem [Wed, 7 Jan 2026 13:44:44 +0000 (17:44 +0400)] 
qualcommax: ipq50xx: enable ipq-cmn-pll driver compilation

Add missing dt-bindings/include files needed for compilation of driver.
Enable compilation of the CMN PLL driver by adding the symbols to
Kconfig and Makefile.

Fixes: 468975a985ab ("qualcommax: ipq50xx: backport upstreamed patches for adding ipq5018 CMN PLL support")
Signed-off-by: George Moussalem <george.moussalem@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/21453
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agoqualcommax: ipq50xx: Add support for Zyxel SCR50AXE 21042/head
Robert Senderek [Fri, 10 Oct 2025 12:40:21 +0000 (14:40 +0200)] 
qualcommax: ipq50xx: Add support for Zyxel SCR50AXE

This is tri-band WiFi6E capable router. Also Zyxel Nebula managed so no real local GUI. To open device 4 screws must be located uder the label.
Four latches are on front and two on each side. Better start from ethernet port side where 3 small latches are easy to handle.
FCC shows It's identical to WSQ65 sold as Zyxel Multy M6E but that's nowhare to be found yet. WSQ65 is not covered by this PR

Speficiations:
* SoC: Qualcomm IPQ5018
* RAM: 1GB DDR3
* Flash: Winbond W25N02KWZEIR 256MB
* UART: PCB "J3"  is located left from front LED strip
              (VCC/TX/RX/     /GND)   3.3V 115200n8
* Wi-Fi1: IPQ5018 (2x2 2.4 Ghz 802.11b/g/n/ax)
* Wi-Fi2: QCN6102 (2x2:2 5 Ghz 802.11an/ac/ax)
* Wi-Fi3: QCN6122 (2x2:2 6 Ghz 802.11an/ac/ax)
* Ethernet: QCA8337 4xLAN 1Gbit / 1xWAN 1Gbit
* Buttons: WPS , Reset
* LEDs: 13 in total
   RGB power, RGB wan, RGB status (cloud), RGB wifi, Green wps
* FCCID: I8803891

*Flash Instructions starts with getting root:
connect uart to J3 connector next to the front LEDs
go to failsafe when this shows up in log:
"Press the [f] key and hit [enter] to enter failsafe mode"
execute:
mount_root
passwd -d root
reboot

logon as root:
look for 'Please press Enter to activate this console.'
login is root password is empty
execute:
fw_setenv DebugFlag=0x1
fw_setenv bootdelay=0x2
passwd -d root
backup ubi partition "rootfs" into safe space
reboot

*OpenWrt installation
stop uboot and execute:
setenv ipaddr 192.168.1.1
setenv serverip 192.168.1.10
tftpboot *-factory.ubi
flash rootfs
reset

or:
tftpboot *-initramfs-uImage.itb
bootm
use sysupgrade as usual

*restore OEM from backup
stop uboot and execute:
setenv ipaddr 192.168.1.1
setenv serverip 192.168.1.10
tftpboot *-initramfs-uImage.itb
bootm
transfer rootfs.bin backup and execute:
ubiformat /dev/mtd16 -y -f /tmp/rootfs.bin

Signed-off-by: Robert Senderek <robert.senderek@10g.pl>
Link: https://github.com/openwrt/openwrt/pull/21042
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agoipq-wifi: update to Git HEAD (2026-01-07)
Robert Marko [Wed, 7 Jan 2026 10:03:54 +0000 (11:03 +0100)] 
ipq-wifi: update to Git HEAD (2026-01-07)

11715a4fe783 ipq5018: add SCR50AXE BDF's

Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agorealtek: pcs: rtl931x: improve port media handling 21385/head
Jonas Jelonek [Sun, 4 Jan 2026 17:22:29 +0000 (17:22 +0000)] 
realtek: pcs: rtl931x: improve port media handling

The port media handling introduced before was to some extent just taken
over from the SDK. As a second step, improve that code now. Some code
can be deduplicated, a few statements removed and improved in general.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21385
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agorealtek: pcs: rtl931x: add port media handling
Jonas Jelonek [Sun, 21 Dec 2025 13:45:36 +0000 (13:45 +0000)] 
realtek: pcs: rtl931x: add port media handling

SFP modules still do not work that well across different devices. One
missing piece seems to be the bunch of magic values and bits set by the
SDK depending on which media is used on a port.

Take over code from the SDK for port media handling [1]. This applies
different sequences depending on whether it's 10G fiber, 1G fiber or DAC
cables to make it work best for each variant. Place the call to that
code below the configuration of a SerDes mode but before actually
activating that mode and powering on the SerDes. The SDK and our code
for RTL930x do that similarly.

Though we do not have any notion of media in pcs_config right now, do
similar to some SDK versions and set an appropriate media type for fiber
modes and SGMII (otherwise it doesn't work).

[1] https://github.com/plappermaul/realtek-doc/blob/51c3390e0e47ac068fd0100e7fa6c10355042d16/sources/rtk-dms1250/src/hal/phy/phy_rtl9310.c#L2302

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21385
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agorealtek: pcs: add enum for port media
Jonas Jelonek [Sun, 21 Dec 2025 13:14:04 +0000 (13:14 +0000)] 
realtek: pcs: add enum for port media

The Realtek SDK includes a lot of code around specific port media,
usually having quite some differences between 10G fiber, 1G fiber and
DAC cables. For each type, several magic values are set which in the end
usually make different kinds of links work optimal.

While there is currently no way to get that media information from the
kernel, add some fields as an enum to have a notion of different media
kinds. In additional steps, code for the subtargets can be taken over
from the SDK to handle different media.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21385
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agorealtek: pcs: drop some unneeded unused attributes 21410/head
Jonas Jelonek [Mon, 5 Jan 2026 15:07:59 +0000 (15:07 +0000)] 
realtek: pcs: drop some unneeded unused attributes

Drop the '__always_unused' tags from two functions which are actually
used. This was missed during the big transition before.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21410
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agorealtek: pcs: fix naming of RTL931X sds config data
Jonas Jelonek [Mon, 5 Jan 2026 14:52:38 +0000 (14:52 +0000)] 
realtek: pcs: fix naming of RTL931X sds config data

Those config arrays still do not lineup with common conventions in the
driver in terms of naming. They are missing the driver and variant
prefix. Thus, line that up with how RTL930X code looks like.

- add 'rtpcs_' prefix since it's part of the PCS driver
- add '931x_' prefix because it's for RTL931X
- use 'cfg' instead of 'config' to shorten that a bit

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21410
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agorealtek: pcs: use ARRAY_SIZE kernel macro
Jonas Jelonek [Mon, 5 Jan 2026 14:44:41 +0000 (14:44 +0000)] 
realtek: pcs: use ARRAY_SIZE kernel macro

In the RTL931X configuration code, the array size of configuration
arrays was still calculated with 'sizeof(...) / sizeof(...)'. There's a
dedicated macro in the kernel for exactly that usecase. Use that instead
to avoid possible errors and make the line shorter. The RTL930X code is
already doing it the good way.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21410
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agorealtek: pcs: fix sds_config struct definition
Jonas Jelonek [Mon, 5 Jan 2026 14:07:48 +0000 (14:07 +0000)] 
realtek: pcs: fix sds_config struct definition

In kernel coding style, it is highly disregarded to hide structures
behind typedefs ([1]). The PCS driver still contains a typedef for the
sds_config which was taken over from the PHY driver.

- drop the typedef, just declaring it as a struct
- give it the common 'rtpcs_' prefix
- adjust all usage locations

[1] https://www.kernel.org/doc/html/v6.18/process/coding-style.html#typedefs

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21410
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agorealtek: pcs: add myself as module author
Jonas Jelonek [Mon, 5 Jan 2026 13:04:34 +0000 (13:04 +0000)] 
realtek: pcs: add myself as module author

I have contributed quite a lot changes recently and should be made
responsible for most of the code that has been added to the PCS driver
after it has been introduced by Markus.

FWIW, add myself as another module author so anything I produced here
doesn't fall back to someone else, i.e. Markus as currently the single
module author.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21410
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agorockchip: fix kernel tag for backported patches 21419/head
Tianling Shen [Tue, 6 Jan 2026 04:02:40 +0000 (12:02 +0800)] 
rockchip: fix kernel tag for backported patches

These patches were actually merged in kernel 6.19 instead of 6.18,
fix them to avoid confusing when moving to new kernel version.

While at it, refresh the RK3528 PCIE L1ss patch since it was
accepted in 6.19 as well.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/21419
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agokernel: net: phy: realtek: fix C22-only mode on 2.5GE PHYs 21378/head
Daniel Golle [Mon, 5 Jan 2026 18:12:40 +0000 (18:12 +0000)] 
kernel: net: phy: realtek: fix C22-only mode on 2.5GE PHYs

Import 2 patches completing and fixing the RealTek's 2.5GE PHYs when being
used in Clause-22 mode.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
5 days agokernel: net: phy: c45: check validity of 10GbE LPA
Daniel Golle [Sat, 3 Jan 2026 21:05:35 +0000 (21:05 +0000)] 
kernel: net: phy: c45: check validity of 10GbE LPA

Only use link-partner advertisement bits for 10GbE modes if they are
actually valid. Check LOCALOK and REMOTEOK bits and clear 10GbE modes
unless both of them are set.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
5 days agokernel: net: phy: realtek: replace in-band AN hack
Daniel Golle [Sat, 3 Jan 2026 15:41:17 +0000 (15:41 +0000)] 
kernel: net: phy: realtek: replace in-band AN hack

Replace downstream hack for RealTek PHYs with a more clean solution
which could make it upstream.

As SGMII in-band AN is broken on some platforms, or simply expected to
be disabled by default in phy/sgmii mode (ie. on-board PHYs with MDIO
for out-of-band configuration and status), a hack for the RealTek PHY
driver was introduced to unconditionally disable SGMII in-band
autonegotiation.

Meanwhile the kernel has gained a proper interface for PHY and PCS to
report in-band AN capabilities and enable/disable in-band, matching
PHY and PCS capabilities.

Thanks to Bevan Weiss' knowledge about how RealTek PHY SerDes registers
are being handled in RealTek's SDK this can now be greatly improved:
 - report in-band capabilties
 - let phylink set in-band matching PCS and PHY capabilities
 - properly abstracted indirect access of SerDes registers

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
5 days agokernel: net: phy: realtek: replace hack with proper fix
Daniel Golle [Sat, 3 Jan 2026 18:43:33 +0000 (18:43 +0000)] 
kernel: net: phy: realtek: replace hack with proper fix

RealTek's 2.5G PHYs suffer from an up to now inexplicable problem which
results in the SerDes mode not being properly setup and disabling
in-band AN leading to a timeout waiting for a busy-bit to clear. Up to
now there has been a crude work-around: resetting the PHY and trying
another time.

The cause has now been found as a wrong access to register PHYCR1 on
MDIO_MMD_VEND1 instead of MDIO_MMD_VEND2 when setting up ALDPS as well
as disabling the MDIO broadcast address 0.

In order to access MDIO_MMD_VEND2 on Clause-22-only busses a custom
.read_mmd and .write_mmd ops are implemented, mapping MDIO_MMD_VEND2 to
paged access as this is required.

Also, as ALDPS by design disables the SerDes PCS of the PHY in case the
link has been down for a while, move enabling ALDPS to the end of the
config_init function to not face problems when configuring the interface
mode and in-band AN.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
5 days agoucode: remove the fs.read_nb patch
Felix Fietkau [Tue, 6 Jan 2026 19:09:01 +0000 (19:09 +0000)] 
ucode: remove the fs.read_nb patch

It is obsolete since the io module was added

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 days agoucode: add package for ucode-mod-io
Felix Fietkau [Tue, 6 Jan 2026 19:08:41 +0000 (19:08 +0000)] 
ucode: add package for ucode-mod-io

It was included in the last update

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 days agowifi-scripts: move the "disabled" option to the wifi-iface section
Felix Fietkau [Tue, 6 Jan 2026 17:46:46 +0000 (18:46 +0100)] 
wifi-scripts: move the "disabled" option to the wifi-iface section

This helps for setups where the wifi interfaces are added dynamically
via procd data by avoiding automatically bringing up interfaces with
the default config. Internally, they are treated pretty much the same
by netifd.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 days agouboot-bcm53xx: bump U-Boot to 2025.10
Linus Walleij [Sat, 3 Jan 2026 20:44:13 +0000 (21:44 +0100)] 
uboot-bcm53xx: bump U-Boot to 2025.10

Bump to the latest version used by other OpenWrt platforms so
we don't bitrot.

Tested on the D-Link DIR-890L.

Link: https://github.com/openwrt/openwrt/pull/21377
Signed-off-by: Linus Walleij <linusw@kernel.org>
6 days agobuild: restore opkg-related provides logic 21409/head
George Sapkin [Mon, 5 Jan 2026 14:26:47 +0000 (16:26 +0200)] 
build: restore opkg-related provides logic

Re-add opkg provides logic to CONTROL when USE_APK is not set and remove
virtual provider prefix.

Fixes: cefbf11 ("build: refactor provides logic")
Fixes: https://github.com/openwrt/openwrt/issues/21372
Fixes: https://github.com/openwrt/openwrt/issues/21382
Fixes: https://github.com/openwrt/openwrt/issues/21402
Signed-off-by: George Sapkin <george@sapk.in>
Link: https://github.com/openwrt/openwrt/pull/21409
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 days agoucode-mod-ubus: complete pending requests when disconnecting locally
Felix Fietkau [Sun, 4 Jan 2026 18:21:41 +0000 (18:21 +0000)] 
ucode-mod-ubus: complete pending requests when disconnecting locally

libubus only completes pending requests when the socket receives EOF.
When explicitly disconnecting, we need to call ubus_flush_requests().

Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 days agounetmsg: remove redundant socket close
Felix Fietkau [Sun, 4 Jan 2026 12:17:39 +0000 (12:17 +0000)] 
unetmsg: remove redundant socket close

channel.disconnect() already closes the fd via ubus_shutdown(),
so calling socket.close() afterwards is redundant and causes EBADF.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 days agounetmsg: add timeout for outgoing auth requests
Felix Fietkau [Sun, 4 Jan 2026 10:07:33 +0000 (10:07 +0000)] 
unetmsg: add timeout for outgoing auth requests

Add a 10-second timeout for outgoing auth requests to prevent
connections from getting stuck when the remote peer goes silent
after the hello handshake but before responding to auth.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 days agounetmsg: add null check in TX disconnect callback
Felix Fietkau [Sun, 4 Jan 2026 10:04:58 +0000 (10:04 +0000)] 
unetmsg: add null check in TX disconnect callback

The network may be deleted before the disconnect callback fires.
Check for null to avoid crash when accessing net.tx_channels.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 days agoairoha: an7581: correct led nodename 20482/head
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
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
7 days 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
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
7 days 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
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
7 days 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
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
7 days 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
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
7 days 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
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
7 days agorealtek: eth: adapt prefix of ops structures 21345/head
Markus Stockhausen [Wed, 31 Dec 2025 14:04:46 +0000 (15:04 +0100)] 
realtek: eth: adapt prefix of ops structures

Convert all ops structures to the new rteth prefix.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21345
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 days agorealtek: eth: move netdev_ops to config structure
Markus Stockhausen [Wed, 31 Dec 2025 13:49:05 +0000 (14:49 +0100)] 
realtek: eth: move netdev_ops to config structure

Simplify netdev_ops initialization by moving the data
into the configuration structure.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21345
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 days agorealtek: eth: reorder configuration data
Markus Stockhausen [Wed, 31 Dec 2025 13:31:42 +0000 (14:31 +0100)] 
realtek: eth: reorder configuration data

The configuration data needs to reference the netdev_ops
in the future. Reorder it in a separate commit to avoid
confusion later.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21345
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 days agorealtek: eth: move cpu_port to config structure
Markus Stockhausen [Wed, 31 Dec 2025 13:20:38 +0000 (14:20 +0100)] 
realtek: eth: move cpu_port to config structure

There is no need to set the cpu port depending on the
given family. Remove it from the private control structure
and add the fixed value to the configuration structure.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21345
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 days agorealtek: eth: Rename configuration structure
Markus Stockhausen [Wed, 31 Dec 2025 13:09:58 +0000 (14:09 +0100)] 
realtek: eth: Rename configuration structure

The name of the configuration structure suggests that it
contains a list of registers. As it contains functions too
change the name according to other realtek drivers.

- "Invent" a new driver prefix "rteth"
- Rename the structure and variables to config/cfg

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21345
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 days agopackages: ethtool: restore CONFLICTS 21388/head
Eric Fahlgren [Sun, 4 Jan 2026 17:35:11 +0000 (09:35 -0800)] 
packages: ethtool: restore CONFLICTS

Inadvertent removal of 'CONFLICTS' breaks kconfig selection.
Restore it.

Fixes: ded99c2984b2 ("treewide: add explicit default variant part 2")
Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21388
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
7 days agonat46: fix reproducible-build failure and use latest git 21284/head
John Audia [Thu, 25 Dec 2025 13:31:13 +0000 (08:31 -0500)] 
nat46: fix reproducible-build failure and use latest git

Bump to 2025-11-04 snapshot.

Added 100-gcc15-fix.patch which drops __DATE__/__TIME__ usage and provides
a stable fallback ("unknown"). This fixes build failures with GCC 15 and
-Werror=date-time in kernel builds.

% git log --oneline 04923c5..adb2f72
adb2f72e6fb8 get rid of spurious ubsan complaint for nat46_instance_t pairs field
d5f88686a4a8 Add a test harness which boots the kernel under kvm with a custom init which runs the tests
b983bab221f0 nat46-core: Fix FIXMEs about ICMPv6 parameter pointers
1aca482d6917 Add support for ignoring traffic class or TOS translation at the same time

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/21284
[Removed "Replace printk with pr_* macros" patch]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
7 days agowifi-scripts: wdev.uc: fix mesh mode frequency handling 21373/head
Valent Turkovic [Sat, 3 Jan 2026 08:50:16 +0000 (09:50 +0100)] 
wifi-scripts: wdev.uc: fix mesh mode frequency handling

Mesh mode interface creation fails when the freq parameter is empty or
undefined. Unlike adhoc mode which checks if freq exists before using it,
mesh mode blindly constructs the iw command with freq parameter, resulting
in invalid syntax like:

  iw dev mesh0 mesh join ssid freq  NOHT

This causes the mesh interface to be created without joining the mesh
network, leaving it in a DOWN state with no channel assigned.

Fix by adding freq validation check similar to adhoc mode.

Tested on two routers in parallel as mesh peers:
- Xiaomi AX3000T (MediaTek MT7981)
- OpenWrt One (MediaTek MT7981)
- OpenWrt 6.6.119, 802.11s mesh on 5GHz (Channel 36, HE80)

Signed-off-by: Valent Turkovic <valent@meshpointone.com>
Link: https://github.com/openwrt/openwrt/pull/21373
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
7 days agoixp4xx: fix bug in Actiontec DTS file
Linus Walleij [Fri, 2 Jan 2026 20:15:28 +0000 (21:15 +0100)] 
ixp4xx: fix bug in Actiontec DTS file

This misassigned ethernet port bug was merged in the upstream
kernel.

Link: https://github.com/openwrt/openwrt/pull/21367
Signed-off-by: Linus Walleij <linusw@kernel.org>
7 days agokernel: QCOM SPI NAND: backport multiple fixes 21366/head
Hauke Mehrtens [Thu, 1 Jan 2026 18:40:06 +0000 (19:40 +0100)] 
kernel: QCOM SPI NAND: backport multiple fixes

These patches fix bugs in a patch we backported.

These patch were cherry picked from upstream Linux because it references
a patch we backported in the fixes tag.

The patches were reordered to match the ordering in the upstream Linux kernel.

Fixes: 93173aee96e7 ("qualcommbe: ipq95xx: Add initial support for new target")
Link: https://github.com/openwrt/openwrt/pull/21366
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
7 days agokernel: phylink: disable autoneg for interfaces that have no inband
Hauke Mehrtens [Thu, 1 Jan 2026 18:31:48 +0000 (19:31 +0100)] 
kernel: phylink: disable autoneg for interfaces that have no inband

This patch fixes a bug in a patch we backported.

This patch was cherry picked from upstream Linux because it references a
patch we backported in the fixes tag.

The first two patches are providing function needed by the last patch.

Fixes: 813ecda1f387 ("generic: backport phylink patches for PCS/PHY caps OPs")
Link: https://github.com/openwrt/openwrt/pull/21366
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
7 days agokernel: RTL8211FVD: restore disabling of PHY-mode EEE
Hauke Mehrtens [Thu, 1 Jan 2026 18:27:26 +0000 (19:27 +0100)] 
kernel: RTL8211FVD: restore disabling of PHY-mode EEE

This patch fixes a bug in a patch we backported.

This patch was cherry picked from upstream Linux because it references a
patch we backported in the fixes tag.

Fixes: 48c9e5509407 ("kernel: backport upstream Realtek PHY patches")
Link: https://github.com/openwrt/openwrt/pull/21366
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
7 days agokernel: mv88e6xxx: backport fixes
Hauke Mehrtens [Thu, 1 Jan 2026 18:21:08 +0000 (19:21 +0100)] 
kernel: mv88e6xxx: backport fixes

These patches fix bugs in a patch we backported.

These patch were cherry picked from upstream Linux because it references
a patch we backported in the fixes tag.

Fixes: c990f6e15669 ("linux: generic: net: dsa: mv88e6xxx LED support")
Link: https://github.com/openwrt/openwrt/pull/21366
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
7 days agokernel: reserved_mem: add missing IORESOURCE_MEM flag on resources
Hauke Mehrtens [Thu, 1 Jan 2026 18:17:00 +0000 (19:17 +0100)] 
kernel: reserved_mem: add missing IORESOURCE_MEM flag on resources

This patch fixes a bug in a patch we backported.

This patch was cherry picked from upstream Linux because it references a
patch we backported in the fixes tag.

Fixes: 9d3009f426d5 ("airoha: major backport of Airoha Ethernet driver feature support")
Link: https://github.com/openwrt/openwrt/pull/21366
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
7 days agokernel: as21xxx: backport patch improve PHY HW reset
Hauke Mehrtens [Thu, 1 Jan 2026 16:41:31 +0000 (17:41 +0100)] 
kernel: as21xxx: backport patch improve PHY HW reset

This patch fixes a bug in a patch we backported.

This patch was cherry picked from upstream Linux because it references a
patch we backported in the fixes tag.

The function phy_id_compare_vendor() is needed by the fix.
Refresh 782-05-v6.16-net-phy-Add-support-for-Aeonsemi-AS21xxx-PHYs.patch with the upstream code.

Fixes: 08a616b2163e ("generic: backport support for Aeonsemi AS21xxx PHY")
Link: https://github.com/openwrt/openwrt/pull/21366
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>