1
0
Fork 0
forked from mirror/openwrt
Commit graph

67944 commits

Author SHA1 Message Date
Markus Stockhausen
8b969f7e27
realtek: mdio: drop realtek,smi-address property
A phy node in the dts has two properties:

- reg: the (overall) address of the phy
- realtek,smi-address: the address of the phy on its bus

This notation does not align with upstream. reg should be the address
of the phy on its bus. But where to get the overall address that is
needed for register writes to the hardware?

Luckily the mdio driver and the hardware design sync the ports and
phys (overall) addresses. Thus derive missing data from the dts port
nodes (below ethernet-ports). To realize this

- carve out the port mapping into a separate function to align with
  the upstream driver.
- do more sanity checks and catch more inconsistencies
- raise more/better errors via dev_err_probe()

With this commit all dts files must be rewritten as follows:

- if phy has no realtek,smi-address leave it as is
- if phy has realtek,smi-address, write that value into the reg
  property and drop realtek,smi-address.

Remark: This commit might bring some confusion about the phyXX and
phy@YY and <reg=YY> naming convention. To be somehow consistent with
the current port/phy identifiers from now on the dts will have:

- phyXX: where XX matches the port number
- phy@YY: where YY is the phy address on the mdio bus
- <reg=YY>: where YY is the phy address on the mdio bus

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22236
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2026-03-21 22:26:02 +01:00
Markus Stockhausen
4c92254fd3
realtek: dts: relocate/retype switch node
The switch node is currently located outside of the switchcore@1b000000
tree. This makes it hard to find when referencing from other nodes in
this tree. Make it a subnode of switchcore and "retype" it to
ethernet-switch like upstream does.

This is not perfectly aligned as upstream just mixes the switchcore and
the ethernet-switch node into one. But this will be future work for
downstream.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22236
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2026-03-21 22:26:02 +01:00
Markus Stockhausen
f5ec3f2df2
realtek: dts: normalize Zyxel XGS1x10 DTS
The Zyxel XGS1x10 DTS overzealously tries to avoid redundancies. For
this the phy24/phy25 definitions were split into a common and a device
specific part. Understanding how these phys are defined is therefore
a little bit tricky. Add a little bit of redundancy to make the
definitions easier to read and understand in a single location.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22236
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2026-03-21 22:26:01 +01:00
Fire Chen
04308ad284
uboot-envtools: ipq60xx: add support for JDCloud devices
Add uboot-envtools support for JDCloud RE-CS-02 RE-CS-07 and RE-SS-01

Signed-off-by: Fire Chen <firedevel@icloud.com>
Link: https://github.com/openwrt/openwrt/pull/21787
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2026-03-21 22:22:39 +01:00
Fire Chen
0c068c6c2f
qualcommax: ipq60xx: add Link NN6000v1/v2 support
NN6000v1 Specifications:
SoC:     Qualcomm IPQ6000 1.2GHz
RAM:     K4B4G1646E-BCMA 512MiB x2 = 1 GiB
Flash:   FORESEE 256GB eMMC
ETH:     QCA8075 (2x LAN, 1x WAN)
WLAN1:   QCN5022 2.4GHz AX 2x2
WLAN2:   QCN5052 5GHz AX 2x2
Power:   DC 12V
Button:  Reset, Wps
USB:     1x 3.0

NN6000v2 Specifications:
SoC:     Qualcomm IPQ6000 1.2GHz
RAM:     MT41K512M16VRN-107 IT:P 1GiB x2 = 2 GiB
Flash:   FORESEE 256GB eMMC
ETH:     QCA8075 (4x LAN, 1x WAN)
WLAN1:   QCN5022 2.4GHz AX 2x2
WLAN2:   QCN5052 5GHz AX 2x2
Power:   DC 12V
Button:  Reset, Wps
USB:     1x 3.0

Install via UART:
  1. Download the initramfs image, rename it to
     initramfs.itb, host it with the tftp server.
  2. Interrupt U-Boot and run these commands:
     tftpboot initramfs.itb
     bootm
  3. After openwrt boots up, use scp or luci web
     to upload sysupgrade.bin to upgrade.
Install via Uboot WebUI:
   - Only work when you flash a custom uboot with webui
   - Push the reset button for 5 seconds, then use broswer to
     access http://192.168.1.1/, then upload factory.bin.

Signed-off-by: Fire Chen <firedevel@icloud.com>
Link: https://github.com/openwrt/openwrt/pull/21787
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2026-03-21 22:22:39 +01:00
Nick Hainke
a47208bd96 hostapd: update to 2026-03-19
Remove upstreamed patch:
- 001-PASN-Fix-the-compilation-errors-without-CONFIG_PASN.patch

Add patch:
- 001-RSN-Fix-pmksa_cache_flush-prototype-mismatch-in-non-.patch

Link: https://github.com/openwrt/openwrt/pull/22517
Signed-off-by: Nick Hainke <vincent@systemli.org>
2026-03-21 19:29:23 +01:00
Vladimir Palevich
fde5d2e210 hostapd: fix memory leak in rrm ubus interface
Add missing wpabuf_free calls to the hostapd_rrm_nr_set and
hostapd_rrm_beacon_req functions.

Signed-off-by: Vladimir Palevich <palevichva@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22538
Signed-off-by: Nick Hainke <vincent@systemli.org>
2026-03-21 18:58:03 +01:00
Zoltan HERPAI
283c45f087 sunxi: add PineCube support
PineCube is a low-powered, open source IP camera with OV5640.

Specifications:
SoC:      Allwinner S3 Cortex-A7
DRAM:     128MB DDR3 integrated
Power:    microUSB
Storage:  microSD / 16MByte SPI flash
USB:      1x 2.0
Network:  10/100Mbit ethernet with passive PoE (4-18V)
Wireless: RTL8189ES (unsupported)
Debug:    Serial UART on 26-pin GPIO
Features: 5 mpx OV5640 camera, microphone, IR LEDs

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

Link: https://github.com/openwrt/openwrt/pull/22422
Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2026-03-21 16:43:47 +01:00
Rosen Penev
8f33ecf214
ipq40xx: add CONFIG_NVMEM_BLOCK
NVMEM on MMC was added in dts but the corresponding option was not added
to the config.

Fixes: ee5999c ("treewide: linksys: use nvmem MAC for hw_mac_addr")
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22539
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2026-03-21 10:19:54 +01:00
Shiji Yang
b9299ae0e7
ramips: kernel: drop ip_fast_csum() dead loop fix
The issue described in the patch has been fixed by commit
604355e8c4 ("kernel: fix fraglist GRO on linux 6.12")

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22525
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2026-03-20 21:55:20 +01:00
Shiji Yang
7ba45de827 ramips: mt76x8: disable ICPlus PHY driver
The initial mt76x8 kernel config file was inherited from mt7620
sub-target. However, This SoC series doesn't support any external
PHY. We can disable CONFIG_ICPLUS_PHY symbol to reduce kernel size.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22519
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-20 13:21:46 +01:00
Lorenzo Bianconi
c5a8ddd0ac
airoha: backport some missing airoha_eth upstream patches
Backport more upstream patch to include all the fixes pushed upstream and
add all the preliminary patch for multi-serdes support.

While at it also move 2 patch in the 6xx numbering to the 000-1xx backport
numbering to keep things tidy.

All the affected patch manually and automatically refreshed.

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
[ add comment, renumber patch, add more patch, fix PCS patch ]
Link: https://github.com/openwrt/openwrt/pull/22479
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-03-20 13:21:24 +01:00
Christian Marangi
25f92aaae1
generic: backport new field_prep()/get() helper for non-const bitmask
Backport new field_prep()/get() particularly useful to handle case where a
bitmask is not const and FIELD_PREP can't be used. This permit to replace
manual shift with these macro. (also needed to permit backport of some
patch without modification)

Backport reworked patch that drop the local field_prep()/get() macro in
favor of the global one.

Link: https://github.com/openwrt/openwrt/pull/22479
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-03-20 13:21:23 +01:00
Christian Marangi
9b21478d96
airoha: renumber ASoC and PCS patch for more backport patch
Renumber ASoC and PCS patch to 2xx and 3xx numbering to leave space for
more backport patch in the 000-1xx numbering.

Link: https://github.com/openwrt/openwrt/pull/22479
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-03-20 13:21:23 +01:00
Edward Chow
cf171288a0 ath79: untag to cpu ports on qxwlan_e558-v2
These targets seems to be left over, so changed as other targets
covered by commit d35d92a .

Signed-off-by: Edward Chow <equu@openmail.cc>
Link: https://github.com/openwrt/openwrt/pull/22510
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-20 13:15:25 +01:00
Andrew Sim
fc5aed2ff2
wifi-scripts: ucode: use correct antenna count for SU beamformee
The hostapd configuration for SU-BEAMFORMEE was incorrectly using the
beamformer antenna count instead of the beamformee antenna count for the
[BF-ANTENNA-N] capability string.

Fix this by using config.beamformee_antennas instead.

Signed-off-by: Andrew Sim <andrewsimz@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22511
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-03-20 11:09:26 +01:00
Lorenzo Bianconi
1f41e2ce27
airoha: Add PCIe sub-nodes for NPU wifi offloading
Introduce missing PCIe sub-nodes required to enable NPU wifi offloading
on Airoha AN7581 SoC.

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Link: https://github.com/openwrt/openwrt/pull/22516
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-03-20 11:08:54 +01:00
Edward Chow
a1f5273d27 mac80211: ath9k: patch hw.c for gpio mask from dt
"qca,gpio-mask" used to be read between ath9k_hw_init() and
ath9k_init_queues(). After 12913c3c56
it is read in ath9k_of_init(), but it gets overwritten by
ath9k_gpio_cap_init() during the call of ath9k_hw_init(), and causes
https://github.com/openwrt/openwrt/issues/22340

If keeping the most of 12913c3c56,
ath9k_gpio_cap_init() could be patched to keep the existing non-zero
gpio mask (coming from device tree).

Tested on Netgear WNDR4500 v3:
[   22.558083] ath9k 0000:00:00.0: enabling device (0000 -> 0002)
[   22.569548] ath: phy1: Use overridden gpio mask 0xf6ff

Signed-off-by: Edward Chow <equu@openmail.cc>
Link: https://github.com/openwrt/openwrt/pull/22376
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-19 22:10:03 +01:00
Fabrice Fontaine
44d06e3bee
tools/erofs-utils: assign PKG_CPE_ID
cpe:/a:erofs-utils_project:erofs-utils is the correct CPE ID for erofs-utils:
https://nvd.nist.gov/products/cpe/search/results?keyword=cpe:2.3🅰️erofs-utils_project:erofs-utils

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22425
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-03-19 18:05:35 +01:00
Rustam Adilov
1af29dbb4f realtek: clk: add rtl9607 clock support
This commit adds support for RTL9607C/RTL8198D clocks to the existing
clk-rtl83xx driver. Setting clock rates is not supported due to
lack of knowledge on this topic at the moment. Clocks for CPU1, SRAM
and SPI can also be calculated but not included in this commit.

Since the registers, calculations are widely different to RTL83XX it
was decide to have different clk_ops for RTL960X.

The code was partly based on naseef's work with some changes to
integrate it into the clk-rtl83xx driver.

Tested-by: Ahmed Naseef <naseefkm@gmail.com>
Signed-off-by: Rustam Adilov <adilov@tutamail.com>
Link: https://github.com/openwrt/openwrt/pull/22080
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-19 17:51:56 +01:00
Nick Hainke
10db6fc26e base-files: sysupgrade: avoid cat missing conffiles_static
If the user removes all /lib/apk/packages/*.conffiles* files to prevent
sysupgrade from preserving configuration, the glob no longer matches and
sysupgrade ends up calling cat on a non-existent path:

  cat: can't open '/lib/apk/packages/*.conffiles_static': No such file or directory

Fix this by using find cmd.

Signed-off-by: Nick Hainke <vincent@systemli.org>
Link: https://github.com/openwrt/openwrt/pull/22071
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-19 17:50:12 +01:00
Edward Chow
d35d92a541 ath79: untag to cpu ports on 2-cpu-port devices by default
Currently, devices having two cpu ports to the switch managed by swconfig,
especally those with qca955x, line tplink archer c7 v2 and linksys ea4500 v3,
use vlan on different cpu port to separate networks by default. (e.g. eth1.1
for lan, eth0.2 for wan)

However, untagging to these vlans cpu ports, and limiting vlans in the switch
on these devices could effectively offload the expense to process vlan tag from
cpu to the switch, and increase the throughput of lan <-> wan ipoe routing.

Tested on my tplink tl-wdr4900 v2, where ucidef_add_switch "switch0"
"0u@eth1" "2:lan" "3:lan" "4:lan" "5:lan" "6u@eth0" "1:wan" finally generates
on /etc/config/network:

config device
	option name 'br-lan'
	option type 'bridge'
	list ports 'eth1'

config interface 'lan'
	option device 'br-lan'
	option proto 'static'
	list ipaddr '192.168.1.1/24'
	option ip6assign '60'

config interface 'wan'
	option device 'eth0'
	option proto 'dhcp'

config interface 'wan6'
	option device 'eth0'
	option proto 'dhcpv6'

config switch
	option name 'switch0'
	option reset '1'
	option enable_vlan '1'

config switch_vlan
	option device 'switch0'
	option vlan '1'
	option ports '2 3 4 5 0'

config switch_vlan
	option device 'switch0'
	option vlan '2'
	option ports '1 6'

and the throughput of lan <-> wan ipoe routing with software flow offload
increases from around
[850 Mbps](https://openwrt.org/toh/tp-link/archer-c5-c7-wdr7500#nat_performance)
to 900 Mbps.

Signed-off-by: Edward Chow <equu@openmail.cc>
Link: https://github.com/openwrt/openwrt/pull/19444
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-19 17:49:27 +01:00
David Bauer
49715596f9 mt76: remove incompatible patch
This patch became incompatible as the depending patches have been
reverted.

Signed-off-by: David Bauer <mail@david-bauer.net>
2026-03-19 17:30:43 +01:00
Felix Fietkau
2f1537443f mt76: update to Git HEAD (2026-03-19)
b7d6e434382a wifi: mt76: add offchannel check to mt76_roc_complete
35e79a5bb199 wifi: mt76: check chanctx before restoring channel after ROC
42955db08adf wifi: mt76: abort ROC on chanctx changes
273c6f60cc8e wifi: mt76: optimize ROC for same-channel case
b451ffe2c0c1 wifi: mt76: send nullfunc PS frames on offchannel transitions
757d4404487d wifi: mt76: flush pending TX before channel switch
da6d90e4f66a wifi: mt76: route nullfunc frames to PSD/ALTX queue
447cc8c89c17 wifi: mt76: wait for firmware TX completion of mgmt frames before channel switch
fb6a584e7119 wifi: mt76: add per-link beacon monitoring for MLO
ab6abc97132b wifi: mt76: fix scan work requeue race with spinlock
d2b1e1aa8ec4 wifi: mt76: do not free skb on ieee80211_tx_prepare_skb failure
94017d560bad wifi: mt76: mt7996: Remove link pointer dependency in mt7996_mac_sta_remove_links()
754e3af4d131 wifi: mt76: mt7996: Fix deflink lookup removing links
42964c80d2d7 wifi: mt76: mt7996: Fix deflink lookup adding links
a87f63e269e4 wifi: mt76: mt7996: Remove unnecessary phy filed in mt7996_vif_link struct
ca058da77830 wifi: mt76: mt792x: describe USB WFSYS reset with a descriptor
2e2962f9e19e wifi: mt76: mt792x: fix mt7925u USB WFSYS reset handling
82c56dd7c1ec wifi: mt76: mt7996: fix RRO EMU configuration
616439131793 wifi: mt76: mt7996: support critical packet mode for MT7990 chipsets
9b6cc2ba6625 wifi: mt76: mt7996: update WFSYS reset flow for MT7990 chipsets
4edbdf38c68e wifi: mt76: mt7996: adjust timeout value for boot-up calibration commands
b4ec73b3355e wifi: mt76: mt7996: fix the temporary buffer for calibration-free data
3a16c78c9e06 wifi: mt76: mt7996: fix issues with manually triggered radar detection
bada63e285ad wifi: mt76: mt7915: set mt76 specific PS flag
99e8e3cb9804 wifi: mt76: mt7925: pass mlink to sta_amsdu_tlv()
f716cf9b6e16 wifi: mt76: mt7925: pass WCID indices to bss_basic_tlv()
aac117362eed wifi: mt76: mt7925: pass mlink and mconf to sta_mld_tlv()
dce1e6e4ceca wifi: mt76: mt7925: pass mlink to mcu_sta_update()
b7fee4e5e5b4 wifi: mt76: mt7925: resolve primary mlink via def_wcid
130184621d20 wifi: mt76: mt7925: pass mlink to mac_link_sta_remove()
ea1a80f7cf5e wifi: mt76: mt7925: pass mlink to sta_hdr_trans_tlv()
5eb53c948beb wifi: mt76: mt7925: validate mlink in sta_hdr_trans_tlv()
6e66c08ac0c6 wifi: mt76: mt7925: pass mlink to wtbl_update_hdr_trans()
826ecd386bf0 wifi: mt76: mt7925: pass mlink to set_link_key()
3b1e74d14b4e wifi: mt76: mt7925: resolve link after acquiring mt76 mutex
6c64c41fccec wifi: mt76: mt7925: pass mconf and mlink to wtbl_update_hdr_trans()
215e122415d4 wifi: mt76: mt7925: make WCID cleanup unconditional in sta_remove_links()
98cb4c0f5d7c wifi: mt76: mt7925: unwind WCID setup on link STA add failure
471d6b3404c8 wifi: mt76: mt7925: drop WCID reinit after publish
9cbcc7e59d32 wifi: mt76: mt7925: move WCID teardown into link_sta_remove()
9fbe29ba429e wifi: mt76: mt7925: switch link STA allocation to RCU lifetime
8be727730640 wifi: mt76: mt7925: publish msta->link after successful link add
2cdcad1bb688 wifi: mt76: mt7925: host-only unwind published links on add failure
24c298a04f09 Revert "wifi: mt76: mt7915: set mt76 specific PS flag"
ca81c5c18ec8 Revert "wifi: mt76: mt7915: sync station power save state"
39c960c3ada5 wifi: mt76: mt7996: fix frequency separation for station STR mode

Fixes: https://github.com/openwrt/mt76/issues/1068
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-03-19 13:35:00 +01:00
Rosen Penev
8e711f68c4 mac80211: rt2x00: remove swap binding
No longer used. If swapping is desired, ralink,mtd-eeprom can be used.
Otherwise nvmem.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22207
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-19 11:01:43 +01:00
Rosen Penev
926991329b lantiq: convert ralink,mtd-eeprom to nvmem
These devices use the binding + eeprom-swap. Turns out the reason swap
is needed is because the binding wrongly swaps the data on big endian
hosts. NVMEM doesn't do this and thus just works.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22207
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-19 11:01:43 +01:00
Felix Fietkau
a19cdb1a95 hostapd: ubus: fix parent-tsf size in beacon report notification
parent_tsf in struct rrm_measurement_beacon_report is le32 (32-bit),
but was being added with blobmsg_add_u16, truncating the value.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-03-19 10:57:26 +01:00
Felix Fietkau
1d98101743 hostapd: ubus: add missing token to beacon report notification
The beacon measurement token was not included in the ubus beacon-report
notification, causing consumers that need the token (e.g. for constructing
Beacon Metrics Response TLVs) to receive null.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-03-19 10:57:26 +01:00
Felix Fietkau
a34c3baf56 mac80211: fix reporting MLO link ID for non-MLO STAs on MLO AP
Add missing information on station dump/get

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-03-19 10:57:26 +01:00
Felix Fietkau
5aea8e8916 hostapd: fix type mismatch in BSS transition responses
Use blobmsg_add_u32 for non-bool fields in order to avoid wrong
interpretations of the data on JSON/ucode conversion.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-03-19 10:57:26 +01:00
Felix Fietkau
c5564ba071 hostapd: ubus: fix beacon request reporting detail field size
The Reporting Detail value is a 1-byte field, but was written as le16,
producing a 2-byte write that also contradicts the length field of 1
in the subelement header.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-03-19 10:57:07 +01:00
Felix Fietkau
0208089ded hostapd: ubus: fix beacon request buffer overflow with reporting detail
The reporting detail subelement (up to 3 bytes) was not accounted for
in the wpabuf allocation, causing a crash when reporting_detail is set
to a valid value (0, 1, or 2).

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-03-19 10:51:28 +01:00
Rosen Penev
06125fc10d ramips: cpe200: fix eeprom size
A size of 600 is incomplete in that calibration data is not included,
resulting in low TX power.

Fixes: 64dae105 ("ramips: mt76x8: add support for Yuncore CPE200")
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22459
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-19 10:46:49 +01:00
Shine
c949d0e6c6 wifi-scripts: fix hostapd config for 160MHz
After 02e2065203, it can happen that both,
[VHT160-80PLUS80] and [VHT160] are added to the vht_capab option in
an AP's hostapd.conf, which would cause a failure to start the AP.

Fix the logic in order to prevent such misconfiguration.

Fixes: #22481
Signed-off-by: Shine <4c.fce2@proton.me>
Link: https://github.com/openwrt/openwrt/pull/22482
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-19 10:44:24 +01:00
Rosen Penev
de08715d7f ramips: dir-3040-a1: fix MAC address assignment
The dtsi used handles a bunch of non-DBDC platforms where the
assignments are correct. The 3040-a1 is different as there are 3 instead
of 2 wifi interfaces and WAN needs to be incremented by 1.

Remove userspace wifi assignmwent which was needed before per band nvmem
was supported.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21977
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-18 12:18:27 +01:00
Christian Marangi
8364cb4baa
airoha: an7581: fix interface selection script for Nokia Valyrian
While rebasing, a typo was made where the ';;' terminator was omitted in
the 02_network script. Add it to restore script functionality.

Fixes: e210d994fa ("airoha: an7581: add Nokia Valyrian support")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-03-18 09:29:01 +01:00
Chukun Pan
348f716408 mediatek: update Tenda BE12 Pro support
- Update network port names based on the shell

- Fix boot log errors:
  OF: /soc/pcie@11280000/pcie@0,0: Missing device_type

- Match vendor firmware Ethernet and wireless MAC addresses

  LAN MAC 50:xx:xx:xx:xx:60
  WAN MAC 50:xx:xx:xx:xx:61
  2G  MAC 50:xx:xx:xx:xx:63
  5G  MAC 50:xx:xx:xx:xx:65

Fixes: 7d79346581 ("mediatek: filogic: add support for Tenda BE12 Pro")
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Link: https://github.com/openwrt/openwrt/pull/22060
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
2026-03-18 13:59:33 +08:00
Christian Marangi
e210d994fa
airoha: an7581: add Nokia Valyrian support
Add support for Nokia Valyrian based on Airoha AN7581 SoC.

Device specification
--------------------
SoC Type:	Airoha AN7581
RAM:		2x DDR4 Nanya NT5AD256M16E4-JR (1GB)
Flash:		eMMC Macronix MX52LM08A11XVW (1GB)
Ethernet:	3x gigabit via AN7581, 1x 10g via AS21x1x, 1x SFP cage
Wi-Fi:		MT7996 - BE19000
LEDs:		11 LED via 2x 74HC595 shift register
Button:		Reset, WPS, WiFi
USB ports:	1x 2.0
Miscellaneous:  1x Power Monitor via RTQ6059, 2x FXS port

Device is unfused and is originally flashed with Airoha SDK bootloader
that require signed images.

Bootloader is username/password protected and use the leaked auth combo
that can be found online.

From the bootloadet instruction on how to flash custom bootloader are:
1. mmc erase 0 0x800
2. tftpboot 192.168.1.10:airoha/an7581/openwrt-airoha-an7581-nokia_valyrian-preloader.bin
3. mmc write $loadaddr 0x4 0xfc
4. tftpboot 192.168.1.10:airoha/an7581/openwrt-airoha-an7581-nokia_valyrian-bl31-uboot.fip
5. mmc write $loadaddr 0x100 0x700

It's also possible to use the Emergency Recovery procedure:
From powered OFF device:
1. Keep the reset button pressed (middle button)
2. Power on the device
3. Notice the "Press x" prompt
4. Press x
5. Notice the "C" char waiting for XMODEM load
6. Load the preloader binary with XMODEM protocol
7. Notice the "Press x to load BL31 + U-Boot FIP"
8. Press x
9. Notice the "C" char waiting for XMODEM load
10. Load the fip binary with XMODEM protocol
11. You are now in U-Boot loaded from serial
12. Follow normal procedure to flash bootloader

Due to BOOTROM limitation. the device can't have a standard GPT table
implementation. Because of this fixed-partitions are used to handle this.

U-Boot still doesn't have support for this (it's planned) and currently to flash
and load and image it's needed to write and read from static address in eMMC.

The GPT partition table follow Prpl guidelines with dual partition table with
kernel and rootfs split.

The address for kernel is 0xb00000 and the address for rootfs is 0x1b00000.

Link: https://github.com/openwrt/openwrt/pull/21761
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-03-17 14:44:44 +01:00
Christian Marangi
103e9aec15
uboot-airoha: Add support for Nokia Valyrian
Add support for Nokia Valyrian device that implement similar spec of an
Airoha AN7581 RFB board.

Link: https://github.com/openwrt/openwrt/pull/21761
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-03-17 14:44:44 +01:00
Paweł Owoc
74d120c22d linux-firmware: ath11k: add IPQ5018, IPQ8074, QCN9074
Use linux-firmware repository for IPQ5018, IPQ8074 and QCN9074.
All officially released firmware versions are available there.

Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21833
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-17 14:42:08 +01:00
Álvaro Fernández Rojas
df45ed2da0 odhcpd: update to Git HEAD (2026-03-16)
160e5fa3957c odhcpd: ensure zero padding on DNSSL
2a316dbfd798 odhcpd: ignore NULL in dhcpv4_free_lease() stub
b960d4cbe27b ubus: fix truncated field in DHCPv6 lease query
4e26e1361335 dhcpv4: fix avl_delete on leases not in avl tree
ea5af5bffa2d dhcpv4: fix segfault when disabling interface

13cec018c0...160e5fa395

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22454
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-17 02:30:20 +01:00
Eric Fahlgren
b37cbcf50a iptables: prefer nft variants over zz-legacy
Set the default variant on "iptables-nft" and "ip6tables-nft" to
make them the preferred package when "iptables" is installed as
a dependency.

Link: https://github.com/openwrt/packages/issues/28815
Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22448
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-17 02:17:57 +01:00
Miika Sundström
02e2065203 wifi-scripts: fix [VHT160]/[VHT160-80PLUS80] usage
Don't set vht_capab [VHT160] or [VHT160-80PLUS80] when the AP is not
configured to operate in 160 MHz. Fixes an issue degrading station
upload speed.

Fixes: https://github.com/openwrt/openwrt/issues/22435
Signed-off-by: Miika Sundström <mitasun@utu.fi>
Link: https://github.com/openwrt/openwrt/pull/22436
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-17 02:14:43 +01:00
Esat Yiğithan GÖKTOPRAK
d97381aff3 ramips: fix for Keenetic KN-1910
Set nand flash for KN-1910

Sysupgrade or any other method i tried (asu, owut) not working without it. Tested with a local build.

Signed-off-by: Esat Yiğithan GÖKTOPRAK <eygoktoprak@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22311
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-17 02:02:20 +01:00
Oliver Sedlbauer
a15b224e83 ramips: mt76x8: fix bootcount init script file permissions
The bootcount init script is missing the executable bit (644 instead of 755),
causing the script to not be executable:

  /etc/preinit: line 44: /etc/init.d/bootcount: Permission denied

Fixes: c3b8108a2b ("ramips: Add support for Xiaomi MiWiFi 3A")
Signed-off-by: Oliver Sedlbauer <os@dev.tdt.de>
Link: https://github.com/openwrt/openwrt/pull/22446
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-17 01:34:17 +01:00
Hauke Mehrtens
d405685b44 lantiq: adapt gpio-stp-xway node name to get clock
The MIPS code assigns the clock node based on the device tree node name.
This name was renamed with kernel 6.12.58 and v6.6.117. Adapt our out of
tree device tree files to this rename to fix loading the STP GPIO
driver.

Without this fix the driver fails like this:
```
[    0.320000] gpio-stp-xway 1e100bb0.stp: Failed to get clock
[    0.330000] gpio-stp-xway 1e100bb0.stp: probe with driver gpio-stp-xway failed with error -2
```

Link: https://git.kernel.org/linus/b0d04fe6a633ada2c7bc1b5ddd011cbd85961868
Fixes: https://github.com/openwrt/openwrt/issues/21697
Co-Authored-By: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22444
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-17 01:13:48 +01:00
David Bauer
045deec7e9 wifi: mt76: mt7915: set mt76 specific PS flag
mt76 tracks the PSM state of a sta internally with a wcid flag. TX to
such clients is skipped based on the presence of this flag.

This flag was not added to the PS state notify handler for MT7915 chips.
Without this flag, mt76 queues pending frames to the hardware,
accounting for airtime when a PSM notification is received while in a TX
iteration.

Set the PS flag for the STA WCID to prevent this from happening. TX gets
skipped in presence of this flag.

Link: https://patchwork.kernel.org/project/linux-wireless/patch/20260313112502.2026974-1-mail@david-bauer.net/

Signed-off-by: David Bauer <mail@david-bauer.net>
2026-03-16 21:17:33 +01:00
Kenneth Kasilag
7d2c244646 airoha: rename kmod-pwm-an7581 to kmod-pwm-airoha
Certain targets for an7581 and an7583 referred to kmod-pwm-airoha;
however in the target modules makefile the module is referred to
as kmod-pwm-an7581, causing buildbot to fail.

Change the name of kmod-pwm-an7581 to kmod-pwm-airoha to resolve this.

Signed-off-by: Kenneth Kasilag <kenneth@kasilag.me>
Link: https://github.com/openwrt/openwrt/pull/22445
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-16 17:42:17 +01:00
Hannu Nyman
598c4b7fde apk: add help text for 'apk add --force-reinstall'
Add a help text for the new --force-reinstall option, so that users
will actually find the new option.

(Also refresh patches)

Improves: 91cff1a "apk: add --force-reinstall option"

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Link: https://github.com/openwrt/openwrt/pull/22426
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-16 14:52:56 +01:00
Andrew LaMarche
708883c9d2 airoha: an7581: fix w1700k fan script
W1700K fan script is missing the #!/bin/sh /etc/rc.common shebang and
requires execution bits set. Also, set the fallback to hwmon 3 instead
of 5, since the new RTL PHY driver was not merged.

Signed-off-by: Andrew LaMarche <andrewjlamarche@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22391
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-16 09:42:13 +01:00