]> git.ipfire.org Git - thirdparty/openwrt.git/log
thirdparty/openwrt.git
7 weeks agobcm27xx: select I2C/SPI packages by default 19102/head
Álvaro Fernández Rojas [Tue, 10 Jun 2025 13:12:50 +0000 (15:12 +0200)] 
bcm27xx: select I2C/SPI packages by default

The I2C and SPI packages required for each RPi generation is different.
Therefore, in order to avoid confusion let's select them by default.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
7 weeks agorealtek: 6.12: refactor EEE for RTL8218B/D and RTL8214FC 18935/head
Markus Stockhausen [Tue, 3 Jun 2025 18:57:09 +0000 (14:57 -0400)] 
realtek: 6.12: refactor EEE for RTL8218B/D and RTL8214FC

Three different code paths for the same phy model. Now the bus
is prepared to handle c45 (mmd) read/writes correctly. Remove
the custom implementations and let generic kernel functions do
their best. To achieve this

- disable the PHY-mode EEE in rtl821x_config_init() as upstream does
- provide mmd read/write functions that avoid EEE via c45 over c22

While chaning the phy_driver functions sort them alphabetically.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18935
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 weeks agorealtek: 6.12: allow fiber media status to be read without lock
Markus Stockhausen [Tue, 3 Jun 2025 18:21:48 +0000 (14:21 -0400)] 
realtek: 6.12: allow fiber media status to be read without lock

rtl8214fc_media_is_fibre() will need to be run when bus lock is held.
Split the function into two versions.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18935
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 weeks agorealtek: 6.12: proper mdio c45 handling in DSA driver
Markus Stockhausen [Tue, 3 Jun 2025 14:46:00 +0000 (10:46 -0400)] 
realtek: 6.12: proper mdio c45 handling in DSA driver

As the mdio bus has been hardened and can now handle c45 requests
the DSA driver must honor that as well. For this

- add proper upstreamed bus read_c45 and write_c45 functions
- take over the disabled port mask from upstream bus

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18935
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 weeks agorealtek: 6.12: harden the mdio bus even more
Markus Stockhausen [Tue, 3 Jun 2025 14:41:47 +0000 (10:41 -0400)] 
realtek: 6.12: harden the mdio bus even more

With the follow up EEE patches the mdio bus will run c22 and c45
accesses during initial scan. Especially when accessing addresses
beyond the CPU port phy requests might fail in a way that cannot
be handled gratefully. Do two things

- do not allow access to addresses starting from cpu port
- set the scan disable bitmask to ports starting from cpu port

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18935
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 weeks agorealtek: 6.12: enhance mdio max port patch (once again)
Markus Stockhausen [Tue, 3 Jun 2025 14:35:29 +0000 (10:35 -0400)] 
realtek: 6.12: enhance mdio max port patch (once again)

Some bits where missed during the last enhancement of the mdio
patch. In the forthcoming patches the phy_mask will be populated
to avoid unwanted ports (>= cpu port) from being scanned. Add
additional locations where 32 bit values need to be converted
to 64 bits.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18935
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 weeks agorealtek: 6.12: allow mixed c22/c45 bus access
Markus Stockhausen [Mon, 2 Jun 2025 17:44:02 +0000 (13:44 -0400)] 
realtek: 6.12: allow mixed c22/c45 bus access

If mmd and normal phy ops are issued the bus is lost because
of wrong park page settings. Force it to 0x1f as in GPL.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18935
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 weeks agorealtek: 6.12: activate testing kernel
Markus Stockhausen [Thu, 29 May 2025 18:33:05 +0000 (14:33 -0400)] 
realtek: 6.12: activate testing kernel

Allow to build the new kernel.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18935
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 weeks agorealtek: 6.12: add missing include
Markus Stockhausen [Thu, 29 May 2025 18:22:38 +0000 (14:22 -0400)] 
realtek: 6.12: add missing include

The new kernel has relocated the definition of struct platform_device.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18935
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 weeks agorealtek: 6.12: align internal/external mac eee function names
Markus Stockhausen [Thu, 29 May 2025 18:04:37 +0000 (14:04 -0400)] 
realtek: 6.12: align internal/external mac eee function names

The DSA driver uses set_mac_eee() for the outside API while
the interal helper is called port_eee_set(). Align that.
Additionally do not call the internal helpers directly by
the function names but use the register assignments.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18935
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 weeks agorealtek: 6.12: refactor get_mac_eee
Markus Stockhausen [Thu, 29 May 2025 07:34:59 +0000 (03:34 -0400)] 
realtek: 6.12: refactor get_mac_eee

Upstream will get rid of the get_mac_eee() function in the DSA
driver and replace it by a boolean alternative. While we fill a
lot of data here (because of EEE bugs in the Realtek phy layer)
other DSA drivers only return if EEE is available or not for a
port. To make the next kernel upgrade easier follow that design.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18935
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 weeks agorealtek: 6.12: relocate R4K deactivation to late CPU init
Markus Stockhausen [Wed, 28 May 2025 17:41:32 +0000 (13:41 -0400)] 
realtek: 6.12: relocate R4K deactivation to late CPU init

To avoid unneeded interrupts the R4K timer is deactivated during
secondary cpu initialization. This is currently done during
phase init_secondary(). With the upgrade to 6.12 the kernel runs
a primary/secondary cpu timer/counter synchronization to verify the
proper setup in synchronise_count_slave(). That runs at a later
point in time and expects the secondary counter to be fully
functional. Finding a deactivated counter results in the following
messages:

WARNING: CPU: 1 PID: 0 at arch/mips/kernel/sync-r4k.c:99 check_counter_warp+0x220/0x254
Warning: zero counter calibration delta: 0 [max: 6500000]
Counter synchronization [CPU#0 -> CPU#1]:
Measured 278760029 cycles counter warp between CPUs

Relocate the deactivation to smp_finsh() at the end of the cpu
startup sequence. Additionally polish the startup code and remove
all unneeded parts.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18935
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 weeks agorealtek: 6.12: fix phy-mode for XGS1250-12 port 1-8
Markus Stockhausen [Wed, 28 May 2025 12:43:16 +0000 (08:43 -0400)] 
realtek: 6.12: fix phy-mode for XGS1250-12 port 1-8

Per IEEE 802.3 definition we have:
- parallel XGMII for single 10GBit ONLY links
- serial USGMII for 8 port 1GBit links (not known by kernel)
- serial USXGMII: for single/multiple links with a total bandwidth of 10GBit

The phy-mode of the first eight ports of the XGS1250-12 have always been
defined as XGMII (without S). This came from a confusion with the similar
named Realtek proprietary XSGMII (with S) mode that is basically 10GB SGMII.
From the above definition this is wrong but worked until kernel 6.6. With
the upgrade to 6.12 there is an enforced capabilities check within
phy_caps_from_interface() and link validation fails with

lan1: validation of xgmii with support 62ef and advertisement 62c0 failed: -EINVAL
lan1: failed to connect to PHY: -EINVAL
lan1: error -22 setting up PHY for tree 0, switch 0, port 0

Switch the ports to USXGMII as the most flexible option. This might be no
final solution but at least it better describes the phy/mac link.

Fixes 5b8b382df9a960d88 ("realtek: Add support for ZxXEL XGS1250-12 Switch")
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18935
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 weeks agorealtek: 6.12: adapt RTL9300 i2c bus & mux drivers
Markus Stockhausen [Wed, 28 May 2025 05:32:49 +0000 (01:32 -0400)] 
realtek: 6.12: adapt RTL9300 i2c bus & mux drivers

Fix minor compilation errors due to kernel changes.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18935
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 weeks agorealtek: 6.12: adapt platform patch
Markus Stockhausen [Tue, 27 May 2025 19:28:52 +0000 (15:28 -0400)] 
realtek: 6.12: adapt platform patch

Upstream has integrated the Realtek target into the generic MIPS
initialization and so MACH_REALTEK_RTL has gained some new features.
Especially:

- CONFIG_MACH_GENERIC_CORE generates central modules
- board-realtek module adds device specific extensions

The current downstream initialization works well and upgrading to
kernel 6.12 is not the right time to harmonize this. Modify the
MACH definitions to the current needs.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18935
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 weeks agorealtek: 6.12: drop validate from phylink_mac_ops
Markus Stockhausen [Tue, 27 May 2025 19:21:39 +0000 (15:21 -0400)] 
realtek: 6.12: drop validate from phylink_mac_ops

The validate function no longer exists in phylink_mac_ops. Remove
it for the internal ethernet interface. Instead provide some
meaningful mac capabilities.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18935
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 weeks agorealtek: 6.12: add mac capabilities to rtl83xx_phylink_get_caps()
Markus Stockhausen [Tue, 27 May 2025 19:13:07 +0000 (15:13 -0400)] 
realtek: 6.12: add mac capabilities to rtl83xx_phylink_get_caps()

Not only the link but also the mac capabilities are needed here.
Additionally do some alphabetical sorting.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18935
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 weeks agorealtek: 6.12: rename dsa functions/structures to conduit/user
Markus Stockhausen [Tue, 27 May 2025 18:59:13 +0000 (14:59 -0400)] 
realtek: 6.12: rename dsa functions/structures to conduit/user

The old upstream notation has been changed to something not so racist.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18935
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 weeks agorealtek: 6.12: replace ethtool_eee with ethtool_keee
Markus Stockhausen [Tue, 27 May 2025 18:35:53 +0000 (14:35 -0400)] 
realtek: 6.12: replace ethtool_eee with ethtool_keee

EEE functions are now called with ethtool_keee instead of
ethtool_eee. Replace all occurrences. This will fix function
signature checks but still produces compilation errors due
to structure changes.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18935
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 weeks agorealtek: 6.12: refresh patches with slightly changed anchors
Markus Stockhausen [Tue, 27 May 2025 18:17:05 +0000 (14:17 -0400)] 
realtek: 6.12: refresh patches with slightly changed anchors

Patches where fuzz had to be cleaned up.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18935
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 weeks agorealtek: 6.12: refresh patches with only source line changes
Markus Stockhausen [Tue, 27 May 2025 18:08:32 +0000 (14:08 -0400)] 
realtek: 6.12: refresh patches with only source line changes

All these patches needed no manual intervention and applied cleanly
with new source code positions.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18935
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 weeks agorealtek: 6.12: drop upstreamed otto timer
Markus Stockhausen [Tue, 27 May 2025 17:48:06 +0000 (13:48 -0400)] 
realtek: 6.12: drop upstreamed otto timer

Thanks to Chris Packham this driver got upstreamed. Drop the
downstream files and patches.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18935
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 weeks agorealtek: 6.12: restore config-6.6
Markus Stockhausen [Tue, 27 May 2025 13:13:03 +0000 (09:13 -0400)] 
realtek: 6.12: restore config-6.6

Automatically generated commit.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18935
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 weeks agorealtek: 6.12: create config-6.12 from config-6.6
Markus Stockhausen [Tue, 27 May 2025 13:12:22 +0000 (09:12 -0400)] 
realtek: 6.12: create config-6.12 from config-6.6

Automatically generated commit.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18935
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 weeks agorealtek: 6.12: restore patches-6.6
Markus Stockhausen [Tue, 27 May 2025 13:11:03 +0000 (09:11 -0400)] 
realtek: 6.12: restore patches-6.6

Automatically generated commit.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18935
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 weeks agorealtek: 6.12: create patches-6.12 from patches-6.6
Markus Stockhausen [Tue, 27 May 2025 13:10:27 +0000 (09:10 -0400)] 
realtek: 6.12: create patches-6.12 from patches-6.6

Automatically generated commit.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18935
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 weeks agorealtek: 6.12: restore files-6.6
Markus Stockhausen [Tue, 27 May 2025 13:09:53 +0000 (09:09 -0400)] 
realtek: 6.12: restore files-6.6

Automatically generated commit.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18935
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 weeks agorealtek: 6.12: create files-6.12 from files-6.6
Markus Stockhausen [Tue, 27 May 2025 13:09:26 +0000 (09:09 -0400)] 
realtek: 6.12: create files-6.12 from files-6.6

Automatically generated commit.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18935
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 weeks agobcm27xx: add support for BRCMSTB I2C controller 19086/head
Álvaro Fernández Rojas [Tue, 10 Jun 2025 13:01:37 +0000 (15:01 +0200)] 
bcm27xx: add support for BRCMSTB I2C controller

Add kernel package for Broadcom Settop/DSL I2C controller.
This controller is used on RPi devices.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
8 weeks agoipq806x: fix Extreme Networks AP3935 LAN/WAN ports
Christian Schmidbauer [Thu, 29 May 2025 11:45:10 +0000 (13:45 +0200)] 
ipq806x: fix Extreme Networks AP3935 LAN/WAN ports

This commit changes LAN1 to be WAN and LAN2 to be LAN, like all other
dual port Extreme Networks devices.

This partially reverts commit 84a489b7cfc4c98b8747c9965826b2588eb3a57d

Signed-off-by: Christian Schmidbauer <github@grische.xyz>
8 weeks agoipq806x: fix Extreme Networks AP3935 LAN LED order
Christian Schmidbauer [Thu, 29 May 2025 09:00:10 +0000 (11:00 +0200)] 
ipq806x: fix Extreme Networks AP3935 LAN LED order

Fixes LAN LED "1" to show activity of LAN1 and LAN LED "2" to show
activity of LAN2, not vice versa.

Signed-off-by: Christian Schmidbauer <github@grische.xyz>
8 weeks agomediatek: update pinconf for GL.iNet eMMC boards
Yin Ni [Mon, 7 Apr 2025 03:49:42 +0000 (11:49 +0800)] 
mediatek: update pinconf for GL.iNet eMMC boards

Update the pin-configuration as well as maximum frequency for the eMMC
flash.

 - Use 26 MHz as the maximum clock of the eMMC memory
 - Configure 12mA as the pin drive-strength
 - Enable internal pull-reistors

Signed-off-by: Yin Ni <yin.ni@gl-inet.com>
[adapt commit message]
Signed-off-by: David Bauer <mail@david-bauer.net>
8 weeks agompc85xx: fix function name
David Bauer [Fri, 6 Jun 2025 20:17:37 +0000 (22:17 +0200)] 
mpc85xx: fix function name

The function name is misspelled and does not exist. Fix the function
name so the correct function is called.

Signed-off-by: David Bauer <mail@david-bauer.net>
8 weeks agozyxel-bootconfig: fix indentation
David Bauer [Fri, 6 Jun 2025 17:25:30 +0000 (19:25 +0200)] 
zyxel-bootconfig: fix indentation

Signed-off-by: David Bauer <mail@david-bauer.net>
8 weeks agopackage: rework contents of package index.json 19051/head
Eric Fahlgren [Fri, 6 Jun 2025 23:43:27 +0000 (16:43 -0700)] 
package: rework contents of package index.json

Rework the generation of the index.json version of the package
indexes to match the original intent (i.e., for use by the ASU
server and other downstream projects).  The current file contains
package names that have ABI versioning, making them unusable by ASU,
so we now remove the ABI suffixes.

Also adds a 'version' field to the json, so downstream utilities
can detect the new semantics of the package name fields.

Links: https://github.com/openwrt/openwrt/commit/218ce40cd738f3373438aab82467807a8707fb9c
Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19051
Signed-off-by: Robert Marko <robimarko@gmail.com>
8 weeks agoramips/mt7621: mark EEE as broken in devicetree 18585/head
Mateusz Jończyk [Sat, 5 Apr 2025 20:41:56 +0000 (22:41 +0200)] 
ramips/mt7621: mark EEE as broken in devicetree

Multiple users have reported a regression [1] in OpenWRT 24.10 with the
ramips/mt7621 target, which has the MT7530 PHYs: the Ethernet link is
periodically going down for a brief period of time:

        mt7530-mdio mdio-bus:1f lan1: Link is Down
        br-lan: port 1(lan1) entered disabled state
        mt7530-mdio mdio-bus:1f lan1: Link is Up - 1Gbps/Full - flow control rx/tx

The symptoms stop after disabling EEE and it was reported by Mediatek in
2021 that EEE is unstable for the MT7530 PHYs [2]:

> EEE of the 10-year-old MT7530 internal gephy has many IOT problems, so
> it is recommended to disable its EEE.

EEE is enabled by default for these devices in OpenWRT 24.10 whereas in the
previous version (OpenWRT 23.05, Linux 5.15) it was not. It was determined
that in Linux 6.6, the PHY driver tries to disable EEE in
mtk_gephy_config_init() in drivers/net/phy/mediatek-ge.c, but this is later
overridden by a subsequent execution of the genphy_c45_write_eee_adv()
function, which enables every EEE mode supported.

The best way forward for now seems to be to mark EEE as broken directly in
the devicetree, which affects the genphy_c45_write_eee_adv() function.

There are some devices, like GnuBee GB-PC2, that define additional PHYs,
for example ethernet-phy@5 or ethernet-phy@7. As reported by Chester A.
Unal, these are not MT7530 PHYs and they are not affected.

This would need to be cherrypicked for the OpenWRT 24.10 branch.

[1] https://github.com/openwrt/openwrt/issues/17351

[2] https://lore.kernel.org/all/0adde34f936a2dafca40b06b408d82afe0852327.camel@mediatek.com/

Tested-by: Darren Tucker
Signed-off-by: Mateusz Jończyk <mat.jonczyk@o2.pl>
Closes: https://github.com/openwrt/openwrt/issues/17351
Link: https://github.com/openwrt/openwrt/pull/18585
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
8 weeks agobmips: bcm6358: add support for Huawei HG556a ver C 19061/head
Álvaro Fernández Rojas [Sat, 7 Jun 2025 10:01:54 +0000 (12:01 +0200)] 
bmips: bcm6358: add support for Huawei HG556a ver C

Specifications:
- SoC: Broadcom BCM6358 dual 300MHz MIPS
- Flash: 16MB NOR Macronix MX29GL128EHT2I-90G
- RAM: 64MB DDR
- Ethernet: 4x 100M
- Wifi: Ralink RT3062F
- 3x USB 2.0 port
- 4x Button
- 13x LED
- RJ11 2x FXS VoIP (unsupported)
- RJ11 xDSL (unsupported)

Install instructions:
- Assign static IP 192.168.1.100 to PC.
- Unplug the power source.
- Press the RESTART button at the router, don't release it yet!
- Plug the power source and wait at least 15 seconds.
- Release the RESTART button.
- Browse to http://192.168.1.1 with your PC.
- Upload the openwrt-bmips-bcm6358-huawei_hg556a-c-squashfs-cfe.bin file.
- Wait some minutes until the firmware upgrade completes.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
8 weeks agogeneric: improve patches documentation 19092/head
Álvaro Fernández Rojas [Wed, 11 Jun 2025 06:15:35 +0000 (08:15 +0200)] 
generic: improve patches documentation

It's time to give the patches documentation some love by:
- Using Markdown.
- Differentiating between generic and specific target patches.
- Adding deeper explanation about patch numbering.

Link: https://github.com/openwrt/openwrt/pull/19092
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
8 weeks agoramips: a workaround for system halt issue on 6.12 kernel 18654/head
Shiji Yang [Fri, 30 May 2025 12:24:32 +0000 (20:24 +0800)] 
ramips: a workaround for system halt issue on 6.12 kernel

Fix potential invalid memory address access on ip_fast_csum().

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18654
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
8 weeks agomips: ralink: add missing include
Mieczyslaw Nalewaj [Sun, 18 May 2025 11:56:39 +0000 (13:56 +0200)] 
mips: ralink: add missing include

Missing headers causes an error on kernel 6.12:
arch/mips/ralink/irq.c:86:5: error: no previous prototype for 'get_c0_perfcount_int' [-Werror=missing-prototypes]
   86 | int get_c0_perfcount_int(void)
      |     ^~~~~~~~~~~~~~~~~~~~
arch/mips/ralink/irq.c:92:14: error: no previous prototype for 'get_c0_compare_int' [-Werror=missing-prototypes]
   92 | unsigned int get_c0_compare_int(void)
      |              ^~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/18654
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
8 weeks agomtk-mmc: replace empty body macros
Mieczyslaw Nalewaj [Sun, 18 May 2025 09:30:18 +0000 (11:30 +0200)] 
mtk-mmc: replace empty body macros

Replace macros with empty body with 'do {} while (0)'.
Remove unnecessary semicolons.

Fixes:
drivers/mmc/host/mtk-mmc/sd.c: In function 'msdc_irq':
drivers/mmc/host/mtk-mmc/sd.c:1969:87: error: suggest braces around empty body in an 'else' statement [-Werror=empty-body]
 1969 |                                 IRQ_MSG("XXX CMD<%d> MSDC_INT_RSPCRCERR", cmd->opcode);
      |                                                                                       ^
drivers/mmc/host/mtk-mmc/sd.c:1975:84: error: suggest braces around empty body in an 'else' statement [-Werror=empty-body]
 1975 |                                 IRQ_MSG("XXX CMD<%d> MSDC_INT_CMDTMO", cmd->opcode);
      |                                                                                    ^
cc1: all warnings being treated as errors

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/18654
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
8 weeks agokernel: netdevices: rtl8366: ensure CONFIG_NET_DSA_REALTEK_RTL8366RB_LEDS is enabled
Mathew McBride [Tue, 18 Mar 2025 23:00:52 +0000 (10:00 +1100)] 
kernel: netdevices: rtl8366: ensure CONFIG_NET_DSA_REALTEK_RTL8366RB_LEDS is enabled

Add new setting CONFIG_NET_DSA_REALTEK_RTL8366RB_LEDS which
was introduced in kernel 6.12 and allows enabling LEDs for
the Realtek RTL8366RB subdriver.

Signed-off-by: Mathew McBride <matt@traverse.com.au>
Link: https://github.com/openwrt/openwrt/pull/18654
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
8 weeks agoramips: enable 6.12 testing kernel
Mieczyslaw Nalewaj [Tue, 19 Nov 2024 00:03:37 +0000 (01:03 +0100)] 
ramips: enable 6.12 testing kernel

The ramips now supports 6.12 kernel as testing.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/18654
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
8 weeks agokernel/ramips: update config for kernel 6.12
Mieczyslaw Nalewaj [Sun, 1 Jun 2025 06:17:38 +0000 (08:17 +0200)] 
kernel/ramips: update config for kernel 6.12

Update target ramips config for kernel 6.12.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/18654
[Remove some more option already in generic config]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
8 weeks agoramips: pci-rt2880: 6.12: change pcibios_init declaration
Mieczyslaw Nalewaj [Sun, 11 May 2025 14:21:36 +0000 (16:21 +0200)] 
ramips: pci-rt2880: 6.12: change pcibios_init declaration

Fixes error:
arch/mips/pci/pci-rt2880.c:267:12: error: no previous prototype for 'pcibios_init' [-Werror=missing-prototypes]
  267 | int __init pcibios_init(void)
      |            ^~~~~~~~~~~~
cc1: all warnings being treated as errors
make[8]: *** [scripts/Makefile.build:229: arch/mips/pci/pci-rt2880.o] Error 1
make[7]: *** [scripts/Makefile.build:478: arch/mips/pci] Error 2

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/18654
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
8 weeks agoramips: 6.12: automatically rebuilding patches
Mieczyslaw Nalewaj [Fri, 30 May 2025 05:59:40 +0000 (07:59 +0200)] 
ramips: 6.12: automatically rebuilding patches

Automatic rebasing of patches.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/18654
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
8 weeks agoramips: 6.12: manually rebuilding patches
Mieczyslaw Nalewaj [Fri, 30 May 2025 05:56:30 +0000 (07:56 +0200)] 
ramips: 6.12: manually rebuilding patches

Manually rebuilding patches:
 - 001-v6.13-clocksource-drivers-ralink-Add-Ralink-System-Tick-Co.patch
 - 311-MIPS-use-set_mode-to-enable-disable-the-cevt-r4k-irq.patch
 - 314-MIPS-add-bootargs-override-property.patch
 - 405-mtd-spi-nor-Add-support-for-BoHong-bh25q128as.patch
 - 810-uvc-add-iPassion-iP2970-support.patch
 - 821-SPI-ralink-add-Ralink-SoC-spi-driver.patch
 - 825-i2c-MIPS-adds-ralink-I2C-driver.patch
 - 845-pwm-add-mediatek-support.patch
 - 860-ramips-add-eip93-driver.patch

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/18654
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
8 weeks agoramips: 6.12: remove obsolete patches
Mieczyslaw Nalewaj [Sun, 11 May 2025 14:18:35 +0000 (16:18 +0200)] 
ramips: 6.12: remove obsolete patches

Remove obsolete patches already included in kernel 6.12.

Removed (already included):
 - 805-01-v6.9-pinctrl-Add-driver-for-Awinic-AW9523-B-I2C-GPIO-Expa.patch
 - 805-02-v6.9-pinctrl-aw9523-Add-proper-terminator.patch
 - 805-03-v6.10-pinctrl-aw9523-Destroy-mutex-on-remove.patch
 - 805-04-v6.10-pinctrl-aw9523-Use-correct-error-code-for-not-suppor.patch
 - 805-05-v6.10-pinctrl-aw9523-Always-try-both-ports-in-aw9523_gpio_.patch
 - 805-06-v6.10-pinctrl-aw9523-Make-use-of-struct-pinfunction-and-PI.patch
 - 805-07-v6.10-pinctrl-aw9523-Use-temporary-variable-for-HW-IRQ-num.patch
 - 805-08-v6.10-pinctrl-aw9523-Get-rid-of-redundant-U8_MAX-pieces.patch
 - 805-09-v6.10-pinctrl-aw9523-Remove-unused-irqchip-field-in-struct.patch
 - 805-10-v6.10-pinctrl-aw9523-Make-use-of-dev_err_probe.patch
 - 805-11-v6.10-pinctrl-aw9523-Sort-headers-and-group-pinctrl.patch
 - 805-12-v6.10-pinctrl-aw9523-Fix-indentation-in-a-few-places.patch

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/18654
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
8 weeks agokernel/ramips: Restore kernel files for v6.6
Mieczyslaw Nalewaj [Sun, 11 May 2025 14:16:38 +0000 (16:16 +0200)] 
kernel/ramips: 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: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/18654
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
8 weeks agokernel/ramips: Create kernel files for v6.12 (from v6.6)
Mieczyslaw Nalewaj [Sun, 11 May 2025 14:16:36 +0000 (16:16 +0200)] 
kernel/ramips: 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: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/18654
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
8 weeks agoapk-tools: update to git HEAD (2025-06-06) 19043/head
Eric Fahlgren [Fri, 6 Jun 2025 15:19:15 +0000 (08:19 -0700)] 
apk-tools: update to git HEAD (2025-06-06)

3efd75dc7e49 crypto: fix segfault when passing --hash
51306cf1424e test: export APK_CONFIG=/dev/null
b91e9e17ceb6 build: mark scdoc dependency as native
123fa05b787a build: mark lua interpreter dependency as native
5fbb85426ea0 libfetch: fix fetch_err* for negative error codes
1458737d58c2 db, index: fix 'index' loading of old index
cbd1e6b49add add: use solver error when arch is incompatible
f66d84fcd42d doc: update apk-package(5) regarding arch validation
f5df274d248c test: don't use temporary files for diffing output
42034f7961f0 apk: allow per-applet option to override group options
b6ca99d44119 serializer: start_array(num=-1) indicates unknown amount
14881b9ffb2e query: a new api and applet to search and output information
dd2255e10ee9 package: use apk_array_foreach
ae17b61de83b info: use apk_array_foreach
6d4471f55ada solver: use apk_array_foreach
7951798121c1 db: use apk_array_foreach
5e3cac4ccb85 commit: use apk_array_foreach
86c725d97afd db: allocate protected paths with balloc
0fe23ce1a501 array: make apk_array_foreach* evaluate end only once
a50f7ea2dd02 io_url_wget: correctly init wget_out on apk_io_url_init call
2cdfdd86e3d4 commit: Fix 'upgrade' typo on cache-pre-download
3fb50f645203 Add man page for protected_paths.d
652a1365aa30 fetch: account existing files to progress
0257acf6b120 doc: remove .d from apk-protected_paths(5) man page name
aeb74de67818 db: include index file name for APK_REPOTYPE_NDX
6ec4fe6fa334 mkpkg: handle apk_blob_split failure
c47b6e17fe6d extract: handle apk_blob_split failure
b7c6b0b468d7 mkpkg: print error message when using forbidden fields
b9483c46bdf9 fetch: fix APK_BLOB_STRLIT used with char argument
d495be9e9f25 adbsign: fix recompressing when alg is NONE or level is 0
5348babed78e mkndx: fix memory leak when with large dependency list in v2 packages
11dd5923f6a1 mkndx: don't return ADB_ERROR from mkndx_parse_v2meta
8415dbf6df42 mkndx: reset pkginfo on error
684bef440cde mkndx: remove workaround for abuild license field
a94fa1878df9 pkg: move same origin check after replaces check
3abcd400bdbf pkg: fix package repos after 16th missing
216ac57b7a1a arch: reserve wasi32 architecture name for WASI APKs
3761e38d1a00 add wasi32/wasi64 reservations to apk-package(5)
68c1fa58113e dot: only initialize qs->mode.empty_matches_all once
56019c5ed390 {blob,tar,adb}: avoid overflow when pulling numbers
5112b60c4440 index: only check file name for old index
345863787484 db: fix ${name} check in apk_db_get_pkg_by_name
5ce64d14ead8 manifest: replace memset 0 with apk_blob_pushed
7765f134215d info: include name and version when --all is used
d2ca47f9f3b4 fix indentation
33c822e93267 build: install apk_repoparser.h header
0762b25eb2ad ctx: initialize progress_char in apk_ctx_init
0a3fa796a532 doc: fix typos
10a184f3f43d search: fix incorrect error when no match was found
aa9502dc3720 ctx: fix closing of root_fd
2ac55a0f26bd io: fix id_cache when root_fd is 0
c39b22fe49c7 fetch: fix outdir_fd when openat returns 0
9d42be2316fc meson: Build Python module using standard Meson python build functions
48c6e526ee6f meson: Allow overriding the names of the Lua binary and pkgconfig file
249f0d937afb ci: Add build test on Fedora Linux
10dbdf7263eb pkg: replace files/dirs from packages that will be removed
acae571db2b9 pkg: apk_pkg_replaces_{dir,file} access ipkgs consistently
8b0b567544b7 io: initialize 'r' in apk_dir_foreach_config_file
55ab583de9a3 io: fix undefined behaviour in apk_istream_get_delim
deadab38aea9 db: flush progress notes after opening indexes
32b3a448c3e2 info: always show name/version for no-legacy-info
dbba5797269b crypto: make crypto backend an implementation detail
c0288de355e6 test: fix failing tests due to missing PATH_MAX definition
1863ccbf7abb make: remove -DCRYPTO_USE_*
e2fb020c96ca apk: shared error message for invalid arguments
29040298f5de adb: fix handling of empty adb blocks
2aa08ec9da6a adb: fix exact comparison of objects containing arrays
e475a2fab226 Update apk-v3.5.scd
76c629d79473 doc: combine --no-* and --* descriptions
afc1ee46ca55 mkpkg: convert --rootnode to APK_OPT_BOOL
2c52e9415653 pkg: correctly check empty atoms in apk_package
f384d7d11229 test: add tests for query
0c044cb8323d tests: fix permissions on replaces.sh
31bc2263a10f defines: make BIT() always return a 64-bit type
dc86ad784eef solver: always resolve conflict names in install-if
8b6e9c9d6421 db, pkg: separate "virtual" repository for command line packages
d7f77eb68aa5 adb: reduce alignment of ADB_TYPE_INT_64 to 32 bits
1ffd648aca45 array: generalize apk_deps_balloc to apk_array_balloc
2089f8a8225b adb, pkg, query: add support for 'recommends'
59c207b582cc array: generalize apk_deps_bclone to apk_array_bclone
617ba801f760 commit: fix size_diff on package removal
649859806c65 commit, upgrade: never suggest --force-broken-world
4f84ee8156e1 help: group option group help first
44a7498d6102 fetch: fix error reporting if package is not selected
7516cf61fe94 adb: return bool from adb_block_is_ext
f47cb4bdac15 adb: validate signature header version specific size
1925de55beef adb, pkg: add support for custom tags
f174f287b1b2 db, doc: update and document environment variables for scripts
603eeea614b5 upgrade: improve the mechanism to detect self-upgrade done
97c2d3318d8d upgrade: determine apk-tools package name from /proc/self/exe
088f88cdb6a5 build, test: fix limits.h including and testing selfupgrade
8acf4c0e95da pkg: export APK_PACKAGE for package scripts
ab907a6b682e io: ignore dot files in apk_dir_foreach_file()
f5e4cbc3900e info: make --legacy-info the default for the time being
7f1afedb7cae doc/apk-v3(5): document that multiple SIG blocks are allowed
2204c49b9d7e adb: validate block type before testing the allowed mask
9331888de6bd apk-tools-3.0.0_rc5

Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19043
Signed-off-by: Robert Marko <robimarko@gmail.com>
8 weeks agogeneric: 6.12: reorganize backports 19055/head
Álvaro Fernández Rojas [Sat, 7 Jun 2025 08:38:55 +0000 (10:38 +0200)] 
generic: 6.12: reorganize backports

Reorganize backported 6.12 generic patches, grouping them by following
a standard naming XXX-XX-v6.x-patch-file-name.patch.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
8 weeks agokernel: add support for DesignWare I2C Platform controller 19072/head
Álvaro Fernández Rojas [Sun, 8 Jun 2025 15:03:30 +0000 (17:03 +0200)] 
kernel: add support for DesignWare I2C Platform controller

Add kernel package for DesignWare I2C platform controller.
This controller is used on the RP1 SoC found on RPi 5 devices.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
8 weeks agokernel: add Microchip ENC28J60 SPI Ethernet controller module 19048/head
Albrecht Lohofener [Mon, 9 Jun 2025 05:48:32 +0000 (07:48 +0200)] 
kernel: add Microchip ENC28J60 SPI Ethernet controller module

The ENC28J60 is a 10 Mbps half-duplex Ethernet controller interfaced via SPI.
It achieves real-world bandwidth up to 5Mbit/s on devices like the RPi Zero due
to SPI limits.
Commonly used with Raspberry Pi Zero boards for wired network connectivity.

Signed-off-by: Albrecht Lohofener <albrechtloh@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/19048
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
8 weeks agokernel: add support for DesignWare SPI MMIO controller 19049/head
Albrecht Lohofener [Sun, 8 Jun 2025 07:23:42 +0000 (09:23 +0200)] 
kernel: add support for DesignWare SPI MMIO controller

Add kernel packages for DesignWare SPI core and MMIO controllers.
This is needed for the RP1 SoC found on RPi 5 devices.

Tested with a Microchip ENC28J60 Ethernet controller on a RPi 5.

Signed-off-by: Albrecht Lohofener <albrechtloh@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/19049
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
8 weeks agouml: fix CONFIG_ALL_KMODS
Christian Lamparter [Sat, 31 May 2025 11:40:21 +0000 (13:40 +0200)] 
uml: fix CONFIG_ALL_KMODS

building with CONFIG_ALL_KMODS unearthed all sorts of interesting
failures

ERROR: module 'crypto/chacha-x86_64.ko' is missing.
ERROR: module 'crypto/poly1305-x86_64.ko' is missing.
ERROR: module 'crypto/curve25519-x86_64.ko' is missing.
ERROR: module 'crypto/camellia-x86_64.ko' is missing.

These stem from the main UML Makefile.
|# UML only makes sense on linux
|ifeq ($(HOST_OS),Linux)
|  ifeq ($(HOST_ARCH),x86_64)
|
|ARCH:=x86_64
|BOARD:=uml

The modules in question define x86_64 optimized version and
the OpenWrt's buildsystem expects that these modules will be present.

SPI is not available due to the UML Architecture not setting HAS_IOMEM.
In the future, UML could get (virtualized) IOMEM and/or SPI could drop
the HAS_IOMEM dependency. A patch for the latter has been sent:
<https://lore.kernel.org/linux-spi/20250530234941.950431-1-chunkeey@gmail.com/T/#u>

mt76: Unfortunately, the firmware packages are picked up, but the
associated drivers can't be build because iowrite32+ioread32 are
not defined.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
8 weeks agouml: drop 6.6 config+patches
Christian Lamparter [Fri, 30 May 2025 20:47:07 +0000 (22:47 +0200)] 
uml: drop 6.6 config+patches

Drop configs+patches for UML's Linux 6.6 support.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
8 weeks agouml: use kernel 6.12 by default
Christian Lamparter [Fri, 30 May 2025 20:44:35 +0000 (22:44 +0200)] 
uml: use kernel 6.12 by default

This patch switches the UML target Linux kernel version to 6.12.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
8 weeks agokernel: r8125: update to v9.016.00 19070/head
Álvaro Fernández Rojas [Sun, 8 Jun 2025 10:58:37 +0000 (12:58 +0200)] 
kernel: r8125: update to v9.016.00

Changelog: https://github.com/openwrt/rtl8125/compare/9.015.00...9.016.00

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
8 weeks agoramips: mt7621: include uboot-envtools in some missed devices 19012/head
Mario Andrés Pérez [Tue, 3 Jun 2025 22:21:34 +0000 (00:21 +0200)] 
ramips: mt7621: include uboot-envtools in some missed devices

Add uboot-envtools (removing -uboot-envtools) to devices which were
missed in the commit 79bd017 ("ramips: mt7621: add uboot-envtools to
all devices")

- Mi Router 3G
- Mi Router AC2100

While at here remove two redundant entries from devices which were added
just after the referenced commit 79bd017 and did not account for the
new DEFAULT_PACKAGES member:

- SNR-CPE-ME1
- SNR-CPE-ME2-SFP

Fixes: 79bd017 ("ramips: mt7621: add uboot-envtools to all devices")
Fixes: https://github.com/openwrt/openwrt/issues/18960
Signed-off-by: Mario Andrés Pérez <mapb_@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/19012
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
8 weeks agokernel: add backport to fix build with GCC 15.1 19058/head
John Audia [Sat, 7 Jun 2025 12:47:27 +0000 (08:47 -0400)] 
kernel: add backport to fix build with GCC 15.1

Add the following to fix builds with GCC 15.1:
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/arch/mips/vdso?h=next-20250606&id=0f4ae7c6ecb89bfda026d210dcf8216fb67d2333

% dmesg | grep gcc
[    0.000000] Linux version 6.6.93 (facade@redline) (mipsel-openwrt-linux-musl-gcc (OpenWrt GCC 15.1.0 r29972+15-7d617804cfe7) 15.1.0, GNU ld (GNU Binutils) 2.44) #0 SMP Sat Jun  7 12:13:18 2025

Error for reference:
./include/linux/stddef.h:11:9: error: cannot use keyword 'false' as enumeration constant
   11 |         false   = 0,
      |         ^~~~~
./include/linux/stddef.h:11:9: note: 'false' is a keyword with '-std=c23' onwards
./include/linux/types.h:35:33: error: 'bool' cannot be defined via 'typedef'
   35 | typedef _Bool                   bool;
      |                                 ^~~~
./include/linux/types.h:35:33: note: 'bool' is a keyword with '-std=c23' onwards
./include/linux/types.h:35:1: error: useless type name in empty declaration [-Werror]
   35 | typedef _Bool                   bool;
      | ^~~~~~~
  CC      arch/mips/lib/delay.o
  AR      arch/mips/fw/lib/built-in.a
  AR      arch/mips/fw/lib/lib.a
  CC      arch/mips/ralink/of.o
  CC      fs/read_write.o
  CC      block/elevator.o
cc1: all warnings being treated as errors
make[9]: *** [scripts/Makefile.build:243: arch/mips/vdso/vgettimeofday.o] Error 1
make[8]: *** [scripts/Makefile.build:480: arch/mips/vdso] Error 2

Build system: x86/64
Build-tested: ramips/tplink_archer-a6-v3
Run-tested: ramips/tplink_archer-a6-v3

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/19058
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
8 weeks agoramips: some minor FDT improvements for HiWiFi devices 18251/head
Shiji Yang [Sat, 15 Mar 2025 02:00:10 +0000 (10:00 +0800)] 
ramips: some minor FDT improvements for HiWiFi devices

This patch contains various minor FDT improvements for ramips
HiWiFi series devices:

* Add mt76 driver compatibles.
* Remove useless platform compatibles.
* Add default USB LED trigger for HC5861.
* Disable unused usbphy for HC5661, HC5661A and HC581B.
* Add switch port map properties based on 02_network scripts.
* Move aliases node to device dts because the LED nodes it
  references only exist in the device specific dts.
* Rename gpio-leds nodes to follow the upstream dt-bindings
  suggested pattern "(^led-[0-9a-f]$|led)".
* Convert deprecated LED label property to color and function.
  "system" LED has been renamed to "status", it is acceptable
  because these LEDs do not have text labels.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18251
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
8 weeks agoramips: convert HiWiFi devices MAC address to NVMEM format
Shiji Yang [Sat, 15 Mar 2025 02:00:10 +0000 (10:00 +0800)] 
ramips: convert HiWiFi devices MAC address to NVMEM format

For all HiWiFi series devices, the base MAC address is stored on
"bdinfo" partition, offset 0x18a, ASCII text format. The recently
introduced "mac-base" nvmem layout can handle the ASCII text now,
so it's time to move MAC address configurations to dts. There is
no valid MAC info in the "factory" partition, hence they will be
replaced with the correct ones.

Tested on HiWiFi HC5661A and HC5861.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18251
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
8 weeks agotoolchain: binutils: add support for 2.44 18614/head
Olcay Korkmaz [Sat, 26 Apr 2025 20:46:26 +0000 (23:46 +0300)] 
toolchain: binutils: add support for 2.44

Release notes: https://lists.gnu.org/archive/html/info-gnu/2025-02/msg00001.html

Auto refresh patches
Test device: Xiaomi ax3600

Signed-off-by: Olcay Korkmaz <nuke_mania@hotmail.com>
Link: https://github.com/openwrt/openwrt/pull/18614
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
8 weeks agoramips: mt76x8: add Teltonika RUT951/RUT901 support 18788/head
Simonas Tamošaitis [Wed, 4 Jun 2025 18:39:18 +0000 (21:39 +0300)] 
ramips: mt76x8: add Teltonika RUT951/RUT901 support

Specification:
- MediaTek MT7628AN SoC
- 128 MB of RAM EtronTech EM68C16CWQG-25IH
- 16MB of Flash Winbond W25Q128 SPI
- 4x 10/100 Mbps Ethernet, with passive PoE support on LAN1
- MediaTek MT7628AN 2.4 GHz 802.11n WiFi
- Quectel EC25-EUX 4G cat 4 modem (RUT951) or Quectel EC200A-EU 4G cat 4 modem (RUT901)
- 1x Digital input
- 1x Digital output
- 2x SIM slot (can be swapped via GPIO)
- eSIM (depends on hardware configuration, can be swapped via GPIO)

GPIO:
 - 1 button (Reset)
 - 7 LEDs (power, status green/red, RSSI 1,2,3,4,5)
 - 5 Modem control (power button, reset, status, SIM select, eSIM select)
 - 1 Digital input
 - 1 Digital output

Flashing via OEM WebUI:
1. Download the firmware image *-squashfs-factory.bin
2. Upload firmware image via OEM WebUI firmware update, do not keep settings

To revert back to OEM firmware:
https://wiki.teltonika-networks.com/view/Bootloader_menu

Mobile data connection:
Quectel EC200A-EU send command to modem:
    echo -ne 'AT+QNETDEVCTL=3,1\r\n' > /dev/ttyUSB2
    Create DHCP interface with usb0 device.
Quectel EC25-EUX create proto qmi interface.

Signed-off-by: Simonas Tamošaitis <simsasss@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18788
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
8 weeks agoramips: mt76x8: add Teltonika RUT956/RUT906 support
Simonas Tamošaitis [Wed, 19 Mar 2025 14:13:32 +0000 (16:13 +0200)] 
ramips: mt76x8: add Teltonika RUT956/RUT906 support

Specification:
- MediaTek MT7628AN SoC
- 128 MB of RAM EtronTech EM68C16CWQG-25IH
- 16MB of Flash Winbond W25Q128 SPI
- 4x 10/100 Mbps Ethernet, with passive PoE support on LAN1
- MediaTek MT7628AN 2.4 GHz 802.11n WiFi
- Quectel EC25-EUX (RUT956) or Meig SLM770A (RUT906) modem
- GNSS
- RS232, DB9 connector, Cypress ACM via USB, /dev/ttyACM0
- RS485 /dev/ttyS1
- microSD card slot
- 2.0 USB Type-A HOST port
- analog 0-24V input (MCP3221)
- Relay
- 2x Digital input
- 2x Digital output
- 2x SIM slot (can be swapped via GPIO)
- eSIM (depends on hardware configuration, can be swapped via GPIO)

GPIO:
 - 1 button (Reset)
 - 7 LEDs (power, status green/red, RSSI 1,2,3,4,5)
 - 5 Modem control (power button, reset, status (v5 hw), SIM select, eSIM select)
 - 2 Digital input
 - 2 Digital output
 - 1 Isolated input
 - 1 RS485 tx enable
 - 1 RS485 rx enable
 - 1 Relay
 - 1 Data Carrier Detect (DCD)

Flashing via OEM WebUI:
1. Download the firmware image *-squashfs-factory.bin
2. Upload firmware image via OEM WebUI firmware update, do not keep settings

To revert back to OEM firmware:
https://wiki.teltonika-networks.com/view/Bootloader_menu

Mobile data connection:
Meig SLM770 create proto DHCP interface with usb0 device.
Quectel EC25-EUX create proto qmi interface.

Signed-off-by: Simonas Tamošaitis <simsasss@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18788
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
8 weeks agomac80211: realtek: add support for RTL8814AE/RTL8814AU 19052/head
Marty Jones [Sat, 7 Jun 2025 00:12:36 +0000 (20:12 -0400)] 
mac80211: realtek: add support for RTL8814AE/RTL8814AU

This adds support for RTL8814AE/RTL8814AU PCI/USB adapters.
Run-tested: x86/64/rockchip
USB adapter tested: Hawking HW17ACU Wireless-AC1750.

Signed-off-by: Marty Jones <mj8263788@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19052
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
8 weeks agolinux-firmware: realtek: add firmware for RTL8814AE/RTL8814AU
Marty Jones [Fri, 6 Jun 2025 23:59:32 +0000 (19:59 -0400)] 
linux-firmware: realtek: add firmware for RTL8814AE/RTL8814AU

This adds firmware support for the RTL8814AE/RTL8814AU WiFi adapters.

Signed-off-by: Marty Jones <mj8263788@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19052
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
8 weeks agomac80211: realtek: rtw88: sync with v6.16
Marty Jones [Sat, 7 Jun 2025 23:02:25 +0000 (19:02 -0400)] 
mac80211: realtek: rtw88: sync with v6.16

Renamed 046..051 pending patches with the merged tag/hash.
Two patches were skipped, they make use of WQ_BH present since v6.14:
  https://github.com/torvalds/linux/commit/13221be72034d1c34630ab124c43438aefe7e656
  https://github.com/torvalds/linux/commit/3e3aa566dd1803f1697530de6c8489a8350765b3
Manually refreshed 062-v6.14-wifi-rtw88-Add-support-for-LED-blinking.patch
Manually refreshed  063-v6.14-wifi-rtw88-add-RTW88_LEDS-depends-on-LEDS_CLASS-to-K.patch
Manually backported 090-v6.15-wifi-rtw88-Enable-the-new-RTL8814AE-RTL8814AU-driver.patch

git log --no-merges --pretty=oneline --abbrev-commit 4c2c372de...0daa521a drivers/net/wireless/realtek/rtw88:
4c2c372de2e1 wifi: rtw88: fix the 'para' buffer size to avoid reading out of bounds
f24d0d8c3cd7 wifi: rtw88: Fix the random "error beacon valid" messages for USB
80fe0bc1659c wifi: rtw88: usb: Upload the firmware in bigger chunks
490340faddea wifi: rtw88: usb: Reduce control message timeout to 500 ms
b7f0cc647e52 wifi: rtw88: rtw8822bu VID/PID for BUFFALO WI-U2-866DM
2c17afde9ff6 wifi: rtw88: Handle RTL8723D(S) with blank efuse
0ffa1ba81b35 wifi: rtw88: Fix RX aggregation settings for RTL8723DS
20d3c19bd8f9 wifi: rtw88: do not ignore hardware read error during DPK
fc5f5a0ec463 wifi: rtw88: sdio: call rtw_sdio_indicate_tx_status unconditionally
b2effcdc2379 wifi: rtw88: sdio: map mgmt frames to queue TX_DESC_QSEL_MGMT
581cf3a9cb61 wifi: rtw88: Fix the module names printed in dmesg
b8d49bb8d16a wifi: rtw88: Don't set SUPPORTS_AMSDU_IN_AMPDU for RTL8814AU
0d2a88690e58 wifi: rtw88: Set AMPDU factor to hardware for RTL8814A
dcbb7bb3a364 wifi: rtw88: usb: Enable RX aggregation for RTL8814AU
bf1103654df9 wifi: rtw88: usb: Enable switching the RTL8814AU to USB 3
625fbc16524a wifi: rtw88: usb: Remove redundant 'flush_workqueue()' calls
5c4cf36c538b wifi: rtw88: sdio: Remove redundant 'flush_workqueue()' calls
d58ad77d5cc2 wifi: rtw88: Add __nonstring annotations for unterminated strings
deb3ddeb1865 wifi: rtw88: Enable the new RTL8814AE/RTL8814AU drivers
bad060e8a425 wifi: rtw88: Add rtw8814au.c
dad8e8793102 wifi: rtw88: Add rtw8814ae.c
1a7545784642 wifi: rtw88: Add rtw8814a.{c,h}
e38246889cc9 wifi: rtw88: Add rtw8814a_table.c (part 2/2)
f4debfcb1b3c wifi: rtw88: Add rtw8814a_table.c (part 1/2)
679ec431477c wifi: rtw88: Add some definitions for RTL8814AU
c374281f8285 wifi: rtw88: Extend rtw_debugfs_get_tx_pwr_tbl() for RTL8814AU
cfebabdd351e wifi: rtw88: Extend rtw_debugfs_get_phy_info() for RTL8814AU
8b42c46cf665 wifi: rtw88: Extend rtw_phy_config_swing_table() for RTL8814AU
053a7aace020 wifi: rtw88: Fix rtw_rx_phy_stat() for RTL8814AU
6be7544d19fc wifi: rtw88: Fix rtw_init_vht_cap() for RTL8814AU
c7eea1ba05ca wifi: rtw88: Fix rtw_init_ht_cap() for RTL8814AU
86d04f8f991a wifi: rtw88: Fix rtw_desc_to_mcsrate() to handle MCS16-31
e66bca16638e wifi: rtw88: Fix rtw_mac_power_switch() for RTL8814AU
80c4668d024f wifi: rtw88: Add support for Mercusys MA30N and D-Link DWA-T185 rev. A1
9f00e2218e15 wifi: rtw88: Fix rtw_update_sta_info() for RTL8814AU
0f98a5959657 wifi: rtw88: Extend TX power stuff for 3-4 spatial streams
ad815f392003 wifi: rtw88: Rename RTW_RATE_SECTION_MAX to RTW_RATE_SECTION_NUM
e66f3b5c7535 wifi: rtw88: Constify some more structs and arrays
8f0076726b66 wifi: rtw88: Extend rtw_fw_send_ra_info() for RTL8814AU
d80e7d9b6ba3 wifi: rtw88: Extend rf_base_addr and rf_sipi_addr for RTL8814AU
62f726848da4 wifi: rtw88: Extend struct rtw_pwr_track_tbl for RTL8814AU
9e8243025cc0 wifi: rtw88: Fix download_firmware_validate() for RTL8814AU
8425f5c8f04d wifi: rtw88: Fix __rtw_download_firmware() for RTL8814AU
105dc94233e4 wifi: rtw88: Fix a typo of debug message in rtw8723d_iqk_check_tx_failed()
0d1d165eff9d wifi: rtw88: Don't use static local variable in rtw8821c_set_tx_power_index_by_rate
00451eb3bec7 wifi: rtw88: Don't use static local variable in rtw8822b_set_tx_power_index_by_rate
b4bfbc50b1b9 wifi: rtw88: add RTW88_LEDS depends on LEDS_CLASS to Kconfig
4b6652bc6d8d wifi: rtw88: Add support for LED blinking
fb2fcfbe5eef wifi: rtw88: sdio: Fix disconnection after beacon loss
a806a8160a0f wifi: rtw88: 8703b: Fix RX/TX issues
5ad483955acc wifi: rtw88: Delete rf_type member of struct rtw_sta_info
5b1b9545262b wifi: rtw88: Add USB PHY configuration
not backported (3e3aa566dd18 wifi: rtw88: usb: Preallocate and reuse the RX skbs)
not backported (13221be72034 wifi: rtw88: Handle C2H_ADAPTIVITY in rtw_fw_c2h_cmd_handle() )
e9048e2935f7 wifi: rtw88: usb: Copy instead of cloning the RX skb
74a72c367573 wifi: rtw88: 8821a/8812a: Set ptct_efuse_size to 0
59ab27a9f20f wifi: rtw88: 8812a: Support RFE type 2

Signed-off-by: Marty Jones <mj8263788@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19052
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
8 weeks agokernel: remove duplicate PREEMPT settings 18986/head
Mieczyslaw Nalewaj [Sun, 1 Jun 2025 06:49:28 +0000 (08:49 +0200)] 
kernel: remove duplicate PREEMPT settings

Remove duplicate PREEMPT settings PREEMPT_NONE_BUILD and PREEMPT_RT
which are already in target/linux/generic/config-6.12.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/18986
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
8 weeks agogmp: fix compilation with GCC 15.1 18992/head
John Audia [Sun, 1 Jun 2025 11:23:02 +0000 (07:23 -0400)] 
gmp: fix compilation with GCC 15.1

Apply same patches to gmp on the host side to fix GCC 15 build errors.

https://github.com/openwrt/openwrt/commit/31800db91d43042813b7249a09fd61c356b39767

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/18992
Signed-off-by: Robert Marko <robimarko@gmail.com>
8 weeks agof2fs-tools: fix building with GCC 15.1 18991/head
John Audia [Sun, 1 Jun 2025 11:16:04 +0000 (07:16 -0400)] 
f2fs-tools: fix building with GCC 15.1

Add a patch in order to fix it.

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/18991
Signed-off-by: Robert Marko <robimarko@gmail.com>
8 weeks agomtd: fix building with GCC 15.1 18600/head
Rui Salvaterra [Sat, 3 May 2025 11:12:12 +0000 (12:12 +0100)] 
mtd: fix building with GCC 15.1

Convert old style declarations to modern ones.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18600
Signed-off-by: Robert Marko <robimarko@gmail.com>
8 weeks agolinux-atm: fix building with GCC 15.1
Rui Salvaterra [Sat, 26 Apr 2025 10:44:08 +0000 (11:44 +0100)] 
linux-atm: fix building with GCC 15.1

Add a patch in order to fix it.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18600
Signed-off-by: Robert Marko <robimarko@gmail.com>
8 weeks agoppp: fix building with GCC 15.1
Rui Salvaterra [Sat, 26 Apr 2025 10:43:21 +0000 (11:43 +0100)] 
ppp: fix building with GCC 15.1

Backport two patches in order to fix it.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18600
Signed-off-by: Robert Marko <robimarko@gmail.com>
8 weeks agombedtls: fix building with GCC 15.1
Rui Salvaterra [Sat, 26 Apr 2025 10:42:05 +0000 (11:42 +0100)] 
mbedtls: fix building with GCC 15.1

Disable -Wunterminated-string-initialization for now.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18600
Signed-off-by: Robert Marko <robimarko@gmail.com>
8 weeks agotoolchain: add support for GCC 15.1
Rui Salvaterra [Fri, 25 Apr 2025 17:17:56 +0000 (18:17 +0100)] 
toolchain: add support for GCC 15.1

All patches automatically refreshed.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18600
Signed-off-by: Robert Marko <robimarko@gmail.com>
8 weeks agolibxcrypt: update to 4.4.38 19011/head
Konstantin Demin [Sat, 7 Jun 2025 13:12:59 +0000 (16:12 +0300)] 
libxcrypt: update to 4.4.38

This release includes several fixes, most notable are
"-Wunterminated-string-initialization" fixes for upcoming GCC 15.x

Signed-off-by: Konstantin Demin <rockdrilla@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19011
Signed-off-by: Robert Marko <robimarko@gmail.com>
8 weeks agolibxcrypt: import from packages feed
Konstantin Demin [Sat, 7 Jun 2025 13:12:59 +0000 (16:12 +0300)] 
libxcrypt: import from packages feed

Import libxcrypt from the packages feed to the main OpenWrt repo,
as glibc 2.41 doesn't provide libcrypt (since 2.39 release).

Signed-off-by: Konstantin Demin <rockdrilla@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19011
Signed-off-by: Robert Marko <robimarko@gmail.com>
8 weeks agobmips: bcm6358: add support for Huawei HG556a ver A 19059/head
Álvaro Fernández Rojas [Sat, 7 Jun 2025 10:01:54 +0000 (12:01 +0200)] 
bmips: bcm6358: add support for Huawei HG556a ver A

Specifications:
- SoC: Broadcom BCM6358 dual 300MHz MIPS
- Flash: 16MB NOR Spansion S29GL128P10
- RAM: 64MB DDR
- Ethernet: 4x 100M
- Wifi: Atheros AR9223
- 3x USB 2.0 port
- 4x Button
- 13x LED
- RJ11 2x FXS VoIP (unsupported)
- RJ11 xDSL (unsupported)

Install instructions:
- Assign static IP 192.168.1.100 to PC.
- Unplug the power source.
- Press the RESTART button at the router, don't release it yet!
- Plug the power source and wait at least 15 seconds.
- Release the RESTART button.
- Browse to http://192.168.1.1 with your PC.
- Upload the openwrt-bmips-bcm6358-huawei_hg556a-a-squashfs-cfe.bin file.
- Wait some minutes until the firmware upgrade completes.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
8 weeks agobmips: fix LAN LEDs configuration
Álvaro Fernández Rojas [Sat, 7 Jun 2025 19:13:23 +0000 (21:13 +0200)] 
bmips: fix LAN LEDs configuration

Commit Fixes: 15430a13485b ("bmips: use wan ports as standalone ports")
removed bridge devices and therefore switch.1 no longer exists, so let's
use br-lan instead.

Fixes: 15430a13485b ("bmips: use wan ports as standalone ports")
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
8 weeks agouboot-mk: Enable specifying defconfig fragments 18963/head
Andreas Gnau [Fri, 30 May 2025 15:47:57 +0000 (17:47 +0200)] 
uboot-mk: Enable specifying defconfig fragments

U-Boot allows specifying additional KConfig fragments to be applied on
top of a defconfig. These are usually located in the board
sub-directory.

    make foo_defconfig bar.config baz.config

Add support for specifying additional KConfig fragments using the
UBOOT_CONFIG variable. Treat the first word in UBOOT_CONFIG as the name
of the defconfig, any additional words as additional fragments.

This can be useful to distinguish between different variants of U-Boot
builds such as different RAM, storage (NAND/eMMC), security etc.

While c05c0699d479 (u-boot.mk: add support for config customization,
2023-06-02) already added means to modify specific KConfig options
directly from the OpenWrt Makefile, leveraging existing fragments the
U-Boot source-dir provides a more convenient way to extend the config
when customising more than just one or two options. Furthermore it is
desirable to leverage existing fragments from upstream U-Boot where they
exist.

Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
Link: https://github.com/openwrt/openwrt/pull/18963
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
8 weeks agoramips: mt7621: add support for Arcadyan WE410443 17981/head
Sander van Deijck [Sat, 15 Feb 2025 22:06:08 +0000 (23:06 +0100)] 
ramips: mt7621: add support for Arcadyan WE410443

The Arcadyan WE410443 is a WiFi AC access point distributed by various ISPs
under various names, including KPN SuperWifi and BT Whole Home Wi-Fi. It
features one ethernet port, dual MT7615N radios and four internal antennas.

Hardware:
- SoC: Mediatek MT7621AT
- Flash: 32 MB
- RAM: 128 MB
- Ethernet: 1x 10/100/1000 Mbps, built into the SoC
- WLAN: 2x MediaTek MT7615N
- Buttons: 1 Reset button, 1 WPS button
- LEDs: 1x Green, 1x Blue, 1x Red, all unmarked
- Power: 12 VDC, 1.5A barrel plug

Installation:
The bootloader is locked with a password, so the image needs to be written
directly to the SPI flash chip. To do this, you need to open up the case,
remove the heatsink and connect the flash chip to a Raspberry Pi. Use the
following connections:

Flash chip --> Raspberry Pi

VCC --> 3v3
RESET --> 3v3
/CS --> GPIO 8
DO --> GPIO 9
CLK --> GPIO 11
DI --> GPIO 10
GND --> Ground

You can solder wires to the flash chip, or use a SOIC16 clip. More details on
the Raspberry Pi and SPI chip pinouts are available on the wiki [1]
When you have the Raspberry Pi connected to the flash chip, boot your Pi and
follow the instructions:

1) Make sure your Pi has SPI enabled with sudo raspi-config

2) Install necessary tools: sudo apt install xxd libubootenv-tool mtd-utils

3) Upload overlay and execute:
sudo dtc -@ -I dts -O dtb -o
/boot/overlays/we410443.dtbo we410443-overlay.dts

4) Enable in /boot/firmware/config.txt by adding a new line containing
dtoverlay=we410443

5) Reboot your Pi and verify the mtd partitions with
cat /proc/mtd, you should see:

dev:    size   erasesize  name
mtd0: 02000000 00001000 "all"
mtd1: 00030000 00001000 "u-boot"
mtd2: 00010000 00001000 "u-boot-env"
mtd3: 00010000 00001000 "factory"
mtd4: 01f60000 00001000 "firmware"
mtd5: 00010000 00001000 "glbcfg"
mtd6: 00010000 00001000 "config"
mtd7: 00010000 00001000 "glbcfg2"
mtd8: 00010000 00001000 "config2"

6) Optionally (but recommended), make a backup:
sudo dd if=/dev/mtd0 of=backup.bin
It can be restored with: sudo flashcp backup.bin /dev/mtd0

7) Set the variables for the bootloader:
echo '/dev/mtd2 0x0 0x1000 0x1000' > fw_env.config
sudo fw_setenv -c fw_env.config bootpartition 0

8) Finally, flash the image:
sudo flashcp openwrt-ramips-mt7621-arcadyan_we410443-
squashfs-sysupgrade.bin /dev/mtd4

MAC addresses
The label address is stored in ASCII in the config partition

Use --> Address

Device --> label
Ethernet --> label
WLAN 2g --> + 1
WLAN 5g --> + 2

References:
[1] https://openwrt.org/toh/arcadyan/astoria/we410443

Signed-off-by: Sander van Deijck <sander@vandeijck.com>
Link: https://github.com/openwrt/openwrt/pull/17981
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
8 weeks agoramips: dts: adjust the power regulators of MMC controller 18886/head
Shiji Yang [Mon, 19 May 2025 23:50:56 +0000 (07:50 +0800)] 
ramips: dts: adjust the power regulators of MMC controller

- Fix MMC bus IO voltage. The GPIO voltage of mt762x series SoCs
  is fixed 3.3V. There are no visible registers that can control
  the voltage level. Also add "no-1-8-v" property to indicate that
  MMC controller doesn't support 1.8V IO.

- Drop useless property "enable-active-high". These dummy fixed
  voltage regulators are not controlled by the GPIO. We don't need
  to set the GPIO polarity.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18886
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
8 weeks agoramips: dts: mt7621: reuse the default USB dummy regulators
Shiji Yang [Mon, 19 May 2025 23:50:56 +0000 (07:50 +0800)] 
ramips: dts: mt7621: reuse the default USB dummy regulators

To simplify the device specific dts, reuse the mt7621 default
XHCI voltage regulators by adding the corresponding GPIO pin
and polarity properties.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18886
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
8 weeks agoramips: dts: mt7621: remove redundant USB regulators
Shiji Yang [Mon, 19 May 2025 23:50:56 +0000 (07:50 +0800)] 
ramips: dts: mt7621: remove redundant USB regulators

We have added the default voltage regulators for the mt7621 SoC
dtsi. These redundant voltage regulators can be removed now.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18886
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
8 weeks agoramips: dts: mt7621: add the missing XHCI power regulators
Shiji Yang [Mon, 19 May 2025 23:50:56 +0000 (07:50 +0800)] 
ramips: dts: mt7621: add the missing XHCI power regulators

The USB power regulators are essential for the Mediatek XHCI
controller. If any of them is missing, the kernel will throw
a warning. Add fixed voltage io/vbus regulators to workaround
this issue. Fix the following warnings:

[    7.514572] xhci-mtk 1e1c0000.xhci: supply vbus not found, using dummy regulator
[    7.522375] xhci-mtk 1e1c0000.xhci: supply vusb33 not found, using dummy regulator

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18886
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
8 weeks agomediatek: filogic: add support for Cudy WR3000E v1 18609/head
Roland Reinl [Fri, 25 Apr 2025 19:33:47 +0000 (21:33 +0200)] 
mediatek: filogic: add support for Cudy WR3000E v1

The WR3000E has the same board layout as the WR3000S. Differences:
- Different flash chip
- LEDs with red/blue colour intead of white

Hardware:
- MediaTek MT7981 WiSoC
- 256MB DDR3 RAM
- 128MB SPI-NAND (F50L1G41LB)
- MediaTek MT7981 2x2 DBDC 802.11ax 2T2R (2.4 / 5)

MAC Addresses in OEM firmware:
- There is one on the label, e.g. AA:BB:CC:DD:EE:FF
- WLAN (2.4G) uses the same as on the label
- WLAN (5G) is the one on the label but
  - first byte (e.g. AA) + 2
  - fourth byte (e.g. DD) - 0x40
- WAN is the one on the label + 1
- LAN is the one on the label

MAC Addresses in OpenWrt:
- Same handling as in WR3000s is used

GPIO:
- 2 Buttons (all low active):
  - WPS on GPIO 0
  - Reset on GPIO 1
- 6 LEDs (all low active):
  - Power: Blue on GPIO 8, no red LED
  - WPS: Blue on GPIO 10, Red on GPIO 4
  - Internet: Blue on GPIO 11, no red LED
  - LAN: Blue on GPIO 9, Red on GPIO 5
  - WiFi 2.4G: Blue on GPIO 6, no red LED
  - WiFi 5G: Blue on GPIO 7, no red LED

Disassembly:
- Remove the 4 screws at the bottom of the case
- Cover is clipped to the bottom part of the case with clips in the front and the back

UART:
- UART pins are accessible on the bottom of the board
- The connector with the square shape is TX
- Pins: [ ] TX, ( ) RX, ( ) GND, ( ) VCC
- Settings: 115200 8N1 3.3V

Migration to OpenWrt via OEM firmware:
- There should be a migration image available from Cudy as soon as there is official OpenWrt support
- Download the migration image via OEM web interface
- After flashing, OpenWrt is accessible via 192.168.1.1
- Flash the official OpenWrt image

Migration to OpenWrt using TFTP:
- Connect UART as described above
- Press the reset button while powering on the device
- U-Boot will now try to load a recovery.bin via TFTP, this must be ignored
- After detecting a timeout, the U-Boot console is available via UART
- Set up a TFTP server on IP 192.168.1.88 and connect it to one of the LAN ports
- Provide the initramfs image via TFTP as cudy3000e.bin
- Run the following command in U-Boot: tftpboot 0x46000000 cudy3000e.bin; bootm 0x46000000
- OpenWrt initramfs image is now booting and accessible via 192.168.1.1
- Flash the sysupgrade image

Revert back to OEM:
- Set up a TFTP server on IP 192.168.1.88 and connect it to one of the LAN ports
- Provide the Cudy firmware via TFTP as recovery.bin
- Press the reset button while powering on the device
- Recovery process will start now
- After recovery is done, the OEM firmware is available at 192.168.10.1 again

Signed-off-by: Roland Reinl <reinlroland+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18609
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
8 weeks agobmips: add RFC v2 bcm5325 patches 19054/head
Álvaro Fernández Rojas [Tue, 3 Jun 2025 17:57:15 +0000 (19:57 +0200)] 
bmips: add RFC v2 bcm5325 patches

Update BCM5325 patches to the latest version sent to netdev.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
8 weeks agoprereq-build: fix typo on the IPC::Cmd module message 19047/head
Jan Pazdziora [Fri, 6 Jun 2025 17:13:29 +0000 (19:13 +0200)] 
prereq-build: fix typo on the IPC::Cmd module message

Perl modules use double-colon naming.

Signed-off-by: Jan Pazdziora <jan.pazdziora@code.adelton.com>
Link: https://github.com/openwrt/openwrt/pull/19047
Signed-off-by: Robert Marko <robimarko@gmail.com>
8 weeks agobmips: bcm6358: revert use wan ports as standalone ports
Álvaro Fernández Rojas [Sat, 7 Jun 2025 11:18:11 +0000 (13:18 +0200)] 
bmips: bcm6358: revert use wan ports as standalone ports

This reverts commit 15430a1348 for bcm6358 subtarget since it breaks
network configuration.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
8 weeks agowifi-scripts: add missing entries for mesh_nolearn 19030/head
Benjamin Berg [Wed, 4 Jun 2025 19:00:03 +0000 (21:00 +0200)] 
wifi-scripts: add missing entries for mesh_nolearn

The plumbing is there in the ucode files to set the parameter using
nl80211. However, the option is never forwarded because it was missing
in mac80211.sh. Add it there and in the schema file.

Signed-off-by: Benjamin Berg <benjamin@sipsolutions.net>
Link: https://github.com/openwrt/openwrt/pull/19030
Signed-off-by: Robert Marko <robimarko@gmail.com>
8 weeks agonetifd: update to Git HEAD (2025-05-23)
Robert Marko [Sat, 7 Jun 2025 09:53:48 +0000 (11:53 +0200)] 
netifd: update to Git HEAD (2025-05-23)

61ae5732adea iprule: amend ipproto netlink nla_put_u32 to nla_put_u8
d610d68c71b8 device: add support for configuring vrf
a1b6386a20a6 device: fix bonding primary port selection
e8bbf246ce2e system-linux: fix sysfs name for all_ports_active flag
723c699e84f4 Restore disable_ipv6 sysctl after removing a device from bridge or bond
d476e18e8d43 iprule: resolve ipproto by name
7901e66c5f27 netifd: iprule add sport and dport

Signed-off-by: Robert Marko <robimarko@gmail.com>
8 weeks agowifi-scripts: fix calculation for eht_oper_centr_freq_seg0_idx 18998/head
Mantas Pucka [Mon, 2 Jun 2025 08:14:10 +0000 (11:14 +0300)] 
wifi-scripts: fix calculation for eht_oper_centr_freq_seg0_idx

Inverted condition caused wrong value for eht_oper_centr_freq_seg0_idx
get selected in ETH320 mode, causing AP fail to start.

Signed-off-by: Mantas Pucka <mantas@8devices.com>
Link: https://github.com/openwrt/openwrt/pull/18998
Signed-off-by: Robert Marko <robimarko@gmail.com>
8 weeks agobmips: use wan ports as standalone ports 19017/head
Jonas Gorski [Wed, 4 Jun 2025 08:32:29 +0000 (10:32 +0200)] 
bmips: use wan ports as standalone ports

With the recent fixes backported to 6.12, b53 ports should now fully
work as standalone ports outside of a switch.

So move them out of the switch and use them as standalone ports, which
makes configuring easier as VLANs don't need to be defined and reserved
anymore to use the wan port.

Tested on DGND3700v1.

While most devices do not define a wan port, I dropped the
ucidef_set_bridge_device() from all devices for consistency.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
8 weeks agogeneric: 6.12: backport b53 RGMII port patches 19015/head
Álvaro Fernández Rojas [Wed, 4 Jun 2025 07:30:34 +0000 (09:30 +0200)] 
generic: 6.12: backport b53 RGMII port patches

Update b53 RGMII port patches to the accepted upstream version.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
8 weeks agoimx: add 6.12 kernel as testing 19029/head
Tim Harvey [Fri, 30 May 2025 16:29:19 +0000 (09:29 -0700)] 
imx: add 6.12 kernel as testing

Allow selecting 6.12 as testing kernel on imx.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Link: https://github.com/openwrt/openwrt/pull/19029
Signed-off-by: Nick Hainke <vincent@systemli.org>
8 weeks agokernel: modules: video: fix video-coda for 6.12
Tim Harvey [Wed, 4 Jun 2025 17:01:53 +0000 (10:01 -0700)] 
kernel: modules: video: fix video-coda for 6.12

Linux 6.8 changed the directory structure for the video-code driver.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Link: https://github.com/openwrt/openwrt/pull/19029
Signed-off-by: Nick Hainke <vincent@systemli.org>
8 weeks agoimx: 6-12: refresh patches and kernel configs
Tim Harvey [Fri, 6 Jun 2025 16:04:39 +0000 (09:04 -0700)] 
imx: 6-12: refresh patches and kernel configs

patches:
 - remove patches from 6.7-6.12 that are now upstream.
 - refresh remaining patches
 - 502-6.13-arm64-dts-freescale-rename-gw7905-to-gw75xx.patch was
   misnamed as that patch went upstream in 6.12 and thus is also removed
 - 504-6.13-arm64-dts-imx-Add-i.MX8M-Plus-Gateworks-GW82XX-2X-support.patch
   was refreshed to the final version that was accepted upstream
 - 600-PCI-imx6-Start-link-at-max-gen-first-for-IMX8MM-and-IMX8MP.patch
   was removed while I investigate an upstream approach for the issue
   it was working around.

configs:
 - config-6.12: unset new configs not needed for all cortexa7/a9/a53
 - cortexa53/config-default: added new CONFIG_PCI_IMX6_HOST config for cortexA53 (IMX8M)

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Link: https://github.com/openwrt/openwrt/pull/19029
Signed-off-by: Nick Hainke <vincent@systemli.org>
8 weeks agokernel/imx: Restore kernel files for v6.6
Tim Harvey [Thu, 5 Jun 2025 15:16:57 +0000 (08:16 -0700)] 
kernel/imx: 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: Tim Harvey <tharvey@gateworks.com>
Link: https://github.com/openwrt/openwrt/pull/19029
Signed-off-by: Nick Hainke <vincent@systemli.org>