openwrt/staging/blocktrron.git
5 weeks agomediatek: add support for Cudy TR3000 256MB v1 flash version
cheng wang [Sun, 22 Jun 2025 00:44:30 +0000 (08:44 +0800)]
mediatek: add support for Cudy TR3000  256MB  v1 flash version

This device is similar to the Cudy TR3000 v1 128MB version.
The difference is that the flash memory is 128mb and the other is 256mb

Hardware:
 - SoC: MediaTek MT7981B
 - CPU: 2x 1.3 GHz Cortex-A53
 - Flash: 256 MiB SPI NAND
 - RAM: 512 MiB
 - WLAN: 2.4 GHz, 5 GHz (MediaTek MT7976CN, 802.11ax)
 - Ethernet: 1x 10/100/1000/2500 Mbps RTL8221B WAN, 1x10/100/1000 Mbps MT7981 LAN
 - USB 3.0 port
 - Buttons: 1 Reset button, 1 slider button
 - LEDs: 1x Red, 1x White
 - Power: 5 VDC, 3 A

Installation:
Cudy has distributed intermediate firmware to make installation easier
1. Go to [Cudy CN official website](https://www.cudy.com/zh-cn/pages/download-center/tr3000-1-0) and download the intermediate firmware
2. Upgrade the intermediate firmware on the page
3. Visit the intermediate firmware 192.168.1.1 webpage and use the sysupgrade image to update

other:
If you fail to flash the device, you can use TFTP to flash back to the original firmware.
1. Ask Cudy CN official customer service for the original firmware
2. With the router off, press the RESET button. While the router is turning on, the button should continue to be pressed for at least 5 seconds.
3. A u-boot shell will automatically open.
4. Connect to LAN and set your IP to 192.168.1.88/24. Configure a TFTP server and an recovery.bin firmware file.

Signed-off-by: cheng wang <typedelta@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/19167
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 weeks agoomnia-eeprom: simplify Makefile
Josef Schlehofer [Wed, 11 Jun 2025 20:56:54 +0000 (22:56 +0200)]
omnia-eeprom: simplify Makefile

1. No need to explicitly call the defaults
2. There is efficient way how to set PKG_BUILD_DIR,
which allows to drop PKG_SOURCE_DIR.

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19105
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 weeks agorealtek: remove patches, files and config for 6.6
Jonas Jelonek [Sun, 22 Jun 2025 09:48:01 +0000 (09:48 +0000)]
realtek: remove patches, files and config for 6.6

Remove all files etc. for 6.6 because 6.12 is default now.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19139
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agorealtek: switch to 6.12 as default
Jonas Jelonek [Sat, 14 Jun 2025 21:49:22 +0000 (21:49 +0000)]
realtek: switch to 6.12 as default

Use Linux 6.12 as default for all subtargets.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19139
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agorealtek: make use of serdes helper for Zyxel XGS1210-12
Markus Stockhausen [Tue, 17 Jun 2025 05:43:55 +0000 (01:43 -0400)]
realtek: make use of serdes helper for Zyxel XGS1210-12

Use the new INTERNAL_PHY_SDS() helper to describe the SFP ports. For
this device it is only a substitution of the existing DTS configuration.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18851
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agorealtek: make use of serdes helper for Zyxel XGS1250-12
Markus Stockhausen [Tue, 17 Jun 2025 05:42:16 +0000 (01:42 -0400)]
realtek: make use of serdes helper for Zyxel XGS1250-12

Use the new INTERNAL_PHY_SDS() helper to describe the SFP ports. For
this device it is only a substitution of the existing DTS configuration.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18851
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agorealtek: make use of serdes helper for TP-Link TL-ST1008F v2.0
Markus Stockhausen [Tue, 17 Jun 2025 05:38:27 +0000 (01:38 -0400)]
realtek: make use of serdes helper for TP-Link TL-ST1008F v2.0

Use the new INTERNAL_PHY_SDS() helper to describe the SFP ports. For
this device it is only a substitution of the existing DTS configuration.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18851
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agorealtek: make use of serdes helper for XIKESTOR SKS8300-8X
Markus Stockhausen [Tue, 20 May 2025 08:10:17 +0000 (04:10 -0400)]
realtek: make use of serdes helper for XIKESTOR SKS8300-8X

Use the new INTERNAL_PHY_SDS() helper to describe the SFP ports. For
this device it is only a substitution of the existing DTS configuration.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18851
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agorealtek: make use of serdes helper for Zyxel GS1900-24(HP) v1/v2
Markus Stockhausen [Tue, 20 May 2025 08:09:19 +0000 (04:09 -0400)]
realtek: make use of serdes helper for Zyxel GS1900-24(HP) v1/v2

Use the new INTERNAL_PHY_SDS() helper to describe the SFP ports. With
this change the driver now knows that ports 24/26 are driven by serdes
4/5.

For the RTL838x devices this is currently only an additional information
for the mdio bus. It is not evaluated further because everything is
hardcoded.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18851
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agorealtek: make use of serdes helper for D-Link DGS-1210-26
Markus Stockhausen [Tue, 20 May 2025 08:07:05 +0000 (04:07 -0400)]
realtek: make use of serdes helper for D-Link DGS-1210-26

Use the new INTERNAL_PHY_SDS() helper to describe the SFP ports. With
this change the driver now knows that ports 24/26 are driven by serdes
4/5.

For the RTL838x devices this is currently only an additional information
for the mdio bus. It is not evaluated further because everything is
hardcoded.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18851
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agorealtek: make use of serdes helper for D-Link DGS-1210-10P
Markus Stockhausen [Tue, 20 May 2025 08:06:32 +0000 (04:06 -0400)]
realtek: make use of serdes helper for D-Link DGS-1210-10P

Use the new INTERNAL_PHY_SDS() helper to describe the SFP ports. With
this change the driver now knows that ports 24/26 are driven by serdes
4/5.

For the RTL838x devices this is currently only an additional information
for the mdio bus. It is not evaluated further because everything is
hardcoded.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18851
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agorealtek: make use of serdes helper for Zyxel GS1900-10HP
Markus Stockhausen [Tue, 20 May 2025 08:06:10 +0000 (04:06 -0400)]
realtek: make use of serdes helper for Zyxel GS1900-10HP

Use the new INTERNAL_PHY_SDS() helper to describe the SFP ports. With
this change the driver now knows that ports 24/26 are driven by serdes
4/5.

For the RTL838x devices this is currently only an additional information
for the mdio bus. It is not evaluated further because everything is
hardcoded.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18851
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agorealtek: make use of serdes helper for TP-Link SG2xxx
Markus Stockhausen [Tue, 20 May 2025 08:05:43 +0000 (04:05 -0400)]
realtek: make use of serdes helper for TP-Link SG2xxx

Use the new INTERNAL_PHY_SDS() helper to describe the SFP ports. With
this change the driver now knows that ports 24/26 are driven by serdes
4/5.

For the RTL838x devices this is currently only an additional information
for the mdio bus. It is not evaluated further because everything is
hardcoded.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18851
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agorealtek: make use of serdes helper for Panasonic M8EG PN28080K
Markus Stockhausen [Tue, 20 May 2025 08:04:44 +0000 (04:04 -0400)]
realtek: make use of serdes helper for Panasonic M8EG PN28080K

Use the new INTERNAL_PHY_SDS() helper to describe the SFP ports. With
this change the driver now knows that ports 24/26 are driven by serdes
4/5.

For the RTL838x devices this is currently only an additional information
for the mdio bus. It is not evaluated further because everything is
hardcoded.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18851
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agorealtek: make use of serdes helper for Netgear GS310TP v1
Markus Stockhausen [Tue, 20 May 2025 07:55:52 +0000 (03:55 -0400)]
realtek: make use of serdes helper for Netgear GS310TP v1

Use the new INTERNAL_PHY_SDS() helper to describe the SFP ports. With
this change the driver now knows that ports 24/26 are driven by serdes
4/5.

For the RTL838x devices this is currently only an additional information
for the mdio bus. It is not evaluated further because everything is
hardcoded.

REMARK! The original commit c829bc1f2c3c47e2 ("realtek: Add support for
Netgear S350 series switches GS308T and GS310TP") says that the SFP
ports are untested. Looking at device internal pictures from
https://techinfodepot.shoutwiki.com/wiki/Netgear_GS310TP there are no
external phys for the SFP ports. So fix port description.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18851
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agorealtek: make use of serdes helper for HPE 1920 8G
Markus Stockhausen [Tue, 20 May 2025 07:55:12 +0000 (03:55 -0400)]
realtek: make use of serdes helper for HPE 1920 8G

Use the new INTERNAL_PHY_SDS() helper to describe the SFP ports. With
this change the driver now knows that ports 24/26 are driven by serdes
4/5.

For the RTL838x devices this is currently only an additional information
for the mdio bus. It is not evaluated further because everything is
hardcoded.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18851
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agorealtek: make use of serdes helper for Engenius EWS2910P
Markus Stockhausen [Tue, 20 May 2025 07:54:26 +0000 (03:54 -0400)]
realtek: make use of serdes helper for Engenius EWS2910P

Use the new INTERNAL_PHY_SDS() helper to describe the SFP ports. With
this change the driver now knows that ports 24/26 are driven by serdes
4/5.

For the RTL838x devices this is currently only an additional information
for the mdio bus. It is not evaluated further because everything is
hardcoded.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18851
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agorealtek: make use of serdes helper for D-Link DGS-1210-10MP
Markus Stockhausen [Tue, 20 May 2025 07:51:44 +0000 (03:51 -0400)]
realtek: make use of serdes helper for D-Link DGS-1210-10MP

Use the new INTERNAL_PHY_SDS() helper to describe the SFP ports. With
this change the driver now knows that ports 24/26 are driven by serdes
4/5.

For the RTL838x devices this is currently only an additional information
for the mdio bus. It is not evaluated further because everything is
hardcoded.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18851
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agorealtek: make use of serdes helper for Linksys LGS310C
Markus Stockhausen [Tue, 20 May 2025 07:46:04 +0000 (03:46 -0400)]
realtek: make use of serdes helper for Linksys LGS310C

Use the new INTERNAL_PHY_SDS() helper to describe the SFP ports. With
this change the driver now knows that ports 24/26 are driven by serdes
4/5.

For the RTL838x devices this is currently only an additional information
for the mdio bus. It is not evaluated further because everything is
hardcoded.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18851
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agorealtek: add dts helper for internal phy with serdes
Markus Stockhausen [Tue, 20 May 2025 07:37:10 +0000 (03:37 -0400)]
realtek: add dts helper for internal phy with serdes

Until now only the RTL930x devices make use of the following notation.

  phy8: ethernet-phy@8 {
    compatible = "ethernet-phy-ieee802.3-c22";
    phy-is-integrated;
    reg = <8>;
    sds = <3>;
  };

This indicates that the link is driven by a serdes directly without
external phy. As the devices have multiple serdes it must be clarified
what serdes is responsible for that port.

Nevertheless all other devices have the same requirements. E.g. RTL838x
usually drives port 24 from serdes 4 and port 26 from serdes 5. All this
currently works because the driver has a lot of hardcoded port/serdes
mapping.

Make the situation better by adding dts helpers that can describe the
topology as needed.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18851
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agokernel: Fix IPv6 UDP fragmentation regression
Hauke Mehrtens [Sat, 21 Jun 2025 17:17:46 +0000 (19:17 +0200)]
kernel: Fix IPv6 UDP fragmentation regression

Fixes a IPv6 UDP fragmentation regression introduced in v6.6.93.

Fixes: https://github.com/openwrt/openwrt/issues/19198
Link: https://github.com/openwrt/openwrt/pull/19199
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 weeks agopackage: include abiversion tag in package metadata
Eric Fahlgren [Mon, 9 Jun 2025 23:59:13 +0000 (16:59 -0700)]
package: include abiversion tag in package metadata

OpenWrt library packages are often named using their ABI version,
for example 'libubus20250102'.  Updates that cause the ABI version
to change result in changes to the package name.  This makes it
impossible for downstream tools to determine when a package update
is available without further information.

The opkg package manager stores the ABI version as part of its
package metadata in the ABIVersion field.  This makes extraction
of the canonical name of the package possible, allowing various
versions of a package to be associated with one another, their
versions or build dates compared.

We add a custom tag 'openwrt:abiversion=<ABI version>' to the
apk v3 package metadata, restoring the status quo and making it
functionally backwards compatible with opkg (the tag format was
selected per the guidelines in the apk-tools documentation).

Links: https://gitlab.alpinelinux.org/alpine/apk-tools/-/commit/1925de55beef8859c987f72c3b2727d756296ddb
Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19082
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agokernel: Add missing config option
Hauke Mehrtens [Sat, 21 Jun 2025 17:21:51 +0000 (19:21 +0200)]
kernel: Add missing config option

This broke the armsr/armv8 build.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Link: https://github.com/openwrt/openwrt/pull/19200
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agokernel: Refresh kernel configs
Hauke Mehrtens [Sat, 21 Jun 2025 17:23:47 +0000 (19:23 +0200)]
kernel: Refresh kernel configs

Run this script:
./scripts/kconfig-reorder.sh

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Link: https://github.com/openwrt/openwrt/pull/19200
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agorealtek: switch HP-1920-48G to new shared gpio driver
Joe Holden [Sun, 25 May 2025 12:13:30 +0000 (12:13 +0000)]
realtek: switch HP-1920-48G to new shared gpio driver

This allows the SFPs to work without manually switching port type.

Signed-off-by: Joe Holden <jwh@zorins.us>
Link: https://github.com/openwrt/openwrt/pull/18914
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agortl839x: fix sfp ports on HPE 1920-48G PoE
Joe Holden [Sat, 3 May 2025 15:04:56 +0000 (15:04 +0000)]
rtl839x: fix sfp ports on HPE 1920-48G PoE

The 4 sfp ports on the RTL8214FC are actually wired to the gpio expander instead of internal.

Relatively minor changes to the dts are required, simply overriding some of the properties
inherited from rtl8393_hpe_1920.dtsi.

The speed is reported as 100/full and the media type is incorrect, but the ports pass traffic
just fine.

Signed-off-by: Joe Holden <jwh@zorins.us>
Link: https://github.com/openwrt/openwrt/pull/18914
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agoqualcommbe: enable CONFIG_THERMAL and CONFIG_THERMAL_HWMON
Zheng Zhang [Sat, 14 Jun 2025 14:56:04 +0000 (22:56 +0800)]
qualcommbe: enable CONFIG_THERMAL and CONFIG_THERMAL_HWMON

The Qualcomm TSENS driver only exposes sensors to as a thermal
zone without registering hwmon, making these temperature sensors
unreadable by lm-sensors. This commit enables CONFIG_THERMAL and
CONFIG_THERMAL_HWMON for qualcommbe target to access the sensors
from hwmon.

Suggested-by: Yao Zi <ziyao@disroot.org>
Signed-off-by: Zheng Zhang <everything411@qq.com>
Link: https://github.com/openwrt/openwrt/pull/19137
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agoqualcommax: enable CONFIG_THERMAL and CONFIG_THERMAL_HWMON
Zheng Zhang [Sun, 15 Jun 2025 00:34:26 +0000 (08:34 +0800)]
qualcommax: enable CONFIG_THERMAL and CONFIG_THERMAL_HWMON

The Qualcomm TSENS driver only exposes sensors to as a thermal
zone without registering hwmon, making these temperature sensors
unreadable by lm-sensors. This commit enables CONFIG_THERMAL and
CONFIG_THERMAL_HWMON for qualcommax targets to access the sensors
from hwmon.

Suggested-by: Yao Zi <ziyao@disroot.org>
Signed-off-by: Zheng Zhang <everything411@qq.com>
Link: https://github.com/openwrt/openwrt/pull/19137
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agokernel: remove expired i40evf drivers
xiao bo [Sun, 22 Jun 2025 01:29:15 +0000 (09:29 +0800)]
kernel: remove expired i40evf drivers

In the development history of Intel's drivers, the i40evf driver was later
renamed the iavf driver. For example, some documents mention that
Intel® Network Connections Software Version 24.0 renamed the i40evf
and ixlv drivers to iavf. In subsequent versions, the i40evf driver was
gradually removed, and its functions were taken over by the iavf driver.
In the Linux system, relevant configuration instructions also exist. For
instance, the User Guide for X722 Onboard Network Card states that the
i40evf driver module should be disabled, and the iavf driver should be
installed and used.

blamed commit: https://github.com/openwrt/openwrt/commit/5d81b28a829ac20fb60991e71ee7a7c53d14fd58

Signed-off-by: xiao bo <peterwillcn@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19197
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 weeks agowifi-scripts: enforce management frame protection on 6 GHz
Felix Fietkau [Wed, 11 Jun 2025 09:34:16 +0000 (11:34 +0200)]
wifi-scripts: enforce management frame protection on 6 GHz

Configurations that don't enforce it are rejected by hostapd

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 weeks agowifi-scripts: enable GCMP-256 by default on WPA3/OWE configurations with HE or EHT
Felix Fietkau [Wed, 11 Jun 2025 09:28:12 +0000 (11:28 +0200)]
wifi-scripts: enable GCMP-256 by default on WPA3/OWE configurations with HE or EHT

GCMP-256 support is mandatory with EHT, but HE hardware can already be expected
to support it.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 weeks agowifi-scripts: on psk-sae configurations, disable PSK support on 6 GHz
Felix Fietkau [Wed, 11 Jun 2025 09:05:04 +0000 (11:05 +0200)]
wifi-scripts: on psk-sae configurations, disable PSK support on 6 GHz

This allows sharing a wifi-iface section across bands while enforcing the no-PSK
rule for 6 GHz

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 weeks agounetmsg: make remote connection TCP timeout more aggressive
Felix Fietkau [Sat, 21 Jun 2025 15:12:05 +0000 (17:12 +0200)]
unetmsg: make remote connection TCP timeout more aggressive

It is meant for reliable network connections, so requests should fail
early if a node goes down.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 weeks agostm32: modules: add missing dependency for stm32-dfsdm-adc
Thomas Richard [Mon, 12 May 2025 12:17:43 +0000 (14:17 +0200)]
stm32: modules: add missing dependency for stm32-dfsdm-adc

Now on Linux 6.12, stm32-dfsdm-adc also depends on
kmod-industrialio-backend.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/18740
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 weeks agokernel: modules: iio: package industrialio-backend module
Thomas Richard [Mon, 12 May 2025 12:15:37 +0000 (14:15 +0200)]
kernel: modules: iio: package industrialio-backend module

The stm32-dfsdm-adc module depends on it (kernel 6.12).

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/18740
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 weeks agostm32: modules: add kmod-stm32-dcmipp package
Thomas Richard [Wed, 7 May 2025 18:02:29 +0000 (20:02 +0200)]
stm32: modules: add kmod-stm32-dcmipp package

Add kernel module package for Digital Camera Memory Interface Pixel
Processor (DCMIPP) support for kernel 6.12.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/18740
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 weeks agostm32: enable 6.12 testing kernel
Thomas Richard [Mon, 5 May 2025 08:30:35 +0000 (10:30 +0200)]
stm32: enable 6.12 testing kernel

The stm32 target now supports 6.12 kernel as testing.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/18740
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 weeks agostm32: 6.12: update kernel 6.12 config
Thomas Richard [Wed, 7 May 2025 15:53:59 +0000 (17:53 +0200)]
stm32: 6.12: update kernel 6.12 config

Update stm32mp1 kernel config for 6.12.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/18740
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 weeks agostm32: 6.12: refresh kernel patches
Thomas Richard [Wed, 7 May 2025 15:53:47 +0000 (17:53 +0200)]
stm32: 6.12: refresh kernel patches

Drop upstreamed patches and refresh remaining ones.

Manually rebased:
- 033-ARM-dts-stm32-rtc-add-LSCO-to-WLAN-BT-module-on-stm3.patch
- 035-ARM-dts-stm32-rtc-add-pin-to-provide-LSCO-on-stm32mp.patch

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/18740
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 weeks agokernel/stm32: Restore kernel files for v6.6
Thomas Richard [Mon, 5 May 2025 08:28:59 +0000 (10:28 +0200)]
kernel/stm32: Restore kernel files for v6.6

This is an automatically generated commit which aids following Kernel patch
history, as git will see the move and copy as a rename thus defeating the
purpose.

For the original discussion see:
https://lists.openwrt.org/pipermail/openwrt-devel/2023-October/041673.html

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/18740
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 weeks agokernel/stm32: Create kernel files for v6.12 (from v6.6)
Thomas Richard [Mon, 5 May 2025 08:28:59 +0000 (10:28 +0200)]
kernel/stm32: Create kernel files for v6.12 (from v6.6)

This is an automatically generated commit.

When doing `git bisect`, consider `git bisect --skip`.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/18740
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 weeks agoutil-linux: add wdctl
Wei-Ting Yang [Fri, 6 Jun 2025 11:18:33 +0000 (19:18 +0800)]
util-linux: add wdctl

Add the wdctl utility.

Signed-off-by: Wei-Ting Yang <williamatcg@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19041
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 weeks agoutil-linux: remove redundant slashes
Wei-Ting Yang [Fri, 6 Jun 2025 11:58:35 +0000 (19:58 +0800)]
util-linux: remove redundant slashes

Remove redundant slashes.

Signed-off-by: Wei-Ting Yang <williamatcg@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19041
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 weeks agokernel: enable memory mapped TPM interface on armsr
Mathew McBride [Thu, 12 Jun 2025 02:17:47 +0000 (12:17 +1000)]
kernel: enable memory mapped TPM interface on armsr

The memory mapped TPM interface (TIS) can be used for
emulated or virtualized TPM instances with QEMU and
a simulation package like swtpm.

On QEMU the device will appear in the device tree
with a "tcg,tpm-tis-mmio" compatible.

For example:
qemu-system-aarch64 -machine virt -cpu max \
    -bios u-boot.bin \
    -nographic \
    .... \
    -hda openwrt-armsr-armv8-combined-efi.img \
    -chardev socket,id=chrtpm,path=/tmp/mytpm/swtpm-sock \
    -tpmdev emulator,id=tpm0,chardev=chrtpm \
    -device tpm-tis-device,tpmdev=tpm0

Signed-off-by: Mathew McBride <matt@traverse.com.au>
Link: https://github.com/openwrt/openwrt/pull/19188
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 weeks agouboot-envtools: cns3xxx: remove config file
Shiji Yang [Mon, 5 May 2025 13:56:15 +0000 (21:56 +0800)]
uboot-envtools: cns3xxx: remove config file

This file is a leftover of cns3xxx target which has been dropped
in commit a9790dff532e ("cns3xxx: drop target").

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/19191
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 weeks agokernel: bump 6.6 to 6.6.94
John Audia [Thu, 19 Jun 2025 14:59:11 +0000 (10:59 -0400)]
kernel: bump 6.6 to 6.6.94

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

Removed upstreamed:
generic/backport-6.6/421-01-v6.16-spi-bcm63xx-spi-fix-shared-reset.patch[1]
generic/backport-6.6/421-02-v6.16-spi-bcm63xx-hsspi-fix-shared-reset.patch[2]
generic/backport-6.6/725-01-v6.16-net-dsa-tag_brcm-legacy-fix-pskb_may_pull-length.patch[3]
mvebu/patches-6.6/0001-v6.16-pinctrl-armada-37xx-use-correct-OUTPUT_VAL-register-.patch[4]
mvebu/patches-6.6/0002-v6.16-pinctrl-armada-37xx-set-GPIO-output-value-before-set.patch[5]

Added new back-port:
generic/backport-6.6/001-powerpc-kernel-Fix-pcc_save_regs-inclusion.patch[6]
All other patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.94&id=29abb7fc82443bee273ba4623ce319bf7ba1d43d
2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.94&id=59d5f3134b5c265df233b7f385bbe718191411be
3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.94&id=2e02edb66427e3b8752e1f3dd3cfc1bef3f2357b
4. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.94&id=39ed85ae485d991ffb24d25629a679c0b22e2d8f
5. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.94&id=8f0f45a312151a52aae920a091ea4b454ac97caf
6. Addresses a build failure for pcc

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

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/19183
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 weeks agokernel: bump 6.12 to 6.12.34
Shiji Yang [Thu, 19 Jun 2025 16:01:11 +0000 (00:01 +0800)]
kernel: bump 6.12 to 6.12.34

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

Remove upstreamed patches:
  generic/backport-6.12/421-01-v6.16-spi-bcm63xx-spi-fix-shared-reset.patch [1]
  generic/backport-6.12/421-02-v6.16-spi-bcm63xx-hsspi-fix-shared-reset.patch [2]
  generic/backport-6.12/610-06-v6.16-net-dsa-b53-do-not-enable-RGMII-delay-on-bcm63xx.patch [3]
  generic/backport-6.12/610-08-v6.16-net-dsa-b53-allow-RGMII-for-bcm63xx-RGMII-ports.patch [4]
  generic/backport-6.12/610-09-v6.16-net-dsa-b53-do-not-touch-DLL_IQQD-on-bcm53115.patch [5]
  generic/backport-6.12/611-v6.16-net-dsa-tag_brcm-legacy-fix-pskb_may_pull-length.patch [6]

Manually rebased patches:
  bcm27xx/patches-6.12/950-0665-drm-vc4-tests-Drop-drm-parameter-for-vc4_find_crtc_f.patch [7]

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.34&id=408ca1d1803b223d615f9021055f9ccb4f4863ea
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.34&id=2a98786e258718ff93ef6d6bd26a9a39076e0cb7
[3] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.34&id=6d1c93a5c6b0ae87bb7001d8d6fdef3b3be9c6c6
[4] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.34&id=1aa31695bf0dc1ee3e6c559c14db7fd05b6bb102
[5] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.34&id=b2fc08d276797e529cacad6fa9d704a7367090b5
[6] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.34&id=2c32fc56c05aa69439fdfd5e0b25f57e2a158627
[7] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.34&id=aba86d49e5ac3700295ab8c417436abacc19cc32

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/19184
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 weeks agoucode: add ubus refcounting fix
Felix Fietkau [Fri, 20 Jun 2025 20:54:12 +0000 (22:54 +0200)]
ucode: add ubus refcounting fix

Fixes a regression in the last ucode update

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 weeks agohostapd: fix generating own neighbor report for dynamically added/changed interfaces
Felix Fietkau [Fri, 20 Jun 2025 12:26:27 +0000 (14:26 +0200)]
hostapd: fix generating own neighbor report for dynamically added/changed interfaces

hostapd_neighbor_set_own_report is normally called from interface setup only.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 weeks agohostapd: fix dealing with mac address changes for the primary BSS
Felix Fietkau [Fri, 20 Jun 2025 12:20:36 +0000 (14:20 +0200)]
hostapd: fix dealing with mac address changes for the primary BSS

Ensure that hapd->own_addr is set properly, since hostapd_setup_bss
only handles it for secondary BSS interfaces

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 weeks agomvebu: add 6.12 testing kernel
Stefan Kalscheuer [Sat, 31 May 2025 10:40:11 +0000 (12:40 +0200)]
mvebu: add 6.12 testing kernel

Add 6.12 testing kernel for mvebu target.

Signed-off-by: Stefan Kalscheuer <stefan@stklcode.de>
Link: https://github.com/openwrt/openwrt/pull/18975
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 weeks agomvebu: 6.12: refresh kernel config
Stefan Kalscheuer [Sat, 31 May 2025 10:23:13 +0000 (12:23 +0200)]
mvebu: 6.12: refresh kernel config

Add new and remove obsolete symbols for Kernel 6.12

Signed-off-by: Stefan Kalscheuer <stefan@stklcode.de>
Link: https://github.com/openwrt/openwrt/pull/18975
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 weeks agomvebu: 6.12: refresh patches
Stefan Kalscheuer [Sat, 31 May 2025 10:09:38 +0000 (12:09 +0200)]
mvebu: 6.12: refresh patches

Drop upstreamed patches:
0001-v6.16-pinctrl-armada-37xx-use-correct-OUTPUT_VAL-register-.patch
0002-v6.16-pinctrl-armada-37xx-set-GPIO-output-value-before-set.patch
820-v6.11-01-dt-bindings-firmware-add-cznic-turris-omnia-mcu-bind.patch
820-v6.11-02-platform-cznic-Add-preliminary-support-for-Turris-Om.patch
820-v6.11-03-platform-cznic-turris-omnia-mcu-Add-support-for-MCU-.patch
820-v6.11-04-platform-cznic-turris-omnia-mcu-Add-support-for-powe.patch
820-v6.11-05-platform-cznic-turris-omnia-mcu-Add-support-for-MCU-.patch
820-v6.11-06-platform-cznic-turris-omnia-mcu-Add-support-for-MCU-.patch
820-v6.11-07-ARM-dts-turris-omnia-Add-MCU-system-controller-node.patch
820-v6.11-08-ARM-dts-turris-omnia-Add-GPIO-key-node-for-front-but.patch
820-v6.11-09-platform-cznic-turris-omnia-mcu-Depend-on-OF.patch
820-v6.11-10-platform-cznic-turris-omnia-mcu-Depend-on-WATCHDOG.patch
820-v6.11-11-platform-cznic-turris-omnia-mcu-fix-Kconfig-dependen.patch

Manually refreshed:
310-linksys-use-eth0-as-cpu-port.patch
350-drivers-thermal-step_wise-add-support-for-hysteresis.patch
901-dt-bindings-Add-IEI-vendor-prefix-and-IEI-WT61P803-P.patch
902-drivers-mfd-Add-a-driver-for-IEI-WT61P803-PUZZLE-MCU.patch
910-drivers-leds-wt61p803-puzzle-improvements.patch

All other patches automatically refreshed.

Signed-off-by: Stefan Kalscheuer <stefan@stklcode.de>
Link: https://github.com/openwrt/openwrt/pull/18975
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 weeks agokernel/mvebu: Restore kernel files for v6.6
Stefan Kalscheuer [Sat, 31 May 2025 07:30:51 +0000 (09:30 +0200)]
kernel/mvebu: Restore kernel files for v6.6

This is an automatically generated commit which aids following Kernel patch
history, as git will see the move and copy as a rename thus defeating the
purpose.

For the original discussion see:
https://lists.openwrt.org/pipermail/openwrt-devel/2023-October/041673.html

Signed-off-by: Stefan Kalscheuer <stefan@stklcode.de>
Link: https://github.com/openwrt/openwrt/pull/18975
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 weeks agokernel/mvebu: Create kernel files for v6.12 (from v6.6)
Stefan Kalscheuer [Sat, 31 May 2025 07:30:51 +0000 (09:30 +0200)]
kernel/mvebu: Create kernel files for v6.12 (from v6.6)

This is an automatically generated commit.

When doing `git bisect`, consider `git bisect --skip`.

Signed-off-by: Stefan Kalscheuer <stefan@stklcode.de>
Link: https://github.com/openwrt/openwrt/pull/18975
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 weeks agomediatek: 6.12: fix cci driver probe for mt7988d
Chukun Pan [Mon, 16 Jun 2025 15:06:38 +0000 (23:06 +0800)]
mediatek: 6.12: fix cci driver probe for mt7988d

The patch of kernel 6.12 missing cpufreq part for
mt7988d, causing the ccifreq driver probe to fail.
Add it to avoid mt7988d devices boot hang.

Fixes: a9822e8 ("kernel/mediatek: 6.12: drop patches which have been applied upstream")
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
5 weeks agox86: move common kconfig symbols into target shared config
Shiji Yang [Tue, 29 Apr 2025 12:09:09 +0000 (20:09 +0800)]
x86: move common kconfig symbols into target shared config

These kernel config symbols are selected by all sub-targets. We
can merge them together to simplify the config files.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18632
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 weeks agox86: refresh kernel symbol configs
Shiji Yang [Tue, 29 Apr 2025 12:09:09 +0000 (20:09 +0800)]
x86: refresh kernel symbol configs

All kernel config symbols are refreshed by `make kernel_oldconfig`.
Some symbols are moved to the generic/config-6.12 because the
refresh tool will automatically trim them.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18632
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 weeks agoprocd: update to Git HEAD (2025-06-19)
Hauke Mehrtens [Thu, 19 Jun 2025 20:27:02 +0000 (22:27 +0200)]
procd: update to Git HEAD (2025-06-19)

cde025d fix generating syscall-names.h for loongarch64

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 weeks agotools/bash: update to version 5.2.37
Josef Schlehofer [Sun, 15 Jun 2025 09:39:33 +0000 (11:39 +0200)]
tools/bash: update to version 5.2.37

Update to the latest version.

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19143
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 weeks agomt76: replace strlcpy with strscpy
Mieczyslaw Nalewaj [Tue, 27 May 2025 06:19:29 +0000 (08:19 +0200)]
mt76: replace strlcpy with strscpy

Change deprecated function strlcpy to strscpy
for compatibility with kernel 6.12.

strlcpy() reads the entire source buffer first.
This read may exceed the destination size limit.
This is both inefficient and can lead to linear read
overflows if a source string is not NUL-terminated [1].
In an effort to remove strlcpy() completely [2], replace
strlcpy() here with strscpy().

Direct replacement is safe here since DEV_ASSIGN is only used by
TRACE macros and the return values are ignored.

[1] https://www.kernel.org/doc/html/latest/process/deprecated.html#strlcpy
[2] https://github.com/KSPP/linux/issues/89

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/18927
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 weeks agorealtek: activate MIPS power cluster controller for RTL931x
Markus Stockhausen [Thu, 12 Jun 2025 13:20:12 +0000 (09:20 -0400)]
realtek: activate MIPS power cluster controller for RTL931x

The SMP environment is prepared well for the RTL93X. Now describe the
power cluster controller in the DTS. Tested on RTL9311 based Linksys
LGS352C.

Without patch:

root@OpenWrt:~# dmesg | grep CPU
[    0.140425] CPU1 revision is: 0001a120 (MIPS interAptiv (multi))
[    0.191952] Synchronize counters for CPU 1: done.
[    1.232191] CPU2: failed to start
[    1.237863] No online CPU in core 1 to start CPU3
[    2.273784] CPU3: failed to start
[    2.277589] smp: Brought up 1 node, 2 CPUs

root@OpenWrt:~# cat /proc/cpuinfo  | grep -E "model|proc"
processor               : 0
cpu model               : MIPS interAptiv (multi) V2.0
processor               : 1
cpu model               : MIPS interAptiv (multi) V2.0

With patch:

root@OpenWrt:~# dmesg | grep CPU
[    0.000000] CPU0 revision is: 0001a120 (MIPS interAptiv (multi))
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] Failed to get CPU clock: -2
[    0.000000] CPU frequency from device tree: 1000MHz
[    0.133360] smp: Bringing up secondary CPUs ...
[    0.140418] CPU1 revision is: 0001a120 (MIPS interAptiv (multi))
[    0.191950] Synchronize counters for CPU 1: done.
[    0.230103] CPU2 revision is: 0001a120 (MIPS interAptiv (multi))
[    0.289220] Synchronize counters for CPU 2: done.
[    0.326189] CPU3 revision is: 0001a120 (MIPS interAptiv (multi))
[    0.378861] Synchronize counters for CPU 3: done.
[    0.413829] smp: Brought up 1 node, 4 CPUs

processor               : 0
cpu model               : MIPS interAptiv (multi) V2.0
processor               : 1
cpu model               : MIPS interAptiv (multi) V2.0
processor               : 2
cpu model               : MIPS interAptiv (multi) V2.0
processor               : 3
cpu model               : MIPS interAptiv (multi) V2.0

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/19110
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 weeks agokernel: mtdsplit_uimage: return 0 if not fatal
Markus Stockhausen [Tue, 17 Jun 2025 09:21:40 +0000 (05:21 -0400)]
kernel: mtdsplit_uimage: return 0 if not fatal

Introduced with Linux 6.7, in commit:
5c2f7727d437 ("mtd: mtdpart: check for subpartitions parsing result"),
when a parser returns an error, this will be passed up, and
consequently, all parent mtd partitions get torn down.

Adjust the mtdsplit_uimage driver to only return an error if there is a
critical problem in reading from the mtd device or allocating memory.
Otherwise return 0 to indicate that no partitions were found.
Also add logging to indicate what went wrong.

E.g. on Realtek devices that are booted for the first time through
initramfs with OpenWrt never installed before boot log will show

[    0.975518] Creating 7 MTD partitions on "spi0.0":
[    0.981062] 0x000000000000-0x0000000e0000 : "u-boot"
[    1.041320] 0x0000000e0000-0x0000000f0000 : "u-boot-env"
[    1.060683] 0x0000000f0000-0x000000100000 : "u-boot-env2"
[    1.080992] 0x000000100000-0x000000200000 : "jffs2-cfg"
[    1.100988] 0x000000200000-0x000000300000 : "jffs2-log"
[    1.120599] 0x000000300000-0x000000fe0000 : "firmware"
[    1.157426] mtdsplit_uimage: no rootfs after uImage in "firmware"
[    1.176456] mtdsplit_uimage: no rootfs after uImage in "firmware"
[    1.200262] 0x000000fe0000-0x000001000000 : "log"

Similar issues were fixed before with commit ade045084bd3f8696
("kernel: mtdsplit_minor: return 0 if not fatal") and
c78765213ecbe830204 ("kernel: mtdsplit_uimage: return 0 if not fatal")

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/19163
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 weeks agoath79: enable USB by default on hAP ac
Valeriy Manzhos [Sun, 15 Jun 2025 10:08:29 +0000 (13:08 +0300)]
ath79: enable USB by default on hAP ac

Due to a bug, USB is not powered on after boot on hAP ac.
This prevents extroot configurations from working as overlayfs is mounted
before USB device can be powered on. This commit fixes this by enabling USB
in devicetree.

Related discussion links:
- https://forum.openwrt.org/t/usb-power-is-off-on-boot/229007

---

Extroot configuration requires the USB to be powered on before
preinit_main/80_mount_root. Probably the simplest approach is to enable
it in the devicetree. Another approach would be to add a script into
/lib/preinit that will power on USB via /sys/class/gpio/usb-power/value
E.g.
cat /lib/preinit/79_power_on_usb
do_power_on_usb(){
  echo '1' > /sys/class/gpio/usb-power/value
}
boot_hook_add preinit_main do_power_on_usb

Signed-off-by: Valeriy Manzhos <manzhos.va@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19149
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 weeks agoramips: mt7621: add support for JDCloud RE-SP-01B
Yijie Jin [Sat, 28 Dec 2024 07:00:28 +0000 (15:00 +0800)]
ramips: mt7621: add support for JDCloud RE-SP-01B

JDCloud RE-SP-01B is a dual-band WiFi 5 router based on the MT7621AT.

Specifications:
- SoC: MediaTek MT7621AT
- RAM: 512MB DDR3
- Flash: 32MB SPI NOR
- WiFi: MediaTek MT7603EN (2.4GHz), MediaTek MT7615N (5GHz)
- Ethernet: 1x WAN, 2x LAN (Gigabit Ethernet)
- LEDs: red, blue, green (GPIO controlled)
- Button: Reset (GPIO controlled)
- eMMC: Single onboard (32GB/64GB/128GB)
- USB: 1x USB 2.0 port

MAC Address Structure:
The MAC addresses share the structure DC:D8:7C:XX:XX:XX, where:
- WAN, LAN, and 2.4GHz WiFi: same as the label MAC address.
- 5GHz WiFi: label MAC address + 0x800000.

The manufacturer writes the label MAC address at different
offsets depending on the storage version of the device:

e.g.
128GB version:  &config + 0x442a
64GB version:   &config + 0x4429

So `get_mac_ascii()` is used here to search for the
base label MAC address of the device.

Ref:
https://github.com/openwrt/openwrt/pull/17409#discussion_r1899674262
https://github.com/immortalwrt/immortalwrt/commit/c0c480d

Flash Instruction:
A 3rd party bootloader is required to boot the image. You can
use a SOP16 test clip to burn the image/bootloader to the flash.

The official bootloader does provide a web recovery interface
which only accepts an official image. To access it, you will
need to hold the reset button and power on the device, set your
IP address to 192.168.68.2 and visit http://192.168.68.1.

Co-authored-by: Chukun Pan <amadeus@jmu.edu.cn>
Signed-off-by: Yijie Jin <jinyijie@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/17409
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 weeks agorealtek: fix/add switchcore syscon nodes for RTL838x/RTL839x/RTL931x
Markus Stockhausen [Wed, 30 Apr 2025 08:24:27 +0000 (04:24 -0400)]
realtek: fix/add switchcore syscon nodes for RTL838x/RTL839x/RTL931x

The switchcore node is the central location that describes the Realtek switch
register addresses starting at 0x1b000000. It will be used by current and
future regmap enabled device drivers. The upstream MDIO driver already makes
use of it by calling syscon_node_to_regmap(dev->parent->of_node);

In the current DTS base we have 3 issues that should be fixed:

- rtl838x.dtsi has a length of 0x20000 instead of 0x10000
- rtl839x.dtsi has a length of 0x20000 instead of 0x10000
- rtl931x.dtsi has no switchcore node at all

Align these mismatches with the "good" RTL930x template.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18642
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 weeks agorealtek: rtl931x: fix I2C sda pin
Jonas Jelonek [Mon, 16 Jun 2025 19:57:27 +0000 (19:57 +0000)]
realtek: rtl931x: fix I2C sda pin

The drivers for I2C bus and mux for RTL931x have an incorrectly defined
SDA0 pin number, causing an error with correct pin numbers specified in
the device tree.

Using the `show tech-support board` on the vendor firmware of a Netgear
MS510TXM shows the correct pin numbers but they don't work with the
drivers. So fix this.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19171
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 weeks agorealtek: rtl931x: add missing function reference for l2_hash_seed
Jonas Jelonek [Wed, 18 Jun 2025 09:52:02 +0000 (09:52 +0000)]
realtek: rtl931x: add missing function reference for l2_hash_seed

Add missing function reference for the l2_hash_seed call in rtl931x_reg
in the rtl83xx DSA driver part.
While at it, rename the referenced function to proper naming convention
and simplify its content.

The missing reference causes a hard crash after a short time (on
MS510TXM) because the driver assumes the reference always exists.

[  111.785559] CPU 0 Unable to handle kernel paging request at virtual address 00000000, epc == 00000000, ra == 805469a0
[  111.800991] Oops[#1]:
[  111.801026] CPU: 0 PID: 11 Comm: kworker/u8:0 Tainted: G           O       6.12.33 #0
[  111.801046] Workqueue: dsa_ordered dsa_slave_switchdev_event_work
...
[  111.880600] epc   : 00000000 0x0
[  111.884219] ra    : 805469a0 rtl83xx_port_fdb_add+0x7c/0x204
[  111.890570] Status: 11000403 KERNEL EXL IE
[  111.895263] Cause : 50800008 (ExcCode 02)
[  111.899731] BadVA : 00000000
[  111.902946] PrId  : 0001a120 (MIPS interAptiv (multi))
[  111.956086] Process kworker/u8:0 (pid: 11, threadinfo=0b107c25, task=265aeb31, tls=00000000)
...
[  112.015167] Call Trace:
[  112.019549] [<80170b04>] load_balance+0x494/0x708
[  112.025022] [<807bb368>] dsa_port_do_fdb_add+0x24c/0x340
[  112.031048] [<807bc868>] dsa_switch_event+0xd44/0x13cc
[  112.036845] [<8015867c>] raw_notifier_call_chain+0x48/0x88
[  112.043031] [<807bcf3c>] dsa_tree_notify+0x10/0x3c
[  112.048395] [<807b2a64>] dsa_port_bridge_host_fdb_add+0x15c/0x190
[  112.055459] [<807b4e40>] dsa_slave_switchdev_event_work+0x164/0x1cc
...

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19170
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 weeks agoramips: PCIe driver improvements for mt7620 and mt7628
Shiji Yang [Mon, 17 Mar 2025 16:42:19 +0000 (00:42 +0800)]
ramips: PCIe driver improvements for mt7620 and mt7628

This patchset fixes some PCIe bridge register access issues and
reworks the initialization procedure. It may bring some stability
improvements. To match the driver changes, the memory remap range
was extended and a PCIe reset pinctrl was added to mt7628an.dtsi.

Link: https://lore.kernel.org/all/OSBPR01MB1670555F549B69B9A5E7F133BC72A@OSBPR01MB1670.jpnprd01.prod.outlook.com/
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/18299
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 weeks agogeneric: net: phy: psb6970: fix missing-prototypes warnings
Shiji Yang [Thu, 8 May 2025 13:20:22 +0000 (21:20 +0800)]
generic: net: phy: psb6970: fix missing-prototypes warnings

Fix the following build warnings on 6.12 kernel:

drivers/net/phy/psb6970.c:426:12: error: no previous prototype for 'psb6970_init' [-Werror=missing-prototypes]
  426 | int __init psb6970_init(void)
      |            ^~~~~~~~~~~~
drivers/net/phy/psb6970.c:434:13: error: no previous prototype for 'psb6970_exit' [-Werror=missing-prototypes]
  434 | void __exit psb6970_exit(void)
      |             ^~~~~~~~~~~~

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/19174
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 weeks agomt76: update to Git HEAD (2025-06-18)
Felix Fietkau [Wed, 18 Jun 2025 15:03:27 +0000 (17:03 +0200)]
mt76: update to Git HEAD (2025-06-18)

55218e636092 Revert "wifi: mt76: mt7996: fill txd by host driver"
fdfe9eca6401 wifi: mt76: disable napi on driver removal
d7a070e11de4 wifi: mt76: mt7925: fix missing hdr_trans_tlv command for broadcast wtbl
29363a669195 wifi: mt76: mt7996: prevent uninit return in mt7996_mac_sta_add_links
e285cb42be03 wifi: mt76: Remove an unneeded local variable in mt76x02_dma_init()
3dee73c357cf wifi: mt76x2: Add support for LiteOn WN4516R,WN4519R
73f9582f92b6 wifi: mt76: mt7925: introduce thermal protection
cf8522c5eea8 wifi: mt76: mt7925: fix host interrupt register initialization
8a24527e6c63 wifi: mt76: mt7921: add 160 MHz AP for mt7922 device
d0ef73122e8b wifi: mt76: mt7996: avoid NULL pointer dereference in mt7996_set_monitor()
7fdbe4cb5c8d wifi: mt76: mt7996: avoid null deref in mt7996_stop_phy()
925d156dab3d wifi: mt76: mt7996: fix uninitialized symbol warning
a403590fd464 Revert "wifi: mt76: Check link_conf pointer in mt76_connac_mcu_sta_basic_tlv()"
ca76c1bcede4 wifi: mt76: mt7996: remove duplicate check in mt7996_mcu_sta_mld_setup_tlv()
b70a4a619538 wifi: mt76: scan: Fix 'mlink' dereferenced before IS_ERR_OR_NULL check
2247afffc734 wifi: mt76: add mt76_connac_mcu_build_rnr_scan_param routine
460aa7da0ef6 wifi: mt76: mt7925: add RNR scan support for 6GHz
a68584ddf98e wifi: mt76: mt7996: Fix null-ptr-deref in mt7996_mmio_wed_init()
025c1d19b55a wifi: mt76: mt7915: Fix null-ptr-deref in mt7915_mmio_wed_init()
c20015bdc88b wifi: mt76: mt7925: prevent multiple scan commands
832387a1f876 wifi: mt76: mt7925: refine the sniffer commnad
7bf6a2914a54 wifi: mt76: mt7925: ensure all MCU commands wait for response
1bd4dbd48281 wifi: mt76: mt7925: extend MCU support for testmode
0ca6ed4e2724 wifi: mt76: mt7925: add test mode support
a2838480f805 wifi: mt76: remove capability of partial bandwidth UL MU-MIMO
1865f5ea80ea wifi: mt76: mt7996: fix beamformee SS field
3bda39f1465e wifi: mt76: mt7996: set EHT max ampdu length capability
7d30840e5b21 wifi: mt76: mt7996: drop fragments with multicast or broadcast RA
bf22595a1d8a wifi: mt76: mt7996: fix invalid NSS setting when TX path differs from NSS
b9f01d7c368c wifi: mt76: mt7996: change max beacon size
8808d7c4eed7 wifi: mt76: mt7996: fix RX buffer size of MCU event
36e0b90e47ff wifi: mt76: fix available_antennas setting
da2c23bec426 wifi: mt76: support power delta calculation for 5 TX paths
3e161d0cf3c7 wifi: mt76: mt7925: add rfkill_poll for hardware rfkill
ee6dac9b6b76 wifi: mt76: mt7915: mcu: increase eeprom command timeout
0534761b76e1 wifi: mt76: mt7915: mcu: lower default timeout
79dd14f2e816 wifi: mt76: mt7915: mcu: re-init MCU before loading FW patch
f2943046881d wifi: mt76: Assume __mt76_connac_mcu_alloc_sta_req runs in atomic context
656eb209ec42 wifi: mt76: Move RCU section in mt7996_mcu_set_fixed_field()
4f47d90943a3 wifi: mt76: Move RCU section in mt7996_mcu_add_rate_ctrl_fixed()
189532e383c1 wifi: mt76: Move RCU section in mt7996_mcu_add_rate_ctrl()
5603bd03d56a wifi: mt76: Remove RCU section in mt7996_mac_sta_rc_work()
ca24f0794e94 wifi: mt76: mt7925: fix the wrong config for tx interrupt
63f18baa5bb6 wifi: mt76: mt7925: fix invalid array index in ssid assignment during hw scan
4bdc4c5f26e0 wifi: mt76: mt7925: fix incorrect scan probe IE handling for hw_scan
321ae47a7439 wifi: mt76: mt7925: fix off by one in mt7925_mcu_hw_scan()
3699df4e85ec wifi: mt76: mt7925: prevent NULL pointer dereference in mt7925_sta_set_decap_offload()
a17fbd3d8598 wifi: mt76: mt7921: prevent decap offload config before STA initialization

Signed-off-by: Felix Fietkau <nbd@nbd.name>
5 weeks agobmips: update BCM531x5 RGMII delays patch
Álvaro Fernández Rojas [Wed, 11 Jun 2025 07:46:44 +0000 (09:46 +0200)]
bmips: update BCM531x5 RGMII delays patch

Replace BCM531x5 patch with the one sent upstream.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
5 weeks agogeneric: 6.12: backport accepted BCM5325 patches
Álvaro Fernández Rojas [Wed, 11 Jun 2025 07:46:44 +0000 (09:46 +0200)]
generic: 6.12: backport accepted BCM5325 patches

Backport accepted BCM5325 patches from net-next.
These patches will be merged in the v6.17 kernel window.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
5 weeks agoiproute2: point KERNEL_INCLUDE to toolchain headers
Jonas Gorski [Wed, 18 Jun 2025 08:46:35 +0000 (10:46 +0200)]
iproute2: point KERNEL_INCLUDE to toolchain headers

Glibc since 2.41 tries to include linux/sched/types.h from sched.h, and
pointing KERNEL_INCLUDE to the kernel headers makes it use
linux/sched/types.h from the kernel headers instead of the installed
one.

This then breaks the configure (test) compile for setns() and the test:

mips-openwrt-linux-gnu-gcc -I/fork.openwrt/build_dir/target-mips_24kc_glibc/linux-ath79_generic/linux-6.6.93/include/uapi -o config.HaAJYe/setnstest config.HaAJYe/setnstest.c
In file included from /fork.openwrt/build_dir/target-mips_24kc_glibc/linux-ath79_generic/linux-6.6.93/include/uapi/linux/sched/types.h:5,
                 from /fork.openwrt/staging_dir/toolchain-mips_24kc_gcc-14.3.0_glibc/include/bits/sched.h:63,
                 from /fork.openwrt/staging_dir/toolchain-mips_24kc_gcc-14.3.0_glibc/include/sched.h:43,
                 from config.HaAJYe/setnstest.c:2:
/fork.openwrt/build_dir/target-mips_24kc_glibc/linux-ath79_generic/linux-6.6.93/include/uapi/linux/types.h:10:2: warning: #warning "Attempt to use kernel headers from user space, see https://kernelnewbies.org/KernelHeaders" [-Wcpp]
   10 | #warning "Attempt to use kernel headers from user space, see https://kernelnewbies.org/KernelHeaders"
      |  ^~~~~~~
In file included from /fork.openwrt/build_dir/target-mips_24kc_glibc/linux-ath79_generic/linux-6.6.93/include/uapi/linux/posix_types.h:5,
                 from /fork.openwrt/build_dir/target-mips_24kc_glibc/linux-ath79_generic/linux-6.6.93/include/uapi/linux/types.h:14:
/fork.openwrt/build_dir/target-mips_24kc_glibc/linux-ath79_generic/linux-6.6.93/include/uapi/linux/stddef.h:5:10: fatal error: linux/compiler_types.h: No such file or directory
    5 | #include <linux/compiler_types.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.

Fix this by pointing KERNEL_INCLUDE to the toolchain headers, which
include the installed kernel headers.

Tested with musl, glibc, and SDK.

Fixes: 60738feded ("iproute2: Fix KERNEL_INCLUDE in SDK")
Reported-by: Signed-off-by: Konstantin Demin <rockdrilla@gmail.com>
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
6 weeks agotools: libdeflate: update to 1.24
Josef Schlehofer [Sun, 15 Jun 2025 09:46:33 +0000 (11:46 +0200)]
tools: libdeflate: update to 1.24

Release notes:
https://github.com/ebiggers/libdeflate/releases/tag/v1.23
https://github.com/ebiggers/libdeflate/releases/tag/v1.24

Changelog can be found in NEWS.md in relevant tags.

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19145
Signed-off-by: Robert Marko <robimarko@gmail.com>
6 weeks agorealtek: switch LGS310C devicetree to new i2s-gpio-shared driver
Markus Stockhausen [Fri, 13 Jun 2025 08:34:34 +0000 (04:34 -0400)]
realtek: switch LGS310C devicetree to new i2s-gpio-shared driver

From now on both SFP ports can be used without manual intervention.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18737
Signed-off-by: Robert Marko <robimarko@gmail.com>
6 weeks agorealtek: activate i2c-gpio-shared driver
Markus Stockhausen [Fri, 13 Jun 2025 08:33:16 +0000 (04:33 -0400)]
realtek: activate i2c-gpio-shared driver

Currently only RTL83xx devices are known with shared SCL pins.
So activate the driver only for those targets.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18737
Signed-off-by: Robert Marko <robimarko@gmail.com>
6 weeks agorealtek: add new i2c-gpio-shared driver for shared SCL lines
Markus Stockhausen [Fri, 13 Jun 2025 08:29:52 +0000 (04:29 -0400)]
realtek: add new i2c-gpio-shared driver for shared SCL lines

Some Realtek switches have been designed with I2C busses that share a
single SCL line. The clock line is used for 2 or more busses. This cannot
be used with the standard i2c-gpio driver that relies on distinct SDA
and SCL pairs.

Provide a derived i2c-gpio-shared driver that can be used instead. This
driver can handle up to 4 busses with only a single clock line.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18737
Signed-off-by: Robert Marko <robimarko@gmail.com>
6 weeks agotools/cmake: update to 3.31.5
Jack Sun [Sat, 1 Feb 2025 13:09:26 +0000 (21:09 +0800)]
tools/cmake: update to 3.31.5

Release notes: https://cmake.org/cmake/help/latest/release/3.31.html
No need refresh patch

Signed-off-by: Jack Sun <sunjiazheng321521@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17814
Signed-off-by: Nick Hainke <vincent@systemli.org>
6 weeks agoperf: disable slang support
Josef Schlehofer [Fri, 13 Jun 2025 14:32:45 +0000 (16:32 +0200)]
perf: disable slang support

libs/slang2 is getting picked up from the packages feed, if the slang2
is compiled first and then if you try to compile perf, it fails
due to unmet dependency.

Fixes:
Package perf is missing dependencies for the following libraries:
libslang.so.2

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19123
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 weeks agosunxi: add support for OrangePi Zero 2W
Zoltan HERPAI [Wed, 2 Apr 2025 10:12:50 +0000 (10:12 +0000)]
sunxi: add support for OrangePi Zero 2W

Specifications:
SoC:     Allwinner H618 SoC (Quad core Cortex-A53)
DRAM:    1/1.5/2/4 GB LPDDR4 DRAM (1.5GB version not supported)
Power:   5V USB-C
Video:   HDMI (Type 2.0A - micro)
Storage: microSD / 16MByte SPI flash
Network: Unisoc UWE5622 (no driver currently)
Debug:   serial UART

Flashing instructions:
  Standard sunxi SD card installation procedure - copy image to SD card,
  insert into SD card slot on the device and boot.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
6 weeks agomediatek: add support for Zbtlink ZBT-Z8102AX v2
Marius Durbaca [Tue, 22 Oct 2024 13:15:57 +0000 (16:15 +0300)]
mediatek: add support for Zbtlink ZBT-Z8102AX v2

Specifications:
SoC: MediaTek MT7981B
RAM: 1024MiB
Flash: SPI-NAND 128 MiB
Switch: 1 WAN, 4 LAN (Gigabit)
USB: two M.2 slots for 5G modems via USB 3.0 hub, external USB 3.0 port
Buttons: Reset, Mesh
Power: DC 12V 1A
WiFi: MT7976CN
UART: 115200n8
UART Layout:
VCC-RX-TX-GND

Installation:
1. Power down the router and hold in the Reset button.
2. While holding in the button power up the router again.
3. Hold the button in for 10 seconds and then release.
4. Use your browser to go to 192.168.1.1
5. If you see a GUI that is for flashing firmware then you have the V2 model.
If there is no GUI and the router continues to boot up normally
you have the V1 model.
6. Now use the V2 sysugrade file.

Note: Recovery GUI it can be used to recover from an incorrect firmware flash.

Based on patches adding support for this device by Yannick Chabanois (openmptcprouter)
and Dairyman (ofmodemsandmen)

Signed-off-by: Marius Durbaca <mariusd84@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18514
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 weeks agoramips: dts: increase maximum MMC clock frequency
Shiji Yang [Sat, 24 May 2025 08:32:26 +0000 (16:32 +0800)]
ramips: dts: increase maximum MMC clock frequency

The High-Speed SD mode stability issue should have been fixed.
Increase the MMC max-frequency to improve the IO speed. We can
still use the sysfs to limit the clock frequency, e.g.

root@OpenWrt:~# echo 25000000 > /sys/kernel/debug/mmc0/clock

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18896
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 weeks agoramips: mtk-sd: stability improvements for MIPS mt762x SoCs
Shiji Yang [Fri, 13 Jun 2025 13:36:16 +0000 (21:36 +0800)]
ramips: mtk-sd: stability improvements for MIPS mt762x SoCs

* Add tuning parameters to improve the stability of 48~50 MHz
  High-Speed SD mode.

* Fix I/O errors on EMMC mode by disabling unsupported auto CMD23
  feature.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18896
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 weeks agoramips: mtk-sd: backport Host Software Queue support
Shiji Yang [Fri, 13 Jun 2025 13:05:31 +0000 (21:05 +0800)]
ramips: mtk-sd: backport Host Software Queue support

This new feature has some improvements for random RW performance.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18896
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 weeks agoramips: mtk-mmc: fix data timeout value
Shiji Yang [Sat, 24 May 2025 08:31:07 +0000 (16:31 +0800)]
ramips: mtk-mmc: fix data timeout value

The MT7628 programing guide shows that the correct DTOC unit is
1048576 clocks instead of 65536 clocks. This value is also used
by linux upstream mtk-sd driver. Correct the DTOC register and
also round up its value.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18896
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 weeks agoramips: mt76x8: add support for Keenetic Start (KN-1112)
Anton Yu. Ivanusev [Wed, 11 Jun 2025 03:53:20 +0000 (08:53 +0500)]
ramips: mt76x8: add support for Keenetic Start (KN-1112)

Specification:
SoC: MediaTek MT7628NN
RAM: 128 MB, EtronTech EM68C16CWQG-25H (DDR2)
Flash: 32MB, Winbond 25Q256JVFQ (Dual Boot, SPI)
Switch: MediaTek MT7628AN, 4 ports 100 Mbps
WiFi: MediaTek MT7603 2T2R/2.4GHz 802.11n
GPIO: 2 buttons (Wi-Fi, Reset), 3 LEDs (Power, Internet, Wi-Fi), 1 mode switch

Disassembly:
At the bottom, under the LEDs, there are 2 screws hidden by rubber feet. After removing the screws, pry the gray plastic part around (it is secured with latches) and remove it.

Serial Interface:
The serial interface can be connected to the 5 pin dots located on the right between the operating mode switch and the antenna.
Pins (from antenna to operating mode switch):
VCC
TX
RX
NC
GND
Settings: 115200, 8N1

Flashing via OEM recovery software:
1. Download the OEM recovery software from the manufacturer's website
2. Download the firmware image (for OpenWRT it is *-squashfs-factory.bin), rename it to KN-1112_recovery.bin
3. Replace the file in the fw folder OEM recovery software with the file from step 2.
4. Run the OEM recovery software and follow the instructions.

Flashing via TFTP:
1. Connect your PC and router to port 1-3, configure PC interface using IP 192.168.1.2, mask 255.255.255.252
2. Serve the firmware image (for OpenWRT it is *-squashfs-factory.bin) renamed to KN-1112_recovery.bin via TFTP
3. Power up the router while pressing Reset button on the back
4. Release Restart button when Power LED starts blinking

To revert back to OEM firmware:
The return to the OEM firmware is carried out by using the methods described above with the help of the appropriate firmware image.

When using OEM bootloader, the firmware image size cannot exceed the size of one OEM «Firmware_x» partition or Kernel + rootFS size.

Signed-off-by: Anton Yu. Ivanusev <ivanusevanton@yandex.ru>
Link: https://github.com/openwrt/openwrt/pull/19091
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 weeks agorealtek: Add support for Zyxel XGS1210-12 Switch
Nicolas BERTRAND [Tue, 10 Jun 2025 09:09:06 +0000 (11:09 +0200)]
realtek: Add support for Zyxel XGS1210-12 Switch

The Zyxel XGS1210-12 Switch is a 10 + 2 port multi-GBit switch with
8 x 1000BaseT, 2 x 10/100/1000/2500BaseT Ethernet ports and
2 SFP+ module slot.

Hardware:
- RTL9302B SoC
- Macronix MX25L12833F (16MB flash)
- Nanja NT5CC64M16GP-1 (128MB DDR3 SDRAM)
- RTL8231 GPIO extender to control the port LEDs
- RTL8218D 8x Gigabit PHY
- RTL8226 2x 10m/100m/1/2.5 Gigabit PHY
- SFP+ 2x 10GBit slot

Power is supplied via a 12V 1.5A standard barrel connector. At the
right side behind the grid is UART serial connector. A Serial
header can be connected to from the outside of the switch trough
the airvents with a standard 2.54mm header.
Pins are from top to bottom Vcc(3.3V), TX, RX and GND. Serial
connection is via 115200 baud, 8N1.

A reset button is accessble through a hole in the front panel

At the time of this commit, all ethernet ports work under OpenWrt,
including the various NBaseT modes, SFP+ slots are supported with i2c bus.

Installation
--------------
* Connect serial as per the layout above. Connection parameters: 115200 8N1.
* Navigate to 'Management' in the OEM web interface and click on 'Firmware upgrade'
  to the left.
* Upload the OpenWrt initramfs image, and wait till the switch reboots.
* Connect to the device through serial and change the U-boot boot command.
  > fw_setenv bootcmd 'rtk network on; boota'
* Reboot, scp the sysupgrade image to /tmp, verify the checksum and flash it:
  > sysupgrade openwrt-realtek-rtl930x-Zyxel_xgs1210-12-squashfs-sysupgrade.bin
* Upon reboot, you have a functional OpenWrt installation. Leave the bootcmd
  value as is - without 'rtk network on' the switch will fail to initialise
  the network.

Debug
------------
* Connect serial as per the layout above. Connection parameters: 115200 8N1.
* A tftp server is requiered, tftpd-hpa works well.
* Power the device, at U-Boot start rapidly hit Esc key to stop autoboot
* Enable network:
  > rtk network on
* Change ip address (default is 192.168.1.1):
  > setenv ipaddr 192.168.1.6
* Download initramfs:
  > tftpboot 0x84f00000 192.168.1.111:openwrt-realtek-rtl930x-Zyxel_xgs1210-12-initramfs-kernel.bin
* Boot loaded file:
  > bootm 0x84f00000

This prodecudre also apply to the sock firmware with the file XGS1210-12_V2.00(ABTY.1)C0.bix.

More information can be found on the page of XGS1250-12 as they share the same base.

Signed-off-by: Nicolas BERTRAND <nicolasbertrand89@gmail.com>
[fixed white space error]
Signed-off-by: Paul Spooren <mail@aparcar.org>
6 weeks agorealtek: add support for TP-Link TL-ST1008F v2.0
Jonas Jelonek [Fri, 2 May 2025 21:39:14 +0000 (21:39 +0000)]
realtek: add support for TP-Link TL-ST1008F v2.0

The TP-Link TL-ST1008F is an 8-port multi-gig switch with 8x SFP+ ports
which support 1G/2.5G/10G speeds. Out of the box it is an unmanaged
switch but with RTL9303 and sufficient RAM + Flash it easily can run as
a managed Linux switch.

Hardware:
 - Realtek RTL9303 Switch SoC
 - Winbond 25Q256JVFQ (32MB flash)
 - Samsung K4B4G1646E-BYMA (512MB DDR3 SDRAM)
 - TCA9534 GPIO extender to control the port LEDs
 - 8x SFP+ 1/2.5/10G slot
 - Serial: 3V3 logic, 115200 8N1
 - 5-pin JTAG
 - physical tri-state switch (used by stock firmware for port speed
   config)
 - 24-LED port speed matrix
 - robust full-metal case

Power is supplied via a 12V 2A standard barrel connector.
There are THT holes on the PCB for serial console next to the flash chip
and JTAG pads. Serial uses 3V3 logic and standard 115200-8N1 config.
Pinout is labeled on the PCB.

All ports/connectors and LEDs are on the back, only Power LED is on the
front.

Hints before flashing
----------------------

* It is recommended to backup the stock flash contents before proceeding.
  Backup can be done from U-Boot (with memory display), from OpenWrt
  initramfs or probably with SPI flash programmer.
  There is no stock recovery functionality.
* Use a small image for RAM boot or first flash. Since you need to use
  ymodem, this is really slow and takes time.
* This does not keep the dual-partition layout for firmware to have more
  space available for a single OpenWrt installation.

Initial flashing
----------------------

The stock U-boot has broken networking thus no TFTP available. Serial
transfer only.

1. Open device and connect serial as per layout and settings
   (recommended to use picocom, ymodem not working with minicom)
2. Connect power to device and press Esc when prompted to enter
   the U-Boot console.
3. Boot initramfs
  * in the U-Boot console:
      loady 0x82000000 (load OpenWrt image via ymodem)
      CTRL-A CTRL-S <initramfs.bin> (specify initramfs image for
                                         picocom to upload)
      bootm 0x82000000 (boot initramfs from RAM)
(Just to be on the safe side, backup your flash now while RAM-booted)
4. Connect network to your device
5. Upload the sysupgrade image (e.g. with scp)
6. Do sysupgrade

There's no need to adjust the bootcmd in U-Boot. Networking is running
fine once the realtek driver initialized everything in OpenWrt. No
functional difference with running 'rtk network on' within U-Boot
before. Running this even fails and returns with an error.

Return to stock
------------------

This only works if you did a backup of the flash before flashing
OpenWrt. Stock dump then can be flashed from within U-Boot or OpenWrt.
There is no vendor firmware image because this is an unmanaged switch!

CAUTION: Make sure to not overwrite the U-Boot partition(s). If you do
 not have a flash programmer, you may not be able to debrick
 your device then.

Co-authored-by: Balázs Triszka <balika011@gmail.com>
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
6 weeks agorockchip: add kernel 6.12 as testing kernel
Tianling Shen [Fri, 2 May 2025 11:11:43 +0000 (19:11 +0800)]
rockchip: add kernel 6.12 as testing kernel

Add kernel 6.12 as testing kernel.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/18683
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 weeks agorockchip: refresh kernel configs
Tianling Shen [Fri, 2 May 2025 11:10:48 +0000 (19:10 +0800)]
rockchip: refresh kernel configs

Refresh kernel configs with `make kernel_oldconfig CONFIG_TARGET=subtarget`.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/18683
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 weeks agorockchip: refresh kernel patches
Tianling Shen [Fri, 2 May 2025 10:45:33 +0000 (18:45 +0800)]
rockchip: refresh kernel patches

Remove upstreamed patches and refresh remaining ones.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/18683
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 weeks agorockchip: Restore kernel files for v6.6
Tianling Shen [Sun, 18 May 2025 07:09:25 +0000 (15:09 +0800)]
rockchip: Restore kernel files for v6.6

This is an automatically generated commit which aids following Kernel patch
history, as git will see the move and copy as a rename thus defeating the
purpose.

For the original discussion see:
https://lists.openwrt.org/pipermail/openwrt-devel/2023-October/041673.html

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/18683
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 weeks agorockchip: Create kernel files for v6.12 (from v6.6)
Tianling Shen [Sun, 18 May 2025 07:09:23 +0000 (15:09 +0800)]
rockchip: Create kernel files for v6.12 (from v6.6)

This is an automatically generated commit.

When doing `git bisect`, consider `git bisect --skip`.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/18683
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 weeks agolinux-firmware: update to 20250613
John Audia [Fri, 13 Jun 2025 19:26:32 +0000 (15:26 -0400)]
linux-firmware: update to 20250613

git log --no-merges --pretty=oneline --abbrev-commit 20250509...20250613
225e865382d4 QCA: Update WCN785x btusb firmware to 2.0.0-00799-5
c3dd75fe5c3c rtl_nic: update firmware of RTL8153A
8793795c0fb6 qcom: sc8280xp: Updated power FW for X13s
2fe0e63bdc7b linux-firmware: update firmware for MT7986
522126fd7526 linux-firmware: update firmware for MT7981
47e03ef409e0 linux-firmware: update firmware for MT7916
64823fcdf059 cirrus: cs35l41: Add Firmware for ASUS NUC using CS35L41
1e29e963851f Revert "iwlwifi: add Bz/gl FW for core96-76 release"
5ac6303062e4 amdgpu: DMCUB updates for various ASICs
50bbf75a5c54 mediatek MT7922: update bluetooth firmware to 20250523103438
dad32063a360 mediatek MT7921: update bluetooth firmware to 20250523111333
59df6ceeb259 linux-firmware: update firmware for MT7922 WiFi device
8e0ad059b481 linux-firmware: update firmware for MT7921 WiFi device
247c9f3b5f99 xe: Update GUC to v70.45.2 for BMG, LNL
53796829da2d i915: Update GUC to v70.45.2 for DG2
38b5863bcacb xe: Update LNL GSC to v104.0.5.1429
25750add9b77 amdgpu: DMCUB updates for various ASICs
7143ab41c859 qcom: add QUPv3 firmware for QCS8300 platform
62960e12efff Intel IPU7: Add firmware binary files
4439f5b5c5af ice: update wireless_edge package to 1.3.23.0
902386062e4e ice: update comms package to 1.3.55.0
18f9edda4283 ice: update package to 1.3.43.0
ebea7801d5cf linux-firmware: Update firmware file for Intel Pulsar core
cb0c72fb4deb linux-firmware: Update firmware file for Intel BlazarI core
7d9bc01cd679 linux-firmware: Update firmware file for Intel Quasar core
e2d7a179d030 linux-firmware: Update firmware file for Intel Solar core
992d84e5173b linux-firmware: Update firmware file for Intel Magnetar core
4f04404dfc0c linux-firmware: Update firmware file for Intel BlazarU core
6e15e748c1a7 iwlwifi: add Bz/gl FW for core96-76 release
b5fb9ede6a3d iwlwifi: update ty/So/Ma firmwares for core96-76 release
e258fd022749 iwlwifi: update cc/Qu/QuZ firmwares for core96-76 release
c7f676e3c800 iwlwifi: update firmwares for 8000 series
3944e657f79f iwlwifi: update 7265D firmware
c799f5d3045f mediatek MT7925: update bluetooth firmware to 20250526153203
a1971ffc61d5 linux-firmware: update firmware for MT7925 WiFi device
0c4cd60597a0 qcom: sc8280xp: FW blob updates for X13s
c629575aa5ce brcm: Add symlinks for Khadas VIM SDIO wifi config to AW-CM256SM.txt
2e91d8c3c4bd ath12k: WCN7850 hw2.0: update to WLAN.HMT.1.1.c5-00284.1-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3
7966e448ac3b cirrus: cs35l41: Fix firmware links for several ASUS laptops
fdf1068e30ce cirrus: cs35l41: Add Firmware for various HP Agusta Laptops using CS35L41 HDA
da412873f3f4 Adjust QUPv3 driver name
c97a2ef501be cnm: Add Chips&Media wave633c firmware for NXP i.MX9
1d98680254f7 qcom: add QUPv3 firmware for QCM6490 platform
3d6067ec1975 mediatek: Add mt8196 VCP firmware
48c42ece446e cirrus: cs35l41: Add Firmware for various ACER Laptops using CS35L41 HDA
050f0a1e3a76 nvidia: add GSP-RM version 570.144 firmware images
6b9fb15a5b49 amdgpu: DMCUB updates for various ASICs
3dc736d9f749 powervr: add firmware for Imagination Technologies BXS-4-64 GPU
ddc80c83e2dd rtl_bt: Update RTL8822C BT USB and UART firmware to 0x7C20
e4c6ae01a11c brcmfmac: Add a couple of NanoPi devices
e6b5ebde46d4 rtl_nic: add firmware rtl8127a-1
9d8574c2f46b cnm: update chips&media wave521c firmware.
1591254ed58d intel_vpu: Update NPU firmware
a32d5cc1a182 intel: avs: Update topology file for Digital Microphone Array
e663dc7a2122 amdgpu: updates for dcn 3.20 and dcn 4.01 firmware to 0.1.10.0

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/19127
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
6 weeks agostarfive: drop 6.6 support
Zoltan HERPAI [Thu, 12 Jun 2025 16:15:13 +0000 (16:15 +0000)]
starfive: drop 6.6 support

Drop configs and patches for Linux 6.6.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
6 weeks agostarfive: usb3 and pcie support is compiled into kernel now
Zoltan HERPAI [Sun, 1 Jun 2025 14:09:52 +0000 (14:09 +0000)]
starfive: usb3 and pcie support is compiled into kernel now

As support for these peripherals are now compiled into the kernel, the
respective kmods can be dropped.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
6 weeks agostarfive: use kernel 6.12 by default
Zoltan HERPAI [Thu, 12 Jun 2025 16:14:39 +0000 (16:14 +0000)]
starfive: use kernel 6.12 by default

Switch to Linux kernel version 6.12.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
6 weeks agostarfive: remove useless aic8800 driver
Chukun Pan [Fri, 6 Jun 2025 15:26:39 +0000 (23:26 +0800)]
starfive: remove useless aic8800 driver

AIC8800 is a WiFi/BT module based on Ceva's IP.
This driver is old and not enabled in the starfive target,
so remove it. We can add out of tree drivers if necessary.

Fixes: 8f0f02d2 ("starfive: 6.12: refresh patches and drop upstreamed ones")
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
6 weeks agoqualcommax: ipq50xx: Add support for Xiaomi AX6000
George Moussalem [Tue, 3 Jun 2025 05:15:04 +0000 (09:15 +0400)]
qualcommax: ipq50xx: Add support for Xiaomi AX6000

Add support for Xiaomi AX6000.

Speficiations:
* SoC: Qualcomm IPQ5018 (64-bit dual-core ARM Cortex-A53 @ 1.0Ghz)
* Memory: Etrontech EM6HE16EWAKG 512 MiB DDR3L-933
* Serial Port: 1v8 TTL 115200n8
* Wi-Fi: IPQ5018 (2x2 2.4 Ghz 802.11b/g/n/ax - up to 574 Mbps)
 QCN9024 (4x4 5 Ghz 802.11an/ac/ax - up to 4804 Mbps)
   QCA9887 (1x1 5 Ghz 802.11ac/n - up to 433 Mbps)
* Ethernet: IPQ5018 integrated virtual switch connected to:
- external QCA8337 switch   (3 LAN Ports 10/100/1000)
- QCA8081 Phy WAN port  (10/100/1000/2500)
* Flash: Either of:
- Gigadevice GD5F1GQ4RE9IGD (128 MiB)
- ESMT F50D1G41LB (128 MiB)
* LEDs: 1x WLAN Link (GPIO 23 Active High)
1x System Blue   (GPIO 24 Active High)
1x System Yellow (GPIO 25 Active High)
1x WAN Link Blue (GPIO 26 Active High)
1x WAN Link Yellow   (GPIO 27 Active High)
1x Green - Unused(GPIO 28 Active High)
3x LAN Phy Green
1x WAN Phy Green
* Buttons: 1x Reset  (GPIO 38 Active Low)

Known issue:
- QCA9887 doesn't come up (possibly due to 1-lane PCIe phy not coming up or missing method to drive power),
  hence the host PCIe controller is disabled in the DTS.

Flash instructions:

Download XMIR Patcher: https://github.com/openwrt-xiaomi/xmir-patcher

First flash a ubinized OpenWrt initramfs that will serve as the intermediate step, since
OpenWrt uses unified rootfs in order to fully utilize NAND and provide enough space for
packages, through either of the below two methods:

Installation via XMIR Patcher:

1. Load the initramfs image: openwrt-qualcommax-ipq50xx-xiaomi_ax6000-initramfs-factory.ubi

Installation via ubiformat method, through SSH:

1. If needed, enable SSH using XMIR Patcher.
2. Copy the file openwrt-qualcommax-ipq50xx-xiaomi_ax6000-initramfs-factory.ubi to the /tmp directory
3. Open an SSH shell to the router
4. Check which rootfs partition is your router booted in (0 = rootfs | 1 = rootfs_1):
nvram get flag_boot_rootfs
5. Find the rootfs and rootfs_1 mtd indexes respectively:
cat /proc/mtd
Please confirm if mtd18 and mtd19 are the correct indexes from above!
6. Use the command ubiformat to flash the opposite mtd with UBI image:
If nvram get flag_boot_rootfs returned 0:
ubiformat /dev/mtd19 -y -f /tmp/openwrt-qualcommax-ipq50xx-xiaomi_ax6000-initramfs-factory.ubi && nvram set flag_boot_rootfs=1 && nvram set flag_last_success=1 && nvram commit
otherwise:
ubiformat /dev/mtd18 -y -f /tmp/openwrt-qualcommax-ipq50xx-xiaomi_ax6000-initramfs-factory.ubi && nvram set flag_boot_rootfs=0 && nvram set flag_last_success=0 && nvram commit
7. Reboot the device by:
reboot

Continue in order to pernamently flash OpenWrt:
1. Upload the sysupgrade image to /tmp/ using SCP:
scp -O <path to image> root@192.168.1.1:/tmp/
2. Open an SSH shell to 192.168.1.1 from a PC within the same subnet
3. Use sysupgrade to flash the sysupgrade image:
sysupgrade -n -v /tmp/openwrt-qualcommax-ipq50xx-xiaomi_ax6000-squashfs-sysupgrade.bin

Device will reboot with OpenWrt, and then sysupgrade can be used to upgrade the device when desired.

Signed-off-by: George Moussalem <george.moussalem@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/19004
Signed-off-by: Robert Marko <robimarko@gmail.com>