openwrt/staging/blocktrron.git
3 weeks agowifi-scripts: ucode: iwinfo: escape control chars
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]>
3 weeks agowifi-scripts: ucode: iwinfo: show ESSID in scan
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]>
3 weeks agorealtek: RTL838x: make u-boot-env writeable ZyXEL GS1900
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]>
3 weeks agorockchip: Add support for RK3568 LinkEase EasePi R1
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]>
3 weeks agouboot-rockchip: add support for LinkEase EasePi R1
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]>
3 weeks agomediatek/filogic: fix Cudy WR3000H ethernet port order
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]>
3 weeks agouboot-d1: fix build with swig 4.3.0
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]>
3 weeks agokirkwood: kernel: remove 6.6 version support
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]>
3 weeks agokirkwood: kernel: switch to 6.12 version
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]>
3 weeks agotools/squashfs4: update to 4.7.3
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]>
3 weeks agorockchip: make NIC name predictable for Radxa E52C/ROCK 5 ITX/ROCK 5T
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]>
3 weeks agomediatek: add support for COMFAST CF-WR632AX
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]>
3 weeks agoramips: mt7621: add support for Cudy AP1300 Outdoor v1
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]>
3 weeks agorealtek: pcs: allow to configure SerDes polarity
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]>
3 weeks agorealtek: pcs: rtl93xx: provide proper SerDes polarity configuration
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]>
3 weeks agokernel: mtdsplit_fit: always return 0 when partition can't be split
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]>
3 weeks agoppp: add reqprefix norelease ac_mac
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]>
3 weeks agobcm53xx: use -ENOENT error for TRX parser workaround patch
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]>
3 weeks agomediatek: filogic: add support for TP-LINK BE450
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]>
3 weeks agopcre2: bump to 10.47
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]>
3 weeks agokernel: generic: mtdsplit_seil: return 0 instead of -ENODEV
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]>
3 weeks agoutil-linux: Update to version 2.41.2
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]>
3 weeks agotools: util-linux: Update to version 2.41.2
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]>
3 weeks agoe2fsprogs: Update to version 1.47.3
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]>
3 weeks agotools: e2fsprogs: Update to version 1.47.3
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]>
3 weeks agoiproute2: Update to version 6.17
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]>
3 weeks agowireless-regdb: Update to version 2025.10.07
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]>
3 weeks agowolfssl: Update to version 5.8.2
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]>
3 weeks agomtd-utils: Update to version 2.3.0
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]>
3 weeks agotools: mtd-utils: Update to version 2.3.0
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]>
3 weeks agogdb: Update to version 16.3
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]>
3 weeks agotoolchain: gdb: Update to version 16.3
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]>
3 weeks agotrace-cmd: Update to version 3.3.3
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]>
3 weeks agomediatek: remove non-existent package mt798x-2p5g-phy-firmware-internal
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]>
3 weeks agobase-files: correct global DHCP DUID generation
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]>
3 weeks agorpcd: update to Git HEAD (2025-11-07)
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]>
3 weeks agowifi-scripts: ucode: add SAE support for wifi-station and PPSK
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]>
4 weeks agolibiwinfo: update to Git HEAD (2025-11-07)
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]>
4 weeks agotools/util-linux: remove automake dep
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]>
4 weeks agowifi-scripts: ucode: fix setting tx_queue_data2_burst in config
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]>
4 weeks agowifi-scripts: add sae_track_password option
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]>
4 weeks agowifi-scripts: add na_mcast_to_ucast option
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]>
4 weeks agorealtek: rtl930x: Add support for Plasma Cloud MCX3 Media Converter
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]>
4 weeks agowifi-scripts: ucode: fix hostapd_bss_options
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]>
4 weeks agodnsmasq: prevent upstream resolution of addresses
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]>
4 weeks agomediatek: remove non-existing mt7987-2p5g-phy-firmware-internal
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]>
4 weeks agorealtek: dsa: rtl93xx: Support per port throttling
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]>
4 weeks agoinclude: download.mk: do not check PKG_MIRROR_HASH when set to "skip"
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]>
4 weeks agopackage: xcrypt: add missing PKG_NAME
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]>
4 weeks agorealtek: pcs: rtl930x: reconfigure PLL of neighbor SerDes when needed
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]>
4 weeks agokernel: bump 6.6 to 6.6.116
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]>
4 weeks agokernel: bump 6.6 to 6.6.115
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]>
4 weeks agotreewide: fix mistaken executable bit on dts files
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]>
4 weeks agokernel: bump 6.12 to 6.12.57
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]>
4 weeks agokernel: bump 6.12 to 6.12.56
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]>
4 weeks agomt76: update to Git HEAD (2025-11-06)
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]>
4 weeks agowpa_supplicant: pass control events on the per-interface ubus object
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]>
4 weeks agorealtek: dsa: Simplify rtl83xx_setup_qos
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]>
4 weeks agorealtek: dsa: Fix rate control initialization
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]>
4 weeks agoopenssl: rework CFLAGS handling on compilation
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]>
4 weeks agoqualcommax: ipq5018: glinet-gl-b3000: fix dts nvmem macs
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]>
4 weeks agocmake: set CMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER
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]>
4 weeks agoopkg: update to Git HEAD (2025-11-05)
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]>
4 weeks agouboot-envtools: handle U-Boot environment on the BPi-R4 Lite
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]>
4 weeks agomediatek: add support for BananaPi BPi-R4 Lite
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]>
4 weeks agouboot-mediatek: add support for the BananaPi BPi-R4 Lite
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]>
4 weeks agomediatek: build image for MT7987 RFB
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]>
4 weeks agomediatek: improve MT7988 cpufreq driver and add support for MT7987
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]>
4 weeks agomediatek: port MT7987 thermal support
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]>
4 weeks agomediatek: import patches from SDK to support MT7987 Ethernet
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]>
4 weeks agomediatek: add basic support for the MT7987 SoC
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]>
4 weeks agouboot-mediatek: add builds for the MediaTek MT7987 reference board
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]>
4 weeks agoarm-trusted-firmware-mediatek: add builds for MT7987
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]>
4 weeks agogeneric: mtdsplit: fit: improve detecting external-data FIT
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]>
4 weeks agobcm47xx: fix no previous prototype error
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]>
4 weeks agolayerscape: remove 6.6 kernel files
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]>
4 weeks agolayerscape: switch to Linux 6.12
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]>
4 weeks agolayerscape: configure PHY reset GPIO on LS1012A-FRDM
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]>
4 weeks agoairoha: replace PWM patch with upstream version
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]>
4 weeks agoath11k: fix transmit queue flushing through flush_sta implementation
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]>
4 weeks agoipq806x: drop support for kernel 6.6
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]>
4 weeks agoipq806x: switch to kernel 6.12
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]>
4 weeks agoipq806x: 6.12: backport patch to handle CPUFreq with no SMEM
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]>
4 weeks agotools/cmake: update to 4.1.2
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]>
4 weeks agolibevent2: adjust for cmake 4.x compatibility
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]>
4 weeks agojansson: adjust for cmake 4.x compatibility
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]>
4 weeks agolibjson-c: patch for cmake 4.x compatibility
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]>
4 weeks agotreewide: edit local CMakeLists.txt to be compatible with cmake 4.x
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]>
4 weeks agotools/liblzo: add cmake 4.x compatibility
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]>
4 weeks agoodhcpd: update to Git HEAD (2025-11-04)
Á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]>
4 weeks agoodhcp6c: update to Git HEAD (2025-11-04)
Á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]>
4 weeks agoodhcp6c: add new option to start 4in6 protos as dynamic interface
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]>
4 weeks agoodhcp6c: cleanup variable definitions
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]>
4 weeks agoodhcp6c: use && in if statement on dynamic interfaces
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]>
4 weeks agoodhcp6c: add mtu_dslite option for dhcpv6 proto
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]>
4 weeks agorealtek: add support for Zyxel XGS1010-12 A1
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]>
4 weeks agorealtek: restructure Zyxel XGS1210-12 device tree files
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]>
4 weeks agorealtek: dsa: remove sds_num entirely
Jonas Jelonek [Mon, 27 Oct 2025 19:30:06 +0000 (19:30 +0000)]
realtek: dsa: remove sds_num entirely

After having moved RTL93XX SerDes configuration from PHY to PCS driver,
the DSA driver doesn't need to know about SerDes explicitly anymore.

Although RTL83XX SerDes is still partly managed within the DSA driver,
it doesn't make use of the sds_num property/field. RTL93XX was the only
user of this right now.

Thus, we can just remove the remaining 'sds_num' code which doesn't
serve any purpose anymore.

Signed-off-by: Jonas Jelonek <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20577
Signed-off-by: Robert Marko <[email protected]>
4 weeks agorealtek: dsa: remove 'RTL93XX SerDes as PHY' leftovers
Jonas Jelonek [Mon, 27 Oct 2025 19:13:55 +0000 (19:13 +0000)]
realtek: dsa: remove 'RTL93XX SerDes as PHY' leftovers

RTL93XX SerDes is entirely managed through the PCS driver and not
treated as PHYs anymore. Thus, remove the leftovers from the DSA driver.

Signed-off-by: Jonas Jelonek <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20577
Signed-off-by: Robert Marko <[email protected]>
4 weeks agorealtek: phy: rtl930x: drop SerDes code
Jonas Jelonek [Sat, 25 Oct 2025 14:36:03 +0000 (14:36 +0000)]
realtek: phy: rtl930x: drop SerDes code

Drop the now unused SerDes code for RTL930X from rtl83xx-phy driver as
the SerDes is completely managed by the PCS driver.

This marks a breaking point because RTL930X SerDes is no longer treated
as a regular PHY device.

Signed-off-by: Jonas Jelonek <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20577
Signed-off-by: Robert Marko <[email protected]>