]> git.ipfire.org Git - thirdparty/openwrt.git/log
thirdparty/openwrt.git
2 weeks agoeconet: Add Nokia G-240G-E and EN751221 recovery image 20338/head
Caleb James DeLisle [Tue, 7 Oct 2025 19:50:20 +0000 (19:50 +0000)] 
econet: Add Nokia G-240G-E and EN751221 recovery image

The Nokia G-240G-E is an xPON device with an EN7526G, 256M of
memory and 128M of flash. It has 1 USB2 port as well as phone and
ethernet but no wifi. Flashing instructions are per the typical
process using xmodem in the bootloader. This and other things
are described here: https://openwrt.org/inbox/toh/bt/g-240g-e_1

In addition, a generic image is offered, this image can be loaded
into memory from within the bootloader and launched directly. It
is recommended on the wiki of G-240G-E and other EcoNet devices
to be used for backing up the flash before flashing OpenWRT.

Signed-off-by: Caleb James DeLisle <cjd@cjdns.fr>
Link: https://github.com/openwrt/openwrt/pull/20338
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 weeks agoath79: buffalo: use nvmem for calibration 20301/head
Rosen Penev [Sat, 4 Oct 2025 19:05:31 +0000 (12:05 -0700)] 
ath79: buffalo: use nvmem for calibration

Userspace handling is deprecated.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20301
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 weeks agoramips: dts: explicitly set the partition reg size for Ruijie RG-EW1200G 18242/head
Shiji Yang [Mon, 19 May 2025 13:56:59 +0000 (21:56 +0800)] 
ramips: dts: explicitly set the partition reg size for Ruijie RG-EW1200G

Correct the mtd partition reg property size to address the following
dtc warnings:

../dts/mt7621_ruijie_rg-ew1200g-pro-v1.1.dts:60.5-30: Warning (reg_format): /palmbus@1e000000/spi@b00/flash@0/partitions/partition@0:reg: property has invalid length (8 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7621_ruijie_rg-ew1200g-pro-v1.1.dts:66.5-29: Warning (reg_format): /palmbus@1e000000/spi@b00/flash@0/partitions/partition@50000:reg: property has invalid length (8 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7621_ruijie_rg-ew1200g-pro-v1.1.dts:72.5-29: Warning (reg_format): /palmbus@1e000000/spi@b00/flash@0/partitions/partition@60000:reg: property has invalid length (8 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7621_ruijie_rg-ew1200g-pro-v1.1.dts:88.5-29: Warning (reg_format): /palmbus@1e000000/spi@b00/flash@0/partitions/partition@70000:reg: property has invalid length (8 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7621_ruijie_rg-ew1200g-pro-v1.1.dts:94.5-29: Warning (reg_format): /palmbus@1e000000/spi@b00/flash@0/partitions/partition@80000:reg: property has invalid length (8 bytes) (#address-cells == 2, #size-cells == 1)
../dts/mt7621_ruijie_rg-ew1200g-pro-v1.1.dts:101.5-30: Warning (reg_format): /palmbus@1e000000/spi@b00/flash@0/partitions/partition@90000:reg: property has invalid length (8 bytes) (#address-cells == 2, #size-cells == 1)

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18242
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 weeks agoramips: dts: correct WiFi band node reg size for Gemtek WVRTM-130ACN
Shiji Yang [Mon, 19 May 2025 13:56:59 +0000 (21:56 +0800)] 
ramips: dts: correct WiFi band node reg size for Gemtek WVRTM-130ACN

The #address-cells should be 1 according to the dt-binding document.
This patch fixes the following dtc warnings:

../dts/mt7621_gemtek_wvrtm-130acn.dts:46.4-14: Warning (reg_format): /pcie@1e140000/pcie@0,0/wifi@0,0/band@0:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 0)
../dts/mt7621_gemtek_wvrtm-130acn.dts:54.4-14: Warning (reg_format): /pcie@1e140000/pcie@0,0/wifi@0,0/band@1:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 0)

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18242
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 weeks agoqualcommax: fix switch node dtc warnings for Asus RT-AX89X
Shiji Yang [Mon, 19 May 2025 13:56:58 +0000 (21:56 +0800)] 
qualcommax: fix switch node dtc warnings for Asus RT-AX89X

Add the missing #address-cells and #size-cells to fix the following
dtc warnings:

ipq8074-rt-ax89x.dts:558.5-15: Warning (reg_format): /soc@0/mdio@90000/switch@10/ports/port@0:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
ipq8074-rt-ax89x.dts:566.5-15: Warning (reg_format): /soc@0/mdio@90000/switch@10/ports/port@1:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
ipq8074-rt-ax89x.dts:572.5-15: Warning (reg_format): /soc@0/mdio@90000/switch@10/ports/port@2:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
ipq8074-rt-ax89x.dts:578.5-15: Warning (reg_format): /soc@0/mdio@90000/switch@10/ports/port@3:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
ipq8074-rt-ax89x.dts:584.5-15: Warning (reg_format): /soc@0/mdio@90000/switch@10/ports/port@4:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
ipq8074-rt-ax89x.dts:590.5-15: Warning (reg_format): /soc@0/mdio@90000/switch@10/ports/port@5:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
ipq8074-rt-ax89x.dts:596.5-15: Warning (reg_format): /soc@0/mdio@90000/switch@10/ports/port@6:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18242
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 weeks agoqoriq: dts: add missing reg property for WatchGuard Firebox M300
Shiji Yang [Mon, 19 May 2025 13:56:58 +0000 (21:56 +0800)] 
qoriq: dts: add missing reg property for WatchGuard Firebox M300

Set the reg property value based on node name "pca9547@77". This
patch fixes the following dtc warning:

watchguard-firebox-m300.dts:364.14-366.5: Warning (i2c_bus_reg): /soc@ffe000000/i2c@118000/pca9547@77: missing or empty reg property

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18242
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 weeks agomvebu: dts: fix unit name leading 0s warnings
Shiji Yang [Mon, 19 May 2025 13:56:58 +0000 (21:56 +0800)] 
mvebu: dts: fix unit name leading 0s warnings

Trim unnecessary 0s from the node name to fix the dtc warnings:

cn9131-puzzle-m901.dts:43.18-46.4: Warning (unit_address_format): /memory@00000000: unit name should not have leading 0s
cn9130-clearfog-pro.dts:33.18-36.4: Warning (unit_address_format): /memory@00000000: unit name should not have leading 0s
cn9132-puzzle-m902.dts:50.18-53.4: Warning (unit_address_format): /memory@00000000: unit name should not have leading 0s
armada-385-wd_cloud-mirror-gen2.dts:148.26-152.9: Warning (unit_address_format): /soc/internal-regs/nand-controller@d0000/nand@0/partitions/partition@00000000: unit name should not have leading 0s
armada-385-wd_cloud-mirror-gen2.dts:154.26-157.9: Warning (unit_address_format): /soc/internal-regs/nand-controller@d0000/nand@0/partitions/partition@00500000: unit name should not have leading 0s
armada-385-wd_cloud-mirror-gen2.dts:159.26-163.9: Warning (unit_address_format): /soc/internal-regs/nand-controller@d0000/nand@0/partitions/partition@00a00000: unit name should not have leading 0s
armada-385-wd_cloud-mirror-gen2.dts:165.26-168.9: Warning (unit_address_format): /soc/internal-regs/nand-controller@d0000/nand@0/partitions/partition@00f00000: unit name should not have leading 0s

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18242
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 weeks agomvebu: fix partition node dtc warnings for Synology DS213j
Shiji Yang [Mon, 19 May 2025 13:56:58 +0000 (21:56 +0800)] 
mvebu: fix partition node dtc warnings for Synology DS213j

Add missing #address-cells and #size-cells to fix the
following dtc warnings:

armada-370-synology-ds213j.dts:288.5-35: Warning (reg_format): /soc/spi@10600/flash@0/partitions/partition@0:reg: property has invalid length (8 bytes) (#address-cells == 2, #size-cells == 1)
armada-370-synology-ds213j.dts:294.5-35: Warning (reg_format): /soc/spi@10600/flash@0/partitions/partition@c0000:reg: property has invalid length (8 bytes) (#address-cells == 2, #size-cells == 1)
armada-370-synology-ds213j.dts:299.5-35: Warning (reg_format): /soc/spi@10600/flash@0/partitions/partition@100000:reg: property has invalid length (8 bytes) (#address-cells == 2, #size-cells == 1)
armada-370-synology-ds213j.dts:304.5-35: Warning (reg_format): /soc/spi@10600/flash@0/partitions/partition@110000:reg: property has invalid length (8 bytes) (#address-cells == 2, #size-cells == 1)
armada-370-synology-ds213j.dts:308.5-35: Warning (reg_format): /soc/spi@10600/flash@0/partitions/partition@7d0000:reg: property has invalid length (8 bytes) (#address-cells == 2, #size-cells == 1)
armada-370-synology-ds213j.dts:327.5-35: Warning (reg_format): /soc/spi@10600/flash@0/partitions/partition@7e0000:reg: property has invalid length (8 bytes) (#address-cells == 2, #size-cells == 1)

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18242
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 weeks agomvebu: fix usb node dtc warnings for Ctera C200 V2
Shiji Yang [Mon, 19 May 2025 13:56:58 +0000 (21:56 +0800)] 
mvebu: fix usb node dtc warnings for Ctera C200 V2

Correct #address-cells and #size-cells based on child node reg
property structure to fix the following dtc warnings:

armada-370-c200-v2.dts:342.6-16: Warning (reg_format): /soc/pcie@82000000/pcie@1,0/bridge@0,1/usb@1,0/port@1:reg: property has invalid length (4 bytes) (#address-cells == 3, #size-cells == 2)
armada-370-c200-v2.dts:347.6-16: Warning (reg_format): /soc/pcie@82000000/pcie@1,0/bridge@0,1/usb@1,0/port@2:reg: property has invalid length (4 bytes) (#address-cells == 3, #size-cells == 2)

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18242
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 weeks agokirkwood: dts: explicitly set the partition reg size for Blackarmor NAS220
Shiji Yang [Mon, 19 May 2025 13:56:58 +0000 (21:56 +0800)] 
kirkwood: dts: explicitly set the partition reg size for Blackarmor NAS220

Correct the mtd partition reg property size to address the following
dtc warnings:

kirkwood-blackarmor-nas220.dts:185.4-24: Warning (reg_format): /mbus@f1000000/nand@12f/partitions/partition@0:reg: property has invalid length (8 bytes) (#address-cells == 2, #size-cells == 1)
kirkwood-blackarmor-nas220.dts:191.4-28: Warning (reg_format): /mbus@f1000000/nand@12f/partitions/partition@a0000:reg: property has invalid length (8 bytes) (#address-cells == 2, #size-cells == 1)
kirkwood-blackarmor-nas220.dts:197.4-28: Warning (reg_format): /mbus@f1000000/nand@12f/partitions/partition@b0000:reg: property has invalid length (8 bytes) (#address-cells == 2, #size-cells == 1)
kirkwood-blackarmor-nas220.dts:203.4-30: Warning (reg_format): /mbus@f1000000/nand@12f/partitions/partition@c0000:reg: property has invalid length (8 bytes) (#address-cells == 2, #size-cells == 1)

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18242
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 weeks agobmips: fix dtc warnings for D-Link DSL-2750B
Shiji Yang [Sat, 31 May 2025 10:02:01 +0000 (18:02 +0800)] 
bmips: fix dtc warnings for D-Link DSL-2750B

- Add the missing ranges property for PCIe bridge node.
- Correct the PCIe device node name.

This patch fix the following dtc warning:

../dts/bcm6328-dlink-dsl-2750b-b1.dts:203.9-220.4: Warning (pci_bridge): /ubus/pcie@10e40000/pcie@0: missing ranges for PCI bridge (or not a bridge)

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18242
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 weeks agoath79: dts: fix wifi node name for Fortinet FAP-221-C
Shiji Yang [Mon, 19 May 2025 13:56:58 +0000 (21:56 +0800)] 
ath79: dts: fix wifi node name for Fortinet FAP-221-C

The DTC recommends using wifi@0,0 as the node name to match the reg
property structure. Fix warning:

../dts/qca9557_fortinet_fap-221-c.dts:208.13-213.4: Warning (pci_device_reg): /ahb/pcie@180c0000/wifi@0,0,0: PCI unit address format error, expected "0,0"

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18242
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 weeks agoapm821xx: dts: explicitly set the partition reg size for Netgear WNDR4700
Shiji Yang [Mon, 19 May 2025 13:56:58 +0000 (21:56 +0800)] 
apm821xx: dts: explicitly set the partition reg size for Netgear WNDR4700

Correct the mtd partition reg property size to address the following
dtc warnings:

../dts/netgear-wndr4700.dts:191.6-33: Warning (reg_format): /plb/opb/ebc/ndfc@1,0/nand/partitions/partition@0/partition@40000:reg: property has invalid length (8 bytes) (#address-cells == 2, #size-cells == 1)

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18242
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 weeks agoodhcp6c: use the global DHCP DUID for DHCPv6 20359/head
David Härdeman [Fri, 10 Oct 2025 09:43:11 +0000 (11:43 +0200)] 
odhcp6c: use the global DHCP DUID for DHCPv6

odhcp6c already supports custom DUIDS on a per-interface basis.  When no client
identifier has been set, odhcp6c will generate one on the basis of the MAC
address of the given interface.

This is contrary to how DUIDs are meant to be used, as the client identifier
will vary from interface to interface, while it is meant to remain stable for a
given host, no matter how the network hardware changes (see RFC8415, §11).

Fix this by letting odhcp6c use the global DHCP DUID, if configured.

Signed-off-by: David Härdeman <david@hardeman.nu>
Link: https://github.com/openwrt/openwrt/pull/20359
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 weeks agonetifd: use the global DHCP DUID for DHCPv4
David Härdeman [Fri, 10 Oct 2025 09:38:36 +0000 (11:38 +0200)] 
netifd: use the global DHCP DUID for DHCPv4

This makes the DHCPv4 client use the global DHCP DUID to generate a
RFC4361-style client identifier.

Signed-off-by: David Härdeman <david@hardeman.nu>
Link: https://github.com/openwrt/openwrt/pull/20359
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 weeks agobase-files: generate a global DHCP DUID
David Härdeman [Thu, 9 Oct 2025 14:16:53 +0000 (16:16 +0200)] 
base-files: generate a global DHCP DUID

odhcp6c and odhcpd currently generate custom DUIDS on a per-interface basis
using the MAC address of the given interface.

This is contrary to how DUIDs are meant to be used, as the client identifier
will vary from interface to interface, while it is meant to remain stable for a
given host, no matter how the network hardware changes (see RFC8415, §11).

The same problem exists in odhcpd, which also generates server-side DUIDs on a
per-interface basis.

In order to support a stable per-device DUID, generate one on first boot and
store it via uci.

Currently, a DUID-UUID style clientid is generated. This is mostly meant as an
RFC, and we might consider using a different kind of DUID instead (DUID-LLT,
DUID-EN).

One drawback is that this will typically change the DUID used on existing
OpenWrt devices when upgrading to a new release. However, that seems
unavoidable and is a one-time pain in order to have stable DUIDs (and in many
cases, it shouldn't cause any issues).

v2: move the uci cfg generation outside of an IPv6-only block since this
is relevant to the DHCPv4 client as well

Signed-off-by: David Härdeman <david@hardeman.nu>
Link: https://github.com/openwrt/openwrt/pull/20359
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 weeks agoipq806x: add missing semicolons for 10_fix_wifi_mac 20446/head
Shiji Yang [Sat, 18 Oct 2025 11:59:06 +0000 (19:59 +0800)] 
ipq806x: add missing semicolons for 10_fix_wifi_mac

Fix the syntax issue.

Fixes: 148f82ad4525 ("ipq806x: use nvmem for wifi mac")
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/20446
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 weeks agorealtek: add xgs1210-12 b1 and switch to rt-loader 20161/head
Josh Bendavid [Thu, 25 Sep 2025 09:31:14 +0000 (11:31 +0200)] 
realtek: add xgs1210-12 b1 and switch to rt-loader

rev B1 is identical to rev A1 except for different PHYs on the 2.5gbps ports (lan9 and lan10)
Both revisions of xgs1210-12 are also switched to use rt-loader to avoid
problems due to overwriting the compressed image in memory when flashing
with the oem firmware (and also to save flash space with respect to gzip
compression)

Signed-off-by: Josh Bendavid <joshbendavid@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20161
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 weeks agoipq40xx: add device alias for Linksys VLP01 20455/head
Christoph Krapp [Sun, 19 Oct 2025 11:52:31 +0000 (13:52 +0200)] 
ipq40xx: add device alias for Linksys VLP01

Both devices, the Linksys WHW01 and the VLP01, are essentially the same
device. Even Linksys provides only one image for both devices which uses
the WHW01 identifier in the image header.

Signed-off-by: Christoph Krapp <achterin@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20455
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 weeks agoleds.mk: fix leds-group-multicolor name 20447/head
Andrii Kuiukoff [Fri, 17 Oct 2025 22:21:19 +0000 (01:21 +0300)] 
leds.mk: fix leds-group-multicolor  name

Fix package name and AUTOLOAD parameter to match the
actual kernel module name (leds-group-multicolor), enabling proper
auto-loading at boot.

Signed-off-by: Andrii Kuiukoff <andros.ua@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20447
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 weeks agolldpd: bump to 1.0.20 20438/head
Paul Donald [Fri, 17 Oct 2025 19:33:13 +0000 (21:33 +0200)] 
lldpd: bump to 1.0.20

Also implemented the med fast-start -> lldp fast-start change.
lldpd includes a backwards compat handler for the older med command,
but it's better to make these changes so they align with documentation.

Changes:
https://github.com/lldpd/lldpd/releases/tag/1.0.20

Changes:
    Enable fast start unconditionally (and move its configuration in "configure lldp")
    Make VLAN advertisements configurable
Fix:
    Do not break zero-copy traffic on Linux
    Fix crash on rapid addition/removal of interfaces
    Fix management address selection when pattern is a negative IP address

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20438
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 weeks agoipq40xx: add support for Cisco Meraki MR30H 17026/head
Hal Martin [Sun, 19 Oct 2025 10:15:19 +0000 (12:15 +0200)] 
ipq40xx: add support for Cisco Meraki MR30H

This commit adds support for the Cisco Meraki MR30H. The MR30H is a POE
powered 802.11ac access point with an integrated 5 port Gigabit switch.

MR30H hardware info:
* CPU: Qualcomm IPQ4029
* RAM: 256MB DDR3
* Storage: 128 MB (S34ML01G200TFV00)
* Networking: QCA8075 internal switch (5x 1GbE ports)
* WiFi: QCA4019 802.11b/g/n/ac, QCA9889 802.11/b/g/n/ac scanning radio
* Serial: Internal header (J8, 2.54mm, populated)

LAN5 (rear) is for POE input. LAN4 has POE output (802.3af) when powered
by an 802.3at source.

The LAN4 port is used for tftp booting in U-Boot.

This device does not have secure boot, but cannot be flashed without
external programmers (TSOP48 NAND) as Meraki disabled interrupting U-Boot
for any device that updated after ~2017.

Disassembly:

* Remove the two T10 screws on the rear of the AP.

* Using a guitar pick or similar plastic tool, insert it on the side between
the grey metal plate and the white plastic body and pry up gently.
    * The rubberised border on the metal plate does not need to be removed.

* The metal back plate has several latches around the perimeter (but none on
the bottom by the Ethernet ports).

* Once you have removed the metal back plate, push up gently on the bottom
Ethernet ports while pulling gently on the rear-mounted Ethernet port to remove
the PCB.

* The PCB should come free from the plastic housing, pull the bottom
(4 Ethernet ports) up as if you are opening a book.
    * If done carefully, there is no need to remove the WiFi antenna connectors
    to access the NAND flash.

* The TSOP48 NAND flash (U30, Spansion S34ML01G200TFV00) is located on the
opposite side of the PCB.

* To flash, you need to desolder the TSOP48 or use a 360 clip.

Installation:

The dumps to flash can be found in this repository:
https://github.com/halmartin/meraki-openwrt-docs/tree/main/mr30h

The device has the following flash layout (offsets with OOB data):
```
0x000000000000-0x000000100000 : "sbl1"
0x000000100000-0x000000200000 : "mibib"
0x000000200000-0x000000300000 : "bootconfig"
0x000000300000-0x000000400000 : "qsee"
0x000000400000-0x000000500000 : "qsee_alt"
0x000000500000-0x000000580000 : "cdt"
0x000000580000-0x000000600000 : "cdt_alt"
0x000000600000-0x000000680000 : "ddrparams"
0x000000700000-0x000000900000 : "u-boot"
0x000000900000-0x000000b00000 : "u-boot-backup"
0x000000b00000-0x000000b80000 : "ART"
0x000000c00000-0x000007c00000 : "ubi"
```

* Dump your original NAND (if using nanddump, include OOB data).

* Decompress `u-boot.bin.gz` dump from the GitHub repository above (dump
contains OOB data) and overwrite the `u-boot` portion of NAND from
`0x738000`-`0x948000` (length `0x210000`). Offsets here include OOB data.

* Resolder the NAND after overwriting the `u-boot` regions.

OpenWrt Installation:

* After flashing NAND with the external programmer. Plug an Ethernet
cable into port 4. Power up the device.

* The new U-Boot build uses the space character `" "` (without quotes) to
interrupt boot.

* Interrupt U-Boot and `tftpboot` the OpenWrt initramfs image from your
tftp server
```
dhcp
setenv serverip <your_tftp>
tftpboot openwrt-ipq40xx-generic-meraki_mr30h-initramfs-uImage.itb
```

* Once booted into the OpenWrt initramfs, `scp` the `sysupgrade` image to
the device and run the normal `sysupgrade` procedure:
```
scp -O openwrt-ipq40xx-generic-meraki_mr30h-squashfs-sysupgrade.bin root@192.168.1.1:/tmp/
ssh root@192.168.1.1 "sysupgrade -n /tmp/openwrt-ipq40xx-generic-meraki_mr30h-squashfs-sysupgrade.bin"
```

* OpenWrt should now be installed on the device.

Alternative installation steps if your device has U-Boot older than:
`U-Boot 2017.07-RELEASE-g78ed34f31579 (Sep 29 2017 - 07:43:44 -0700)`

**BIG FAT WARNING BEGIN**

Attmping to interrupt boot on a newer U-Boot release may permanently
brick your device! See: riptidewave93/LEDE-MR33#13

**BIG FAT WARNING END**

* Use `ubootwrite.py` from the above GitHub repository to transfer the
`u-boot.itb`
image to the router.
```
./ubootwrite.py --serial=/dev/ttyUSB0 --write u-boot.itb
```

* To avoid bricking your router, it is highly recommended at this point that
you flash the unlocked U-Boot to the `part.safe` ubi volume.
```
run set_ubi && ubi write $loadaddr part.safe 0x2fd48
```

* Power cycle the router. The stock Meraki U-Boot will boot `part.safe` which
is now the unlocked U-Boot.

* Use the new U-Boot build (`" "` to interrupt boot) to
`tftpboot` the OpenWrt initramfs image:
```
dhcp
setenv serverip <tftp_server_addr>
tftpboot openwrt-ipq40xx-generic-meraki_mr30h-initramfs-uImage.itb
bootm
```

* It is only recommended to flash U-Boot to the `u-boot` NAND region from
Linux:
```
insmod mtd-rw i_want_a_brick=1
```

* Copy `u-boot.elf` to the router:
```
scp -O u-boot.elf root@192.168.1.1:/tmp/
```

Note: If any of the below commands fails, YOU WILL HAVE A BRICK IF YOU
REBOOT OR LOSE POWER. Only a hardware programmer can recover the device.
```
flash_erase /dev/mtd8 0 0
nandwrite -p /dev/mtd8 /tmp/u-boot.elf
```

Note: ONLY use `u-boot.elf` when flashing the `u-boot` region (`/dev/mtd8`);
`u-boot.bin` or `u-boot.itb` will BRICK YOUR DEVICE

* `scp` the `sysupgrade` image to the device and run the normal `sysupgrade`
procedure:
```
scp -O openwrt-ipq40xx-generic-meraki_mr30h-squashfs-sysupgrade.bin root@192.168.1.1:/tmp/
ssh root@192.168.1.1 "sysupgrade -n /tmp/openwrt-ipq40xx-generic-meraki_mr30h-squashfs-sysupgrade.bin"
```

* OpenWrt should now be installed on the device.

Signed-off-by: Hal Martin <hal.martin@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17026
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 weeks agoipq40xx: add support for Cisco Meraki Go GX20
Hal Martin [Sun, 19 Oct 2025 10:13:54 +0000 (12:13 +0200)] 
ipq40xx: add support for Cisco Meraki Go GX20

This commit adds support for the Cisco Meraki Go GX20. The Go GX20 is a wired
router with 5 port Gigabit switch. It shares the same PCB as the Meraki Z3,
but without the WiFi radios.

GX20 hardware info:
* CPU: Qualcomm IPQ4029
* RAM: 512MB DDR3
* Storage: 128 MB (S34ML01G200TFV00)
* Networking: QCA8075 internal switch (5x 1GbE ports)
* USB: 1x USB3.0
* Serial: Internal header (J8, 2.54mm, populated)

Port 5 has POE output (802.3af). The Internet/WAN port is used for tftp booting
in U-Boot.

This device ships with secure boot, and cannot be flashed without
external programmers (TSOP48 NAND and I2C EEEPROM)!

Disassembly:

* Remove the four T8 screws on the bottom of the device under the rubber feet.

* Using a guitar pick or similar plastic tool, insert it on the side between
the bottom case and the side, pry up gently. The plastic bottom has several
latches around the perimeter (but none on the rear by the Ethernet ports).

* The TSOP48 NAND flash (U30, Spansion S34ML01G200TFV00) is located on the
bottom side of the PCB (facing you as you remove the bottom plastic).
To flash, you will need to desolder the TSOP48. Attempts to flash in-circuit
using a 360 clip were unsuccessful.

* The SOIC8 I2C EEPROM (U32, Atmel 24C64) is located on the bottom side of
the PCB (facing you as you remove the bottom plastic). It can be flashed in
circuit using a SOIC8 chip clip.

Installation:

The dumps to flash can be found in this repository:
https://github.com/halmartin/meraki-openwrt-docs/tree/main/z3_gx20

The device has the following flash layout (offsets with OOB data):
```
0x000000000000-0x000000100000 : "sbl1"
0x000000100000-0x000000200000 : "mibib"
0x000000200000-0x000000300000 : "bootconfig"
0x000000300000-0x000000400000 : "qsee"
0x000000400000-0x000000500000 : "qsee_alt"
0x000000500000-0x000000580000 : "cdt"
0x000000580000-0x000000600000 : "cdt_alt"
0x000000600000-0x000000680000 : "ddrparams"
0x000000700000-0x000000900000 : "u-boot"
0x000000900000-0x000000b00000 : "u-boot-backup"
0x000000b00000-0x000000b80000 : "ART"
0x000000c00000-0x000007c00000 : "ubi"
```

* Dump your original NAND (if using nanddump, include OOB data).

* Decompress `u-boot.bin.gz` dump from the GitHub repository above (dump
contains OOB data) and overwrite the `u-boot` portion of NAND from
`0x738000`-`0x948000` (length `0x210000`). Offsets here include OOB data.

* Decompress `ubi.bin.gz` dump from the GitHub repository above (dump
contains OOB data) and overwrite the `ubi` portion of NAND from
`0xc60000`-`0x8400000` (length `0x77a0000`). Offsets here include OOB data.

* Dump your original EEPROM. Change the byte at offset `0x49` to `0x1e`
(originally `0x2b`). Remember to re-write the EEPROM with the modified data.
    * This can be done on Linux via the following command:
    `printf "\x1e" | dd of=/tmp/eeprom.bin bs=1 seek=$((0x49)) conv=notrunc`

**Note**: the device will not boot if you modify the board major number and
have not yet overwritten the `ubi` and `u-boot` regions of NAND.

* Resolder the NAND after overwriting the `u-boot` and `ubi` regions.

OpenWrt Installation:

* After flashing NAND and EEPROM with external programmers. Plug an Ethernet
cable into the Internet/WAN port. Power up the device.

* The new U-Boot build uses the space character `" "` (without quotes) to
interrupt boot.

* Interrupt U-Boot and `tftpboot` the OpenWrt initramfs image from your
tftp server
```
dhcp
setenv serverip <your_tftp>
tftpboot openwrt-ipq40xx-generic-meraki_gx20-initramfs-uImage.itb
```

* Once booted into the OpenWrt initramfs, `scp` the `sysupgrade` image to
the device and run the normal `sysupgrade` procedure:
```
scp -O openwrt-ipq40xx-generic-meraki_gx20-squashfs-sysupgrade.bin root@192.168.1.1:/tmp/
ssh root@192.168.1.1 "sysupgrade -n /tmp/openwrt-ipq40xx-generic-meraki_gx20-squashfs-sysupgrade.bin"
```

* OpenWrt should now be installed on the device.

Signed-off-by: Hal Martin <hal.martin@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17026
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 weeks agoipq40xx: add support for Cisco Meraki Z3
Hal Martin [Sun, 19 Oct 2025 10:12:51 +0000 (12:12 +0200)] 
ipq40xx: add support for Cisco Meraki Z3

This commit adds support for the Cisco Meraki Z3. The Z3 is a "teleworker"
device with 802.11ac and an integrated 5 port Gigabit switch.

Z3 hardware info:
* CPU: Qualcomm IPQ4029
* RAM: 512MB DDR3
* Storage: 128 MB (S34ML01G200TFV00)
* Networking: QCA8075 internal switch (5x 1GbE ports)
* WiFi: QCA4019 802.11b/g/n/ac
* USB: 1x USB3.0
* Serial: Internal header (J8, 2.54mm, populated)

Port 5 has POE output (802.3af). The Internet/WAN port is used for tftp booting
in U-Boot.

This device ships with secure boot, and cannot be flashed without
external programmers (TSOP48 NAND and I2C EEEPROM)!

Disassembly:

* Remove the four T8 screws on the bottom of the device under the rubber feet.

* Using a guitar pick or similar plastic tool, insert it on the side between
the bottom case and the side, pry up gently. The plastic bottom has several
latches around the perimeter (but none on the rear by the Ethernet ports).

* The TSOP48 NAND flash (U30, Spansion S34ML01G200TFV00) is located on the
bottom side of the PCB (facing you as you remove the bottom plastic).
To flash, you will need to desolder the TSOP48. Attempts to flash in-circuit
using a 360 clip were unsuccessful.

* The SOIC8 I2C EEPROM (U32, Atmel 24C64) is located on the bottom side of
the PCB (facing you as you remove the bottom plastic). It can be flashed in
circuit using a SOIC8 chip clip.

Installation:

The dumps to flash can be found in this repository:
https://github.com/halmartin/meraki-openwrt-docs/tree/main/z3_gx20

The device has the following flash layout (offsets with OOB data):
```
0x000000000000-0x000000100000 : "sbl1"
0x000000100000-0x000000200000 : "mibib"
0x000000200000-0x000000300000 : "bootconfig"
0x000000300000-0x000000400000 : "qsee"
0x000000400000-0x000000500000 : "qsee_alt"
0x000000500000-0x000000580000 : "cdt"
0x000000580000-0x000000600000 : "cdt_alt"
0x000000600000-0x000000680000 : "ddrparams"
0x000000700000-0x000000900000 : "u-boot"
0x000000900000-0x000000b00000 : "u-boot-backup"
0x000000b00000-0x000000b80000 : "ART"
0x000000c00000-0x000007c00000 : "ubi"
```

* Dump your original NAND (if using nanddump, include OOB data).

* Decompress `u-boot.bin.gz` dump from the GitHub repository above (dump
contains OOB data) and overwrite the `u-boot` portion of NAND from
`0x738000`-`0x948000` (length `0x210000`). Offsets here include OOB data.

* Decompress `ubi.bin.gz` dump from the GitHub repository above (dump
contains OOB data) and overwrite the `ubi` portion of NAND from
`0xc60000`-`0x8400000` (length `0x77a0000`). Offsets here include OOB data.

* Dump your original EEPROM. Change the byte at offset `0x49` to `0x1e`
(originally `0x24`). Remember to re-write the EEPROM with the modified data.
    * This can be done on Linux via the following command:
    `printf "\x1e" | dd of=/tmp/eeprom.bin bs=1 seek=$((0x49)) conv=notrunc`

**Note**: the device will not boot if you modify the board major number and
have not yet overwritten the `ubi` and `u-boot` regions of NAND.

* Resolder the NAND after overwriting the `u-boot` and `ubi` regions.

OpenWrt Installation:

* After flashing NAND and EEPROM with external programmers. Plug an Ethernet
cable into the Internet/WAN port. Power up the device.

* The new U-Boot build uses the space character `" "` (without quotes) to
interrupt boot.

* Interrupt U-Boot and `tftpboot` the OpenWrt initramfs image from your
tftp server
```
dhcp
setenv serverip <your_tftp>
tftpboot openwrt-ipq40xx-generic-meraki_z3-initramfs-uImage.itb
```

* Once booted into the OpenWrt initramfs, created the `ART` ubivol with
the WiFi radio calibration from the mtd partition:
```
cat /dev/mtd10 > /tmp/ART.bin
ubimkvol /dev/ubi0 -N ART -s 524288
ubiupdatevol /dev/ubi0_1 /tmp/ART.bin
```

* `scp` the `sysupgrade` image to
the device and run the normal `sysupgrade` procedure:
```
scp -O openwrt-ipq40xx-generic-meraki_z3-squashfs-sysupgrade.bin root@192.168.1.1:/tmp/
ssh root@192.168.1.1 "sysupgrade -n /tmp/openwrt-ipq40xx-generic-meraki_z3-squashfs-sysupgrade.bin"
```

* OpenWrt should now be installed on the device.

Signed-off-by: Hal Martin <hal.martin@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17026
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 weeks agobcm53xx: modify 180-usb-xhci-add-support-for-performing-fake-doorbell.patch 20362/head
Goetz Goerisch [Fri, 10 Oct 2025 05:32:41 +0000 (07:32 +0200)] 
bcm53xx: modify 180-usb-xhci-add-support-for-performing-fake-doorbell.patch

upstream changes to the xhci_free_virt_device()

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/drivers/usb/host?h=v6.6.103&id=e600de541c37f97482fea2a7a26f186141e7ddea

The xhci_fake_doorbell() function should only free the device and not
deactivate it too. It just has to revert the call to
xhci_alloc_virt_device()

Fixes: #20153
Fixes: 1c92e468d544 ("kernel: bump 6.6 to 6.6.103")
Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20362
[Update description and removed some unnecessary changes]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 weeks agolibiwinfo: update to Git HEAD (2025-10-19)
Christian Marangi [Sun, 19 Oct 2025 11:54:32 +0000 (13:54 +0200)] 
libiwinfo: update to Git HEAD (2025-10-19)

904f114548ba winfo: account noise for multiple radio from same wiphy

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 weeks agoipq40xx: fix Linksys WHW0x sorting 20441/head
Christoph Krapp [Fri, 17 Oct 2025 22:58:37 +0000 (00:58 +0200)] 
ipq40xx: fix Linksys WHW0x sorting

whw01 was incorrectly placed below whw03 definitions.

Signed-off-by: Christoph Krapp <achterin@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20441
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 weeks agoipq40xx: add led aliases for Linksys WHW01
Christoph Krapp [Fri, 17 Oct 2025 22:43:10 +0000 (00:43 +0200)] 
ipq40xx: add led aliases for Linksys WHW01

This adds led aliases for failsafe and upgrade. Before this change the
leds stayed dark in both situations.

Signed-off-by: Christoph Krapp <achterin@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20441
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 weeks agoipq40xx: add label-mac-device alias for Linksys WHW01
Christoph Krapp [Fri, 17 Oct 2025 22:23:35 +0000 (00:23 +0200)] 
ipq40xx: add label-mac-device alias for Linksys WHW01

Set the label-mac-device to be able to easily fetch the mac-address of
the device, which is printed on the bottom of the case.
While at it, remove the TODO - the ethernet0 alias is needed to get the
mac from bootloader.

Signed-off-by: Christoph Krapp <achterin@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20441
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 weeks agohostapd: increase netlink buffer size
Felix Fietkau [Sat, 18 Oct 2025 19:58:45 +0000 (19:58 +0000)] 
hostapd: increase netlink buffer size

When lots of events are waiting to be received, the default buffer size
is not enough, and hostapd can run into "No buffer space available" on
recvmsg. This will cause the netdev state tracking to go out of sync.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 weeks agoipq40xx: mikrotik: kernel: pet watchdog during kernel uncompress 20305/head
John Thomson [Sun, 5 Oct 2025 03:45:41 +0000 (13:45 +1000)] 
ipq40xx: mikrotik: kernel: pet watchdog during kernel uncompress

kernel 6.9 removed the KConfig entry our RouterBOOT watchdog pet hack was relying on:
Linux df59427a1122 ("ARM: qcom: merge remaining subplatforms into sensible Kconfig entry")

Introduce a new specific KConfig entry for this hack,
and enable it for Mikrotik ipq40xx kernel.
CONFIG_ARCH_QCOM_IPQ40XX_BOOT_COMPRESSED_PET_WATCHDOG_EARLY

With appropriate DEBUG_LL and DEBUG_UNCOMPRESS, this watchdog reset
can be typically seen on console as a reset before "Uncompressing Linux..."
reaches " done, booting the kernel."

RouterBOOT

loading kernel... OK
setting up elf image... OK
jumping to kernel code
Jumping to kernel
DTB:0x80381A60 (0x000048C4)
C:0x800000E0-0x80386420->0x80FAB500-0x81331840
DTB:0x8132CE80 (0x000049B8)
Uncompressing Linux...
Format: Log Type - Time(microsec) - Message - Optional Info
Log Type: B - Since Boot(Power On Reset),  D - Delta,  S - Statistic
S - QC_IMAGE_VERSION_STRING=BOOT.BF.3.1.1-00096

versus:

Uncompressing Linux... done, booting the kernel.
[    0.000000] Booting Linux on physical CPU 0x0

On Mikrotik RouterBOOT devices, this is complicated by some RouterBOOT
versions successfully loading the same kernel that other RouterBOOT versions fail. Example:
RouterBOOT backup booter 6.45.9 fine, RouterBOOT booter 7.16 fail

Fixes: openwrt#19841
Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au>
Link: https://github.com/openwrt/openwrt/pull/20305
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 weeks agokernel: rtl8261n: allow selection as package 20429/head
Kenneth Kasilag [Fri, 17 Oct 2025 02:07:25 +0000 (02:07 +0000)] 
kernel: rtl8261n: allow selection as package

Previously, devices would have to select `CONFIG_RTL8261N_PHY=Y` in the
whole target's kernel config. Now that this driver is becoming usable
for devices other than Realtek switches, allow packaging this driver
separately.

Signed-off-by: Kenneth Kasilag <kenneth@kasilag.me>
Link: https://github.com/openwrt/openwrt/pull/20429
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 weeks agokernel: rtl8261n: fix kernel module name
Kenneth Kasilag [Fri, 17 Oct 2025 02:11:58 +0000 (02:11 +0000)] 
kernel: rtl8261n: fix kernel module name

Replace rtl8621n -> rtl8261n.

Signed-off-by: Kenneth Kasilag <kenneth@kasilag.me>
Link: https://github.com/openwrt/openwrt/pull/20429
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 weeks agombedtls: update to 3.6.5 20425/head
Magnus Kroken [Thu, 16 Oct 2025 14:11:11 +0000 (16:11 +0200)] 
mbedtls: update to 3.6.5

This release includes fixes for security issues.

Mbed TLS 3.6 is a long-term support (LTS) branch. It will be supported
with bug-fixes and security fixes until at least March 2027.

The two issues fixed were timing side channels:
* Padding oracle through timing of cipher error reporting
  (CVE-2025-59438) [1]
* Side channel in RSA key generation and operations (SSBleed, M-Step)
  (CVE-2025-54764) [2]

Bug fixes:
* Fix potential CMake parallel build failure when building both the static and shared libraries.
* Fix a build error or incorrect TLS session lifetime on platforms where mbedtls_time_t is not time_t.

[1]: https://mbed-tls.readthedocs.io/en/latest/security-advisories/mbedtls-security-advisory-2025-10-invalid-padding-error/
[2]: https://mbed-tls.readthedocs.io/en/latest/security-advisories/mbedtls-security-advisory-2025-10-ssbleed-mstep/

Full release announcement:
https://github.com/Mbed-TLS/mbedtls/releases/tag/mbedtls-3.6.5

Tested-by: Edoardo Pinci <epinci@outlook.com>
Signed-off-by: Magnus Kroken <mkroken@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20425
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 weeks agoltq-ptm: Fix unprivileged local user memory read and write
Hauke Mehrtens [Mon, 13 Oct 2025 22:32:26 +0000 (00:32 +0200)] 
ltq-ptm: Fix unprivileged local user memory read and write

Use the copy_from_user() and copy_to_user() functions for accessing
memory provided by the user in the ptm netdev iotls.
In addition also check for root permission before executing ioctl.

Suggested-by: Stanislav Fort from Aisle Research
Reported-by: Stanislav Fort from Aisle Research
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 weeks agoubus: update to Git HEAD (2025-10-17)
Felix Fietkau [Fri, 17 Oct 2025 11:28:52 +0000 (13:28 +0200)] 
ubus: update to Git HEAD (2025-10-17)

b462895d3157 lua: CMakeLists: drop redundant cmake_minimum_required
f247c18f8a55 examples: CMakeLists: drop redundant cmake_minimum_required
83a70399030d github: add CI build
d31effb4277b ubusd: Fix out of bounds access in event register message
d95837b1b143 ubusd: acl: compare uid/gid instead of user/group strings
b81257bb20dd ubusd: load extra group IDs for a client process
7d7b45fea05b add debian/ directory
aa4a7ee1d341 ubusd: fix more instances of missing length checks for patterns
60e04048a0e2 ubusd: fix ACL check for receiving events

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2 weeks agoipq-wifi: update to Git HEAD (2025-10-17)
Robert Marko [Fri, 17 Oct 2025 10:09:40 +0000 (12:09 +0200)] 
ipq-wifi: update to Git HEAD (2025-10-17)

d818fb10428f qca4019: Add Meraki MR30H
a1529e183333 qca4019: Add Meraki Z3

Signed-off-by: Robert Marko <robimarko@gmail.com>
2 weeks agotargetwide: imagebuilder: add explicit guards around initramfs rules 20347/head
Eric Fahlgren [Wed, 8 Oct 2025 16:42:21 +0000 (09:42 -0700)] 
targetwide: imagebuilder: add explicit guards around initramfs rules

The imagebuilder is not intended to build initramfs images.  Some
profiles attempt to do this and succeed, due to buildroot leaking
the initramfs-kernel into staging_dir; others attempt it, but fail
due to not having initramfs binaries present in the imagebuilder.

Fix this by adding an explict guard around the unsupported generation
of the initramfs images.  This saves space and time during imagebuilder
runs, fixes those that are currently broken and protects against future
breakage for profiles that inadvertently work now.

Fixes: https://github.com/openwrt/openwrt/issues/20151
Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20347
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agompc85xx: p1010: kernel: add missing symbol 20419/head
Pawel Dembicki [Tue, 14 Oct 2025 09:36:01 +0000 (11:36 +0200)] 
mpc85xx: p1010: kernel: add missing symbol

CONFIG_MTD_CFI was disabled in p1010 subtarget.
It causes problem with Aerohive BR200-WP router.

This patch enables CONFIG_MTD_CFI in p1010 config-default file.

Fixes: e9dd6da91661 ("mpc85xx: p1010: add missing symbols")
Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20419
Signed-off-by: Nick Hainke <vincent@systemli.org>
3 weeks agolinux-firmware: update to 20251011 20415/head
John Audia [Wed, 15 Oct 2025 12:51:08 +0000 (08:51 -0400)] 
linux-firmware: update to 20251011

% git log --no-merges --pretty=oneline --abbrev-commit 20250917...20251011

25c3a14ddccc qcom: add CDSP firmware for kaanapali platform
0a5f7ace0a17 qcom: add version for A650 GMU firmware
ff1f6b9a25d3 qca: Update Bluetooth WCN6750 1.1.3-00091 firmware to 1.1.3-00100
d387533db74f qcom: Add firmwares for Kaanapali GPU
fe05c74066fc qcom: Update A623 GMU fw
6f2733131a80 qcom: Fix QCS615 chipset's GPU secure fw
80e2ccb38d41 qcom: Update DSP firmware for sa8775p platform
8d5c190abbc6 amdgpu: DMCUB updates for various ASICs
5905c27e13dc WHENCE: remove link for Kaanapali video firmware
d2404284b6ce intel_vpu: Update NPU firmware
96ed5b3686d0 linux-firmware: Add Dell ISH firmware for Intel Lunar Lake systems
b350d59cf4bc Update VCN for Navi1x, Green Sardine and Renoir
f2bfc867f82d WHENCE: extract multitech license text
e9fa2f97c9c0 WHENCE: extract ueagle license
6fae1670baa1 WHENCE: use LICENCE.sensoray for s2255drv
bf9792cd07ec WHENCE: rename LICENCE.go7007-s2250 to LICENCE.sensoray
6d9abf208161 WHENCE: clean up emi62 and yam license statements
3baa8edc3517 qcom: vpu: update video firmware binary for SM8550
c77beb9847cc rtl_bt: Update RTL8852BT/RTL8852BE-VT BT USB FW to 0x3BAC_ADBA
7c2d4d41e96f qcom: vpu: add video firmware for Kaanapali
456617792f73 qcom: Update DSP firmware for qcs8300 platform.
d5541743af93 qcom: Add Audio topology for HAMOA-EVK
cefc001f7e0b intel/ish:Add ISH firmware file for Intel Lunar Lake platform
63335c21f5c3 mediatek: update firmware version info for MT7986/81/16
04a9bd578e9c linux-firmware: ql2500_fw: update ISP25xx Firmware
4d83de8a0909 qcom: Update aic100 firmware files
1378dc00cc60 qcom: Add audio topology and ADSP firmware for qcs6490-radxa-dragon-q6a
e1514909489e amdgpu: DMCUB updates for various ASICs
dba7fce5655a mediatek: mtk_wed: drop links for mt7988
d5eedab92c67 Revert "amdgpu: update gc 10.3.6 firmware"
ad211e0ef885 qcom: Update DSP firmware for qcs8300 platform.
b2d8bda61e46 powervr: update firmware for Imagination Technologies BXS-4-64 GPU
35d89f17d9f1 qcom: Update DSP firmware for sa8775p platform.
149fa16eb357 amdgpu: DMCUB updates for various ASICs
1d588f106cee ath12k: WCN7850 hw2.0: update board-2.bin
6625e563d600 qcom: move LEMANS EVK firmware to correct location

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

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/20415
Signed-off-by: Nick Hainke <vincent@systemli.org>
3 weeks agorockchip: add FriendlyElec NanoPi R76S support 20423/head
Tianling Shen [Wed, 3 Sep 2025 18:46:38 +0000 (02:46 +0800)] 
rockchip: add FriendlyElec NanoPi R76S support

Hardware
--------
RockChip RK3576 ARM64 (8 cores)
2/4GB LPDDR4X RAM
2x 2500 Base-T (PCIe, rtl8125b)
3x LEDs (POWER / LAN / WAN)
3x Buttons (MaskROM, Power, Reset)
32GB eMMC on board
Micro-SD Slot
HDMI OUT
M.2 E-key *SDIO* slot
1x USB 3.0 Port
USB Type-C 5V Power

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

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20423
Signed-off-by: Nick Hainke <vincent@systemli.org>
3 weeks agomac80211: realtek: rtw88: add RTL8822CS support
Tianling Shen [Wed, 7 Aug 2024 18:41:47 +0000 (02:41 +0800)] 
mac80211: realtek: rtw88: add RTL8822CS support

Add Realtek RTL8822CS support to the rtw88 package.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20423
Signed-off-by: Nick Hainke <vincent@systemli.org>
3 weeks agoucode: fix EOF detection in the non-blocking read patch
Felix Fietkau [Thu, 16 Oct 2025 18:57:51 +0000 (18:57 +0000)] 
ucode: fix EOF detection in the non-blocking read patch

size = 0 means EOF - do not return an empty string in this case
(which implies no data available).

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 weeks agorealtek: dsa: rtl931x: Fix port L2 table flushing 20422/head
Sven Eckelmann [Thu, 16 Oct 2025 09:06:08 +0000 (11:06 +0200)] 
realtek: dsa: rtl931x: Fix port L2 table flushing

The DSA driver must flush the HW FDB when a port changes from
learning/forwarding to disabled/blocking/listening.

But the implementation for RTL931x was writing the port information
starting at bit 11 (bit 11 of the second 32-bit L2_TBL_FLUSH_CTRL
register). But this offset is the AGG_VID and not the port. The actual
position is 43 (bit 11 of the first register).

As result, the FDB was always only flushed for the port 0 and not for the
selected port.

Fixes: 9ed609705481 ("realtek: Add HW support for RTL931X for PIE, L2 and STP aging")
Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/20422
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agomediatek: filogic: rename eth1 to wan in led setup for zyxel-ex5601-t0 20120/head
Andrew Sim [Mon, 6 Oct 2025 04:58:44 +0000 (06:58 +0200)] 
mediatek: filogic: rename eth1 to wan in led setup for zyxel-ex5601-t0

the eth1 interface was renamed to wan so also reflect that change in
the leds setup script

Fixes: f26260c7e751 ("mediatek: filogic: Add label wan and cpu for Zyxel EX5601-T0")
Signed-off-by: Andrew Sim <andrewsimz@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20120
Signed-off-by: Nick Hainke <vincent@systemli.org>
3 weeks agorealtek: rtl93xx: Trap BPDU management frames 20414/head
Harshal Gohel [Fri, 8 Aug 2025 15:31:03 +0000 (17:31 +0200)] 
realtek: rtl93xx: Trap BPDU management frames

BPDU frames like STP must be processed by each switch (bridge) which
supports STP. It must not be forwarded to avoid confusing the STP state of
other STP participants. It is essential to be an active participant of STP.
The software bridge automatically takes care of forwarding the BPDUs to
other ports when STP is disabled and the hardware switch should not
interfere.

Signed-off-by: Harshal Gohel <hg@simonwunderlich.de>
Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/20414
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agokernel: ksmbd: add max ip connection parameter 20377/head
Andrea Pesaresi [Sat, 11 Oct 2025 08:10:29 +0000 (10:10 +0200)] 
kernel: ksmbd: add max ip connection parameter

With this patch is set the maximum number of connections per ip address instead of no control.
The default is 8.

Signed-off-by: Andrea Pesaresi <andreapesaresi82@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20377
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agokernel: ksmbd: browse-interfaces-list-on-FSCTL_QUERY_INTERFACE_INFO
Andrea Pesaresi [Sat, 11 Oct 2025 08:07:42 +0000 (10:07 +0200)] 
kernel: ksmbd: browse-interfaces-list-on-FSCTL_QUERY_INTERFACE_INFO

backport from kernel 6.12

ksmbd.mount will give each interfaces list and bind_interfaces_only flags
to ksmbd server. Previously, the interfaces list was sent only
when bind_interfaces_only was enabled.
ksmbd server browse only interfaces list given from ksmbd.conf on
FSCTL_QUERY_INTERFACE_INFO IOCTL.

Signed-off-by: Andrea Pesaresi <andreapesaresi82@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20377
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agorockchip: backport pcie fix for rk3399 20406/head
Timothy Feierabend [Wed, 15 Oct 2025 01:44:32 +0000 (20:44 -0500)] 
rockchip: backport pcie fix for rk3399

This patch resolves the LAN port not initializing on the
FriendlyElec NanoPI R4S, especially during warm reboots.

Upstream commit patch is based on:
https://github.com/torvalds/linux/commit/c3fe7071e196e25789ecf90dbc9e8491a98884d7

I've experienced the LAN port failing to initialize from a cold boot and
after a reboot. Other users have reported this issue on
https://forum.openwrt.org/t/nanopi-r4s-rk3399-is-a-great-new-openwrt-device/79143.
The NanoPI R4S has its LAN port connected to the RK3399 via PCIE. Since the
PCIE lanes don't initialize correctly after reboot, the LAN port
doesn't initialize.

Signed-off-by: Timothy Feierabend <tim.feierabend@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20406
Signed-off-by: Nick Hainke <vincent@systemli.org>
3 weeks agostrace: update to 6.17 20403/head
air jinkela [Tue, 14 Oct 2025 04:34:54 +0000 (12:34 +0800)] 
strace: update to 6.17

Release Notes:
- https://github.com/strace/strace/releases/tag/v6.17
- https://github.com/strace/strace/releases/tag/v6.16

Signed-off-by: air jinkela <air_jinkela@163.com>
Link: https://github.com/openwrt/openwrt/pull/20403
Signed-off-by: Nick Hainke <vincent@systemli.org>
3 weeks agowifi-scripts: ucode: add support for WPS client
Felix Fietkau [Wed, 15 Oct 2025 07:39:39 +0000 (09:39 +0200)] 
wifi-scripts: ucode: add support for WPS client

Fixes unwanted fallback to unencrypted network.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 weeks agoath79: add calibtation variant for TP-Link Archer C59 v1 20401/head
Christoph Krapp [Thu, 25 Sep 2025 07:30:27 +0000 (09:30 +0200)] 
ath79: add calibtation variant for TP-Link Archer C59 v1

Now that we have a board file, add calibration variant for TP-Link
Archer C59 v1 and add ipq-wifi package for it.

Tested-by: Mateusz Jończyk <matjon@users.noreply.github.com>
Signed-off-by: Christoph Krapp <achterin@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20401
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agoipq-wifi: Add entry for TP-Link Archer C59 v1
Christoph Krapp [Thu, 25 Sep 2025 07:29:22 +0000 (09:29 +0200)] 
ipq-wifi: Add entry for TP-Link Archer C59 v1

Add IPQ Wifi entry for ath79 TP-Link Archer C59 v1.

Signed-off-by: Christoph Krapp <achterin@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20401
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agoapk-tools: fix compilation warning from downstream full print patch
Christian Marangi [Tue, 14 Oct 2025 15:15:07 +0000 (17:15 +0200)] 
apk-tools: fix compilation warning from downstream full print patch

Fix trivial compilation warning caused by downstream full print patch.

../src/app_list.c: In function 'print_full':
../src/app_list.c:85:35: warning: format '%zu' expects argument of type 'size_t', but argument 2 has type 'uint64_t' {aka 'long long unsigned int'} [-Wformat=]
   85 |         printf("Installed-Size: %zu\n", pkg->installed_size);
      |                                 ~~^     ~~~~~~~~~~~~~~~~~~~
      |                                   |        |
      |                                   |        uint64_t {aka long long unsigned int}
      |                                   unsigned int
      |                                 %llu
../src/app_list.c:86:25: warning: format '%zu' expects argument of type 'size_t', but argument 2 has type 'uint64_t' {aka 'long long unsigned int'} [-Wformat=]
   86 |         printf("Size: %zu\n", pkg->size);
      |                       ~~^     ~~~~~~~~~
      |                         |        |
      |                         |        uint64_t {aka long long unsigned int}
      |                         unsigned int
      |                       %llu
../src/app_list.c:58:31: warning: unused variable 'd' [-Wunused-variable]
   58 |         struct apk_dependency d;

Remove unused variable and use PRIu64 to handle uint64_t type.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
3 weeks agotools/meson: add pending patch to improve binary reproducibility 20389/head
Christian Marangi [Sun, 12 Oct 2025 12:23:53 +0000 (14:23 +0200)] 
tools/meson: add pending patch to improve binary reproducibility

Add 3 pending patch that improve binary reproducibility. The first
address a problem with RPATH string not getting cleared on removal of
RPATH entry from ELF section. The other 2 skip including external shared
library in RPATH in meson build phase.

This follows the logic that on cross-compiling we can't run the binary
anyway as it does target a different arch hence it doesn't make sense to
include those extra path in RPATH causing reproducibility problems (as
path for those external library will depend on the build system path)

Link: https://github.com/openwrt/openwrt/pull/20389
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
3 weeks agoucode: revert a broken commit
Felix Fietkau [Tue, 14 Oct 2025 11:03:11 +0000 (11:03 +0000)] 
ucode: revert a broken commit

It causes an infinite loop when polling nl80211 netlink sockets

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 weeks agokernel: backport mediatek WED DMA mask fixes
Felix Fietkau [Mon, 13 Oct 2025 11:03:48 +0000 (13:03 +0200)] 
kernel: backport mediatek WED DMA mask fixes

Fixes issues on devices with 4 GB RAM.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 weeks agoipq-wifi: update to Git HEAD (2025-10-14)
Robert Marko [Tue, 14 Oct 2025 11:17:43 +0000 (13:17 +0200)] 
ipq-wifi: update to Git HEAD (2025-10-14)

821d27b582c1 qca9888: add BDF for TP-Link Archer C59 v1

Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agoqualcommax: ipq50xx: fix XO board clock rate for Yuncore AX850 20405/head
George Moussalem [Tue, 14 Oct 2025 09:36:17 +0000 (13:36 +0400)] 
qualcommax: ipq50xx: fix XO board clock rate for Yuncore AX850

Commit 468975a985ab changed the XO board clock definition from a fixed
clock to a fixed rate clock in the dtsi.

As such, boards must use clock dividers and multipliers to calculate
the clock rate based on the referenced parent clock.

Fixes: 5d2994a73e20 ("qualcommax: ipq50xx: Add support for Yuncore AX850")
Signed-off-by: George Moussalem <george.moussalem@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/20405
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agomediatek: flogic: platform.sh fix typo 20404/head
air jinkela [Tue, 14 Oct 2025 05:10:57 +0000 (13:10 +0800)] 
mediatek: flogic: platform.sh fix typo

Fixes:
https://github.com/openwrt/openwrt/commit/726bb8e0e2fca96a160b3abbbf8e18227749cc27
("mediatek: filogic: add support for SNR-CPE-AX2")

Signed-off-by: air jinkela <air_jinkela@163.com>
Link: https://github.com/openwrt/openwrt/pull/20404
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agoath79: fix broken MikroTik upgrade
Koen Vandeputte [Tue, 14 Oct 2025 10:25:25 +0000 (12:25 +0200)] 
ath79: fix broken MikroTik upgrade

Fix a regression introduced by a recent commit.
It looks like a copy/paste error.

Add the missing line which defines the 'board' val
as it does not exist otherwise in the case check.

This fixes sysupgrade on ath79 MikroTik non-NOR boards.

Fixes: 318f07c231 ("ath79: mikrotik: check RouterBOOT version matching sysupgrade image")
Signed-off-by: Koen Vandeputte <koen.vandeputte@citymesh.com>
3 weeks agogeneric: 6.12: add pending patch to address PCI sysfs creation entry race 18989/head
Christian Marangi [Mon, 13 Oct 2025 23:12:34 +0000 (01:12 +0200)] 
generic: 6.12: add pending patch to address PCI sysfs creation entry race

Add pending patch to address PCI sysfs creation entry race observed on
ipq806x. This is to handle a kernel warning on creating the same sysfs
entry multiple times.

All affected patch automatically refreshed.

Link: https://github.com/openwrt/openwrt/pull/18989
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
3 weeks agoipq806x: 6.12: adapt OPP patch with upstream changes
Christian Marangi [Mon, 13 Oct 2025 23:07:02 +0000 (01:07 +0200)] 
ipq806x: 6.12: adapt OPP patch with upstream changes

Adapt OPP patch with upstream changes to cpufreq driver. Use the krait
compatible and the new opp-supported-hw way instead of deleting nodes.

Link: https://github.com/openwrt/openwrt/pull/18989
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
3 weeks agoipq806x: enable 6.12 testing kernel
Shiji Yang [Sat, 31 May 2025 15:51:29 +0000 (23:51 +0800)] 
ipq806x: enable 6.12 testing kernel

The 6.12 testing kernel for ipq806x target is ready now.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18989
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
3 weeks agoipq806x: migrate wifi configuration device paths for 6.12 kernel
Shiji Yang [Wed, 18 Jun 2025 11:50:39 +0000 (19:50 +0800)] 
ipq806x: migrate wifi configuration device paths for 6.12 kernel

The device tree PCIe host node names have been changed in the new
6.12 kernel[1]. Hence we have to update the wifi device path to
make sure it can work properly.

This script is based on:
target/linux/qualcommax/ipq807x/base-files/etc/hotplug.d/ieee80211/05-wifi-migrate

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.12.y&id=07299ba2e7d98045e6b522f7c5b97f402b15bc82
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18989
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
3 weeks agoipq806x: dts: correct PCIe device node name
Shiji Yang [Sun, 1 Jun 2025 06:52:22 +0000 (14:52 +0800)] 
ipq806x: dts: correct PCIe device node name

According to the dtc source code, the PCIe device node unitname
needs to follow the following naming rules:

```
reg = fdt32_to_cpu(cells[0]);
dev = (reg & 0xf800) >> 11;
func = (reg & 0x700) >> 8;
snprintf(unitname, sizeof(unitname), "%x,%x", dev, func);
```

These devices' reg cell[0] is equal to 0x10000, hence the correct
node unitname should be "0,0". This patch fixes the following dtc
warnings on 6.12 kernel:

qcom-ipq8065-tr4400-v2.dts:482.11-487.4: Warning (pci_device_reg): /soc/pcie@1b500000/pcie@0/wifi@1,0: PCI unit address format error, expected "0,0"
qcom-ipq8065-tr4400-v2.dts:499.11-504.4: Warning (pci_device_reg): /soc/pcie@1b700000/pcie@0/wifi@1,0: PCI unit address format error, expected "0,0"
qcom-ipq8065-rt4230w-rev6.dts:584.11-589.4: Warning (pci_device_reg): /soc/pcie@1b500000/pcie@0/wifi@1,0: PCI unit address format error, expected "0,0"
qcom-ipq8065-rt4230w-rev6.dts:601.11-606.4: Warning (pci_device_reg): /soc/pcie@1b700000/pcie@0/wifi@1,0: PCI unit address format error, expected "0,0"
qcom-ipq8064-g10.dts:291.11-295.4: Warning (pci_device_reg): /soc/pcie@1b500000/pcie@0/wifi@1,0: PCI unit address format error, expected "0,0"
qcom-ipq8064-g10.dts:303.11-307.4: Warning (pci_device_reg): /soc/pcie@1b700000/pcie@0/wifi@1,0: PCI unit address format error, expected "0,0"
qcom-ipq8064-wxr-2533dhp.dts:525.11-530.4: Warning (pci_device_reg): /soc/pcie@1b500000/pcie@0/wifi@1,0: PCI unit address format error, expected "0,0"
qcom-ipq8064-wxr-2533dhp.dts:539.11-544.4: Warning (pci_device_reg): /soc/pcie@1b700000/pcie@0/wifi@1,0: PCI unit address format error, expected "0,0"
qcom-ipq8068-ecw5410.dts:235.11-239.4: Warning (pci_device_reg): /soc/pcie@1b500000/pcie@0/wifi@1,0: PCI unit address format error, expected "0,0"
qcom-ipq8068-ecw5410.dts:251.11-255.4: Warning (pci_device_reg): /soc/pcie@1b700000/pcie@0/wifi@1,0: PCI unit address format error, expected "0,0"
qcom-ipq8068-ap3935.dts:261.11-264.4: Warning (pci_device_reg): /soc/pcie@1b500000/pcie@0/wifi@1,0: PCI unit address format error, expected "0,0"
qcom-ipq8068-ap3935.dts:275.11-278.4: Warning (pci_device_reg): /soc/pcie@1b700000/pcie@0/wifi@1,0: PCI unit address format error, expected "0,0"
qcom-ipq8064-fap-421e.dts:347.11-352.4: Warning (pci_device_reg): /soc/pcie@1b500000/pcie@0/wifi@1,0: PCI unit address format error, expected "0,0"
qcom-ipq8064-fap-421e.dts:362.11-367.4: Warning (pci_device_reg): /soc/pcie@1b700000/pcie@0/wifi@1,0: PCI unit address format error, expected "0,0"
qcom-ipq8068-cryptid-common.dtsi:78.18-81.4: Warning (pci_device_reg): /soc/pcie@1b500000/pcie@0/wifi@1,0: PCI unit address format error, expected "0,0"
qcom-ipq8068-cryptid-common.dtsi:89.18-92.4: Warning (pci_device_reg): /soc/pcie@1b700000/pcie@0/wifi@1,0: PCI unit address format error, expected "0,0"
qcom-ipq8068-cryptid-common.dtsi:100.18-103.4: Warning (pci_device_reg): /soc/pcie@1b900000/pcie@0/wifi@1,0: PCI unit address format error, expected "0,0"
qcom-ipq8064-wg2600hp.dts:464.11-469.4: Warning (pci_device_reg): /soc/pcie@1b500000/pcie@0/wifi@1,0: PCI unit address format error, expected "0,0"
qcom-ipq8064-wg2600hp.dts:478.11-483.4: Warning (pci_device_reg): /soc/pcie@1b700000/pcie@0/wifi@1,0: PCI unit address format error, expected "0,0"
qcom-ipq8062-wg2600hp3.dts:404.11-410.4: Warning (pci_device_reg): /soc/pcie@1b500000/pcie@0/wifi@1,0: PCI unit address format error, expected "0,0"
qcom-ipq8062-wg2600hp3.dts:419.11-426.4: Warning (pci_device_reg): /soc/pcie@1b700000/pcie@0/wifi@1,0: PCI unit address format error, expected "0,0"
qcom-ipq8064-d7800.dts:210.11-215.4: Warning (pci_device_reg): /soc/pcie@1b500000/pcie@0/wifi@1,0: PCI unit address format error, expected "0,0"
qcom-ipq8064-d7800.dts:227.11-232.4: Warning (pci_device_reg): /soc/pcie@1b700000/pcie@0/wifi@1,0: PCI unit address format error, expected "0,0"
qcom-ipq8064-r7500v2.dts:213.11-218.4: Warning (pci_device_reg): /soc/pcie@1b500000/pcie@0/wifi@1,0: PCI unit address format error, expected "0,0"
qcom-ipq8064-r7500v2.dts:230.11-235.4: Warning (pci_device_reg): /soc/pcie@1b700000/pcie@0/wifi@1,0: PCI unit address format error, expected "0,0"
qcom-ipq8065-nighthawk.dtsi:546.18-549.4: Warning (pci_device_reg): /soc/pcie@1b500000/pcie@0/wifi@1,0: PCI unit address format error, expected "0,0"
qcom-ipq8065-nighthawk.dtsi:559.18-562.4: Warning (pci_device_reg): /soc/pcie@1b700000/pcie@0/wifi@1,0: PCI unit address format error, expected "0,0"
qcom-ipq8065-ac400i.dts:202.11-206.4: Warning (pci_device_reg): /soc/pcie@1b500000/pcie@0/wifi@1,0: PCI unit address format error, expected "0,0"
qcom-ipq8065-ac400i.dts:218.11-222.4: Warning (pci_device_reg): /soc/pcie@1b700000/pcie@0/wifi@1,0: PCI unit address format error, expected "0,0"
qcom-ipq8064-ad7200-c2600.dtsi:319.11-324.4: Warning (pci_device_reg): /soc/pcie@1b500000/pcie@0/wifi@1,0: PCI unit address format error, expected "0,0"
qcom-ipq8064-ad7200-c2600.dtsi:333.11-338.4: Warning (pci_device_reg): /soc/pcie@1b700000/pcie@0/wifi@1,0: PCI unit address format error, expected "0,0"
qcom-ipq8064-vr2600v.dts:347.11-352.4: Warning (pci_device_reg): /soc/pcie@1b500000/pcie@0/wifi@1,0: PCI unit address format error, expected "0,0"
qcom-ipq8064-vr2600v.dts:361.11-366.4: Warning (pci_device_reg): /soc/pcie@1b700000/pcie@0/wifi@1,0: PCI unit address format error, expected "0,0"

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18989
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
3 weeks agoipq806x: dts: rework PCIe nodes for Chromium OnHub
Shiji Yang [Sun, 1 Jun 2025 04:56:09 +0000 (12:56 +0800)] 
ipq806x: dts: rework PCIe nodes for Chromium OnHub

- Reuse the bridges node defined on "qcom-ipq8064.dtsi".
- Rename PCIe device nodes to unified "wifi@0,0".
- Add the missing "qcom,ath10k" compatibles.
- Remove unseless property "interrupt-controller". There are no
  consumers use these PCIe devices as interrupt controllers.
- Change bus number from 0 to 1, just like other ipq806x devices.
  The valid PCIe bus range on this platform is 1 - 255.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18989
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
3 weeks agoipq806x: dts: reuse default PCIe bridge nodes
Shiji Yang [Sun, 1 Jun 2025 04:36:06 +0000 (12:36 +0800)] 
ipq806x: dts: reuse default PCIe bridge nodes

The default PCIe bridge nodes have been added upstream[1]. Remove
duplicate PCIe bridge definitions to simplify the device dts.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.12.y&id=0c4d19b125401957123989a25094972cf0e77670

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18989
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
3 weeks agoipq806x: dts: fix 6.12 kernel pinmux conflicts
Shiji Yang [Sat, 31 May 2025 15:56:40 +0000 (23:56 +0800)] 
ipq806x: dts: fix 6.12 kernel pinmux conflicts

Some pinmux nodes in the qcom-ipq8064.dtsi have been changed[1].
Adjust our local devices dts to solve the conflicts.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.12.y&id=de52c020e1a9c3313d88405a4545020b1f5ab24d

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18989
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
3 weeks agoipq806x: add PCIe bridge node reference labels for ipq8064.dtsi
Shiji Yang [Sun, 1 Jun 2025 04:35:22 +0000 (12:35 +0800)] 
ipq806x: add PCIe bridge node reference labels for ipq8064.dtsi

Add bridge node labels so that we can insert PCIe peripheral nodes.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18989
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
3 weeks agoipq806x: fix build errors on 6.12 kernel
Shiji Yang [Sat, 31 May 2025 16:41:31 +0000 (00:41 +0800)] 
ipq806x: fix build errors on 6.12 kernel

- Replace "strlcpy()" with "strscpy()".
- Convert platform driver .remove() to .remove_new().

This patch fixes the following compile errors:

drivers/of/fdt.c:1064:17: error: implicit declaration of function 'strlcpy'; did you mean 'strncpy'? [-Wimplicit-function-declaration]
 1064 |                 strlcpy(cmdline, p, min((int)l, COMMAND_LINE_SIZE));
      |                 ^~~~~~~
      |                 strncpy

drivers/devfreq/krait-cache-devfreq.c:171:27: error: initialization of 'void (*)(struct platform_device *)' from incompatible pointer type 'int (*)(struct platform_device *)' [-Wincompatible-pointer-types]
  171 |         .remove         = krait_cache_remove,
      |                           ^~~~~~~~~~~~~~~~~~

drivers/devfreq/ipq806x-fab-devfreq.c:145:27: error: initialization of 'void (*)(struct platform_device *)' from incompatible pointer type 'int (*)(struct platform_device *)' [-Wincompatible-pointer-types]
  145 |         .remove         = ipq806x_fab_remove,
      |                           ^~~~~~~~~~~~~~~~~~

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18989
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
3 weeks agoipq806x: refresh 6.12 kernel config files
Shiji Yang [Sat, 31 May 2025 15:51:04 +0000 (23:51 +0800)] 
ipq806x: refresh 6.12 kernel config files

Manually selected symbols:

- Enable ARCH_QCOM_RESERVE_SMEM
  Reserve SMEM at the beginning of RAM

- Enable QCOM_TZMEM_MODE_GENERIC
  TrustZone interface memory allocator mode

- Disable QCOM_QSEECOM
  Qualcomm QSEECOM interface driver

- Disable IPQ_NSSCC_QCA8K
  QCA8K(QCA8386 or QCA8084) NSS Clock Controller

- Disable INTERCONNECT_QCOM
  Qualcomm Network-on-Chip interconnect drivers

All other symbols are automatically refreshed by
`make kernel_oldconfig`.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18989
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
3 weeks agoipq806x: refresh 6.12 kernel patches
Shiji Yang [Sat, 31 May 2025 15:36:16 +0000 (23:36 +0800)] 
ipq806x: refresh 6.12 kernel patches

Remove upstreamed:
901-mtd-spi-nor-n25q064a-wp.patch [1]

Manually rebased:
107-10-ARM-dts-qcom-add-saw-for-l2-cache-and-kraitcc-for.patch
108-01-ARM-dts-qcom-fix-wrong-nad_pins-definition-for-ipq80.patch
122-01-clk-qcom-krait-cc-handle-qsb-clock-defined-in-DTS.patch
122-04-clk-qcom-krait-cc-rework-mux-reset-logic-and-reset-h.patch
902-ARM-decompressor-support-for-ATAGs-rootblock-parsing.patch

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.12.y&id=86fd0e6410b453fed93cf8085de1e5b0cfdbb6b9

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18989
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
3 weeks agoipq806x: restore kernel 6.6 config files and patches
Shiji Yang [Sat, 31 May 2025 15:13:10 +0000 (23:13 +0800)] 
ipq806x: restore kernel 6.6 config files and patches

Copy patches and kernel configs from 6.12 kernel to restore the
default 6.6 kernel support files.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18989
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
3 weeks agoipq806x: rename patchset and kernel configs to 6.12
Shiji Yang [Sat, 31 May 2025 15:11:46 +0000 (23:11 +0800)] 
ipq806x: rename patchset and kernel configs to 6.12

This is a preparation for 6.12 kernel support. It can help us
track the patches and Kconfig history by using the Git tool.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18989
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
3 weeks agoipq806x: refresh kernel symbol configs
Shiji Yang [Sat, 31 May 2025 15:09:58 +0000 (23:09 +0800)] 
ipq806x: refresh kernel symbol configs

This is a preparation for introducing the 6.12 kernel support.
All configs are automatically refreshed. In theory, they will
generate the same .config files in the kernel build directory
as before.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18989
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
3 weeks agoipq806x: fix dtc warnings for Linksys E8350 V1
Shiji Yang [Mon, 19 May 2025 13:56:58 +0000 (21:56 +0800)] 
ipq806x: fix dtc warnings for Linksys E8350 V1

- Add missing #address-cells and #size-cells to the partitions node
- Remove redundant #address-cells and #size-cells for the nand node

This patch fixes the following dtc warnings:

qcom-ipq8064-e8350-v1.dts:85.3-13: Warning (reg_format): /soc/nand-controller@1ac00000/nand@0:reg: property has invalid length (4 bytes) (#address-cells == 1, #size-cells == 1)
qcom-ipq8064-e8350-v1.dts:95.5-25: Warning (reg_format): /soc/nand-controller@1ac00000/nand@0/partitions/partition@0:reg: property has invalid length (8 bytes) (#address-cells == 2, #size-cells == 1)
qcom-ipq8064-e8350-v1.dts:99.5-33: Warning (reg_format): /soc/nand-controller@1ac00000/nand@0/partitions/partition@4000000:reg: property has invalid length (8 bytes) (#address-cells == 2, #size-cells == 1)

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18989
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
3 weeks agosdk: set package as the root directory for base feed 20396/head
Christian Marangi [Mon, 13 Oct 2025 00:32:44 +0000 (02:32 +0200)] 
sdk: set package as the root directory for base feed

To produce consistent source entry for package compiled from non-SDK and
SDK build, set the "--root=package" flag for the base feed.

This will set the root directory for the base feed to the OpenWrt
core repository "package" directory.

This fix the reproducible problem of package build from SDK that have
the source entry set to "feeds/base/package/..." for every package
coming from the base feed.

Link: https://github.com/openwrt/openwrt/pull/20396
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
3 weeks agoscripts/feeds: implement support for --root option
Christian Marangi [Sun, 12 Oct 2025 23:59:52 +0000 (01:59 +0200)] 
scripts/feeds: implement support for --root option

Some feeds might need to set the source for their packages in a
different directory than the cloned one.

For example a feed "test" might be an entire repository and the relevant
packages that wants to be included are in the directory "foo".

In such scenario the source info in the package will result in something
like "feeds/test/foo/network/dnsmasq" instead of an expected entry like
"feeds/test/network/dnsmasq".

To give a more real-world example, this problem is currently present
with OpenWrt SDK where the SDK clone the entire OpenWrt core repository
as "base" feeds but the package are present in the "package" directory.

This cause every package to have the source entry set to
"feeds/base/package/..." conflicting with what a non-SDK build do with
setting the source entry to "feeds/base/..."

To solve this, actually enable support for "flags" in the feeds script
and implement a new option "--root" to set the root directory for the
defined feed to an inner directory.

The "flags" in the feed script are no more than argument option that can
be defined right after the "src-" type in the feed.conf file.

This feature was partially implemented but never actually used for
anything keeping it dormant with all the core piece there (the pattern
regex always accounted for these extra option but they were never passed
to the relevant functions)

An example of the "--root" flag is the following:

src-git --root=package base https://git.openwrt.org/openwrt/openwrt.git;main

With "--root" defined, the script will append "_root" to the feed name
clone directory and will create a symbolic link named with the feed name
and pointing to the feed name clone directory + the value in root.

From the previous example:

feed name: base -> clone directory: base_root
symbolic link: base -> base_root/package

The script internally reference the "_root" directory for every update
operation and OpenWrt build system transparently use the feed name
directory to reference feed packages producing consistent source info
entry.

Link: https://github.com/openwrt/openwrt/pull/20396
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
3 weeks agowifi-scripts: ucode: fix airtime_mode with hostapd-mini
Zhi-Jun You [Wed, 8 Oct 2025 06:55:06 +0000 (14:55 +0800)] 
wifi-scripts: ucode: fix airtime_mode with hostapd-mini

Currently wifi-scripts ucode appends airtime_mode to hostapd config file
unconditionally.
However this breaks bringing up interface with hostapd-mini
because the mini variant doesn't support airtime policy.

Fix this by changing the script to append airtime_mode only when
airtime_mode is set to greater than zero value in /etc/config/wireless.

Fixes: #20136
Fixes: #20314
Signed-off-by: Zhi-Jun You <hujy652@protonmail.com>
3 weeks agoucode: add fs.mkdtemp function
Felix Fietkau [Fri, 10 Oct 2025 12:19:58 +0000 (14:19 +0200)] 
ucode: add fs.mkdtemp function

Useful for creating temporary directories

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 weeks agouboot-ath79: update to v2025.10 20358/head
INAGAKI Hiroshi [Thu, 9 Oct 2025 13:19:20 +0000 (22:19 +0900)] 
uboot-ath79: update to v2025.10

Update the version of uboot-ath79 package to U-Boot v2025.10 release.

Tested on:

- NEC Aterm WG600HP (AR9344)
- NEC Aterm WG1400HP (QCA9558)

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20358
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agorealtek: fix SFP ports on RTL83xx 20374/head
Lorenz Brun [Fri, 10 Oct 2025 21:11:38 +0000 (23:11 +0200)] 
realtek: fix SFP ports on RTL83xx

Right now the phylink capability function enables 2.5G and 10G modes on
Maple and Cypress, which they mostly (other than two SERDES on Cypress)
don't support. This causes these modes to be selected and break the link
as they are not supported by hardware.

I looked into doing this properly, but it cannot just be done based on
SoC, but needs to take the whole topology into account as a given MAC
might have very different capabilities depending on what SERDES are
assigned to it. So for now just use 1G and QSGMII for RTL83xx and 10G
for RTL93xx. This mostly works, except it will downgrade some 10G links
on RTL839x, but since there are also 1G SFPs on these this cannot be
solved without fully accounting for the global MAC and SERDES
configuration.

So this makes all of the 1G SFP slots work again, while keeping most of
the 10G SFP+ slots working at 10G with minimal changes.

Signed-off-by: Lorenz Brun <lorenz@brun.one>
Link: https://github.com/openwrt/openwrt/pull/20374
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agorealtek: Skip auto-MAC assignment for devices with MACs in DT 20241/head
Sven Eckelmann [Mon, 29 Sep 2025 16:30:12 +0000 (18:30 +0200)] 
realtek: Skip auto-MAC assignment for devices with MACs in DT

If the devicetree contains the appropriate nodes to configure the MAC
addresses for each physical DSA port, then these MAC addresses must be used
in OpenWrt and not some automatically generated ones. Otherwise the device
often ends up with addresses which are locally administered and not
matching any expected port-to-MAC scheme.

Devices which only get the MAC address for eth0 must still auto-generate
these MAC addresses until the devicetree was updated to also include the
correct ones.

Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/20241
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agorealtek: Avoid empty lan mac in initial network setup
Sven Eckelmann [Sun, 5 Oct 2025 07:00:08 +0000 (09:00 +0200)] 
realtek: Avoid empty lan mac in initial network setup

If the lan_mac cannot be found, it is still used (as empty string) in
various operations. This is not valid and other 02_network scripts checking
for a non-empty string before using it. This should also be adopted for the
realtek 02_network.

Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/20241
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agorealtek: Split initial network setup in functions
Sven Eckelmann [Sun, 5 Oct 2025 06:55:49 +0000 (08:55 +0200)] 
realtek: Split initial network setup in functions

Having everything in a big script without any structure makes it
unnecessary hard to get an overview or modify it without triggering
unexpected side effects.

Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/20241
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agorealtek: dsa: Adjust prefix for bridge member functions 20360/head
Sven Eckelmann [Fri, 10 Oct 2025 09:49:56 +0000 (11:49 +0200)] 
realtek: dsa: Adjust prefix for bridge member functions

The preferred prefix for the Realtek DSA driver code is "rtldsa" and no
longer "rtl83xx". This makes sure that the different drivers have
non-conflicting prefixes and because of this non-conflicting function
names.

Suggested-by: Felix Baumann <felix.bau@gmx.de>
Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/20360
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agorealtek: dsa: Fix name of RTL93xx switch_ops
Sven Eckelmann [Fri, 10 Oct 2025 09:49:56 +0000 (11:49 +0200)] 
realtek: dsa: Fix name of RTL93xx switch_ops

The RTL930x and the RTL931x SoC families share the same struct
dsa_switch_ops. This should be represented in the name of the object.

Suggested-by: Felix Baumann <felix.bau@gmx.de>
Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/20360
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agorealtek: dsa: Add support for port isolation
Sven Eckelmann [Thu, 9 Oct 2025 12:59:16 +0000 (14:59 +0200)] 
realtek: dsa: Add support for port isolation

If two ports are in isolation mode then these ports are not supposed to be
able to communicate between each other. This can be achieved in the realtek
switch by removing the other isolated port(s) from the port list of an
isolated port.

Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/20360
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agorealtek: dsa: Drop unused traffic_get helpers
Sven Eckelmann [Thu, 9 Oct 2025 13:01:06 +0000 (15:01 +0200)] 
realtek: dsa: Drop unused traffic_get helpers

The realtek driver is now in full control of the port matrix. It doesn't
need to rely on the current state of the HW to adjust it. The new port
matrix is calculated automatically using rtldsa_update_port_member() and
then written to the registers/tables.

Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/20360
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agorealtek: dsa: Simplify port member handling
Sven Eckelmann [Thu, 9 Oct 2025 14:28:47 +0000 (16:28 +0200)] 
realtek: dsa: Simplify port member handling

It is not necessary to read the back the current port members for a
specific port for enabling/disabling a port. All these members which are
expected to be in the HW port matrix of an active port are already stored
in the port specific member "pm".

And when a port is disabled, the port must no longer forwarding traffic to
any other port. Just writing 0 to the members is therefore good enough and
no read-back of the old HW state is necessary.

Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/20360
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agorealtek: dsa: Share port member configuration code
Sven Eckelmann [Thu, 9 Oct 2025 12:56:39 +0000 (14:56 +0200)] 
realtek: dsa: Share port member configuration code

The leave and join callbacks for DSA were using their own implementation of
the port member handling code. This makes the implementation of additional
functionality based on the port member matrix complicated because it needs
to be implemented in both places and also in the new code path for the
introduced feature.

By sharing this code, it is much easier to guarantee that all code paths
behave the same. This approach is already implemented by other DSA drivers
like qca8k, mt7530 or ksz.

Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/20360
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agorealtek: Switch booleans in rtl838x_port to single bits
Sven Eckelmann [Thu, 9 Oct 2025 11:56:19 +0000 (13:56 +0200)] 
realtek: Switch booleans in rtl838x_port to single bits

In upstream kernel, it is not well received to use a lot of simple booleans
in structs. It is preferred to use 1-bit bitfields [1] and consolidate the
booleans together.

[1] https://www.kernel.org/doc/html/v6.16/process/coding-style.html#using-bool

Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/20360
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agoipq-wifi: add Yuncore AX850
Robert Marko [Sun, 12 Oct 2025 09:59:34 +0000 (11:59 +0200)] 
ipq-wifi: add Yuncore AX850

It seems that adding Yuncore AX850 was missed during the board support,
and this breaks buildbots for ipq50xx with:
ERROR: unable to select packages:
  ipq-wifi-yuncore_ax850 (no such package):
    required by: world[ipq-wifi-yuncore_ax850]
make[4]: *** [/builder/shared-workdir/build/include/image.mk:396: target-dir-90b51871] Error 1
make[4]: *** Waiting for unfinished jobs....

So, add the required meta package.

Fixes: 5d2994a73e20 ("qualcommax: ipq50xx: Add support for Yuncore AX850")
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agoipq-wifi: update to Git HEAD (2025-10-09)
Robert Marko [Sun, 12 Oct 2025 09:49:16 +0000 (11:49 +0200)] 
ipq-wifi: update to Git HEAD (2025-10-09)

20e5a5a32656 qca4019: add Linksys MR6350 BDF

Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agokernel: add missing cpe id for linux
Florian Eckert [Tue, 30 Sep 2025 12:48:36 +0000 (14:48 +0200)] 
kernel: add missing cpe id for linux

No 'PKG_CPE_ID' is stored for the kernel package Makefile. This commit
adds this.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
3 weeks agouboot-rockchip: add u-boot device tree back for Radxa ROCK 4D 20376/head
Tianling Shen [Sat, 11 Oct 2025 04:38:22 +0000 (12:38 +0800)] 
uboot-rockchip: add u-boot device tree back for Radxa ROCK 4D

This was removed by mistake.

Fixes: 292cca0e5c72 ("uboot-rockchip: Update to 2025.10")
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20376
Signed-off-by: Nick Hainke <vincent@systemli.org>
3 weeks agouboot-mvebu: update to version 2025.10 20380/head
Stefan Kalscheuer [Sat, 11 Oct 2025 09:45:34 +0000 (11:45 +0200)] 
uboot-mvebu: update to version 2025.10

Update package to the latest stable version.
All patches automatically refreshed.

Signed-off-by: Stefan Kalscheuer <stefan@stklcode.de>
Link: https://github.com/openwrt/openwrt/pull/20380
Signed-off-by: Nick Hainke <vincent@systemli.org>
3 weeks agotools/mkimage: update to version 2025.10 20379/head
Stefan Kalscheuer [Sat, 11 Oct 2025 15:54:34 +0000 (17:54 +0200)] 
tools/mkimage: update to version 2025.10

Update package to the latest stable version.
All patches need to be updated.

Signed-off-by: Stefan Kalscheuer <stefan@stklcode.de>
Link: https://github.com/openwrt/openwrt/pull/20379
Signed-off-by: Nick Hainke <vincent@systemli.org>
3 weeks agouboot-tools: update to version 2025.10
Stefan Kalscheuer [Sat, 11 Oct 2025 11:01:34 +0000 (13:01 +0200)] 
uboot-tools: update to version 2025.10

Update package to the latest stable version.
All patches automatically refreshed.

Signed-off-by: Stefan Kalscheuer <stefan@stklcode.de>
Link: https://github.com/openwrt/openwrt/pull/20379
Signed-off-by: Nick Hainke <vincent@systemli.org>