]> git.ipfire.org Git - thirdparty/openwrt.git/log
thirdparty/openwrt.git
4 hours agouci: update to Git HEAD (2025-10-05) main master
Christian Marangi [Sun, 5 Oct 2025 12:34:57 +0000 (14:34 +0200)] 
uci: update to Git HEAD (2025-10-05)

272fc1348ea9 lua: CMakeLists: drop redundant cmake_minimum_required
5e69edac2ec4 CMakeLists: fix CMake warning for INCLUDE macro

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
6 hours agorealtek: RTL931x: disable USXGMII SerDes setup 20292/head
Markus Stockhausen [Fri, 3 Oct 2025 15:18:42 +0000 (11:18 -0400)] 
realtek: RTL931x: disable USXGMII SerDes setup

The first RTL931x devices make their way into OpenWrt. Their copper
ports are driven by different interfaces modes like 10G_QXGMII or
Realtek proprietary XSGMII. The DSA driver has no proper handling
for theses modes implemented yet. So a lot is auto-mapped to USXGMII
internally. As soon as the SerDes setup activates this (wrong) mode
the PHY connectivity breaks.

Disable this mode for now and rely on the proper U-Boot setup.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/20292
Signed-off-by: Robert Marko <robimarko@gmail.com>
6 hours agorealtek: drop source-only from NAND targets 20255/head
Markus Stockhausen [Wed, 1 Oct 2025 06:20:07 +0000 (02:20 -0400)] 
realtek: drop source-only from NAND targets

Now the NAND targets have real devices that need to be built.
Remove the source-only flag to make the images available.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/20255
Signed-off-by: Robert Marko <robimarko@gmail.com>
6 hours agorealtek: add support for Linksys LGS352C
Markus Stockhausen [Wed, 1 Oct 2025 06:19:19 +0000 (02:19 -0400)] 
realtek: add support for Linksys LGS352C

Hardware specification
----------------------

* RTL9311 SoC, 2 MIPS Interaptiv cores @ 1000MHz
* 512MB DRAM
* 2MB NOR Flash
* 128MB NAND Flash
* 48 x 10/100/1000BASE-T ports
* 4 x 10G SFP+ ports
* LM63 controlled fan
* Power LED, Fault LED
* Reset button on front panel
* UART (115200 8N1) via RJ45

Installation using serial interface
-----------------------------------

1. Press "a" "c" "p" during message "Enter correct key to stop autoboot"
2. Start network "rtk network on"
3. Load image "tftpboot <TFTP IP>:openwrt-realtek-rtl931x_nand-linksys_lgs352c-initramfs-kernel.bin"
4. Boot image "bootm"
5. Switch to first bootpartition "fw_setsys bootpartition 0"
5. Download sysupgrade "scp <IP>:openwrt-realtek-rtl931x_nand-linksys_lgs352c-squashfs-sysupgrade.bin /tmp/."
6. Install sysupgrade "sysupgrade /tmp/openwrt-realtek-rtl931x_nand-linksys_lgs352c-squashfs-sysupgrade.bin"

Installation using OEM webinterface
-----------------------------------

This is not possible because the OpenWrt NAND Flash layout is different
from the vendor layout. To be precise. Vendor uses:

- 64 MB vendor UBI root_data
- 32 MB vendor kernel+root 1 (~19 MB used)
- 32 MB vendor kernel+root 2 (~19 MB used)

OpenWrt uses:

- 64 MB vendor UBI (not touched)
- 10 MB OpenWrt kernel
- 22 MB Openwrt mtd-concat UBI
- 23 MB vendor kernel 2 (space reduced, vendor data unchanged)
- 09 MB OpenWrt mtd-concat UBI

Dual-boot with stock firmware using writable u-boot-env
-------------------------------------------------------

From stock to OpenWrt / primary image 1 (CLI as admin):
   - > boot system image1
   - > reboot

From OpenWrt to stock / boot image 2: (shell as root)
   - # fw_setsys bootpartition 1
   - # reboot

Debrick using serial interface
------------------------------

1. Press "a" "c" "p" during message "Enter correct key to stop autoboot"
2. Load vendor image with "upgrade runtime <TFTP IP>:LGS352xxxxx.imag"
3. switch to primary partition "setsys bootpartition 0"
4. safe config "savesys"

Further documentation
---------------------
See https://openwrt.org/toh/linksys/lgs352c

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/20255
Signed-off-by: Robert Marko <robimarko@gmail.com>
6 hours agorealtek: add support for Linksys LGS328C
Markus Stockhausen [Wed, 1 Oct 2025 06:06:43 +0000 (02:06 -0400)] 
realtek: add support for Linksys LGS328C

Hardware specification
----------------------

* RTL9301 SoC, 1 MIPS 34KEc core @ 800MHz
* 512MB DRAM
* 2MB NOR Flash
* 128MB NAND Flash
* 24 x 10/100/1000BASE-T ports
* 4 x 10G SFP+ ports
* Power LED, Fault LED
* Reset button on front panel
* UART (115200 8N1) via RJ45

Installation using serial interface
-----------------------------------

1. Press "a" "c" "p" during message "Enter correct key to stop autoboot"
2. Start network "rtk network on"
3. Load image "tftpboot <TFTP IP>:openwrt-realtek-rtl930x_nand-linksys_lgs328c-initramfs-kernel.bin"
4. Boot image "bootm"
5. Switch to first bootpartition "fw_setsys bootpartition 0"
5. Download sysupgrade "scp <IP>:openwrt-realtek-rtl930x_nand-linksys_lgs328c-squashfs-sysupgrade.bin /tmp/."
6. Install sysupgrade "sysupgrade /tmp/openwrt-realtek-rtl930x_nand-linksys_lgs328c-squashfs-sysupgrade.bin"

Installation using OEM webinterface
-----------------------------------

This is not possible because the OpenWrt NAND Flash layout is different
from the vendor layout. To be precise. Vendor uses:

- 64 MB vendor UBI root_data
- 32 MB vendor kernel+root 1 (~19 MB used)
- 32 MB vendor kernel+root 2 (~19 MB used)

OpenWrt uses:

- 64 MB vendor UBI (not touched)
- 10 MB OpenWrt kernel
- 22 MB Openwrt mtd-concat UBI
- 23 MB vendor kernel 2 (space reduced, vendor data unchanged)
- 09 MB OpenWrt mtd-concat UBI

Dual-boot with stock firmware using writable u-boot-env
-------------------------------------------------------

From stock to OpenWrt / primary image 1 (CLI as admin):
   - > boot system image1
   - > reboot

From OpenWrt to stock / boot image 2: (shell as root)
   - # fw_setsys bootpartition 1
   - # reboot

Debrick using serial interface
------------------------------

1. Press "a" "c" "p" during message "Enter correct key to stop autoboot"
2. Load vendor image with "upgrade runtime <TFTP IP>:LGS328xxxxx.imag"
3. switch to primary partition "setsys bootpartition 0"
4. safe config "savesys"

Further documentation
---------------------
See https://openwrt.org/toh/linksys/lgs352c

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/20255
Signed-off-by: Robert Marko <robimarko@gmail.com>
6 hours agorealtek: Enhance MTD/ECC kernel configuration for NAND targets
Markus Stockhausen [Wed, 1 Oct 2025 06:01:48 +0000 (02:01 -0400)] 
realtek: Enhance MTD/ECC kernel configuration for NAND targets

The Realtek NAND kernel configuration has some shortcomings.
Fix this as follows:

- MTD_NAND_ECC_REALTEK selects MTD_NAND_ECC and this selects
  MTD_NAND_CORE. For consistency add both config options.

- The partition layout of the Linksys switches requires some tricky
  concatenation to keep dual boot active. Add CONFIG_MTD_VIRT_CONCAT

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/20255
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 hours agoucode: fix parsing \xHH and \0OOO escape sequences
Felix Fietkau [Sun, 5 Oct 2025 09:30:48 +0000 (11:30 +0200)] 
ucode: fix parsing \xHH and \0OOO escape sequences

Both need to add add bytes, not UTF-8 sequences.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 hours agohostapd: skip dynamic reconfiguration while not in enabled state
Felix Fietkau [Fri, 3 Oct 2025 13:32:25 +0000 (15:32 +0200)] 
hostapd: skip dynamic reconfiguration while not in enabled state

Interface might be down or scanning. Better do a full restart in order to avoid
messing up the runtime state.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
18 hours agokernel: ksmbd: revert upstream limit repeated connection 20192/head
Andrea Pesaresi [Fri, 26 Sep 2025 18:01:17 +0000 (20:01 +0200)] 
kernel: ksmbd: revert upstream limit repeated connection

The upstream commit https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/fs/smb?h=linux-6.6.y&id=fa1c47af4ff641cf9197ecdb1f8240cbb30389c1
and the extended for ipv6 https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/fs/smb?h=linux-6.6.y&id=d9e157fcfebc126cd19b2333a6417a840c24e529
cause a regression if you try to get a connection on nautilus by a double click on share name.
When you do a double click on share name Nautilus try to connect two times, and ksmbd refusing it.
An issue is opened here https://github.com/namjaejeon/ksmbd/issues/512, at the moment, until we don't have a fix upstream I suggest to revert these two commits.

Signed-off-by: Andrea Pesaresi <andreapesaresi82@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20192
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
22 hours agomediatek: CreatLentem clt-r30b1: Add Livinet Li228 as alt vendor model 20262/head
Andrii Kuiukoff [Wed, 1 Oct 2025 14:00:45 +0000 (17:00 +0300)] 
mediatek: CreatLentem clt-r30b1: Add Livinet Li228 as alt vendor model

Add Livinet Li228 as ALT2.
Fix typo in ALT1_MODEL: DXG21 -> DGX21

Signed-off-by: Andrii Kuiukoff <andros.ua@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20262
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
22 hours agobase-files: commit and sync before removing defaults script. 20248/head
Markus Gothe [Thu, 25 Sep 2025 08:32:58 +0000 (10:32 +0200)] 
base-files: commit and sync before removing defaults script.

Improve the resilence against power failures during
boot-up by trying to sync the file system before
removing the script. The order of the operations
are important.

Signed-off-by: Markus Gothe <markus.gothe@genexis.eu>
Link: https://github.com/openwrt/openwrt/pull/20248
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
22 hours agoath79: asus: convert to nvmem for calibration 20269/head
Rosen Penev [Thu, 2 Oct 2025 03:07:37 +0000 (20:07 -0700)] 
ath79: asus: convert to nvmem for calibration

Userspace handling is deprecated.

Also handle 2.4ghz LED in ath9k instead of generic.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20269
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
22 hours agotools/ninja: update to 1.13.1 20267/head
Rosen Penev [Mon, 29 Sep 2025 18:45:23 +0000 (11:45 -0700)] 
tools/ninja: update to 1.13.1

Jobserver support was merged upstream.

Switch to local tarball archives. Smaller and more standard.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20267
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
22 hours agoramips: add support for Plasma Cloud PAX1800-Lite 20152/head
Sven Eckelmann (Plasma Cloud) [Thu, 12 Oct 2023 11:57:32 +0000 (13:57 +0200)] 
ramips: add support for Plasma Cloud PAX1800-Lite

Plasma Cloud PAX1800-Lite is a dual-band Wi-Fi 6 router, based on MediaTek
MT7621A + MT79x5D platform.

Specifications:

- SOC:      MT7621AT (880 MHz)
- DRAM:     DDR3 448 MiB (Nanya NT5CC256M16DP-DI)
- Flash:    2 MiB SPI NOR (S25FL016K) + 128 MB SPI NAND (W25N02KVZEIR)
- Ethernet: 1x 10/100/1000 Mbps (SOC's built-in switch, with PoE+)
- Wi-Fi:    2x2:2 2.4/5 GHz (MT7905DAN + MT7975DN)
            (MT7905DAN doesn't support background DFS scan/BT)
- LED:      tri-color LED for status (red, blue, green)
- Buttons:  1x (reset)
- Antenna:  4x internal, non-detachable omnidirectional
- UART:     1x 4-pin (2.54 mm pitch, marked as "3V3 G/RX GND W/TX")
- Power:    12 V DC/2 A (DC jack)

MAC addresses:

WAN:     54:9C:27:xx:xx:00 (factory 0x3fff4, device label)
2.4 GHz: 54:9C:27:xx:xx:02 (factory 0x4, device label +2)
5 GHz:   54:9C:27:xx:xx:08 (factory 0xa, device label +8)

Flashing instructions:
======================

Various methods can be used to install the actual image on the flash.
Two easy ones are:

ap51-flash
----------

The tool ap51-flash (https://github.com/ap51-flash/ap51-flash) should be
used to transfer the image to the u-boot when the device boots up.

initramfs from TFTP
-------------------

The serial console (115200 8N1) must be used to access the u-boot shell
during bootup. It can then be used to first boot up the initramfs image
from a TFTP server (here with the IP 192.168.1.21):

    setenv serverip 192.168.1.21
    setenv ipaddr 192.168.1.1
    tftpboot 0x83001000 <filename-of-initramfs-kernel>.bin && bootm $fileaddr

The actual sysupgrade image can then be transferred (on the LAN port) to the
device via

    scp <filename-of-squashfs-sysupgrade>.bin root@192.168.1.1:/tmp/

On the device, the sysupgrade must then be started using

    sysupgrade -n /tmp/<filename-of-squashfs-sysupgrade>.bin

Signed-off-by: Sven Eckelmann (Plasma Cloud) <se@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/20152
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
22 hours agomt76: mt7915: add bf backoff limit table support
Sven Eckelmann (Plasma Cloud) [Wed, 2 Jul 2025 15:00:03 +0000 (17:00 +0200)] 
mt76: mt7915: add bf backoff limit table support

mt76 as support for generic rates power limits in the devicetree. But the
mt7915 supports beamforming and has another table for configuring the
backoff limits. These can be configured in the DT with the paths-*
properties. The path-*-bf are the ones relevant for beamforming and the
ones without -bf suffix for "traditional" path backoff.

Signed-off-by: Sven Eckelmann (Plasma Cloud) <se@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/20152
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
22 hours agomt76: Fix DTS power-limits on little endian systems
Sven Eckelmann (Plasma Cloud) [Mon, 30 Jun 2025 14:39:37 +0000 (16:39 +0200)] 
mt76: Fix DTS power-limits on little endian systems

The power-limits for ru and mcs and stored in the devicetree as bytewise
array (often with sizes which are not a multiple of 4). These arrays have a
prefix which defines for how many modes a line is applied. This prefix is
also only a byte - but the code still tried to fix the endianness of this
byte with a be32 operation. As result, loading was mostly failing or was
sending completely unexpected values to the firmware.

Since the other rates are also stored in the devicetree as bytewise arrays,
just drop the u32 access + be32_to_cpu conversion and directly access them
as bytes arrays.

Signed-off-by: Sven Eckelmann (Plasma Cloud) <se@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/20152
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
23 hours agonilfs-utils: update to 2.2.12 20261/head
Pavlo Samko [Wed, 1 Oct 2025 13:48:46 +0000 (16:48 +0300)] 
nilfs-utils: update to 2.2.12

Changelog: https://nilfs.sourceforge.io/download/ChangeLog-utils-v2

Signed-off-by: Pavlo Samko <bulldozerbsg@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20261
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
23 hours agoramips: Fix Hongdian H7920 v40 mac address 20256/head
Coia Prant [Wed, 1 Oct 2025 09:09:32 +0000 (17:09 +0800)] 
ramips: Fix Hongdian H7920 v40 mac address

After extracting the EEPROMs of different devices, only the 0x4 address is unique.

Use the 0x4 address as the LAN address, and the LAN+1 address as the WAN address.

Signed-off-by: Coia Prant <coiaprant@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20256
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
23 hours agoramips: Fix Hongdian H7920 v40 pinctrl default state
Coia Prant [Wed, 1 Oct 2025 07:55:57 +0000 (15:55 +0800)] 
ramips: Fix Hongdian H7920 v40 pinctrl default state

According to the MT7628 hardware datasheet:
- GPIO/4 was originally used for I2C, but is now used as the Modem Power.
- GPIO/5 was originally used for I2C, but is now used as the SIM card select. (n/a for this device)
- GPIO/6 was originally used for SPI CS1, but is now used as the Serial mode switch.
- GPIO/36 was originally used for PERST, but is now used as the GPS OE. (n/a for this device)
- GPIO/38 was originally used for WDT, but is now used as the Modem2 Power. (n/a for this device)
- GPIO/44 was used for WLED_AN, but is now controlled by `gpio-leds`.

Corrected pinctrl to ensure it works properly in the future.

Signed-off-by: Coia Prant <coiaprant@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20256
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
26 hours agoopenssl: update to 3.5.4 20275/head
John Audia [Thu, 2 Oct 2025 12:24:22 +0000 (08:24 -0400)] 
openssl: update to 3.5.4

release is Moderate.

This release incorporates the following bug fixes and mitigations:

Fix Out-of-bounds read & write in RFC 3211 KEK Unwrap.
(CVE-2025-9230)

Fix Timing side-channel in SM2 algorithm on 64 bit ARM.
(CVE-2025-9231)

Fix Out-of-bounds read in HTTP client no_proxy handling.
(CVE-2025-9232)

Reverted the synthesised OPENSSL_VERSION_NUMBER change for the release
builds, as it broke some exiting applications that relied on the previous
3.x semantics, as documented in OpenSSL_version(3).

Build system: x86/64
Build-tested: x86/64-glibc
Run-tested: x86/64-glibc

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/20275
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
26 hours agokernel: bump 6.6 to 6.6.109 20277/head
Goetz Goerisch [Thu, 2 Oct 2025 12:47:12 +0000 (14:47 +0200)] 
kernel: bump 6.6 to 6.6.109

Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.109

All patches autorefreshed.

Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20277
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
26 hours agokernel: bump 6.12 to 6.12.50 20280/head
John Audia [Thu, 2 Oct 2025 16:53:55 +0000 (12:53 -0400)] 
kernel: bump 6.12 to 6.12.50

Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.50

Dropped upstreamed:
backport-6.12/787-v6.17-net-sfp-add-quirk-for-FLYPRO-copper-SFP-module.patch[1]

All patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.50&id=d2be6c429d8cc952ff42fdf31b6a7cffb5e233b0

Build system: x86/64
Build-tested: flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3, x86/64-glibc
Run-tested: flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3, x86/64-glibc

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/20280
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
26 hours agorealtek: drop source-only from rtl931x target 20172/head
Sven Eckelmann [Wed, 1 Oct 2025 12:35:49 +0000 (14:35 +0200)] 
realtek: drop source-only from rtl931x target

Now the rtl931x target has real devices that need to be built. Remove the
source-only flag to make the images available.

Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/20172
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
26 hours agorealtek: rtl931x: Add support for Plasma Cloud ESX28 Switch
Harshal Gohel [Mon, 14 Jul 2025 16:00:58 +0000 (18:00 +0200)] 
realtek: rtl931x: Add support for Plasma Cloud ESX28 Switch

The Plasma Cloud ESX28 Switch is a 24 + 4 port multi-GBit switch with
24x 10/100/1000/2500BaseT Ethernet ports and 4x SFP+ module slot.

Hardware:

- RTL9312C SoC
- Macronix MX25L25645G (32MB flash)
- 512MB DDR3 SDRAM
- RTL8231 GPIO extender to control the port LEDs
- 6x RTL8224 4x 10m/100m/1/2.5 Gigabit PHY
- SFP+ 4x 10GBit slot

The switch is powered directly via AC.

The external RS232 serial connector (RJ45, Cisco pinout) can be used to
access the terminal. Serial connection is via 115200 baud, 8N1.

A reset button is accessible through a hole in the front panel.

Installation
------------

* The device can be flashed by using sysupgrade command. Either from the
  original vendor firmware or using an initramfs (see "Debug")
* Connect serial on front panel. Connection parameters: 115200 8N1
* The image must be copied using scp to /tmp of the device

      scp openwrt-realtek-rtl931x-plasmacloud_esx28-squashfs-sysupgrade.bin root@[IP address of the device]:/tmp/

* start sysupgrade without saving the original vendor configuration

      sysupgrade -n /tmp/openwrt-realtek-rtl931x-plasmacloud_esx28-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 0x5e0000 0x1a20000

    # write firmware to both partitions
    sf write ${fileaddr} 0x5e0000 ${filesize}
    sf write ${fileaddr} 0x12f0000 ${filesize}

    # adjust the boot commands
    setenv bootargs "mtdparts=spi0.0:768k(u-boot),64k(u-boot-env),64k(u-boot-env2),5120k(reserved),13376k(inactive),13376k(firmware2)"
    setenv bootcmd "rtk init; bootm 0xb52f0000"

    # restart
    reset

Debug
-----

* Connect serial on front panel. 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
* Enter passwords: "1234" or "plasmapsx"
* 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-rtl931x-plasmacloud_esx28-initramfs-kernel.bin

* Boot loaded file:

      bootm 0x84000000

Signed-off-by: Harshal Gohel <hg@simonwunderlich.de>
Co-developed-by: Sven Eckelmann <se@simonwunderlich.de>
Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/20172
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
26 hours agorealtek: rtl931x: Add support for Plasma Cloud PSX28 Switch
Harshal Gohel [Mon, 14 Jul 2025 16:00:58 +0000 (18:00 +0200)] 
realtek: rtl931x: Add support for Plasma Cloud PSX28 Switch

The Plasma Cloud PSX28 Switch is a 24 + 4 port multi-GBit switch with
24x 10/100/1000/2500BaseT Ethernet ports and 4x SFP+ module slot.

Hardware:

- RTL9312C SoC
- Macronix MX25L25645G (32MB flash)
- 512MB DDR3 SDRAM
- RTL8231 GPIO extender to control the port LEDs
- 6x RTL8224 4x 10m/100m/1/2.5 Gigabit PHY
- SFP+ 4x 10GBit slot
- RTL8239 POE++ PSE controller with frontend MCU

The switch is powered directly via AC.

The external RS232 serial connector (RJ45, Cisco pinout) can be used to
access the terminal. Serial connection is via 115200 baud, 8N1.

A reset button is accessible through a hole in the front panel.

Installation
------------

* The device can be flashed by using sysupgrade command. Either from the
  original vendor firmware or using an initramfs (see "Debug")
* Connect serial on front panel. Connection parameters: 115200 8N1
* The image must be copied using scp to /tmp of the device

      scp openwrt-realtek-rtl931x-plasmacloud_psx28-squashfs-sysupgrade.bin root@[IP address of the device]:/tmp/

* start sysupgrade without saving the original vendor configuration

      sysupgrade -n /tmp/openwrt-realtek-rtl931x-plasmacloud_psx28-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 0x5e0000 0x1a20000

    # write firmware to both partitions
    sf write ${fileaddr} 0x5e0000 ${filesize}
    sf write ${fileaddr} 0x12f0000 ${filesize}

    # adjust the boot commands
    setenv bootargs "mtdparts=spi0.0:768k(u-boot),64k(u-boot-env),64k(u-boot-env2),5120k(reserved),13376k(inactive),13376k(firmware2)"
    setenv bootcmd "rtk init; bootm 0xb52f0000"

    # restart
    reset

Debug
-----

* Connect serial on front panel. 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
* Enter passwords: "1234" or "plasmapsx"
* 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-rtl931x-plasmacloud_psx28-initramfs-kernel.bin

* Boot loaded file:

      bootm 0x84000000

Signed-off-by: Harshal Gohel <hg@simonwunderlich.de>
Co-developed-by: Sven Eckelmann <se@simonwunderlich.de>
Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/20172
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
26 hours agorealtek: rtl931x: Enable parsing of u-boot nvmem layouts
Sven Eckelmann [Mon, 14 Apr 2025 13:16:47 +0000 (13:16 +0000)] 
realtek: rtl931x: Enable parsing of u-boot nvmem layouts

To be able to read out the ethaddr from the u-boot environment for MAC
address configuration, it is required to also enable the NVMEM layout
parsing code for the U-Boot env layout.

Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/20172
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
27 hours agorockchip: make use of OpenWrt compiled dtbs 20286/head
Tianling Shen [Fri, 3 Oct 2025 08:02:10 +0000 (16:02 +0800)] 
rockchip: make use of OpenWrt compiled dtbs

OpenWrt buildroot will compile all dtbs defined in target to
$(KDIR)/image-$(DEVICE_DTS).dtb, so make use of it to allow us
debug and use external dtbs easier without patching kernel Makefile.

This also fixes commit 5c724939c396 which forgot to update DTS_DIR
in KERNEL variable.

Fixes: 5c724939c396 ("rockchip: add DEVICE_DTS_DIR definition")
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20286
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
29 hours agoomcproxy: update to Git HEAD (2025-10-04)
Hauke Mehrtens [Sat, 4 Oct 2025 11:40:56 +0000 (13:40 +0200)] 
omcproxy: update to Git HEAD (2025-10-04)

fc2eac19ea03 build: require CMake >= 3.10 due to dropped legacy support

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
29 hours agorelayd: update to Git HEAD (2025-10-04)
Hauke Mehrtens [Sat, 4 Oct 2025 11:38:44 +0000 (13:38 +0200)] 
relayd: update to Git HEAD (2025-10-04)

708a76faa7a1 build: require CMake >= 3.10 due to dropped legacy support

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
29 hours agoumbim: update to Git HEAD (2025-10-04)
Hauke Mehrtens [Sat, 4 Oct 2025 11:35:29 +0000 (13:35 +0200)] 
umbim: update to Git HEAD (2025-10-04)

2939b7d019ab build: require CMake >= 3.10 due to dropped legacy support

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
29 hours agousbmode: update to Git HEAD (2025-10-04)
Hauke Mehrtens [Sat, 4 Oct 2025 11:33:28 +0000 (13:33 +0200)] 
usbmode: update to Git HEAD (2025-10-04)

86fa49d32853 add GPL v2+ SPDX header
9b4d0a6e25d5 build: require CMake >= 3.10 due to dropped legacy support

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
29 hours agoumdns: update to Git HEAD (2025-10-04)
Hauke Mehrtens [Sat, 4 Oct 2025 11:31:37 +0000 (13:31 +0200)] 
umdns: update to Git HEAD (2025-10-04)

2f75344fd0cc build: require CMake >= 3.10 due to dropped legacy support

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
30 hours agofirmware-utils: update to Git HEAD (2025-10-01)
Hauke Mehrtens [Sat, 4 Oct 2025 10:22:52 +0000 (12:22 +0200)] 
firmware-utils: update to Git HEAD (2025-10-01)

4b7638925d3e iptime-crc32: add support for ipTIME AX3000M
12c0b42231be nosimg-enc: add new tool for XikeStor SKS8300 series
2051fe5bc2a1 mktplinkfw2: Add 16MLmtk layout
5d1446bf57d6 tplink-safeloader: Add more special_id's for MR70X
075cdc0c4dd4 iptime-crc32: add support for ipTIME AX3000Q
48ababab6b08 iptime-crc32: add support for ipTIME AX3000SM
f29de74ecd7d iptime-crc32: Add device support for ipTIME AX6000M
3346d7711c9a build: add mkqdimg
950f83405a93 iptime-crc32: add support for ipTIME AX7800M-6E
0725c3d4aa1b build: require CMake >= 3.5 due to dropped legacy support
996dc482a7e8 ptgen: fix misprint and simplify calculation a bit
febfef7a09b1 ptgen: use long long instead of long for sizes
6ea8b6dd44d0 ptgen: fix protective MBR partition size
f1f98b0b8456 ptgen: do not create stub partition to fill a gap if gap caused by alignment
3f2d14829150 ptgen: allow non-default placement of gpt entry table
78d8084c7376 ptgen: allow image generation for a specified disk size
9fa340db640e ptgen: create separate images for gpt data structure
d3f8b6ed940a zynsig: add new tool for creating images for the ZyXEL GS1920 series
7e6f69b444c3 npk_pack_kernel: add tool for creating MikroTik NPK kernel packages
0782d243d23e Revert "ptgen: do not create stub partition to fill a gap if gap caused by alignment"

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
30 hours agoubus: update to Git HEAD (2025-10-04)
Hauke Mehrtens [Sat, 4 Oct 2025 10:12:52 +0000 (12:12 +0200)] 
ubus: update to Git HEAD (2025-10-04)

ad2768bbc166 lua: build: require CMake >= 3.10 due to dropped legacy support

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
30 hours agolibubox: update to Git HEAD (2025-10-04)
Hauke Mehrtens [Sat, 4 Oct 2025 10:09:32 +0000 (12:09 +0200)] 
libubox: update to Git HEAD (2025-10-04)

c163d7ab8cdc lua: build: require CMake >= 3.10 due to dropped legacy support

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
30 hours agofirewall: update to Git HEAD (2025-10-03)
Hauke Mehrtens [Sat, 4 Oct 2025 10:04:17 +0000 (12:04 +0200)] 
firewall: update to Git HEAD (2025-10-03)

3a65fde5a3e6 build: require CMake >= 3.10 due to dropped legacy support

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
30 hours agojsonfilter: update to Git HEAD (2025-10-04)
Hauke Mehrtens [Sat, 4 Oct 2025 10:02:55 +0000 (12:02 +0200)] 
jsonfilter: update to Git HEAD (2025-10-04)

f4fe702d0e8d build: require CMake >= 3.10 due to dropped legacy support

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
31 hours agoiptables: fix breaking packing 20283/head
Andy Chiang [Thu, 2 Oct 2025 21:12:12 +0000 (04:12 +0700)] 
iptables: fix breaking packing

after change include/package-pack.mk in 16416782f194d1850a9d9accf02f04832a7fcea4, must use ALTERNATIVES to create soft link, otherwise the packing will be messed up.

Fixes: openwrt#20270
Fixes: openwrt#20291
Fixes: 16416782f194d1850a9d9accf02f04832a7fcea4 (include: make APK packing mtime reproducible)
Signed-off-by: Andy Chiang <AndyChiang_git@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/20283
Signed-off-by: Robert Marko <robimarko@gmail.com>
42 hours agotools/ccache: same behaviour for local and CI builds 20290/head
Andreas Gnau [Fri, 3 Oct 2025 08:59:42 +0000 (10:59 +0200)] 
tools/ccache: same behaviour for local and CI builds

If the environment variable `CI` is set, ccache will enable the CMake
option CCACHE_DEV_MODE by default. This leads to differing behaviour
between local and CI builds which takes quite some time to debug. 🤯

Achieve consistent behaviour between local builds and CI builds by
setting CCACHE_DEV_MODE. Set it to OFF, because CCACHE_DEV_MODE amongst
other settings like linker choice, enables -Werror, which will lead to
potential compilation failures when the host compiler is updated. Using
-Werror for host utils is not desirable, because the compiler version
used is not controlled by the OpenWrt build system and host utils should
compile successfully on an as wide range of host OSes as possible.

Reported-by: Roman Azarenko <roman.azarenko@iopsys.eu>
Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
Link: https://github.com/openwrt/openwrt/pull/20290
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
42 hours agoubus: update to Git HEAD (2025-10-04)
Christian Marangi [Fri, 3 Oct 2025 22:08:56 +0000 (00:08 +0200)] 
ubus: update to Git HEAD (2025-10-04)

2b69c9859946 examples: CMakeLists: update cmake minimum required version to 3.10

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
42 hours agoprocd: update to Git HEAD (2025-10-04)
Christian Marangi [Fri, 3 Oct 2025 22:08:50 +0000 (00:08 +0200)] 
procd: update to Git HEAD (2025-10-04)

3b3501abb63d upgraded: CMakeLists: update cmake minimum required version to 3.10

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
42 hours agolibubox: update to Git HEAD (2025-10-04)
Christian Marangi [Fri, 3 Oct 2025 22:08:44 +0000 (00:08 +0200)] 
libubox: update to Git HEAD (2025-10-04)

eeb6fcf91413 examples: CMakeLists: update cmake minimum required version to 3.10

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
42 hours agouci: update to Git HEAD (2025-10-04)
Christian Marangi [Fri, 3 Oct 2025 22:04:06 +0000 (00:04 +0200)] 
uci: update to Git HEAD (2025-10-04)

a07209538959 lua: CMakeLists: update cmake minimum required version to 3.10

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
42 hours agomt76: update to Git HEAD (2025-10-03)
Christian Marangi [Fri, 3 Oct 2025 21:59:44 +0000 (23:59 +0200)] 
mt76: update to Git HEAD (2025-10-03)

9ee788a38251 wifi: mt76: mt7996: fix null pointer deref in mt7996_conf_tx()
ec3f05480e5b tools: CMakeLists: update cmake minimum required version to 3.10

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
42 hours agolibnl-tiny: update to Git HEAD (2025-10-03)
Christian Marangi [Fri, 3 Oct 2025 21:59:10 +0000 (23:59 +0200)] 
libnl-tiny: update to Git HEAD (2025-10-03)

feca1d341d4b CMakeLists: update cmake minimum required version to 3.10

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
42 hours agouclient: update to Git HEAD (2025-10-03)
Christian Marangi [Fri, 3 Oct 2025 21:58:38 +0000 (23:58 +0200)] 
uclient: update to Git HEAD (2025-10-03)

dc909ca71bc8 CMakeLists: update cmake minimum required version to 3.10

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
42 hours agoudebug: update to Git HEAD (2025-09-28)
Christian Marangi [Fri, 3 Oct 2025 21:58:22 +0000 (23:58 +0200)] 
udebug: update to Git HEAD (2025-09-28)

d3be5474f6e6 udebug-cli: ignore zero-length messages in logstream
c79f02d899df ucode: fix skipping lines where the timestamp cannot be parsed
5327524e7153 cmake: bump minimum required version to 3.13

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
42 hours agoustream-ssl: update to Git HEAD (2025-10-03)
Christian Marangi [Fri, 3 Oct 2025 21:58:06 +0000 (23:58 +0200)] 
ustream-ssl: update to Git HEAD (2025-10-03)

5a81c108d20e CMakeLists: update cmake minimum required version to 3.10

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
42 hours agoodhcp6c: update to Git HEAD (2025-10-03)
Christian Marangi [Fri, 3 Oct 2025 21:57:50 +0000 (23:57 +0200)] 
odhcp6c: update to Git HEAD (2025-10-03)

96d9e0b6e813 CMakeLists: update cmake minimum required version to 3.10

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
43 hours agouhttpd: update to Git HEAD (2025-10-03)
Christian Marangi [Fri, 3 Oct 2025 21:57:30 +0000 (23:57 +0200)] 
uhttpd: update to Git HEAD (2025-10-03)

ebb92e6b339b CMakeLists: update cmake minimum required version to 3.10

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
43 hours agounetd: update to Git HEAD (2025-10-03)
Christian Marangi [Fri, 3 Oct 2025 21:57:23 +0000 (23:57 +0200)] 
unetd: update to Git HEAD (2025-10-03)

2f67f6faa08a CMakeLists: update cmake minimum required version to 3.10

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
43 hours agofstools: update to Git HEAD (2025-10-03)
Christian Marangi [Fri, 3 Oct 2025 21:56:46 +0000 (23:56 +0200)] 
fstools: update to Git HEAD (2025-10-03)

12858e2878ef CMakeLists: update cmake minimum required version to 3.10

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
43 hours agofwtool: update to Git HEAD (2025-10-03)
Christian Marangi [Fri, 3 Oct 2025 21:56:29 +0000 (23:56 +0200)] 
fwtool: update to Git HEAD (2025-10-03)

04cd252e4e93 CMakeLists: update cmake minimum required version to 3.10

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
43 hours agoprocd: update to Git HEAD (2025-10-03)
Christian Marangi [Fri, 3 Oct 2025 21:56:14 +0000 (23:56 +0200)] 
procd: update to Git HEAD (2025-10-03)

ebfe7d0f2844 CMakeLists: update cmake minimum required version to 3.10

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
43 hours agorpcd: update to Git HEAD (2025-10-03)
Christian Marangi [Fri, 3 Oct 2025 21:55:57 +0000 (23:55 +0200)] 
rpcd: update to Git HEAD (2025-10-03)

cfb93f105ca2 CMakeLists: update cmake minimum required version to 3.10

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
43 hours agoubox: update to Git HEAD (2025-10-03)
Christian Marangi [Fri, 3 Oct 2025 21:55:41 +0000 (23:55 +0200)] 
ubox: update to Git HEAD (2025-10-03)

c75525a58a7e CMakeLists: update cmake minimum required version to 3.10

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
43 hours agoucert: update to Git HEAD (2025-10-03)
Christian Marangi [Fri, 3 Oct 2025 21:55:09 +0000 (23:55 +0200)] 
ucert: update to Git HEAD (2025-10-03)

57270b247c91 CMakeLists: update cmake minimum required version to 3.10

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
43 hours agourngd: update to Git HEAD (2025-10-03)
Christian Marangi [Fri, 3 Oct 2025 21:54:41 +0000 (23:54 +0200)] 
urngd: update to Git HEAD (2025-10-03)

f17e33d99427 CMakeLists: update cmake minimum required version to 3.10

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
43 hours agousign: update to Git HEAD (2025-10-03)
Christian Marangi [Fri, 3 Oct 2025 21:54:34 +0000 (23:54 +0200)] 
usign: update to Git HEAD (2025-10-03)

c4c72b1b0794 CMakeLists: update cmake minimum required version to 3.10

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
43 hours agougps: update to Git HEAD (2025-10-03)
Christian Marangi [Fri, 3 Oct 2025 21:54:26 +0000 (23:54 +0200)] 
ugps: update to Git HEAD (2025-10-03)

9a351d411113 CMakeLists: update cmake minimum required version to 3.10

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
47 hours agorealtek: rtl93xx: Ignore STP for per port TX 20184/head
Issam Hamdi [Tue, 9 Sep 2025 13:32:29 +0000 (15:32 +0200)] 
realtek: rtl93xx: Ignore STP for per port TX

If transmissions are done outside of the DSA switch (directly from the CPU
port), the STP state must not block the transmission. Otherwise, STP frames
are not correctly submitted and the STP frames cannot correctly detect
loops before switching a port in the forwarding state.

The same applies for the LLDP frames. These must be submitted independent
of the STP state to identify neighbors or configure POE limits.

It is not necessary to filter specific destination mac addresses because
the transmission was done outside the bridge/switch in the first place. The
transmission is therefore forced.

Signed-off-by: Issam Hamdi <ih@simonwunderlich.de>
Co-developed-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Link: https://github.com/openwrt/openwrt/pull/20184
Signed-off-by: Robert Marko <robimarko@gmail.com>
47 hours agorealtek: rtl93xx: dsa: Add support for port based mirroring 20264/head
Sharadanand Karanjkar [Tue, 15 Jul 2025 17:48:05 +0000 (19:48 +0200)] 
realtek: rtl93xx: dsa: Add support for port based mirroring

The RTL930X and RTL931X SoCs support port-based, flow-based, and
RSPAN-based mirroring. Like for other SoCs from the realtek target, only
the port based port mirroring can be exposed using Linux's tc subsystem.

The port_mirror_add() implementation was updated with the following
considerations for RTL93xx SoCs:

* mirrored packets must pass through the TX pipeline of the mirroring
  port, so they are subject to configuration such as VLAN tagging,
  remarking, and EVC
* when a packet hits both source ports (SPM) and destination port (DPM) of
  a mirror group, the egress port traffic will be mirrored

The port_mirror_del() function doesn't require any modifications.

Signed-off-by: Sharadanand Karanjkar <sk@simonwunderlich.de>
Co-developed-by: Sven Eckelmann <se@simonwunderlich.de>
Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/20264
Signed-off-by: Robert Marko <robimarko@gmail.com>
47 hours agorealtek: dsa: Keep HW specific mirror code in SoC helper
Sven Eckelmann [Tue, 15 Jul 2025 17:48:05 +0000 (19:48 +0200)] 
realtek: dsa: Keep HW specific mirror code in SoC helper

Instead of using a lot of if-else blocks in the port mirror code, provide
SoC specific function which calculates the SoC specific portions. The
generic part of the port mirroring code can then simply operate on the
calculated register addresses and values.

Suggested-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/20264
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 days agorealtek: Refresh kernel patches
Hauke Mehrtens [Fri, 3 Oct 2025 12:15:40 +0000 (14:15 +0200)] 
realtek: Refresh kernel patches

I just ran: make target/{clean,refresh} V=99

Fixes: 272a392fe19e ("realtek: rtl93xx: replace pending I2C patches with upstreamed patches")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agopackage: generate sha256sums by default
Paul Spooren [Wed, 1 Oct 2025 13:22:38 +0000 (15:22 +0200)] 
package: generate sha256sums by default

Right now the sha256sums are only created for the targets/ folder (i.e.
firmware images) and only the buildbot generates those sha256sums. Instead, let
the build system create the sha256sums directly.

Signed-off-by: Paul Spooren <mail@aparcar.org>
2 days agokernel: modules: fix mlxreg dependency to avoid deferred probe 20274/head
Til Kaiser [Thu, 2 Oct 2025 13:01:35 +0000 (15:01 +0200)] 
kernel: modules: fix mlxreg dependency to avoid deferred probe

The mlxreg-hotplug platform driver was failing to probe due to a missing
I²C multiplexer dependency. Previously, only kmod-i2c-mux-mlxcpld was
declared, but mlxreg also requires kmod-i2c-mux-reg to initialize its
I²C mux functionality.

Without this dependency, the driver probe was deferred:

  [   24.902331] platform mlxreg-hotplug: deferred probe pending: (reason unknown)

With kmod-i2c-mux-reg added, the probe succeeds and the expected
multiplexed I²C buses are registered:

  [   15.793884] i2c i2c-1: Added multiplexed i2c bus 2
  [   15.799391] i2c i2c-1: Added multiplexed i2c bus 3
  [   15.804830] i2c i2c-1: Added multiplexed i2c bus 4
  ...

Signed-off-by: Til Kaiser <mail@tk154.de>
Link: https://github.com/openwrt/openwrt/pull/20274
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 days agorockchip: add Radxa ROCK 4D support 20041/head
Tianling Shen [Sat, 13 Sep 2025 11:49:36 +0000 (19:49 +0800)] 
rockchip: add Radxa ROCK 4D support

Hardware
--------
RockChip RK3576 ARM64 (8 cores)
2/4/8/16GB LPDDR5 RAM
1x 1000 Base-T (with optional PoE support)
2x LEDs (POWER / USER)
eMMC/UFS connector
Micro-SD Slot
HDMI OUT
PCIe FPC connector
2x USB 2.0 Port
2x USB 3.0 Port
USB Type-C PD Power

Installation
------------
Uncompress the OpenWrt sysupgrade and write it to a micro SD card or
internal eMMC using dd.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20041
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agouboot-rockchip: add Radxa ROCK 4D support
Tianling Shen [Sat, 13 Sep 2025 11:49:36 +0000 (19:49 +0800)] 
uboot-rockchip: add Radxa ROCK 4D support

Add support for the Radxa ROCK 4D board.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20041
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agouboot-rockchip: backport RK3576 support
Tianling Shen [Sat, 13 Sep 2025 11:49:36 +0000 (19:49 +0800)] 
uboot-rockchip: backport RK3576 support

Backport core support for RK3576 SoCs.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20041
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agorkbin: pack rk3576 tpl blob
Tianling Shen [Sat, 13 Sep 2025 11:49:35 +0000 (19:49 +0800)] 
rkbin: pack rk3576 tpl blob

Currently there's no usable open source TPL implementation for
rk3576 SoCs, so pack the prebuilt firmware from the vendor.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20041
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agoarm-trusted-firmware-rockchip: Update to 2.13
Tianling Shen [Sat, 13 Sep 2025 11:49:35 +0000 (19:49 +0800)] 
arm-trusted-firmware-rockchip: Update to 2.13

Add RK3576 ATF build.

Changelog: https://trustedfirmware-a.readthedocs.io/en/v2.13.0/change-log.html#id1

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20041
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agorockchip: backport dts updates for rk3576
Tianling Shen [Sat, 13 Sep 2025 11:49:35 +0000 (19:49 +0800)] 
rockchip: backport dts updates for rk3576

Backport core dts updates for rk3576.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20041
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agorockchip: backport driver updates for rk3576
Tianling Shen [Sat, 13 Sep 2025 11:49:35 +0000 (19:49 +0800)] 
rockchip: backport driver updates for rk3576

Backport clk/phy/rng/ufs/usb driver updates for rk3576.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20041
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agorockchip: use per-SoC defined kernel loadaddr
Tianling Shen [Sat, 13 Sep 2025 11:49:35 +0000 (19:49 +0800)] 
rockchip: use per-SoC defined kernel loadaddr

The FIT loadaddr on RK3308/RK3566/RK3568/RK358x is 0x02000000
instead of 0x02080000, while on RK3576 it's 0x42000000, which is
quite different from the former SoCs and incompatible with current
kernel loadaddr value.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20041
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 days agorockchip: add DEVICE_DTS_DIR definition
Tianling Shen [Thu, 18 Sep 2025 14:26:51 +0000 (22:26 +0800)] 
rockchip: add DEVICE_DTS_DIR definition

Avoid duplicating `rockchip/` prefix when specifying dts path.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20041
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 days agorealtek: rtl93xx: replace pending I2C patches with upstreamed patches 20273/head
Jonas Jelonek [Fri, 12 Sep 2025 19:33:18 +0000 (19:33 +0000)] 
realtek: rtl93xx: replace pending I2C patches with upstreamed patches

Replace the pending I2C backport patches for RTL93XX added in
44655c97bb with the upstreamed variants. The patches have been accepted
upstream in the meantime and are included in v6.17 or v6.18.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20273
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 days agowifi-scripts: retry setup of wireless devices that show up late
Felix Fietkau [Thu, 2 Oct 2025 11:29:57 +0000 (13:29 +0200)] 
wifi-scripts: retry setup of wireless devices that show up late

When a phy appears after setup has already been attempted, tell netifd
to retry setup for all failed wireless devices.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 days agonetifd: send event after running wireless handler
Felix Fietkau [Thu, 2 Oct 2025 09:04:36 +0000 (11:04 +0200)] 
netifd: send event after running wireless handler

This can be used by other services to trigger reconfiguration, or detect when
PHY renaming has been performed.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 days agoprocd: update to Git HEAD (2025-10-02)
Felix Fietkau [Thu, 2 Oct 2025 09:04:10 +0000 (11:04 +0200)] 
procd: update to Git HEAD (2025-10-02)

ace5f272e139 service: fix use-after-free on service data update
94bfb9cf4238 service: implement set_data ubus method
cb40d082b126 service: send ubus notifications for event triggers

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 days agowifi-scripts: ucode: only set a hostapd config if it has interfaces
Felix Fietkau [Thu, 2 Oct 2025 08:46:43 +0000 (10:46 +0200)] 
wifi-scripts: ucode: only set a hostapd config if it has interfaces

Do not pass invalid configs to hostapd.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 days agonetifd: always call setup for disabled radios
Felix Fietkau [Thu, 2 Oct 2025 08:33:29 +0000 (10:33 +0200)] 
netifd: always call setup for disabled radios

Ensures that renaming is handled properly. For disabled radios, setup is
performed with an empty list of interfaces.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 days agorealtek: rtl931x: Add SPI_CTRL0 as pinmux 20263/head
Sven Eckelmann [Wed, 1 Oct 2025 12:47:09 +0000 (14:47 +0200)] 
realtek: rtl931x: Add SPI_CTRL0 as pinmux

The RTL931x has next to its SPI flash controller a SPI master interface. It
is connected to

* SPI_CS#[1,0]: AH22 , AK22 (aka: GPIO 12, 11)
* SPI_CLK:      AL23 (aka: GPIO 8)
* SPI_MISO:     AM23 (aka: GPIO 9)
* SPI_MOSI:     AL22 (aka: GPIO 10)

It is not the same as the SPI flash controller which uses pins:

* SPI_CS#[1,0]: B24, A24
* SPI_SCLK:     A23
* SPI_SDI/SIO0: B21
* SPO_SDO_SIO1: B21
* SPI_SIO2:     A22
* SPI_SIO3:     B22
* SPI_RSTN:     B23

As shown above, the SPI master controller shares its pin with GPIO 8, 9,
10, 11, 12. In some upcoming devices (like the Plasma Cloud PSX28/ESX28),
they will be used for SFP cage signaling. These pins must therefore be
switched manually to the GPIO mode.

The SPI_CTRL0 register provides all necessary configuration to enforce the
GPIO mode of the pins. And until more requirements (and a correct driver)
for the SPI master controller arise, it is therefore possible to use
pinctrl-single to configure it using the devicetree.

Previously the ethernet driver did configure the SPI master controller for
31.25 MHz. It is unknown for which kind of device this was originally made
and what was actually connected there. But this manual write to the
register conflicts potentially with the write of the pinctrl driver to the
same register. Luckily, we don't need this SPI speed configuration in the
ethernet driver. Still, to allow this device an easy migration, the
`spi0-31mhz` configuration was already prepared.

Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/20263
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 days agomediatek: fix polarity of user button on openwrt-one
Felix Fietkau [Fri, 8 Aug 2025 16:55:03 +0000 (18:55 +0200)] 
mediatek: fix polarity of user button on openwrt-one

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 days agomac80211: ath: improve ath10k "failed to flush transmit queue" errors 19529/head
Florian Maurer [Sun, 28 Sep 2025 22:38:03 +0000 (00:38 +0200)] 
mac80211: ath: improve ath10k "failed to flush transmit queue" errors

Currently, in busy environments, ath10k logs "failed to flush transmit
queue" errors and have a spiking CPU usage, making the wireless barely
usable.
With this patch, taken from https://patchwork.kernel.org/project/linux-wireless/patch/20250806070005.1429-1-hujy652@gmail.com/
this does not occur in normal operation and the wifi is much more stable

Supersedes #19427
Ref: https://github.com/openwrt/openwrt/issues/15929#issuecomment-2227391307
Ref: https://github.com/openwrt/openwrt/issues/14965

Signed-off-by: Florian Maurer <f.maurer@outlook.de>
Link: https://github.com/openwrt/openwrt/pull/19529
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 days agolibunwind: enable it to all targets 20193/head
Josef Schlehofer [Fri, 26 Sep 2025 18:11:29 +0000 (20:11 +0200)] 
libunwind: enable it to all targets

This commit will enable building for riscv64
and maybe for other platforms such as mipsel64.

Suggested-by: Rosen Penev <rosenp@gmail.com>
in https://github.com/openwrt/openwrt/pull/3871#issuecomment-778987028

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20193
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 days agolibunwind: avoid using $(PKG_NAME) in PKG_SOURCE_URL
Josef Schlehofer [Fri, 26 Sep 2025 18:09:22 +0000 (20:09 +0200)] 
libunwind: avoid using $(PKG_NAME) in PKG_SOURCE_URL

If there is used $(PKG_NAME) in PKG_SOURCE_URL,
then it can not be copy&pasted to the browser's address bar.

Let's remove $(PKG_NAME) and use hardcoded project name
in the PKG_SOURCE_URL

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20193
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 days agolibunwind: update to version 1.8.3
Josef Schlehofer [Fri, 26 Sep 2025 18:08:33 +0000 (20:08 +0200)] 
libunwind: update to version 1.8.3

Release notes:
https://github.com/libunwind/libunwind/releases/tag/v1.8.2
https://github.com/libunwind/libunwind/releases/tag/v1.8.3

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20193
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
4 days agofirmware-utils: revert commit breaking x86 MBR images
Daniel Golle [Wed, 1 Oct 2025 15:42:58 +0000 (16:42 +0100)] 
firmware-utils: revert commit breaking x86 MBR images

 0782d24 Revert "ptgen: do not create stub partition to fill a gap if gap caused by alignment"

Fixes: #20254
Fixes: c5ece837a3 ("firmware-utils: update to git HEAD")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 days agonetifd: update to Git HEAD (2025-09-30)
Felix Fietkau [Wed, 1 Oct 2025 08:08:44 +0000 (10:08 +0200)] 
netifd: update to Git HEAD (2025-09-30)

c3bf8fd913a4 interface: fix reload for devices that point to vlan aliases
22216cac7c94 bridge: fix reload when ports refer to aliased vlans on another bridge
ecca21ca07dd system: add logging wrappers for basic system functions

Signed-off-by: Felix Fietkau <nbd@nbd.name>
4 days agowifi-scripts: ucode: add support for setting Multi-AP profile/vlanid
Felix Fietkau [Wed, 1 Oct 2025 08:02:37 +0000 (10:02 +0200)] 
wifi-scripts: ucode: add support for setting Multi-AP profile/vlanid

Required for Profile-2 support.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
4 days agowpa_supplicant: report interface events and support querying interface status
Felix Fietkau [Wed, 1 Oct 2025 04:06:43 +0000 (06:06 +0200)] 
wpa_supplicant: report interface events and support querying interface status

Makes information like Multi-AP status (including VLAN ID) accessible

Signed-off-by: Felix Fietkau <nbd@nbd.name>
4 days agowpa_supplicant: include multi-ap status in interface state
Felix Fietkau [Wed, 1 Oct 2025 04:06:15 +0000 (06:06 +0200)] 
wpa_supplicant: include multi-ap status in interface state

This can be used to read the Multi-AP profile and default VLAN ID

Signed-off-by: Felix Fietkau <nbd@nbd.name>
4 days agowpa_supplicant: do not wait for notify completion
Felix Fietkau [Wed, 1 Oct 2025 03:33:52 +0000 (05:33 +0200)] 
wpa_supplicant: do not wait for notify completion

There is no callback, so no use tracking the request status.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
4 days agorealtek: rtl930x: Fix Plasma Cloud PSX8/PSX10 copper phy-mode 20239/head
Sven Eckelmann [Mon, 29 Sep 2025 15:48:00 +0000 (17:48 +0200)] 
realtek: rtl930x: Fix Plasma Cloud PSX8/PSX10 copper phy-mode

The RTL8224 used by Plasma Cloud PSX8/PSX10 is not using USXGMII but
USXGMII 10G-QXGMII mode. The correct phy-mode string for this is
"10g-qxgmii".

Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/20239
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agorealtek: Work around missing 10g-qxgmii PHY mode
Sven Eckelmann [Tue, 30 Sep 2025 07:06:57 +0000 (09:06 +0200)] 
realtek: Work around missing 10g-qxgmii PHY mode

The current SerDes implementation for RTL931x handles 10G-QXGMII via the
"usxgmii" PHY mode. This is not 100% correct because it is not a single
port with 10G (max) but 4 ports with 2.5G each.

To allow setting of the "10g-qxgmii" phy mode, just change the code for now
to use the same codepaths as USXGMII. This has to be cleaned up further
during the SerDes driver rewrites.

Suggested-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/20239
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agorealtek: rtl931x: Enable REALTEK_PHY for RTL8224 support
Sven Eckelmann [Wed, 30 Jul 2025 05:39:32 +0000 (07:39 +0200)] 
realtek: rtl931x: Enable REALTEK_PHY for RTL8224 support

The Plasma Cloud PSX28 and ESX28 are using RTL8224 as ethernet PHY. This
phy works perfectly fine on PSX8/PSX10 (RTL930x) but failed to establish a link
on rtl931x because the upstream realtek phy driver was not enabled.

Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/20239
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agohostapd: skip add call on already present MLD interfaces
Felix Fietkau [Tue, 30 Sep 2025 14:44:01 +0000 (16:44 +0200)] 
hostapd: skip add call on already present MLD interfaces

Avoid tearing down running interfaces

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 days agouboot-mediatek: rax3000m: use ddr3-1866mhz built in the dependency
Chuanhong Guo [Tue, 30 Sep 2025 13:04:51 +0000 (21:04 +0800)] 
uboot-mediatek: rax3000m: use ddr3-1866mhz built in the dependency

The u-boot of cmcc_rax3000m_*-ddr3 declares a dependency on
trusted-firmware-a-mt7981-*-ddr3-1866mhz, while actually packages
the normal BL2. This causes build failure if the the non-1866m
variant isn't built.
According to the previous commit, it's intended to use the lower
frequency variant to fix device stability issues. Correct
BL2_DDRTYPE as intended.

Fixes: 028050da69 ("mediatek: CMCC RAX3000Me: fix stability issues")
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
5 days agoinclude: make APK packing mtime reproducible
Paul Spooren [Tue, 30 Sep 2025 12:17:11 +0000 (14:17 +0200)] 
include: make APK packing mtime reproducible

APK kindly stores the mtime of each containing file in created packages,
breaking reproducibility. As a fix, touch all files of the package with the
timestamp of PKGSOURCE_DATE_EPOCH, which contains the timestamp based on the
last package modification.

Over at OPKG, something similar is done by setting mtime in the tar command,
see the `ipkg-build` script.

To tackle this in APK directly, some changes are suggested. However until this
is merged, we should fix it downstream.
https://gitlab.alpinelinux.org/alpine/apk-tools/-/merge_requests/348

Signed-off-by: Paul Spooren <mail@aparcar.org>
5 days agorpcd: update to git HEAD
Daniel Golle [Tue, 30 Sep 2025 11:38:54 +0000 (12:38 +0100)] 
rpcd: update to git HEAD

 d4fa147 rpc-sys: packagelist: handle ABI versions in apk world properly

Signed-off-by: Daniel Golle <daniel@makrotopia.org>