Commit Graph
73216 Commits
Author SHA1 Message Date
Tianling Shen 77fd4ffac6 arm-trusted-firmware-mediatek: refresh patches
Fixes: 584f938f24 ("Merge Official Source")
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2026-04-10 15:57:30 +08:00
Tianling Shen 584f938f24 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2026-04-10 10:19:41 +08:00
Daniel Golle 8101611355 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>
2026-04-10 00:10:09 +01:00
Shiji YangandDaniel Golle 6b998c6737 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>
2026-04-09 15:42:00 +01:00
Robert Marko ca0d26ae1a 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>
2026-04-09 13:21:58 +02:00
Christian Marangi 418eed6d59 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>
2026-04-09 11:51:48 +02:00
Christian Marangi 0cf516751a 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>
2026-04-09 11:49:26 +02:00
Christian Marangi f075c1148d 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>
2026-04-09 11:38:40 +02:00
Rosen PenevandRobert Marko d49f62d1a4 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>
2026-04-09 10:47:53 +02:00
Rosen PenevandRobert Marko 60383c5d6b 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>
2026-04-09 10:47:53 +02:00
Rosen PenevandRobert Marko 75ebc8e2c2 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>
2026-04-09 10:47:53 +02:00
Rosen PenevandRobert Marko 018d6091a5 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>
2026-04-09 10:47:52 +02:00
Rosen PenevandRobert Marko 66fe390b73 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>
2026-04-09 10:47:52 +02:00
Markus StockhausenandRobert Marko f6066e5696 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>
2026-04-09 10:46:37 +02:00
Markus StockhausenandRobert Marko 67704c032f 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>
2026-04-09 10:46:37 +02:00
Markus StockhausenandRobert Marko e27ad8b4f6 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>
2026-04-09 10:46:37 +02:00
Markus StockhausenandRobert Marko 084da38a2e 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>
2026-04-09 10:46:36 +02:00
Markus StockhausenandRobert Marko 87d5b3f7e6 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>
2026-04-09 10:46:36 +02:00
Markus StockhausenandRobert Marko 56c3f6f2c1 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>
2026-04-09 10:46:36 +02:00
Markus StockhausenandRobert Marko 924db12314 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>
2026-04-09 10:46:36 +02:00
Markus StockhausenandRobert Marko fafe10fd25 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>
2026-04-09 10:46:36 +02:00
Markus StockhausenandRobert Marko c635df7030 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>
2026-04-09 10:46:36 +02:00
Damien DejeanandRobert Marko c99a30668d 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>
2026-04-08 18:46:32 +02:00
Jonas JelonekandRobert Marko 03002d456a 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>
2026-04-08 18:46:32 +02:00
Mieczyslaw NalewajandChristian Marangi 3e42e349d4 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>
2026-04-08 10:05:53 +02:00
Jascha SundaresanandChristian Marangi bc0a2c933e 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>
2026-04-08 10:02:58 +02:00
Hauke Mehrtens 04f10eb796 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>
2026-04-08 00:34:59 +02:00
Janusz DziedzicandHauke Mehrtens 1c0aec0a85 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>
2026-04-08 00:17:56 +02:00
Mieczyslaw NalewajandHauke Mehrtens ef584a3632 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>
2026-04-08 00:01:20 +02:00
Mieczyslaw NalewajandHauke Mehrtens 5213918c3d 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>
2026-04-08 00:00:24 +02:00
Jack SunandRobert Marko db68b8cefa 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>
2026-04-07 23:01:22 +02:00
Daniel PawlikandDaniel Golle 561e3cf678 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>
2026-04-07 19:38:07 +01:00
Steffen FörsterandRobert Marko 7ea95a988e 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>
2026-04-07 11:55:53 +02:00
Markus StockhausenandRobert Marko 7f94645fef 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>
2026-04-07 10:14:52 +02:00
Markus StockhausenandRobert Marko 1aedb2af54 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>
2026-04-07 10:14:52 +02:00
Markus StockhausenandRobert Marko 8bfb2b4b3f 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>
2026-04-07 10:14:52 +02:00
Markus StockhausenandRobert Marko 83d5eaa50d 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>
2026-04-07 10:14:52 +02:00
Markus StockhausenandRobert Marko ad087c20b8 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>
2026-04-07 10:14:01 +02:00
Rosen PenevandRobert Marko a031f16348 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>
2026-04-07 09:51:10 +02:00
Tianling Shen 254508aaad Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2026-04-07 10:27:22 +08:00
Tan ZienandHauke Mehrtens 56be1d1530 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>
2026-04-07 02:05:51 +02:00
Cristian SlobergandHauke Mehrtens 81644d0b86 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>
2026-04-07 02:04:55 +02:00
Jonas KöppelerandHauke Mehrtens d19e522ec7 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>
2026-04-07 01:59:03 +02:00
John AudiaandHauke Mehrtens b580beb3fc 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>
2026-04-07 01:31:04 +02:00
John AudiaandHauke Mehrtens ad90dbd51e 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>
2026-04-07 01:31:04 +02:00
Fil DunskyandHauke Mehrtens f4c211f635 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>
2026-04-06 22:39:41 +02:00
Stefan KalscheuerandHauke Mehrtens a9e22459e4 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>
2026-04-06 16:03:37 +02:00
Hauke Mehrtens f48ef0040b 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>
2026-04-06 16:01:10 +02:00
Eric FahlgrenandHauke Mehrtens 08bf7ef6d2 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>
2026-04-06 16:00:00 +02:00
Shiji YangandHauke Mehrtens 105750c673 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>
2026-04-06 15:58:13 +02:00