David Härdeman [Wed, 5 Nov 2025 08:54:51 +0000 (09:54 +0100)]
odhcpd: reload on change to service/network cfg
"system" is used to get the current time zone, "network" is used to get
the global DUID.
Signed-off-by: David Härdeman <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20673
Signed-off-by: Álvaro Fernández Rojas <[email protected]>
David Härdeman [Wed, 5 Nov 2025 08:46:31 +0000 (09:46 +0100)]
odhcpd: remove legacy option
Support for this option has been removed from odhcpd, so remove it in
the defaults as well.
Signed-off-by: David Härdeman <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20673
Signed-off-by: Álvaro Fernández Rojas <[email protected]>
Eneas U de Queiroz [Fri, 7 Nov 2025 14:21:26 +0000 (11:21 -0300)]
wifi-scripts: ucode: iwinfo: expand AKM display
This exands the list of AKMs to display:
- display the hash when larger than the default (loosely based on
what hostapd uses in config).
- renaming 'WPA PSK2' to 'WPA PSK-SHA256' as a result
- separate FILS suites from plain 802.1x
- add suites 3, 5, 9, 19, 20, 24, and 25
Signed-off-by: Eneas U de Queiroz <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20686
Signed-off-by: Robert Marko <[email protected]>
Eneas U de Queiroz [Fri, 7 Nov 2025 17:24:33 +0000 (14:24 -0300)]
wifi-scripts: ucode: iwinfo: escape control chars
Escape control characters when displaying ESSID. It is not uncommon for
a scan to encounter invalid SSIDs, containing binary data. Escape the
control characters to avoid messing the display (ENQ is particularly
bothersome).
Signed-off-by: Eneas U de Queiroz <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20686
Signed-off-by: Robert Marko <[email protected]>
Eneas U de Queiroz [Thu, 6 Nov 2025 14:57:26 +0000 (11:57 -0300)]
wifi-scripts: ucode: iwinfo: show ESSID in scan
This adds the ESSID: line to the iwinfo scan results.
Signed-off-by: Eneas U de Queiroz <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20686
Signed-off-by: Robert Marko <[email protected]>
Joe Holden [Sat, 30 Aug 2025 21:54:51 +0000 (21:54 +0000)]
realtek: RTL838x: make u-boot-env writeable ZyXEL GS1900
As per #19596 - this allows eg, modifying the bootcmd etc.
This has been useful when testing on e.g the -48, where `rtk network on` is required for the SFP ports.
Signed-off-by: Joe Holden <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19913
Signed-off-by: Hauke Mehrtens <[email protected]>
Liangbin Lian [Wed, 24 Sep 2025 12:08:13 +0000 (20:08 +0800)]
rockchip: Add support for RK3568 LinkEase EasePi R1
Specification:
- Rockchip RK3568
- 2GB/4GB LPDDR4 RAM
- 16GB on-board eMMC
- 1x M.2 key for 2280 NVMe (PCIe 3.0)
- 1x USB 3.0 Type-A
- 1x USB 2.0 Type-C (for USB flashing)
- 2x 1000 Base-T (native, RTL8211F)
- 2x 2500 Base-T (PCIe, RTL8125B)
- 1x HDMI 2.0 Output
- 12v DC Jack
- 1x Power key connected to PMIC
- 2x LEDs (one static power supplied, one GPIO controlled)
Debug Serial Port: 3.3V TTL, 3-pin 2.54mm pitch connector,
1500000 bauds,
'J7' on board with G/R/T (GND/RX/TX) pins marked
Installation - eMMC:
-Boot official firmware (OpenWRT based)
-Upload sysupgrade.img.gz to /tmp/firmware.bin (with scp or web page)
-Flash to eMMC: sysupgrade -n -p -F /tmp/firmware.bin
Signed-off-by: Liangbin Lian <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20147
Signed-off-by: Hauke Mehrtens <[email protected]>
Liangbin Lian [Wed, 24 Sep 2025 11:49:26 +0000 (19:49 +0800)]
uboot-rockchip: add support for LinkEase EasePi R1
generic-rk3568 is enough
Signed-off-by: Liangbin Lian <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20147
Signed-off-by: Hauke Mehrtens <[email protected]>
Thibaut VARÈNE [Fri, 24 Oct 2025 09:27:59 +0000 (11:27 +0200)]
mediatek/filogic: fix Cudy WR3000H ethernet port order
The ports are physically labelled in reverse order on the device.
This patch aligns logical names with physical ones.
LED order on front of device is correct after this patch.
Fixes: 9d66b8b312fb6a4087244ee3ee10e1ba1623df81
Signed-off-by: Thibaut VARÈNE <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20528
Signed-off-by: Hauke Mehrtens <[email protected]>
Trix Taiclet [Mon, 3 Nov 2025 09:37:05 +0000 (10:37 +0100)]
uboot-d1: fix build with swig 4.3.0
Swig 4.3.0 has changed SWIG_Python_AppendOutput, which now requires an
additional parameter `is_void`. SWIG_AppendOutput remains unchanged.
This was fixed upstream in u-boot/u-boot@
a63456b
```
scripts/dtc/pylibfdt/libfdt_wrap.c: In function ‘_wrap_fdt_next_node’:
scripts/dtc/pylibfdt/libfdt_wrap.c:5581:17: error: too few arguments to function ‘SWIG_Python_AppendOutput’
5581 | resultobj = SWIG_Python_AppendOutput(resultobj, val);
| ^~~~~~~~~~~~~~~~~~~~~~~~
```
This is the same fix as applied in
363e07d.
Fixes: #20619
Link: #20620
Signed-off-by: Trix Taiclet <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20620
Signed-off-by: Hauke Mehrtens <[email protected]>
Pawel Dembicki [Thu, 6 Nov 2025 11:55:04 +0000 (12:55 +0100)]
kirkwood: kernel: remove 6.6 version support
After switching to 6.12, time to remove 6.6 support.
Signed-off-by: Pawel Dembicki <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20672
Signed-off-by: Hauke Mehrtens <[email protected]>
Pawel Dembicki [Thu, 6 Nov 2025 11:50:07 +0000 (12:50 +0100)]
kirkwood: kernel: switch to 6.12 version
No new reggresions was observed. Time to switch to 6.12.
Signed-off-by: Pawel Dembicki <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20672
Signed-off-by: Hauke Mehrtens <[email protected]>
Shiji Yang [Fri, 7 Nov 2025 12:45:25 +0000 (20:45 +0800)]
tools/squashfs4: update to 4.7.3
Release Note:
https://github.com/plougher/squashfs-tools/releases/tag/4.7.3
The three backported patches fixed the regression and build
issue on squashfs-tools v4.7.3.
Signed-off-by: Shiji Yang <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20683
Signed-off-by: Hauke Mehrtens <[email protected]>
FUKAUMI Naoki [Fri, 31 Oct 2025 12:14:48 +0000 (12:14 +0000)]
rockchip: make NIC name predictable for Radxa E52C/ROCK 5 ITX/ROCK 5T
The probe order for PCIe buses and devices is non-deterministic,
making the names eth0 and eth1 unpredictable (they may be swapped).
This patch fixes the names by referencing the device path using
`ucidef_set_network_device_path`.
The mapping between silkscreen labels on the board/case and OpenWrt
interface names is as follows:
- E52C
LAN: lan
WAN: wan
- ROCK 5 ITX
RJ45 1: eth0
RJ45 2: eth1
- ROCK 5T
RJ45_1: eth0
RJ45_2: eth1
For Radxa E52C, this breaks compatibility of the network config;
therefore, set DEVICE_COMPAT_VERSION to `1.1`.
Fixes: d16d2765bd ("rockchip: add support for Radxa E52C")
Fixes: 0839345211 ("rockchip: add support for Radxa ROCK 5 ITX/ITX+")
Fixes: 4a78af9876 ("rockchip: add support for Radxa ROCK 5T")
Link: https://github.com/openwrt/openwrt/issues/20202
Signed-off-by: FUKAUMI Naoki <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20608
Signed-off-by: Hauke Mehrtens <[email protected]>
Andrii Kuiukoff [Wed, 8 Oct 2025 18:40:46 +0000 (21:40 +0300)]
mediatek: add support for COMFAST CF-WR632AX
COMFAST CF-WR632AX is a compact/travel (123.4 mm * 88.7 mm * 34 mm)
wireless WiFi 6 router.
Specification
-------------
- SoC : MediaTek MT7981B dual-core ARM Cortex-A53 1.3 GHz
- RAM : DDR3 512 MiB
- Flash : SPI-NAND 128 MiB (Winbond)
- WLAN : MediaTek MT7976CN dual-band WiFi 6
- 2.4 GHz : b/g/n/ax, MU-MIMO (2x 5 dBi antennas)
- 5 GHz : a/n/ac/ax, MU-MIMO (2x 5 dBi antennas)
- Ethernet :
- LAN x1 : 10/100/1000 Mbps (MT7981 internal PHY)
- WAN x1 : 10/100/1000/2500 Mbps (Maxlinear GPY211C)
- USB x1 : 3.0
- UART : through-hole on PCB
- assignment : (RX), (TX), (GND), [VCC]
- settings : 115200n8
- Buttons x1 : Reset
- LEDs x3 : Status (Blue, Green, Red)
- Fan x1 : PWM, 4-wire, 5 V, 0.3 A, 45 mm * 10 mm
- Power : 5 VDC, 3 A, Type-C
Flash instructions
------------------
WebUI Method:
1. Install the *squashfs-sysupgrade.bin image using the stock WebUI
update page.
2. Press and hold the reset button after reboot
to wipe the stock config.
SSH Method:
1. Import stock firmware settings from backup file
github.com/andros-ua/owrt-misc/blob/main/cf-wr632ax/backup.file
Note: WebUI password will be reset to admin1234 after import.
2. Connect via SSH using root:openwrt credentials.
3. Upload the *squashfs-sysupgrade.bin image.
4. Use the command: sysupgrade -n
All checks should pass.
Return to stock
---------------
Flash a stock firmware
using the OpenWrt sysupgrade method.
Recovery
--------
Power on the router while holding the Reset button until
the LED flashes 5 times.
The U-Boot Flash WebUI will be available at http://192.168.1.1
or
Connect UART and use the U-Boot menu to flash the firmware image
or boot an OpenWrt initramfs image.
OpenWrt U-Boot flash instructions
---------------------------------
1. Flash ordinary OpenWrt image.
2. Login into the device and backup everything, especially 'Factory' part.
3. Unlock mtd partitions:
apk add kmod-mtd-rw
insmod mtd-rw i_want_a_brick=1
4. Write new BL2 and FIP:
mtd write openwrt-mediatek-filogic-comfast_cf-wr632ax-ubootmod-preloader.bin BL2
mtd write openwrt-mediatek-filogic-comfast_cf-wr632ax-ubootmod-bl31-uboot.fip FIP
5. Set static IP on your PC:
ip 192.168.1.254 mask 255.255.255.0
6. Serve OpenWrt initramfs image using TFTP server.
7. Reboot device, wait for TFTP recovery to complete.
8. After OpenWrt has booted, perform sysupgrade.
MAC Addresses:
----------------------------------------------------------
| Interface | MAC | Source |
---------------|-------------------|----------------------
| WAN (label) | 40:A5:EF:xx:xx:xx | Factory, 0xe000 |
| LAN | 40:A5:EF:xx:xx:xx | Factory, 0xe000 + 1 |
| WLAN 2.4 GHz | 40:A5:EF:xx:xx:xx | Factory, 0x4 |
| WLAN 5 GHz | 40:A5:EF:xx:xx:xx | Factory, 0x8000 |
----------------------------------------------------------
Signed-off-by: Andrii Kuiukoff <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20382
Signed-off-by: Hauke Mehrtens <[email protected]>
Luis Mita [Wed, 1 Oct 2025 22:42:58 +0000 (18:42 -0400)]
ramips: mt7621: add support for Cudy AP1300 Outdoor v1
Hardware:
- SoC: MediaTek MT7621DAT
- Flash: 16 MiB XM25QH128C
- RAM: 128 MiB
- WLAN: 2.4 GHz (MT7603E, 11n), 5 GHz (MediaTek MT7613BEN, 11ac)
- Ethernet: 1x10/100/1000 Mbps LAN
- Buttons: 1 Reset button, 1 WPS button
- LEDs: 5x Green
- Serial Console: unpopulated header 115200 8n1 (silkscreen on PCB)
- Power: POE 802.3af (37-57V DC)
MAC addresses:
+---------+-------------------+-----------+
| | MAC | Algorithm |
+---------+-------------------+-----------+
| LAN | 80:af:ca:xx:xx:x0 | label |
| WLAN 2g | 80:af:ca:xx:xx:x0 | label |
| WLAN 5g | 82:af:ca:xx:xx:x1 | +1 |
+---------+-------------------+-----------+
Installation:
The factory firmware is locked: you can only work with Cudy signed firmware.
Download a intermediate firmware signed by Cudy here:
https://www.cudy.com/blogs/faq/openwrt-software-download
After that, login to the router (192.168.10.254, password "admin") and install the intermediate firmware.
If you can reach LuCI or SSH now on the intermediate firmware, just use the sysupgrade image with the 'Keep settings' option turned off.
Special thanks to Daniel de Kock for starting the porting work at #16265.
Signed-off-by: Luis Mita <[email protected]>
Co-Authored-By: Daniel de Kock <[email protected]>
Co-Authored-By: Hauke Mehrtens <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20268
Signed-off-by: Hauke Mehrtens <[email protected]>
Jonas Jelonek [Tue, 28 Oct 2025 22:18:34 +0000 (22:18 +0000)]
realtek: pcs: allow to configure SerDes polarity
Allow to configure SerDes polarity in device tree. To achieve this, add
new device tree properties that can be set in the device tree definition
of the SerDes, are read by the PCS driver during probe and are applied
upon SerDes setup.
This may be required for supporting new devices as the SerDes polarity
is usually subject to the vendors board design and defined in the
hardware profile (HWP) in the SDK. Most importantly, it is quite an
important step towards being able to setup everything on our own instead
of relying on the bootloader.
Signed-off-by: Jonas Jelonek <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20648
Signed-off-by: Hauke Mehrtens <[email protected]>
Jonas Jelonek [Tue, 4 Nov 2025 21:27:07 +0000 (21:27 +0000)]
realtek: pcs: rtl93xx: provide proper SerDes polarity configuration
The configuration code for RTL930X already provides setting the SerDes
TX and RX PN polarity. This is covered by a function called
'..._sds_mac_link_config'. But despite its name, this function only sets
the SerDes polarity and nothing more.
Moreover, this was called always with 'not inverted' in the SerDes setup
code and thus not really allowing to be configured.
At first, streamline the SerDes polarity configuration code. Rename the
function to reflect what it actually does instead of giving the
impression of doing more. Improve the implementation of this for better
readability.
As the implementation, page, register, bits, etc. are exactly the same
for both RTL930X and RTL931X (compare [1] and [2]), move and name it
accordingly so we can also add support for RTL931X.
[1] https://github.com/plappermaul/realtek-doc/blob/
69d2890a2e2d7a03df6e40e2cd2c32ff5b074dcf/sources/rtk-xgs1210/src/hal/phy/phy_rtl9300.c#L1384
[2] https://github.com/plappermaul/realtek-doc/blob/
69d2890a2e2d7a03df6e40e2cd2c32ff5b074dcf/sources/rtk-xgs1210/src/hal/phy/phy_rtl9310.c#L3479
Signed-off-by: Jonas Jelonek <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20648
Signed-off-by: Hauke Mehrtens <[email protected]>
Shiji Yang [Sun, 9 Nov 2025 07:25:16 +0000 (15:25 +0800)]
kernel: mtdsplit_fit: always return 0 when partition can't be split
If parse_fn() callback returns any error code, the entire MTD partition
table will be destroyed. Returning "0" indicates that the partition
should not be split. This patch fixes the kernel warning when running
the initramfs image but there is no image in firmware partition:
```
[ 1.554246] no rootfs found after FIT image in "firmware"
[ 1.559686] Failed to parse subpartitions: -19
[ 1.564120] Deleting MTD partitions on "spi0.0":
[ 1.568743] Deleting bl2 MTD partition
[ 1.572507] ------------[ cut here ]------------
[ 1.577110] WARNING: CPU: 0 PID: 1 at del_gendisk+0x260/0x2c4
[ 1.582855] Modules linked in:
[ 1.585902] CPU: 0 UID: 0 PID: 1 Comm: swapper/0 Not tainted 6.12.57 #0
[ 1.592505] Hardware name: AiroPi AX3 (DT)
[ 1.596589] pstate:
60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[ 1.603538] pc : del_gendisk+0x260/0x2c4
[ 1.607452] lr : del_gendisk+0x1c/0x2c4
[ 1.611280] sp :
ffffffc080dab460
[ 1.614583] x29:
ffffffc080dab460 x28:
ffffffc080d75140 x27:
0000000000000004
[ 1.621711] x26:
0000000000000000 x25:
0000000000000000 x24:
ffffffc080b3f3d0
[ 1.628838] x23:
ffffffc080cf3d78 x22:
ffffffc080cf3da8 x21:
ffffff80009b8780
[ 1.635966] x20:
ffffffc080cf3e10 x19:
ffffff80009d7400 x18:
ffffffc080c5ebd8
[ 1.643093] x17:
ffffffc080cf00f0 x16:
000000009d594d00 x15:
0000000000000088
[ 1.650221] x14:
0000000000000088 x13:
00000000ffffffea x12:
ffffffc080cb6b80
[ 1.657348] x11:
0000000000000040 x10:
ffffffc080cf3820 x9 :
ffffffc080cf3818
[ 1.664475] x8 :
ffffff8000420dd8 x7 :
0000000000000000 x6 :
0000000000000000
[ 1.671601] x5 :
ffffff8000420db0 x4 :
ffffff8000420dd8 x3 :
0000000000000000
[ 1.678728] x2 :
0000000000000000 x1 :
0000000000000000 x0 :
0000000000000004
[ 1.685855] Call trace:
[ 1.688290] del_gendisk+0x260/0x2c4
[ 1.691858] del_mtd_blktrans_dev+0x30/0x144
[ 1.696120] mtdblock_remove_dev+0xc/0x20
[ 1.700119] blktrans_notify_remove+0x88/0xc4
[ 1.704464] del_mtd_device+0x58/0xdc
[ 1.708120] __del_mtd_partitions+0x98/0xe0
[ 1.712296] del_mtd_partitions+0x50/0x70
[ 1.716299] add_mtd_partitions+0x94/0x1e0
[ 1.720388] parse_mtd_partitions+0x3d0/0x4d4
[ 1.724736] mtd_device_parse_register+0x170/0x36c
[ 1.729518] spi_nor_probe+0x250/0x2cc
[ 1.733261] spi_mem_probe+0x68/0xa0
[ 1.736828] spi_probe+0x80/0xe0
[ 1.740051] really_probe+0xb8/0x2a4
[ 1.743617] __driver_probe_device+0x74/0x118
[ 1.747962] driver_probe_device+0x3c/0xe0
[ 1.752049] __device_attach_driver+0xac/0xe8
[ 1.756394] bus_for_each_drv+0x6c/0xb0
[ 1.760224] __device_attach+0x98/0x178
[ 1.764049] device_initial_probe+0x10/0x18
[ 1.768223] bus_probe_device+0xa0/0xa4
[ 1.772051] device_add+0x540/0x724
[ 1.775531] __spi_add_device+0x13c/0x1f8
[ 1.779532] of_register_spi_device+0x44c/0x720
[ 1.784051] spi_register_controller+0x4cc/0x6c0
[ 1.788658] devm_spi_register_controller+0x48/0xa0
[ 1.793525] mtk_spi_probe+0x420/0x720
[ 1.797266] platform_probe+0x64/0xcc
[ 1.800920] really_probe+0xb8/0x2a4
[ 1.804485] __driver_probe_device+0x74/0x118
[ 1.808831] driver_probe_device+0x3c/0xe0
[ 1.812916] __driver_attach+0x88/0x154
[ 1.816741] bus_for_each_dev+0x60/0xa0
[ 1.820569] driver_attach+0x20/0x28
[ 1.824138] bus_add_driver+0xdc/0x208
[ 1.827880] driver_register+0x64/0x114
[ 1.831705] __platform_driver_register+0x20/0x30
[ 1.836399] mtk_spi_driver_init+0x18/0x20
[ 1.840486] do_one_initcall+0x4c/0x1f8
[ 1.844313] kernel_init_freeable+0x238/0x290
[ 1.848661] kernel_init+0x1c/0x120
[ 1.852141] ret_from_fork+0x10/0x20
[ 1.855707] ---[ end trace
0000000000000000 ]---
[ 1.860731] Deleting u-boot-env MTD partition
[ 1.865431] Deleting factory MTD partition
[ 1.869907] Deleting fip MTD partition
[ 1.874003] Deleting firmware MTD partition
```
Ref:
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/drivers/mtd/mtdpart.c?h=linux-6.12.y&id=
5c2f7727d437cd42033d13ebc8b3d74b9fe65712
Signed-off-by: Shiji Yang <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20706
Signed-off-by: Hauke Mehrtens <[email protected]>
Andy Chiang [Tue, 9 Sep 2025 00:37:09 +0000 (07:37 +0700)]
ppp: add reqprefix norelease ac_mac
Use ppp and enable autoipv6, odhcp6c supports reqprefix and norelease to minimize the chance of IPv6 PD changes.[1]
PPPoE supports connecting to a specific AC/BRAS by using the pppoe-mac parameter.[2]
1. https://github.com/openwrt/openwrt/blob/master/package/network/ipv6/odhcp6c/files/dhcpv6.sh#L67
https://github.com/openwrt/openwrt/blob/master/package/network/ipv6/odhcp6c/files/dhcpv6.sh#L77
2. https://github.com/ppp-project/ppp/blob/master/pppd/plugins/pppoe/plugin.c#L93
Signed-off-by: Andy Chiang <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19978
Signed-off-by: Robert Marko <[email protected]>
Christian Marangi [Sun, 9 Nov 2025 11:55:18 +0000 (12:55 +0100)]
bcm53xx: use -ENOENT error for TRX parser workaround patch
Change return value from -EINVAL to -ENOENT for the TRX parser
workaround patch as it's better suited and it's the common exit error
for parser failing parsing for expected condition (partition not init,
zero partition found in the schema, magic values not matching)
Also this is needed for a pending upstream patch that will permit parser
to fail and be skipped for subpartitions only with the -ENOENT error.
Signed-off-by: Christian Marangi <[email protected]>
Dirk Buchwalder [Fri, 10 Oct 2025 19:51:07 +0000 (21:51 +0200)]
mediatek: filogic: add support for TP-LINK BE450
This commit adds support for TP-LINK BE450.
Device specification
--------------------
SoC Type: MediaTek MT7988D, Cortex-A73, 64-bit
RAM: 512MB
Flash: SPI NAND GigaDevice (128 MiB)
Ethernet: MediaTek MT7531AE (3 Ports) + 2.5GbE (internal MT7988 phy) + 10GbE (RTL8261N)
WLAN: MT7992
WLAN 2g: MediaTek MT7975N, b/g/n/ax/be, MIMO 4x4
WLAN 5g: MediaTek MT7979N, a/n/ac/ax/be, MIMO 4x4
LEDs: 8 LEDs, 1 status blue, 2x WIFI blue, 2x Internet
blue/orange, 1 LAN blue, 1 usb blue, 1 wps blue, gpio-controlled
Button: 2 (Reset, WPS)
USB port: Yes
Power: 12 VDC, 2 A
Connector: Barrel
Bootloader: Main U-Boot - U-Boot 2023.10-rc4. Additionally, ubi0
partition contain "seconduboot" (also U-Boot 2023.10-rc4)
Serial console (UART), unpopulated, located near the power connector
---------------------
heatsink
| |
| |
| | +----+-----+------+-------+ +-----------------+
| | | TX | RX | GND | +3.3V | | power connector |
+---+ +----+-----+------+-------+ +-----------------+
|
Don't connect ----+
Disassemble: rm the 2 screws at the bottom and the one at the backside.
un-clip the case starting at the edge above the LEDs.
Installation (UART)
-------------------
1. Place OpenWrt initramfs image on tftp server with IP 192.168.1.2
2. Attach UART, switch on the router and interrupt the boot process by
pressing 'Ctrl-C'
3. Load and run OpenWrt initramfs image:
tftpboot 0x50000000 openwrt-mediatek-filogic-tplink_be450-initramfs-kernel.bin && bootm 0x50000000
4. Run 'sysupgrade -n' with the sysupgrade OpenWrt image
Note: the 10GbE (RTL8261N) is only working if reverting this Realtek target specific commit:
https://github.com/openwrt/openwrt/commit/
b77fa45d1278443d534919598c0301719fed2784
The second ubi partition (ubi1) is empty and there is no known
dual-partition mechanism, neither in u-boot nor in the stock firmware.
NMBM is not used.
Not Working: WED, if activated, MT7992 isn't recognized any more.
Signed-off-by: Dirk Buchwalder <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20398
Signed-off-by: Hauke Mehrtens <[email protected]>
John Audia [Sun, 26 Oct 2025 12:17:07 +0000 (08:17 -0400)]
pcre2: bump to 10.47
Update to latest version.
Changelog: https://github.com/PCRE2Project/pcre2/blob/pcre2-10.47/ChangeLog
Tested with snort3, no regressions.
Build system: x86/64
Build-tested: x86/64-glibc
Run-tested: x86/64-glibc (Intel N150 based box)
Signed-off-by: John Audia <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20554
Signed-off-by: Hauke Mehrtens <[email protected]>
INAGAKI Hiroshi [Sat, 8 Nov 2025 05:35:30 +0000 (14:35 +0900)]
kernel: generic: mtdsplit_seil: return 0 instead of -ENODEV
Return 0 if the current mtd is inactive or no valid header/rootfs found,
instead of -ENODEV.
Linux Kernel 6.7 and later versions handle all errors returned by mtd
parsers, including -ENODEV as error. So '0' needs to be returned if no
child partitions were not parsed.
Signed-off-by: INAGAKI Hiroshi <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20697
Signed-off-by: Hauke Mehrtens <[email protected]>
Hauke Mehrtens [Sat, 25 Oct 2025 22:03:29 +0000 (00:03 +0200)]
util-linux: Update to version 2.41.2
Changes:
https://www.kernel.org/pub/linux/utils/util-linux/v2.41/v2.41.2-ReleaseNotes
Link: https://github.com/openwrt/openwrt/pull/20546
Signed-off-by: Hauke Mehrtens <[email protected]>
Hauke Mehrtens [Sat, 25 Oct 2025 22:02:12 +0000 (00:02 +0200)]
tools: util-linux: Update to version 2.41.2
Changes:
https://www.kernel.org/pub/linux/utils/util-linux/v2.41/v2.41.2-ReleaseNotes
Link: https://github.com/openwrt/openwrt/pull/20546
Signed-off-by: Hauke Mehrtens <[email protected]>
Hauke Mehrtens [Sat, 25 Oct 2025 15:00:55 +0000 (17:00 +0200)]
e2fsprogs: Update to version 1.47.3
Changelog:
https://e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.47.3
The file sizes changed only a bit:
```
8671 bin/packages/mipsel_24kc/base/badblocks-1.47.2-r1.apk
3449 bin/packages/mipsel_24kc/base/chattr-1.47.2-r1.apk
61629 bin/packages/mipsel_24kc/base/debugfs-1.47.2-r1.apk
8522 bin/packages/mipsel_24kc/base/dumpe2fs-1.47.2-r1.apk
4620 bin/packages/mipsel_24kc/base/e2freefrag-1.47.2-r1.apk
162458 bin/packages/mipsel_24kc/base/e2fsprogs-1.47.2-r1.apk
6837 bin/packages/mipsel_24kc/base/e4crypt-1.47.2-r1.apk
6143 bin/packages/mipsel_24kc/base/filefrag-1.47.2-r1.apk
4136 bin/packages/mipsel_24kc/base/libcomerr0-1.47.2-r1.apk
12083 bin/packages/mipsel_24kc/base/libe2p2-1.47.2-r1.apk
173855 bin/packages/mipsel_24kc/base/libext2fs2-1.47.2-r1.apk
8166 bin/packages/mipsel_24kc/base/libss2-1.47.2-r1.apk
2987 bin/packages/mipsel_24kc/base/lsattr-1.47.2-r1.apk
23203 bin/packages/mipsel_24kc/base/resize2fs-1.47.2-r1.apk
36232 bin/packages/mipsel_24kc/base/tune2fs-1.47.2-r1.apk
8671 bin/packages/mipsel_24kc/base/badblocks-1.47.3-r1.apk
3450 bin/packages/mipsel_24kc/base/chattr-1.47.3-r1.apk
61545 bin/packages/mipsel_24kc/base/debugfs-1.47.3-r1.apk
8519 bin/packages/mipsel_24kc/base/dumpe2fs-1.47.3-r1.apk
4630 bin/packages/mipsel_24kc/base/e2freefrag-1.47.3-r1.apk
161364 bin/packages/mipsel_24kc/base/e2fsprogs-1.47.3-r1.apk
6846 bin/packages/mipsel_24kc/base/e4crypt-1.47.3-r1.apk
6092 bin/packages/mipsel_24kc/base/filefrag-1.47.3-r1.apk
4135 bin/packages/mipsel_24kc/base/libcomerr0-1.47.3-r1.apk
12121 bin/packages/mipsel_24kc/base/libe2p2-1.47.3-r1.apk
175696 bin/packages/mipsel_24kc/base/libext2fs2-1.47.3-r1.apk
8166 bin/packages/mipsel_24kc/base/libss2-1.47.3-r1.apk
3001 bin/packages/mipsel_24kc/base/lsattr-1.47.3-r1.apk
23208 bin/packages/mipsel_24kc/base/resize2fs-1.47.3-r1.apk
36402 bin/packages/mipsel_24kc/base/tune2fs-1.47.3-r1.apk
```
Link: https://github.com/openwrt/openwrt/pull/20541
Signed-off-by: Hauke Mehrtens <[email protected]>
Hauke Mehrtens [Sat, 25 Oct 2025 15:00:18 +0000 (17:00 +0200)]
tools: e2fsprogs: Update to version 1.47.3
Changelog:
https://e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.47.3
Add patch to fix build on older Linux systems like Debian oldstable.
Link: https://github.com/openwrt/openwrt/pull/20541
Signed-off-by: Hauke Mehrtens <[email protected]>
Hauke Mehrtens [Sat, 25 Oct 2025 21:32:40 +0000 (23:32 +0200)]
iproute2: Update to version 6.17
https://www.spinics.net/lists/netdev/msg1094722.html
https://www.spinics.net/lists/netdev/msg1112693.html
https://www.spinics.net/lists/netdev/msg1126307.html
Only small size increases:
```
42470 bin/packages/mipsel_24kc/base/devlink-6.17.0-r1.apk
7553 bin/packages/mipsel_24kc/base/genl-6.17.0-r1.apk
35340 bin/packages/mipsel_24kc/base/ip-bridge-6.17.0-r1.apk
195151 bin/packages/mipsel_24kc/base/ip-full-6.17.0-r1.apk
133690 bin/packages/mipsel_24kc/base/ip-tiny-6.17.0-r1.apk
12185 bin/packages/mipsel_24kc/base/nstat-6.17.0-r1.apk
21484 bin/packages/mipsel_24kc/base/rdma-6.17.0-r1.apk
40935 bin/packages/mipsel_24kc/base/ss-6.17.0-r1.apk
168132 bin/packages/mipsel_24kc/base/tc-bpf-6.17.0-r1.apk
169667 bin/packages/mipsel_24kc/base/tc-full-6.17.0-r1.apk
144693 bin/packages/mipsel_24kc/base/tc-tiny-6.17.0-r1.apk
41654 bin/packages/mipsel_24kc/base/devlink-6.14.0-r1.apk
7551 bin/packages/mipsel_24kc/base/genl-6.14.0-r1.apk
32847 bin/packages/mipsel_24kc/base/ip-bridge-6.14.0-r1.apk
194398 bin/packages/mipsel_24kc/base/ip-full-6.14.0-r1.apk
132656 bin/packages/mipsel_24kc/base/ip-tiny-6.14.0-r1.apk
12114 bin/packages/mipsel_24kc/base/nstat-6.14.0-r1.apk
21366 bin/packages/mipsel_24kc/base/rdma-6.14.0-r1.apk
40939 bin/packages/mipsel_24kc/base/ss-6.14.0-r1.apk
163878 bin/packages/mipsel_24kc/base/tc-bpf-6.14.0-r1.apk
165511 bin/packages/mipsel_24kc/base/tc-full-6.14.0-r1.apk
140497 bin/packages/mipsel_24kc/base/tc-tiny-6.14.0-r1.apk
```
Link: https://github.com/openwrt/openwrt/pull/20545
Signed-off-by: Hauke Mehrtens <[email protected]>
Hauke Mehrtens [Sat, 25 Oct 2025 20:44:22 +0000 (22:44 +0200)]
wireless-regdb: Update to version 2025.10.07
e51d568 wireless-regdb: update regulatory rules for Botswana (BW) for 2022
5afc632 wireless-regdb: update regulatory rules for Sint Marteen (SX) for 2018
b484a31 wireless-regdb: Update regulatory info including bandwidth for Costa Rica (CR) for 2023
39e5e04 wireless-regdb: Permit lower 6 GHz band for Kazakhstan (KZ)
a827d3a wireless-regdb: update regulatory database based on preceding changes
Link: https://github.com/openwrt/openwrt/pull/20544
Signed-off-by: Hauke Mehrtens <[email protected]>
Hauke Mehrtens [Sat, 25 Oct 2025 22:18:44 +0000 (00:18 +0200)]
wolfssl: Update to version 5.8.2
This version fixes multiple security problems:
CVE-2025-7395: Problem in certificate verification on Apple devices
CVE-2025-7394: Predictable results from RAND_bytes() after fork call in OpenSSL compatibility layer
CVE-2025-7396: Activate Curve25519 blinding support
See Release notes:
https://github.com/wolfSSL/wolfssl/releases/tag/v5.8.0-stable
https://github.com/wolfSSL/wolfssl/releases/tag/v5.8.2-stable
wolfSSL is now GPLv3 instead of GPLv2, see:
https://github.com/wolfSSL/wolfssl/commit/
629c5b4cf61ac717d40678b5cd65974b42077af6
The file size increased a bit:
```
546060 bin/packages/mipsel_24kc/base/libwolfssl5.7.6.
e624513f-5.7.6-r1.apk
560684 bin/packages/mipsel_24kc/base/libwolfssl5.8.2.
e624513f-5.8.2-r1.apk
```
Link: https://github.com/openwrt/openwrt/pull/20547
Signed-off-by: Hauke Mehrtens <[email protected]>
Hauke Mehrtens [Sat, 25 Oct 2025 13:50:36 +0000 (15:50 +0200)]
mtd-utils: Update to version 2.3.0
See announcement mail for list of new features:
https://lists.infradead.org/pipermail/linux-mtd/2025-February/108248.html
Cherry pick some upstream commits which fix build problems in some
situations.
autoreconf fixup is needed now otherwise the build fails with:
```
mtd-utils-2.3.0/missing: line 81: automake-1.16: command not found
```
The code in tests/ubifs_tools-tests/Makemodule.am does not build because
some test data is not packaged in the tar files, do not build code from
this directory.
The size increased only very little:
61498 bin/targets/ramips/mt7621/packages/nand-utils-2.3.0-r1.apk
101643 bin/targets/ramips/mt7621/packages/ubi-utils-2.3.0-r1.apk
61243 bin/targets/ramips/mt7621/packages/nand-utils-2.2.1-r1.apk
101291 bin/targets/ramips/mt7621/packages/ubi-utils-2.2.1-r1.apk
Link: https://github.com/openwrt/openwrt/pull/20540
Signed-off-by: Hauke Mehrtens <[email protected]>
Hauke Mehrtens [Sat, 25 Oct 2025 12:40:21 +0000 (14:40 +0200)]
tools: mtd-utils: Update to version 2.3.0
See announcement mail for list of new features:
https://lists.infradead.org/pipermail/linux-mtd/2025-February/108248.html
The removed patch 100-sscanf_fix.patch was applied upstream, see:
https://git.infradead.org/?p=mtd-utils.git;a=commitdiff;h=
cba2d7875328b05a4a76f619de0ce7050f2df971
The patch 110-portability.patch was manually adapted.
Cherry pick some upstream commits which fix build problems in some
situations.
Link: https://github.com/openwrt/openwrt/pull/20540
Signed-off-by: Hauke Mehrtens <[email protected]>
Hauke Mehrtens [Sat, 25 Oct 2025 20:49:53 +0000 (22:49 +0200)]
gdb: Update to version 16.3
This is a corrective release over GDB 16.2, fixing the following issues:
PR symtab/32309 ([gdb/symtab, fission] gdb/dwarf2/read.h:289: internal-error: version: Assertion `m_dwarf_version != 0' failed)
PR corefiles/32441 (gdb segfaults when generating a core file if target_fileio_read_alloc fails)
PR tui/32623 (TUI console window doesn't update while inferior is running)
PR corefiles/32634 ([gdb/corefiles] segfault in gdb.arch/i386-biarch-core.exp)
PR backtrace/32757 ("Assertion `stashed' failed" when inline frame #0 is duplicated)
PR tdep/32770 ([gdb/tdep, i386] FAIL: gdb.reverse/recvmsg-reverse.exp: continue to breakpoint: marker2)
PR gdb/32775 ([AArch64] gdbserver crashes on SVE/SME-enabled systems)
PR record/32784 ([gdb/record, aarch64] Stack smashing detected in aarch64_record_asimd_load_store)
PR tui/32797 (Escape sequences to only reset foreground or background color to default fail)
PR gdb/32828 (gstack regression: missing file names and line numbers)
Link: https://github.com/openwrt/openwrt/pull/20543
Signed-off-by: Hauke Mehrtens <[email protected]>
Hauke Mehrtens [Sat, 25 Oct 2025 20:49:02 +0000 (22:49 +0200)]
toolchain: gdb: Update to version 16.3
This is a corrective release over GDB 16.2, fixing the following issues:
PR symtab/32309 ([gdb/symtab, fission] gdb/dwarf2/read.h:289: internal-error: version: Assertion `m_dwarf_version != 0' failed)
PR corefiles/32441 (gdb segfaults when generating a core file if target_fileio_read_alloc fails)
PR tui/32623 (TUI console window doesn't update while inferior is running)
PR corefiles/32634 ([gdb/corefiles] segfault in gdb.arch/i386-biarch-core.exp)
PR backtrace/32757 ("Assertion `stashed' failed" when inline frame #0 is duplicated)
PR tdep/32770 ([gdb/tdep, i386] FAIL: gdb.reverse/recvmsg-reverse.exp: continue to breakpoint: marker2)
PR gdb/32775 ([AArch64] gdbserver crashes on SVE/SME-enabled systems)
PR record/32784 ([gdb/record, aarch64] Stack smashing detected in aarch64_record_asimd_load_store)
PR tui/32797 (Escape sequences to only reset foreground or background color to default fail)
PR gdb/32828 (gstack regression: missing file names and line numbers)
Link: https://github.com/openwrt/openwrt/pull/20543
Signed-off-by: Hauke Mehrtens <[email protected]>
Hauke Mehrtens [Sat, 25 Oct 2025 22:48:04 +0000 (00:48 +0200)]
trace-cmd: Update to version 3.3.3
d1fac9ec trace-cmd record: Always disable func_stack_trace in tracecmd_disable_all_tracing()
75e3b868 trace-cmd: utest: include libgen.h for POSIX basename()
176bc1f1 trace-cmd record: Fix compression when files are greater than 2GB
9da3427e trace-cmd lib: Use proper printf format specifiers
5f20c477 trace-cmd: Version 3.3.1
39acb4cc trace-cmd list: Use tracefs_filter_functions()
4eef18ff trace-cmd show: Add --max_latency
e4540079 trace-cmd list: Use tracefs_instances() to list instances
908d122e trace-cmd stat: Use tracefs_instances() instead of walking them
cc6de736 trace-cmd reset: Bail out immediately if user provides an invalid option
3c4fd59b trace-cmd reset: Add option to preserve specific dynamic events
19ceba14 trace-cmd reset: Update man page for -k option
bbea061f trace-cmd reset: Add bash tab completion for -B and -k
7f126040 trace-cmd utest: Add test cases for trace-cmd reset
5e8b3c16 trace-cmd lib: Prevent a memory leak in handle_options()
6295bcc1 trace-cmd record: Prevent a memory leak in show_error()
7abca575 trace-cmd lib: Check the return value of do_lseek() in trace_get_options()
22a1605c trace-cmd dump: Prevent buffer overrun in dump_clock()
52946308 trace-cmd record: Prevent memory leak in setup_network()
1b901134 trace-cmd lib: Prevent memory leak in tracecmd_create_event_hook()
59d2c3f9 trace-cmd mem: Prevent a memory leak in trace_mem()
969c36d2 trace-cmd record: Check the length of the protocol version received
201f95fd trace-cmd sqlhist: Fix missing initialization of a var
f10d39b8 trace-cmd .gitignore: Ignore utest/trace-utest in git
c76f2404 trace-cmd: Prevent buffer overflow in update_pid_filters()
db45fec2 trace-cmd: libtracecmd: Rename private functions to fix static building
d6cdfc23 trace-cmd: libtracecmd: Remove some unneeded line breaks
d14d790a trace-cmd lib: Prevent a memory leak in tracecmd_tsync_with_guest()
b948fbed trace-cmd lib: Prevent memory leak in tracecmd_msg_wait_for_cmd()
a1b5eee6 trace-cmd sqlhist: Initialize name in trace_sqlhist()
fee20bfb trace-cmd: Fix memory leak in stop_mapping_vcpus()
5f1eeba9 trace-cmd record: Fix stdin redirection to /dev/null
a1b8a0f5 trace-cmd meson: Add options for doc and utest build
24eed8d8 trace-cmd lib: Prevent a leaked FD in __tracecmd_create_buffer_recorder()
d6241881 trace-cmd sqlhist: Initialize err value to tracefs_sql()
179125a4 trace-cmd documentation: Fix typo in man of trace-cmd attach
e81cd4e3 trace-cmd lib: Copy message buffer content in get_trace_req_args()
b44a9a9f trace-cmd list: Check if any functions were found
9c44659e trace-cmd: Add trace-cmd set to bash completion (like start)
f4ede17d trace-cmd list: Show events in bash completion
2149da9c trace-cmd: Add sqlhist to bash completion
477bf923 trace-cmd: Install completion script in /usr/share/bash-completion/completions
6448ea34 trace-cmd show: Update help message for --hist and --trigger options
2fbeb317 trace-cmd list: Show all functions that match string by default
f339229f trace-cmd record: Fix compression on big-endian systems
e57b3d3e libtracecmd: Add missing error handling to trace-compress.c
b1db6f61 libtracecmd: Version 1.5.3
d0a17b4f trace-cmd: Version 3.3.2
24cdb0be trace-cmd completion: Fix trace-cmd report to show files
68bd953b trace-cmd: libtrace-cmd: Fix glob() return value checks
2d5c06e6 trace-cmd: record: Fix glob() return value checks
2c46eb6b trace-cmd split: Only open one file descriptor per CPU
9da7e594 trace-cmd: Version 3.3.3
Link: https://github.com/openwrt/openwrt/pull/20548
Signed-off-by: Hauke Mehrtens <[email protected]>
Daniel Golle [Sat, 8 Nov 2025 18:28:39 +0000 (18:28 +0000)]
mediatek: remove non-existent package mt798x-2p5g-phy-firmware-internal
Also the MT7987 RFB accidentally already set the not-yet-existing
mt798x-2p5g-phy-firmware-internal package as one of the DEVICE_PACKAGES.
This currently breaks the build, so remove it for now. Also remove stray
'blkid' package from DEVICE_PACKAGES which was accidentally copied from
MediaTek's SDK.
Fixes: 9de7189ed4 ("mediatek: build image for MT7987 RFB")
Signed-off-by: Daniel Golle <[email protected]>
Alice H. [Sat, 8 Nov 2025 04:39:42 +0000 (04:39 +0000)]
base-files: correct global DHCP DUID generation
The old command generates an often incorrect variable length UUID
instead of a fixed 16-octet hex string.
Ref: https://datatracker.ietf.org/doc/html/rfc8415#section-11.5
Signed-off-by: Alice H. <[email protected]>
Aleksander Jan Bajkowski [Fri, 7 Nov 2025 20:01:34 +0000 (21:01 +0100)]
rpcd: update to Git HEAD (2025-11-07)
11e0bee504c6 file: use lstat for file list (instead of stat) to reveal links
917000075eb4 iwinfo: add he and eht operation info to wifi scan
Signed-off-by: Aleksander Jan Bajkowski <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20692
Signed-off-by: Robert Marko <[email protected]>
Rany Hany [Fri, 7 Nov 2025 20:51:57 +0000 (20:51 +0000)]
wifi-scripts: ucode: add SAE support for wifi-station and PPSK
This implements
65a1c666f2 ("hostapd: add SAE support for wifi-station
and optimize PSK file creation") and
913368a2 ("hostapd: add support for
SAE in PPSK option") for the ucode version as well.
Signed-off-by: Rany Hany <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19965
Signed-off-by: Robert Marko <[email protected]>
Aleksander Jan Bajkowski [Fri, 7 Nov 2025 19:45:32 +0000 (20:45 +0100)]
libiwinfo: update to Git HEAD (2025-11-07)
40563018dc87 iwinfo: print HT operation only if present
5f4c213fc59f iwinfo: export HE and EHT operation in scan results
Signed-off-by: Aleksander Jan Bajkowski <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20690
Signed-off-by: Hauke Mehrtens <[email protected]>
Rosen Penev [Fri, 7 Nov 2025 19:43:37 +0000 (11:43 -0800)]
tools/util-linux: remove automake dep
In the conversion to meson, this was overlooked.
Fixes
e15d5cf7522e: ("tools/util-linux: build with meson")
Signed-off-by: Rosen Penev <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20688
Signed-off-by: Robert Marko <[email protected]>
Rany Hany [Mon, 27 Oct 2025 14:36:51 +0000 (14:36 +0000)]
wifi-scripts: ucode: fix setting tx_queue_data2_burst in config
Currently we unconditionally set it to 2.0 if 802.11ac and disregard
what the user set. This sets it to 2.0 only as a default in case
user didn't specify a tx_burst setting.
Signed-off-by: Rany Hany <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20565
Signed-off-by: Robert Marko <[email protected]>
Rany Hany [Thu, 30 Oct 2025 12:43:14 +0000 (12:43 +0000)]
wifi-scripts: add sae_track_password option
This is useful if multiple passwords were specified without
the use of a SAE password identifier. This is the only
way to get multiple passwords for a single peer to work
without resorting to password identifiers.
Unfortunately, support for password identifiers is non-existent
on Android and macOS; and possibly others. So this is the only
option in that case.
As an alternative, one could also continue to use WPA2-PSK instead
as that could easily resort to a bruteforce approach without any
complications.
Signed-off-by: Rany Hany <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20597
Signed-off-by: Robert Marko <[email protected]>
Rany Hany [Thu, 30 Oct 2025 12:33:38 +0000 (12:33 +0000)]
wifi-scripts: add na_mcast_to_ucast option
As this is generally only useful with "proxy_arp" enabled,
we default na_mcast_to_ucast to true if "proxy_arp" is already
enabled.
Signed-off-by: Rany Hany <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20596
Signed-off-by: Robert Marko <[email protected]>
Harshal Gohel [Mon, 14 Apr 2025 13:16:47 +0000 (13:16 +0000)]
realtek: rtl930x: Add support for Plasma Cloud MCX3 Media Converter
The Plasma Cloud MCX3 Media Converter is a 3 port multi-GBit switch with
2x 10/100/1000/2500BaseT Ethernet ports and 1x SFP+ module slot.
Hardware:
- RTL9302C SoC
- Macronix MX25L25645G (32MB flash)
- Winbond W632GU6rB-11 (256MB DDR3 SDRAM)
- RTL8224 4x 10m/100m/1/2.5 Gigabit PHY
- IC+ IP802AR POE+ PSE controller
The media converter is powered by 54 Volts 1.2A barrel connector. The
internal TTL serial connector can be used to access the terminal. Pins from
1: TX RX (unused) GND. Serial connection is via 115200 baud, 8N1.
A reset button is accessible through a hole next to the SFP+ module slot.
Installation
------------
* The device can be flashed by using sysupgrade command. Either from the
original vendor firmware or using an initramfs (see "Debug")
* Connect serial as per the layout above. Connection parameters: 115200 8N1
* The image must be copied using scp to /tmp of the device
scp openwrt-realtek-rtl930x-plasmacloud_mcx3-squashfs-sysupgrade.bin root@[IP address of the device]:/tmp/
* start sysupgrade without saving the original vendor configuration
sysupgrade -n /tmp/openwrt-realtek-rtl930x-plasmacloud_mcx3-squashfs-sysupgrade.bin
Installation via u-boot
-----------------------
If you have an TFTP server connected to the switch, it is possible to
directly install the device using the factory image from u-boot
# setup networking and IP of TFP server
rtk network on
setenv ipaddr 10.100.100.99
setenv serverip 10.100.100.20
# get factory image
tftp 0x84000000 factory.bin
# erase firmware partitions
sf probe 0
sf erase 0x100000 0x01f00000
# write firmware to both partitions
sf write ${fileaddr} 0x100000 ${filesize}
sf write ${fileaddr} 0x1080000 ${filesize}
# adjust the boot commands
setenv bootargs "mtdparts=spi0.0:896k(u-boot),64k(u-boot-env),64k(u-boot-env2),15872k(inactive),15872k(firmware2)"
setenv bootcmd "rtk init; bootm 0xb5080000"
# restart
reset
Debug
-----
* Connect serial as per the layout above. Connection parameters: 115200 8N1.
* A tftp server is required, tftpd-hpa works well.
* Power the device, at U-Boot start rapidly hit Esc key to stop autoboot
* Enable network:
rtk network on
* Change ip address of device:
setenv ipaddr 192.168.1.6
* Download initramfs from TFTP server:
tftpboot 0x84000000 192.168.1.111:openwrt-realtek-rtl930x-plasmacloud_mcx3-initramfs-kernel.bin
* Boot loaded file:
bootm 0x84000000
Signed-off-by: Harshal Gohel <[email protected]>
Signed-off-by: Sven Eckelmann <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20625
Signed-off-by: Robert Marko <[email protected]>
Eneas U de Queiroz [Mon, 3 Nov 2025 20:03:07 +0000 (17:03 -0300)]
wifi-scripts: ucode: fix hostapd_bss_options
The raw option inside 'config wifi-iface' is called hostapd_bss_options,
not hostapd_options.
Signed-off-by: Eneas U de Queiroz <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20657
Signed-off-by: Christian Marangi <[email protected]>
Marko Zajc [Sat, 26 Apr 2025 12:21:10 +0000 (14:21 +0200)]
dnsmasq: prevent upstream resolution of addresses
`list address` entries in /etc/config/dhcp are sometimes (I'm not sure
about the exact conditions) passed to upstream resolver, bypassing local
resolution. Adding them (minus the IP) to --local prevents this. In the
configuration, this means that
# /etc/config/dhcp
list address '/hello.com/world.com/1.2.3.4'
list address '/foo.com/bar.com/4.3.2.1'
which previously translated into
# /var/etc/dnsmasq.conf.*
address=/hello.com/world.com/1.2.3.4
address=/foo.com/bar.com/4.3.2.1
now becomes
# /var/etc/dnsmasq.conf.*
address=/hello.com/world.com/1.2.3.4
local=/hello.com/world.com/
address=/foo.com/bar.com/4.3.2.1
local=/foo.com/bar.com/
This behaviour is controlled by the `address_as_local` boolean option, which
defaults to false (old behaviour). openwrt/luci#7957 adds support for this flag
to LuCI.
A workaround for a small list of domains is to add them to `option local`,
but this is very tedious to do for every `list address` entry and dnsmasq
limits this option to 1024 characters.
Signed-off-by: Marko Zajc <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/18610
Signed-off-by: Robert Marko <[email protected]>
Daniel Golle [Fri, 7 Nov 2025 12:01:41 +0000 (12:01 +0000)]
mediatek: remove non-existing mt7987-2p5g-phy-firmware-internal
Because the firmware has not yet been accepted in linux-firmware we
cannot yet package mt7987-2p5g-phy-firmware-internal. Remove it from
DEVICE_PACKAGES of the BPi-R4-mini until the an upcoming linux-firmware
release will come with this firmware included, allowing us to then
create that package.
Fixes: 8b6c6978d6 ("mediatek: add support for BananaPi BPi-R4 Lite")
Signed-off-by: Daniel Golle <[email protected]>
Issam Hamdi [Tue, 15 Jul 2025 17:23:21 +0000 (19:23 +0200)]
realtek: dsa: rtl93xx: Support per port throttling
The RTL930x and RTL931x have an ingress and egress bandwidth controller for
each port. They can can be used to reduce the throughput for each port.
They can be programmed via the the DSA flower offloading capabilities. Only
a limited functionality (bytes based rate limiter for ingress/egress) is
supported.
With kmod-sched-act-police, kmod-sched-flower and tc installed, each port
can have its ingress/egress rate limit applied in hardware using:
# tc qdisc del dev lan1 clsact
tc qdisc add dev lan1 clsact
tc filter add dev lan1 ingress flower skip_sw action police rate 100mbit burst 64k conform-exceed drop
tc filter add dev lan1 egress flower skip_sw action police rate 150mbit burst 64k conform-exceed drop
Signed-off-by: Issam Hamdi <[email protected]>
Co-developed-by: Sven Eckelmann <[email protected]>
Signed-off-by: Sven Eckelmann <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20663
Signed-off-by: Robert Marko <[email protected]>
Matthias Franck [Wed, 5 Nov 2025 13:43:53 +0000 (14:43 +0100)]
include: download.mk: do not check PKG_MIRROR_HASH when set to "skip"
In commit
042996b46bd41292ef1fa2d58e3b824a547f4c55 compilation of git repos is made to fail when PKG_MIRROR_HASH is not correct.
It looks like it was forgotten that in openwrt there is a posibility to set the PKG_MIRROR_HASH to "skip".
In this case the hash check should not be performed and compilation should continue as expected.
This is especially very usefull when doing local testing and development with git repos.
Signed-off-by: Matthias Franck <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20655
Signed-off-by: Robert Marko <[email protected]>
Matthias Franck [Wed, 5 Nov 2025 15:34:30 +0000 (16:34 +0100)]
package: xcrypt: add missing PKG_NAME
PKG_NAME was lost during package migration from "packages" feed to "main" feed.
Signed-off-by: Matthias Franck <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20662
Signed-off-by: Robert Marko <[email protected]>
Jan Hoffmann [Mon, 27 Oct 2025 17:50:57 +0000 (18:50 +0100)]
realtek: pcs: rtl930x: reconfigure PLL of neighbor SerDes when needed
On RTL930x, each SerDes pair shares a set of PLLs with different
capabilities (LC PLL: 1G/2.5G/10G, ring PLL: 1G/2.5G). In principle,
this allows any combination of speeds on a SerDes pair. However, it
creates a special case when trying to configure a SerDes for 10G while
the LC PLL is already in use at a slower speed for the neighbor SerDes.
The current implementation just gives up in that case. Instead, free up
the LC PLL by reconfiguring the neighbor SerDes to the ring PLL.
Signed-off-by: Jan Hoffmann <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20568
Signed-off-by: Robert Marko <[email protected]>
Goetz Goerisch [Wed, 5 Nov 2025 11:17:27 +0000 (12:17 +0100)]
kernel: bump 6.6 to 6.6.116
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.116
All patches auto-refreshed.
Signed-off-by: Goetz Goerisch <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20598
Signed-off-by: Hauke Mehrtens <[email protected]>
Goetz Goerisch [Thu, 30 Oct 2025 11:42:23 +0000 (12:42 +0100)]
kernel: bump 6.6 to 6.6.115
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.115
All patches auto-refreshed.
Signed-off-by: Goetz Goerisch <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20598
Signed-off-by: Hauke Mehrtens <[email protected]>
Aleksander Jan Bajkowski [Sat, 1 Nov 2025 11:22:05 +0000 (12:22 +0100)]
treewide: fix mistaken executable bit on dts files
This commit fixes mistaken executable bit on dts files.
Signed-off-by: Aleksander Jan Bajkowski <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20676
Signed-off-by: Hauke Mehrtens <[email protected]>
Edoardo Pinci [Sun, 2 Nov 2025 17:30:20 +0000 (18:30 +0100)]
kernel: bump 6.12 to 6.12.57
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.57
All patches automatically rebased.
Build system: x86/64
Build-tested: mediatek/filogic
Run-tested: mediatek/filogic
Signed-off-by: Edoardo Pinci <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20589
Signed-off-by: Hauke Mehrtens <[email protected]>
Edoardo Pinci [Wed, 29 Oct 2025 15:10:23 +0000 (16:10 +0100)]
kernel: bump 6.12 to 6.12.56
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.56
Removed upstreamed:
- airoha/patches-6.12/028-v6.13-spi-airoha-do-not-keep-tx-rx-dma-buffer-always-mappe.patch
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.56&id=
ad00df9ee321e87639a740e6e372f11bfe5af52c
- airoha/patches-6.12/029-01-spi-airoha-return-an-error-for-continuous-mode-di.patch
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/drivers/spi?h=v6.12.56&id=
f5dc5baa5b04ceb0fca2460bc2863921f0e7ede5
- airoha/patches-6.12/029-03-spi-airoha-add-support-of-dual-quad-wires-spi-mod.patch
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.56&id=
182221d35c1427630ea6d9de9953c2280848c851
- airoha/patches-6.12/029-05-spi-airoha-switch-back-to-non-dma-mode-in-the-cas.patch
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.56&id=
8063828625359826316c5a1885e9ea341bbdb1b3
- airoha/patches-6.12/029-06-spi-airoha-fix-reading-writing-of-flashes-with-mo.patch
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.56&id=
4e9a2d592d91b902f918158c1049eef19f9cce90
- mediatek/patches-6.12/810-tty-serial-8250_mtk-enable-baud-clock.patch
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.56&id=
7cbf5ed24a26d4d80dcc19eb2259fdb9b179d5cf
All other patches automatically rebased.
Build system: x86/64
Build-tested: mediatek/filogic
Run-tested: mediatek/filogic
Signed-off-by: Edoardo Pinci <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20589
Signed-off-by: Hauke Mehrtens <[email protected]>
Felix Fietkau [Thu, 6 Nov 2025 11:36:14 +0000 (11:36 +0000)]
mt76: update to Git HEAD (2025-11-06)
0aece3089a3a wifi: mt76: mt7996: Remove useless check in mt7996_msdu_page_get_from_cache()
05b3d899ad24 wifi: mt76: Move Q_READ/Q_WRITE definitions in dma.h
85e6517b0ac5 wifi: mt76: Add mt76_dev pointer in mt76_queue struct.
a3b6c67c97d2 wifi: mt76: Add the capability to set TX token start ID
141a81557070 wifi: mt76: Introduce the NPU generic layer
647d11bb17e0 wifi: mt76: mt7996: Add NPU offload support to MT7996 driver
8ff3b2bfc37f wifi: mt76: mt7996: fix typos in comments
0043147439b4 wifi: mt76: mt7925: refactor regulatory domain handling to regd.[ch]
f0e8fe441489 wifi: mt76: mt7925: refactor CLC support check flow
588cc87bf6a2 wifi: mt76: mt7925: refactor regulatory notifier flow
dac1d45fe94b wifi: mt76: mt7925: improve EHT capability control in regulatory flow
c166c4a0e750 wifi: mt76: mt7925: add auto regdomain switch support
d7b059bba166 wifi: mt76: mt7925: disable auto regd changes after user set
84f62a6beb99 wifi: mt76: mmio_*_copy fix byte order and alignment
f5ae5b2e8116 Revert "wifi: mt76: mt792x: improve monitor interface handling"
8ae7e6dc1d3a wifi: mt76: adjust BSS conf pointer handling
1b438ebe0d06 wifi: mt76: mt7925: cqm rssi low/high event notify
7519fa4ce62c wifi: mt76: mt7996: fix max nss value when getting rx chainmask
ea0580ad065f wifi: mt76: mt7996: no need to wait ACK event for SDO command
74112c2956fb wifi: mt76: mt7996: fix implicit beamforming support for mt7992
361d6bdac45d wifi: mt76: mt7996: support fixed rate for link station
d99274cdc30c wifi: mt76: mt7996: fix several fields in mt7996_mcu_bss_basic_tlv()
ad90a85b652b wifi: mt76: mt7996: fix teardown command for an MLD peer
e9fe8bc03e41 wifi: mt76: mt7996: set link_valid field when initializing wcid
050394665502 wifi: mt76: mt7996: use correct link_id when filling TXD and TXP
5d223855552c wifi: mt76: mt7996: fix MLD group index assignment
ab8361dbc421 wifi: mt76: mt7996: fix MLO set key and group key issues
7ce7ab881b3f wifi: mt76: mt7996: fix using wrong phy to start in mt7996_mac_restart()
1e0c23ff754b wifi: mt76: mt7996: fix EMI rings for RRO
eb567bc7f9b6 wifi: mt76: mt7925: ensure the 6GHz A-MPDU density cap from the hardware.
Signed-off-by: Felix Fietkau <[email protected]>
Felix Fietkau [Sat, 1 Nov 2025 05:19:23 +0000 (05:19 +0000)]
wpa_supplicant: pass control events on the per-interface ubus object
Events are passed in the same format as they would be sent on the control
socket.
Signed-off-by: Felix Fietkau <[email protected]>
Sven Eckelmann [Tue, 4 Nov 2025 11:14:58 +0000 (12:14 +0100)]
realtek: dsa: Simplify rtl83xx_setup_qos
It is not necessary to have two different family_id checks directly after
another. It is simpler to just combine both into one.
Suggested-by: Álvaro Fernández Rojas <[email protected]>
Signed-off-by: Sven Eckelmann <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20637
Signed-off-by: Álvaro Fernández Rojas <[email protected]>
Sven Eckelmann [Tue, 4 Nov 2025 11:14:58 +0000 (12:14 +0100)]
realtek: dsa: Fix rate control initialization
The rtl838x_rate_control_init() and rtl839x_rate_control_init() functions
were never called because the rtl83xx_setup_qos() always returned after the
QoS configuration
Fixes: dc9cc0d3e2a1 ("realtek: add QoS and rate control")
Signed-off-by: Sven Eckelmann <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20637
Signed-off-by: Álvaro Fernández Rojas <[email protected]>
Christian Marangi [Wed, 5 Nov 2025 18:06:18 +0000 (19:06 +0100)]
openssl: rework CFLAGS handling on compilation
This mainly improve the CFLAGS handling on compilation of OpenSSL.
The CFLAGS are currently passed 2 times generating compilation warning
due to -fhonour-copts passed 2 times.
This can be improved by passing the CFLAGS as env to the OpenSSL
Configure tool.
For consistency we do the same for CPPFLAGS and LDFLAGS.
This permits to drop redundant flags in the Compile phase and from the
.conf file.
Link: https://github.com/openwrt/openwrt/pull/20665
Signed-off-by: Christian Marangi <[email protected]>
Scott Mercer [Wed, 5 Nov 2025 16:21:32 +0000 (11:21 -0500)]
qualcommax: ipq5018: glinet-gl-b3000: fix dts nvmem macs
symtom: macs not properly incremented (all macs the same)
solution: set correct offset to mac location
Signed-off-by: Scott Mercer <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20664
Signed-off-by: Christian Marangi <[email protected]>
Eneas U de Queiroz [Fri, 20 Jun 2025 13:18:58 +0000 (10:18 -0300)]
cmake: set CMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER
According to CMake documentation[1]:
[CMAKE_FIND_ROOT_PATH] is a list of directories that contain the
target environment.
[CMAKE_FIND_ROOT_PATH_MODE_PROGRAM] sets the default behavior for the
find_program command.
In most cases, find_program is used to search for an executable which
will then be executed, e.g. using execute_process or
add_custom_command. So in most cases an executable from the build host
is required, so setting CMAKE_FIND_ROOT_PATH_MODE_PROGRAM to NEVER is
normally preferred.
Since CMAKE_FIND_ROOT_PATH is set to the target staging dir, and the
toolchain root dir, it will find target programs before the host ones.
An example of this problem is if you try to build antiblock from the
packages feed after llvm from the video feeds is built. Antiblock will
search for clang-format, pickup the target version, and fail to build.
Signed-off-by: Eneas U de Queiroz <[email protected]>
[1] https://cmake.org/cmake/help/book/mastering-cmake/chapter/Cross%20Compiling%20With%20CMake.html
Link: https://github.com/openwrt/openwrt/pull/20656
Signed-off-by: Christian Marangi <[email protected]>
Christian Marangi [Wed, 5 Nov 2025 15:47:00 +0000 (16:47 +0100)]
opkg: update to Git HEAD (2025-11-05)
ba73bc4672ec CMakeLists: update cmake minimum required version to 3.10
988399770af1 libbb: CMakeLists: update cmake minimum required version to 3.10
ce546f3ebff5 opkg: CMakeLists: update cmake minimum required version to 3.10
80503d94e356 libopkg: CMakeLists: update cmake minimum required version to 3.10
Fixes: #20659
Signed-off-by: Christian Marangi <[email protected]>
Daniel Golle [Sun, 5 Oct 2025 04:13:55 +0000 (05:13 +0100)]
uboot-envtools: handle U-Boot environment on the BPi-R4 Lite
The BPi-R4 Lite uses the same defaults like all other BananaPi boards
to store the bootloader environment on the boot media.
Signed-off-by: Daniel Golle <[email protected]>
Daniel Golle [Sun, 5 Oct 2025 03:23:29 +0000 (04:23 +0100)]
mediatek: add support for BananaPi BPi-R4 Lite
The BPi-R4 Lite is a WiFi-7 router board based on the MT7987 SoC.
Specification :
- SOC: Mediatek MT7987A (4x Cortex-A53
- RAM: 2GB
- Flash: 32MB SPI NOR, 256MB SPI NAND, 8GB eMMC
- Switch: MediaTek MT7531AE
- Ports : 4x LAN (1G), 1x SFP (via MT7531), 1x WAN (2.5G)
- Buttons : Reset & WPS/Mesh
- LEDs : Status (PWM), SFP
- USB: on-board VIA VL817 USB3.1/USB2.0 hub
* 1 - mPCIe B (SIM3)
* 2 - NGFF-KEYB (SIM1)
* 3 - USB-A connector
* 4 - mPCIe A (SIM4)
- mPCIe: 1x 8GT/s x2 or 2x 8GT/s x1 (configurable via bootloader)
- RTC: PCF8563
- mikroBUS socket with SPI, I2C and full UART
- on-board HT42B534 USB-to-serial for Type-C console port
- Power: USB Type-C PD 20V, or DC via barrel connector or JST-VH 3.96
Installation:
Uncompress *sdcard.img.gz and write to microSD card, eg. using 'dd'.
Use bootloader menu on the serial console to install SPI-NAND or SPI-NOR,
once installed to SPI-NAND you can use the bootloader menu to install to
eMMC. See instructions for BananaPi R3 for details.
Signed-off-by: Daniel Golle <[email protected]>
Daniel Golle [Sun, 5 Oct 2025 02:48:30 +0000 (03:48 +0100)]
uboot-mediatek: add support for the BananaPi BPi-R4 Lite
The BPi R4 Lite can boot from microSD, SPI-NAND, SPI-NOR and eMMC.
Build menu-driven U-Boot for each storage option.
Provide options for installation from microSD to SPI-NAND and SPI-NOR,
and from SPI-NAND to eMMC (similar to BPi-R3).
Signed-off-by: Daniel Golle <[email protected]>
Daniel Golle [Sun, 5 Oct 2025 02:44:03 +0000 (03:44 +0100)]
mediatek: build image for MT7987 RFB
Import and clean DT and DT-overlay files from MediaTek's SDK to build
an image with various DT-overlays for the MT7987 reference board.
Signed-off-by: Daniel Golle <[email protected]>
Daniel Golle [Sun, 5 Oct 2025 02:42:19 +0000 (03:42 +0100)]
mediatek: improve MT7988 cpufreq driver and add support for MT7987
Import patches to use cpufreq voltage calibration data from the efuse on
MT7988, and add support for MT7987.
Signed-off-by: Daniel Golle <[email protected]>
Daniel Golle [Sun, 5 Oct 2025 02:40:27 +0000 (03:40 +0100)]
mediatek: port MT7987 thermal support
The MT7987 has two LVTS thermal sensors, one covering all CPU cores,
and one for the built-in 2.5GE PHY.
Add support for MT7987 to the LVTS thermal driver.
Thanks to Chad Monroe of Adtran for providing cleaned up patches for
Linux 6.6 which have been ported to Linux 6.12.
Signed-off-by: Daniel Golle <[email protected]>
Daniel Golle [Sun, 5 Oct 2025 02:39:52 +0000 (03:39 +0100)]
mediatek: import patches from SDK to support MT7987 Ethernet
Compared to MT7988 (NETSYSv3) the Ethernet Frame Engine of MT7987
has been slighly updated (NETSYSv3.1), among other things the packet
scheduler (shaper) has apparently been reworked.
Import patches for basic support of the Ethernet Frame Engine of the
MT7987 SoC.
Signed-off-by: Daniel Golle <[email protected]>
Daniel Golle [Sun, 5 Oct 2025 00:10:54 +0000 (01:10 +0100)]
mediatek: add basic support for the MT7987 SoC
The MT7987 is mostly a stripped-down low-pin-count version of the
MT7988 without the 10GBit/s SerDes. Most existing drivers can be reused.
Import to-be-sent-upstream patches doing all the groundwork for
basic support for the MT7987 SoC, adding clk, pinctrl and pwm support.
Signed-off-by: Daniel Golle <[email protected]>
Daniel Golle [Sun, 5 Oct 2025 00:07:05 +0000 (01:07 +0100)]
uboot-mediatek: add builds for the MediaTek MT7987 reference board
Build the (upstream) configuration for the MT7987 reference board, and
enable support for DT-overlay application which will be necessary to
use the image for the MT7987 RFB generated in OpenWrt.
Adapt our downstream patches (generic reset button, rootdisk selection)
for MT7987 to prepare for real-world boards.
Signed-off-by: Daniel Golle <[email protected]>
Daniel Golle [Sun, 5 Oct 2025 00:04:54 +0000 (01:04 +0100)]
arm-trusted-firmware-mediatek: add builds for MT7987
Build TF-A for the MediaTek MT7987 SoC family.
Add necessary downstream patches in preparation for the BananaPi R4 Lite,
which connects both flash chips to SPI2 and got broken MMC bus.
Signed-off-by: Daniel Golle <[email protected]>
Daniel Golle [Sat, 4 Oct 2025 23:34:42 +0000 (00:34 +0100)]
generic: mtdsplit: fit: improve detecting external-data FIT
Currently the detection of external-data FIT images works by checking
if the FIT structure is more than 4 kiB. However, for boards with lots
of different DT-overlays and configurations the FIT structure can
exceed 4 kiB which results in the FIT splitter to fail detecting the
rootfs.
Increase the threshold for external-data FIT to 512 kiB as there aren't
any kernel images smaller than that, and FIT structure less than 512 kiB
will always be an external-data FIT.
Signed-off-by: Daniel Golle <[email protected]>
Kyle Hendry [Wed, 5 Nov 2025 01:59:13 +0000 (17:59 -0800)]
bcm47xx: fix no previous prototype error
Make functions in b53 static and add kernel
patch to fix prototype build errors
Signed-off-by: Kyle Hendry <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20653
Signed-off-by: Christian Marangi <[email protected]>
Pawel Dembicki [Sat, 1 Nov 2025 22:41:55 +0000 (23:41 +0100)]
layerscape: remove 6.6 kernel files
After switching to the 6.12 kernel, time to remove 6.6 support.
Signed-off-by: Pawel Dembicki <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20614
Signed-off-by: Christian Marangi <[email protected]>
Pawel Dembicki [Sat, 1 Nov 2025 22:36:36 +0000 (23:36 +0100)]
layerscape: switch to Linux 6.12
Linux 6.12 has been validated on Layerscape platforms, including NXP
reference boards and multiple custom designs. Tests covered system
boot, networking, storage, and common peripherals, with no regressions
observed.
Enable 6.12 as the default to continue broader testing and integration.
Signed-off-by: Pawel Dembicki <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20614
Signed-off-by: Christian Marangi <[email protected]>
Pawel Dembicki [Sat, 1 Nov 2025 22:26:20 +0000 (23:26 +0100)]
layerscape: configure PHY reset GPIO on LS1012A-FRDM
On the LS1012A-FRDM both PHY reset pins are tied to GPIO1_23.
Up to Linux 6.6, pinctrl did not touch this GPIO and the reset
line remained in the state set by U-Boot. Starting from 6.12,
the kernel requires explicit configuration of this pin, otherwise
the PHYs fail to be detected.
This adds a gpio-hog node to ensure the reset line stays asserted,
fixing PHY detection on boot.
Signed-off-by: Pawel Dembicki <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20614
Signed-off-by: Christian Marangi <[email protected]>
Christian Marangi [Tue, 4 Nov 2025 19:40:15 +0000 (20:40 +0100)]
airoha: replace PWM patch with upstream version
Replace Airoha AN7581 PWM patch with upstream version and add kernel
version tag.
Signed-off-by: Christian Marangi <[email protected]>
Florian Maurer [Fri, 3 Oct 2025 07:30:59 +0000 (09:30 +0200)]
ath11k: fix transmit queue flushing through flush_sta implementation
warning print "ath11k
c000000.wifi: failed to flush transmit queue 0"
is observed during busy times.
The mac80211 fallback implementation of `flush_sta` does not handle the per STA queues well.
This is fixed by providing a ath11k specific implementation of flush_sta telling the firmware to flush a given station.
The draining of the transmit queues should therefore stop correctly, even if new packets arrive in the mean time.
An upstream ath11k RFC is available at:
https://patchwork.kernel.org/project/linux-wireless/patch/GV1P250MB14333A5BF24623C4753A10E1E8E0A@GV1P250MB1433.EURP250.PROD.OUTLOOK.COM/
The patch was tested on a Xiaomi AX3600.
Signed-off-by: Florian Maurer <[email protected]>
Tested-by: Florian Maurer <[email protected]>
Co-authored-by: Benjamin Berg <[email protected]>
Tested-by: Flole <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20293
Signed-off-by: Christian Marangi <[email protected]>
Christian Marangi [Tue, 4 Nov 2025 18:28:53 +0000 (19:28 +0100)]
ipq806x: drop support for kernel 6.6
Drop support for kernel 6.6 as now kernel 6.12 is set as default kernel
version.
Link: https://github.com/openwrt/openwrt/pull/20644
Signed-off-by: Christian Marangi <[email protected]>
Christian Marangi [Tue, 4 Nov 2025 18:26:05 +0000 (19:26 +0100)]
ipq806x: switch to kernel 6.12
Move the ipq806x target to kernel 6.12 by default as every kernel bump
problem has been handled.
Link: https://github.com/openwrt/openwrt/pull/20644
Signed-off-by: Christian Marangi <[email protected]>
Christian Marangi [Wed, 29 Oct 2025 13:35:18 +0000 (14:35 +0100)]
ipq806x: 6.12: backport patch to handle CPUFreq with no SMEM
The Google OnHub doesn't init the SMEM in SBL causing the CPUFreq driver
to fail probe. This is caused by the fact that new CPUFreq driver makes
use of SMEM to identify the SoC variant and on Google OnHub this is not
available.
Backport patch to detect this state and fallback to compatible
matching fixing the CPUFreq driver.
Link: https://github.com/openwrt/openwrt/pull/20587
Signed-off-by: Christian Marangi <[email protected]>
Hannu Nyman [Tue, 7 Oct 2025 15:30:01 +0000 (18:30 +0300)]
tools/cmake: update to 4.1.2
Update cmake to 4.1.2.
Note that cmake 4.x requires at least 3.5 as 'cmake_minimum_required'
in CMakeLists.txt of each app to be compiled.
Future cmake versions will increase that requirement to 3.10
https://cmake.org/cmake/help/latest/command/cmake_minimum_required.html
Signed-off-by: Hannu Nyman <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20265
Signed-off-by: Christian Marangi <[email protected]>
Hannu Nyman [Tue, 7 Oct 2025 15:30:01 +0000 (18:30 +0300)]
libevent2: adjust for cmake 4.x compatibility
Patch CMakeLists.txt for cmake 4.x compatibility.
New cmake versions require at least 3.5 as 'cmake_minimum_required'
in CMakeLists.txt. In future 3.10 will be required.
Signed-off-by: Hannu Nyman <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20265
Signed-off-by: Christian Marangi <[email protected]>
Hannu Nyman [Tue, 7 Oct 2025 15:30:01 +0000 (18:30 +0300)]
jansson: adjust for cmake 4.x compatibility
Patch CMakeLists.txt in selected apps for cmake 4.x compatibility.
New cmake versions require at least 3.5 as 'cmake_minimum_required'
in CMakeLists.txt. In future 3.10 will be required.
Signed-off-by: Hannu Nyman <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20265
Signed-off-by: Christian Marangi <[email protected]>
Hannu Nyman [Tue, 7 Oct 2025 15:30:01 +0000 (18:30 +0300)]
libjson-c: patch for cmake 4.x compatibility
Patch CMakeLists.txt in selected apps for cmake 4.x compatibility.
New cmake versions require at least 3.5 as 'cmake_minimum_required'
in CMakeLists.txt. In future 3.10 will be required.
Signed-off-by: Hannu Nyman <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20265
Signed-off-by: Christian Marangi <[email protected]>
Hannu Nyman [Tue, 7 Oct 2025 15:30:01 +0000 (18:30 +0300)]
treewide: edit local CMakeLists.txt to be compatible with cmake 4.x
Edit CMakeLists.txt to fulfill cmake 4.0 requirement that
cmake_minimum_required is now at least 3.5 and in future 3.10.
Signed-off-by: Hannu Nyman <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20265
Signed-off-by: Christian Marangi <[email protected]>
Hannu Nyman [Tue, 7 Oct 2025 15:30:01 +0000 (18:30 +0300)]
tools/liblzo: add cmake 4.x compatibility
Patch CMakeLists.txt to fulfill cmake 4.0 requirements
of cmake_minimum_required being at least 3.5 and in future 3.10.
Signed-off-by: Hannu Nyman <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20265
Signed-off-by: Christian Marangi <[email protected]>
Álvaro Fernández Rojas [Tue, 4 Nov 2025 09:15:39 +0000 (10:15 +0100)]
odhcpd: update to Git HEAD (2025-11-04)
d44af6dd8f4e dhcpv6: create struct dhcpv6_lease
4df45c8c3722 dhcpv4: create struct dhcpv4_lease
a6dccae41b60 odhcpd: struct lease -> struct lease_cfg
fc0abb66f122 dhcpv4: use leasetime from a->lease
74eeff193848 router: always use link-local src address for RAs
b9a071b8341f router: Rewrite the ingress MTU to one configured for the interface
1ef9e0e610d5 router: utilize interface ra_mtu for RA
1480c09ee0aa config: clamp ra_mtu to interface MTU, and default ra_mtu to interface MTU
ee4f0df6bd68 netlink: Store interface MTU at link change
d174e25e85a1 github: fix CI apt dependencies
8f393d55a76e odhcpd: more fixes for IID calculations
https://github.com/openwrt/odhcpd/compare/
fc27940fe993...
d44af6dd8f4e
Signed-off-by: Álvaro Fernández Rojas <[email protected]>
Álvaro Fernández Rojas [Tue, 4 Nov 2025 09:22:56 +0000 (10:22 +0100)]
odhcp6c: update to Git HEAD (2025-11-04)
b3e1db42b4db odhcp6c: fix safe interval processing to follow RFC 4862
63461f64d4c1 dhcpv6: always include IA_NA and IA_PD in Request message if requested
1051cabb4da3 dhcpv6: fix incorrect IA type being printed in syslog
c5237eabeb5c odhcp6c: prevent RELEASE at shutdown when -k is set
a01b1ff1e50f odhcp6c: fix client exiting if Renew and Rebind fails
4839bf6d0feb odhcp6c: implement RKAP: Reconfiguration Key Authentication Protocol
52a9a847def4 dhcpv6: fix solicit loop when server has no address available
7b1f67c23de6 ubus: implement ubus methods to force a Renew and Release
2b0e8f2d8541 ubus: implement retransmission configuration via ubus
8d89d373f360 odhcp6c: add failure when -E option is used without ubus support enabled
58f3c9eb1163 odhcp6c: add new argument option to disable script call
1048fc4fb622 reconfigure: move all configuration functions to a new file
93f056d3a1f2 reconfigure: implement DHCP reconfiguration
af669fb23cd3 dhcpv6: implement statistics for DHCPv6
3a1a599fecb7 ubus: implement UBus method to get state data immediately
44c50214997d ubus: emit UBus event on DHCP state changes
33b972bc526a ubus: connect to UBus backend
2f609f248faf odhcp6c: implement asynchronous handling for DHCPv6 State
6466314e7f62 odhcp6c: enable Non-Blocking DHCPv6 Socket
1df65f0caf46 dhcpv6: refactor dhcp_request Function
047c63a8156b dhcpv6: add t1 and t2 transmission
1b5f0c402bbf dscp: add option to set dscp value
96017df54d8f dhcpv6: fix wrong retransmission of DHCPv6 Solicit
b929fc8a1cfd odhcp6c: add a simple build script
adc651ffed55 cmake: make libubox mandatory
5182e2b696ef cmake: drop EXT_PREFIX_CLASS
8d052c52e18d cmake: disable pedantic
f2521b296b21 github: fix CI apt dependencies
https://github.com/openwrt/odhcp6c/compare/
77e1ae21e67f...
b3e1db42b4db
Signed-off-by: Álvaro Fernández Rojas <[email protected]>
Florian Eckert [Tue, 7 Oct 2025 12:12:38 +0000 (14:12 +0200)]
odhcp6c: add new option to start 4in6 protos as dynamic interface
If proto 'dhcpv6' is set for an interface, dynamic interfaces are created
for the protocols map, dslite or 464xlat if this netifd protocols are
installed and the interface option is not explicitly set to '0'.
The problem is that this option cannot be configured via LuCI, which means
that the dynamic protocols are started. In my case, that is the '464xlat'
'6in4' protocol. I see the follwing log messages continuously in the log as
I do not have a '464xlat' in my network.
Fri Aug 22 10:36:33 2025 daemon.notice netifd: Interface 'wan6_4' is now down
Fri Aug 22 10:36:33 2025 daemon.notice netifd: Interface 'wan6_4' is setting up now
Fri Aug 22 10:36:36 2025 daemon.notice netifd: Interface 'wan6_4' is now down
Fri Aug 22 10:36:36 2025 daemon.notice netifd: Interface 'wan6_4' is setting up now
To fix this by adding a new option to disable the dynamic interface creation
for '4in6' if needed. The option is named '4in6_dynamic' and is a boolean.
If the new option is 'true' (default) dynamic interfaces are create.
If the new option set to 'false' no dynamic 4in6 interface are created.
Signed-off-by: Florian Eckert <[email protected]>
Florian Eckert [Tue, 7 Oct 2025 12:40:07 +0000 (14:40 +0200)]
odhcp6c: cleanup variable definitions
The variable definitions are very confusing. Therefore, this commit groups
them together so that the line length is not exceeded.
Signed-off-by: Florian Eckert <[email protected]>
Florian Eckert [Fri, 22 Aug 2025 08:42:30 +0000 (10:42 +0200)]
odhcp6c: use && in if statement on dynamic interfaces
It es recommended to use '&&' to improve readability on 'if' statement.
Signed-off-by: Florian Eckert <[email protected]>
Mateusz Poliwczak [Fri, 31 Oct 2025 10:57:14 +0000 (11:57 +0100)]
odhcp6c: add mtu_dslite option for dhcpv6 proto
This allow configuring the MTU of the ds-lite tunnel.
Updates #8190
Signed-off-by: Mateusz Poliwczak <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20606
Signed-off-by: Robert Marko <[email protected]>
Jan Hoffmann [Thu, 27 Feb 2025 19:44:59 +0000 (20:44 +0100)]
realtek: add support for Zyxel XGS1010-12 A1
This device is very similar to the already supported XGS1210-12 A1. For
now, only revision A1 is supported (not marked on the label).
Hardware:
- RTL9302B SoC
- 16 MiB NOR flash
- 128 MiB DDR3 SDRAM
- 8x 1G RJ45 (RTL8218D)
- 2x 2.5G RJ45 (2x RTL8226)
- 2x SFP+ (supporting 1G/2.5G/10G)
- 3.3V UART serial (115200 baud 8N1) on the right side of the case
(from bottom to top: GND, RX, TX, VCC)
It is originally an unmanaged switch, so there are a few differences:
- No reset button
- Different partition layout: There is some reserved space in the middle
of the flash which might be used by the bootloader for flash testing.
The remaining space in between is used for OpenWrt using mtd-concat.
The largest contiguous area is at the beginning, allowing a maximum
kernel size of 7 MiB.
- No individual MAC address: This device ships with an empty U-Boot
environment. When an OpenWrt squashfs image is booted for the first
time, a random MAC address will be written to the environment (but
only if the environment has been initialized from the bootloader
before and contains the default MAC address).
Steps to boot initramfs image via network:
- Configure a TFTP server to provide the OpenWrt initramfs image
- Connect to device using serial (see hardware information above)
- Power on the device and enter U-Boot using Esc when prompted
- Run the following commands (adjust as necessary):
# rtk network on
# tftpboot 0x84f00000 192.168.1.100:openwrt-xgs1010-initramfs.bin
# bootm
Installation on flash:
- Boot initramfs image as described above
- Now is a good time to create a backup of all flash partitions! You'll
need this if you want to revert to the unmanaged factory firmware at
some point.
- Use sysupgrade to install OpenWrt
- After restart enter U-Boot again and set the boot command:
# setenv bootcmd 'rtk network on; bootm 0xb4900000'
# saveenv
# run bootcmd
Note: The command "rtk network on" is only needed because the drivers
currently rely on some setup by the bootloader (without this the RJ45
ports don't work). If the drivers improve in the future, it should be
removed (i.e. change the boot command to "bootm 0xb4900000").
Reverting to factory firmware:
- Write back your backup of the firmware partition (or write just the
fwconcat1 partition, and erase the other two fwconcat partitions)
- Change the boot command back to "boota" (or just erase the u-boot-env
partition so the default gets used)
Signed-off-by: Jan Hoffmann <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20469
Signed-off-by: Robert Marko <[email protected]>
Jan Hoffmann [Mon, 20 Oct 2025 13:24:40 +0000 (15:24 +0200)]
realtek: restructure Zyxel XGS1210-12 device tree files
This is a preparation for adding support for XGS1010-12, which is almost
identical to XGS1210-12, with some small differences (partition layout,
missing reset key).
In addition to moving the common parts to a new file, also simplify the
definition of the 2.5G PHYs to reduce duplication. With this change, the
revision-specific files only have to specify the SMI addresses.
Signed-off-by: Jan Hoffmann <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20469
Signed-off-by: Robert Marko <[email protected]>