]> git.ipfire.org Git - thirdparty/openwrt.git/log
thirdparty/openwrt.git
9 hours agomediatek: fix patch filename main master
Daniel Golle [Thu, 9 Apr 2026 22:57:57 +0000 (23:57 +0100)] 
mediatek: fix patch filename

A previous commit wrongly renamed a patch file omitting the final 'h'
character. Rename it to again have the correct '.patch' suffix.

Fixes: c23b9256f0 ("mediatek: replace patches with upstream version")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
17 hours agoarm-trusted-firmware-mediatek: update to v2026-01-23 21717/head
Shiji Yang [Mon, 26 Jan 2026 15:10:10 +0000 (23:10 +0800)] 
arm-trusted-firmware-mediatek: update to v2026-01-23

The highlight of this version is that the bl2 size will be reduced
by 60+ KB. The MT7987 SPI interface selection hack was replaced by
upstream implementation with the new symbol SPIM_NAND_PREFER_SPI2.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
21 hours agoqualcommax: ipq807x: mx5300: use existing aliases node
Robert Marko [Thu, 9 Apr 2026 11:21:58 +0000 (13:21 +0200)] 
qualcommax: ipq807x: mx5300: use existing aliases node

No need to add another aliases node just for the label-mac-device,
luckily DTC was smart enough to combine them together in the final DTB.

Signed-off-by: Robert Marko <robimarko@gmail.com>
22 hours agoairoha: an7581: update partition table for EVB DTS
Christian Marangi [Thu, 9 Apr 2026 09:51:48 +0000 (11:51 +0200)] 
airoha: an7581: update partition table for EVB DTS

The Airoha AN7581 EVB board switched to full UBI support. Update the
partition table to reflect the new implementation.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
22 hours agoairoha: an7581: generalize eMMC DTS and add Kite variant
Christian Marangi [Thu, 9 Apr 2026 09:49:26 +0000 (11:49 +0200)] 
airoha: an7581: generalize eMMC DTS and add Kite variant

Generalize the eMMC DTS to common node and add a variant with the Kite WiFi
chip installed. Also rename the eMMC model name and add the Eagle name to
it.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
23 hours agoairoha: an7581: add specific NPU dtsi and update eMMC and W1700K
Christian Marangi [Thu, 9 Apr 2026 09:38:40 +0000 (11:38 +0200)] 
airoha: an7581: add specific NPU dtsi and update eMMC and W1700K

Add specific DTSI for NPU firmware based on the supported WiFi chip and
update the supported device by including the relevant new DTSI.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
23 hours agoath79: wndap360: fix sysupgrade 22769/head
Rosen Penev [Mon, 6 Apr 2026 18:57:03 +0000 (11:57 -0700)] 
ath79: wndap360: fix sysupgrade

BLOCKSIZE is wrong here.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22769
Signed-off-by: Robert Marko <robimarko@gmail.com>
23 hours agoath79: wndap360: use lzma-loader for kernel
Rosen Penev [Sat, 4 Apr 2026 23:34:16 +0000 (16:34 -0700)] 
ath79: wndap360: use lzma-loader for kernel

The bootloader on this device is old and supports no lzma. So use
lzma-loader to work around this and get the size smaller so that an
image can actuallly be created and flashed. Because of these size
problems, the last usable version of OpenWrt was 23.05.

This UIMAGE_MAGIC seems to be used by other Netgear devices. Add to
avoid

jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at
0x00000000: 0x2705 instead

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22769
Signed-off-by: Robert Marko <robimarko@gmail.com>
23 hours agoath79: wndap360: don't pass bootloader args
Rosen Penev [Sun, 5 Apr 2026 06:06:12 +0000 (23:06 -0700)] 
ath79: wndap360: don't pass bootloader args

Stocks args have

console=ttyS0,9600
rootfstype=squashfs

root=31:03
init=/sbin/init
mtdparts=ar7100-nor0:256k(u-boot),64k(u-boot-env),
1024k(vmlinux.gz.uImage),6208k(rootfs),512k(var),
64k(manufacturing-data),64k(ART)
rootfstype=squashfs,jffs2

which is wrong and interferes with OpenWrt. Keep the non default console
parameter to have console working properly.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22769
Signed-off-by: Robert Marko <robimarko@gmail.com>
23 hours agoath79: wndap360: add green LED definition
Rosen Penev [Sat, 4 Apr 2026 00:15:10 +0000 (17:15 -0700)] 
ath79: wndap360: add green LED definition

For running, have it be the green LED as in stock firmware.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22769
Signed-off-by: Robert Marko <robimarko@gmail.com>
23 hours agouboot-env: ath79: add wndap360
Rosen Penev [Sat, 4 Apr 2026 23:33:04 +0000 (16:33 -0700)] 
uboot-env: ath79: add wndap360

This is just a typical setup.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22769
Signed-off-by: Robert Marko <robimarko@gmail.com>
23 hours agorealtek: mdio: convert addr to pn 22830/head
Markus Stockhausen [Tue, 7 Apr 2026 16:22:08 +0000 (18:22 +0200)] 
realtek: mdio: convert addr to pn

Make clear that the driver instructs the hardware via a port and
its number. To be consistent with other refactoring swap variable
addr for pn in this case.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22830
Signed-off-by: Robert Marko <robimarko@gmail.com>
23 hours agorealtek: mdio: adapt debug output
Markus Stockhausen [Tue, 7 Apr 2026 16:22:08 +0000 (18:22 +0200)] 
realtek: mdio: adapt debug output

Now that the driver drives multiple busses adapt the debug output
from port based to bus/phy based.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22830
Signed-off-by: Robert Marko <robimarko@gmail.com>
23 hours agorealtek: mdio: drop dn attribute
Markus Stockhausen [Tue, 7 Apr 2026 16:22:08 +0000 (18:22 +0200)] 
realtek: mdio: drop dn attribute

The dn attribute was used to register the phys of the mdio bus
individually. With the new multiple busses this is not needed
any longer. Drop it.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22830
Signed-off-by: Robert Marko <robimarko@gmail.com>
23 hours agorealtek: mdio: activate multiple busses
Markus Stockhausen [Tue, 7 Apr 2026 16:22:07 +0000 (18:22 +0200)] 
realtek: mdio: activate multiple busses

The mdio controller inside the Realtek switches drives multiple busses.
Until now the driver exposed a flattened single bus (aka port view).
Align to the upstream driver and expose up to 4 busses depending on
the dts definition. For this:

1. Adapt rtmdio_probe() so it calls rtmdio_probe_one() for each child
dts child node that represents a single bus.

2. Adapt rtmdio_probe_one() so it registers a single bus in "full-auto"
mode. No more hacks via fwnode_mdiobus_register_phy() needed.

3. Adapt rtmdio_phy_to_port() so it uses a lookup based on the new
topology.

4. Adapt rtmdio_get_phy_info() for multiple busses.

5. In the DSA driver adapt the mdio controller load check to wait
until all busses have been registered.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22830
Signed-off-by: Robert Marko <robimarko@gmail.com>
23 hours agorealtek: mdio: decouple controller setup from bus reset
Markus Stockhausen [Tue, 7 Apr 2026 16:22:07 +0000 (18:22 +0200)] 
realtek: mdio: decouple controller setup from bus reset

Some central controller setup is currently realized in the bus reset
functions. As soon as we have multiple busses this coding will be
called multiple times. Rename the reset() functions to setup_ctrl()
and call that only once before the bus probing.

While we are here harmonize the variable for the bus loops and name
it smi_bus.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22830
Signed-off-by: Robert Marko <robimarko@gmail.com>
23 hours agorealtek: mdio: derive polling setup from control structure
Markus Stockhausen [Tue, 7 Apr 2026 16:22:07 +0000 (18:22 +0200)] 
realtek: mdio: derive polling setup from control structure

All configuration helpers have been converted to look at the
control structure. Do the same for setup_polling(). With
this move the call location out of rtmdio_probe_one() into
the parent rtmdio_probe() where it belongs.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22830
Signed-off-by: Robert Marko <robimarko@gmail.com>
23 hours agorealtek: mdio: derive phy info from control structure
Markus Stockhausen [Tue, 7 Apr 2026 16:22:07 +0000 (18:22 +0200)] 
realtek: mdio: derive phy info from control structure

For polling setup the driver looks up the atached phy ids with
function rtmdio_get_phy_info(). This derives the data from a
given bus and a port number. While this works for a single bus
the combination of port and bus makes no sense. One is the global
view the other the bus individual view. Change the signature so
the lookup is done globally via ctrl/port.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22830
Signed-off-by: Robert Marko <robimarko@gmail.com>
23 hours agorealtek: mdio: provide bidirectional bus lookup
Markus Stockhausen [Tue, 7 Apr 2026 16:22:07 +0000 (18:22 +0200)] 
realtek: mdio: provide bidirectional bus lookup

Add two attributes to the central control and the channel structure.

chan->smi_bus: The index of the selected channel.
ctrl->bus[].mii_bus: Links to all busses

With this ctrl/chan can lookup each others data more easily.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22830
Signed-off-by: Robert Marko <robimarko@gmail.com>
23 hours agorealtek: mdio: rename for_each_phy() to for_each_port()
Markus Stockhausen [Tue, 7 Apr 2026 16:22:07 +0000 (18:22 +0200)] 
realtek: mdio: rename for_each_phy() to for_each_port()

Currently phy and port are basically the same. One bus and each
port has a phy assigned. In the future the driver will make use
of multiple busses. Each of them will have a distinct set of
phys.

To make the iterators clearer use "port" for macros when the
driver must access the hardware independent from the bus. In this
case use "pn" (aka port number) as an iterator variable.

No functional changes.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22830
Signed-off-by: Robert Marko <robimarko@gmail.com>
39 hours agorealtek: add RTL8224 initialization to Realtek driver 22609/head
Damien Dejean [Thu, 17 Jul 2025 14:52:40 +0000 (16:52 +0200)] 
realtek: add RTL8224 initialization to Realtek driver

Adds an initialization sequence for the RTL8224. It relies a lot on magic
values, however it explicitely initializes the SerDes part of the chip.

Signed-off-by: Damien Dejean <dam.dejean@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22609
Signed-off-by: Robert Marko <robimarko@gmail.com>
39 hours agorealtek: pcs: rtl930x: enable USXGMII-QX configuration
Jonas Jelonek [Wed, 25 Mar 2026 17:16:53 +0000 (18:16 +0100)] 
realtek: pcs: rtl930x: enable USXGMII-QX configuration

The RTL8224 driver now puts the PHY into the proper mode, but the SerDes
side is still missing. It was deactivated due to a known regression.
Thus, allow USXGMII-QX configuration since both sides should be properly
configured now.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22609
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 days agotreewide: strip trailing whitespace 22840/head
Mieczyslaw Nalewaj [Wed, 8 Apr 2026 07:34:53 +0000 (09:34 +0200)] 
treewide: strip trailing whitespace

Strip trailing whitespace in all code:
find . -type f | grep "\.c$" | xargs sed -i 's/[ \t]\+$//'
find . -type f | grep "\.h$" | xargs sed -i 's/[ \t]\+$//'
find . -type f | grep "\.dts$" | xargs sed -i 's/[ \t]\+$//'
find . -type f | grep "\.dtsi$" | xargs sed -i 's/[ \t]\+$//'

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/22840
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 days agomediatek: filogic: fix EAX17 rootfs hash in FIT node for per-device rootfs builds 22839/head
Jascha Sundaresan [Wed, 8 Apr 2026 07:21:58 +0000 (11:21 +0400)] 
mediatek: filogic: fix EAX17 rootfs hash in FIT node for per-device rootfs builds

When CONFIG_TARGET_PER_DEVICE_ROOTFS is enabled (as in buildbot builds),
the final per-device rootfs is assembled at root.squashfs+pkg=<hash> rather
than root.squashfs. The gen_netgear_rootfs_node.sh script was always hashing
root.squashfs (the base rootfs without device-specific packages), causing the
size and hash in the FIT node to not match the actual rootfs written to the
UBI volume, resulting in boot failure on buildbot-produced images.

Fix by using the per-device rootfs path when TARGET_PER_DEVICE_ROOTFS is set,
consistent with how include/image.mk handles the same distinction elsewhere.

Fixes: 46ab9f3f1c ("filogic: add support for Netgear EAX17")
Signed-off-by: Jascha Sundaresan <flizarthanon@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22839
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 days agobuild: set max-page-size linker flag to match target page size 22800/head
Hauke Mehrtens [Sun, 5 Apr 2026 11:53:32 +0000 (13:53 +0200)] 
build: set max-page-size linker flag to match target page size

ELF binaries embed the maximum page size used during linking in the
PT_LOAD segment alignment. If this value is larger than the actual
system page size, the kernel will still load the binary but wastes
memory due to over-alignment. If it is smaller, the binary may fail
to load or cause incorrect behavior with features like RELRO.

Most architectures use 4KB pages, but loongarch64 uses 16KB pages
(CONFIG_PAGE_SIZE_16KB). Explicitly pass -z max-page-size to the
linker so that binaries are built with the correct page alignment for
the target, avoiding issues with RELRO segment padding and ensuring
correct memory mapping on the target system.

Before binutils 2.39 RELRO sections were padded to common page size
which is 4K on MIPS, with binutils 3.29 the padding was changed to
max page size which is 64K on MIPS. With this change we will pad them to
4K again.

This reduces the size of user space binaries in OpenWrt.
The size of the uncompressed root file system of a mips malta be build
decreased by about 20%.

old file size:
```
$ du -s build_dir/target-mips_24kc_musl/root-malta/
15844 build_dir/target-mips_24kc_musl/root-malta/
```

New file size:
```
$ du -s build_dir/target-mips_24kc_musl/root-malta/
12564 build_dir/target-mips_24kc_musl/root-malta/
```

The size of the image did not decrease much because of the strong
compression used by OpenWrt.

Link: https://github.com/openwrt/openwrt/pull/22800
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agouboot-mediatek: bpi-r4-lite fix emmc frequency 22615/head
Janusz Dziedzic [Tue, 31 Mar 2026 16:20:34 +0000 (18:20 +0200)] 
uboot-mediatek: bpi-r4-lite fix emmc frequency

Use lower emmc frequency.
This fix issue when mmc write, from uboot, failed.

Failed case:
 - we boot from NAND
 - choose "Install bootloader, recovery and production to eMMC"

MMC erase: dev # 0, block # 0, count 1024 ... 1024 blocks erased: OK
MMC write: dev # 0, block # 0, count 1024 ... mmc write failed
0 blocks written: ERROR

Signed-off-by: Janusz Dziedzic <janusz.dziedzic@holisticon.pl>
Link: https://github.com/openwrt/openwrt/pull/22615
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agoramips: refresh patches 22810/head
Mieczyslaw Nalewaj [Mon, 6 Apr 2026 11:36:25 +0000 (13:36 +0200)] 
ramips: refresh patches

Refreshed patches by running: make target/linux/refresh

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/22810
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agoramips: restore CONFIG_PAGE_BLOCK_MAX_ORDER=10 for 6.18 22831/head
Mieczyslaw Nalewaj [Tue, 7 Apr 2026 17:12:37 +0000 (19:12 +0200)] 
ramips: restore CONFIG_PAGE_BLOCK_MAX_ORDER=10 for 6.18

Restore CONFIG_PAGE_BLOCK_MAX_ORDER=10 in ramips 6.18 config fragments
to fix build failures where PAGE_BLOCK_MAX_ORDER was undefined.

Support for Linux 6.18 on ramips was added after this OpenWrt change:
https://github.com/openwrt/openwrt/commit/ac0cb87a453698efc6c812e4f27cadbeb208f14e.
Before that integration, the kernel option CONFIG_PAGE_BLOCK_MAX_ORDER=10
was provided in target/linux/generic/config-6.18 and applied broadly.
After the ramips 6.18 integration the generic fragment no longer supplied
this option for ramips targets, which caused some backported code paths
and drivers to assume PAGE_BLOCK_MAX_ORDER was defined and led
to compilation failures.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/22831
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agotools/cmake: update to 4.3.1 22693/head
Jack Sun [Mon, 30 Mar 2026 13:39:23 +0000 (21:39 +0800)] 
tools/cmake: update to 4.3.1

Release notes:https://cmake.org/cmake/help/latest/release/4.3.html

Refresh patches:
- 130-bootstrap_parallel_make_flag.patch
- 150-zstd-libarchive.patch
- 160-disable_xcode_generator.patch

Signed-off-by: Jack Sun <sunjiazheng321521@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22693
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 days agomediatek: device tree overlay for BPI-R4 with BE14 module 22447/head
Daniel Pawlik [Mon, 16 Mar 2026 13:26:51 +0000 (14:26 +0100)] 
mediatek: device tree overlay for BPI-R4 with BE14 module

Some Banana Pi BPI-R4 BE14 WiFi modules are shipped with zeroed
tx_power fields in EEPROM (2G/5G/6G). This leads to low transmit power
on affected bands.
This overlay provides known-good EEPROM data (including correct tx_power
values for 2G/5G/6G bands) dumped from a working BE14 module.

To enable BE14 overlay, add into u-boot bootconf_extra
parameter: 'mt7988a-bananapi-bpi-r4-wifi-be14'.
You can use example script:

    overlay="mt7988a-bananapi-bpi-r4-wifi-be14"
    current="$(fw_printenv -n bootconf_extra 2>/dev/null)"
    if [ -n "${current}" ]; then
        fw_setenv bootconf_extra "${current}#${overlay}"
    else
        fw_setenv bootconf_extra "${overlay}"
    fi

Earlier proposal proposed in [1] was fallback to default values if
invalid EEPROM content is detected.

[1] https://github.com/openwrt/openwrt/pull/19503/

Fixes: https://github.com/openwrt/openwrt/issues/17489
Signed-off-by: Daniel Pawlik <pawlik.dan@gmail.com>
2 days agoqualcommax: ipq807x: label mac for Linksys MX5300 22801/head
Steffen Förster [Sun, 5 Apr 2026 16:47:41 +0000 (18:47 +0200)] 
qualcommax: ipq807x: label mac for Linksys MX5300

The correct label mac is needed in a downstream project.

Signed-off-by: Steffen Förster <nemesis@chemnitz.freifunk.net>
Link: https://github.com/openwrt/openwrt/pull/22801
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 days agorealtek: dsa: drop priv->id 22794/head
Markus Stockhausen [Sun, 5 Apr 2026 08:38:38 +0000 (10:38 +0200)] 
realtek: dsa: drop priv->id

There is only one check left for that attribute in rtldsa_port_mdb_add().
Split the consumer into device specific implementations and remove the
attribute from the private structure.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22794
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 days agorealtek: dsa: drop soc_info usage
Markus Stockhausen [Sun, 5 Apr 2026 08:17:00 +0000 (10:17 +0200)] 
realtek: dsa: drop soc_info usage

The soc_info structure should only be used in the mach setup
functions. Drop its usage in the dsa qos functions. Instead
derive the data from the das private structure.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22794
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 days agorealtek: dsa: fix ingress priority setter
Markus Stockhausen [Sun, 5 Apr 2026 08:11:50 +0000 (10:11 +0200)] 
realtek: dsa: fix ingress priority setter

There are two issues with the current setter.

- It is only called for RTL839x
- It unconditionally overwrites the register and not only
  the needed bits.

Fix that by renaming it to the right prefix and using a
register write based on mask.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22794
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 days agorealtek: dsa: remove family check from priority settings
Markus Stockhausen [Sun, 5 Apr 2026 08:03:41 +0000 (10:03 +0200)] 
realtek: dsa: remove family check from priority settings

Split the existing generic priority setters with family
checks into two dedicated paths.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22794
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 days agorealtek: dsa: drop dsa builtin mdio bus 22799/head
Markus Stockhausen [Sun, 5 Apr 2026 16:23:53 +0000 (18:23 +0200)] 
realtek: dsa: drop dsa builtin mdio bus

For a long time the dsa driver has been providing a builtin mdio bus
via dsa default attribute user_mii_bus. This simply uses read/write
commands from the standard realtek otto bus (aka parent). The reason
has always been unclear.

Looking around the kernel 6.18 codebase there is only one case where
this is really needed. The only consumer is dsa_user_phy_setup().

ret = phylink_of_phy_connect(dp->pl, port_dn, phy_flags);
if (ret == -ENODEV && ds->user_mii_bus) {
/* We could not connect to a designated PHY or SFP, so try to
 * use the switch internal MDIO bus instead
 */
ret = dsa_user_phy_connect(user_dev, dp->index, phy_flags);
}

Luckily the phylink_of_phy_connect() works fine and the internal bus
access is not needed at all. No need to keep the bus alive. Drop it.

While we are here fix the error handling issue of this code

if (!of_device_is_available(dn))
ret = -ENODEV;

Returncode was set to error but never handed back to the caller.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22799
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 days agotreewide: use -n for fw_[saveprint]env 22806/head
Rosen Penev [Sat, 4 Apr 2026 23:12:49 +0000 (16:12 -0700)] 
treewide: use -n for fw_[saveprint]env

Using awk and cut to simulate -n is pointless.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22806
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 days agokernel: modules: add hinic3 support 22768/head
Tan Zien [Fri, 3 Apr 2026 21:35:44 +0000 (05:35 +0800)] 
kernel: modules: add hinic3 support

Add support for Huawei 3rd gen NIC

Signed-off-by: Tan Zien <nabsdh9@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22768
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 days agox86: enable Intel MID serial for Denverton SoCs 22739/head
Cristian Sloberg [Thu, 2 Apr 2026 06:57:09 +0000 (08:57 +0200)] 
x86: enable Intel MID serial for Denverton SoCs

Enable CONFIG_SERIAL_8250_MID in the generic x86 configuration.

This enables hardware serial console access on Intel Atom C3000
(Denverton) platforms, which rely on the High-Speed UART driver.
It also benefits other Intel MID platforms across the x86
architecture.

Signed-off-by: Cristian Sloberg <crilleslo@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22739
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 days agokernel: cake_mq: expose sync_time parameter via debugfs 22380/head
Jonas Köppeler [Wed, 11 Mar 2026 17:14:52 +0000 (18:14 +0100)] 
kernel: cake_mq: expose sync_time parameter via debugfs

This patch enables for the configuration of the sync_time parameter.
The value of the sync_time needs to be specified in nanoseconds.
The default value is 200us (200 000 ns).
This is especially helpful to get feedback from users about suitable
values. Once a solid solution is found this patch can be removed.

Signed-off-by: Jonas Köppeler <j.koeppeler@tu-berlin.de>
Link: https://github.com/openwrt/openwrt/pull/22380
[Add patch to kernel 6.18 too]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 days agotools: e2fsprogs: update to version 1.47.4 22415/head
John Audia [Sat, 14 Mar 2026 12:20:26 +0000 (08:20 -0400)] 
tools: e2fsprogs: update to version 1.47.4

Changelog:
https://e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.47.4

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/22415
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 days agoe2fsprogs: update to version 1.47.4
John Audia [Sat, 14 Mar 2026 12:19:36 +0000 (08:19 -0400)] 
e2fsprogs: update to version 1.47.4

Changelog: https://e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.47.4

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/22415
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 days agomediatek: add Huasifei WH3000 Pro NAND support 22694/head
Fil Dunsky [Mon, 30 Mar 2026 14:07:28 +0000 (17:07 +0300)] 
mediatek: add Huasifei WH3000 Pro NAND support

This commit adds support for Huasifei WH3000 Pro NAND version.
There is an eMMC already supported in OpenWrt. The only difference is NAND chip.
This commit adds common .dtsi and separate .dts
for eMMC and nand versions.

**Huasifei WH3000 Pro NAND**
Portable Wi-Fi 6 travel router based on MediaTek MT7981A SoC. MT7981B+MT7976CN+RTL8221B Dual Core 1.3GHZ with 5G modems module and PWM Fan.

**Specifications**
SoC: Filogic 820 MT7981A (1.3GHz)
RAM: DDR4 1GB
Flash: 256mb Winbond SPI NAND
WiFi: 2.4GHz and 5GHz with 3 antennas
Ethernet:
1x WAN (10/100/1000M)
1x LAN (10/100/1000/2500M)
USB: 1x USB 3.0 port
Two buttons: reset and mode (BTN_0)
LEDS: blue, red, blue+red=pink
UART: 3.3V, TX, RX, GND / 115200 8N1
M.2 (WWAN) slot

**Installation via U-Boot rescue**
1. Set static IP 192.168.1.2 on your computer and default route as 192.168.1.1
2. Connect to the WAN port and hold the reset button while booting the device.
3. Wait for the LED to blink 5 times, and release the reset button.
4. Open U-boot web page on your browser at http://192.168.1.1
5. Select the OpenWRT sysupgrade image, upload it, and start the upgrade.
6. Wait for the router to flash the new firmware.
7. Wait for the router to reboot itself.

**Installation via sysupgrade**
Just flash sysupgrade file via [LuCI upgrade page](http://192.168.1.1/cgi-bin/luci/admin/system/flash) without saving the settings.

**Installation via SSH**
Upload the file to the router `/tmp` directory, `ssh root@192.168.1.1` and issue a command:
```
sysupgrade -n /tmp/openwrt-mediatek-filogic-huasifei_wh3000-pro-nand-squashfs-sysupgrade.bin
```

Signed-off-by: Fil Dunsky <filipp.dunsky@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22694
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 days agomwlwifi: add patch series for kernel 6.18 compatibility 22775/head
Stefan Kalscheuer [Fri, 3 Apr 2026 15:15:25 +0000 (17:15 +0200)] 
mwlwifi: add patch series for kernel 6.18 compatibility

Migrate timer handling (removed in 6.13) and netdev dummy initialization
(removed in 6.16) to new methods with guards to not break older kernels.

This resolves compilation errors due to missing del_timer_sync(),
from_timer() and init_dummy_netdev().

Signed-off-by: Stefan Kalscheuer <stefan@stklcode.de>
Link: https://github.com/openwrt/openwrt/pull/22775
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 days agombedtls: update to 3.6.6 22787/head
Hauke Mehrtens [Sat, 4 Apr 2026 23:32:36 +0000 (01:32 +0200)] 
mbedtls: update to 3.6.6

This version fixes some security problems:
 * Client impersonation while resuming a TLS 1.3 session
   (CVE-2026-34873)
 * Entropy on Linux can fall back to /dev/urandom (CVE-2026-34871)
 * PSA random generator cloning (CVE-2026-25835)
 * Compiler-induced constant-time violations (CVE-2025-66442)
 * Null pointer dereference when setting a distinguished name
   (CVE-2026-34874)
 * Buffer overflow in FFDH public key export (CVE-2026-34875)
 * FFDH: lack of contributory behaviour due to improper input validation
   (CVE-2026-34872)
 * Signature Algorithm Injection (CVE-2026-25834)
 * CCM multipart finish tag-length validation bypass (CVE-2026-34876)
 * Risk of insufficient protection of serialized session or context data
   leading to potential memory safety issues (CVE-2026-34877)
 * Buffer underflow in x509_inet_pton_ipv6() (CVE-2026-25833)

Changelog: https://github.com/Mbed-TLS/mbedtls/releases/tag/mbedtls-3.6.6

Size increases by 470 bytes on aarch64:
343995 bin/packages/aarch64_generic/base/libmbedtls21-3.6.5-r1.apk
344465 bin/packages/aarch64_generic/base/libmbedtls21-3.6.6-r1.apk

Link: https://github.com/openwrt/openwrt/pull/22787
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 days agoutil-linux: add column utility 22782/head
Eric Fahlgren [Sat, 4 Apr 2026 16:52:13 +0000 (09:52 -0700)] 
util-linux: add column utility

Include the column utility to allow simple formatting of columnar
output.

Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22782
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 days agotools/xz: update to 5.8.3 22790/head
Shiji Yang [Sun, 5 Apr 2026 01:06:23 +0000 (09:06 +0800)] 
tools/xz: update to 5.8.3

This includes a fix for (CVE-2026-34743).

Release Notes:
https://github.com/tukaani-project/xz/releases/tag/v5.8.3

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22790
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 days agoethtool: update to 6.19 22780/head
Nick Hainke [Sat, 4 Apr 2026 15:38:48 +0000 (17:38 +0200)] 
ethtool: update to 6.19

Version 6.19 - Feb 14, 2026
* Feature: support HW timestamp configuration (--set-hwtimestamp-cfg)
* Feature: display HW timestamp source (-T)
* Feature: support PLCA notifications (--get/set-plca-cfg)
* Feature: add PSE priority management support (--show/set-pse)
* Feature: support PSE notifications (--show/set-pse)
* Feature: support configuring RSS on IPv6 Flow Label (-n/-N)
* Feature: support FEC bit error histograms (--show-fec)
* Feature: register dump decoding for TI K3 CPSW and its ALE table (-d)
* Fix: fix missing headers in text output
* Fix: fix print_string when the value is NULL (-Werror=format-security)
* Fix: fix JSON output of SFP diagnostics
* Fix: fix duplicated JSON keys in module info
* Misc: clarify that symmetric RSS may be on by default (-x/-X)
* Misc: add AppStream metainfo file to %files section

Link: https://github.com/openwrt/openwrt/pull/22780
Signed-off-by: Nick Hainke <vincent@systemli.org>
3 days agoramips: enable 6.18 testing kernel 21418/head
Mieczyslaw Nalewaj [Tue, 6 Jan 2026 09:42:57 +0000 (10:42 +0100)] 
ramips: enable 6.18 testing kernel

The ramips now supports 6.18 kernel as testing.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/21418
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 days agoramips: mt7621_nand: fix MODULE_DEVICE_TABLE reference
Mieczyslaw Nalewaj [Wed, 7 Jan 2026 07:09:29 +0000 (08:09 +0100)] 
ramips: mt7621_nand: fix MODULE_DEVICE_TABLE reference

The MODULE_DEVICE_TABLE macro was using an incorrect parameter 'match'
instead of the actual device table name 'mt7621_nfc_id_table'.

This fixes the reference to use the correct symbol name, ensuring
proper device table registration for module autoloading.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/21418
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 days agoramips: mtk_eth_soc: handle frag_cache on Linux >= 6.13
Mieczyslaw Nalewaj [Tue, 6 Jan 2026 10:14:37 +0000 (11:14 +0100)] 
ramips: mtk_eth_soc: handle frag_cache on Linux >= 6.13

Fix fe_clean_rx to handle the changed frag_cache layout on newer kernels.

For kernels >= 6.13 the fragment cache needs to be converted from its
encoded_page value instead of using the old va field. Add an ifdef
to use frag_cache.encoded_page & PAGE_MASK and virt_to_page for those
kernels, keep the old path for older kernels.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/21418
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 days agoramips: 6.18: refresh patches
Mieczyslaw Nalewaj [Tue, 6 Jan 2026 10:04:07 +0000 (11:04 +0100)] 
ramips: 6.18: refresh patches

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

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/21418
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 days agoramips: 6.18: update 802-GPIO-MIPS-ralink patch
Mieczyslaw Nalewaj [Tue, 6 Jan 2026 10:10:22 +0000 (11:10 +0100)] 
ramips: 6.18: update 802-GPIO-MIPS-ralink patch

Replace previous bgpio_init usage with a full gpio_chip registration so the driver
integrates cleanly with the kernel GPIO core.
Add drivers/gpio/gpio-ralink.c implementing a gpio_chip with:
 - get/set, direction_input/direction_output, get_direction
 - get_multiple/set_multiple to support efficient multi-bit ops
 - DT handling for determining ngpios (reads "ngpios" or falls back to gpio-ranges)
 - MAX_NGPIOS cap and safe defaults

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/21418
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 days agoramips: 6.18: update 831-03-mmc-mtk-sd patch
Mieczyslaw Nalewaj [Tue, 6 Jan 2026 10:20:21 +0000 (11:20 +0100)] 
ramips: 6.18: update 831-03-mmc-mtk-sd patch

Update patch 831-03-mmc-mtk-sd-use-default-PATCH_BIT1-2-values-for-mt762.patch
to a newer version compatible with kernel 6.18.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/21418
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 days agoramips: 6.18: manually rebuild patches
Mieczyslaw Nalewaj [Tue, 6 Jan 2026 10:00:39 +0000 (11:00 +0100)] 
ramips: 6.18: manually rebuild patches

Manually rebuild patches:
 - 102-01-pwm-mediatek-set-mt7628-pwm45_fixup-flag-to-false.patch
 - 102-02-pwm-mediatek-correct-mt7628-clock-source-setting.patch
 - 312-MIPS-ralink-add-cpu-frequency-scaling.patch
 - 810-uvc-add-iPassion-iP2970-support.patch
 - 821-SPI-ralink-add-Ralink-SoC-spi-driver.patch
 - 831-01-mmc-mtk-sd-add-tuning-parameters-for-legacy-MIPS-MT7.patch
 - 831-02-mmc-mtk-sd-disable-auto-CMD23-support-for-mt7620.patch
 - 835-asoc-add-mt7620-support.patch

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/21418
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 days agoramips: 6.18: remove obsolete patches
Mieczyslaw Nalewaj [Mon, 6 Apr 2026 07:41:38 +0000 (09:41 +0200)] 
ramips: 6.18: remove obsolete patches

Remove obsolete patches already included in kernel 6.18.
 - 001-v6.13-clocksource-drivers-ralink-Add-Ralink-System-Tick-Co.patch[1]
 - 002-03-v6.13-clk-ralink-mtmips-add-mmc-related-clocks-for-SoCs-MT.patch[2]
 - 003-v6.13-mmc-mtk-sd-Implement-Host-Software-Queue-for-eMMC.patch[3]
 - 004-v6.15-dt-bindings-clock-add-clock-definitions-for-Ralink-S.patch[4]
 - 860-ramips-add-eip93-driver.patch[5]
 - 900-pci-rt2880-static-pcibios_init.patch[6]
 - 931-mips-ralink-add-missing-include.patch[7]

[1] https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.18.y&id=cd5375610baadd3a0842a9e83ca502684f938be8
[2] https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.18.y&id=198675bbc03d437fb80a35d781ad13d622d0ff68
[3] https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.18.y&id=7e9ddd7d45897b15a64c4a3c88f2f7909bf49749
[4] https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.18.y&id=adb2424d0d05506c2f36fcba66101d34f7409e45
[5] https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.18.y&id=9739f5f93b7806a684713ba42e6ed2d1df7c8100
[6] https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.18.y&id=de94259d064814b7eacd6d1f4b26e934eed02590
[7] https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.18.y&id=f13e645e15f1a4a33f0709844dac1a962b335b16

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/21418
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 days agoramips: 6.18: update kernel symbols
Mieczyslaw Nalewaj [Mon, 5 Jan 2026 18:35:51 +0000 (19:35 +0100)] 
ramips: 6.18: update kernel symbols

Remove symbols no longer present in version 6.18,
add new 6.18 kernel symbols.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/21418
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 days agokernel/ramips: restore files for v6.12
Mieczyslaw Nalewaj [Mon, 6 Apr 2026 07:41:28 +0000 (09:41 +0200)] 
kernel/ramips: restore files for v6.12

This is an automatically generated commit which aids following Kernel patch
history, as git will see the move and copy as a rename thus defeating the
purpose.

For the original discussion see:
https://lists.openwrt.org/pipermail/openwrt-devel/2023-October/041673.html

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/21418
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 days agokernel/ramips: create files for v6.18 (from v6.12)
Mieczyslaw Nalewaj [Mon, 6 Apr 2026 07:41:25 +0000 (09:41 +0200)] 
kernel/ramips: create files for v6.18 (from v6.12)

This is an automatically generated commit.

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

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/21418
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 days agorealtek: mdio: add phy to port lookup 22731/head
Markus Stockhausen [Wed, 1 Apr 2026 16:51:47 +0000 (18:51 +0200)] 
realtek: mdio: add phy to port lookup

The Realtek mdio bus operations are based on the port number. As
of now the driver exposes a single bus with a 1:1 mapping between
phy and port. This will change in the future when the driver
exposes multiple busses. This will need a mapping - e.g.

- bus 0, phy 23 -> read/write port 23
- bus 1, phy 0 -> read/write port 24

Provide a rtmdio_phy_to_port() indirection function that will
lookup the port number based on a bus and a phy. For now it
will only run some basic sanity checks and return the given
input address (because of 1:1 mapping).

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22731
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 days agorealtek: mdio: add mutex for multiple busses
Markus Stockhausen [Wed, 1 Apr 2026 15:43:11 +0000 (17:43 +0200)] 
realtek: mdio: add mutex for multiple busses

When the mdio driver gets enhanced for multiple busses it must
snchronize reads/writes to the single controller. Add a lock
to the control structure and guard the critical operations.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22731
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 days agorealtek: eth: convert set_rx_mode() to regmap 22757/head
Markus Stockhausen [Fri, 3 Apr 2026 10:25:59 +0000 (12:25 +0200)] 
realtek: eth: convert set_rx_mode() to regmap

Make use of regmap in all device specific set_rx_mode() functions.
Adapt the constant prefixes to the rest of the driver. While we
are here:

- align the RTL931x function name with the other targets
- replace constants with GENMASK()
- use new lowercase style for hexadecimal values

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22757
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 days agorealtek: eth: introduce regmap
Markus Stockhausen [Fri, 3 Apr 2026 10:04:38 +0000 (12:04 +0200)] 
realtek: eth: introduce regmap

The ethernet driver currently uses the legacy sw() macros. Add a
regmap to the driver that is derived from the parent mfd (like in
the mdio drivers). As a first consumer make use of that in the IRQ
functions.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22757
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agokernel: 6.18: move CONFIG_CRYPTO_LIB_SHA256 to generic 22730/head
Shiji Yang [Fri, 3 Apr 2026 14:33:38 +0000 (22:33 +0800)] 
kernel: 6.18: move CONFIG_CRYPTO_LIB_SHA256 to generic

This symbol is selected by CONFIG_BPF, which was already enabled
on generic config-6.18.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22730
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agokernel: 6.12: move CONFIG_CRYPTO_LIB_SHA1 to generic
Shiji Yang [Fri, 3 Apr 2026 14:30:38 +0000 (22:30 +0800)] 
kernel: 6.12: move CONFIG_CRYPTO_LIB_SHA1 to generic

This symbol is selected by CONFIG_BPF, which was already enabled
on generic config-6.12.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22730
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agokernel: enable CRYPTO_RNG2 and CRYPTO_SIG2 by default
Shiji Yang [Fri, 3 Apr 2026 13:46:44 +0000 (21:46 +0800)] 
kernel: enable CRYPTO_RNG2 and CRYPTO_SIG2 by default

These two symbols are selected by CONFIG_CRYPTO_MANAGER2[1-2], which
was already enabled on generic config-{6.12,6.18}.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.6.y&id=fb28fabfad332a731423ffdd2be122b73ea90f1e
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.6.y&id=6cb8815f41a966b217c0d9826c592254d72dcc31
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22730
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agokernel: 6.18: move CONFIG_PAGE_BLOCK_MAX_ORDER to subtargets
Shiji Yang [Wed, 1 Apr 2026 11:28:54 +0000 (19:28 +0800)] 
kernel: 6.18: move CONFIG_PAGE_BLOCK_MAX_ORDER to subtargets

This symbol depends on the specific CPU type, so we should not
set it globally.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22730
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agokernel: 6.18: disable CONFIG_GENERIC_BUILTIN_DTB
Shiji Yang [Wed, 1 Apr 2026 11:24:03 +0000 (19:24 +0800)] 
kernel: 6.18: disable CONFIG_GENERIC_BUILTIN_DTB

This symbol is selected by CONFIG_BUILTIN_DTB. However, we didn't
enable it in generic config-6.18.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22730
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agokernel: reorganize config files
Shiji Yang [Tue, 31 Mar 2026 23:28:58 +0000 (07:28 +0800)] 
kernel: reorganize config files

Automatically refreshed by `./scripts/kconfig-reorder.sh`.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22730
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agokernel: modules: fix kmod-iavf dependencies
Shiji Yang [Tue, 31 Mar 2026 14:33:44 +0000 (22:33 +0800)] 
kernel: modules: fix kmod-iavf dependencies

Add missing dependency kmod-ptp to fix the build error. We also
add symbol CONFIG_PTP_1588_CLOCK_OPTIONAL explicitly for kmod-ptp
because it is selected by CONFIG_PTP_1588_CLOCK. Fix:

Package kmod-iavf is missing dependencies for the following libraries:
ptp.ko

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22730
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agokernel: modules: fix kmod-crypto-misc build error
Shiji Yang [Tue, 31 Mar 2026 12:28:35 +0000 (20:28 +0800)] 
kernel: modules: fix kmod-crypto-misc build error

cryptd has been decoupled from crypto-misc in the 6.18 kernel. Fix:

ERROR: module '/home/runner/work/Actions_/Actions_/openwrt/build_dir/target-i386_pentium4_musl/linux-x86_generic/linux-6.18.20/crypto/cryptd.ko' is missing.
make[3]: *** [modules/crypto.mk:873: /home/runner/work/Actions_/Actions_/openwrt/bin/targets/x86/generic/packages/kmod-crypto-misc-6.18.20-r1.apk] Error 1

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22730
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agoramips: add support for wavlink halo base pro 22400/head
William Latter [Fri, 13 Mar 2026 08:09:30 +0000 (19:09 +1100)] 
ramips: add support for wavlink halo base pro

This adds support for the Wavlink "Halo Base Pro".
SOC: MT7621DAT
RAM: 128MiB
Flash: 16MiB NOR
WiFi: MT7603EN + MT7613BEN

Buttons:
- The touch sensor was originally for WPS, but this has been moved to the
pair button which is no longer used to prevent accidental touches

LEDs:
- On original firmware, the status LEDs light up as follows:
- Purple = booting, Blue = working, Red = error

Partitions:
- factory contains unique WiFi EEPROM and default MAC addresses
- vendor partition has an unknown purpose

Stock MAC address allocation:
- LAN1: xx:xx:xx:xx:xx:80
- LAN2/WAN: xx:xx:xx:xx:xx:81
- WiFi 2.4G: xx:xx:xx:xx:xx:82
- WiFi 5G: xx:xx:xx:xx:xx:83

LAN Ports:
- lan1 is the normal white LAN port
- lan2 is labelled "LAN/Backhaul", which can either be LAN or WAN.
- Since this device is intended to be part of a mesh, this will usually
be a LAN port, hence why it's assigned to lan2 here

Notes:
- I've chosen "Halo Base Pro" as the device model, despite the website URL
showing WL-WN535M3, as the label only states "Halo Base Pro".
- Only the 5GHz WiFi address is labelled on the device

Signed-off-by: William Latter <williamlatter77@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22400
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agokernel: modules: add new driver package phy-mtk-tphy 22094/head
Shiji Yang [Thu, 19 Feb 2026 12:06:08 +0000 (20:06 +0800)] 
kernel: modules: add new driver package phy-mtk-tphy

MediaTek T-PHY controller supports multiple usb2.0, usb3.0 ports,
PCIe and SATA. ARM mediatek and ramips/mt7621 targets require this
package to make the XHCI work properly.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22094
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agoramips: dts: mt7621: use "mediatek,mtk-xhci" compatible
Shiji Yang [Thu, 19 Feb 2026 11:57:56 +0000 (19:57 +0800)] 
ramips: dts: mt7621: use "mediatek,mtk-xhci" compatible

Compared to the "mediatek,mt8173-xhci", this is a more generic and
reasonable compatible string. On the driver side, they are identical.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22094
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agoramips: dts: mt7621: add USB t-phy node
Shiji Yang [Thu, 19 Feb 2026 11:57:18 +0000 (19:57 +0800)] 
ramips: dts: mt7621: add USB t-phy node

The USB t-phy driver includes some magic register init values. This
should be beneficial for the USB stability and performance.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22094
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agoramips: mt7621: build MediaTek T-PHY driver
Shiji Yang [Thu, 19 Feb 2026 11:56:55 +0000 (19:56 +0800)] 
ramips: mt7621: build MediaTek T-PHY driver

MT7621 USB phys are compatible with the MediaTek T-PHY controller.
The vendor SDK also enabled this driver for MT7621.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22094
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agomac80211: ath9k: remove entropy patch 22766/head
Rosen Penev [Fri, 23 May 2025 01:42:21 +0000 (18:42 -0700)] 
mac80211: ath9k: remove entropy patch

This was replaced upstream with a proper rng device that feeds into
/dev/random. No need for this anymore.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22766
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agolantiq: dts: fix PCIe peripheral node name dtc warnings 18843/head
Shiji Yang [Mon, 19 May 2025 11:26:47 +0000 (19:26 +0800)] 
lantiq: dts: fix PCIe peripheral node name dtc warnings

Remove unit name leading 0s to fix the following dtc warnings:

danube_arcadyan_arv752dpw22.dts:263.11-273.4: Warning (pci_device_reg): /fpi@10000000/pci@e105400/usb@0f,0: PCI unit address format error, expected "f,0"
danube_arcadyan_arv752dpw22.dts:275.11-285.4: Warning (pci_device_reg): /fpi@10000000/pci@e105400/usb@0f,2: PCI unit address format error, expected "f,2"

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18843
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agolantiq: dts: correct the size of PCIe reg property
Shiji Yang [Mon, 19 May 2025 11:07:17 +0000 (19:07 +0800)] 
lantiq: dts: correct the size of PCIe reg property

Correct PCIe node #address-cells and #size-cells properties to
fix the following dtc warnings:

vr9_avm_fritz3390.dts:297.4-22: Warning (reg_format): /fpi@10000000/pcie@d900000/pcie@0/wifi@0,0:reg: property has invalid length (20 bytes) (#address-cells == 2, #size-cells == 1)
vr9_avm_fritz3390.dts:288.9-300.4: Warning (pci_bridge): /fpi@10000000/pcie@d900000/pcie@0: incorrect #address-cells for PCI bridge
vr9_avm_fritz3390.dts:288.9-300.4: Warning (pci_bridge): /fpi@10000000/pcie@d900000/pcie@0: incorrect #size-cells for PCI bridge
vr9_avm_fritz736x.dtsi:168.4-22: Warning (reg_format): /fpi@10000000/pcie@d900000/pcie@0/wifi@0,0:reg: property has invalid length (20 bytes) (#address-cells == 2, #size-cells == 1)
vr9_avm_fritz736x.dtsi:160.9-170.4: Warning (pci_bridge): /fpi@10000000/pcie@d900000/pcie@0: incorrect #address-cells for PCI bridge
vr9_avm_fritz736x.dtsi:160.9-170.4: Warning (pci_bridge): /fpi@10000000/pcie@d900000/pcie@0: incorrect #size-cells for PCI bridge

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18843
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agolantiq: dts: rename spi pins node name to spi-pins
Shiji Yang [Mon, 19 May 2025 11:03:43 +0000 (19:03 +0800)] 
lantiq: dts: rename spi pins node name to spi-pins

The dtc will treat "spi" node as an SPI controller. This resulted
in lots of false warning reports. Workaround it by renaming the
pinctrl node name to "spi-pins". This patch fixes the following
dtc warnings:

vr9.dtsi:326.18-336.6: Warning (spi_bus_bridge): /fpi@10000000/pinmux@e100b10/spi: incorrect #address-cells for SPI bus
vr9.dtsi:326.18-336.6: Warning (spi_bus_bridge): /fpi@10000000/pinmux@e100b10/spi: incorrect #size-cells for SPI bus
ar9.dtsi:286.18-296.6: Warning (spi_bus_bridge): /fpi@10000000/pinmux@e100b10/spi: incorrect #address-cells for SPI bus
ar9.dtsi:286.18-296.6: Warning (spi_bus_bridge): /fpi@10000000/pinmux@e100b10/spi: incorrect #size-cells for SPI bus
amazonse.dtsi:166.18-176.6: Warning (spi_bus_bridge): /fpi@10000000/pinmux@e100b10/spi: incorrect #address-cells for SPI bus
amazonse.dtsi:166.18-176.6: Warning (spi_bus_bridge): /fpi@10000000/pinmux@e100b10/spi: incorrect #size-cells for SPI bus

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18843
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agotools/e2fsprogs: fix build with system libblkid probe API 22368/head
seuros [Tue, 10 Mar 2026 23:32:04 +0000 (23:32 +0000)] 
tools/e2fsprogs: fix build with system libblkid probe API

When building on a host with e2fsprogs >= 1.47.0 installed, configure
detects the system libblkid probe API (blkid_probe_get_partitions etc.)
and sets ac_cv_lib_blkid_blkid_get_cache=yes. This causes plausible.c
to be compiled with HAVE_BLKID_PROBE_GET_PARTITIONS defined, but the
host build links against the internal blkid stub, resulting in:

  plausible.c: error: unknown type name 'blkid_probe'

Override the configure cache variables to prevent detection of the
system libblkid probe API, ensuring the internal stub is used
consistently.

Signed-off-by: seuros <openwrt@seuros.com>
Link: https://github.com/openwrt/openwrt/pull/22368
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agorealtek: Indicate that RTL8231 LED ops can sleep
Sander Vanheule [Sun, 5 Apr 2026 18:58:54 +0000 (20:58 +0200)] 
realtek: Indicate that RTL8231 LED ops can sleep

The RTL8231 LED driver is using the .brightness_set op, which according
to the documentation should not sleep. Since the RTL8231 is controlled
via an MDIO bus, this is not the case.

When using a non-offloaded LED driver such as netdev, this may currently
trigger kernel warnings:
    WARNING: CPU: 0 PID: 14 at kernel/time/timer.c:1754 call_timer_fn.isra.0+0x84/0x8c
    timer: led_timer_function+0x0/0x1d8 preempt leak: 00000100 -> 00000000

Switch to the .brightness_set_blocking op to indicate the operation
might sleep.

Fixes: 6ef6014887c3 ("realtek: Add pinctrl support for RTL8231")
Signed-off-by: Sander Vanheule <sander@svanheule.net>
4 days agoramips: mt7621: fix reset hang and re-enable LIST_HARDENED 22724/head
Rany Hany [Mon, 30 Mar 2026 13:37:03 +0000 (13:37 +0000)] 
ramips: mt7621: fix reset hang and re-enable LIST_HARDENED

This reverts commit a2fa1db79726dab47d994df530bc8f02d14de68b.

These patches stop secondary CPUs before restart and wait for them
to go offline, fixing the mt7621 reboot deadlock without needing to
disable CONFIG_LIST_HARDENED.

Signed-off-by: Rany Hany <rany_hany@riseup.net>
Link: https://github.com/openwrt/openwrt/pull/22724
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agomediatek: rax3000m: add Airoha AN8855 switch support 21171/head
air jinkela [Mon, 15 Dec 2025 14:24:08 +0000 (22:24 +0800)] 
mediatek: rax3000m: add Airoha AN8855 switch support

This commit adds support for Airoha AN8855 switch to RAX000Me

Fixes: https://github.com/openwrt/openwrt/issues/21230
Signed-off-by: air jinkela <air_jinkela@163.com>
Link: https://github.com/openwrt/openwrt/pull/21171
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agowpa_supplicant: include ctrl-event on the DPP channel
Felix Fietkau [Fri, 27 Mar 2026 19:44:02 +0000 (19:44 +0000)] 
wpa_supplicant: include ctrl-event on the DPP channel

Simplifies managing state

Signed-off-by: Felix Fietkau <nbd@nbd.name>
4 days agowpa_supplicant: add ifname to recieved ctrl-event notifications
Felix Fietkau [Fri, 27 Mar 2026 19:38:02 +0000 (19:38 +0000)] 
wpa_supplicant: add ifname to recieved ctrl-event notifications

Simplifies subscribing to multiple objects.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
4 days agorealtek: eth: merge decode_tag() for RTL93xx 22717/head
Markus Stockhausen [Tue, 31 Mar 2026 16:10:30 +0000 (18:10 +0200)] 
realtek: eth: merge decode_tag() for RTL93xx

rteth_930x_decode_tag() and rteth_931x_decode_tag() are basically
the same. The only difference is the port bitmask. Luckily on the
RTL930x devices the unused fifth bit is always zero and the mask
can be aligned with RTL931x. Take over the RTL931x reason debugging
for both targets.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22717
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agorealtek: dts: convert D-Link DGS-1250-28X to PHY_C22() 22721/head
Markus Stockhausen [Tue, 31 Mar 2026 19:17:51 +0000 (21:17 +0200)] 
realtek: dts: convert D-Link DGS-1250-28X to PHY_C22()

Use the new PHY_C22() macro for this RTL9301 device.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22721
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agorealtek: pcs: rtl931x: set SerDes to off early 22786/head
Jonas Jelonek [Wed, 4 Feb 2026 22:02:00 +0000 (22:02 +0000)] 
realtek: pcs: rtl931x: set SerDes to off early

Set the SerDes mode to OFF early in the setup process to have a clear
starting point. This was part of the media handling before as a leftover
from the SDK code import. In the SDK, this function didn't only care
about applying some media settings but was also some kind of mode
setting for fiber modes.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22786
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agorealtek: pcs: condense fiber media types
Jonas Jelonek [Sat, 28 Mar 2026 17:24:15 +0000 (18:24 +0100)] 
realtek: pcs: condense fiber media types

Right now we operate with distinct media types for fiber using different
speeds. This is more of a leftover from the SDK then it really makes
sense design-wise. The set_media function from the SDK did a lot more
than just setting some media-specific parameters. As part of
deconstructing this, also reduce the fiber types to a single media type
and handle the speed-agnostic parts based on the hw_mode for now.

This also drops the check for 100M speed around a block of writes. This
check has it's origin in SDK code where a switch statement just didn't
handle this case. However, the rest of the SDK doesn't handle this case
either. While the explicit 100M support isn't verified yet, there's no
need to keep that check.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22786
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agorealtek: pcs: collapse DAC media types
Jonas Jelonek [Fri, 27 Mar 2026 22:32:34 +0000 (23:32 +0100)] 
realtek: pcs: collapse DAC media types

So far we had separate media types for different DAC cable lengths,
equal to how the SDK defines them. However, this seems overengineered.
The types '_50CM' and '_100CM' are always treated equally, same for
'_300CM' and '_500CM'. Not only in the RTL931x code, but also the
RTL930x code usually just makes a distinction between short and long.
Thus, make that a bit cleaner by reducing the DAC type set to '_SHORT'
and '_LONG' with DAC cables < 3m being considered short and those with
>= 3m being considered as long.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22786
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agorealtek: pcs: rename port_media to sds_media
Jonas Jelonek [Fri, 27 Mar 2026 12:01:06 +0000 (13:01 +0100)] 
realtek: pcs: rename port_media to sds_media

The term 'port media' was chosen due to how the code taken from the SDK
was organized. However, the SDK does a pretty good job at intermixing a
lot of things which cause confusion in the end. This also applies to the
media settings. To be correct, we do not really have port awareness in
the PCS driver (and probably shouldn't have) so we do not really deal
with a port's media. Instead, we set settings depending on what is
attached to the SerDes itself.

To fix this confusion, rename the enum, its fields and all usage from
'port_media' to 'sds_media'.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22786
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agorockchip: add reset button support for NanoPi R5S LTS 22700/head
Roman Pyatikonov [Mon, 30 Mar 2026 20:11:59 +0000 (23:11 +0300)] 
rockchip: add reset button support for NanoPi R5S LTS

Backport upstream commit 954f07012794 ("arm64: dts: rockchip:
Add reset button to NanoPi R5S").

The NanoPi R5S LTS variant has a reset button wired to GPIO4_A0,
but the current OpenWrt rockchip 6.12 patch set lacks the
corresponding gpio-keys definition in rk3568-nanopi-r5s.dts.

As a result, pressing the button generates no reset event.
rockchip already includes kmod-gpio-button-hotplug by default,
so backporting the upstream DTS change restores the expected
behavior.

Rename the patch to
011-v6.17-arm64-dts-rockchip-Add-reset-button-to-NanoPi-R5S.patch
to match the upstream source.

The non-LTS NanoPi R5S leaves this pin unconnected, matching the
upstream rationale for using the shared rk3568-nanopi-r5s.dts.

Link: https://lore.kernel.org/r/20250711142138.197445-1-didi.debian@cknow.org
Signed-off-by: Roman Pyatikonov <moyciti.volga.bk.ru92@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22700
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 days agorealtek: dsa: common MSTI initialization 18127/head 22749/head
Markus Stockhausen [Fri, 3 Apr 2026 07:45:11 +0000 (09:45 +0200)] 
realtek: dsa: common MSTI initialization

The dsa probing currently disable multiple spanning tree for RTL93xx
and keeps the bootloader setup for RTL83xx untouched. Additionally it
does this by checking for the family id. Refactor this to a common
"disable msti" setup.

To make it clear: From now on RTL83xx will also run in MSTI disabled
state. Tested on Linksys LGS310C.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22749
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 days agorealtek: dsa: move n_mst/l2_bucket_size out of family check
Markus Stockhausen [Fri, 3 Apr 2026 07:32:07 +0000 (09:32 +0200)] 
realtek: dsa: move n_mst/l2_bucket_size out of family check

Another two variables that are not part of the runtime but the
configuration structure. Move them around.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22749
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 days agorealtek: dsa: remove num_lag_ids from family check
Markus Stockhausen [Fri, 3 Apr 2026 07:18:49 +0000 (09:18 +0200)] 
realtek: dsa: remove num_lag_ids from family check

num_lag_ids is a device specific constant and must therefore
live in the configuration structure. Avoid dynamic assignment.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22749
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 days agorealtek: dsa: remove ops structures from family check
Markus Stockhausen [Fri, 3 Apr 2026 07:10:59 +0000 (09:10 +0200)] 
realtek: dsa: remove ops structures from family check

dsa_switch_ops and phylink_mac_ops do not need to be assigned
by a family check. Instead they can be directly linked in the
configuration structure.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22749
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 days agohostapd: update to 2026-04-02 22745/head
Nick Hainke [Thu, 2 Apr 2026 16:10:04 +0000 (18:10 +0200)] 
hostapd: update to 2026-04-02

Patches automatically refreshed.

Link: https://github.com/openwrt/openwrt/pull/22745
Signed-off-by: Nick Hainke <vincent@systemli.org>
6 days agoramips: add support for Z-ROUTER ZR-2662 21524/head
xingchi [Tue, 13 Jan 2026 08:01:20 +0000 (16:01 +0800)] 
ramips: add support for Z-ROUTER ZR-2662

This commit adds support for Z-ROUTER ZR-2662 (also known as Routerich
AX1800 V2) wireless WiFi 6 router.

Hardware specification
---------------------
- SoC       : MediaTek MT7621AT, MIPS, 880 MHz
- RAM       : 256 MiB
- Flash     : NAND 128 MiB (AMD/Spansion S34ML01G2)
- WLAN      :
  - 2.4 GHz : MediaTek MT7905D/MT7975 (14c3:7916), b/g/n/ax, MIMO 2x2
  - 5 GHz   : MediaTek MT7915E (14c3:7915), a/n/ac/ax, MIMO 2x2
- Ethernet  : 10/100/1000 Mbps x4 (1x WAN, 3x LAN)
- USB       : 1x 2.0
- UART      : 3.3V, 115200n8, pins are silkscreened on the pcb
- Buttons   : 1x Reset
- LEDs      : 1x WiFi 2.4 GHz (green)
              1x WiFi 5 GHz (green)
              1x LAN (green)
              1x WAN (green)
              1x WAN no-internet (red)
- Power     : 12 VDC, 1 A

Installation
------------
1. Run tftp server on your PC (IP: 192.168.2.2) and put OpenWrt initramfs
   image (initramfs.bin) to the tftp root dir
2. Open the following link in the browser to enable telnet:
http://192.168.2.1/cgi-bin/telnet_ssh
3. Connect to the router (default IP: 192.168.2.1) using telnet shell
   (credentials - user:admin)
4. Run the following commands in the telnet shell (this will install
   OpenWrt initramfs image on nand flash):
cd /tmp
tftp -g -r initramfs.bin 192.168.2.2
mtd write initramfs.bin firmware
mtd erase firmware_backup
reboot
5. Copy OpenWrt sysupgrade image (sysupgrade.bin) to the /tmp dir of the
   router
6. Connect to the router (IP: 192.168.1.1) using ssh shell and run
   sysupgrade command:
sysupgrade -n /tmp/sysupgrade.bin

Return to stock
---------------
1. Copy stock firmware (stock.bin) to the /tmp dir of the router using scp
2. Run following command in the router shell:
cd /tmp
mtd write stock.bin firmware
reboot

Recovery
--------
Connect uart (pins are silkscreened on the pcb), interrupt boot process by
pressing any key, use u-boot menu to flash stock firmware image or OpenWrt
initramfs image.

MAC addresses
-------------
+---------+-------------------+-----------+
|         | MAC               | Algorithm |
+---------+-------------------+-----------+
| LAN     | 24:0f:5e:xx:xx:4c | label     |
| WAN     | 24:0f:5e:xx:xx:4d | label+1   |
| WLAN 2g | 24:0f:5e:xx:xx:4e | label+2   |
| WLAN 5g | 24:0f:5e:xx:xx:4f | label+3   |
+---------+-------------------+-----------+
The WLAN 2.4 MAC was found in 'factory', 0x4
The LAN MAC was found in 'factory', 0xfff4
The WAN MAC was found in 'factory', 0xfffa

Note: This device is similar to Z-ROUTER ZR-2660, but with minor hardware
revisions. The firmware and configuration are compatible.

Signed-off-by: xingchi <juncaixingchi2026@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21524
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 days agowifi-scripts: fix ucode erp_domain and fils_cache_id values 22677/head
Joshua Klinesmith [Sun, 29 Mar 2026 20:19:40 +0000 (16:19 -0400)] 
wifi-scripts: fix ucode erp_domain and fils_cache_id values

The ucode path generates different erp_domain and fils_cache_id
values than the legacy shell path due to three mismatches:

1. erp_domain md5 input missing trailing newline (echo adds \n)
2. erp_domain output truncated to 4 chars instead of 8 (shell
   uses head -c 8)
3. fils_cache_id md5 input missing trailing newline
4. erp_domain missing fallback to mobility_domain

Same bug pattern as mobility_domain fixed in commit b1dc2736db.

Fixes: #21768
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Joshua Klinesmith <joshuaklinesmith@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22677
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>