Commit graph

66439 commits

Author SHA1 Message Date
Sven Eckelmann
f82da653fd realtek: DSA: Document meaning of lag priv variables
The names of the LAG variables in struct rtl838x_switch_priv are not self
explaining. They are even suggesting that they are dealing with information
which are actually stored in a different variable. As first step, document
their meaning.

Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/20707
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-11 01:06:49 +01:00
Sven Eckelmann
14095ab268 realtek: dsa: Drop LAG checks already handled by DSA handlers
There is no need to check conditions in rtl83xx_lag_add()/rtl83xx_lag_del()
when they are already checked in
rtl83xx_port_lag_join()/rtl83xx_port_lag_leave().

Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/20707
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-11 01:06:49 +01:00
Sven Eckelmann
e9bb1debb7 realtek: dsa: Use DSA allocated LAG ids
It is not necessary to have a private LAG id allocation when the shared DSA
code already provides the complete infrastructure for it.

Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/20707
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-11 01:06:49 +01:00
Sven Eckelmann
ca014cfd72 realtek: dsa: Drop secondary LAG configuration handler
The DSA code is responsible to inform the driver about link aggregation
changes. Having a second one which behaves slightly different makes the
whole process fragile and creates hard to debug problems.

It also complicates the code because the secondary event handler can also
not rely on shared DSA state to handle things like LAG ID.

Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/20707
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-11 01:06:49 +01:00
Sven Eckelmann
108381e5a1 realtek: dsa: Fix LAG id allocation
The rtl83xx_lag_can_offload() function always returned an error because
ds->num_lag_ids was never set. This basically disabled the DSA lag
configuration completely.

Drop the private n_lag variable and instead use the DSA specific one. This
ensures that all the code always has the same reference for the number of
LAGs.

Fixes: 32e5b5ee6b ("realtek: Add Link Aggregation (aka trunking) support")
Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/20707
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-11 01:06:49 +01:00
Hauke Mehrtens
23211b196c udebug: update to Git HEAD (2025-10-21)
Some checks are pending
Build Kernel / Build all affected Kernels (push) Waiting to run
Build all core packages / Build all core packages for selected target (push) Waiting to run
8c967bce23ae CMakeLists.txt: rename udebug-cli to udebug on installation
75f39cd4a806 add debian package support

Link: https://github.com/openwrt/openwrt/pull/20719
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-11 00:23:22 +01:00
Hauke Mehrtens
1f21cc9600 uci: update to Git HEAD (2025-11-03)
57c1e8cd2c05 github: add CI build
2e46a7405f26 github: improve CI
c1e2eee6c5e3 github: fix CI apt dependencies

Link: https://github.com/openwrt/openwrt/pull/20717
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-11 00:22:11 +01:00
Hauke Mehrtens
c0a30370f9 ubus: update to Git HEAD (2025-11-03)
6fdf7a979162 github: improve CI
0d4bcb56f5e1 github: fix CI apt dependencies

Link: https://github.com/openwrt/openwrt/pull/20716
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-11 00:21:16 +01:00
Hauke Mehrtens
825dbed09a ubox: update to Git HEAD (2025-10-30)
6f78fa496bf3 ubox validate: port range check fix

Link: https://github.com/openwrt/openwrt/pull/20715
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-11 00:20:14 +01:00
Hauke Mehrtens
56eb74960d libnl-tiny: update to Git HEAD (2025-11-03)
fa6a52b03713 github: add CI build
c69fb5ef80b9 github: improve CI
532ac744dedc github: fix CI apt dependencies

Link: https://github.com/openwrt/openwrt/pull/20714
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-11 00:18:34 +01:00
Hauke Mehrtens
e0b6fa2216 libubox: update to Git HEAD (2025-11-03)
7a3863acfb15 lua: CMakeLists: drop redundant cmake_minimum_required
61cc1e6fdc0e examples: CMakeLists: drop redundant cmake_minimum_required
7d6b9d98d0bd add debian/ directory
9caf555f00e2 github: improve CI build
e357be611cd9 github: fix CI apt dependencies

Link: https://github.com/openwrt/openwrt/pull/20713
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-11 00:17:26 +01:00
Tianling Shen
fefd50ec00 rockchip: add missing KERNEL_LOADADDR for LinkEase EasePi R1
Commit 8ca4caacd0 ("rockchip: Add support for RK3568 LinkEase EasePi R1")
forgot to include the SoC recipe, which leads KERNEL_LOADADDR undefined.

Fixes: 8ca4caacd0 ("rockchip: Add support for RK3568 LinkEase EasePi R1")
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20722
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-11 00:11:16 +01:00
Tianling Shen
d720ad5254 rockchip: fix assign IRQ SMP affinity for Radxa E52C
The ifname was renamed to `lan`/`wan` in commit 1f1db75432
 ("rockchip: make NIC name predictable for Radxa E52C/ROCK 5 ITX/ROCK 5T"),
update accordingly.

Fixes: 1f1db75432 ("rockchip: make NIC name predictable for Radxa E52C/ROCK 5 ITX/ROCK 5T")
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20722
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-11 00:11:16 +01:00
Sven Eckelmann
14d3ea43ab realtek: dsa: rtl93xx: Keep mgmt recv action functions local
Th function to set the mangement frames receive actions is only used in the
SoC specific files. They can therefore be kept local without any
declaration in headers.

Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/20704
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-11 00:05:20 +01:00
Sven Eckelmann
fa8ac8e562 realtek: dsa: rtl931x: Sync mgmt recv action code with RTL930x
The code for the RTL930x management action configuration was cleaned up
significantly for commit 75fe6b2d0b ("realtek: rtl930x: Add support for
trapping management frames"). Sync these changes to RTL931x to make it
easier to extend both implementations.

Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/20704
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-11 00:05:20 +01:00
Hauke Mehrtens
0c6fa6edce
odhcp6c: update to Git HEAD (2025-11-09)
17ef5f40d48a readme: rewrite in markdown
0fcfe9166173 readme: document all environment options
e3949977ca94 readme: update for prpl patch-set additions
86544fa2b581 src: align SoftAtHome license headers format
8bad7df9feb9 src: reorder includes alphabetically
6d353ff96826 src: remove pragma once in headers
f5684d570200 treewide: remove whitespaces at EOL
e5cfea8f6ef8 src: add missing if/else braces
a92f199d6b8d dhcpv6: potential bug fix for checking DHCPV6_OPT_STATUS
9e414d41e16e readme: fix description string
775e6c759cfd dhcpv6: return early upon success
e5690c1f13ed treewide: Replace _unused with _o_unused

This fixes the build on powerpc.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Link: https://github.com/openwrt/openwrt/pull/20712
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-11-10 23:52:06 +01:00
Christian Marangi
3169ffa4c7
airoha: backport patch fixing out of order DMA for ethernet driver
Some checks are pending
Build Kernel / Build all affected Kernels (push) Waiting to run
Build all core packages / Build all core packages for selected target (push) Waiting to run
Backport upstream patch fixing out of order DMA access for ethernet
driver. This is relevant in the context of QoS when packets doesn't
follow linear handling by QDMA HW.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-11-10 19:27:11 +01:00
Christian Marangi
cce81ed05b
uboot-airoha: drop HIDDEN option
Drop HIDDEN option from U-Boot default for Airoha while support for ATF
gets pushed.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-11-10 19:16:01 +01:00
Christian Marangi
eedc7b3b79
airona: an7583: fix typo for CONFIG_PHY_AIROHA_USB
Some checks are pending
Build Kernel / Build all affected Kernels (push) Waiting to run
KConfig flag have an extra whitespace for CONFIG_PHY_AIROHA_USB and
value is not ignored.

Drop the extra whitespace to correctly ignore the value on kernel
compilation.

Fixes: c5b12fc02a ("airoha: Introduce support for Airoha AN7583 SoC")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-11-10 18:25:49 +01:00
Andy Chiang
4ad22d0342 firewall: config: add dest addr restrictions for DHCPv6 rules
Some checks failed
Build all core packages / Build all core packages for selected target (push) Waiting to run
Build host tools / Build host tools for linux and macos based systems (push) Has been cancelled
Some ISPs may use a GUA or other non-LLA as the source addr for the DHCPv6 response, but the destination addr is always LLA (fe80::/10).
Therefore, adding a dest addr restriction improves security.
See https://forum.mikrotik.com/t/xfinity-comcast-dhcpv6-configuration-change/156031/10

Signed-off-by: Andy Chiang <AndyChiang_git@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/20562
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-11-10 15:23:16 +01:00
Rany Hany
df338d67d4 wifi-scripts: allow sae_password_file to be configured
Adds missing config_add_string for sae_password_file.

Fixes: 65a1c666f2 ("hostapd: add SAE support for wifi-station and optimize PSK file creation")
Fixes: https://github.com/openwrt/openwrt/issues/19717
Signed-off-by: Rany Hany <rany_hany@riseup.net>
Link: https://github.com/openwrt/openwrt/pull/19964
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-11-10 15:21:45 +01:00
Andy Chiang
631d535282 toplevel.mk: use relative path for feeds/base symlink
Currently, feeds/base is created as an absolute symlink to $(TOPDIR)/package.
If the OpenWrt source tree is copied to another location for building (while keeping the old tree), the symlink will still point to the package directory in the old tree.
Using a relative symlink ensures that feeds/base always points to the package directory within the current OpenWrt source tree, improving portability and avoiding incorrect links.

Signed-off-by: Andy Chiang <AndyChiang_git@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/20297
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-11-10 15:20:34 +01:00
David Härdeman
a88a19982d odhcpd: update Makefile description
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
Make it a little bit more consistant, and a bit more idiomatic.

Signed-off-by: David Härdeman <david@hardeman.nu>
Link: https://github.com/openwrt/openwrt/pull/20673
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-11-10 12:58:15 +01:00
David Härdeman
002e22b069 odhcpd: update Makefile, remove homenet
The support has been removed from odhcpd, so remove the Makefile options
related to homenet.

Signed-off-by: David Härdeman <david@hardeman.nu>
Link: https://github.com/openwrt/openwrt/pull/20673
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-11-10 12:53:25 +01:00
David Härdeman
781b04a84f 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 <david@hardeman.nu>
Link: https://github.com/openwrt/openwrt/pull/20673
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-11-10 12:53:11 +01:00
David Härdeman
9be4970581 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 <david@hardeman.nu>
Link: https://github.com/openwrt/openwrt/pull/20673
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-11-10 12:52:39 +01:00
Eneas U de Queiroz
0b9111301b wifi-scripts: ucode: iwinfo: expand AKM display
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
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 <cotequeiroz@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20686
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-11-10 11:46:55 +01:00
Eneas U de Queiroz
988b2ed515 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 <cotequeiroz@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20686
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-11-10 11:46:55 +01:00
Eneas U de Queiroz
e50703d033 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 <cotequeiroz@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20686
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-11-10 11:46:55 +01:00
Joe Holden
d97e529f1f realtek: RTL838x: make u-boot-env writeable ZyXEL GS1900
Some checks are pending
Build Kernel / Build all affected Kernels (push) Waiting to run
Build all core packages / Build all core packages for selected target (push) Waiting to run
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 <jwh@zorins.us>
Link: https://github.com/openwrt/openwrt/pull/19913
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-09 23:34:12 +01:00
Liangbin Lian
8ca4caacd0 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 <jjm2473@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20147
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-09 23:13:37 +01:00
Liangbin Lian
ef093299db uboot-rockchip: add support for LinkEase EasePi R1
generic-rk3568 is enough

Signed-off-by: Liangbin Lian <jjm2473@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20147
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-09 23:13:25 +01:00
Thibaut VARÈNE
887cab883b mediatek/filogic: fix Cudy WR3000H ethernet port order
Some checks failed
Build Kernel / Build all affected Kernels (push) Waiting to run
Build all core packages / Build all core packages for selected target (push) Waiting to run
Build host tools / Build host tools for linux and macos based systems (push) Waiting to run
Build and Push prebuilt tools container / Build and Push all prebuilt containers (push) Has been cancelled
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: 9d66b8b312
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Link: https://github.com/openwrt/openwrt/pull/20528
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-09 23:07:59 +01:00
Trix Taiclet
71b5de61ae 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 <trix@c3l.lu>
Link: https://github.com/openwrt/openwrt/pull/20620
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-09 23:00:44 +01:00
Pawel Dembicki
ef93221841 kirkwood: kernel: remove 6.6 version support
After switching to 6.12, time to remove 6.6 support.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20672
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-09 22:55:44 +01:00
Pawel Dembicki
c5b75d6cde kirkwood: kernel: switch to 6.12 version
No new reggresions was observed. Time to switch to 6.12.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20672
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-09 22:55:44 +01:00
Shiji Yang
64432358e0 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 <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/20683
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-09 22:45:12 +01:00
FUKAUMI Naoki
1f1db75432 rockchip: make NIC name predictable for Radxa E52C/ROCK 5 ITX/ROCK 5T
Some checks are pending
Build Kernel / Build all affected Kernels (push) Waiting to run
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 <naoki@radxa.com>
Link: https://github.com/openwrt/openwrt/pull/20608
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-09 21:56:13 +01:00
Andrii Kuiukoff
b33df7ba33 mediatek: add support for COMFAST CF-WR632AX
Some checks are pending
Build Kernel / Build all affected Kernels (push) Waiting to run
Build all core packages / Build all core packages for selected target (push) Waiting to run
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 <andros.ua@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20382
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-09 19:33:18 +01:00
Luis Mita
8fb644e9e8 ramips: mt7621: add support for Cudy AP1300 Outdoor v1
Some checks are pending
Build Kernel / Build all affected Kernels (push) Waiting to run
Build all core packages / Build all core packages for selected target (push) Waiting to run
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 <luis@luismita.com>
Co-Authored-By: Daniel de Kock <daniel@riot.network>
Co-Authored-By: Hauke Mehrtens <hauke@hauke-m.de>
Link: https://github.com/openwrt/openwrt/pull/20268
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-09 18:00:18 +01:00
Jonas Jelonek
b10663c428 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 <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20648
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-09 17:48:10 +01:00
Jonas Jelonek
56e9a73d0b 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] 69d2890a2e/sources/rtk-xgs1210/src/hal/phy/phy_rtl9300.c (L1384)
[2] 69d2890a2e/sources/rtk-xgs1210/src/hal/phy/phy_rtl9310.c (L3479)

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20648
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-09 17:48:10 +01:00
Shiji Yang
627a0e7da0 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 <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/20706
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-09 17:23:18 +01:00
Andy Chiang
7079e456ad ppp: add reqprefix norelease ac_mac
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
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 <AndyChiang_git@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/19978
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-11-09 16:17:01 +01:00
Christian Marangi
231bbe528d
bcm53xx: use -ENOENT error for TRX parser workaround patch
Some checks are pending
Build Kernel / Build all affected Kernels (push) Waiting to run
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 <ansuelsmth@gmail.com>
2025-11-09 12:58:23 +01:00
Dirk Buchwalder
71ebc54d2a mediatek: filogic: add support for TP-LINK BE450
Some checks are pending
Build Kernel / Build all affected Kernels (push) Waiting to run
Build all core packages / Build all core packages for selected target (push) Waiting to run
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:
      b77fa45d12

      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 <buchwalder@posteo.de>
Link: https://github.com/openwrt/openwrt/pull/20398
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-08 23:39:59 +01:00
John Audia
5212866508 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 <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/20554
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-08 22:56:03 +01:00
INAGAKI Hiroshi
5aab294726 kernel: generic: mtdsplit_seil: return 0 instead of -ENODEV
Some checks are pending
Build Kernel / Build all affected Kernels (push) Waiting to run
Build all core packages / Build all core packages for selected target (push) Waiting to run
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 <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20697
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-08 21:36:29 +01:00
Hauke Mehrtens
0334564ea6 util-linux: Update to version 2.41.2
Some checks failed
Build all core packages / Build all core packages for selected target (push) Waiting to run
Build and Push prebuilt tools container / Build and Push all prebuilt containers (push) Has been cancelled
Build Toolchains / Build Toolchains for each target (push) Has been cancelled
Build host tools / Build host tools for linux and macos based systems (push) Has been cancelled
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 <hauke@hauke-m.de>
2025-11-08 21:22:46 +01:00
Hauke Mehrtens
6665089e94 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 <hauke@hauke-m.de>
2025-11-08 21:22:46 +01:00