Compare commits

...
1654 Commits
Author SHA1 Message Date
Tianling Shen efdeaff189 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2026-07-22 11:10:30 +08:00
Hauke Mehrtens b421c63071 rpcd: cherry pick patches from main
This fixes multiple bugs, some might be security relevant.

Link: https://github.com/openwrt/openwrt/pull/24330
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-07-21 21:52:08 +02:00
Hauke Mehrtens 6cfbe534c2 mac80211: update to version 6.12.96
This contains the following commits:
```
git log --oneline   v6.12.61...v6.12.96 -- drivers/net/wireless/ net/mac80211/ net/wireless/
2b100a6089ac wifi: iwlwifi: mvm: fix race condition in PTP removal
53fed4061a09 wifi: rtw88: usb: fix memory leaks on USB write failures
81e2d4508b35 wifi: rtw88: increase TX report timeout to fix race condition
9a6e57ffe49e wifi: rtlwifi: rtl8821ae: Fix C2H bit location in RX descriptor
7b2e62b9080b wifi: ath11k: fix warning when unbinding
fd92eb81c1b5 wifi: mt76: mt7925: don't disable AP BSS when removing TDLS peer
033b21aa6d03 wifi: mt76: mt76x2u: Add support for ELECOM WDC-867SU3S
b4faaa617af3 wifi: mt76: mt7921: fix potential deadlock in mt7921_roc_abort_sync
0f0c75a1f48d wifi: mt76: mt7921: fix a potential scan no APs
c006a9664a1a wifi: mt76: mt7921: avoid undesired changes of the preset regulatory domain
30c3fa80f423 wifi: nl80211: reject oversized EMA RNR lists
f6d3dc8e8492 wifi: mac80211: limit injected antenna index in ieee80211_parse_tx_radiotap
1f573e17bcb7 wifi: mac80211: fix MLE defragmentation
17c9e9504974 wifi: ath11k: fix peer resolution on rx path when peer_id=0
4c6a72aae687 wifi: ath10k: skip WMI and beacon transmission when device is wedged
03ac1d6780d0 wifi: ath11k: fix error path leak in ath11k_tm_cmd_wmi_ftm()
008955b13484 wifi: ath11k: fix error path leaks in some WMI WOW calls
f7d395dc5008 wifi: mac80211: consume only present negotiated TTLM maps
67915715fd38 wifi: cfg80211: advance loop vars in cfg80211_merge_profile()
5a999541a290 wifi: ath11k: clear shared SRNG pointer state on restart
a5bc748e071d net, treewide: define and use MAC_ADDR_STR_LEN
85e6c610f41a wifi: ath10k: fix station lookup failure during disconnect
9d10225af656 wifi: mac80211: handle VHT EXT NSS in ieee80211_determine_our_sta_mode()
2e0e5a43ed12 wifi: brcmfmac: Fix error pointer dereference
1eb4f8c2225b wifi: rtw89: phy: fix uninitialized variable access in rtw89_phy_cfo_set_crystal_cap()
64c481e33a55 wifi: mt76: mt7921: fix 6GHz regulatory update on connection
180182a3f23f wifi: mt76: mt7996: fix use-after-free bugs in mt7996_mac_dump_work()
e6856af8a22a wifi: mt76: mt7915: fix use-after-free bugs in mt7915_mac_dump_work()
5b421cf34e94 wifi: mt76: mt7996: fix struct mt7996_mcu_uni_event
6dbe70f9ef14 wifi: mt76: mt7921: Place upper limit on station AID
6b9f1e9106e0 wifi: mt76: mt7996: fix FCS error flag check in RX descriptor
6c52fbdc6f65 wifi: mt76: mt7925: prevent NULL vif dereference in mt7925_mac_write_txwi
28ed0b61f673 wifi: mt76: mt7925: prevent NULL pointer dereference in mt7925_tx_check_aggr()
96d4f399ef25 wifi: mt76: mt7915: fix use_cts_prot support
03a0e1f9d37f wifi: mt76: mt7615: fix use_cts_prot support
9b826148f64f wifi: mt76: mt7925: Fix incorrect MLO mode in firmware control
3ee410915d4f wifi: mt76: mt7921: Reset ampdu_state state in case of failure in mt76_connac2_tx_check_aggr()
7731b67bd59d wifi: rtlwifi: pci: fix possible use-after-free caused by unfinished irq_prepare_bcn_tasklet
11db57312f00 wifi: mwifiex: Fix memory leak in mwifiex_11n_aggregate_pkt()
113c0650ce7d wifi: mt76: mt7925: fix incorrect TLV length in CLC command
d16827cb1d39 wifi: brcmfmac: Fix potential use-after-free issue when stopping watchdog task
1e9e55cf66f0 wifi: b43: enforce bounds check on firmware key index in b43_rx()
afcbaed89cdc wifi: mac80211: remove station if connection prep fails
d6869537013b wifi: ath5k: do not access array OOB
887ece6c23b4 wifi: mac80211: use safe list iteration in radar detect work
16d9f674c619 wifi: rsi: fix kthread lifetime race between self-exit and external-stop
1739fc31b4de wifi: mac80211: drop stray 'static' from fast-RX rx_result
6ee946077607 wifi: b43legacy: enforce bounds check on firmware key index in RX path
5c7ba690205c wifi: mt76: mt7921: fix ROC abort flow interruption in mt7921_roc_work
90cc573fd2f4 wifi: mt76: mt7921: fix a potential clc buffer length underflow
8ee081ad05e9 wifi: mt76: mt7925: fix incorrect length field in txpower command
be7a1caf55ab wifi: mt76: mt7925: fix AMPDU state handling in mt7925_tx_check_aggr
63fe3389b3e0 wifi: mwifiex: fix use-after-free in mwifiex_adapter_cleanup()
c498b859184f wifi: mt76: mt792x: fix mt7925u USB WFSYS reset handling
674046ee3f4f wifi: mt76: mt792x: describe USB WFSYS reset with a descriptor
ea21a4006f96 wifi: rtl8xxxu: fix potential use of uninitialized value
6c53d68e3bcf wifi: rtw88: check for PCI upstream bridge existence
3b4d27acafae wifi: mac80211: always free skb on ieee80211_tx_prepare_skb() failure
a4f4371d194d wifi: rtw88: fix device leak on probe failure
9fca68c2512a wifi: brcmfmac: validate bsscfg indices in IF events
df15adc692a8 wifi: wl1251: validate packet IDs before indexing tx_frames
77263f053963 wifi: brcmsmac: Fix dma_free_coherent() size
b245db719bc7 wifi: rt2x00usb: fix devres lifetime
c5fa98842783 wifi: virt_wifi: remove SET_NETDEV_DEV to avoid use-after-free
e67d8c626ace wifi: iwlwifi: mvm: fix potential out-of-bounds read in iwl_mvm_nd_match_info_handler()
c97b2a000596 wifi: wilc1000: fix u8 overflow in SSID scan buffer size calculation
08020567bf5f wifi: ath11k: Pass the correct value of each TID during a stop AMPDU session
8148c2fda4eb wifi: mac80211: check tdls flag in ieee80211_tdls_oper
cfa64e2b3717 wifi: wlcore: Return -ENOMEM instead of -EAGAIN if there is not enough headroom
a90279e7f7ea wifi: mac80211: fix NULL deref in mesh_matches_local()
d32c07ef1880 wifi: cfg80211: cancel pmsr_free_wk in cfg80211_pmsr_wdev_down
29a1a350afcd wifi: mac80211: Fix static_branch_dec() underflow for aql_disable.
65c25b588994 mac80211: fix crash in ieee80211_chan_bw_change for AP_VLAN stations
d0155fe68f31 wifi: libertas: fix use-after-free in lbs_free_adapter()
662d9f6d25d0 wifi: mac80211: set default WMM parameters on all links
7b692dff8df0 wifi: mt76: Fix possible oob access in mt76_connac2_mac_write_txwi_80211()
3356464e50e1 wifi: mt76: mt7925: Fix possible oob access in mt7925_mac_write_txwi_80211()
ca1adc04fc2c wifi: mt76: mt7996: Fix possible oob access in mt7996_mac_write_txwi_80211()
5feeea59ed14 wifi: wlcore: Fix a locking bug
35e173d7b878 wifi: cw1200: Fix locking in error paths
b64fbd718cf4 wifi: rsi: Don't default to -EOPNOTSUPP in rsi_mac80211_config
f5d8af683410 wifi: mac80211: fix NULL pointer dereference in mesh_rx_csa_frame()
bfde158d5d13 wifi: mac80211: bounds-check link_id in ieee80211_ml_reconfiguration
57e39fe8da57 wifi: cfg80211: cancel rfkill_block work in wiphy_unregister()
2a60c588d5d3 wifi: radiotap: reject radiotap with unknown bits
df4308cb52dc net: intel: fix PCI device ID conflict between i40e and ipw2200
f204c1379a98 wifi: cfg80211: wext: fix IGTK key ID off-by-one
39c6ab2d2eea wifi: ath10k: fix lock protection in ath10k_wmi_event_peer_sta_ps_state_chg()
16ca0282e099 wifi: rtw89: pci: restore LDO setting after device resume
de3974edd057 wifi: iwlegacy: add missing mutex protection in il3945_store_measurement()
7d355d937dc3 wifi: iwlegacy: add missing mutex protection in il4965_store_tx_power()
b0ea9e2a5644 wifi: rtw89: 8922a: add digital compensation for 2GHz
0a56a63a3bb3 wifi: rtw89: fix unable to receive probe responses under MLO connection
a8347aa56749 wifi: iwlwifi: mvm: check the validity of noa_len
69b4bcaece65 wifi: cfg80211: allow only one NAN interface, also in multi radio
e2ee86fefe01 wifi: ath12k: fix preferred hardware mode calculation
4234f2d90f7b wifi: ath11k: Fix failure to connect to a 6 GHz AP
b71487cb692e wifi: ath11k: add pm quirk for Thinkpad Z13/Z16 Gen1
26c82ec5add2 wifi: rtw89: wow: add reason codes for disassociation in WoWLAN mode
faac634c2795 wifi: rtw89: mac: correct page number for CSI response
b82073564373 wifi: libertas: fix WARNING in usb_tx_block
b4d46b4fb240 wifi: rtw88: Fix inadvertent sharing of struct ieee80211_supported_band data
9b5418070ee8 wifi: rtw88: Use devm_kmemdup() in rtw_set_supported_band()
46216a48cd89 wifi: rtw89: ser: enable error IMR after recovering from L1
e31daf5fbcda wifi: rtw89: 8922a: set random mac if efuse contains zeroes
1c7ad1b82ec4 wifi: rtw88: rtw8821cu: Add ID for Mercusys MU6H
0d0c2fb80ca4 wifi: rtw88: 8822b: Avoid WARNING in rtw8822b_config_trx_mode()
400ca64e87ac wifi: rtw88: fix DTIM period handling when conf->dtim_period is zero
ef04714ef4ae wifi: ath10k: sdio: add missing lock protection in ath10k_sdio_fw_crashed_dump()
f6c4c7a5cf5b wifi: cfg80211: stop NAN and P2P in cfg80211_leave
33b2230edd86 wifi: cfg80211: Fix use_for flag update on BSS refresh
5d810ba377ed wifi: rtl8xxxu: fix slab-out-of-bounds in rtl8xxxu_sta_add
7d31dde1bd86 wifi: rtw88: Fix alignment fault in rtw_core_enable_beacon()
586c628c0bdd wifi: mac80211: don't increment crypto_tx_tailroom_needed_cnt twice
29443629fe74 wifi: mac80211: correctly check if CSA is active
30f1507376d6 wifi: cfg80211: Fix bitrate calculation overflow for HE rates
66a7153fd67c wifi: mac80211: collect station statistics earlier when disconnect
71de0b6e04bb wifi: wlcore: ensure skb headroom before skb_push
536447521b3b wifi: mac80211: ocb: skip rx_no_sta when interface is not joined
1d2178918efc wifi: ath11k: add srng->lock for ath11k_hal_srng_* in monitor mode
9f1a002f0171 wifi: ath11k: fix RCU stall while reaping monitor destination ring
99129d80a5d4 wifi: rsi: Fix memory corruption due to not set vif driver data size
99e6b136d69d wifi: mwifiex: Fix a loop in mwifiex_update_ampdu_rxwinsize()
24585a13c41e wifi: ath12k: fix dma_free_coherent() pointer
5d6fa4d2c979 wifi: ath10k: fix dma_free_coherent() pointer
d482e6593fd8 wifi: mac80211: don't perform DA check on S1G beacon
f94f95b81736 wifi: mac80211: restore non-chanctx injection behaviour
024f71a57d56 wifi: avoid kernel-infoleak from struct iw_point
7b240a8935d5 wifi: mac80211: Discard Beacon frames to non-broadcast address
d7d4c3884c99 wifi: mt76: mt7925: add handler to hif suspend/resume event
cce9746046c9 wifi: mt76: mt7925: fix CLC command timeout when suspend/resume
08c5a901fdf0 wifi: mt76: mt7925: fix the unfinished command of regd_notifier before suspend
d12d193fe1e4 wifi: mac80211: do not use old MBSSID elements
0c67efb56d04 wifi: cfg80211: sme: store capped length in __cfg80211_connect_result()
9765d6eb8298 wifi: rtlwifi: 8192cu: fix tid out of range in rtl92cu_tx_fill_desc()
1f8ae2e99a9d wifi: rtw88: limit indirect IO under powered off for RTL8822CS
e768e889561e wifi: mt76: Fix DTS power-limits on little endian systems
5dadd27e80c4 wifi: brcmfmac: Add DMI nvram filename quirk for Acer A1 840 tablet
f423753269a0 wifi: mt76: mt792x: fix wifi init fail by setting MCU_RUNNING after CLC load
1ec6f2e3d5e4 wifi: cfg80211: use cfg80211_leave() in iftype change
ca6bf76ae4dc wifi: cfg80211: stop radar detection in cfg80211_leave()
f4001ba4a8ca wifi: rtl8xxxu: Fix HT40 channel config for RTL8192CU, RTL8723AU
278bfed4529a mt76: mt7615: Fix memory leak in mt7615_mcu_wtbl_sta_add()
4758770a673c wifi: rtl818x: rtl8187: Fix potential buffer underflow in rtl8187_rx_cb()
199aea40b868 wifi: mac80211: fix CMAC functions not handling errors
ee7db11742b3 wifi: rtl818x: Fix potential memory leaks in rtl8180_init_rx_ring()
199c3a2725ad wifi: cw1200: Fix potential memory leak in cw1200_bh_rx_helper()
4351b8664583 wifi: ath12k: fix potential memory leak in ath12k_wow_arp_ns_offload()
097c870b9181 wifi: ath11k: fix peer HE MCS assignment
7ee69f359071 wifi: ath11k: fix VHT MCS assignment
735e232cd9cc wifi: ath11k: restore register window after global reset
6d9ff97af015 wifi: ath10k: move recovery check logic into a new work
78d6455b04bc wifi: ath10k: Add missing include of export.h
5b9c7e103728 wifi: ath10k: Avoid vdev delete timeout when firmware is already down
ff100f869c2e wifi: rtw88: Add USB ID 2001:3329 for D-Link AC13U rev. A1
2f6ea894eba4 wifi: rtl8xxxu: Add USB ID 2001:3328 for D-Link AN3U rev. A1
```

Link: https://github.com/openwrt/openwrt/pull/24304
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-07-21 02:50:07 +02:00
Hannu NymanandHauke Mehrtens 26471f32b5 busybox: Save shell history into /tmp
Enable the busybox feature to save shell command history.
(.apk size increase 0.5 kB)

To prevent flash wear,
* save history only at the exit from a shell session, and
* set /tmp as the default location for the history file. The history
  is kept on ramdisk until a reboot, when the history is then lost.

If the user wants to save history onto flash, he can change the location
definition in /etc/profile.d/busybox-history-file.sh

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Link: https://github.com/openwrt/openwrt/pull/17179
cherry picked from commit e23b37b2d9)
[ fix conflict error ]
Signed-off-by: Andrey Zotikov <andrey.zotikov@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23634
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-07-21 02:47:47 +02:00
Hauke Mehrtens b9ad54db42 odhcp6c: cherry pick patches from main
This fixes multiple bugs, some might be security relevant.

Link: https://github.com/openwrt/openwrt/pull/24258
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-07-21 02:46:29 +02:00
Hauke Mehrtens 67c5b71d77 odhcpd: cherry pick patches from main
CVE-2026-53918: Use-after-free (dangling first lease pointer)
CVE-2026-53920: Stack memory disclosure via truncated IA_NA/IA_PD option (GHSA-p769-5v73-pc4f)
CVE-2026-53921: Out-of-bounds write in build_ia (stack overflow in IA reply serialization)
CVE-2026-53922: Integer/size_t underflow DoS in dhcpv6_ia_handle_IAs
GHSA-hhmc-92hw-535f: odhcpd/LuCI stored XSS — unauth DHCPv6 client injects lease-file lines via crafted FQDN
TOB-OWRT-5: Trail of Bits audit finding (snprintf return handling)

There's also an unassigned NDP hop-limit spoofing fix, CVSS 5.4,
that IS included: ndp: enforce RFC4861 §7.1.1 hop-limit.

Link: https://github.com/openwrt/openwrt/pull/24184
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-07-21 02:35:30 +02:00
Hauke Mehrtens 262c09368f dropbear: backport some security fixes from 2026.90
This cherry picks the following changes:

- Security: server: Fix ability to bypass an authorized_keys "forced_command"
  option by an authenticated user, if Dropbear is running with "-t" option.
  ("-t" is require both password and public key).
  https://github.com/mkj/dropbear/commit/c60db6408178aaca0a8aacd017ac344a2cfb30c8
  Reported by Jeremy Brown

- Security: server: Open authorized_keys non-blocking. This avoids getting stuck
  with special files, could allow denial of service from local users.
  https://github.com/mkj/dropbear/commit/8b579571b5584847caf72345b9073b3b2a0467a7
  Reported by Turistu

- Security: scp: Add missed patch to fix CVE-2019-6111 allowing a malicious server
  to overwrite unexpected files.
  https://github.com/mkj/dropbear/commit/143291baca6ebb3407a0c25c85bd53bf041a6ab7
  Patch from OpenSSH, reported missing by Asim Viladi Oglu Manizada @manizada

  Note breaking change: "-r" is now disallowed when the target directory exists
  (an additional change in Dropbear's version). If that's required an alternative
  such as rsync could be used.
  https://github.com/mkj/dropbear/commit/61bd0e3e6573277de17359763aa5827a189c8d7f

- Security: scp: Clear setuid/setgid bits on received files.
  https://github.com/mkj/dropbear/commit/443ccc1fd1b9a4e3747f6b5cd644b7af49064308
  Patch from OpenSSH, tracked as CVE-2026-35385

- Security: client/server: Fix close() of a file descriptor from an out-of-bounds
  read. This seems difficult to exploit but may have unforeseen effects.
  https://github.com/mkj/dropbear/commit/067fd3846c425d1998c7c94d3feafe1f26b514eb
  Reported by Ankit Singh and @j499261162

Link: https://github.com/openwrt/openwrt/pull/23980
(cherry picked from commit 2218cb1949)
Link: https://github.com/openwrt/openwrt/pull/24296
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-07-21 02:15:42 +02:00
Hauke Mehrtens f68fa73287 uhttpd: cherry pick patches from main
This fixes the following security isseus with CVE numbers:
CVE-2026-55614: GHSA-mcfg-c4r7-pjpf — case-sensitive Transfer-Encoding matching
CVE-2026-55612: GHSA-p55c-rmhc-qfm5 — invalid chunk-length state reset
CVE-2026-55613: GHSA-wgwp-64hh-f52p — ubus POST body parse-error desync

The branch also carries hardening with no CVE: one-byte overflow in
uh_urldecode, off-by-one OOB read in uh_b64decode, constant-time
password compare, $p$ crypt-hash handling.

Link: https://github.com/openwrt/openwrt/pull/24259
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-07-21 02:12:56 +02:00
Hauke Mehrtens 452bc24984 hostapd: fix security advisory 2026-1
Cherry pick the patches recommended in the hostapd security advisory
2026-1:
https://w1.fi/security/2026-1/missing-ml-parsing-validation.txt

Vulnerability

Vulnerabilities in parsing and use of received multi-link (MLO/EHT/IEEE
802.11be/Wi-Fi 7) information has been identified in hostapd and
wpa_supplicant. These issues show up in various cases where frames
including information on affiliated links are parsed and processed in
both AP and STA modes. The issues can result in process termination due
to buffer read overflow checks and memory corruption.

The issues for AP mode (hostapd or wpa_supplicant) can result in
denial-of-service attacks due to process termination and small memory
corruption that could theoretically cause other issues, but it does not
seem likely that those could be exploiting in practice. Affected areas
can be reached by sending invalid Management frames without needing
authentication or user action on the target device.

Link: https://github.com/openwrt/openwrt/pull/24043
(cherry picked from commit 8614a2ba68)
[Removed 004, 0005 and 008 which do not apply and fix some others]
Link: https://github.com/openwrt/openwrt/pull/24295
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-07-21 01:43:34 +02:00
Hauke Mehrtens ee6e56c82e tools/cmake: backport bootstrap fix for GCC 16
CMake fails to bootstrap its host tool with GCC 16:

    cmake.o: undefined reference to
    `cmGlobalGhsMultiGenerator::cmGlobalGhsMultiGenerator(cmake*)'

Source/cmake.cxx includes cmGlobalGhsMultiGenerator.h guarded only by
__linux__, not by CMAKE_BOOTSTRAP. The NewFactory() call is compiled out
during bootstrap, but GCC 16 devirtualization still emits the uncalled
inline NewFactory() and the cmGlobalGeneratorSimpleFactory<> template,
which reference symbols only defined in cmGlobalGhsMultiGenerator.cxx, a
file that is not compiled during bootstrap.

Backport the upstream fix, which moves the include behind the existing
CMAKE_BOOTSTRAP guard. It is in no 3.30.x release (that branch is EOL);
upstream shipped it first in 3.31.10 / 4.0.5 / 4.1.2.

Assisted-by: Claude:claude-opus-4-8
Link: https://github.com/openwrt/openwrt/pull/24303
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-07-20 23:18:13 +02:00
Lars GierthandHauke Mehrtens 35369da86f toolchain: gcc: fix include memory against GCC 16
This patch backports a small but important part of the upstream commit:

b3f1b9e2aa07 build: Remove INCLUDE_MEMORY [PR117737]

Its original commit message fails to mention that the commit also moves
the `#include <memory>` to an earlier position within system.h,
which is the actual change that we're after in this patch.

Building our GCC 14.3 with host GCC 16, the inclusion order starts to matter,
which is an issue that was also touched upon by the upstream commits:

9970b576b7e4 Include safe-ctype.h after C++ standard headers, to avoid over-poisoning
f6e00226a4ca build: Move sstream include above safe-ctype.h {PR117771]

Signed-off-by: Lars Gierth <larsg@systemli.org>
Link: https://github.com/openwrt/openwrt/pull/23095
Signed-off-by: Robert Marko <robimarko@gmail.com>
[hauke: Add GCC 13 too]
(cherry picked from commit a32a367259)
Link: https://github.com/openwrt/openwrt/pull/24302
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-07-20 23:15:27 +02:00
Robert MarkoandHauke Mehrtens f05b9f96e0 toolchain: gcc: 14/15: fix libcody compilation with GCC16
libcody will fail to build if building using a GCC16 host compiler, so
backport the upstream fix.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
[hauke: Add patch for GCC 13 too]
(cherry picked from commit e7e5d470c1)
Link: https://github.com/openwrt/openwrt/pull/24302
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-07-20 23:15:27 +02:00
Josef SchlehoferandChristian Marangi 7df79b25f5 CI: remove labeler workflow and enable webhook-based labeling
Remove the .github/workflows/labeler.yml workflow and enable the "enable_labeler_yml" option in .github/formalities.json to let the webhook bot handle pull request labeling. This avoids running on GitHub Actions, so it is faster and uses fewer resources.

It uses the existing .github/labeler.yml for labels.

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/24256
(cherry picked from commit 4f2dc5cc64)
Link: https://github.com/openwrt/openwrt/pull/24319
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-07-20 12:50:41 +02:00
Josef SchlehoferandChristian Marangi a30deed6bd CI: migrate to webhook bot and simplify labeler
This commit migrates the repository validation to a webhook-based bot instead of the GitHub Actions workflow (.github/workflows/formal.yml).

Since the bot handles stable branch labeling automatically (via the "branch_labeling: true" configuration option), the redundant branch check and labeling steps are removed from .github/workflows/labeler.yml.

The following configuration choices are applied in formalities.json:
- check_space_after_assignment: false (Disabled temporarily to catch any issues since it is a newly implemented check)
- check_makefile_indentation: false (Disabled temporarily to catch any issues since it is a new feature)
- check_patch_headers: 'warning' (Changed to warning instead of hard error since many legacy patches lack headers)
- enable_stale_bot: false (Disabled for now)

Other configurations can be adjusted in formalities.json based on the openwrt-bot-worker repository [1].

[1] https://github.com/openwrt/openwrt-bot-worker

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/24256
(cherry picked from commit 9146f931b6)
Link: https://github.com/openwrt/openwrt/pull/24319
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-07-20 12:50:41 +02:00
Hauke MehrtensandChristian Marangi 263acdfb65 github: labeler: Update dependencies
Update to the most recent version.
The biggest change is the switch to Node.js 24.

Link: https://github.com/openwrt/openwrt/pull/22903
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 05b6a93173)
Link: https://github.com/openwrt/openwrt/pull/24319
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-07-20 12:50:40 +02:00
Hauke MehrtensandChristian Marangi 04fd025d6b github: github-release: update dependencies
Update the dependencies to the latest version.
The biggest change is the update to Node.js 24.

Link: https://github.com/openwrt/openwrt/pull/22903
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 372e57f243)
Link: https://github.com/openwrt/openwrt/pull/24319
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-07-20 12:50:39 +02:00
Paul SpoorenandChristian Marangi d91a9ac1ef ci: rework and move build-on-comment action
Run this only when a PR is created, so either author or anyone who can
edit the PR message (all maintainers) can trigger such build.

Instead of maintaining it in the main repository, move it to the
external repository to bloat this repository less with further CI
commits.

Signed-off-by: Paul Spooren <mail@aparcar.org>
(cherry picked from commit 8cff0d8ca0)
Link: https://github.com/openwrt/openwrt/pull/24319
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-07-20 12:50:39 +02:00
Hauke Mehrtens 924f06e76c umdns: update to Git HEAD (2026-06-16)
1b5e7bf1cec7 cache: bound cache size and clamp hostile TTLs

Link: https://github.com/openwrt/mdnsd/security/advisories/GHSA-jg8f-fhfw-jg46
(cherry picked from commit 5b2c8f4ff9)
Link: https://github.com/openwrt/openwrt/pull/24297
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-07-20 02:18:29 +02:00
Felix FietkauandHauke Mehrtens 81bc4a3cc5 umdns: update to Git HEAD (2026-05-22)
bd7599d02157 fix calloc_a size argument type

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 74da669505)
Link: https://github.com/openwrt/openwrt/pull/24297
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-07-20 02:18:29 +02:00
Hafiz ZafranandHauke Mehrtens 9f11fa9de1 wireless-regdb: update to version 2026.05.30
Change-log since version 2026.03.18, retrieved from the wireless-regdb mailing lists:
  wireless-regdb: update regulatory database based on preceding changes
  wireless-regdb: Update regulatory info for Brunei Darussalam (BN) for 2022
  wireless-regdb: allow 320MHz channel width for Russia
  wireless-regdb: Update 6 GHz rules for Hong Kong (HK)
  wireless-regdb: Update 5/6 GHz power rules for Russia (RU)
  wireless-regdb: Fix 60 GHz power unit for Ukraine (UA)
  wireless-regdb: Update 6 GHz rules for South Africa (ZA)
  wireless-regdb: Update 6 GHz rules for South Korea (KR)
  wireless-regdb: Update regulatory rules for Sri Lanka (LK)
  wireless-regdb: Add regulatory info for CEPT countries FO, GI, IM, SM and VA listed by WiFi Alliance

Signed-off-by: Hafiz Zafran <hfzz7@duck.com>
Link: https://github.com/openwrt/openwrt/pull/23594
(cherry picked from commit 848c54b5f4)
Link: https://github.com/openwrt/openwrt/pull/24301
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-07-20 02:09:25 +02:00
Hauke Mehrtens 58264cce83 ead: Increase PKG_RELEASE
Indicate that there are some changes. This should make sure that the
package gets updated.

Fixes: 63c0767f3d ("ead: fix integer underflow in handle_send_a()")
(cherry picked from commit 75fad162df)
Link: https://github.com/openwrt/openwrt/pull/24298
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-07-20 02:07:27 +02:00
Hauke Mehrtens 3944c026aa ead: fix integer underflow in handle_send_a()
handle_send_a() computed the SRP "A" parameter length as

    len = ntohl(msg->len) - sizeof(struct ead_msg_number);

sizeof(struct ead_msg_number) is 1, and the subtraction is evaluated in
unsigned arithmetic. A packet with msg->len == 0 therefore wraps the
result to a huge value which, assigned to the signed int len, becomes -1.
The following bounds check is signed:

    if (len > MAXPARAMLEN + 1)
        return false;

so -1 passes, and memcpy(A.data, number->data, len) runs with len cast to
size_t (~SIZE_MAX) against the 257-byte abuf, crashing the daemon.

Neither parse_message() nor handle_packet() validate msg->len (only the
captured packet length), so an unauthenticated attacker on the local
segment can reach this path and crash ead with a single crafted packet.

Validate the claimed length in unsigned arithmetic before the subtraction
and bound it on both sides. Doing the upper-bound check unsigned as well
also closes a 32-bit-only variant where sizeof(ead_packet) + msg->len
overflows in handle_packet(), letting a large msg->len reach the same
negative-len path.

Link: https://github.com/openwrt/openwrt/security/advisories/GHSA-9558-77jp-g3fw
Reported-by: @Vasco0x4
Assisted-by: Claude:claude-opus-4-8
(cherry picked from commit 63c0767f3d)
Link: https://github.com/openwrt/openwrt/pull/24298
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-07-20 02:07:27 +02:00
Hauke Mehrtens 818f696387 toolchain: musl: backport patches with CVE fixes
This fixes:
 * CVE-2026-6042: Algorithmic Complexity DoS in musl libc iconv
 * CVE-2026-40200: musl libc: stack corruption in qsort with sufficiently large inputs

Link: https://github.com/openwrt/openwrt/pull/23329
(cherry picked from commit 6865d489d2)
Link: https://github.com/openwrt/openwrt/pull/24299
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-07-20 02:05:35 +02:00
Goetz GoerischandHauke Mehrtens 25920e8425 kernel: bump 6.6 to 6.6.144
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.144

Manual rebased patch:
bcm27xx/patches-6.6/950-0464-drm-v3d-New-debugfs-end-points-to-query-GPU-usage-st.patch [1]

Removes upstreamed patch:
bcm27xx/patches-6.6/950-1552-drm-v3d-Set-job-pointer-to-NULL-when-the-job-s-fence.patch [2]

All other patches autorefreshed.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit?h=v6.6.144&id=756724002c5a65b07af067849ba365a51fc6f207
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit?h=v6.6.144&id=756724002c5a65b07af067849ba365a51fc6f207

Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/24082
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-07-11 20:55:44 +02:00
Tianling Shen 253a70f1f8 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2026-06-29 14:19:31 +08:00
Martin SchillerandHauke Mehrtens 95d0ca014c openssl: update to version 3.0.21
OpenSSL 3.0.21 is a security patch release. The most severe CVE fixed in
this release is High.

This release incorporates the following bug fixes and mitigations:

 * Fixed heap use-after-free in PKCS7_verify(). (CVE-2026-45447)

 * Fixed CMS AuthEnvelopedData processing may accept forged messages.
   (CVE-2026-34182)

 * Fixed AES-OCB IV ignored on EVP_Cipher() path. (CVE-2026-45445)

 * Fixed possible heap buffer overflow in ASN.1 multibyte string
   conversion. (CVE-2026-7383)

 * Fixed out-of-bounds read in CMS password-based decryption.
   (CVE-2026-9076)

 * Fixed heap buffer over-read in ASN.1 content parsing.
   (CVE-2026-34180)

 * Fixed possible NULL dereference in password-dased CMS decryption.
   (CVE-2026-42766)

 * Fixed FFC-DH peer validation uses attacker-supplied q.
   (CVE-2026-42770)

 * Fixed incorrect tag processing for empty messages in AES-GCM-SIV and
   AES-SIV modes. (CVE-2026-45446)

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
Link: https://github.com/openwrt/openwrt/pull/23843
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-06-23 23:07:16 +02:00
Goetz GoerischandHauke Mehrtens b704cf7842 kernel: bump 6.6 to 6.6.143
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.143

New kconfig symbols:
- ARM64_ERRATUM_4118414: enabled on ARM Cortex-A76 and newer targets.
- ARM64_ERRATUM_4193714: enabled on ARM C1-Pro and newer targets. [1]

Manually rebased patches:
generic/pending-6.6/610-netfilter_match_bypass_default_checks.patch [2]

All other patches autorefreshed.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.143&id=e717a4d08779f1a28d6e0275e75040b12c33c753
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.143&id=f513f308cc4bdb4530d033431592ffbc29b7fca1

Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23890
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-06-23 22:38:29 +02:00
John AudiaandJonas Jelonek cd8d701c7f backport: update dnsmasq to v2.93 from master
Wholesale drop of dnsmasq from master/not a cherry pick.

Reference PR: https://github.com/openwrt/openwrt/pull/23669

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/23804
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-16 12:14:55 +02:00
Tianling Shen 1f6c253d3a autocore: remove incorrect rps_cpus override
Let packet_steering servive to assign rps.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit f95f557d04)
2026-06-15 11:29:18 +08:00
Michael PrattandRobert Marko 886e0248e8 tools/util-linux: include macOS system uuid header
The type definition of uuid_string_t and possibly other details
used by macOS SDKs like XCode is missing from util-linux.

Headers on macOS have a different inclusion guard
compared to the unique util-linux "_UL" prefix.

This uuid.h header is guaranteed to be present since macOS 10.8 and iOS 6
even without the presence of XCode or other SDKs on the system,
so adding an include_next directive is safe after checking for clang.

Link: https://developer.apple.com/documentation/foundation/uuid
Link: https://developer.apple.com/library/archive/documentation/System/Conceptual/ManPages_iPhoneOS/man3/uuid.3.html
Tested-by: Georgi Valkov <gvalkov@gmail.com> # macOS
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
(cherry picked from commit 89056bd7b1)
Link: https://github.com/openwrt/openwrt/pull/23729
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-06-10 11:36:30 +02:00
Tianling Shen abe7267aa3 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2026-06-10 11:38:03 +08:00
Georgi ValkovandRobert Marko 33a8c1c96c generic: fix PATH_MAX macro redefined in exec-cmd.c on macOS 15.4
Fix an error while building target/linux x64 on macOS 15.4 host,
due to the PATH_MAX macro being redefined:

mkdir -p /Volumes/test/openwrt/build_dir/target-x86_64_musl/linux-x86_64/linux-6.6.86/tools/objtool && make O=/Volumes/test/openwrt/build_dir/target-x86_64_musl/linux-x86_64/linux-6.6.86 subdir=tools/objtool --no-print-directory -C objtool
exec-cmd.c:15:9: error: 'PATH_MAX' macro redefined [-Werror,-Wmacro-redefined]
   15 | #define PATH_MAX        4096
      |         ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/syslimits.h:103:9: note: previous definition is here
  103 | #define PATH_MAX                 1024   /* max bytes in pathname */
      |         ^

exec-cmd.c is compiled as part of objtool to run on the host, and
therefore host headers are used, where PATH_MAX is already defined.
Using an old OpenWRT snapshot from 2025-02-16, where linux-6.6.77
used to build correctly, does not help. Reverting from Xcode 16.3 to
16.2 does not help either.

Signed-off-by: Georgi Valkov <gvalkov@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18530
(cherry picked from commit b77e6cd627)
Signed-off-by: Georgi Valkov <gvalkov@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23710
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-06-08 17:38:51 +02:00
GrischeandRobert Marko 8c3c253692 ipq806x: ap3935: disable hibernation on LAN1
The Extreme Networks AP3935's LAN1 port (gmac0/RGMII to AR8035 at MDIO
addr 1) fails to acquire a link if no Ethernet cable is connected at
power-on; the port stays dead even after a cable is later inserted, and
only a network restart recovers it.

The AR803x family enables hibernation mode by default, this setting
overrides it.

Signed-off-by: Grische <github@grische.xyz>
Link: https://github.com/openwrt/openwrt/pull/23208
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 33ed49c948)
2026-06-08 14:42:49 +02:00
Josef SchlehoferandRobert Marko 81b3344b60 toolchain: gdb: backport patch to fix build with Clang 21
Backport a patch [1] to fix a compile error in enum-flags.h [2].

[1] https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=4a0b2cb7210
[2] https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=293168

Fixes: https://github.com/openwrt/openwrt/issues/23122

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23701
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-06-08 10:22:54 +02:00
Tianling Shen a5d949fc9e ramips: fix wpad variant selection
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2026-06-08 11:05:55 +08:00
Tianling Shen 2265341a26 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2026-06-08 11:00:57 +08:00
Goetz GoerischandHauke Mehrtens 4508dd6014 kernel: bump 6.6 to 6.6.142
Dropped upstreamed patch:
generic/backport-6.6/750-01-v6.8-net-phy-add-genphy_c45_pma_read_ext_abilities.patch [1]
generic/backport-6.6/790-41-v6.10-net-dsa-mt7530-rename-mt753x_bpdu_port_fw-enum-to-mt.patch [2]
target/linux/ath79/patches-6.6/301-irqchip-irq-ath79-cpu-drop-OF-init-helper.patch [3]

All other patches autorefreshed.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.142&id=d04494596b5e5bfc8b9026455333447c3b8b5347
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.142&id=1bddf306212a1f7f09e167a2b5ca4f9b1019bca1
[3] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.142&id=6760af11a26e93305ed4becb3470edfcabaa01a3

Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23624
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-06-05 16:43:42 +02:00
Tianling Shen a5c817c251 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2026-06-02 15:22:30 +08:00
Hauke Mehrtens d5ac5cdfb2 OpenWrt v24.10.7: revert to branch defaults
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-05-30 02:23:07 +02:00
Hauke Mehrtens b40dfac0a3 OpenWrt v24.10.7: adjust config defaults
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-05-30 02:23:02 +02:00
Tianling Shen 4885c268a8 yt6801: limit to build for armsr/loong64/x86 only
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2026-05-28 09:44:07 +08:00
Ziyang HuangandChristian Marangi ab4c7d6af7 airoha: an7581: enable USB support
The an7581.dtsi contains the mediatek,mtk-xhci device.

Signed-off-by: Ziyang Huang <hzyitc@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/21460
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit f8a6798bf3)
[ fix conflict error ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-05-27 17:55:08 +02:00
Tianling Shen 176bc72593 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2026-05-26 15:08:23 +08:00
Goetz GoerischandHauke Mehrtens ca4a3dde42 kernel: bump 6.6 to 6.6.141
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.141

Drop upstreamed patches:
generic/backport-6.6/702-01-v6.7-net-phy-aquantia-move-to-separate-directory.patch [1]
generic/backport-6.6/713-v6.9-01-net-phy-move-at803x-PHY-driver-to-dedicated-director.patch [2]

Manually refreshed patches:
generic/backport-6.6/707-v6.8-02-net-phy-at803x-move-disable-WOL-to-specific-at8031-p.patch
generic/backport-6.6/707-v6.8-03-net-phy-at803x-raname-hw_stats-functions-to-qca83xx-.patch
generic/backport-6.6/707-v6.8-04-net-phy-at803x-move-qca83xx-specific-check-in-dedica.patch
generic/backport-6.6/707-v6.8-05-net-phy-at803x-move-specific-DT-option-for-at8031-to.patch
generic/backport-6.6/707-v6.8-06-net-phy-at803x-move-specific-at8031-probe-mode-check.patch
generic/backport-6.6/707-v6.8-07-net-phy-at803x-move-specific-at8031-config_init-to-d.patch
generic/backport-6.6/707-v6.8-08-net-phy-at803x-move-specific-at8031-WOL-bits-to-dedi.patch
generic/backport-6.6/707-v6.8-09-net-phy-at803x-move-specific-at8031-config_intr-to-d.patch
generic/backport-6.6/707-v6.8-10-net-phy-at803x-make-at8031-related-DT-functions-name.patch
generic/backport-6.6/707-v6.8-11-net-phy-at803x-move-at8031-functions-in-dedicated-se.patch
generic/backport-6.6/707-v6.8-12-net-phy-at803x-move-at8035-specific-DT-parse-to-dedi.patch
generic/backport-6.6/707-v6.8-13-net-phy-at803x-drop-specific-PHY-ID-check-from-cable.patch
generic/backport-6.6/708-v6.8-01-net-phy-at803x-move-specific-qca808x-config_aneg-to-.patch
generic/backport-6.6/708-v6.8-02-net-phy-at803x-make-read-specific-status-function-mo.patch
generic/backport-6.6/709-v6.8-01-net-phy-at803x-remove-extra-space-after-cast.patch
generic/backport-6.6/709-v6.8-02-net-phy-at803x-replace-msleep-1-with-usleep_range.patch
generic/backport-6.6/710-v6.8-net-phy-at803x-better-align-function-varibles-to-ope.patch
generic/backport-6.6/711-v6.8-01-net-phy-at803x-generalize-cdt-fault-length-function.patch
generic/backport-6.6/711-v6.8-02-net-phy-at803x-refactor-qca808x-cable-test-get-statu.patch
generic/backport-6.6/711-v6.8-03-net-phy-at803x-add-support-for-cdt-cross-short-test-.patch
generic/backport-6.6/711-v6.8-04-net-phy-at803x-make-read_status-more-generic.patch
generic/backport-6.6/712-v6.9-net-phy-at803x-add-LED-support-for-qca808x.patch
updated file path for all due to [2]

generic/pending-6.6/680-net-add-TCP-fraglist-GRO-support.patch [3]
bcm27xx/patches-6.6/950-0158-bcmgenet-Better-coalescing-parameter-defaults.patch [4]

All other patches autorefreshed.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.141&id=014860036d1ffe2e84e4b612fb0b9aab2fa38e67
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.141&id=22f22f1346b4add431b509a64bfb3f8cf3daa8c3
[3] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.141&id=989214c66884d70716d83dc1d0bf5e16287bf349
[4] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.141&id=355b61569e84c9ac171d36878bd9cd503cac7e2c

Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23435
[Add SKBFL_SHARED_FRAG to skb_gro_receive_list() again]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-05-26 00:04:37 +02:00
Goetz GoerischandHauke Mehrtens b3e40122a3 kernel: bump 6.6 to 6.6.140
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.140

Manually refreshed patches:
generic/pending-6.6/151-net-bridge-do-not-send-arp-replies-if-src-and-target.patch [1]
bcm27xx/patches-6.6/950-0092-MMC-added-alternative-MMC-driver.patch [2]

All other patches autorefreshed.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.140&id=0b9e4bbfb7c949151e3acd44ed4aa33614d2e110
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.140&id=b58baa1d50aa98fd3f6a8432ff0e36f83224450b

Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23435
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-05-26 00:03:34 +02:00
Goetz GoerischandHauke Mehrtens bcff9902c3 kernel: backport crypto: talitos - stop using crypto_ahash::init
This patch is not yet backported to the 6.6.y tree.
It is a prerequisite for kernel 6.6.140 to build for mpc85xx.

drivers/crypto/talitos.c: In function 'ahash_digest':
drivers/crypto/talitos.c:2204:16: error: 'struct talitos_ahash_req_ctx' has no member named 'last'
2204 | req_ctx->last = 1;
     |        ^~~~~

Link: https://lore.kernel.org/all/DIOA24QU02W5.2RSVK05RE7BJK@bootlin.com/
Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23435
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-05-26 00:03:34 +02:00
Tianling Shen 87d787da46 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2026-05-22 12:20:42 +08:00
Tianling Shen cba8c54065 valgrind: improve arm v7 detection
The mvebu target has CONFIG_CPU_V7 enabled even for aarch64 target,
resulting CONFIG_arm_v7 to be true, which breaks build there.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit d123e5d86a)
2026-05-21 17:06:20 +08:00
Christian Marangi a8382a4821 airoha: backport patch fixing offload support with GDM2 present
Backport upstream patch fixing offload support in the presence of GDM2
interface.

(cherry picked from commit b7aa0aa9bf)
[ fix conflict error ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-05-19 10:05:10 +02:00
Fengyu WuandHauke Mehrtens db8cbe9de8 ca-certificates: update to 20260223
Debian changelog:

  * Update Mozilla certificate authority bundle to version 2.82
    The following certificate authorities were added (+):
    + TrustAsia TLS ECC Root CA
    + TrustAsia TLS RSA Root CA
    + SwissSign RSA TLS Root CA 2022 - 1
    + OISTE Server Root ECC G1
    +  OISTE Server Root RSA G1
    The following certificate authorities were removed (-):
    - GlobalSign Root CA
    - Entrust.net Premium 2048 Secure Server CA
    - Baltimore CyberTrust Root (closes: #1121936)
    - Comodo AAA Services root
    - XRamp Global CA Root
    - Go Daddy Class 2 CA
    - Starfield Class 2 CA
    - CommScope Public Trust ECC Root-01
    - CommScope Public Trust ECC Root-02
    - CommScope Public Trust RSA Root-01
    - CommScope Public Trust RSA Root-02
  * Use dh_usrlocal to create /usr/local/share/ca-certificates
    (closes: #1127100)

Signed-off-by: Fengyu Wu <saldry@proton.me>
Link: https://github.com/openwrt/openwrt/pull/23155
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 403c52db37)
2026-05-17 11:31:05 +02:00
xiao boandHauke Mehrtens 4d7129790f wireless-regdb: update to version 2026.03.18
Changes:
  update regulatory database based on preceding
  Update regulatory rules for India (IN) on 6GHz
  Replace M2Crypto with cryptography package
  Fix regulatory.bin signing with new

Signed-off-by: xiao bo <peterwillcn@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23101
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit ce7bc7ac22)
2026-05-17 11:27:21 +02:00
Tianling Shen 7ab5f9d2c9 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2026-05-16 16:36:38 +08:00
Hauke Mehrtens 224995b31a kernel: bump 6.6 to 6.6.139
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.139

All patches autorefreshed.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-05-16 00:58:20 +02:00
Hannu NymanandHauke Mehrtens 15250e11aa dnsmasq: apply six CVE-fix upstream patches to 2.90
Apply upstream patches for the recently published CVEs in dnsmasq.

Source: https://thekelleys.org.uk/dnsmasq/CVE/
Reference: https://lists.thekelleys.org.uk/pipermail/dnsmasq-discuss/2026q2/018471.html

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Link: https://github.com/openwrt/openwrt/pull/23328
(cherry picked from commit dc04999b1f)
[added this to main branch first, 002-CVE-2026-4890.dnsmasq-2.91.patch modified]
Link: https://github.com/openwrt/openwrt/pull/23365
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-05-15 17:22:34 +02:00
Sander van DeijckandHauke Mehrtens 766cbba1de wolfssl: update to 5.9.1
For changes, see:
https://github.com/wolfSSL/wolfssl/releases/tag/v5.9.1-stable

This includes a fix for a critical (CVSS 9.3) vulnerability:
https://github.com/advisories/GHSA-f5h9-5q52-qrx7

Signed-off-by: Sander van Deijck <sander@vandeijck.com>
Link: https://github.com/openwrt/openwrt/pull/23072
Signed-off-by: Nick Hainke <vincent@systemli.org>
(cherry picked from commit 8ef7b4ee4b)
Link: https://github.com/openwrt/openwrt/pull/23363
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-05-15 17:18:17 +02:00
Ignat LoskutovandHauke Mehrtens b2defe9b63 wolfssl: update to 5.9.0
Release Notes:
https://www.wolfssl.com/wolfssl-5-9-0-released/

Fixes CVEs:
- CVE-2026-3548
- CVE-2026-3549
- CVE-2026-3547
- CVE-2026-2646
- CVE-2026-3849
- CVE-2026-0819
- CVE-2026-1005
- CVE-2026-2645
- CVE-2026-3230
- CVE-2026-3229
- CVE-2026-3579
- CVE-2026-3580
- CVE-2026-3503
- CVE-2026-4159
- CVE-2026-4395

Signed-off-by: Ignat Loskutov <ignat.loskutov@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22595
Signed-off-by: Nick Hainke <vincent@systemli.org>
(cherry picked from commit e9531860e6)
Link: https://github.com/openwrt/openwrt/pull/23363
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-05-15 17:18:17 +02:00
Nick HainkeandHauke Mehrtens 6da707484b wolfssl: update to 5.8.4
Release Notes:
https://www.wolfssl.com/wolfssl-5-8-4-now-available/

Fixes CVEs:
- CVE-2025-12889
- CVE-2025-12888
- CVE-2025-11936
- CVE-2025-11935
- CVE-2025-11934
- CVE-2025-11933
- CVE-2025-11932
- CVE-2025-11931

Link: https://github.com/openwrt/openwrt/pull/20922
Signed-off-by: Nick Hainke <vincent@systemli.org>
(cherry picked from commit b03c79f382)
Link: https://github.com/openwrt/openwrt/pull/23363
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-05-15 17:18:17 +02:00
Hauke Mehrtens 4c472ca84d wolfssl: Update to version 5.8.2
This version fixes multiple security problems:
CVE-2025-7395: Problem in certificate verification on Apple devices
CVE-2025-7394: Predictable results from RAND_bytes() after fork call in OpenSSL compatibility layer
CVE-2025-7396: Activate Curve25519 blinding support

See Release notes:
https://github.com/wolfSSL/wolfssl/releases/tag/v5.8.0-stable
https://github.com/wolfSSL/wolfssl/releases/tag/v5.8.2-stable

wolfSSL is now GPLv3 instead of GPLv2, see:
https://github.com/wolfSSL/wolfssl/commit/629c5b4cf61ac717d40678b5cd65974b42077af6

The file size increased a bit:
```
546060 bin/packages/mipsel_24kc/base/libwolfssl5.7.6.e624513f-5.7.6-r1.apk
560684 bin/packages/mipsel_24kc/base/libwolfssl5.8.2.e624513f-5.8.2-r1.apk
```

Link: https://github.com/openwrt/openwrt/pull/20547
(cherry picked from commit 92f07864c1)
Link: https://github.com/openwrt/openwrt/pull/23363
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-05-15 17:18:17 +02:00
Magnus KrokenandHauke Mehrtens 002aa24028 mbedtls: backport upstream patches to fix TLS 1.2 client issues
Fix a TLS 1.2 regression that caused clients to reject valid
ServerKeyExchange signatures using RSA-PSS signature algorithms.

The TLS 1.2 regression resulted in errors like:
$ curl https://api.domeneshop.no/v0/
curl: (35) ssl_handshake returned: (-0x6600) SSL - A field in a message was incorrect or inconsistent with other fields

Fixes: https://github.com/openwrt/openwrt/issues/22874
Fixes: https://github.com/openwrt/openwrt/issues/23116
Fixes: f48ef0040b ("mbedtls: update to 3.6.6")
Signed-off-by: Magnus Kroken <mkroken@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23066
(cherry picked from commit e65001e3e7)
Link: https://github.com/openwrt/openwrt/pull/23362
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-05-15 16:33:01 +02:00
Hauke Mehrtens c334b9a9d5 mbedtls: update to 3.6.6
This version fixes some security problems:
 * Client impersonation while resuming a TLS 1.3 session
   (CVE-2026-34873)
 * Entropy on Linux can fall back to /dev/urandom (CVE-2026-34871)
 * PSA random generator cloning (CVE-2026-25835)
 * Compiler-induced constant-time violations (CVE-2025-66442)
 * Null pointer dereference when setting a distinguished name
   (CVE-2026-34874)
 * Buffer overflow in FFDH public key export (CVE-2026-34875)
 * FFDH: lack of contributory behaviour due to improper input validation
   (CVE-2026-34872)
 * Signature Algorithm Injection (CVE-2026-25834)
 * CCM multipart finish tag-length validation bypass (CVE-2026-34876)
 * Risk of insufficient protection of serialized session or context data
   leading to potential memory safety issues (CVE-2026-34877)
 * Buffer underflow in x509_inet_pton_ipv6() (CVE-2026-25833)

Changelog: https://github.com/Mbed-TLS/mbedtls/releases/tag/mbedtls-3.6.6

Size increases by 470 bytes on aarch64:
343995 bin/packages/aarch64_generic/base/libmbedtls21-3.6.5-r1.apk
344465 bin/packages/aarch64_generic/base/libmbedtls21-3.6.6-r1.apk

Link: https://github.com/openwrt/openwrt/pull/22787
(cherry picked from commit f48ef0040b)
Link: https://github.com/openwrt/openwrt/pull/23362
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-05-15 16:33:01 +02:00
Christian Marangi af35693db2 airoha: an7581: move internal PHY interrupt to specific device DTS
It was discovered that the internal PHY interrupt are not always connected
and PHY link up/down is not correctly detected.

This is the case of the Nokia Valyrian board that suffer from this problem.

To handle this, drop the internal PHY interrupt property from DTSI and add
it only to the Gemtek W1700K DTS where it was reported to work correctly.

(cherry picked from commit 89d8dc13d0)
[ drop Gemtek W1700K ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-05-14 22:07:45 +02:00
Christian Marangi 72dbda4344 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
(cherry picked from commit 25f92aaae1)
[ fix conflict error, drop invalid patch ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-05-14 21:09:29 +02:00
Lorenzo BianconiandChristian Marangi 6bbc109633 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
(cherry picked from commit c5a8ddd0ac)
[ fix conflict errors ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-05-14 20:49:43 +02:00
Mikhail KshevetskiyandChristian Marangi fb959f67fe airoha: net: fix building for en7523
Latest an7581/an7583 improvements breaks en7523. This patch just fixes
en7523 building.

Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>
Link: https://github.com/openwrt/openwrt/pull/20365
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit fe31e5c82a)
[ fix conflict error, refresh patch ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-05-14 20:41:03 +02:00
Lorenzo BianconiandChristian Marangi ecb7f66949 airoha: npu: Init BA memory region if provided via DTS
Initialize NPU Block Ack memory region if reserved via DTS.
Block Ack memory region is used by NPU MT7996 (Eagle) offloading.

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Link: https://github.com/openwrt/openwrt/pull/22289
(cherry picked from commit 305f685f83)
[ fix conflict error ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-05-14 20:34:46 +02:00
Aleksander Jan BajkowskiandChristian Marangi 0c77a7d8dd airoha: show link rate and duplex
Implement the .get_link_ksettings to get the rate, duplex, and
auto-negotiation status.

Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
Link: https://github.com/openwrt/openwrt/pull/21530
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 4953db3aef)
[ fix conflict error ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-05-14 20:30:31 +02:00
Christian Marangi eab260115a 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
(cherry picked from commit 9b21478d96)
[ fix conflict errors ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-05-14 20:23:46 +02:00
Christian Marangi 62dc186272 airoha: fix kernel panic from I2S driver
Commit 8f1914053b ("airoha: replace I2S patch with upstream pending
version") introduced a kernel panic with I2S driver.

Add the fixed patch to fix the kernel panic.

Fixes: 8f1914053b ("airoha: replace I2S patch with upstream pending version")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit cc57e155a6)
2026-05-14 20:21:12 +02:00
Christian Marangi 6f66bee6ba airoha: replace I2S patch with upstream pending version
Replace I2S sound patch with upstream pending version. This adds ETDM
support and fix various bug in the downstream implementation.

(cherry picked from commit 8f1914053b)
[ fix conflict error ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-05-14 20:18:33 +02:00
Kenneth KasilagandChristian Marangi 530d3329f4 airoha: an7581: disable NPU offload stats for eagle
'CONFIG_NET_AIROHA_FLOW_STATS=y' currently breaks NPU
offload for AN7581+MT7996, so disable it for now.

Signed-off-by: Kenneth Kasilag <kenneth@kasilag.me>
Link: https://github.com/openwrt/openwrt/pull/22300
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit d09041eb8a)
2026-05-14 20:18:33 +02:00
Christian Marangi 6bd5ed7254 airoha: an7581: drop airoha,x2-mode related property and enable in device
Drop airoha,x2-mode related property from the DTSI and enable them only in
the relevant devices that use a PCIe0 line. x2-mode should be enabled only
for the WiFi card that would use it as it might cause problem for WiFi card
that expect 2 single PCIe x1 line instead of a single PCIe x2 line.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 0bf1870245)
2026-05-14 20:18:33 +02:00
Ryan ChenandChristian Marangi db4a0d5935 airoha: fix EN7581 PCIe initialization and add x2 link support
Fix two hardware initialization issues in the EN7581 PCIe controller
and add support for x2 (2-lane) link mode.

Fixes:

The upstream EN7581 PCIe initialization writes EQ presets and PIPE
configuration registers before clk_bulk_prepare_enable(). Since the
MAC clocks are not yet running at that point, these register writes
are silently dropped, leaving the hardware with default values. This
can cause link training failures or suboptimal equalization.

Additionally, after link training the MAC may only advertise Gen1-Gen2
capability in the Link Capabilities 2 register despite the PHY being
configured for Gen3. A serdes reset toggle forces the MAC to re-read
PHY capability, recovering Gen3 8GT/s link speed.

Both issues are addressed by separating PERST from the clock callbacks
(patch 911), allowing the PCIe controller driver to properly sequence
PERST, clock enable, and register writes (patch 912).

New feature:

PCIe x2 mode support for EN7581 using the NP_SCU system controller
for serdes mux routing, PERST management, and lane configuration.
Both bonded MACs are configured for x2 operation with proper EQ
presets before link training begins.

Signed-off-by: Ryan Chen <rchen14b@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21978
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 8b9bd686e7)
[ refresh patch ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-05-14 20:18:32 +02:00
Christian Marangi 4699a8ad45 airoha: an7581: add specific NPU dtsi and update eMMC and W1700K
Add specific DTSI for NPU firmware based on the supported WiFi chip and
update the supported device by including the relevant new DTSI.

(cherry picked from commit f075c1148d)
[ drop W1700K dts change ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-05-14 20:18:32 +02:00
Lorenzo BianconiandChristian Marangi 503ffed6c4 airoha: add the capability to read firmware names from dts
Introduce the capability to read the firmware binary names from device-tree
using the firmware-name property if available.
This is a preliminary patch to enable NPU offloading for MT7996 (Eagle)
chipset since it requires a different binary with respect to the one
used for MT7992 on the EN7581 SoC.

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Link: https://github.com/openwrt/openwrt/pull/22289
(cherry picked from commit 123557f0e2)
[ refresh patch ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-05-14 20:18:22 +02:00
Jan KardellandHauke Mehrtens 44d98eec23 openssl: update to version 3.0.20
OpenSSL 3.0.20 is a security patch release. The most severe CVE fixed in
this release is Moderate.

This release incorporates the following bug fixes and mitigations:

* Fixed incorrect failure handling in RSA KEM RSASVE encapsulation.
  (CVE-2026-31790)

* Fixed potential use-after-free in DANE client code.
  (CVE-2026-28387)

* Fixed NULL pointer dereference when processing a delta CRL.
  (CVE-2026-28388)

* Fixed possible NULL dereference when processing CMS
  KeyAgreeRecipientInfo.
  (CVE-2026-28389)

* Fixed possible NULL dereference when processing CMS
  KeyTransportRecipientInfo.
  (CVE-2026-28390)

* Fixed heap buffer overflow in hexadecimal conversion.
  (CVE-2026-31789)

Signed-off-by: Jan Kardell <jan.kardell@telliq.com>
Link: https://github.com/openwrt/openwrt/pull/23346
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-05-14 11:26:47 +02:00
Hauke Mehrtens aa8e6a95ff kernel: bump 6.6 to 6.6.138
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.138

All patches autorefreshed.

Link: https://github.com/openwrt/openwrt/pull/23291
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-05-12 23:10:49 +02:00
Tianling Shen 31a298b787 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2026-05-06 15:42:53 +08:00
Tomáš MacholdaandHauke Mehrtens 14a27ac99d kernel: bump 6.6 to 6.6.137
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.137

All patches autorefreshed.

Signed-off-by: Tomáš Macholda <tomas.macholda@nic.cz>
Link: https://github.com/openwrt/openwrt/pull/23170
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-05-03 01:38:48 +02:00
Tomáš MacholdaandHauke Mehrtens 2e9a1637dd kernel: bump 6.6 to 6.6.136
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.136

Manually refreshed patches:
generic/backport-6.6/752-26-v6.10-net-ethernet-mtk_eth_soc-ppe-add-support-for-multipl.patch [1]
generic/hack-6.6/902-debloat_proc.patch [2]

All other patches autorefreshed.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.136&id=71ca90c26eef6fe84c5b08824f8aeb65bb9e3a04
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.136&id=002a73470b56848e4c81efeaaedd471e92d66d8d

Signed-off-by: Tomáš Macholda <tomas.macholda@nic.cz>
Link: https://github.com/openwrt/openwrt/pull/23170
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-05-03 01:38:48 +02:00
Tianling Shen e80138d7fe Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2026-05-02 15:40:55 +08:00
Goetz GoerischandHauke Mehrtens 00da0d2bce kernel: bump 6.6 to 6.6.135
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.135

Removed patches after upstream fix:
generic/pending-6.6/360-Revert-MIPS-mm-kmalloc-tlb_vpn-array-to-avoid-stack-.patch [1]
generic/pending-6.6/361-Revert-MIPS-mm-Prevent-a-TLB-shutdown-on-initial-uni.patch [1]

Upstream fixed booting the RealTek MIPS 4KEc SoCs. The reverts are not
needed any more.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.135&id=811b3dccfb0aad889e4691f2c79c0cfa0cdfe78b

Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23083
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-04-30 10:33:46 +02:00
Goetz GoerischandHauke Mehrtens b11cca05b1 kernel: bump 6.6 to 6.6.134
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.134

Manually refreshed patches:
generic/pending-6.6/360-Revert-MIPS-mm-kmalloc-tlb_vpn-array-to-avoid-stack-.patch [1]

Drop upstreamed patches:
ramips/patches-6.6/100-mips-ralink-update-CPU-clock-index.patch [2]

All other patches autorefreshed.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.134&id=43fa022b56dcdb0026ed82c76fd9f0775ecf2202
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.134&id=e01779a5c0283078120d26b9954752a323b571bb

Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23083
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-04-30 10:31:13 +02:00
Hauke Mehrtens a6149ff867 build: do not set CCACHE_COMPILERCHECK
Stop overriding CCACHE_COMPILERCHECK from rules.mk and rely on
ccache's default, which hashes the compiler binary's mtime and
size.

For a local tree that is enough: the toolchain only changes when
it is rebuilt, and a rebuild updates mtime and size. Users who
want a stricter check can still set CCACHE_COMPILERCHECK in their
environment.

CI does not depend on this export either. The workflow writes a
secondary ccache.conf with

  compiler_check=string:<toolchain-commit-sha>

so the cache key is tied to the toolchain source revision. That
is both stricter than the previous "%compiler% -v -c" setting
and portable across runners, where compiler mtimes would not
match after restoring a cache archive.

Link: https://github.com/openwrt/openwrt/pull/22995
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 3956287514)
2026-04-30 10:27:37 +02:00
Markus GotheandHauke Mehrtens 71d259b599 rules.mk: Update ccache's compiler check.
Update the compiler check for ccache so we don't
end up with the wrong binaries. Right now the
compiler check will not be able to correctly
distinguish the compiler used for build
ARMv8 binaries from the one used to build
ARMv7 binaries.

Signed-off-by: Markus Gothe <markus.gothe@genexis.eu>

Link: https://github.com/openwrt/openwrt/pull/16290
Signed-off-by: John Crispin <john@phrozen.org>
(cherry picked from commit 3859e8eeb8)
2026-04-30 10:27:32 +02:00
Harin LeeandChristian Marangi b76c38f9e2 wifi-scripts: fix macaddr check in mac80211.uc
This fixes a simple logic error in the macaddr existence check in mac80211.uc.

Signed-off-by: Harin Lee <me@harin.net>
Link: https://github.com/openwrt/openwrt/pull/21277
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 2ebcda1ea6)
Link: https://github.com/openwrt/openwrt/pull/23100
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-04-29 09:47:23 +02:00
Christian Marangi c5de245171 uboot-airoha: drop HIDDEN option
Drop HIDDEN option from U-Boot default for Airoha while support for ATF
gets pushed.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit cce81ed05b)
2026-04-28 18:08:48 +02:00
Christian Marangi 507bd4c775 boot: Introduce support for U-Boot support for Airoha EN7581/AN7583
Introduce support for U-Boot for Airoha EN7581/AN7583. For EN7581
initial patch are already in U-Boot mainline and doesn't require
backport, for AN7583 some patch are still pending but already posted
upstream.

Also add for now, precompiled binary for ATF BL2 and BL31. Support for
ATF is planned and will come later.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 04f6769a4a)
2026-04-28 18:08:21 +02:00
Tianling Shen 74891863f2 ImmortalWrt v24.10.6: revert to branch defaults
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2026-04-26 19:16:30 +08:00
Tianling Shen 5fa11a1b56 ImmortalWrt v24.10.6: adjust config defaults
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2026-04-26 19:16:26 +08:00
Tianling Shen cf234f8de6 mediatek: fix DTS include for zbt z8103ax
mt7981b -> mt7981.

Fixes: 6677ae327a ("mediatek: extract DTS include for zbt z8103ax")
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2026-04-22 09:24:34 +08:00
Tianling Shen 07972a2388 mediatek: add Ruijie RG-X60 support
Hardware specification:
  SoC: MediaTek MT7986A 4x A53
  Flash: 128MB SPI-NAND (W25N01GVZEIG)
  RAM: 512MB DDR3 (W634GU6QB)
  Ethernet: 3x 1GbE (MT7531) + 1x 2.5GbE (EN8811H)
  WiFi: MediaTek MT7975(P)N
  Button: Mesh, Reset
  Power: DC Jack 12V

Flash instructions:
Login into the webUI and flash sysupgrade.bin without saving
configurations.

While at it, create a shared dtsi for X60 and X60-Pro devices and
assign MAC using NVMEM as much as possible. The SPI frequcency has
been increased to 52 MHz as well since the chip supports up to
108 MHz.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2026-04-18 21:21:24 +08:00
Jörg SeitzandTianling Shen bae932def0 mediatek: add support for device zbt-z8103ax-c
- adopted MTD partition size increase from 64M to 128M
  -> this allows boot to complete
- moved MAC addressing stuff out of partition definitions
- all MAC addressing stuff is in .dtsi

Specifications:

SoC: MediaTek MT7981B
RAM: 256MiB
Flash: Winbond SPI-NAND 128 MiB
Switch: 1 WAN, 3 LAN (Gigabit) MediaTek MT7531
Buttons: Reset, Mesh
Power: DC 12V 1A
WiFi: MT7981B 2.4Ghz & 5.8Ghz

Led Layout from bottom to top:

    Power
    Mesh (RGB Led, user controllable, default set to OpenWrt Status)
    WLAN 2 GHz (user controllable)
    WAN (user controllable)
    LAN3
    LAN2
    LAN1
    WLAN 5 GHz (Not on front panel but blinks through enclosure,
               user controllable)

Buttons:

    Reset
    Mesh (user controllable, no default function)

Installation:

A. Through U-Boot menu:

 -  Prepare your connecting computer to use a static IP in
	network 192.168.1.0/24
 -  Power down the router and hold in the Reset button.
 -  While holding in the button power up the router again.
 -  Hold the button in for 10 seconds and then release.
 -  Use your browser to go to 192.168.1.1
 -  If you see a GUI allowing for flashing firmware then
	you got the right model.
 -  Upload the sysupgrade file.

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

B. Through OpenWrt Dashboard:

    If your router comes with OpenWrt preinstalled
	(modified by the seller), you can easily upgrade
	by going to the dashboard (192.168.1.1) and then
	navigate to System -> Backup/Flash firmware,
	then flash the firmware

MAC Addresses were found in Factory partition:

offset 0x4 F8:5E:3C:xx:xx:aa --> Router Label -2
offset 0xa F8:5E:3C:xx:xx:bb --> Router Label -1
offset 0x24 F8:5E:3C:xx:xx:cc --> Router Label +1
offset 0x2a F8:5E:3C:xx:xx:yy --> printed on Router Label

Signed-off-by: Jörg Seitz <github.joeterminal@xoxy.net>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 479f1403f2)
2026-04-17 09:26:02 +08:00
Jörg SeitzandTianling Shen 6677ae327a mediatek: extract DTS include for zbt z8103ax
- Use .dtsi for old z8103ax featuring a 64M Nand
- Prepare .dtsi for model C of z8103ax featuring a 128M Nand

This .dtsi is supposed to match boards labeled as hardware
revision Z8103AX_V01. Model variant D of zbt-z8103ax appears
to use very same board.

DTS include does also

- set wifi mac addresses in &wifi section
- set eth mac addresses in &eth section
- set LAN switch mac addresses in &switch section

All of the above allows to get rid of 11_fix_wifi_mac script

Signed-off-by: Jörg Seitz <github.joeterminal@xoxy.net>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit b21b019af4)
2026-04-17 09:25:55 +08:00
Tianling Shen 03e5e9122d Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2026-04-14 11:05:28 +08:00
Hauke Mehrtens 44df9972d5 scripts/ext-tools.sh: set all prebuilt tool files to same timestamp
The GitHub CI was sometimes still building some tools again even when
the same version was already pre-built. This change fixes the problem
and should improve the speed of the GitHub CI actions. The duration of
the "Build tools" step will be reduced from 5 to 20 minutes down to
10 to 15 seconds.

make also checks that dependencies are not more recent than the target
it wants to build. Previously find returned files in an arbitrary order
and touch set the current timestamp. Since touch is called per file the
timestamps differ in fractional seconds, so not all files got the same
time. make detected a more recent dependency and started to rebuild.
Now all files are set to the same timestamp and make will assume
everything is up to date.

It is sufficient to only touch the stamp files to prevent rebuilding.

Link: https://github.com/openwrt/openwrt/pull/22888
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit cd6cb9f765)
2026-04-12 20:14:18 +02:00
Mario Andrés PérezandHauke Mehrtens c77f9c834d bcm53xx: image: sync targets names with DT compatible
Some devices profile names and *.dts files are named without suffix
"-v1" but the DT compatible has the suffix. (xwr-3150 exception)

This breaks ASU sysupgrades since the default SUPPORTED_DEVICES is the
makefile image profile target and it does not match the actual DT
compatible sent by the ASU client.

This is not breaking sysupgrade because the platform implementation
does not depends on DEVICE_NAME(not use sysupgrade-TAR). And the
board_name() checks are done against the correct DT compatible.[1]

[1]: https://github.com/openwrt/openwrt/blob/09e7b24ceb5d9310334c4f88327dc6d58052e7fd/target/linux/bcm53xx/base-files/lib/upgrade/platform.sh#L36-L62
Fixes: https://github.com/openwrt/asu/issues/560
Fixes: https://github.com/openwrt/asu/issues/560#issuecomment-2083236275
Fixes: https://github.com/openwrt/asu/issues/1108
Fixes: https://forum.openwrt.org/t/luci-attended-sysupgrade-support-thread/230552/243
Fixes: c459a6b "bcm53xx: add support for Luxul FullMAC WiFi devices"
Fixes: 1d47f81 "bcm53xx: build images for Luxul ABR-4500 and XBR-4500 routers"
Signed-off-by: Mario Andrés Pérez <mapb_@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/21056
(cherry picked from commit ff63c5cd82)
Link: https://github.com/openwrt/openwrt/pull/22829
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-04-12 20:12:58 +02:00
Goetz GoerischandHauke Mehrtens 2b9f01bebc kernel: bump 6.6 to 6.6.133
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.133

All patches autorefreshed.

Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22752
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-04-12 20:06:33 +02:00
Goetz GoerischandHauke Mehrtens 04b36e29d5 kernel: bump 6.6 to 6.6.132
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.132

All patches autorefreshed.

Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22752
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-04-12 20:06:33 +02:00
Goetz GoerischandHauke Mehrtens 51ac6f9a7f kernel: bump 6.6 to 6.6.131
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.131

All patches autorefreshed.

Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22752
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-04-12 20:06:33 +02:00
Goetz GoerischandHauke Mehrtens 032575c72a kernel: bump 6.6 to 6.6.130
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.130

Manually refreshed patches:
generic/hack-6.6/790-SFP-GE-T-ignore-TX_FAULT.patch [1]
generic/pending-6.6/680-net-add-TCP-fraglist-GRO-support.patch [4]

Dropped upstreamed patches:
airoha/patches-6.6/083-01-v6.13-resource-Add-resource-set-range-and-size-helpers.patch [2]
generic/pending-6.6/685-net-gso-fix-tcp-fraglist-segmentation-after-pull-fro.patch [3]

All other patches autorefreshed.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.130&id=783025a3babbc526dd0b31f36cc4edc8c2153c8a
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.130&id=ffe8617e2e5b388d43462a56c5042e35f701195b
[3] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.130&id=e19201b0c67da5146eaac06fd3d44bd7945c3448
[4] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.130&id=1f2b859225eb8d1ec974214ce4a581f8c528ae57

Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22752
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-04-12 20:06:33 +02:00
Trix TaicletandHauke Mehrtens 9d0bafca52 uboot-tegra: fix build with swig 4.3.0
Swig 4.3.0 has changed SWIG_Python_AppendOutput, which now requires an
additional parameter `is_void`. SWIG_AppendOutput remains unchanged.
This was fixed upstream in u-boot/u-boot@a63456b

```
scripts/dtc/pylibfdt/libfdt_wrap.c: In function '_wrap_fdt_next_node':
scripts/dtc/pylibfdt/libfdt_wrap.c:5581:17: error: too few arguments to function 'SWIG_Python_AppendOutput'
 5581 |     resultobj = SWIG_Python_AppendOutput(resultobj, val);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~
```

This is the same fix as applied in 363e07d.

Signed-off-by: Trix Taiclet <git@trix.moe>
Link: https://github.com/openwrt/openwrt/pull/22870
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-04-12 20:02:12 +02:00
Trix TaicletandHauke Mehrtens 1e61a54d72 uboot-sunxi: fix build with swig 4.3.0
Swig 4.3.0 has changed SWIG_Python_AppendOutput, which now requires an
additional parameter `is_void`. SWIG_AppendOutput remains unchanged.
This was fixed upstream in u-boot/u-boot@a63456b

```
scripts/dtc/pylibfdt/libfdt_wrap.c: In function '_wrap_fdt_next_node':
scripts/dtc/pylibfdt/libfdt_wrap.c:5581:17: error: too few arguments to function 'SWIG_Python_AppendOutput'
 5581 |     resultobj = SWIG_Python_AppendOutput(resultobj, val);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~
```

This is the same fix as applied in 363e07d.

Signed-off-by: Trix Taiclet <git@trix.moe>
Link: https://github.com/openwrt/openwrt/pull/22870
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-04-12 20:02:12 +02:00
Robert Marko fbca86e8bd qualcommax: ipq807x: mx5300: use existing aliases node
No need to add another aliases node just for the label-mac-device,
luckily DTC was smart enough to combine them together in the final DTB.

Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 1f535037b1)
2026-04-10 18:31:26 +02:00
Tianling Shen 4e2dc2070f Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2026-04-10 10:31:01 +08:00
Steffen FörsterandRobert Marko beaf298c4c qualcommax: ipq807x: label mac for Linksys MX5300
The correct label mac is needed in a downstream project.

Signed-off-by: Steffen Förster <nemesis@chemnitz.freifunk.net>
Link: https://github.com/openwrt/openwrt/pull/22802
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-04-07 14:15:08 +02:00
Tianling Shen 6185228029 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2026-04-07 10:39:47 +08:00
Florian MaurerandHauke Mehrtens a64f028d39 ramips-mt7621: fix xiaomi mi ac2100 mac address
The Xiaomi Redmi/Mi Router AC2100 does have the correct label mac on the WAN interface.
This MAC is available as gmac1.

Signed-off-by: Florian Maurer <f.maurer@outlook.de>
Link: https://github.com/openwrt/openwrt/pull/22567
(cherry picked from commit b1713d623b)
Link: https://github.com/openwrt/openwrt/pull/22624
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-04-03 17:51:10 +02:00
Goetz GoerischandHauke Mehrtens 81abc8d9d1 kernel: bump 6.6 to 6.6.129
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.129
Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22348
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-04-03 17:15:21 +02:00
Goetz GoerischandHauke Mehrtens ea7c6f03ac kernel: bump 6.6 to 6.6.128
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.128

Add new KConfig symbols:
MFD_TN48M_CPLD [7]
MFD_SPACEMIT_P1 [8]

Removes upstreamed patches:
bcm27xx/patches-6.6/950-0291-media-i2c-ov5647-Correct-pixel-array-offset.patch [1]
bcm27xx/patches-6.6/950-0292-media-i2c-ov5647-Correct-minimum-VBLANK-value.patch [2]
bcm27xx/patches-6.6/950-0310-media-i2c-ov5647-Sensor-should-report-RAW-color-spac.patch [3]

Manually rebase patches:
bcm27xx/patches-6.6/950-0331-mfd-simple-mfd-i2c-Add-configuration-for-RPi-POE-HAT.patch [4]
bcm27xx/patches-6.6/950-1275-drivers-mfd-sensehat-Add-Raspberry-Pi-Sense-HAT-to-s.patch [4]
bcm27xx/patches-6.6/950-1330-media-i2c-ov5647-Add-V4L2_CID_LINK_FREQUENCY-control.patch [5]
lantiq/patches-6.6/0101-find_active_root.patch [6]

All other patches autorefeshed.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.128&id=1f413dac763a8caed44d8591aa064e4ab8061f52
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.128&id=e5f4aad2627dd9e5da46ad1325795ec12046facb
[3] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.128&id=c146483bad46e4abb7ab9c706adc51cd54f1a81e
[4] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.128&id=b07aa526d05378bd6d2d61294424e411f4a14fe0
[5] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.128&id=089625cccd7eb8d65a381e81f1e3e1db064334df
[6] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.128&id=9fbbd62436cec79b6a08c03f5711fcbef89a208d
[7] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.128&id=29040d42d641892cbd7c5d91306063ceb2cac103
[8] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.128&id=d9e5d3e1924abe95babc0762c8f5c67382bf389a

Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22348
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-04-03 17:14:57 +02:00
Shiji YangandHauke Mehrtens 2120db27b5 lantiq: fix mtdparsers refcount leak and memory leak
Release previously allocated memory and OF node before return.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22276
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 4778e35464)
Link: https://github.com/openwrt/openwrt/pull/22348
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-04-03 17:14:27 +02:00
Tianling Shen 985637f52f loongarch64: increase CMA size to 64M for drm support
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit d82e3b0bfe)
2026-03-31 12:25:35 +08:00
Tianling Shen 2b462245b9 kernel: netdevices: enable hinic/igbvf/stmmac-core driver for loongarch64
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 9bd14fd6c5)
2026-03-31 12:25:33 +08:00
Tianling Shen 6fee224a35 loongarch64: add common pcie ethernet drivers by default
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 7259b8ca82)
2026-03-27 18:35:23 +08:00
Tianling Shen 862107cd95 yt6801: add Motorcomm YT6801 PCIe ethernet driver
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2026-03-26 14:12:30 +08:00
Tianling Shen 2173af82a7 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2026-03-18 11:06:51 +08:00
Hauke Mehrtens 214a657cfa OpenWrt v24.10.6: revert to branch defaults
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-17 23:48:43 +01:00
Hauke Mehrtens ec8eeaa8fb OpenWrt v24.10.6: adjust config defaults
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-17 23:48:40 +01:00
Oliver SedlbauerandHauke Mehrtens 81be8a8869 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>
(cherry picked from commit a15b224e83)
2026-03-17 01:58:59 +01:00
Hauke Mehrtens 3214b8a328 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>
(cherry picked from commit d405685b44)
[Fix danube.dtsi too]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-17 01:58:10 +01:00
Hauke Mehrtens 77d54cca84 jsonfilter: fix memory leak in jsonfilter
Cherry pick an upstream patch to fix a memory leak.

Fixed in OpenWrt main branch in commit
2c2cea8864 ("package: update jsonfilter to latest HEAD 2026-03-12")

Link: https://github.com/openwrt/jsonpath/commit/e086664e6a570630e8feba889482f174a9a8715e
Link: https://github.com/openwrt/openwrt/pull/22440
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-16 00:54:02 +01:00
Daniel Golle 3e77f8c7ab procd: update to git HEAD (2026-03-14)
Update procd cherry-picking fixes from main branch to dedicated
openwrt-24.10 backport branch.

 c59f2d8 instance: don't print error in case cgroups are disabled
 196291a instance: use positive error numbers for strerror()
 d23ddec rcS, ubus: constify char * arguments and variables where appropriate
 aeeef20 instance: use mkdir_p helper
 d033b7c signal: handle SIGUSR1 as halt
 8bc8377 cgroups: fix syntax error
 909d02b instance: check length of names when creating cgroups
 5ec782f procd: jail/cgroups: fix OOB write in cgroups_apply()
 8581313 hotplug-dispatch: fix filter disallowing setting PATH
 6265463 service instance: Improve handling of watchdog config changes
 45bef92 service instance: Fix overwriting of watchdog linked list members
 8294471 coldplug: fix missing header include
 fb1c92b hotplug-dispatch: fix missing header include
 6dafa86 initd/coldplug: create /dev/null before running udevtrigger
 c268f13 hotplug-dispatch: redirect output to /dev/null
 b8c4f86 hotplug-dispatch: use stat if d_type is DT_UNKNOWN
 1f2aa1a system: fix arguments validation in ubus handler
 7e5e049 service: fix use-after-free on service data update
 3f48d76 instance: convert jail feature flags to bitmap
 2c7c0d2 rcS: avoid duplicate pending "running" calls
 5a9b16d service: re-run init script "running" command after instance restart
 d5a45ff jail: fix NULL-pointer dereference when connection to ubus failed
 8de8cdf jail: always handle mkdir() return value
 fa594db jail: seccomp-oci: fix uninitialized pointer read in error path

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-03-14 01:18:07 +00:00
Jonas Gorski 68befe26ac umdns: update to Git HEAD (2026-02-06)
a52cdb354d13 dns: validate IPv4 record addresses
b798c24205b5 dns: validate IPv6 record addresses
a3dcb4adc635 dns: validate reverse dns query name lengths

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
(cherry picked from commit 8a7eb57ab8)
2026-03-12 20:41:06 +01:00
Hauke Mehrtens fb624926e3 wireless-regdb: update to version 2026.02.04
75bedc5 wireless-regdb: Update regulatory info for Australia (AU) for 2025
a6e5195 wireless-regdb: Update broken link in regulatory.bin(5) manpage
9e8c67f wireless-regdb: Update regulatory info for Malaysia (MY) for 2024
61a4637 wireless-regdb: Update regulatory info for Malaysia (MY) for 2025
5cefe55 wireless-regdb: Update regulatory info for Tunisia (TN) on 6GHz for 2025
1a729ae wireless-regdb: Update regulatory info for Canada (CA) for 2025
ea20dfa wireless-regdb: update regulatory database based on preceding changes

Link: https://github.com/openwrt/openwrt/pull/22150
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 7c5e329b54)
2026-03-12 00:17:52 +01:00
Tianling Shen 86ccf0e8e1 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2026-03-11 14:22:08 +08:00
Hauke MehrtensandTianling Shen 451b1ee049 ustream-ssl: update to Git HEAD (2026-03-01)
99f1c0db5a72 ustream-openssl: Fix use-after-free crash under high load and optimize BIO_METHOD lifecycle

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit e558d763be)
2026-03-11 14:21:23 +08:00
Christian MarangiandTianling Shen 47ac19447c ustream-ssl: update to Git HEAD (2025-10-03)
5a81c108d20e CMakeLists: update cmake minimum required version to 3.10

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 5bfb5ee68f)
2026-03-11 14:21:15 +08:00
Aleksander Jan BajkowskiandChristian Marangi 6f55a70589 airoha: an7581: add switch ports interrups
The MT7531 has an incorrect interrupt number described in the DTS.
This commit also adds PHY interrupts. They work the same as on
the MT7988.

Tested on Gemtek W1700k.

Suggested-by: Benjamin Larsson <benjamin.larsson@genexis.eu>
Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
Link: https://github.com/openwrt/openwrt/pull/21016
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 788958880b)
[ fix conflict error, adapt for kernel 6.6 ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-03-11 00:26:12 +01:00
Ziyang HuangandChristian Marangi 54045c9e53 airoha: an7581: correct led nodename
Use standard name.

Signed-off-by: Ziyang Huang <hzyitc@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/20482
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit f5bf8c2b94)
2026-03-11 00:21:25 +01:00
Ziyang HuangandChristian Marangi 2045b37953 airoha: an7581: correct phy nodename
Let node unit address same as reg.

Signed-off-by: Ziyang Huang <hzyitc@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/20482
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 077120fb64)
2026-03-11 00:21:17 +01:00
Ziyang HuangandChristian Marangi 0dbc3f8a3c airoha: an7581: move the switch led label from soc-level to board-level
Different boards use different port map. For example, some board may use
a GE port as WAN. So defining the led label in board-level is better.

Signed-off-by: Ziyang Huang <hzyitc@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/20482
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit ea54b6a478)
2026-03-11 00:18:59 +01:00
Ziyang HuangandChristian Marangi 90b8458808 airoha: an7581: move the switch port label from soc-level to board-level
Different boards use different port map. Defining the port labels in
board-level is better.

Signed-off-by: Ziyang Huang <hzyitc@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/20482
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit e2f7ad08c7)
2026-03-11 00:15:15 +01:00
Ziyang HuangandChristian Marangi ef3c7ee1fb airoha: an7581: disable all switch port and phy by default
Some board only use some of them, so enable as necessary in
board-level dts.

Signed-off-by: Ziyang Huang <hzyitc@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/20482
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 007aa5a51c)
2026-03-11 00:15:03 +01:00
Chukun PanandChristian Marangi cee2968fca airoha: an7581: refresh kernel config
Enable MEDIATEK_GE_SOC_PHY driver and disable NET_DSA_MT7530_MDIO.
Refresh kernel configs with 'make kernel_oldconfig CONFIG_TARGET=subtarget'.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Link: https://github.com/openwrt/openwrt/pull/20190
(cherry picked from commit dae30d83ea)
[ fix conflict error ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-03-10 16:06:26 +01:00
Christian Marangi 6dda63a373 airoha: an7581: cleanup kernel config
Cleanup kernel config and drop all unrelated configs. This have the side
effect of fixing the port not going up automatically due to Bridge VLAN
Filtering disabled.

Link: https://github.com/openwrt/openwrt/pull/18112
(cherry picked from commit 7805100e15)
[ fix conflict errors ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-03-09 19:57:27 +01:00
Tim HarveyandHauke Mehrtens 01aff6f3c2 imx: cortexa53: enable DMA contiguous memory allocator
Enable and configure DMA contiguous memory allocator. Without this
CMA itself will be disabled.

Fixes: ae8bf1a26e ("imx: add imx8m support")
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
(cherry picked from commit eef354ff34)
Link: https://github.com/openwrt/openwrt/pull/22203
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-09 01:42:02 +01:00
Goetz GoerischandHauke Mehrtens 1b4efac836 Revert "kernel: revert ip6_tunnel use skb_vlan_inet_prepare() in __ip6_tnl_rcv()"
This reverts commit 466d57ea24.

A backport commit was missing, which was backported upstream with
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.127&id=f478b8239d6564b20bbf2972e441c31f945a2b76
Link: https://lore.kernel.org/all/CANn89iL5ksZZCJr7SK9=4Sw6EejdOzr5_m6pBMM8RVtbLy_ACA@mail.gmail.com/

Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21919
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-09 01:35:14 +01:00
Goetz GoerischandHauke Mehrtens 5e819e4bde kernel: bump 6.6 to 6.6.127
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.127

Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21919
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-09 01:35:14 +01:00
Goetz GoerischandHauke Mehrtens 1591d66f09 kernel: bump 6.6 to 6.6.126
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.126

All patches autorefreshed.

Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21919
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-09 01:35:14 +01:00
Goetz GoerischandHauke Mehrtens c5f645581a kernel: bump 6.6 to 6.6.125
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.125

All patches autorefreshed.

Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21919
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-09 01:35:14 +01:00
Goetz GoerischandHauke Mehrtens cfbe693405 kernel: bump 6.6 to 6.6.124
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.124

All patches autorefreshed.

Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21919
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-09 01:35:14 +01:00
Goetz GoerischandHauke Mehrtens a492a91715 kernel: bump 6.6 to 6.6.123
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.123

Adds backported patches, as they were reverted upstream:
generic/backport-6.6/600-v6.10-net-Remove-conditional-threaded-NAPI-wakeup-based-on.patch [1]
generic/backport-6.6/601-v6.10-net-Allow-to-use-SMP-threads-for-backlog-NAPI.patch [2]

All other patches autorefreshed.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.123&id=5a530c8ead06e63e6d4f4997ad5e490575a48f3d
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.123&id=507692c05636311fffb39dac90d434a078f69215

Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21919
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-09 01:35:13 +01:00
Tianling Shen 676648e27b Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2026-03-05 17:05:48 +08:00
Chukun PanandChristian Marangi 9c04f527c6 airoha: backport and fix pinctrl driver
Backport changes to the pinctrl driver to bring it closer to
the upstream version. Also fix the bug in the pinctrl driver:

pinctrl-airoha ...pinctrl: invalid function mdio in map table

Fixes: bd7f5b3 ("airoha: replace AN7583 pinctrl patch with upstream version")
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Link: https://github.com/openwrt/openwrt/pull/20770
(cherry picked from commit 69f0ee5baf)
[ fix conflict errors, adapt to 6.6 ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-03-04 12:38:07 +01:00
Christian Marangi 530cd87815 airoha: replace AN7583 pinctrl patch with upstream version
Replace Airoha AN7583 pinctrl patch with upstream version as it has been
accepted upstream. Add the related kernel version tag to identify it.

(cherry picked from commit bd7f5b32a6)
[ fix conflict errors, adapt to 6.6 ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-03-04 12:38:07 +01:00
David Bauer a89e40993b wifi: mt76: mt76x02: wake queues after reconfig
The shared reset procedure of MT7610 and MT7612 stop all queues before
starting the reset sequence.

They however never restart these like other supported mt76 chips
do in the reconfig_complete call. This leads to TX not continuing
after the reset.

Restart queues in the reconfig_complete callback to restore
functionality after the reset.

Signed-off-by: David Bauer <mail@david-bauer.net>
Link: https://patchwork.kernel.org/project/linux-wireless/patch/20251129023904.288484-1-mail@david-bauer.net/
2026-03-04 12:00:31 +01:00
Mieczyslaw NalewajandRobert Marko f7005097ae mt7620: workaround jal imm26 and redundant PAGE_ALIGN
On MT7620-class platforms (CONFIG_NET_RALINK_MT7620) we observe sporadic
wrong-jump-targets, kernel oopses, hanging, corrupted backtraces or even
"half-written" instructions when the compiler emits a direct 'jal imm26'
call.
This is triggered in:
  - the small random helpers inside get_random_u32_below(), and
  - the blkcg_maybe_throttle_current() call in resume_user_mode_work().

This patch forces those two call sites to use an indirect call via
a volatile function pointer (load into register + jalr) when building
for MT7620, avoiding embedding a 26-bit immediate jump target.

Additionally, on MT7620 builds the exec path in fs/exec.c is modified:
  - skip arch_align_stack() + PAGE_ALIGN() in setup_arg_pages()
    because the micro-randomization (< PAGE_SIZE) implemented by many
    ports (including MT7620) is negated immediately by PAGE_ALIGN().
    Skipping the redundant PAGE_ALIGN() reduces exposure to the
    problematic code pattern.

These changes are targeted workarounds for MT7620; behavioral logic is unchanged.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/20553
(cherry picked from commit 22ccb445e6)
Link: https://github.com/openwrt/openwrt/pull/22216
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-01 11:21:05 +01:00
Tim HarveyandRobert Marko 2bd8d4921f imx: cortexa53: update supported devices
Add some additional Gateworks Venice boards to sysupgrade support.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Link: https://github.com/openwrt/openwrt/pull/22202
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit a9f4daa3fe)
2026-03-01 10:57:57 +01:00
Marcos AlanoandHauke Mehrtens 1bd47397ae build: Add compatibility with uutils' coreutils
Add support so openwrt can be compiled using
coreutils from GNU or uutils.

Signed-off-by: Marcos Alano <marcoshalano@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19883
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 67345ead6c)
2026-02-28 16:49:24 +01:00
Steffen FörsterandDavid Bauer 73819013ee ipq40xx: use NVMEM-on-UBI for ASUS Lyra
Switch the mac lookup to NVMEM on UBI layout and add label-mac for 24.10

Signed-off-by: Steffen Förster <nemesis@chemnitz.freifunk.net>
2026-02-26 13:08:02 +01:00
Sander Vanheule a98f49b968 realtek: hog the GS1900-24E external IC reset line
The GPIO line connecting to the reset signals of the GS1900-24E(A1)'s
external ICs (RTL8218B phys and RTL8231 expander) cannot be asserted by
the MDIO subsystem, as the reset is shared between busses.

To prevent users from accidentally asserting the reset line, a GPIO hog
is created to permanently de-assert the signal, reliably keeping the
phys and GPIO expanders on.

Tested-by: Simon Fischer <simi.fischa@gmail.com>
Signed-off-by: Sander Vanheule <sander@svanheule.net>
(cherry picked from commit ba57225066)
2026-02-24 21:44:22 +01:00
Sander Vanheule ffb3f31f08 realtek: rtl838x: drop GS1900 MDIO reset GPIO
The reset line wired to the RTL8231 on the GS1900 series may also
connect to other external ICs on the board. On the GS1900-24E, the
reset line is wired (via buffers) to the board's RTL8231 expanders and
the RTL8218 phys. As these external devices (phys) are on different
busses, the reset line shouldn't be specified on one bus or the other.

Drop the reset specification from the generic GPIO description, so it
can be added back on a per-device basis after confirming the behavior.

Link: https://github.com/openwrt/openwrt/issues/18620
Fixes: fd978c2e80 ("realtek: Enable Zyxel GS1900's RTL8231 reset line")
Signed-off-by: Sander Vanheule <sander@svanheule.net>
(cherry picked from commit cdbd9eb448)
2026-02-24 21:43:48 +01:00
Tianling Shen 17c46dc20d ImmortalWrt v24.10.5: revert to branch defaults
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2026-02-11 17:40:15 +08:00
Tianling Shen b2bdbd942b ImmortalWrt v24.10.5: adjust config defaults
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2026-02-11 17:40:15 +08:00
Tianling Shen 7c4e882aaf Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2026-02-09 17:37:22 +08:00
Anton DanilovandHauke Mehrtens 5774c8b316 mediatek: add Motorcomm PHY support to Cudy AP3000 v1
Newer Cudy AP3000 v1 routers feature a Motorcomm YT8821 PHY
instead of the Realtek PHY [1]. Support for the YT8821
was recently introduced for the Cudy WR3000H router [2].
On the AP3000, the changes allow the PHY to be autodetected.

[1]: https://forum.openwrt.org/t/cudy-ap3000-v1-indoor-wan-motorcomm-yt8821-support/245491
[2]: https://github.com/openwrt/openwrt/pull/21399

Signed-off-by: Anton Danilov <frimen.c@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21776
(cherry picked from commit 31f30f5a6c)
Link: https://github.com/openwrt/openwrt/pull/21915
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-09 00:36:27 +01:00
Jakub VaněkandHauke Mehrtens bed6f08c36 mediatek: fix PHY autodetection on Cudy WR3000H
Newer Cudy WR3000H units have a Motorcomm YT8821 PHY instead of a
Realtek PHY on the WAN port. Before this commit, the Motorcomm PHY
could not be autodetected by the kernel -- the PHY would show up as
just a generic clause 45 PHY and the proper driver would not be loaded.

The cause of the detection failure likely was that the YT8821 PHY was
held in reset during PHY detection. To fix this, move the reset GPIO
definition to the MDIO bus level. This reset line is deasserted before
the autodetection process, see also [1]. With this change, both Realtek
and Motorcomm PHYs can be supported with a single device tree.

[1]: https://lore.kernel.org/all/20251119134750.394655-1-horatiu.vultur@microchip.com/

Signed-off-by: Jakub Vaněk <linuxtardis@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21399
(cherry picked from commit 02f0efd60b)
Signed-off-by: Jakub Vaněk <linuxtardis@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21531
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-07 16:33:07 +01:00
Andrew MacIntyreandHauke Mehrtens 09e56437e8 mediatek: add Motorcomm PHY driver to Cudy WR3000H
Recent Cudy WR3000H v1 units have a Motorcomm YT8821 2.5G PHY for
the WAN interface instead of the RTL8221B PHY used in earlier units,
so add kmod-phy-motorcomm to be able to use it.

Signed-off-by: Andrew MacIntyre <andymac@pcug.org.au>
[linuxtardis@gmail.com: slightly reworded the commit description]
Signed-off-by: Jakub Vaněk <linuxtardis@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21399
(cherry picked from commit dbafbab876)
Signed-off-by: Jakub Vaněk <linuxtardis@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21531
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-07 16:33:07 +01:00
Andrew MacIntyreandHauke Mehrtens 194275c6f3 kernel: add kmod-phy-motorcomm
The Motorcomm YT8821 2.5G PHY is being used in some devices as an
alternative to devices like the RTL8221B.  Package it as a kmod
so it can be used as a device package rather than requiring changes
to the target kernel config.

Signed-off-by: Andrew MacIntyre <andymac@pcug.org.au>
Link: https://github.com/openwrt/openwrt/pull/21399
(cherry picked from commit 96a1337374)
Signed-off-by: Jakub Vaněk <linuxtardis@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21531
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-07 16:33:07 +01:00
Jakub VaněkandHauke Mehrtens f3de64751c generic: backport Motorcomm YT8821 PHY driver
A recently introduced hardware revision of the Cudy WR3000H
router uses the Motorcomm YT8821 PHY chip on its 2.5G WAN port.
Backport the YT8821 enablement patch to the 6.6 kernel to make
the new WR3000H supportable on OpenWrt 24.10.

Signed-off-by: Jakub Vaněk <linuxtardis@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21531
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-07 16:33:06 +01:00
Tianling Shen fcf106fc7d Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2026-02-05 18:12:12 +08:00
Tim HarveyandHauke Mehrtens 7c22ba7b33 kernel: modules: Add tpm-tis-spi
Add a module for tpm-tis-spi for TCG TIS 1.3 TPM security chips
connected to a regular non-tcg SPI master.

Add imx target compatibility for kmod-tpm.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Link: https://github.com/openwrt/openwrt/pull/21726
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 92a94dc9b0)
Link: https://github.com/openwrt/openwrt/pull/21781
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-05 00:05:31 +01:00
Paweł OwocandHauke Mehrtens 93d54b142e mac80211: ath11k: fix for unsupported 11ax EDCA
Currently publicly available firmware for ath11k does not support
the 11ax EDCA parameter.
Skipping sending this parameter allows the use of STA mode.

Fixes: https://github.com/openwrt/openwrt/issues/21555
Fixes: https://github.com/openwrt/openwrt/issues/20702
Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21563
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 5fc9296912)
Link: https://github.com/openwrt/openwrt/pull/21570
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-05 00:01:43 +01:00
Martin SchillerandHauke Mehrtens 9237dea49e openssl: update to version 3.0.19
OpenSSL 3.0.19 is a security patch release. The most severe CVE fixed
in this release is High.

This release incorporates the following bug fixes and mitigations:

 * Fixed Stack buffer overflow in CMS AuthEnvelopedData parsing.
   (CVE-2025-15467)

 * Fixed Heap out-of-bounds write in BIO_f_linebuffer on short writes.
   (CVE-2025-68160)

 * Fixed Unauthenticated/unencrypted trailing bytes with low-level OCB
   function calls. (CVE-2025-69418)

 * Fixed Out of bounds write in PKCS12_get_friendlyname() UTF-8
   conversion. (CVE-2025-69419)

 * Fixed Missing ASN1_TYPE validation in TS_RESP_verify_response()
   function. (CVE-2025-69420)

 * Fixed NULL Pointer Dereference in PKCS12_item_decrypt_d2i_ex()
   function. (CVE-2025-69421)

 * Fixed Missing ASN1_TYPE validation in PKCS#12 parsing.
   (CVE-2026-22795)

 * Fixed ASN1_TYPE Type Confusion in the PKCS7_digest_from_attributes()
   function. (CVE-2026-22796)

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
Link: https://github.com/openwrt/openwrt/pull/21831
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-04 23:57:41 +01:00
Hirokazu MORIKAWAandHauke Mehrtens 466d57ea24 kernel: revert ip6_tunnel use skb_vlan_inet_prepare() in __ip6_tnl_rcv()
Fixe Linux 6.12.67 broke ipip6 tunnel (DS-Lite) and MAP-E.

Upstream report: https://lists.openwall.net/netdev/2026/01/30/70
Fixes: https://github.com/openwrt/openwrt/issues/21737
Signed-off-by: Hirokazu MORIKAWA <morikw2@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21783
(cherry picked from commit ee0b160acc)
Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21801
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-04 23:56:04 +01:00
Goetz GoerischandHauke Mehrtens 08106add9c kernel: bump 6.6 to 6.6.122
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.122

All patches autorefreshed

Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21801
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-04 23:56:04 +01:00
Tianling Shen a4409cbd94 uboot-mediatek: add FM25G02B spi-nand flash support
Based on commit 9a368bb4e4 ("kernel: add support for FudanMicro FM25G02B").

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 7851d11e3f)
2026-01-27 22:00:06 +08:00
AbramkandTianling Shen 1cfb77854b kernel: add support for FudanMicro FM25G02B
(cherry picked from commit 3c9b601fc7)
2026-01-27 22:00:01 +08:00
Tianling Shen ab7ab3554d Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2026-01-21 16:45:05 +08:00
Dmitry MostovoyandHauke Mehrtens 8843108ff0 mediatek: add kmod-usb3 to default package set of WR3000P
Include XHCI USB drivers on the Cudy WR3000P v1 router, the drivers are
required to be able to use the USB port for USD devices.

Closes: https://github.com/openwrt/openwrt/issues/21231
Fixes: 04e9d154f2 ("mediatek: filogic: add support for Cudy WR3000P v1")
Signed-off-by: Dmitry Mostovoy <dmitry.mostovoy@ceifx.com>
Link: https://github.com/openwrt/openwrt/pull/21281
(cherry picked from commit 9da57e2f82)
Link: https://github.com/openwrt/openwrt/pull/21405
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-01-19 01:20:16 +01:00
Trix TaicletandHauke Mehrtens 94a54a1e03 uboot-mediatek: fix build with swig 4.3.0
Swig 4.3.0 has changed SWIG_Python_AppendOutput, which now requires an
additional parameter `is_void`. SWIG_AppendOutput remains unchanged.
This was fixed upstream in u-boot/u-boot@a63456b

```
scripts/dtc/pylibfdt/libfdt_wrap.c: In function ‘_wrap_fdt_next_node’:
scripts/dtc/pylibfdt/libfdt_wrap.c:5581:17: error: too few arguments to function ‘SWIG_Python_AppendOutput’
 5581 |     resultobj = SWIG_Python_AppendOutput(resultobj, val);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~
```

This is the same fix as applied in 363e07d and 71b5de6.

This commit is not part of the main branch, as the main branch has
already bumped past 2025.01, removing the need for this patch.
uboot-rockchip had the patch removed as part of 92814fe, which was the
bump to 2025.01.

Signed-off-by: Trix Taiclet <git@trix.moe>
Link: https://github.com/openwrt/openwrt/pull/21415
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-01-19 01:18:44 +01:00
Trix TaicletandHauke Mehrtens 4327b82a7b uboot-d1: fix build with swig 4.3.0
Swig 4.3.0 has changed SWIG_Python_AppendOutput, which now requires an
additional parameter `is_void`. SWIG_AppendOutput remains unchanged.
This was fixed upstream in u-boot/u-boot@a63456b

```
scripts/dtc/pylibfdt/libfdt_wrap.c: In function ‘_wrap_fdt_next_node’:
scripts/dtc/pylibfdt/libfdt_wrap.c:5581:17: error: too few arguments to function ‘SWIG_Python_AppendOutput’
 5581 |     resultobj = SWIG_Python_AppendOutput(resultobj, val);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~
```

This is the same fix as applied in 363e07d.

Fixes: #20619
Link: #20620
Signed-off-by: Trix Taiclet <trix@c3l.lu>
Link: https://github.com/openwrt/openwrt/pull/20620
(cherry picked from commit 71b5de61ae)
Signed-off-by: Trix Taiclet <git@trix.moe>
Link: https://github.com/openwrt/openwrt/pull/21415
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-01-19 01:18:44 +01:00
Hauke Mehrtens 23180fbfaa uboot-sifiveu: fix build with swig 4.3.0
Fixes the following error by backporting upstream update:
```
scripts/dtc/pylibfdt/libfdt_wrap.c: In function ‘_wrap_fdt_next_node’:
scripts/dtc/pylibfdt/libfdt_wrap.c:5581:17: error: too few arguments to function ‘SWIG_Python_AppendOutput’
 5581 |     resultobj = SWIG_Python_AppendOutput(resultobj, val);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~
```

This is the same fix as applied in 4e68103c4e ("uboot-rockchip: fix build with swig 4.3.0")

Link: https://github.com/openwrt/openwrt/pull/20538
(cherry picked from commit 363e07dfa2)
Signed-off-by: Trix Taiclet <git@trix.moe>
Link: https://github.com/openwrt/openwrt/pull/21415
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-01-19 01:18:44 +01:00
Florian MaurerandHauke Mehrtens 6a11ba0fd6 mac80211: ath9k: Add RX inactivity detection and reset chip
Some ath9k chips can, seemingly at random, end up in a state which can
be described as "deaf". No or nearly no interrupts are generated anymore
for incoming packets. Existing links either break down after a while and
new links will not be established.

This is merged upstream in
https://patchwork.kernel.org/project/linux-wireless/patch/20241106-ath9k-deaf-detection-v1-1-736a150d2425@redhat.com/

Signed-off-by: Florian Maurer <f.maurer@outlook.de>
Link: https://github.com/openwrt/openwrt/pull/21487
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-01-19 01:16:27 +01:00
Goetz GoerischandHauke Mehrtens 18771e11c9 kernel: bump 6.6 to 6.6.121
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.121

All patches autorefreshed

Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21503
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-01-19 01:14:52 +01:00
Goetz GoerischandHauke Mehrtens 67294cb751 kernel: bump 6.6 to 6.6.120
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.120

Removes upstreamed patches:
generic/backport-6.6/600-v6.10-net-Remove-conditional-threaded-NAPI-wakeup-based-on.patch [1]
generic/backport-6.6/601-v6.10-net-Allow-to-use-SMP-threads-for-backlog-NAPI.patch [2]

Manually rebase patches:
bcm27xx/patches-6.6/950-1396-i2c-designware-Add-support-for-bus-clear-feature.patch [3]
ipq40xx/patches-6.6/401-mmc-sdhci-msm-comment-unused-sdhci_msm_set_clock.patch [4]
mediatek/patches-6.6/733-01-net-phy-mediatek-Re-organize-MediaTek-ethernet-phy-d.patch [5]
qualcommax/patches-6.6/0113-remoteproc-qcom-Add-secure-PIL-support.patch [6]
qualcommax/patches-6.6/0116-remoteproc-qcom-Update-regmap-offsets-for-halt-regis.patch [6]

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.120&id=03765d5c18084eab40351fda09bc6fc1a343cd07
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.120&id=f3652768a89cfdaedbe2c9384299eea7ec435fef
[3] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.120&id=62641daa93cb8b8ed975fad75fb07f9f9e3488cd
[4] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.120&id=fe2ce8f925b09d819546feb5db52ab1db42cb0d4
[5] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.120&id=a902343f133154e438b772d3e7b538ed0b163acc
[6] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.120&id=61f371ade3b68dbb46e2d90882af993f73b489b5

Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21503
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-01-19 01:14:52 +01:00
Steffen FörsterandRobert Marko 49862b1cf5 ramips: fix gmac definition for cudy ap1300 outdoor
The gmac definition has an offset of 1 at the moment. This leads to an
off by one error in downstream projects that rely on the package label mac.

Signed-off-by: Steffen Förster <nemesis@chemnitz.freifunk.net>
Link: https://github.com/openwrt/openwrt/pull/21543
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Link: https://github.com/openwrt/openwrt/pull/21561
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-01-18 17:01:18 +01:00
Maximilian BaumgartnerandRobert Marko 82f4ee5656 mediatek: fix gmac definition for cudy m3000
The gmac definition has an offset of 1 compared to the label MAC.
Fixes: a55ab9e134 ("mediatek: filogic: prevent faulty mac address assignment")

Signed-off-by: Maximilian Baumgartner <aufhaxer@googlemail.com>
Link: https://github.com/openwrt/openwrt/pull/21560
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 687a2535d5)
2026-01-18 11:37:52 +01:00
FUKAUMI NaokiandTianling Shen 8f6bf39076 rockchip: add "compat_version": "1.1" for Radxa E52C
This is something I missed in https://github.com/openwrt/openwrt/pull/20608

Fixes: 1f1db75432 ("rockchip: make NIC name predictable for Radxa E52C/ROCK 5 ITX/ROCK 5T")
Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
Link: https://github.com/openwrt/openwrt/pull/21533
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 43039157ba)
2026-01-15 10:17:36 +08:00
Tianling Shen 7f1426692f uboot-rockchip: fix enter download mode (MaskROM) for RK356x/RK3588
These SOC_CON1 regs needs to be cleared before a reset or the
BOOT_MODE_REG do not retain its value and it is not possible
to reset to bootrom download mode once TF-A has been started.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 8b63a55fe2)
2026-01-06 11:39:23 +08:00
Tianling Shen 9d5928ce8b Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-12-31 10:56:21 +08:00
Eric FahlgrenandHauke Mehrtens dcf11c832a mediatek: filogic: fix supported_devices list for gl-mt2500
The SUPPORTED_DEVICES sets for both Maxlinear (v1) and Airoha (v2)
devices were identical, so sysupgrade was unable to detect when an
incorrect image was being installed.  This caused "soft bricking" of
devices when a v1 image was installed on a v2 device, and vice versa.

Fix this by making the supported_devices distinct for each device
version, by renaming the devices with a version-specific name.
This is reflected in the file name and the image metadata.

Fixes: https://github.com/openwrt/openwrt/issues/20566
Fixes: https://github.com/openwrt/asu/issues/1525
Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20632
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit b71f4665cd)
2025-12-30 23:05:19 +01:00
Tianling Shen f2f2802c71 rockchip: add missing boot flow for Radxa ROCK 5C
Fixes: 5fbde2c7e4 ("rockchip: add support for Radxa ROCK 5C/5C Lite")
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-12-30 12:00:12 +08:00
Tianling Shen 10809c547e uboot-rockchip: fix rk3588 soc includes
Fixes: bac82d18f6 ("uboot-rockchip: prepare for Rockchip RK3582")
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-12-30 09:45:04 +08:00
Tianling Shen 9230f1f1ca uboot-rockchip: enable good-state big cluster 2 for rk3582
No reason to force disable it if it's good.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 406326a54f)
2025-12-29 17:10:09 +08:00
FUKAUMI NaokiandTianling Shen 0cecbab7f0 uboot-rockchip: add support for Rockchip RK3582
Import patches from
 https://patchwork.ozlabs.org/project/uboot/list/?series=468562

Apply patch 3/3 partially due to conflicts.

Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
Link: https://github.com/openwrt/openwrt/pull/19867
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 547626764b)
[rebased upon 24.10 branch, added missing patches]
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-12-29 17:08:27 +08:00
Tianling Shen ba367aa242 rockchip: refresh kernel patches
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-12-29 16:11:54 +08:00
Tianling Shen 702e4c602a rockchip: drop invalid include for 9Tripod X3568 v4
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-12-28 19:10:12 +08:00
Tianling Shen 656c934001 rockchip: fix assign IRQ SMP affinity for Radxa E52C
The ifname was renamed to `lan`/`wan` in commit 1f1db75432
 ("rockchip: make NIC name predictable for Radxa E52C/ROCK 5 ITX/ROCK 5T"),
update accordingly.

Fixes: 1f1db75432 ("rockchip: make NIC name predictable for Radxa E52C/ROCK 5 ITX/ROCK 5T")
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20722
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit d720ad5254)
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-12-28 19:08:22 +08:00
FUKAUMI NaokiandTianling Shen da48c5a7f1 rockchip: make NIC name predictable for Radxa E52C/ROCK 5 ITX/ROCK 5T
The probe order for PCIe buses and devices is non-deterministic,
making the names eth0 and eth1 unpredictable (they may be swapped).

This patch fixes the names by referencing the device path using
`ucidef_set_network_device_path`.

The mapping between silkscreen labels on the board/case and OpenWrt
interface names is as follows:

- E52C
  LAN: lan
  WAN: wan

- ROCK 5 ITX
  RJ45 1: eth0
  RJ45 2: eth1

- ROCK 5T
  RJ45_1: eth0
  RJ45_2: eth1

For Radxa E52C, this breaks compatibility of the network config;
therefore, set DEVICE_COMPAT_VERSION to `1.1`.

Fixes: d16d2765bd ("rockchip: add support for Radxa E52C")
Fixes: 0839345211 ("rockchip: add support for Radxa ROCK 5 ITX/ITX+")
Fixes: 4a78af9876 ("rockchip: add support for Radxa ROCK 5T")
Link: https://github.com/openwrt/openwrt/issues/20202
Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
Link: https://github.com/openwrt/openwrt/pull/20608
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 1f1db75432)
[rebased upon 24.10 branch]
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-12-28 19:07:34 +08:00
FUKAUMI NaokiandTianling Shen 51bc0de9e7 rockchip: add support for Radxa E52C
The Radxa E52C is a compact network computer using the Rockchip RK3582
SoC.

- https://radxa.com/products/network-computer/e52c

Hardware
--------

- Dual Cortex-A76 and Quad Cortex-A55 CPU
- 5 TOPS NPU
- 2/4/8GB LPDDR4 RAM
- 16/32/64GB on-board eMMC
- microSD card slot
- 2x 2.5 Gigabit Ethernet ports
- USB 3.1 Gen1 Type-A HOST/OTG port
- USB Type-C debug port
- USB Type-C power port

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

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

Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
Link: https://github.com/openwrt/openwrt/pull/19867
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit d16d2765bd)
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-12-28 19:05:07 +08:00
FUKAUMI NaokiandTianling Shen 5fbde2c7e4 rockchip: add support for Radxa ROCK 5C/5C Lite
The Radxa ROCK 5C (Lite) is a single board computer using the Rockchip
RK3588S2 (RK3582) SoC.

- https://radxa.com/products/rock5/5c

Hardware
--------

- Quad (Dual) Cortex-A76 and Quad Cortex-A55 CPU
- Mali-G610 MP4 GPU (5C only)
- 6 (5) TOPS NPU
- 1/2/4/8/16/32GB LPDDR4X RAM
- eMMC/SPI NOR flash connector
- microSD card slot
- Wi-Fi 6 (AIC8800D80, not yet supported)
- Gigabit Ethernet port with PoE (additional PoE HAT required)
- USB 3.1 Gen1 Type-A HOST/OTG port
- USB 3.1 Gen1 Type-A HOST port
- 2x USB 2.0 Type-A HOST ports
- FPC connector with PCIe 2.1 x1
- PWM fan connector
- 20x2 pin header
- USB Type-C power port

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

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

Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
Link: https://github.com/openwrt/openwrt/pull/19867
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 071aa994cd)
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-12-28 19:03:49 +08:00
FUKAUMI NaokiandTianling Shen b51d4c6ddf rockchip: add support for Radxa ROCK 5 ITX/ITX+
The Radxa ROCK 5 ITX(+) is a Mini-ITX form factor computer using the
Rockchip RK3588 SoC.

- https://radxa.com/products/rock5/5itx
- https://radxa.com/products/rock5/5itxp

Hardware
--------

- Quad Cortex-A76 and Quad Cortex-A55 CPU
- Mali-G610 MP4 GPU
- 6 TOPS NPU
- 4/8/16/24/32GB LPDDR5 RAM
- on-board eMMC
- 16MB SPI NOR flash
- microSD card slot
- 2x 2.5 Gigabit Ethernet ports with PoE (additional PoE module required)
- USB 3.1 Gen1 Type-C HOST/OTG port
- 4x USB 3.1 Gen1 Type-A HOST ports
- 2x USB 2.0 Type-A HOST ports
- M.2 M Key connector with PCIe 3.0 x2
- 4x SATA connectors (ITX only)
- 2nd M.2 M Key connector with PCIe 3.0 x2 (ITX+ only)
- M.2 E Key connector with PCIe 2.1 x1 and USB 2.0
- RTC battery socket for CR1220
- 4pin PWM fan connector
- Serial console pin header
- Front panel pin headers
- 24pin ATX power connector
- 5525 12V DC jack

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

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

Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
Link: https://github.com/openwrt/openwrt/pull/19867
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 0839345211)
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-12-28 19:02:44 +08:00
FUKAUMI NaokiandTianling Shen 1a32f1daa2 rockchip: add support for Radxa ROCK 5T
The Radxa ROCK 5T is a single board computer using the Rockchip
RK3588(J) SoC.

- https://radxa.com/products/rock5/5t

Hardware
--------

- Quad Cortex-A76 and Quad Cortex-A55 CPU
- Mali-G610 MP4 GPU
- 6 TOPS NPU
- 4/8/16/24/32GB LPDDR5 RAM
- 16/32/64/128/256GB on-board eMMC (optional)
- 16MB SPI NOR flash
- microSD card slot
- Wi-Fi 6E (Intel AX210, limited support)
- 2x 2.5 Gigabit Ethernet ports with PoE (additional PoE module required)
- USB 3.1 Gen1 Type-C HOST/OTG port
- 2x USB 3.1 Gen1 Type-A HOST ports
- 2x USB 2.0 Type-A HOST ports
- 2x M.2 M Key connectors with PCIe 3.0 x2
- M.2 B Key connector
- SIM card slot
- RTC battery connector
- PWM fan connector
- 20x2 pin header
- 5525 12V DC jack

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

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

Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
Link: https://github.com/openwrt/openwrt/pull/19867
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 4a78af9876)
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-12-28 19:00:46 +08:00
FUKAUMI NaokiandTianling Shen 2309802875 rockchip: add support for Radxa ROCK 5B+
The Radxa ROCK 5B+ is a single board computer using the Rockchip
RK3588 SoC.

- https://radxa.com/products/rock5/5bp

Hardware
--------

- Quad Cortex-A76 and Quad Cortex-A55 CPU
- Mali-G610 MP4 GPU
- 6 TOPS NPU
- 4/8/16/24/32GB LPDDR5 RAM
- 16/32/64/128/256GB on-board eMMC (optional)
- 16MB SPI NOR flash
- microSD card slot
- Wi-Fi 6 (Realtek RTW8852BE)
- 2.5 Gigabit Ethernet port with PoE (additional PoE HAT required)
- USB 3.1 Gen1 Type-C HOST/OTG port
- 2x USB 3.1 Gen1 Type-A HOST ports
- 2x USB 2.0 Type-A HOST ports
- 2x M.2 M Key connectors with PCIe 3.0 x2
- M.2 B Key connector
- SIM card slot
- RTC battery connector
- PWM fan connector
- 20x2 pin header
- USB Type-C power port

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

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

Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
Link: https://github.com/openwrt/openwrt/pull/19867
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit d35c641ced)
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-12-28 18:59:28 +08:00
FUKAUMI NaokiandTianling Shen 51b4c77152 rockchip: add M.2 M/E key modules support for Radxa ROCK 5B
Add support for M.2 M/E key modules.

- NVMe
- Radxa Wireless Module A8 (Realtek RTL8852BE)

Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
Link: https://github.com/openwrt/openwrt/pull/19867
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 8aa83efe57)
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-12-28 18:57:46 +08:00
FUKAUMI NaokiandTianling Shen 8982d13c81 rockchip: add HATs/M.2 E key module support for Radxa ROCK 5A
Add support for Radxa HATs/M.2 E key module.

- Radxa Dual 2.5G Router HAT (Realtek RTL8125BG/NVMe)
- Radxa Penta SATA HAT (JMicron JMB585)
- Radxa Wireless Module A8 (Realtek RTL8852BE)

Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
Link: https://github.com/openwrt/openwrt/pull/19867
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 3c23e9a327)
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-12-28 18:57:21 +08:00
FUKAUMI NaokiandTianling Shen bac82d18f6 uboot-rockchip: prepare for Rockchip RK3582
Use "rk358x" for RK3588, RK3588S, and upcoming RK3582.

Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
Link: https://github.com/openwrt/openwrt/pull/19867
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 9fa2a472af)
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-12-28 18:56:17 +08:00
FUKAUMI NaokiandTianling Shen 3bca6abbf9 rockchip: backport dts changes for Radxa E52C
Backport dts changes up to Linux v6.17 for Radxa E52C.

Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
Link: https://github.com/openwrt/openwrt/pull/19867
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 6e361c76ee)
[rebased upon 24.10 branch]
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-12-28 18:56:10 +08:00
FUKAUMI NaokiandTianling Shen 4902ea8be7 rockchip: backport dts changes for Radxa ROCK 5C/5C Lite
Backport dts changes up to Linux v6.17 for Radxa ROCK 5C and 5C Lite.

Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
Link: https://github.com/openwrt/openwrt/pull/19867
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 73d50b420e)
[rebased upon 24.10 branch, redo patches for kernel 6.6]
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-12-28 18:55:09 +08:00
FUKAUMI NaokiandTianling Shen d7ddf755d2 rockchip: backport dts changes for Radxa ROCK 5 ITX/ITX+
Backport dts changes up to Linux v6.17 for Radxa ROCK 5 ITX and ITX+.

Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
Link: https://github.com/openwrt/openwrt/pull/19867
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 61acc92a71)
[added missing patch, redo patches for kernel 6.6]
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-12-28 18:54:41 +08:00
FUKAUMI NaokiandTianling Shen f9d5208033 rockchip: backport dts changes for Radxa ROCK 5B/5B+/5T
Backport dts changes up to Linux v6.17 for Radxa ROCK 5B, 5B+, and 5T.

Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
Link: https://github.com/openwrt/openwrt/pull/19867
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit c14178a71e)
[rebased upon 24.10 branch, redo patches for kernel 6.6]
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-12-28 18:52:43 +08:00
FUKAUMI NaokiandTianling Shen 563e19a2ce rockchip: backport dts changes for Radxa ROCK 5A
Backport dts changes up to Linux v6.17 for Radxa ROCK 5A.

Use power(green) LED instead of heartbeat(blue) LED.

Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
Link: https://github.com/openwrt/openwrt/pull/19867
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 31a4923c4f)
[rebased upon 24.10 branch, redo patches for kernel 6.6]
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-12-28 18:49:52 +08:00
FUKAUMI NaokiandTianling Shen 171e4abe4e rockchip: backport dts changes for Rockchip RK358x
Backport dts changes up to Linux v6.17 for Rockchip RK358x.

Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
Link: https://github.com/openwrt/openwrt/pull/19867
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 3adb68ef75)
[rebased upon 24.10 branch, redo patches for kernel 6.6]
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-12-28 18:47:27 +08:00
FUKAUMI NaokiandTianling Shen 2a6c6e3a54 kernel: backport gated-fixed-clk driver
Backport gated-fixed-clk driver from Linux v6.13.

This is needed to fix a PCIe controller probe hang on the Radxa ROCK 5
ITX.

Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
Link: https://github.com/openwrt/openwrt/pull/19867
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 9538c7fac0)
[updated commit title]
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-12-28 18:42:25 +08:00
Tianling Shen b5836f69a4 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-12-28 18:07:31 +08:00
Florian MaurerandDavid Bauer b023a06cfb ath79: cf-ew71-v2: set label-mac-device to eth1
The EW71v2 has the WAN port configured at eth1.
The printed label-mac is configured on this iface in openwrt.

Signed-off-by: Florian Maurer <f.maurer@outlook.de>
(cherry picked from commit 7f3537ee2c)
2025-12-27 18:30:17 +01:00
Tianling Shen 462a433a62 rockchip: rework switch support for Cyber 3588 AIB
TSO and/or RX checksum offload may need to be disabled on the conduit
interface (gmac1).

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 68b4cf8dd0)
2025-12-23 17:20:38 +08:00
Mikhail KshevetskiyandRobert Marko 2916275a3d mediatek: fix pwn fan settings for sinovoip bpi-r3 (v3)
backport upstream commit 095151b235 (mediatek: fix pwn fan settings for
sinovoip bpi-r3 (v3))

Popular cheap PWM fans for this machine, like the ones coming in
heatsink+fan combos will not work properly at the currently defined
medium speed. Trying different pwm setting using a command

  echo $value > /sys/devices/platform/pwm-fan/hwmon/hwmon1/pwm1

I found:

  pwm1 value     fan rotation speed   cpu temperature     notes
  -----------------------------------------------------------------
    0            maximal              31.5 Celsius        too noisy
   40            optimal              35.2 Celsius        no noise hearable
   95            minimal
   above 95      does not rotate      55.5 Celsius
  -----------------------------------------------------------------

Current cooling levels are:

	cooling-levels = <255 96 0>;

Thus only cpu-active-high and cpu-active-low modes are usable.
This patch fixes cpu-active-medium settings for bpi-r3 board.

This patch may not be enough. Users may wants to tweak their thermal_zone0
trip points, thus tuning fan rotation speed depending on cpu temperature.
That can be done on the base of the following example:

  === example =========
  # cpu temperature below 25 Celsius degrees, no rotation
  echo 25000 > /sys/class/thermal/thermal_zone0/trip_point_4_temp
  # cpu temperature in [25..32] Celsius degrees, normal rotation speed
  echo 32000 > /sys/class/thermal/thermal_zone0/trip_point_3_temp
  # cpu temperature above 50 Celsius degrees, max rotation speed
  echo 50000 > /sys/class/thermal/thermal_zone0/trip_point_2_temp
  =====================

Changes v2:
* put patch to a proper directory
* updated patch description
* tested with latest openwrt based on linux-6.6

Changes v3:
* use upstream linux patch
* update patch description

Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21252
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-12-22 16:09:46 +01:00
Tianling Shen 5e77f0690e Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-12-22 14:40:59 +08:00
Hauke Mehrtens 4919ffd4f7 OpenWrt v24.10.5: revert to branch defaults
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-18 21:39:37 +01:00
Hauke Mehrtens 4f7e6e554b OpenWrt v24.10.5: adjust config defaults
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-18 21:39:34 +01:00
Markus PetriandHauke Mehrtens d9c5716d1d vrx518_tc: fix rx_len_adj
Fix rx_len_adj to avoid leaking the ethernet FCS into the actual frame
data in single line mode (the default)

Fixes: https://github.com/openwrt/openwrt/issues/20983
Signed-off-by: Markus Petri <devel@isjunk.org>
Link: https://github.com/openwrt/openwrt/pull/21045
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 487178f8b0)
2025-12-17 22:08:22 +01:00
Hauke Mehrtens e382fc552a wireless-regdb: Update to version 2025.10.07
e51d568 wireless-regdb: update regulatory rules for Botswana (BW) for 2022
5afc632 wireless-regdb: update regulatory rules for Sint Marteen (SX) for 2018
b484a31 wireless-regdb: Update regulatory info including bandwidth for Costa Rica (CR) for 2023
39e5e04 wireless-regdb: Permit lower 6 GHz band for Kazakhstan (KZ)
a827d3a wireless-regdb: update regulatory database based on preceding changes

Link: https://github.com/openwrt/openwrt/pull/20544
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit b4a8ba2e88)
2025-12-17 22:08:20 +01:00
Hauke Mehrtens 0f52a05723 dropbear: backport security fixes
This fixes the following security problems:
CVE-2025-14282: Avoid privilege escalation via unix stream forwarding in Dropbear server.
CVE-2019-6111: This allowed a malicious server to overwrite arbitrary local files.

This backports two upstream merged PRs:
https://github.com/mkj/dropbear/pull/391
https://github.com/mkj/dropbear/pull/394
and this upstream commit:
https://github.com/mkj/dropbear/commit/48a17cff6aa104b8e806ddb2191f83f1024060f1

Link: https://github.com/openwrt/openwrt/pull/21192
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-17 21:19:28 +01:00
Tianling Shen c434d02009 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-12-16 09:59:34 +08:00
Martin NadvornikandHauke Mehrtens 58a0211f82 mediatek: fix IPv4 address missing on interface in failsafe mode for cudy ap3000-v1
cudy ap3000-v1 did not work correctly in failsafe mode
because the address 192.168.1.1 was missing on the eth0 inteface.
it was reachable via it's IPv6 link-local address however.
this commit fixes the issue.

Fixes: https://github.com/openwrt/openwrt/issues/20750
Signed-off-by: Martin Nadvornik <martin.nadvornik@gmx.at>
Link: https://github.com/openwrt/openwrt/pull/21172
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit e5cd6461c9)
2025-12-16 00:29:58 +01:00
Thibaut VARÈNEandHauke Mehrtens 7aa929881e mediatek/filogic: fix Cudy WR3000H ethernet port order
The ports are physically labelled in reverse order on the device.
This patch aligns logical names with physical ones.
LED order on front of device is correct after this patch.

Fixes: 9d66b8b312
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Link: https://github.com/openwrt/openwrt/pull/20528
(cherry picked from commit 887cab883b)
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Link: https://github.com/openwrt/openwrt/pull/21173
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-16 00:11:44 +01:00
Hauke Mehrtens b8d232d9dc kernel: Fix boot of realtek rtl838x
Revert two patches from upstream Linux:
https://github.com/gregkh/linux/commit/135713cd0751bf296e515f5fdec234320f73bbd8
https://github.com/gregkh/linux/commit/231ac951fabae2aaed8b2c00b4a097107be49c8c

This fixes a boot hang on realtek rtl838x switches.
This is the last printed message:
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes, linear)

Thread on mips mailing list:
https://lore.kernel.org/linux-mips/b35fe4b3-8f42-49f4-a6bf-9f0e56d4050c@hauke-m.de/T/#u

Link: https://github.com/openwrt/openwrt/pull/21166
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-16 00:08:38 +01:00
Petr ŠtetiarandChristian Marangi 3c97c4a44c dropbear: enable configurable port forwarding options
Currently its only possible to disable port forwarding only for specific
keys, via the OpenSSH-style restriction in `authorized_keys` file.

In some use cases it might be feasible to disable such features globally
on service level, so lets add new LocalPortForward and RemotePortForward
config knobs.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
Link: https://github.com/openwrt/openwrt/pull/21071
(cherry picked from commit 83f6177dbf)
[ fix conflict error ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-12-15 19:25:58 +01:00
Ayra HikariandHauke Mehrtens 30b7a5f27a mediatek/filogic: fix Totolink X6000R sysupgrade failed
Fix Totolink X6000R image failing to upgrade via sysupgrade due to an
incorrect upgrade case. The fallback upgrade path used the NAND upgrade
routine, which caused the "layout volume not found" error on NOR flash
devices. By adding a specific case for this board, sysupgrade now uses
`default_do_upgrade`, which is compatible with the NOR flash layout.

Fixes: 7cd10ad
Signed-off-by: Ayra Hikari <ayrahikari@linuxmail.org>
(cherry picked from commit 7cd10add2d)
Link: https://github.com/openwrt/openwrt/pull/20674
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-14 22:51:17 +01:00
Ari KurniawanandHauke Mehrtens 8db7b6ff53 mediatek: filogic: add support for Totolink X6000R
Specification :
- SOC : Mediatek MT7981B (1.3GHz)
- RAM : 256MB
- Flash : 16MB SPI NOR
- Ports : 4 LAN (1G) & 1 WAN (1G)
- WIFI : MediaTek dual-band WiFi 6
  - 2.4 GHz : b/g/n/ax, MIMO 2x2
  - 5 GHz   : a/n/ac/ax, MIMO 2x2
- Buttons : Reset & WPS/Mesh
- LEDS : WAN (Green), Status (Red & Blue)
- Power : 12V1A

Install via OEM web ui:
Upload the sysupgrade image to firmware upgrade page on OEM web ui

Install via recovery / revert to stock firmware:
1. Unplug from power
2. Download the Sysupgrade (for openwrt installation) or OEM Factory image (for revert to stock firmware)
3. Set your computer ethernet IP to 192.168.1.X, subnet 255.255.255.0 (X=your chosen ip number ranging from 2-254)
4. Press and hold reset button while turn on / plug power adapter to the router. Wait untill ALL LAN green LED turn on, then release the reset button.
5. Plug the LAN cable from your computer into LAN 1 port then open web browser, and type in the address column : 192.168.1.1
6. Upload the sysupgrade / oem factory image
7. Wait until the router finished flashing (the router will reboot)
8. Set ethernet ip to dhcp
9. Open 192.168.1.1 (for openwrt install) / 192.168.0.1 (for OEM firmware)

Signed-off-by: Ari Kurniawan <noobhek@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20035
(cherry picked from commit 7cd10add2d)
Signed-off-by: Ari Kurniawan <noobhek@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20674
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-14 22:51:01 +01:00
Hauke Mehrtens 454fd69589 mac80211: update to version 6.12.61
This contains the following commits:
```
git log --oneline   v6.12.52...v6.12.61 -- drivers/net/wireless/ net/mac80211/ net/wireless/
a1eb56723b32 wifi: ath12k: correctly handle mcast packets for clients
c0a9c2c1b7b9 wifi: mac80211: use wiphy_hrtimer_work for csa.switch_work
d4caee32a9f8 wifi: cfg80211: add an hrtimer based delayed work item
6455948c8aab wifi: mac80211: reject address change while connecting
80dc5a2ce5b7 wifi: ath11k: Clear affinity hint before calling ath11k_pcic_free_irq() in error path
acd24d509227 wifi: mac80211: skip rate verification for not captured PSDUs
53cf801b8555 wifi: ath11k: zero init info->status in wmi_process_mgmt_tx_comp()
e8fa86b0bd96 wifi: mac80211_hwsim: Limit destroy_on_close radio removal to netgroup
77d4afd6c78b Revert "wifi: ath10k: avoid unnecessary wait for service ready message"
07d862c7de3d wifi: ath12k: Increase DP_REO_CMD_RING_SIZE to 256
522734fc807c wifi: mac80211: Track NAN interface start/stop
8db790c2491e wifi: ath10k: Fix connection after GTK rekeying
72f1984246e6 wifi: rtw89: renew a completion for each H2C command waiting C2H event
336da4414300 wifi: rtw89: obtain RX path from ppdu status IE00
da91687f01f4 wifi: mt76: mt7996: fix memory leak on mt7996_mcu_sta_key_tlv error
a534dd44b70e wifi: mt76: mt76_eeprom_override to int
aa5ed215cfe8 wifi: mt76: mt7996: Temporarily disable EPCS
efe2ef24feab wifi: mt76: mt7921: Add 160MHz beamformee capability for mt7922 device
5de410dfb4d9 wifi: mac80211: Fix HE capabilities element check
f157d1cb2cdc wifi: iwlwifi: fw: Add ASUS to PPAG and TAS list
c9df78e84e85 wifi: mac80211: Fix 6 GHz Band capabilities element advertisement in lower bands
958234997dd5 wifi: rtw89: fix BSSID comparison for non-transmitted BSSID
ca18975c4de2 wifi: rtw89: wow: remove notify during WoWLAN net-detect
bc1ca06998c1 wifi: rtw88: sdio: use indirect IO for device registers before power-on
8ebef59d0294 wifi: rtw89: print just once for unknown C2H events
5596a90c8952 wifi: mac80211: fix key tailroom accounting leak
23b8682f05ec wifi: mac80211: don't mark keys for inactive links as uploaded
e3373f10c6a6 wifi: ath11k: avoid bit operation on key flags
50f50dd024b4 wifi: ath11k: add support for MU EDCA
2a6cd5951ba8 wifi: ath12k: free skb during idr cleanup callback
775e37df2acc wifi: ath11k: Add missing platform IDs for quirk table
c4840991ee4c wifi: ath10k: Fix memory leak on unsupported WMI command
a6eed58249e7 wifi: brcmfmac: fix crash while sending Action Frames in standalone AP Mode
57100b87c778 wifi: ath12k: fix read pointer after free in ath12k_mac_assign_vif_to_vdev()
4a63523d3541 wifi: cfg80211: Add missing lock in cfg80211_check_and_end_cac()
e9fd43b799d2 wifi: rtw89: avoid possible TX wait initialization race
b419093e5e42 wifi: mt76: mt7921u: Add VID/PID for Netgear A7500
feb1774aaf85 wifi: mt76: mt7925u: Add VID/PID for Netgear A9000
bd3ac455a88d wifi: ath11k: HAL SRNG: don't deinitialize and re-initialize again
8055133a9f64 wifi: rtw89: avoid circular locking dependency in ser_state_run()
1c873416758f wifi: mac80211: fix Rx packet handling when pubsta information is not available
6e7d9fa61d7d wifi: ath10k: avoid unnecessary wait for service ready message
8d4f6ab4c53e wifi: ath12k: fix wrong logging ID used for CE
fc00890c55e3 wifi: mt76: mt7915: fix mt7981 pre-calibration
e18c4e6ba36c wifi: mt76: mt7996: Convert mt7996_wed_rro_addr to LE
f481404a9826 wifi: mt76: mt7996: Fix RX packets configuration for primary WED device
57519239c76c wifi: mt76: fix potential memory leak in mt76_wmac_probe()
27c8e2e4b56f wifi: iwlwifi: Remove redundant header files
605402433eb8 wifi: mwifiex: send world regulatory domain to driver
```

The removed patch was added upstream.

Link: https://github.com/openwrt/openwrt/pull/21134
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-14 22:41:16 +01:00
Florian MaurerandHauke Mehrtens f415748ba8 ath11k: fix transmit queue flushing through flush_sta implementation
warning print "ath11k c000000.wifi: failed to flush transmit queue 0"
is observed during busy times.

The mac80211 fallback implementation of `flush_sta` does not handle the per STA queues well.
This is fixed by providing a ath11k specific implementation of flush_sta telling the firmware to flush a given station.
The draining of the transmit queues should therefore stop correctly, even if new packets arrive in the mean time.

An upstream ath11k RFC is available at:
https://patchwork.kernel.org/project/linux-wireless/patch/GV1P250MB14333A5BF24623C4753A10E1E8E0A@GV1P250MB1433.EURP250.PROD.OUTLOOK.COM/

The patch was tested on a Xiaomi AX3600.

Signed-off-by: Florian Maurer <f.maurer@outlook.de>
Tested-by: Florian Maurer  <f.maurer@outlook.de>
Co-authored-by: Benjamin Berg <benjamin@sipsolutions.net>
Tested-by: Flole <flole@flole.de>
Link: https://github.com/openwrt/openwrt/pull/20293
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 8faa9dedb4)
Signed-off-by: Felix Baumann <felix.bau@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/20667
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-12 01:32:26 +01:00
ShineandHauke Mehrtens 9123a0c358 mpc85xx: p1010: Use zImage loader for Watchguard Firebox T10
Since kernel 6.1, the Watchguard Firebox T10 can't boot anymore due to
increased kernel size.

This commit introduces the zImage loader from 7d768a9 to boot the kernel.
This is required, since the U-Boot version used in this device appears
to have a hard limit of 16MB for the kernel size it can handle. The
current kernel size is around 17MB, though, due to kernel page alignment
required for memory protection.

(cherry-picked from commit be7aa5bda4)
Signed-off-by: Shine <4c.fce2@proton.me>
Link: https://github.com/openwrt/openwrt/pull/21130
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-12 01:25:50 +01:00
Marcin LeksmarkandHauke Mehrtens 22391baf99 ramips: fix support for Cudy r700
This PR fixes support for Cudy r700.

Original PR: https://github.com/openwrt/openwrt/pull/18532
Fixed:

- WAN port functionality;
- RESET button;
- Status LED;
- LAN port names consistent with the chassis;
- Merged partitions "debug", "backup" & "firmware"  to one partition "firmware" ("debug" & "backup" contained unimportant data);
- Removed redundant DTS elements.

Installation:

To install OpenWRT, you need the intermediate firmware from Cudy. (U-boot is locked). After installing the intermediate firmware, you can install OpenWRT via sysupgrade.

Recovery:

TFTP available.
1. Place the recovery.bin in the serving directory of your TFTP server.
2. Set your IP to 192.168.1.88/24.
3. Press the “Reset” button of Cudy router and hold it. Before the Cudy router is powered on and before TFTP start to download the firmware, don't release the “Reset” button.
4. Power on the Cudy router.
5. You can release the reset button only when TFTP starts downloading firmware.
6. When the SYSTEM LED turns solid green, the upgrade is complete.

Fixes: 75403dd1d0 ("ramips: add support for Cudy R700")
Link: https://github.com/openwrt/openwrt/pull/20756
(cherry picked from commit 35a86267e9)
Signed-off-by: Marcin Leksmark <lexmark3200@wp.pl>
Link: https://github.com/openwrt/openwrt/pull/21068
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-12 01:23:49 +01:00
David DeGrawandHauke Mehrtens 4a3409f628 ramips: add support for Cudy R700
This is the same hardware as the Cudy WR2100 that's
had support for some time now, just without the WLAN
hardware.

This PR is mostly copied from the commit that added
support for the WR2100, here: 3501db9

Specifications:
SoC: MT7621
CPU: 880 MHz
Flash: 16 MiB
RAM: 128 MiB
Ethernet: 5x Gbit ports

Installation:
There are two known options:

The Luci-based UI.
Press and hold the reset button during power up.
The router will request 'recovery.bin' from a TFTP server at
192.168.1.88.

Both options require a signed firmware binary.
A signed firmware can be found in GitHub PR #18532.

R4 & R5 need to be shorted (0-100Ω) for the UART to work.

Link: https://github.com/openwrt/openwrt/pull/18532

Signed-off-by: David DeGraw <degraw@fastmail.com>
(cherry picked from commit 75403dd1d0)
Link: https://github.com/openwrt/openwrt/pull/21068
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-12 01:23:46 +01:00
Marcin LeksmarkandHauke Mehrtens a9858a9632 ramips: add support for Cudy C200P
This patch adds support for Cudy C200P.
Because v24.10 stable has no regulator definition, so we cannot make simple cherry-pick. We need another DTS file.

Specifications:

    SoC: MediaTek MT7621AT
    RAM: 256 MB (DDR3)
    Flash: 16 MB (NOR)
    POE Chip: IP804AR

Interfaces:

    Switch: 1 WAN, 4 LAN (Gigabit)
    Gigabit RJ45 PoE Ports on 2~5
    Max Power on a Single PoE Ports 	30W
    PoE Ports : The PoE ports comply with IEEE 802.3at/af standards.
    Ports: 1 USB-A 3.0 Ports

LED:

    System
    PoE Max Status
    Link/ACT/PoE Status of Each PoE Port

Physical Buttons:

 	Reset Button

Power Input:

 	DC Jack

Power Methods:

    DC: 54V 1.11A
    802.3at/af PoE
    Passive PoE: 24/48V

Max Power Consumption (W):

 	Total: 60W
    PoE: 55W
    PoE (when USB Device is plugged in): 50W
    No PoE: 5W

Installation:

To install OpenWRT, you need the intermediate firmware from Cudy. (U-boot is locked). After installing the intermediate firmware, you can install OpenWRT via sysupgrade.

Recovery:

TFTP available.
1. Place the recovery.bin in the serving directory of your TFTP server.
2. Set your IP to 192.168.1.88/24.
3. Press the “Reset” button of Cudy router and hold it. Before the Cudy router is powered on and before TFTP start to download the firmware, don't release the “Reset” button.
4. Power on the Cudy router.
5. You can release the reset button only when TFTP starts downloading firmware.
6. When the SYSTEM LED turns solid green, the upgrade is complete.

Serial:

1. Serial connection parameters: 115200 / 8N1
2. Serial connection voltage: 3.3V

PoE is not supported at the time of PR. The IP804R chip is not yet supported by OpenWRT.

Signed-off-by: Marcin Leksmark <lexmark3200@wp.pl>
Link: https://github.com/openwrt/openwrt/pull/21064
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-12 01:12:14 +01:00
Coia PrantandHauke Mehrtens 61408bb99a ramips: add support for Hongdian H8850 v20
This is an industrial 4G router equipped with OpenWrt SNAPSHOT OEM
customized version

WARNING: The original firmware device tree is modified from evb
boards, and the device tree name is evb board. This submitted device
tree is a modified version, which deletes the non-this-device parts
and adds GPIO watchdog.

Specification:
- SoC: MediaTek MT7628DAN
- Flash: 16 MB
- RAM: 64 MB
- Power: DC 5V-36V 1.5A
- Ethernet: 1x WAN/LAN, 3x LAN (10/100 Mbps)
- Wireless radio: 802.11n 2.4g-only
- LED:
  System/Power (PWR): Always Off
  Modem (NET): GPIO/3 active-low
  LAN: Always On
  RF (Modem Signal): GPIO/2 active-low
  WIFI: GPIO/44 active-low
- Button:
  WPS / RESET: GPIO/11 active-low
- UART: 1x UART on PCB - 115200 8N1
- GPIO Watchdog: GPIO/0 mode=toggle timeout=1s
- Modem: 1x Built-in modem on board (Power: GPIO/4 active-high)
- SIM Slots: 1x SIM Slots

Issue:
- Factory partition not store mac address on original firmware

Flash instruction:
Using TTL:
1. Connect the board to the computer via TTL.
2. Enter original firmware failsafe mode.
3. Use wget download firmware to board /tmp
4. Use command "mtd -r write openwrt-ramips-mt76x8-hongdian_h8850-v20-squashfs-sysupgrade.bin firmware"
   to flash

Original Firmware Dump / More details:
https://blog.gov.cooking/archives/research-hongdian-h8850-v20-and-flash.html

Signed-off-by: Coia Prant <coiaprant@gmail.com>
Tested-by: Coia Prant <coiaprant@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20259
(cherry picked from commit 23a070dfb1)
Link: https://github.com/openwrt/openwrt/pull/21007
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-12 01:07:50 +01:00
Mikhail ZadorozhnyiandHauke Mehrtens ce660d934f mvebu: gl-mv1000: fix sdhci1 controller
GL-MV1000 external SD controller was broken by a recent kernel update
between OpenWRT releases 24.10.2 and 24.10.3 due to a mistake in Device
Tree: "regulator-gpio" was defined without required "gpios" property.

Since "no-1-8-v" property is also defined for this controller
a switchable vqmmc-supply regulator performs no function - a fixed 3.3V
IO voltage will always be used.

This regulator definition was probably added by mistake from a Device
Tree from another device.

Remove incomplete vcc_sd_reg1 regulator definition to fix this issue.

Issue discussion for reference: openwrt/openwrt#20309

Upstream commit: 6f2325b23d
Signed-off-by: Mikhail Zadorozhnyi <zador.blood.stained+git@protonmail.com>
Link: https://github.com/openwrt/openwrt/pull/20378
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-12 01:04:07 +01:00
Brian LeeandHauke Mehrtens 237b1c29e1 mediatek: filogic: add support for ASUS TUF-AX4200Q
ASUS TUF-AX4200Q(TUF 小旋风Pro WiFi6 AX4200) is a home router that adds an additional 2.5G Ethernet port to ASUS TUF-AX4200.

Hardware
- - - - - - - -
- SOC   : MediaTek MT7986
- RAM   : 512MB DDR3
- FLASH : 256MB SPI-NAND (Winbond W25N02KV)
- WIFI  : Mediatek MT7986 DBDC 802.11ax 2.4/5 GHz
- ETH   : MediaTek MT7531 Switch
          MaxLinear GPY211C 2.5 N-Base-T PHY (WAN)
          MaxLinear GPY211C 2.5 N-Base-T PHY (LAN)
- UART  : 3V3 115200 8N1 (Pinout silkscreened / Do not ocnnect VCC)

Installation
- - - - - - - -
Vendor-UI Method:

1. Download or make the OpenWrt initramfs.trx image
2. Connect the PC via LAN to one of the yellow router ports and wait until your PC to get a DHCP lease.
3. Browse to http://192.168.50.1/
4. If your router is brand new, finish the setup process and log into the Web-UI.
5. Navigate to Administration -> Firmware Upgrade and upload the downloaded OpenWrt image.
6. Wait for OpenWrt to boot. Transfer the sysupgrade image to the device using SCP and install using sysupgrade.

   $ sysupgrade -n <path-to-sysupgrade.bin>

TFTP Method:

1. Download the OpenWrt initramfs image.
   Copy the image to a TFTP server reachable at 192.168.1.70/24.
   Rename the image to tufax4200q.bin.

2. Connect the PC with TFTP server to the TUF-AX4200Q.
   Set a static ip on the ethernet interface of your PC.
   (IP address: 192.168.1.70, subnet mask: 255.255.255.0)
   Connect to the serial console,
   interrupt the autoboot process by pressing '4' when prompted.

3. Download & Boot the OpenWrt initramfs image.

   $ setenv ipaddr 192.168.1.1
   $ setenv serverip 192.168.1.70
   $ tftpboot 0x46000000 tufax4200q.bin
   $ bootm 0x46000000

4. Wait for OpenWrt to boot.
   Transfer the sysupgrade image to the device using SCP and install using sysupgrade.

   $ sysupgrade -n <path-to-sysupgrade.bin>

(based on support for ASUS RT-AX52 by achterin and trx image generation by remittor)

Link: https://github.com/openwrt/openwrt/pull/20900
(cherry picked from commit e7086d7a2f)
Signed-off-by: Brian Lee <larte332@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21036
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-11 23:36:58 +01:00
Oliver SedlbauerandHauke Mehrtens 8498118893 mac80211: ath12k: backport correctly handle mcast packets
Backport upstream commit that fixes handling of multicast packets.
Without this patch, ARP resolution fails, and connectivity from a
station to an AP does not work reliably until traffic is initiated
by the AP.

Signed-off-by: Oliver Sedlbauer <os@dev.tdt.de>
Link: https://github.com/openwrt/openwrt/pull/21088
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-11 23:11:18 +01:00
Marcin LeksmarkandHauke Mehrtens 6a92e68c51 ramips: add support for D-Link DIR-2660 A2
This patch adds support for D-Link DIR-2660 A2.
Based on the commit: https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=b5dd746cbb1aaf91f4b68e9f3eda97413550d904,

Both devices look identical, except for the A1/A2 designation.
You can safely install the A1 firmware for the A2 – I've been testing it for several months as a DUMB AP – without any problems.

Specifications:
* SoC: MediaTek MT7621AT
* RAM: 256 MB (DDR3)
* Flash: 128 MB (NAND)
* WiFi: MediaTek MT7615N (x2)
* Switch: 1 WAN, 4 LAN (Gigabit)
* Ports: 1 USB 2.0, 1 USB 3.0
* Buttons: Reset, WPS
* LEDs: Power (white/orange), Internet (white/orange), WiFi 2.4G (white),
        WiFi 5G (white), USB 3.0 (white), USB 2.0 (white)

Notes:
* WiFi 2.4G and WiFi 5G LEDs are wired directly to the wireless chips

Installation:
* D-Link Recovery GUI: power down the router, press and hold the reset
  button, then re-plug it. Keep the reset button pressed until the power
  LED starts flashing orange, manually assign a static IP address under
  the 192.168.0.xxx subnet (e.g. 192.168.0.2) and go to http://192.168.0.1

* Some modern browsers may have problems flashing via the Recovery GUI,
  if that occurs consider uploading the firmware through cURL:

    curl -v -i -F "firmware=@file.bin" 192.168.0.1

Signed-off-by: Marcin Leksmark <lexmark3200@wp.pl>
Link: https://github.com/openwrt/openwrt/pull/20020
(cherry picked from commit 485f9b0d31)
Link: https://github.com/openwrt/openwrt/pull/21113
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-11 23:03:33 +01:00
Goetz GoerischandHauke Mehrtens 581050ce4e kernel: bump 6.6 to 6.6.119
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.119

Removed upstreamed patch:
bcm27xx/patches-6.6/950-1255-Revert-Bluetooth-Always-request-for-user-confirmatio.patch [1]

All other patches auto-refreshed.

Upstream patch:
[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.119&id=fd6a1261d05d7f4d6630229e1f280dd7256b9ce8

Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21076
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-11 22:11:28 +01:00
Andreas GnauandChristian Marangi c0b10f7442 build: depend on tools/zstd for download
Downloading packages from git requires zstd to compress their tarballs.
Make sure that zstd from host tools is compiled when running make
download. Otherwise, either the download would fail because zstd is not
present or a random version from the host would be used leading to hash
mismatches.

Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
Link: https://github.com/openwrt/openwrt/pull/21125
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit f3e4620f59)
2025-12-10 19:09:01 +01:00
Tianling Shen 43bf271e2b Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-12-10 09:20:14 +08:00
Tianling ShenandRobert Marko 9fa8e7e9a3 mediatek: fix ubi size for zbtlink zbt z8102ax v2
According to the factory uboot and firmware[1], the ubi size is set
to 512 MiB (0x20000000) and it exceeds the size of the flash, after
that the uboot and kernel resizes it to 114.5 MiB (0x7280000) instead
of 114.125 MiB (0x7220000). The mismatch of the ubi size causes
kernel fails to read ubi volumes and throws panic.

Trim whitespaces while at it.

1. https://github.com/immortalwrt/immortalwrt/issues/2123#issuecomment-3523744128

Fixes: c908fc7d95 ("mediatek: add support for Zbtlink ZBT-Z8102AX v2")
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20769
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit d2fa070f70)
[rebased upon 24.10 branch]
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/21085
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-12-08 17:27:20 +01:00
ShineandHauke Mehrtens 0ed59099ee mpc85xx: p1010: Fix Sophos RED 15w NAND partitions
This partially reverts 78d259e7d2.
That commit broke mounting the root fs on Sophos RED 15w due to
partition size mismatch, and changed the partition sequence, causing
the OpenWrt partition numbers to change from mtd3:kernel/mtd4:ubi to
mtd4:kernel/mtd5:ubi.

Fixes: 78d259e7d2 ("mpc85xx: fix some dtc warnings")
(cherry-picked from commit 09e7b24ceb)
Signed-off-by: Shine <4c.fce2@proton.me>
Link: https://github.com/openwrt/openwrt/pull/21062
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-07 20:29:18 +01:00
Tianling Shen bb287fd576 kernel: move FMSH flash support to generic
Add support for CMCC PZ-L8 in qualcommax target.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 1a7dc36c88)
2025-12-07 10:07:11 +08:00
Tianling Shen e410f42b06 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-12-07 10:04:06 +08:00
Tianling Shen 316aedaf14 uboot-mediatek: refresh patches
Fix merge conflict for ESMT F50L1G41LC flash support.

Fixes: a559af314a ("Merge Official Source")
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-12-07 10:00:29 +08:00
Christian Marangi d0c2c30e50 sdk: invert logic for GIT_BRANCH and GIT_TAGNAME
There is currently a logic error with generating the base feed string.

In the scenario where the commit of a Tag match the latest commit of a
stable branch, the stable branch have priority over the tag name.

This results in generating SDK that actually target the branch instead
of the specific tag.

To fix this invert the logic and give priority to the tag name.

Fixes: #18583
(cherry picked from commit 289172b00e)
[ fix conflict error ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-12-04 19:25:13 +01:00
Christian Marangi 9c23ecf31c sdk: filter out main on GIT_BRANCH parsing
Branch named main was never filter out on parsing the GIT_BRANCH define.

Add main to the name of branch that should be filtered.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 0338dd44d5)
2025-12-04 19:24:30 +01:00
Mikhail ZhilkinandHauke Mehrtens 96a67d2f2e kernel: add support for Fudan Micro FM25S01BI3 SPI-NAND
Add support for Fudan Micro FM25S01BI3 SPI NAND.
Link: https://www.fmsh.com/nvm/FM25S01BI3_ds_eng.pdf

Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20872
(cherry picked from commit 05cddcd12a)
[Update patch path]
Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20974
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-03 21:31:20 +01:00
Mikhail ZhilkinandHauke Mehrtens 15601a545e kernel: fix QE bit for Fudan Micro FM25S01A SPI-NAND
According to datasheet (http://eng.fmsh.com/nvm/FM25S01A_ds_eng.pdf)
there is no QE (Quad Enable) bit for FM25S01A flash, so remove it.

Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20872
(cherry picked from commit 40fc91be6e)
[Update patch path and number]
Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20974
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-03 21:31:20 +01:00
Goetz GoerischandHauke Mehrtens b1528735da kernel: bump 6.6 to 6.6.118
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.118

All patches auto-refreshed.

Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21022
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-12-03 21:28:27 +01:00
Andy ChiangandChristian Marangi 13226471ef ppp: add reqprefix norelease ac_mac
Use ppp and enable autoipv6, odhcp6c supports reqprefix and norelease to minimize the chance of IPv6 PD changes.[1]
PPPoE supports connecting to a specific AC/BRAS by using the pppoe-mac parameter.[2]

1. https://github.com/openwrt/openwrt/blob/master/package/network/ipv6/odhcp6c/files/dhcpv6.sh#L67
   https://github.com/openwrt/openwrt/blob/master/package/network/ipv6/odhcp6c/files/dhcpv6.sh#L77
2. https://github.com/ppp-project/ppp/blob/master/pppd/plugins/pppoe/plugin.c#L93

Signed-off-by: Andy Chiang <AndyChiang_git@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/19978
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 7079e456ad)
Link: https://github.com/openwrt/openwrt/pull/20824
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-12-03 18:13:13 +01:00
Tianling Shen a559af314a Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-12-02 12:18:10 +08:00
George SapkinandRobert Marko e781816fe1 formal: fix workflow permissions
Fix formality check permissions that are needed to post optional
summaries back to the PR.

Link: https://github.com/openwrt/actions-shared-workflows/pull/64
Signed-off-by: George Sapkin <george@sapk.in>
Link: https://github.com/openwrt/openwrt/pull/20930
(cherry picked from commit 9f6c16e722)
Link: https://github.com/openwrt/openwrt/pull/20986
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-11-30 12:42:58 +01:00
Qing W.andHauke Mehrtens 913e26b20f mediatek: add support for WAVLINK WL-WN536AX6 Rev a
Product name: Wavlink WL-WN536AX6 Rev a "Mighty LX2"
Product link: https://www.wavlink.com/en_us/product/WL-WN536AX6.html

Specifications:
SOC: MT7986AV
RAM: 512MB DDR4
Flash: 128MB SPI NAND
Ports: 4 LAN (1G) & 1 WAN (2.5G)
WIFI: MT7976PN + MT7975N
LEDs: 8 (STATUS, WIFI, WAN, LAN1, LAN2, LAN3, LAN4, PWR)
USB: 1 (3.0)

MAC table, same as stock firmware:
LAN: 80:3F:5D:xx:xx:x1 partition "hw" at 0x44e (ASCII)
WAN: 80:3F:5D:xx:xx:x2 partition "hw" at 0x460 (ASCII)
2G: 80:3F:5D:xx:xx:x3
5G: 80:3F:5D:xx:xx:x4

* Installation with OEM WebUI:

Note: Make sure PC is connected on LAN1 port. The OEM firmware has an unknown root password and settings are kept after upgrading firmware. Therefore, a customized Openwrt firmware is needed to remove the root password on login, by adding `passwd -d root` to /etc/init.d/bootcount. The WebUI does a filename check so the customized firmware is named accordingly.

1. Download modified firmware file `WAVLINK_WN536AX6-A_M36AX6_V250320-WO-437baca-modified.bin` from https://github.com/ses1er/firmware-misc/tree/main/wavlink/wl-wn536ax6a
2. Log into WebUI on default IP: http://192.168.20.1
3. Browse to More (top menu) -> System -> Firmware Upgrade.
4. Under `Local Upgrade` section, check the device to be upgraded and upload downloaded modified firmware. Click `UPLOAD FILE`, then `APPLY`
5. Wait about 2 minutes (ignore progress bar), and browse to http://192.168.20.1. You should see LUCI login page. Username is root and no password.
6. Browse to `System -> Backup/Flash Firmware`, click on `Flash Image`, click `Browse` and locate `openwrt-mediatek-filogic-wavlink_wl-wn536ax6-a-squashfs-sysupgrade.bin` file.
7. Uncheck `Keep settings and retain the current configuration` and click `Continue`.
8. Router will now be set to IP 192.168.1.1 which is the Openwrt default.

* Installation with UART:

Note: Having UART connected while cold booting the device will result in a kernel panic when initializing wifi. I've found this workaround:
1. Power off the device and ensure UART is not connected to PC.
2. Power up the device, when lights come on, plug in UART.
3. Warm boots and soft restarts will not cause kernel panic for the duration of device being powered on. Repeat steps for subsequent cold boots.

1. Configure TFTP server with IP 192.168.1.66. Copy `openwrt-mediatek-filogic-wavlink_wl-wn536ax6a-initramfs.itb` to TFTP root.
2. Interrupt boot by pressing 0.
3. Run the following in Uboot console: `setenv serverip 192.168.1.66; setenv ipaddr 192.168.1.1; tftpboot 0x46000000 openwrt-mediatek-filogic-wavlink_wl-wn536ax6-a-initramfs.itb; bootm`
4. Transfer `openwrt-mediatek-filogic-wavlink_wl-wn536ax6-a-squashfs-sysupgrade.bin` to device:
   (`scp -O openwrt-mediatek-filogic-wavlink_wl-wn536ax6-a-squashfs-sysupgrade.bin root@192.168.1.1:/tmp/`)
5. Run the following on device: `sysupgrade -n /tmp/openwrt-mediatek-filogic-wavlink_wl-wn536ax6-a-squashfs-sysupgrade.bin`

Signed-off-by: Qing W. <ses1er@gmail.com>
Tested-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Link: https://github.com/openwrt/openwrt/pull/20760
(cherry picked from commit 1748ce8295)
Link: https://github.com/openwrt/openwrt/pull/20775
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-29 01:26:18 +01:00
Luis MitaandHauke Mehrtens c6e59d06af ramips: mt7621: add support for Cudy AP1300 Outdoor v1
Hardware:
 - SoC: MediaTek MT7621DAT
 - Flash: 16 MiB XM25QH128C
 - RAM: 128 MiB
 - WLAN: 2.4 GHz (MT7603E, 11n), 5 GHz (MediaTek MT7613BEN, 11ac)
 - Ethernet: 1x10/100/1000 Mbps LAN
 - Buttons: 1 Reset button, 1 WPS button
 - LEDs: 5x Green
 - Serial Console: unpopulated header 115200 8n1 (silkscreen on PCB)
 - Power: POE 802.3af (37-57V DC)

MAC addresses:
+---------+-------------------+-----------+
|         | MAC               | Algorithm |
+---------+-------------------+-----------+
| LAN     | 80:af:ca:xx:xx:x0 | label     |
| WLAN 2g | 80:af:ca:xx:xx:x0 | label     |
| WLAN 5g | 82:af:ca:xx:xx:x1 | +1        |
+---------+-------------------+-----------+

Installation:
The factory firmware is locked: you can only work with Cudy signed firmware.
Download a intermediate firmware signed by Cudy here:
https://www.cudy.com/blogs/faq/openwrt-software-download

After that, login to the router (192.168.10.254, password "admin") and install the intermediate firmware.

If you can reach LuCI or SSH now on the intermediate firmware, just use the sysupgrade image with the 'Keep settings' option turned off.

Special thanks to Daniel de Kock for starting the porting work at #16265.

Signed-off-by: Luis Mita <luis@luismita.com>
Co-Authored-By: Daniel de Kock <daniel@riot.network>
Co-Authored-By: Hauke Mehrtens <hauke@hauke-m.de>
Link: https://github.com/openwrt/openwrt/pull/20268
(cherry picked from commit 8fb644e9e8)
Link: https://github.com/openwrt/openwrt/pull/20710
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-29 01:20:14 +01:00
Donghyun KoandHauke Mehrtens 9f8c60c2c8 mediatek: use dt-bindings drive strength macros for ipTIME AX7800M-6E
Replace hardcoded numbers with the dt-bindings drive strength macros
defined in "dt-bindings/pinctrl/mt65xx.h".

Signed-off-by: Donghyun Ko <nyankosoftware@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20894
(cherry picked from commit 2c667f2df4)
Signed-off-by: Donghyun Ko <nyankosoftware@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20773
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-29 01:17:45 +01:00
Donghyun KoandHauke Mehrtens ea96f50747 mediatek: add support for ipTIME AX7800M-6E
Specification
-------------
- SoC       : MediaTek MT7986AV quad-core ARM Cortex-A53 2GHz
- RAM       : DDR4 512Mbytes, Nanya Technology NT5AD256M16E4
- Flash     : 128Mbytes NAND Flash, ESMT F50L1G41LB
- WLAN      : MediaTek MT7976DAN, MediaTek MT7916AN, MediaTek MT7976AN
  - 2.4GHz  : b/g/n/ax, Multi User MIMO
  - 5GHz    : a/n/ac/ax, Multi User MIMO
  - 6GHz    : ax, Multi User MIMO
- Ethernet  : 10/100/1000 Mbps x4, LAN (MediaTek MT7531AE)
              10/100/1000/2500 Mbps x1, WAN (MaxLinear GPY211C0VC)
- UART      : 1x4 pin header on PCB
  - [J1] 3.3V, TX, RX, GND (115200, 8N1)
- Buttons   : WPS, Reset
- Switches  : Rfkill Slide Switch
- USB       : 1x USB 3.0 (MediaTek MT7986AV peripheral)
- FAN       : 1x Fan (off - slow - fast)
- LEDs      : 1x Power (Blue)
              1x CPU (Blue)
              1x Wi-Fi 6GHz (Blue)
              1x Wi-Fi 5GHz (Blue)
              1x Wi-Fi 2.4GHz (Blue)
              4x LAN activity (Blue)
              1x WAN activity (Blue)
              1x USB 3.0 (Blue)
- Power     : 12VDC, 3.5A (Center positive polarity)

MAC address
-----------
+-----------+-------------------+------------------------+
| Interface | MAC               | Algorithm              |
+-----------+-------------------+------------------------+
| WLAN 2.4G | 58:86:94:xx:xx:xx | label1                 |
| WLAN 5G   | 5A:86:94:xx:xx:xx | label2 with LA Bit set |
| WLAN 6G   | 5A:86:94:xx:xx:xx | label1 with LA Bit set |
| WAN       | 58:86:94:xx:xx:xx | label1 + 1             |
| LAN       | 58:86:94:xx:xx:xx | label1 + 3             |
+-----------+-------------------+------------------------+
The WLAN 2.4G MAC address (label1) was found in 'Factory' partition, 0xA0004
The WLAN 5G MAC address (label2) was found in 'Factory' partition, 0x4

Installation
------------
1. Download the OEM recovery software (ipTIME Firmware Wizard (11ac))
   from the manufacturer's website
2. Download the *squashfs-factory.bin file from the OpenWrt website
3. Press a reset button, and power up the router (keep pressing the reset button)
4. Wait more than 10 seconds until the CPU LED stop blinking
5. Connect the router (LAN port) to the PC
6. Run the OEM recovery software and follow the instructions
7. Select the *squashfs-factory.bin file during the router recovery process
8. Wait for the router to boot from *squashfs-factory.bin

Note: The router will automatically reboot if no file is uploaded within
55 seconds.

Fan Control
------------
The fan speed is controlled by writing a value from 0 to 2 to the
`fan1_target` file.

```
cd /sys/devices/platform/gpio-fan/hwmon/hwmon2

echo '0' > fan1_target // off
echo '1' > fan1_target // slow
echo '2' > fan1_target // fast
```

Limitation: Enabling Wi-Fi 6E
----------
Wi-Fi 6E (6GHz) does not work out of the box on LuCI.
After installation, you need to configure a few settings in the `radio1`
and `default_radio1` sections of the `/etc/config/wireless`.
Once you have made these changes, you can enable and use Wi-Fi 6E.

In the `radio1` section, you need to add three common options:
- band: must be set to `6g`
- country: a valid country code for the 6GHz band
- channel: a preferrend scanning channel (PSC) for 6GHz

In the `default_radio1` section, you need to add the SSID and key:
- ssid: The public name of your Wi-Fi network
- key: The Wi-Fi password
- encryption: must be set to either `sae` for WPA3 or `owe` for OWE
  (open network)

Example:

```
config wifi-device 'radio1'
        ...
        option band '6g'
        option country 'KR'
        option channel '37'
        ...

config wifi-iface 'default_radio1'
        ...
        option ssid 'my_wifi_6e_name'
        option key 'my_strong_password1234'
        option encryption 'sae'
        ...
```

Note: A list of all the 6GHz PSC channels:

```
5, 21, 37, 53, 69, 85, 101, 117, 133, 149, 165, 181, 197, 213, and 229
```

Limitation: Maximum Transmit Power (Wi-Fi 6E)
----------
The maximum transmit power is currently broken. In the drop-down menu,
you can only choose between "driver default" and "255 dBm (2147493647
mW)". There is currently no workaround for the issue. Please leave the
maximum transmit power set to "driver default".

Signed-off-by: Donghyun Ko <nyankosoftware@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19763
(cherry picked from commit 2503e5bc37)
Signed-off-by: Donghyun Ko <nyankosoftware@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20773
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-29 01:17:45 +01:00
Michal HalvaandHauke Mehrtens 51108508f1 mediatek: filogic: add support for Cudy WR3000P v1
Hardware
--------
MediaTek MT7981 WiSoC
512MB DDR4 RAM
128MB SPI-NAND
MediaTek MT7981 2x2 DBDC 802.11ax 2T2R (2.4 / 5)
4 LAN MediaTek MT7531 PHY
1 WAN RTL8221B-VB-CG 2.5Gbps PHY
UART: 115200 8N1 3.3V
USB2 Port
PoE on WAN Port

MAC:
LAN MAC: label mac
WAN MAC: label mac + 1
2.4G MAC: label mac
5G MAC: label mac + 1 with LA bit set

Gotchas:
WAN LED does not light up (might require further DTS tweaks)
PoE on WAN port was not tested

This commit is heavily based on WR3000H one, I've just ported DTS differences
from the official image to get USB support and proper LED mapping.

Installation
------------
[Untested as I've received and used a transitional image from Cudy]

1. Connect to the serial port as described in the "Hardware" section.

2. Power on the device + press reset pin. Keep pressing reset pin to enter the U-Boot  shell.

3. Download the OpenWrt initramfs image. Place it on an TFTP server
   connected to the Cudy LAN ports. Make sure the server is reachable at
   192.168.1.88. Rename the image to "cudy3000p.bin"

4. Download and boot the OpenWrt initramfs image.

   $ tftpboot 0x46000000 cudy3000s.bin; bootm 0x46000000

5. Transfer the OpenWrt sysupgrade image to the device using scp.
   Install with sysupgrade.

Signed-off-by: Michal Halva <hedik01@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19636
(cherry picked from commit 04e9d154f2)
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Link: https://github.com/openwrt/openwrt/pull/20830
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-29 01:10:10 +01:00
Liangbin LianandHauke Mehrtens 414f196a96 rockchip: LinkEase EasePi R1 use dedicated uboot
Fixes the "mdio_bus stmmac-1: MDIO device at address 1 is missing" error
that occurs during cold boot when initializing GMAC.

Fixes: 8ca4caacd0 ("rockchip: Add support for RK3568 LinkEase EasePi R1")
Signed-off-by: Liangbin Lian <jjm2473@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20772
(cherry picked from commit e6a5ca0da7)
Link: https://github.com/openwrt/openwrt/pull/20744
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-29 01:05:47 +01:00
Liangbin LianandHauke Mehrtens 9c25d39d3e uboot-rockchip: add dedicated uboot for LinkEase EasePi R1
The generic-rk3568 does not reset the gmac phy, causing the kernel to
fail to initialize gmac during cold boot with the error message
"mdio_bus stmmac-1: MDIO device at address 1 is missing."

Adding a dedicated uboot for EasePi R1 to resolve this issue.

The EasePi R1's DTS hasn't been merged into the Linux release yet,
so it cannot be submitted to the upstream u-boot.

Fixes: ef093299db ("uboot-rockchip: add support for LinkEase EasePi R1")
Signed-off-by: Liangbin Lian <jjm2473@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20772
(cherry picked from commit 5dff7b45d3)

With changes:
1. Reorder patch file names (`105-*` to `106-*`).
2. configs/easepi-r1-rk3568_defconfig needs CONFIG_SPL_PAD_TO on u-boot 2024.10.

Signed-off-by: Liangbin Lian <jjm2473@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20744
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-29 01:05:47 +01:00
Liangbin LianandHauke Mehrtens fbaf5271d2 rockchip: make NIC name predictable for LinkEase EasePi R1
The probe order for PCIe buses and devices is non-deterministic,
making the names eth2 and eth3 unpredictable (they may be swapped).

This patch fixes the names by referencing the device path using
`ucidef_set_network_device_path`.

This patch ensures that the OpenWrt interface name matches the case label.

Fixes: 8ca4caacd0 ("rockchip: Add support for RK3568 LinkEase EasePi R1")
Signed-off-by: Liangbin Lian <jjm2473@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20779
(cherry picked from commit d7530c1e54)
Link: https://github.com/openwrt/openwrt/pull/20744
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-29 01:05:47 +01:00
Liangbin LianandHauke Mehrtens c795a91579 rockchip: Add support for RK3568 LinkEase EasePi R1
Specification:
- Rockchip RK3568
- 2GB/4GB LPDDR4 RAM
- 16GB on-board eMMC
- 1x M.2 key for 2280 NVMe (PCIe 3.0)
- 1x USB 3.0 Type-A
- 1x USB 2.0 Type-C (for USB flashing)
- 2x 1000 Base-T (native, RTL8211F)
- 2x 2500 Base-T (PCIe, RTL8125B)
- 1x HDMI 2.0 Output
- 12v DC Jack
- 1x Power key connected to PMIC
- 2x LEDs (one static power supplied, one GPIO controlled)

Debug Serial Port: 3.3V TTL, 3-pin 2.54mm pitch connector, 1500000 bauds,
'J7' on board with G/R/T (GND/RX/TX) pins marked

Installation - eMMC:
-Boot official firmware (OpenWRT based)
-Upload sysupgrade.img.gz to /tmp/firmware.bin (with scp or web page)
-Flash to eMMC: sysupgrade -n -p -F /tmp/firmware.bin

Signed-off-by: Liangbin Lian <jjm2473@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20147
(cherry picked from commit 8ca4caacd0)
[refresh patches upon 24.10 branch]
Link: https://github.com/openwrt/openwrt/pull/20744
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-29 01:05:47 +01:00
Liangbin LianandHauke Mehrtens e35f37791f uboot-rockchip: add support for LinkEase EasePi R1
generic-rk3568 is enough

Signed-off-by: Liangbin Lian <jjm2473@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20147
(cherry picked from commit ef093299db)
Link: https://github.com/openwrt/openwrt/pull/20744
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-29 01:05:47 +01:00
Hauke Mehrtens 804a2e6c51 uboot-mediatek: mtd: spinand: esmt: add support for F50L1G41LC
Add support for esmt F50L1G41LC flash chip. It is used in some recent
Cudy devices.

(cherry picked from commit c84025dea2)
Link: https://github.com/openwrt/openwrt/pull/20963
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-29 00:00:04 +01:00
Hauke Mehrtens 6ff763e78c kernel: mtd: spinand: esmt: add support for F50L1G41LC
Backport upstream patch to add support for the ESMT F50L1G41LC flash
chip. It is used in multiple Cudy products manufactured starting
November 2025.

(cherry picked from commit 9424b2b786)
Link: https://github.com/openwrt/openwrt/pull/20963
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-28 23:59:45 +01:00
Goetz GoerischandHauke Mehrtens 648fa1b6d3 kernel: bump 6.6 to 6.6.117
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.117

Manually updated:
bcm27xx/patches-6.6/950-0814-media-i2c-adv7180-Add-support-for-V4L2_CID_LINK_FREQ.patch
Updated with Raspberry Pi patch.

All patches auto-refreshed.

Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20927
(cherry picked from commit 0337cdfb33)
Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20952
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-27 22:52:26 +01:00
Tianling Shen 7198fc2af4 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-11-26 11:13:51 +08:00
Tianling Shen 5048a619a8 rockchip: fix path to 9Tripod X3568 v4 dtb
Fixes: 1ab1673689 ("rockchip: backport upstreamed dts for 9Tripod X3568 v4")
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-11-24 15:06:12 +08:00
Tianling Shen 152f1fa92f rockchip: remove unsupported CAN for 9Tripod X3568 v4
Fixes: 1ab1673689 ("rockchip: backport upstreamed dts for 9Tripod X3568 v4")
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-11-23 23:21:23 +08:00
Tianling Shen fa35a3586e rockchip: reload-sdio-wifi: delay 120s for 9tripod x3568-v4
Need to delay 120s if a modem is inserted.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 05b18de214)
2025-11-23 23:05:55 +08:00
Tianling Shen 079cb07bad rockchip: refresh upstreamed patches
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 2684954fed)
2025-11-23 23:05:49 +08:00
Tianling Shen 1ab1673689 rockchip: backport upstreamed dts for 9Tripod X3568 v4
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 2afe6a18ba)
2025-11-23 23:01:58 +08:00
Christian Marangi 443fc11576 package: drop creating spurious tmp directory in feed directory
In implementing APK support it seems a a leftover was never removed that
creates an unused tmp directory in the package feed directory.

Drop it as it's not used anywhere. What is actually needed is the
creation of the $$(PDIR_$(1)) directory for the feed package directory
in the bin/packages directory.

This was a side effect of using INSTALL_DIR on $$(PDIR_$(1))/tmp that
indirectly creates the $$(PDIR_$(1)) parent directory.

Fixes: d788ab376f ("build: add APK package build capabilities")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit f9802d70c6)
2025-11-23 11:41:47 +01:00
Tianling Shen ef2a74f718 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-11-21 18:26:01 +08:00
Felix FietkauandChristian Marangi 444299d70c kernel: backport mediatek WED DMA mask fixes
Fixes issues on devices with 4 GB RAM.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 3632c0d3ce)
[ fix conflict errors ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-11-19 14:31:17 +01:00
Lorenzo BianconiandChristian Marangi 6c5c8598ab mt76: Enable NPU support for Airoha AN7581 SoC
Airoha AN7581 SoC supports a Network Processor (NPU) to offload WiFi
traffic. Add the required bits to enable the support of it in the MT76
driver. This will be enabled by default if we are compiling for the
Airoha AN7581 SoC.

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
[ improve commit title/description ]
Link: https://github.com/openwrt/openwrt/pull/20826
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 79d418eed8)
2025-11-19 13:54:41 +01:00
Felix FietkauandChristian Marangi 59b4c9e114 mt76: update to Git HEAD (2025-11-06)
0aece3089a3a wifi: mt76: mt7996: Remove useless check in mt7996_msdu_page_get_from_cache()
05b3d899ad24 wifi: mt76: Move Q_READ/Q_WRITE definitions in dma.h
85e6517b0ac5 wifi: mt76: Add mt76_dev pointer in mt76_queue struct.
a3b6c67c97d2 wifi: mt76: Add the capability to set TX token start ID
141a81557070 wifi: mt76: Introduce the NPU generic layer
647d11bb17e0 wifi: mt76: mt7996: Add NPU offload support to MT7996 driver
8ff3b2bfc37f wifi: mt76: mt7996: fix typos in comments
0043147439b4 wifi: mt76: mt7925: refactor regulatory domain handling to regd.[ch]
f0e8fe441489 wifi: mt76: mt7925: refactor CLC support check flow
588cc87bf6a2 wifi: mt76: mt7925: refactor regulatory notifier flow
dac1d45fe94b wifi: mt76: mt7925: improve EHT capability control in regulatory flow
c166c4a0e750 wifi: mt76: mt7925: add auto regdomain switch support
d7b059bba166 wifi: mt76: mt7925: disable auto regd changes after user set
84f62a6beb99 wifi: mt76: mmio_*_copy fix byte order and alignment
f5ae5b2e8116 Revert "wifi: mt76: mt792x: improve monitor interface handling"
8ae7e6dc1d3a wifi: mt76: adjust BSS conf pointer handling
1b438ebe0d06 wifi: mt76: mt7925: cqm rssi low/high event notify
7519fa4ce62c wifi: mt76: mt7996: fix max nss value when getting rx chainmask
ea0580ad065f wifi: mt76: mt7996: no need to wait ACK event for SDO command
74112c2956fb wifi: mt76: mt7996: fix implicit beamforming support for mt7992
361d6bdac45d wifi: mt76: mt7996: support fixed rate for link station
d99274cdc30c wifi: mt76: mt7996: fix several fields in mt7996_mcu_bss_basic_tlv()
ad90a85b652b wifi: mt76: mt7996: fix teardown command for an MLD peer
e9fe8bc03e41 wifi: mt76: mt7996: set link_valid field when initializing wcid
050394665502 wifi: mt76: mt7996: use correct link_id when filling TXD and TXP
5d223855552c wifi: mt76: mt7996: fix MLD group index assignment
ab8361dbc421 wifi: mt76: mt7996: fix MLO set key and group key issues
7ce7ab881b3f wifi: mt76: mt7996: fix using wrong phy to start in mt7996_mac_restart()
1e0c23ff754b wifi: mt76: mt7996: fix EMI rings for RRO
eb567bc7f9b6 wifi: mt76: mt7925: ensure the 6GHz A-MPDU density cap from the hardware.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit e1a584b5d2)
2025-11-19 13:54:34 +01:00
Felix FietkauandChristian Marangi 2b3f8c0d4c mt76: update to Git HEAD (2025-10-20)
9050597c4cd6 wifi: mt76: fix license/copyright of util.h
33f29d2345cc wifi: mt76: relicense to BSD-3-Clause-Clear
fc25ba82192e add LICENSE file
c1349a686cd1 wifi: mt76: mt7921: fix a potential clc buffer length underflow
4e7077f77400 wifi: mt76: mt7996: fix FCS error flag check in RX descriptor
754e3357045d wifi: mt76: mt7996: Remove unnecessary link_id checks in mt7996_tx
2e63c495f59b wifi: mt76: connac: Replace memcpy + hard-coded size with strscpy
95c4df3233ed wifi: mt76: Fix DTS power-limits on little endian systems
6f27d647c0ce wifi: mt76: mt7915: add bf backoff limit table support
1e91eadc9d46 wifi: mt76: wed: use proper wed reference in mt76 wed driver callabacks
2fe5bdbe7e13 wifi: mt76: use GFP_DMA32 for page_pool buffer allocation
c63db0fcadb8 wifi: mt76: mt7915: add WDS support when WED is enabled

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 13c30c2e58)
2025-11-19 13:54:27 +01:00
Christian Marangi 84927ebac6 mt76: update to Git HEAD (2025-10-03)
9ee788a38251 wifi: mt76: mt7996: fix null pointer deref in mt7996_conf_tx()
ec3f05480e5b tools: CMakeLists: update cmake minimum required version to 3.10

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 3531322a4a)
2025-11-19 13:54:15 +01:00
Pawel DembickiandChristian Marangi dbc2b142ce mac80211: mwl8k: inject DSSS Parameter Set element into beacons if missing
Some Marvell AP firmware used with mwl8k misbehaves when beacons do not
contain the DSSS Parameter Set (WLAN_EID_DS_PARAMS) with the current
channel. When hostapd/mac80211 omits this element (which is valid on
some bands), the firmware may report bogus RX channel information and AP
mode becomes unusable.

Backport the upstream fix that ensures beacons always carry the DSSS
Parameter Set for mwl8k: when setting the beacon, detect if the element
is missing and inject it after SSID and Supported Rates (per spec
ordering). This mirrors behaviour in newer Marvell drivers and restores
stable operation.

Tested on Linksys EA4500 (88W8366).

Fixes: openwrt/openwrt#19088
Link: https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless.git/commit/?id=c4e1ac09ee1c750890e36cb1f841f25518f23589

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20757
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 38ed1510db)
[refreshed patches]
Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20817
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-11-18 12:41:38 +01:00
Tianling Shen 96d2703f87 rockchip: fix setup pcie eth led for guangmiao g4c
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 3a47112b14)
2025-11-17 01:51:55 +08:00
Tianling Shen 8a7196a858 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-11-15 22:23:54 +08:00
Álvaro Fernández Rojas 4d1c1d7754 odhcpd: backport memleak fix from Git HEAD
be7ca7c0792b config: fix memleak during odhcpd reload

https://github.com/openwrt/odhcpd/commit/be7ca7c0792b

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-11-14 23:02:27 +01:00
Tianling Shen cf38b20e44 uboot-rockchip: drop unneeded dtb patch
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 5473773b16)
2025-11-14 20:24:36 +08:00
Tianling Shen 7330ba3dba Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-11-14 17:50:46 +08:00
George TsiamasiotisandChristian Marangi 58cde9ec22 scripts/patch-kernel.sh: do not try to check files after patch
Since we are not using patch -b, *.orig files are only created when
there are conflicts, or never according to posix patch.

As such, it doesn't really make sense to always delete *.orig files
presuming they are patch backups, even if they are patch backups.
Doing so is both deleting potentially useful information for failed
patch applications and creating hard to diagnose bugs [1].

In a similar vein, checking for *.rej files does not add any value
since we're already checking the patch command's return code.

[1]: https://github.com/openwrt/packages/issues/27485

Signed-off-by: George Tsiamasiotis <george@tsiamasiotis.gr>
Link: https://github.com/openwrt/openwrt/pull/20141
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 75ca6bafd6)
Link: https://github.com/openwrt/openwrt/pull/20742
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-11-12 12:09:43 +01:00
Ernestas KulikandChristian Marangi dddeea5e7f scripts: feeds: Don’t hardcode IS_TTY
When building in environments that set IS_TTY, the feeds script does not
honor it and passes a hardcoded value to scan.mk, causing unwanted
control characters to appear in stdout.

This commit addresses the issue by checking IS_TTY and MAKE_TERMOUT
variables and uses their values if defined.

Closes #8039

Signed-off-by: Ernestas Kulik <ernestas.k@iconn-networks.com>
Link: https://github.com/openwrt/openwrt/pull/20743
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit fd7e43d429)
2025-11-12 12:06:51 +01:00
Christian Marangi d804c3110b airoha: backport patch fixing out of order DMA for ethernet driver
Backport upstream patch fixing out of order DMA access for ethernet
driver. This is relevant in the context of QoS when packets doesn't
follow linear handling by QDMA HW.

(cherry picked from commit 3169ffa4c7)
[ fix conflict errors ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-11-12 10:13:26 +01:00
Shiji YangandChristian Marangi b01c68ddbd 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
(cherry picked from commit ae70dbc267)

Backport the migration script that can also work backward, migrating
from 6.12 to 6.6. Like going from main/master to stable 24.10.
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Link: https://github.com/openwrt/openwrt/pull/20739
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-11-12 00:08:15 +01:00
Shiji YangandChristian Marangi 42ca1612a2 base-files: introduce a function to get kernel version number
A new function "get_linux_version()" to normalize and print the
kernel version as an integer. In some migration scripts, it is
useful for checking the Linux kernel version.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/19172
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit a0fe3cfb62)
Link: https://github.com/openwrt/openwrt/pull/20739
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-11-12 00:08:14 +01:00
Tianling Shen 6fb830edaf Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-11-11 18:51:05 +08:00
Christian Marangi ae51d0098e airoha: refresh kernel patches
After all the backports, automatically refresh all the patches for
Airoha target.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-11-10 18:29:44 +01:00
Christian Marangi 2d05923d2e airona: an7583: fix typo for CONFIG_PHY_AIROHA_USB
KConfig flag have an extra whitespace for CONFIG_PHY_AIROHA_USB and
value is not ignored.

Drop the extra whitespace to correctly ignore the value on kernel
compilation.

Fixes: c5b12fc02a ("airoha: Introduce support for Airoha AN7583 SoC")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit eedc7b3b79)
2025-11-10 18:26:30 +01:00
Christian Marangi 81929a31af airoha: replace PWM patch with upstream version
Replace Airoha AN7581 PWM patch with upstream version and add kernel
version tag.

(cherry picked from commit 2352de96c1)
[ fix conflict error ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-11-10 18:20:45 +01:00
Christian Marangi b3e90139ce airoha: backport minor fixes for NPU handling
Backport upstream minor fixed for NPU handling that might result in
kernel panic or handle leak.

(cherry picked from commit 83eacb6ab0)
[ fix conflict errors ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-11-10 18:20:45 +01:00
Lorenzo BianconiandChristian Marangi dcced671e2 airoha: Add missing board files for EN7581
Add missing leds and network board files for EN7581 SoC.

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
[ drop reference to downstream 10g RFB board ]
Link: https://github.com/openwrt/openwrt/pull/20556
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 738eacb9a0)
2025-11-10 18:20:44 +01:00
Ziyang HuangandChristian Marangi 9d218f0853 airoha: adjust and default the loadaddr
Similar to e92b153e99 ("mediatek: introduce KERNEL_LOADADDR to Device/Default template"),
let's move the default loadaddr to Device/Default.

What's more, use 0x80200000 instead of the SDK default value 0x80088000
to avoid the following error which may overwrite TZ memory and cause crash:

    [    0.000000] [Firmware Bug]: Kernel image misaligned at boot, please fix your bootloader!
    [    0.000000] OF: reserved mem: Reserved memory: failed to reserve memory for node 'atf@80000000': base 0x0000000080000000, size 2 MiB

Signed-off-by: Ziyang Huang <hzyitc@outlook.com>
[ fix spelling mistake ]
Link: https://github.com/openwrt/openwrt/pull/20470
(cherry picked from commit fed2d31343)
[ fix conflict error ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-11-10 18:20:44 +01:00
Christian Marangi e905c45b05 airoha: an7581: enable USB node on eMMC RFB board
Enable USB node on eMMC RFB board and disable USB2 3.0 port to make the
3rd PCIe line correctly work.

This is needed to prevent the xHCI driver to mess with PCIe by
configuring the USB2 3.0 port. Port will still be detected but won't be
configureed by the driver and won't have PHY to configure for.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 6d51c80424)
2025-11-10 18:20:44 +01:00
Christian Marangi b5a66740c2 airoha: an7581: correctly attach the USB2 PHY for 3rd PCIe line
The 3rd PCIe line use the USB2 serdes for PCIe operation. Correctly set
it to the DT node so that the mode can be correctly set in the PHY
driver.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 3ba92e0e32)
2025-11-10 18:20:44 +01:00
Christian Marangi 64ad16e3ed airoha: an7581: add USB nodes
Add USB nodes to AN7581 DTSI, disabled by default.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 3db72b71d1)
2025-11-10 18:20:44 +01:00
Christian Marangi 9aeda89c05 airoha: add pending patch for USB support on AN7581
Add pending patch for USB support on AN7581 SoC. This is also required
to make operational the 3rd PCIe line that use the USB2 Serdes for PCIe
operations.

(cherry picked from commit 7afc2da3fc)
[ fix conflict errors, add missing Kconfig flag ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-11-10 18:20:40 +01:00
Christian Marangi 9097d73cbb airoha: add nodes for 3rd PCIe line for AN7581
Some SoC might use the Serdes for the second USB port as a 3rd PCIe
line (with the SSTR register correctly setup).

Add the node for the 3rd PCIe card and enable for the eMMC RFB board.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 2fae199953)
2025-11-10 18:09:14 +01:00
Christian Marangi 7af48fdcd3 airoha: backport fix for Airoha offload support with airoha_hw_init fail
Backport a patch fixing a kernel panic on airoha_hw_init fail. This
should better handle scenario with NPU load Probe deferring.

(cherry picked from commit c3c75d0e68)
[ fix conflict error ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-11-10 18:09:14 +01:00
Christian Marangi 518f3c6171 airoha: backport cleanup patch for Airoha Ethernet driver
Backport cleanup patch for Airoha Ethernet patch to permit easier
backport in the future.

Automatically refresh all affected patch.

(cherry picked from commit 2f3ea18f91)
[ fix conflict errors, drop upstream patch ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-11-10 18:05:46 +01:00
Christian Marangi 9babe16bd2 airoha: an7581: add Aeonsemi AS21xxx PHY to RFB eMMC board
Airoha AN7581 eMMC RFB board mount 2 Aeonsemi AS21xxx PHY. One is
usually connected to GDM4 and the other is optionally connected to GDM2.
Add the relevant nodes to support the one connected to GDM4.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 26da4bf552)
2025-11-10 17:55:48 +01:00
Christian Marangi fda425adf4 airoha: an7581: add BL2 and BL31+U-Boot Artifacts for RFB board
Pack the BL2 and BL31+U-Boot artifacts as Airoha AN7581 is currently
supported in upstream U-Boot and bootloader files can be used for
unfused boards.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 17cb69fe7f)
2025-11-10 17:55:41 +01:00
Christian Marangi 1f7de3311c airoha: backport additional upstream patch for NPU support for AN7583
Backport additional patch required for NPU support of Airoha AN7583.
These are specific for the NPU module with some minor fixes and to adds
upport for loading the specific Airoha AN7583 NPU firmware.

(cherry picked from commit 8b4adfbb87)
[ fix conflict errors ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-11-10 17:54:54 +01:00
Christian Marangi 4391bf8729 airoha: an7583: add NPU nodes and enable kernel config
Add relevant nodes for NPU support for Airoha AN7583 and enable the
kernel config to enable support in the Airoha Ethernet driver.

NPU firmware is scheduled to be upstreamed to linux-firmware and will be
added once present upstream.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 8758b58f25)
2025-11-10 17:54:16 +01:00
Christian Marangi ed8ba06ced airoha: an7583: drop bootloader artifacts entry and add default pkg
Fix the current image Makefile for Airoha AN7583 by dropping the
artifacts entry for bootloader and add default PKG for the PHY mounted
on the RFB boards.

The artifacts for the bootloader will be readded later once ATF-A
support will be pushed mainline.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit a7964f0893)
2025-11-10 17:54:10 +01:00
Christian Marangi 89cee1bf3f airoha: an7583: Add missing DTS for EMMC RFB board
While adding support for Airoha AN7583, it was forget to push the EMMC
DTS while defining the variant in the image Makefile.

Add the missing DTS to fix image creation error.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 6fe65d404b)
2025-11-10 17:54:03 +01:00
Christian Marangi 4d4fd4d125 airoha: an7583: add additional comments on EVB board
On the Airoha AN7583 EVB there are 2 Aeonsemi AS21xxx PHY but only the
one connected to Serdes Ethernet is usable as the other connected to
Serdes PON is not actually HW connected (as the serdes is connected to
the BOSA port)

Add comments and disable the relevant PHY.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit ea850b5a18)
2025-11-10 17:53:56 +01:00
Christian Marangi 262b537f48 airoha: backport upstream patch for AN7583 Ethernet support
Backport upstream patch for AN7583 Ethernet support. While at it also
backport some additional fixes required to apply the AN7583 patches
cleanly.

Refresh all affected patch automatically (aside from the XSI patch that
changed the implementation)

Link: https://github.com/openwrt/openwrt/pull/20489
(cherry picked from commit 46a454fb9b)
[ fix conflict errors ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-11-10 17:53:47 +01:00
Aleksander Jan BajkowskiandChristian Marangi c56fbe156e airoha: fix scuclk node for an7581
Add missing syscon compatible for scuclk node.
Fix the unit-address of the scuclk node.
This fixes the pcs driver error:

airoha-pcs 1fa08000.pcs: probe with driver airoha-pcs failed with error -22
airoha-pcs 1fa09000.pcs: probe with driver airoha-pcs failed with error -22

Fixes: c3d70b1 ("airoha: en7581: Add support for external PHY")
Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Link: https://github.com/openwrt/openwrt/pull/20190
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit a30daf8a0b)
2025-11-10 17:48:34 +01:00
Chukun PanandChristian Marangi 84944c0311 airoha: set default DEVICE_DTS/DEVICE_DTS_DIR
All devices under airoha use dts directory under the target,
so update the default DEVICE_DTS_DIR. Also set the default
DEVICE_DTS based on the SoC name for non-dev boards.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Link: https://github.com/openwrt/openwrt/pull/20190
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 866c4e5cdf)
2025-11-10 17:46:45 +01:00
Christian Marangi 0272d79e34 airoha: Introduce support for Airoha AN7583 SoC
Introduce initial support for Airoha AN7583 SoC and add all the required
patch for basic functionality of the SoC.

Airoha AN7583 is based on Airoha EN7581 SoC with some major changes on
the PHY handling and Serdes. It can be see as a lower spec of EN7581
with modern and simplified implementations.

All the patch are sent upstream and are pending revision. Support for
PCIe and USB will come later as soon as DT structure is accepted
upstream.

(cherry picked from commit c5b12fc02a)
[ fix conflict errors, add MDIO_AIROHA config ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-11-10 17:46:13 +01:00
Christian Marangi 1181c031a0 airoha: en7581: Add pending ASOC driver
Add pending ASOC driver for I2S sound support on Airoha EN7581 SoC.

(cherry picked from commit 14bc87cf76)
[ fix conflict error ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-11-10 17:37:04 +01:00
Christian Marangi 48ec8469fd airoha: en7581: Add support for external PHY
This add a pending version of the Airoha PCS driver to add support for
External PHY. The Airoha PCS driver will receive some minor modification
once we the PCS subsystem will be defined upstream.

Add all the required node for GDM2 and GDM4 and enable the PCS config.

(cherry picked from commit c3d70b1ae5)
[ fix conflict error ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-11-10 17:36:25 +01:00
Aleksander Jan BajkowskiandChristian Marangi 8c5ad273b4 airoha: en7581: dts: fix typo "disable"
No functional changes intended.

Fixes warning:
/linux/arch/arm64/boot/dts/airoha/en7581-gemtek-w1700k.dtb: i2c1@1fbf8100 (mediatek,mt7621-i2c): status: 'oneOf' conditional failed, one must be fixed:
	['disable'] is not of type 'object'
	'disable' is not one of ['okay', 'disabled', 'reserved', 'fail', 'fail-needs-probe']
	from schema $id: http://devicetree.org/schemas/dt-core.yaml#

Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
Link: https://github.com/openwrt/openwrt/pull/20131
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 3872e9d317)
2025-11-10 17:30:05 +01:00
Aleksander Jan BajkowskiandChristian Marangi f364fe5e09 airoha: an7581: enable uart baudrate control
The baud rate control on Airoha does not function properly. This
patch enables the inactive code responsible for this. The UART2
baud rate is correct. HSUART3 operates at twice the requested
baud rate. The same problem exists in the current code, so this
doesn't introduce any regression. Support for baud rates higher
than 460800 is still required. This will be added in the future.

Tested on Gemtek W1700k. UART2 and HSUART3 are working fine.

Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
Link: https://github.com/openwrt/openwrt/pull/20049
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 440b85f5b1)
[ solve conflict error ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-11-10 17:30:05 +01:00
Christian Marangi dc11868486 airoha: backport upstream fixes for pinctrl PHY LED and MDIO
Backport fixes for Airoha pinctrl driver for PHY LED and MDIO bus. This
fix a copy-paste error for PHY LED and a misconfiguration for MT7530
embedded Switch MDIO bus GPIO pin to permit usage of external PHYs.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 35ff70e807)
2025-11-10 17:30:05 +01:00
Christian Marangi 6a7b16e616 airoha: add NPU and reserved memory node for AN7581
Add the NPU and reserved memory node for AN7581 dtsi since it's not
supported.

Link: https://github.com/openwrt/openwrt/pull/19816
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 3dca527e6d)
2025-11-10 17:30:05 +01:00
Christian Marangi 671f4d53ac airoha: major backport of Airoha Ethernet driver feature support
Major backport of upstream patch for support of multiple feature of the
Airoha Ethernet driver.

Feature backported are TSO, Jumbo packet, Offload and initial Wlan
Offload support.

Link: https://github.com/openwrt/openwrt/pull/19816
(cherry picked from commit 9d3009f426)
[ add missing kconfig flag ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-11-10 17:29:48 +01:00
Christian Marangi bac7ee02f9 airoha: backport trivial fixes for pinctrl and ethernet driver
Backport trivial fixes from upstream related to pinctrl and ethernet
driver.

Link: https://github.com/openwrt/openwrt/pull/19816
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 354d7472d5)
2025-11-10 17:24:44 +01:00
Christian Marangi 3b1fc6661a airoha: backport patch adding support for AN7581 Ethernet PHY
Backport patch adding support for AN7581 Ethernet PHY based on the same
Mediatek embedded Switch PHY.

Link: https://github.com/openwrt/openwrt/pull/19816
(cherry picked from commit 0adaeff5ee)
[ rework backported patch ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-11-10 17:24:10 +01:00
Christian Marangi a6e8cbdf53 airoha: replace thermal patch with upstream version
Replace thermal patch with upstream version. The thermal maintainer
reported that the sysfs entry are considered deprecated and that slope
and offset should be handled internally to the driver.

Link: https://github.com/openwrt/openwrt/pull/19816
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit a713260966)
2025-11-10 17:11:10 +01:00
Tianling Shen 73b47a0db5 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-11-10 17:32:23 +08:00
Tianling ShenandHauke Mehrtens a167e68c76 mediatek: add Konka KOMI A31 support
This board is also as known as E-Life ETR631-T/ETR635-U.

Hardware specification:
  SoC: MediaTek MT7981B 2x A53
  Flash: 128 MB SPI-NAND
  RAM: 256MB DDR3
  Ethernet: 4x 10/100/1000 Mbps
  Switch: MediaTek MT7531AE
  WiFi: MediaTek MT7976C
  Button: Reset, Mesh
  Power: DC 12V 1A

Gain telnet access:
1. Login into web interface, and download the configuration.
2. Uncompress the configuration:
     * Enter fakeroot if you are not login as root.
   tar -zxf <filename>.tar.gz
3. Edit 'etc/passwd', remove root password: 'root::1:0:99999:7:::'.
4. Edit 'etc/rc.local', insert telnetd command before 'exit 0':
   ( sleep 3s; telnetd; ) &
5. Repack the configuration:
   tar -zcf backup.tar.gz etc/
6. Upload new configuration via web interface, now you can connect to
   KOMI A31 via telnet.

Flash instructions:
1. Connect to KOMI A31, backup everything, especially 'Factory' part.
2. Write new BL2:
   mtd write openwrt-mediatek-filogic-konka_komi-a31-preloader.bin BL2
3. Write new FIP:
   mtd write openwrt-mediatek-filogic-konka_komi-a31-bl31-uboot.fip FIP
4. Set static IP on your PC:
   IP 192.168.1.254/24, GW 192.168.1.1
5. Serve OpenWrt initramfs image using TFTP server.
6. Cut off the power and re-engage, wait for TFTP recovery to complete.
7. After OpenWrt has booted, perform sysupgrade.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20357
(cherry picked from commit 8a7de107d8)
[rebase uboot patches upon 24.10 branch]
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20595
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-09 14:42:06 +01:00
Luis MitaandHauke Mehrtens d414ed185e ramips: mt76x8: add support for Cudy RE1200 Outdoor v1
Hardware:
 - SoC: MediaTek MT7628DAN
 - Flash: 8 MiB XMC 25QH64CHIQ
 - RAM: 64 MiB (integrated on SoC)
 - WLAN: 2.4 GHz (MT7603E, 11n), 5 GHz (MediaTek MT7613BEN, 11ac)
 - Ethernet: 1x10/100 Mbps LAN
 - Buttons: 1 Reset button, 1 WPS button
 - LEDs: 5x Green
 - Serial Console: unpopulated header 115200 8n1
 - Power: 24v Passive POE

MAC addresses:
+---------+-------------------+-----------+
|         | MAC               | Algorithm |
+---------+-------------------+-----------+
| LAN     | 80:af:ca:xx:xx:x0 | label     |
| WLAN 2g | 80:af:ca:xx:xx:x0 | label     |
| WLAN 5g | 80:af:ca:xx:xx:x2 | +2        |
+---------+-------------------+-----------+

Installation:
Please check the Wiki for this device for a more convenient solution than the one below.

1. Disassemble the device, desolder and dump the flash chip with a SPI programmer.
2. Separate the partitions with dd:

dd if=spi_dump.bin of=u-boot.bin     bs=1  skip=0        count=196608  status=progress
dd if=spi_dump.bin of=u-boot-env.bin bs=1  skip=196608   count=65536   status=progress
dd if=spi_dump.bin of=factory.bin    bs=1  skip=262144   count=65536   status=progress
dd if=spi_dump.bin of=firmware.bin   bs=1  skip=327680   count=7995392 status=progress
dd if=spi_dump.bin of=bdinfo.bin     bs=1  skip=8323072   count=65536   status=progress

3. Download the sysupgrade firmware at openwrt.bin.
4. The firmware size should be 7995392 bytes. Fix the size of your firmware putting zeros to the end, with:

truncate -s 7995392 firmware.bin

5. Combine all the parititions:

cat u-boot.bin u-boot-env.bin factory.bin openwrt.bin bdinfo.bin > spi_new.bin

6. Erase and flash the SPI chip with the new file. Solder the chip and boot the router.

Signed-off-by: Luis Mita <luis@luismita.com>
Link: https://github.com/openwrt/openwrt/pull/20381
(cherry picked from commit 65215e6d46)
Link: https://github.com/openwrt/openwrt/pull/20463
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-09 14:39:45 +01:00
Tianling ShenandHauke Mehrtens c3b4e8e531 rockchip: add Lunzn FastRhino R66S support
Hardware
--------
RockChip RK3568 ARM64 (4 cores)
1/2GB LPDDR4 RAM
2x 2500 Base-T (PCIe, r8125b)
1 LED (Power)
1 Button (Reset)
Micro-SD Slot
2x USB 3.0 Port
12V DC Jack

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

Tested-by: Francisco G Luna <frangonlun@gmail.com>
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/19990
(cherry picked from commit d76a774270)
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20618
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-09 14:36:56 +01:00
Tianling ShenandHauke Mehrtens 32a2193a48 uboot-rockchip: add Fastrhino R66S support
Add support for the Lunzn FastRhino R66S board.

Tested-by: Francisco G Luna <frangonlun@gmail.com>
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/19990
(cherry picked from commit 678536740e)
[rebase patches upon 24.10 branch]
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20618
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-09 14:36:56 +01:00
Tianling Shen bbe14eba18 kernel: drop motorcomm phy LED hack
Now we have switched to upstream implementation, this hack can go.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit fa7ec775c1)
2025-11-09 21:34:41 +08:00
Shiji YangandHauke Mehrtens a902c0d020 ramips: dts: increase maximum MMC clock frequency
The High-Speed SD mode stability issue should have been fixed.
Increase the MMC max-frequency to improve the IO speed. We can
still use the sysfs to limit the clock frequency, e.g.

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

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18896
(cherry picked from commit 143cfd6113)
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20258
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-09 14:26:35 +01:00
Shiji YangandHauke Mehrtens 43c1a0440f ramips: mtk-sd: stability improvements for MIPS mt762x SoCs
* Add tuning parameters to improve the stability of 48~50 MHz
  High-Speed SD mode.

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

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18896
(cherry picked from commit 3f78e5c918)
[removed kernel 6.12 patches]
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20258
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-09 14:26:34 +01:00
Shiji YangandHauke Mehrtens 0be05cdf72 ramips: mtk-sd: backport Host Software Queue support
This new feature has some improvements for random RW performance.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18896
(cherry picked from commit db76fe6a02)
[removed kernel 6.12 patches]
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20258
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-09 14:26:34 +01:00
Shiji YangandHauke Mehrtens 0ed371472c ramips: mtk-mmc: fix data timeout value
The MT7628 programing guide shows that the correct DTOC unit is
1048576 clocks instead of 65536 clocks. This value is also used
by linux upstream mtk-sd driver. Correct the DTOC register and
also round up its value.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18896
(cherry picked from commit e69c867cdf)
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20258
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-09 14:26:34 +01:00
Shiji YangandHauke Mehrtens 550fa37533 ramips: dts: adjust the power regulators of MMC controller
- Fix MMC bus IO voltage. The GPIO voltage of mt762x series SoCs
  is fixed 3.3V. There are no visible registers that can control
  the voltage level. Also add "no-1-8-v" property to indicate that
  MMC controller doesn't support 1.8V IO.

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

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18886
(cherry picked from commit afdf88b9a1)
[rebased upon 24.10 branch]
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20258
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-09 14:26:34 +01:00
Tianling Shen d6da24db8a Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-11-09 21:23:56 +08:00
Goetz GoerischandHauke Mehrtens 9837ae4002 kernel: bump 6.6 to 6.6.116
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.116

All patches auto-refreshed.

Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20598
(cherry picked from commit 099633be82)
Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20701
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-09 14:21:42 +01:00
Goetz GoerischandHauke Mehrtens 597598baa9 kernel: bump 6.6 to 6.6.115
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.115

Patch manual updated:
- starfive/patches-6.6/0067-driver-uart-fix-up-uart-communicate-fail.patch [1]

All patches auto-refreshed.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.115&id=f354f7510ff0efaa1735093625749fc788ec67d1

Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20598
(cherry picked from commit 6526d6d057)
Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20701
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-11-09 14:21:42 +01:00
Tianling Shen 2134f087eb rockchip: drop wpad-openssl for xiguapi v3
No wireless driver is installed by default.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 6fd212d359)
2025-11-08 20:56:20 +08:00
Tianling Shen fc0a3d9051 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-11-07 22:31:59 +08:00
kcro227andTianling Shen 6f9e182236 rockchip: mod NLnet XiGuaPi V3 DEVICE_PACKAGES
(cherry picked from commit 8e15e35e87)
2025-11-07 22:31:39 +08:00
Hang ZhouandÁlvaro Fernández Rojas aa03dfeb96 bmips: fix leds on f@st3864op
gpio-leds were not working on F@ST3864OP before https://github.com/openwrt/openwrt/pull/17527 was merged.

This pull request adds definitions for all LEDs, including the previously
non-working WAN LEDs.

Signed-off-by: Hang Zhou <929513338@qq.com>
Link: https://github.com/openwrt/openwrt/pull/20533
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 6de96914e5)
2025-11-06 09:57:37 +01:00
Andreas GnauandChristian Marangi a38b0c94dd tools/ccache: same behaviour for local and CI builds
If the environment variable `CI` is set, ccache will enable the CMake
option CCACHE_DEV_MODE by default. This leads to differing behaviour
between local and CI builds which takes quite some time to debug. 🤯

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

Reported-by: Roman Azarenko <roman.azarenko@iopsys.eu>
Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
Link: https://github.com/openwrt/openwrt/pull/20290
(cherry picked from commit 6f32c657db)
Link: https://github.com/openwrt/openwrt/pull/20334
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-11-04 15:13:05 +01:00
Tianling Shen df010ea69f kernel: remove QE bit on unsupported chips for FudanMicro flash
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit c39129d915)
2025-11-04 16:13:29 +08:00
Robert Marko 99e62c21c6 mold: dont allow on MacOS
Mold does not really work on MacOS, when attempting to use it for example
for ubus:
mold: get_self_path is not supportedcollect2: error: ld returned 1 exit status

Which was introduced by [1] so it seems that MacOS is not supported, so
lets make it non selectable when MacOS is the host.

[1] https://github.com/rui314/mold/commit/f9a37e9dd43681758bbc5647ba9e596ec4ea9f33

Link: https://github.com/openwrt/openwrt/pull/18575
(cherry picked from commit 3c65dc3678)
Link: https://github.com/openwrt/openwrt/pull/20621
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-11-03 10:21:02 +01:00
Tianling Shen 8f02d6d999 rockchip: move eMMC HS200 flag to device tree
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 435388e808)
2025-11-02 22:52:58 +08:00
Tianling Shen 12a23b5bf0 fullconenat-nft: fix build with kernel 6.6.113
Upstream kernel dropped 3rd argument from validate callback ops in
commit df0ffc4b51e9 ("netfilter: nf_tables: drop unused 3rd argument from validate callback ops").

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit d2f7f43af2)
2025-11-02 17:19:47 +08:00
Tianling Shen b44e94aee4 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-10-31 22:08:20 +08:00
Tianling Shen 85479b71a0 rockchip: add PHY LED configuration for ninetripod x3568-v4
Fix mdio address while at it.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit d8d91416fc)
2025-10-30 21:46:32 +08:00
Tianling Shen 81a9d40ed3 sunxi: switch to use upstream phy led binding for yt85xx
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit a36b577370)
2025-10-30 21:46:22 +08:00
Tianling Shen 39810a4b38 rockchip: switch to use upstream phy led binding for yt85xx
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit cff84ecfdb)
2025-10-30 21:45:46 +08:00
Tianling Shen 3b35599397 kernel: backport PHY LEDs support for motorcomm PHY
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit a800a68557)
2025-10-30 21:45:19 +08:00
Tianling Shen 652f430238 rockchip: switch to use upstream dts for ariaboard photonicat
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 3733b4b9e0)
2025-10-30 21:45:08 +08:00
Tianling Shen 8748e38bd7 rockchip: add wifi reload workaround for ninetripod x3568-v4
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 318a94d7b1)
2025-10-29 18:55:38 +08:00
Zxl hhycccandHauke Mehrtens 984a219781 kernel: bump 6.6 to 6.6.114
https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.114

Removed upstreamed:
/target/linux/generic/backport-6.6/540-v6.12-ksmbd-browse-interfaces-list-on-FSCTL_QUERY_INTERFACE_INFO.patch

merged upstream with commit: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.114&id=499089376206f3f7f09d6852b3ec92f2674d24bb

All other patches automatically rebased.

Build system: bcm4908
Build system: bcm53xx

Signed-off-by: Zxl hhyccc <zxlhhy@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20434
(cherry picked from commit 8103b79776)
Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20551
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-28 22:16:44 +01:00
Zxl hhycccandHauke Mehrtens 8d90e178b1 kernel: bump 6.6 to 6.6.113
https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.113

Manually rebased:

/target/linux/generic/backport-6.6/540-v6.12-ksmbd-browse-interfaces-list-on-FSCTL_QUERY_INTERFACE_INFO.patch

Dropped patch

/target/linux/generic/backport-6.6/541-v6.18-ksmbd-add-max-ip-connections-parameter.patch

merged upstream with commit:  https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.6.y&id=bc718d0bd87e372f7786c0239e340f3577ac94fa

All other patches automatically rebased.

Build system: bcm4908
Build system: bcm53xx

Signed-off-by: Zxl hhyccc <zxlhhy@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20434
(cherry picked from commit d1d8febc42)
Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20551
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-28 22:16:44 +01:00
Zxl hhycccandHauke Mehrtens 5902917588 kernel: bump 6.6 to 6.6.112
https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.112

All patches automatically rebased.

Build system: bcm4908
Build system: bcm53xx

Signed-off-by: Zxl hhyccc <zxlhhy@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20434
(cherry picked from commit 32062152a8)
Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20551
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-28 22:16:44 +01:00
Zxl hhycccandHauke Mehrtens 630354031a kernel: bump 6.6 to 6.6.111
https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.111

All patches automatically rebased.

Build system: bcm4908
Build system: bcm53xx

Signed-off-by: Zxl hhyccc <zxlhhy@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20434
(cherry picked from commit 70df331a8e)
Link: https://github.com/openwrt/openwrt/pull/20551
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-28 22:16:44 +01:00
Tianling Shen 205e4f07bf ImmortalWrt v24.10.4: revert to branch defaults
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-10-28 16:39:20 +08:00
Tianling Shen 6eaea72a2c ImmortalWrt v24.10.4: adjust config defaults
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-10-28 16:39:19 +08:00
Tianling Shen e717d133ed ramips: switch to kmod-mmc-mtk for jdcloud re-sp-01b
This issue has been fixed.

This reverts commit 7e72d00963.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-10-27 22:10:17 +08:00
Tianling Shen 160f32284b armbian-firmware: add nvram link for ninetripod x3568-v4
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit d882244df4)
2025-10-26 22:33:01 +08:00
Tianling Shen e906244b34 tools/7z: update to 25.01
This version contains fixes for CVE-2025-55188.
Changelog: https://www.7-zip.org/history.txt

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/19742
Signed-off-by: Nick Hainke <vincent@systemli.org>
(cherry picked from commit 4e9fbc75c7)
2025-10-26 18:54:32 +08:00
Shiji YangandTianling Shen aa4a9279fb tools/7z: update to 25.00
Changelog: https://www.7-zip.org/history.txt

All patches are automatically refreshed.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/19360
Signed-off-by: Nick Hainke <vincent@systemli.org>
(cherry picked from commit 01654bc2ad)
2025-10-26 18:54:32 +08:00
Shiji YangandTianling Shen 47cf38cde3 tools/7z: update to 24.09
There are no patches that need to be refreshed.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/19020
Signed-off-by: Nick Hainke <vincent@systemli.org>
(cherry picked from commit ce9c7b05a4)
2025-10-26 18:54:32 +08:00
Shiji YangandTianling Shen 1a01e01b6e ramips: dts: increase maximum MMC clock frequency
The High-Speed SD mode stability issue should have been fixed.
Increase the MMC max-frequency to improve the IO speed. We can
still use the sysfs to limit the clock frequency, e.g.

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

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18896
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 143cfd6113)
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-10-26 18:54:16 +08:00
Shiji YangandTianling Shen 3163a046dc ramips: mtk-sd: stability improvements for MIPS mt762x SoCs
* Add tuning parameters to improve the stability of 48~50 MHz
  High-Speed SD mode.

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

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18896
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 3f78e5c918)
[removed kernel 6.12 patches]
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-10-26 18:54:16 +08:00
Shiji YangandTianling Shen 08404b3510 ramips: mtk-sd: backport Host Software Queue support
This new feature has some improvements for random RW performance.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18896
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit db76fe6a02)
[removed kernel 6.12 patches]
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-10-26 18:54:16 +08:00
Shiji YangandTianling Shen 6c5e81e53a ramips: mtk-mmc: fix data timeout value
The MT7628 programing guide shows that the correct DTOC unit is
1048576 clocks instead of 65536 clocks. This value is also used
by linux upstream mtk-sd driver. Correct the DTOC register and
also round up its value.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18896
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit e69c867cdf)
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-10-26 18:54:16 +08:00
Shiji YangandTianling Shen a70f766f20 ramips: dts: adjust the power regulators of MMC controller
- Fix MMC bus IO voltage. The GPIO voltage of mt762x series SoCs
  is fixed 3.3V. There are no visible registers that can control
  the voltage level. Also add "no-1-8-v" property to indicate that
  MMC controller doesn't support 1.8V IO.

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

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18886
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit afdf88b9a1)
[rebased upon 24.10 branch]
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-10-26 18:54:16 +08:00
Tianling Shen b5662a3055 uboot-rockchip: rename uboot dtsi for NLnet xiguapi v3
`rk3528` -> `rk3568`.

Fixes: edf9154f6d ("rockchip: add support for NLnet xiguapi v3")
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit f7762baec0)
2025-10-25 20:02:52 +08:00
Tianling Shen 51a4e6ad6c uboot-rockchip: backport motorcomm yt8521s support
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-10-25 19:55:35 +08:00
Tianling Shen 24d935a13b rockchip: minor fix for NineTripod X3568 v4
- Change line endings to LF for uboot defconfig
- Drop unneeded {rx,tx}-internal-delay-ps props
- Sort UBOOT_TARGETS and dts nodes

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 61e848f7f9)
2025-10-25 19:55:17 +08:00
Coia PrantandTianling Shen 2933450167 rockchip: Add NineTripod X3568 v4 support
Specification:
- SoC: RockChip RK3568 ARM64 (4 cores)
- eMMC: 16-128 GB
- RAM: 2-8 GB
- Power: DC 12V 2A
- Ethernet: 2x YT8521SC RGMII (10/100/1000 Mbps)
- Wireless radio: 802.11b/g/n/ac/ax dual-band
- LED:
  Power: AlwaysOn
  User: GPIO
- Button:
  VOL+: SARADC/0 <35k µV>
  VOL-: SARADC/0 <450k µV>
  Power/Reset: PMIC RK809
- CAN
  CAN/1: 4-pin (PH 2.0)
- PWM
  PWM/4: Backlight DSI/0 DSI/1
  PWM/7: IR Receiver [may not install]
- UART:
  UART/2: Debug TTL - 1500000 8N1 (1.25mm)
  UART/3: TTL (PH 2.0)
  UART/4: TTL (PH 2.0)
  UART/8: AP6275S Bluetooth
  UART/9: TTL (PH 2.0)
- I2C:
  I2C/0: PMIC RK809
  I2C/1: Touchscreen DSI/0 DSI/1
  I2C/4: Camera
  I2C/5: RTC@51 PCF8563
- I2S:
  I2S/0: miniHDMI Sound
  I2S/1: RK809 Audio Codec
  I2S/3: AP6275S Bluetooth Sound
- SDMMC:
  SDMMC/0: microSD (TF) slot
  SDMMC/2: AP6275S SDIO WiFi card
- Camera: 1x CSI
- Video: miniHDMI / DSI0 (MIPI/LVDS) / DSI1 (MIPI/EDP)
- Audio: miniHDMI / MIC on-board / Speaker / SPDIF / 3.5mm Headphones / AP6275S Bluetooth
- USB:
  USB 2.0 HOST x2
  USB 2.0 HOST x3 (4-pin)
  USB 2.0 OTG x1 (shared with USB 3.0 OTG/HOST) [slot may not install]
  USB 3.0 HOST x1
  USB 3.0 OTG/HOST x1
- SATA: 1x SATA 3.0 with Power/4-pin [slot may not install]
- PCIe: 1x PCIe 3.0 x2 (x4 connecter) [clock/slot may not install]

More details:
https://blog.gov.cooking/archives/research-ninetripod-x3568-v4-and-flash.html

Signed-off-by: Coia Prant <coiaprant@gmail.com>
Tested-by: Coia Prant <coiaprant@gmail.com>
(cherry picked from commit 4d97f439ed)
2025-10-25 19:54:35 +08:00
Coia PrantandTianling Shen e7d3dbc1b3 kernel: input: add adc-keys driver
This commit add kernel module support for ADC driven buttons.

Signed-off-by: Coia Prant <coiaprant@gmail.com>
(cherry picked from commit d371adf511)
2025-10-25 19:22:25 +08:00
Tianling Shen e57de7080f Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-10-25 02:15:38 +08:00
Christoph KrappandRobert Marko 2d758300e3 ath79: add calibration variant for TP-Link Archer C60 v2
Now that we have a board file, add calibration variant for TP-Link
Archer C60 v2 and add ipq-wifi package for it.

Tested-by: Semih Baskan <strstgs@gmail.com>
Signed-off-by: Christoph Krapp <achterin@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20496
Link: https://github.com/openwrt/openwrt/pull/20497
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-10-24 12:05:32 +02:00
Christoph KrappandRobert Marko dbf2c101ed ipq-wifi: Add entry for TP-Link Archer C60 v2
Add IPQ Wifi entry for ath79 TP-Link Archer C60 v2.

Signed-off-by: Christoph Krapp <achterin@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20496
Link: https://github.com/openwrt/openwrt/pull/20497
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-10-24 12:05:32 +02:00
Robert Marko ef3b14e06c ipq-wifi: update to Git HEAD (2025-10-22)
c585e435c611 ipq6018: add jdcloud_re-cs-02 BDF
14aef623f3e5 qcn9074: add jdcloud_re-cs-02 BDF
ec6831a43ff0 qca9888: replace TP-Link Archer C60 v2 BDF

Link: https://github.com/openwrt/openwrt/pull/20497
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-10-24 12:05:32 +02:00
Christian Marangi bdb89ee6df image: fix race between mkits.sh and mkimage in .itb squashfs generation
With further investigation it was found a race in generating .itb images
that include a RootFS caused by the mkits.sh and the mkimage.

Due to the fact that mkits.sh generates a .pagesync image of the passed
rootfs, it can happen that, concurrently, mkimage can be called at the
same time mkits.sh is creating another .pagesync for the same rootfs.

This cause mkimage to use an half made rootfs.pagesync creating a
corrupted image.

To address this, also protect the mkimage with the same lock used for
mkits.sh preventing any kind of concurrent usage/generation of the
rootfs.pagesync blob

Fixes: 52cc9d82f1 ("kernel: rework Initramfs locking logic")
Link: https://github.com/openwrt/openwrt/pull/20492
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 3de1bbd5ae)
2025-10-23 18:16:33 +02:00
Robert MarkoandTianling Shen 387a0aabab mhz: update to latest version
Update mhz to latest version to include new calibration features.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
(cherry picked from commit fb8a72921c)
2025-10-23 15:42:42 +08:00
Tianling Shen 26b4cc330a Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-10-23 15:19:29 +08:00
KCrOandTianling Shen 78814b5fbe rockchip: add support for NLnet xiguapi v3
Hardware specification:
SoC: RockChip RK3568
Flash: 32GB EMMC
RAM: 4GB DDR4
Ethernet: 2x 10/100/1000 Mbps
LED: Status (blue) Net (blue) Power(blue)
WiFi: M.2 E-key or minipcie wireless card
Button: Reset
USB: 1x USB 3.0 port
HDMI: 1x HDMI display port
LCD: 1x SPI LCD Display port
Power: DC 12V 1.5A

For TF card:
Use TF card burning tools such as balenaEtcher to flash the image
onto the tf card.

For Emmc:
To flash the device using the official RK flashing tool, RKDevTool,
in conjunction with a customized miniLoader.bin, please follow the
steps below:

Launch RKDevTool and set the load address to 0x00000000. Select the
miniLoader.bin file, then press and hold the flashing key. Connect
the power supply and power on the device to enter MARSROM mode.
Click the RUN button in RKDevTool to initiate the flashing process
for miniLoader.bin. Wait for the operation to complete and for the
device to reboot into MASKROM mode.
After successfully loading miniLoader.bin, retain the address setting
at 0x00000000 in RKDevTool. Extract the target firmware image file,
then select the decompressed .img file in RKDevTool. Click RUN to
begin the flashing process. Upon successful completion, the device
will automatically restart.

Signed-off-by: KCrO <2209352301@qq.com>
[warp commit message for every 70 chars]
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit edf9154f6d)
2025-10-23 14:52:44 +08:00
Robert Marko debc420622 at91bootstrap: put at91bootstrap images into image staging directory
Currently, building at91 subtargets via image builder will fail as the
required built at91bootstrap is not present in the image builder at all
since its presumed to be in the binary directory which obviously does not
exist yet.

So, lets install the at91bootstrap binary into image staging directory and
use that instead

Link: https://github.com/openwrt/openwrt/pull/18414
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit a947be41b7)
2025-10-22 18:19:42 +02:00
Robert Marko c5d7ef41f8 at91: put u-boot images into image staging directory
Currently, building at91 subtargets via image builder will fail as the
required built u-boot is not present in the image builder at all since its
presumed to be in the binary directory which obviously does not exist yet.

So, lets install the u-boot binary into image staging directory and use
that instead.

Link: https://github.com/openwrt/openwrt/pull/18414
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 4724331d70)
2025-10-22 18:19:37 +02:00
Robert Marko be73a7f033 at91: add USB kmods only for subtargets that support USB
Currently, kmod-usb-ohci,kmod-at91-udc and kmod-usb-gadget-eth are included
as the default packages for all at91 subtargets.

However, this is breaking image builder as kmod-at91-udc is not being built
on sama7 since it depends on USB_SUPPORT and sama7 does not have USB support
enabled in the kernel as its not supported upstream so its not even
selectable in the config.

So, move to include these as default packages only for sama5 and sama9x as
both of those have USB support enabled.

Fixes: #18407
Link: https://github.com/openwrt/openwrt/pull/18413
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 02d3aa72bb)
2025-10-22 18:19:28 +02:00
Robert Marko d4eb33990b layerscape: armv7: drop skipped packages
Now that all packages that relied on the skip mechanism are selected
via BUILD_DEVICES or by defaulting for the subtarget drop them from
individual DEVICE_PACKAGES so that Image Builder works again for armv7.

Fixes: #18411
Link: https://github.com/openwrt/openwrt/pull/18462
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 8cb7919a13)
2025-10-22 18:19:10 +02:00
Robert Marko fa3632f332 ls-rcw: select by default for layerscape/armv7
Currently, ls-rcw package is being included in the individual
profile DEVICE_PACKAGES but using the feature that allows skipping their
inclusion in the end image package list if prefixed with a tilde(~) which
was added in:
377b66990b ("build: introduce support to declare skip package")

But it not added to Image Builder so currently trying to build layerscape
device images in Image Builder will fail with:
ERROR: '~ls-rcw' is not a valid world dependency, format is name(@tag)([<>~=]version)

So, instead of having to rely on support for skipping package installation
and declaring the ls-rcw package in DEVICE_PACKAGES lets select it when
layerscape/armv7 target is selected.

Fixes: #18411
Link: https://github.com/openwrt/openwrt/pull/18462
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 598a0556b7)
2025-10-22 18:19:10 +02:00
Robert Marko 5c6e95c5b4 layerscape: armv8_64b: drop skipped packages
Now that all packages that relied on the skip mechanism are selected
via BUILD_DEVICES or by defaulting for the subtarget drop them from
individual DEVICE_PACKAGES so that Image Builder works again for armv8_64b.

Fixes: #18412
Link: https://github.com/openwrt/openwrt/pull/18462
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit c04eaad12a)
2025-10-22 18:19:10 +02:00
Robert Marko c39bc0375f ls-ddr-phy: select by default for layerscape/armv8_64b
Currently, ls-ddr-phy package is being included in the individual
profile DEVICE_PACKAGES but using the feature that allows skipping their
inclusion in the end image package list if prefixed with a tilde(~) which
was added in:
377b66990b ("build: introduce support to declare skip package")

But it not added to Image Builder so currently trying to build layerscape
device images in Image Builder will fail with:
ERROR: '~ls-ddr-phy' is not a valid world dependency, format is name(@tag)([<>~=]version)

So, instead of having to rely on support for skipping package installation
and declaring the ls-ddr-phy package in DEVICE_PACKAGES lets select it when
layerscape/armv8_64b target is selected.

Fixes: #18412
Link: https://github.com/openwrt/openwrt/pull/18462
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 8a28ddafe7)
2025-10-22 18:19:10 +02:00
Robert Marko 9f630a4141 ls-dpl: select by default for layerscape/armv8_64b
Currently, ls-dpl package is being included in the individual
profile DEVICE_PACKAGES but using the feature that allows skipping their
inclusion in the end image package list if prefixed with a tilde(~) which
was added in:
377b66990b ("build: introduce support to declare skip package")

But it not added to Image Builder so currently trying to build layerscape
device images in Image Builder will fail with:
ERROR: '~ls-dpl' is not a valid world dependency, format is name(@tag)([<>~=]version)

So, instead of having to rely on support for skipping package installation
and declaring the ls-dpl package in DEVICE_PACKAGES lets select it when
layerscape/armv8_64b target is selected.

Fixes: #18412
Link: https://github.com/openwrt/openwrt/pull/18462
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 84437eeec0)
2025-10-22 18:19:10 +02:00
Robert Marko ebcda1d7da ls-mc: select by default for layerscape/armv8_64b
Currently, ls-mc package is being included in the individual
profile DEVICE_PACKAGES but using the feature that allows skipping their
inclusion in the end image package list if prefixed with a tilde(~) which
was added in:
377b66990b ("build: introduce support to declare skip package")

But it not added to Image Builder so currently trying to build layerscape
device images in Image Builder will fail with:
ERROR: '~ls-mc' is not a valid world dependency, format is name(@tag)([<>~=]version)

So, instead of having to rely on support for skipping package installation
and declaring the ls-mc package in DEVICE_PACKAGES lets select it when
layerscape/armv8_64b target is selected.

Fixes: #18412
Link: https://github.com/openwrt/openwrt/pull/18462
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 2fb3efda0a)
2025-10-22 18:19:10 +02:00
Robert Marko 975552ea14 fman-ucode: select by default for layerscape/armv8_64b
Currently, fman-ucode package is being included in the individual
profile DEVICE_PACKAGES but using the feature that allows skipping their
inclusion in the end image package list if prefixed with a tilde(~) which
was added in:
377b66990b ("build: introduce support to declare skip package")

But it not added to Image Builder so currently trying to build layerscape
device images in Image Builder will fail with:
ERROR: '~fman-ucode' is not a valid world dependency, format is name(@tag)([<>~=]version)

So, instead of having to rely on support for skipping package installation
and declaring the fman-ucode package in DEVICE_PACKAGES lets select it when
layerscape/armv8_64b target is selected.

Fixes: #18412
Link: https://github.com/openwrt/openwrt/pull/18462
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 22f02beaab)
2025-10-22 18:19:10 +02:00
Robert Marko 4108db2bd8 tfa-layerscape: set BUILD_DEVICES
Currently, tfa-layerscape packages are being included in the individual
profile DEVICE_PACKAGES but using the feature that allows skipping their
inclusion in the end image package list if prefixed with a tilde(~) which
was added in:
377b66990b ("build: introduce support to declare skip package")

But it not added to Image Builder so currently trying to build layerscape
device images in Image Builder will fail with:
ERROR: '~trusted-firmware-a-ls1012a-frdm' is not a valid world dependency, format is name(@tag)([<>~=]version)

So, instead of having to rely on support for skipping package installation
and declaring the individual TFA packages in DEVICE_PACKAGES we can just
do what other targets do and set BUILD_DEVICES so that TFA packages are
automatically set.

Fixes: #18412
Link: https://github.com/openwrt/openwrt/pull/18462
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 03ab770da5)
2025-10-22 18:19:10 +02:00
Robert Marko 4b7728ba8b bcm63xx-cfe: install into image staging dir
Currently, bcm63xx-cfe is being installed into kernel build dir, however
that does not work for Image Builder as only certain artifacts from kernel
build dir are included in Image Builder.

So, simply install bcm63xx-cfe into image staging dir so its artifacts can
be used in Image Builder as well.

Fixes: #18408
Fixes: #18409
Link: https://github.com/openwrt/openwrt/pull/18463
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 4a7de50769)
2025-10-22 18:17:40 +02:00
Tianling Shen edb01ab812 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-10-21 17:53:18 +08:00
Eric FahlgrenandRobert Marko 4ead11296a targetwide: imagebuilder: add explicit guards around initramfs rules
Additional work building upon f6e0f57be0

Add more explict guards around the unsupported generation of the initramfs
images and suppress requirement for certain others.

Fixes: https://github.com/openwrt/openwrt/issues/20151
Fixes: https://github.com/openwrt/asu/issues/1499
Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20460
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit f5fd7ef888)
2025-10-21 11:39:10 +02:00
Hauke Mehrtens 859ff7a978 OpenWrt v24.10.4: revert to branch defaults
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-21 00:00:26 +02:00
Hauke Mehrtens 78b23a26c4 OpenWrt v24.10.4: adjust config defaults
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-21 00:00:21 +02:00
Tianling Shen 3f3aa33531 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-10-20 01:55:50 +08:00
Eric FahlgrenandHauke Mehrtens 29397011cc 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>
(cherry picked from commit f6e0f57be0)
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-19 18:37:45 +02:00
Christoph KrappandHauke Mehrtens c5892fe8c5 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>
(cherry picked from commit 1fecbaf3d8)
Link: https://github.com/openwrt/openwrt/pull/20454
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-19 17:24:59 +02:00
Christoph KrappandHauke Mehrtens b2119bbaa2 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>
(cherry picked from commit 1afe4ba623)
Link: https://github.com/openwrt/openwrt/pull/20454
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-19 17:24:51 +02:00
Christoph KrappandHauke Mehrtens c416b8c44c 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>
(cherry picked from commit deca8fd24b)
Link: https://github.com/openwrt/openwrt/pull/20454
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-19 17:24:24 +02:00
Florian EckertandHauke Mehrtens 50f98c5335 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>
(cherry picked from commit 112f594042)
2025-10-19 16:37:32 +02:00
Goetz GoerischandHauke Mehrtens efd444537d 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: 1c92e468d5 ("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>
(cherry picked from commit 84b2a987fc)
2025-10-19 16:29:37 +02:00
Tianling Shen 5c8675f195 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-10-19 02:48:38 +08:00
Álvaro Fernández Rojas 180646ce4b odhcpd: backport fixes from Git HEAD (2025-10-10)
A lot of recent commits in odhcpd main branch are structural/semantic
changes, so instead of adding those changes to 24.10 branch it's better
to focus on the fixes.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-10-18 19:27:27 +02:00
Álvaro Fernández Rojas be32ab85cf odhcpd: update to Git HEAD (2025-10-02)
b14cf98 router: log “Sending a RA on lan” at LOG_DEBUG
c2810fe odhcpd: update cmake file
8c2c065 odhcpd: convert README to markdown
3b96480 odhcpd: allow the use of an alternative cfg file
7328bfe odhcpd: remove confusing #defines
cdb9e5b odhcpd: improve RFC9096 § 3.5 SLAAC compliance

RFC9096 § 3.5 SLAAC compliance introduces a new config option (odhcpd
piofolder), which may wear out the flash under certain conditions (for
example: ISPs with dynamic IPv6 prefixes which disconnect the clients
every X hours).
Therefore, setting "dhcp.odhcpd.piofolder" to persistent storage in the
router flash is not advisable and should be set to other kinds of
persistent storage such as USBs, SDs, NVMEs...
In order to prevent wearing out the router flash it's set to ephemeral
storage by default (tmp):
  uci set dhcp.odhcpd.piofolder="/tmp/odhcpd-piofolder"

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit ea79b5875a)
2025-10-18 17:23:58 +02:00
Ted HessandÁlvaro Fernández Rojas 82d31a02b7 odhcpd: update to Git HEAD (2025-09-27)
bc9f9d93d4d6 dhcpv4: allow lease takeover (bugfix)
b1547922257e odhcpd: bump minimum cmake version
86c0200f8067 odhcpd: apply RFC9096 recommended lifetimes

Signed-off-by: Ted Hess <thess@kitschensync.net>
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 9b7d0c0d16)
2025-10-18 17:23:38 +02:00
Ted HessandÁlvaro Fernández Rojas 81dfcefb41 odhcpd: update to Git HEAD (2025-09-16)
c9816de148cc odhcpd: support multiple per-client MAC addresses

Signed-off-by: Ted Hess <thess@kitschensync.net>
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 9939ebc7fc)
2025-10-18 17:23:07 +02:00
David HärdemanandÁlvaro Fernández Rojas 39510c21a0 odhcpd: update to Git HEAD (2025-08-26)
2859741d971e dhcpv4: store reqopts as uint8_t
6d342cc03bf7 odhcpd: add DNR (RFC 9463) support
c89b8b3f2ff3 odhcpd: make the IPv6 RA DNR lifetime configurable
066b3dc6ec1a netlink: fix a memory leak
171140e90b6a odhcpd: add a helper function for addr6/prefix parsing
5585b969c18f router: move pref64 calculations to the config stage
4308384748be dhcpv6: add ipv6 pxe support
6e1ad492cef5 router: replace ssize_t with size_t

Signed-off-by: David Härdeman <david@hardeman.nu>
Link: https://github.com/openwrt/openwrt/pull/20022
Signed-off-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit a6da0e0d37)
2025-10-18 17:21:49 +02:00
Felix FietkauandHauke Mehrtens a790196993 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>
(cherry picked from commit 4b907e69ea)
2025-10-18 14:56:36 +02:00
Hauke Mehrtens c8ccf4c6a7 ubus: update to Git HEAD (2025-10-04)
ad2768bbc166 lua: build: require CMake >= 3.10 due to dropped legacy support

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit b00fcf3614)
2025-10-18 14:56:36 +02:00
Christian MarangiandHauke Mehrtens a46d2efad2 ubus: update to Git HEAD (2025-10-04)
2b69c9859946 examples: CMakeLists: update cmake minimum required version to 3.10

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 88fe81bb0c)
2025-10-18 14:56:36 +02:00
Petr ŠtetiarandHauke Mehrtens 0d3076aa19 ebtables: fix PKG_MIRROR_HASH
Current PKG_MIRROR_HASH is wrong, but it went unnoticed, because the
tarball is being fetched from @OPENWRT project mirrors. Can be
reproduced with:

 make package/ebtables/{download,check} FIXUP=1 DL_DIR=/tmp PKG_MIRROR_HASH=''

Signed-off-by: Petr Štetiar <ynezz@true.cz>
Link: https://github.com/openwrt/openwrt/pull/20322
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 7d4edb21b6)
2025-10-18 14:55:40 +02:00
Andrea PesaresiandHauke Mehrtens d6f72e0cbb 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
(cherry picked from commit e78f000869)
Link: https://github.com/openwrt/openwrt/pull/20442
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-18 14:42:55 +02:00
Andrea PesaresiandHauke Mehrtens 225b6724cd 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
(cherry picked from commit 711e14af79)
Link: https://github.com/openwrt/openwrt/pull/20442
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-18 14:42:55 +02:00
Magnus KrokenandHauke Mehrtens 1a8d3ea89c 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>
(cherry picked from commit eb370a7d02)
2025-10-18 14:25:48 +02:00
Hauke Mehrtens e001b31163 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>
(cherry picked from commit 2a76abc544)
2025-10-18 14:25:03 +02:00
Shiji YangandHauke Mehrtens fe50cfded0 ltq-adsl-mei: fix missing-prototypes warnings
* Mark some functions as static.
* Add missing prototypes.

This patch fixes the following build warnings:

/home/db/owrt/build_dir/target-mips_24kc_musl/linux-lantiq_xway/ltq-adsl-mei-danube/ltq-adsl-mei/drv_mei_cpe.c:1182:1: error: no previous prototype for 'makeCMV' [-Werror=missing-prototypes]
 1182 | makeCMV (u8 opcode, u8 group, u16 address, u16 index, int size, u16 * data, u16 *CMVMSG)
      | ^~~~~~~
/home/db/owrt/build_dir/target-mips_24kc_musl/linux-lantiq_xway/ltq-adsl-mei-danube/ltq-adsl-mei/drv_mei_cpe.c:1855:1: error: no previous prototype for 'DSL_BSP_ATMLedCBUnregister' [-Werror=missing-prototypes]
 1855 | DSL_BSP_ATMLedCBUnregister (int (*ifx_adsl_ledcallback) (void))
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/db/owrt/build_dir/target-mips_24kc_musl/linux-lantiq_xway/ltq-adsl-mei-danube/ltq-adsl-mei/drv_mei_cpe.c:2448:1: error: no previous prototype for 'IFX_MEI_Ioctls' [-Werror=missing-prototypes]
 2448 | IFX_MEI_Ioctls (DSL_DEV_Device_t * pDev, int from_kernel, unsigned int command, unsigned long lon)
      | ^~~~~~~~~~~~~~
/home/db/owrt/build_dir/target-mips_24kc_musl/linux-lantiq_xway/ltq-adsl-mei-danube/ltq-adsl-mei/drv_mei_cpe.c:2699:5: error: no previous prototype for 'ifx_mei_atm_led_blink' [-Werror=missing-prototypes]
 2699 | int ifx_mei_atm_led_blink(void)
      |     ^~~~~~~~~~~~~~~~~~~~~
/home/db/owrt/build_dir/target-mips_24kc_musl/linux-lantiq_xway/ltq-adsl-mei-danube/ltq-adsl-mei/drv_mei_cpe.c:2705:5: error: no previous prototype for 'ifx_mei_atm_showtime_check' [-Werror=missing-prototypes]
 2705 | int ifx_mei_atm_showtime_check(int *is_showtime, struct port_cell_info *port_cell, void **xdata_addr)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18744
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 8cf0c810fb)
Signed-off-by: Nora Matthias Schiffer <neocturne@universe-factory.net>
Link: https://github.com/openwrt/openwrt/pull/20440
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-18 14:21:02 +02:00
Shiji YangandHauke Mehrtens 6a54d623f2 ltq-adsl-mei: fix 'inline' declaration warning
Adjust the 'inline' declaration order to fix the build warning:

/home/db/owrt/build_dir/target-mips_24kc_musl/linux-lantiq_xway/ltq-adsl-mei-danube/ltq-adsl-mei/drv_mei_cpe.c:188:1: error: 'inline' is not at beginning of declaration [-Werror=old-style-declaration]
  188 | static void inline MEI_MASK_AND_ACK_IRQ(int x)
      | ^~~~~~

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>

fix inline declaration warning

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18744
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 335a88df64)
Signed-off-by: Nora Matthias Schiffer <neocturne@universe-factory.net>
Link: https://github.com/openwrt/openwrt/pull/20440
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-18 14:21:02 +02:00
Shiji YangandHauke Mehrtens 5e196ba548 ltq-adsl: silence missing-prototypes warnings
There are a lot of missing-prototypes warnings, It's not worth to
fix them one by one. Let us just ignore them.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18744
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit fb4aa6248f)
Signed-off-by: Nora Matthias Schiffer <neocturne@universe-factory.net>
Link: https://github.com/openwrt/openwrt/pull/20440
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-18 14:21:02 +02:00
Shiji YangandHauke Mehrtens c9f2a60797 ltq-adsl: add missing header platform_device.h
Fix incomplete type error by including the correct header.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18744
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 29987d44bb)
Signed-off-by: Nora Matthias Schiffer <neocturne@universe-factory.net>
Link: https://github.com/openwrt/openwrt/pull/20440
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-18 14:21:02 +02:00
Shiji YangandHauke Mehrtens a9fde24cbc ltq-vdsl-vr9-mei: fix missing prototypes warnings
* Mark some functions as static.
* Add missing prototypes.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18744
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 58e9780f4c)
Signed-off-by: Nora Matthias Schiffer <neocturne@universe-factory.net>
Link: https://github.com/openwrt/openwrt/pull/20440
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-18 14:21:02 +02:00
Shiji YangandHauke Mehrtens 045f0bf2e6 ltq-vdsl-vr9-mei: fix ignored-qualifiers build warnings
These functions return the register memory addresses. Usually
they are fixed values, hence I think it's safe to remove the
qualifier "volatile".

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18744
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit bcf3f96c02)
Signed-off-by: Nora Matthias Schiffer <neocturne@universe-factory.net>
Link: https://github.com/openwrt/openwrt/pull/20440
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-18 14:21:02 +02:00
Shiji YangandHauke Mehrtens fc58c9481e ltq-vdsl-vr9-mei: convert platform driver .remove to .remove_new
Convert .remove to .remove_new so that it can be compatible with
both 6.6 and 6.12 kernels.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18744
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 7d6ee4e415)
Signed-off-by: Nora Matthias Schiffer <neocturne@universe-factory.net>
Link: https://github.com/openwrt/openwrt/pull/20440
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-18 14:21:01 +02:00
Shiji YangandHauke Mehrtens 13b81e124c ltq-vdsl-vr9: fix missing-prototypes warnings
* Mark some functions as static.
* Include function prototypes header file.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18744
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 262917ef34)
Signed-off-by: Nora Matthias Schiffer <neocturne@universe-factory.net>
Link: https://github.com/openwrt/openwrt/pull/20440
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-18 14:21:01 +02:00
Shiji YangandHauke Mehrtens 116c26120e ltq-vmmc: fix 'inline' declaration warning
Adjust the 'inline' declaration order to fix the build warning.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18744
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 86e5b77788)
Signed-off-by: Nora Matthias Schiffer <neocturne@universe-factory.net>
Link: https://github.com/openwrt/openwrt/pull/20440
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-18 14:21:01 +02:00
Shiji YangandHauke Mehrtens e52c85ee5d ltq-vmmc: fix unknown type name errors
Include missing header "drv_vmmc_api.h" to fix the compilation errors.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18744
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 1f909e9f6d)
Signed-off-by: Nora Matthias Schiffer <neocturne@universe-factory.net>
Link: https://github.com/openwrt/openwrt/pull/20440
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-18 14:21:01 +02:00
Shiji YangandHauke Mehrtens 3fd6351335 ltq-vmmc: fix macro definition conflicts
Add LANTIQ prefix to workaround the build warnings.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18744
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 18aa58f200)
Signed-off-by: Nora Matthias Schiffer <neocturne@universe-factory.net>
Link: https://github.com/openwrt/openwrt/pull/20440
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-18 14:21:01 +02:00
Shiji YangandHauke Mehrtens b35acddeb4 ltq-vmmc: silence missing-prototypes warnings
There are a lot of missing-prototypes warnings, It's not worth to
fix them one by one.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18744
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 144228d618)
Signed-off-by: Nora Matthias Schiffer <neocturne@universe-factory.net>
Link: https://github.com/openwrt/openwrt/pull/20440
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-18 14:21:01 +02:00
Shiji YangandHauke Mehrtens 5e095c87e2 ltq-vmmc: fix ignored-qualifiers warning
NULL and fixed addresses are constant, const qualifier are useless.

/home/db/owrt/build_dir/target-mips_24kc_musl/linux-lantiq_xrx200/drv_vmmc-1.9.0/src/mps/drv_mps_vmmc_ar9.c:47:1: error: type qualifiers ignored on function return type [-Werror=ignored-qualifiers]
   47 | const void (*ifx_bsp_basic_mps_decrypt)(unsigned int addr, int n) = NULL;
      | ^~~~~
/home/db/owrt/build_dir/target-mips_24kc_musl/linux-lantiq_xrx200/drv_vmmc-1.9.0/src/mps/drv_mps_vmmc_ar9.c:246:49: error: type qualifiers ignored on function return type [-Werror=ignored-qualifiers]
  246 |                    ifx_bsp_basic_mps_decrypt = (const void (*)(unsigned int, int))0xbf0017c4;
      |                                                 ^~~~~
/home/db/owrt/build_dir/target-mips_24kc_musl/linux-lantiq_xrx200/drv_vmmc-1.9.0/src/mps/drv_mps_vmmc_ar9.c:249:49: error: type qualifiers ignored on function return type [-Werror=ignored-qualifiers]
  249 |                    ifx_bsp_basic_mps_decrypt = (const void (*)(unsigned int, int))0xbf001ea4;
      |                                                 ^~~~~
/home/db/owrt/build_dir/target-mips_24kc_musl/linux-lantiq_xrx200/drv_vmmc-1.9.0/src/mps/drv_mps_vmmc_ar9.c:252:49: error: type qualifiers ignored on function return type [-Werror=ignored-qualifiers]
  252 |                    ifx_bsp_basic_mps_decrypt = (const void (*)(unsigned int, int))0xbf001f38;
      |                                                 ^~~~~

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18744
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit ac8e876a6e)
Signed-off-by: Nora Matthias Schiffer <neocturne@universe-factory.net>
Link: https://github.com/openwrt/openwrt/pull/20440
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-18 14:21:01 +02:00
Shiji YangandHauke Mehrtens 0d02cf9e34 ltq-ptm: adsl: fix 6.12 kernel build errors on lantiq/xway
Fix incomplete type error by including the correct header.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18744
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 2e00140e63)
Signed-off-by: Nora Matthias Schiffer <neocturne@universe-factory.net>
Link: https://github.com/openwrt/openwrt/pull/20440
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-18 14:21:01 +02:00
Shiji YangandHauke Mehrtens 67d7504660 ltq-ptm: vdsl: fix 6.12 kernel build errors on lantiq/xrx200
Add missing header to fix the build errors on 6.12 kernel.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18744
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit b48ed6d19c)
Signed-off-by: Nora Matthias Schiffer <neocturne@universe-factory.net>
Link: https://github.com/openwrt/openwrt/pull/20440
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-18 14:21:01 +02:00
Shiji YangandHauke Mehrtens 3f9c57b813 ltq-ptm: fix missing-prototypes warning
Mark cgu_get_pp32_clock() as static.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18744
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 621a1c9b56)
Signed-off-by: Nora Matthias Schiffer <neocturne@universe-factory.net>
Link: https://github.com/openwrt/openwrt/pull/20440
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-18 14:21:01 +02:00
Shiji YangandHauke Mehrtens 7f3088e82d ltq-deu: fix 6.12 kernel build warnings on lantiq/xway
This patch fixes the following build warnings by adding
missing prototypes:

/home/db/owrt/build_dir/target-mips_24kc_musl/linux-lantiq_xway/ltq-deu-danube/ltq-deu/ifxmips_deu_danube.c:100:5: error: no previous prototype for 'input_swap' [-Werror=missing-prototypes]
  100 | u32 input_swap(u32 input)
      |     ^~~~~~~~~~
/home/db/owrt/build_dir/target-mips_24kc_musl/linux-lantiq_xway/ltq-deu-ar9/ltq-deu/ifxmips_deu_ar9.c:91:5: error: no previous prototype for 'input_swap' [-Werror=missing-prototypes]
   91 | u32 input_swap(u32 input)
      |     ^~~~~~~~~~
/home/db/owrt/build_dir/target-mips_24kc_musl/linux-lantiq_xway/ltq-deu-ar9/ltq-deu/ifxmips_deu_ar9.c:131:6: error: no previous prototype for 'chip_version' [-Werror=missing-prototypes]
  131 | void chip_version(void)
      |      ^~~~~~~~~~~~

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18744
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit fdc2d8d07b)
Signed-off-by: Nora Matthias Schiffer <neocturne@universe-factory.net>
Link: https://github.com/openwrt/openwrt/pull/20440
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-18 14:21:01 +02:00
Shiji YangandHauke Mehrtens b73d6d4b8a ltq-deu: fix 6.12 kernel build warnings on lantiq/xrx200
This patch fixes various missing-prototypes build warnings by:

* Mark some functions as static.
* Add missing prototypes.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18744
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit d81f8e159a)
Signed-off-by: Nora Matthias Schiffer <neocturne@universe-factory.net>
Link: https://github.com/openwrt/openwrt/pull/20440
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-18 14:21:01 +02:00
Shiji YangandHauke Mehrtens 95edff3cc3 ltq-atm: fix missing-prototypes warnings for lantiq/ase
This patch fixes various missing-prototypes build warnings on
6.12 kernel.

/home/db/owrt/build_dir/target-mips_24kc_musl/linux-lantiq_ase/ltq-atm-ase/ltq-atm/ifxmips_atm_amazon_se.c:257:13: error: no previous prototype for 'ase_fw_ver' [-Werror=missing-prototypes]
  257 | extern void ase_fw_ver(unsigned int *major, unsigned int *minor)
      |             ^~~~~~~~~~
/home/db/owrt/build_dir/target-mips_24kc_musl/linux-lantiq_ase/ltq-atm-ase/ltq-atm/ifxmips_atm_amazon_se.c:266:5: error: no previous prototype for 'ase_init' [-Werror=missing-prototypes]
  266 | int ase_init(struct platform_device *pdev)
      |     ^~~~~~~~
/home/db/owrt/build_dir/target-mips_24kc_musl/linux-lantiq_ase/ltq-atm-ase/ltq-atm/ifxmips_atm_amazon_se.c:283:6: error: no previous prototype for 'ase_shutdown' [-Werror=missing-prototypes]
  283 | void ase_shutdown(void)
      |      ^~~~~~~~~~~~
/home/db/owrt/build_dir/target-mips_24kc_musl/linux-lantiq_ase/ltq-atm-ase/ltq-atm/ifxmips_atm_amazon_se.c:297:5: error: no previous prototype for 'ase_start' [-Werror=missing-prototypes]
  297 | int ase_start(int pp32)
      |     ^~~~~~~~~
/home/db/owrt/build_dir/target-mips_24kc_musl/linux-lantiq_ase/ltq-atm-ase/ltq-atm/ifxmips_atm_amazon_se.c:323:6: error: no previous prototype for 'ase_stop' [-Werror=missing-prototypes]
  323 | void ase_stop(int pp32)
      |      ^~~~~~~~

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18744
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit e839da1911)
Signed-off-by: Nora Matthias Schiffer <neocturne@universe-factory.net>
Link: https://github.com/openwrt/openwrt/pull/20440
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-18 14:21:01 +02:00
Shiji YangandHauke Mehrtens b5884358b0 ltq-atm: fix build warnings on lantiq/xway
Mark some functions as static to fix various missing-prototypes
build warnings on 6.12 kernel.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18744
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit ac18f03bd9)
Signed-off-by: Nora Matthias Schiffer <neocturne@universe-factory.net>
Link: https://github.com/openwrt/openwrt/pull/20440
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-18 14:21:01 +02:00
Shiji YangandHauke Mehrtens 37af07700a ltq-atm: add missing header mod_devicetable.h
fix undefined type error:

/home/db/owrt/build_dir/target-mips_24kc_musl/linux-lantiq_xrx200/ltq-atm-vr9/ltq-atm/ltq_atm.c:1776:43: error: invalid use of undefined type 'const struct of_device_id'
 1776 |         ops = (struct ltq_atm_ops *) match->data;
      |                                           ^~

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18744
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 02e9f3be51)
Signed-off-by: Nora Matthias Schiffer <neocturne@universe-factory.net>
Link: https://github.com/openwrt/openwrt/pull/20440
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-18 14:21:01 +02:00
Shiji YangandHauke Mehrtens af8fc7ceab ltq-atm: apply local patch to the source files
This package is maintained by the OpenWrt local repository. There
is no need to modify it with the patch file. Just apply all patches
to the source files.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18744
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 491764f0f0)
Signed-off-by: Nora Matthias Schiffer <neocturne@universe-factory.net>
Link: https://github.com/openwrt/openwrt/pull/20440
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-18 14:21:01 +02:00
Shiji YangandHauke Mehrtens 7d9670039d ltq-tapi: fix missing-prototypes build warnings
Mark some functions as static.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18744
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit e130308299)
Signed-off-by: Nora Matthias Schiffer <neocturne@universe-factory.net>
Link: https://github.com/openwrt/openwrt/pull/20440
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-18 14:21:01 +02:00
Shiji YangandHauke Mehrtens d136e3ca07 vrx518_tc: fix missing-prototypes build warnings
* Mark some functions as static.
* Include function prototypes header file.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18744
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit f6e7225039)
Signed-off-by: Nora Matthias Schiffer <neocturne@universe-factory.net>
Link: https://github.com/openwrt/openwrt/pull/20440
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-18 14:21:01 +02:00
Shiji YangandHauke Mehrtens 406efebc5a ltq-vdsl-vr11: fix missing-prototypes build warnings
* Mark some functions as static.
* Include function prototypes header file.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18744
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit b219c749b7)
Signed-off-by: Nora Matthias Schiffer <neocturne@universe-factory.net>
Link: https://github.com/openwrt/openwrt/pull/20440
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-18 14:21:01 +02:00
Shiji YangandHauke Mehrtens 7ddd410a9c ltq-vdsl-vr11-mei: fix ignored-qualifiers build warnings
These functions return the register memory addresses. Usually
they are fixed values, hence I think it's safe to remove the
qualifier "volatile".

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18744
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit c3cb6a8725)
Signed-off-by: Nora Matthias Schiffer <neocturne@universe-factory.net>
Link: https://github.com/openwrt/openwrt/pull/20440
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-18 14:21:01 +02:00
Shiji YangandHauke Mehrtens e59f6aff55 ltq-vdsl-vr11-mei: improve compatibility with the 6.12 kernel.
Convert .remove to .remove_new so that it can be compatible with
both 6.6 and 6.12 kernels.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18744
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 0d045a287a)
Signed-off-by: Nora Matthias Schiffer <neocturne@universe-factory.net>
Link: https://github.com/openwrt/openwrt/pull/20440
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-18 14:21:01 +02:00
Shiji YangandHauke Mehrtens 73571ef4f4 ltq-vdsl-vr11-mei: fix missing-prototypes build warnings
Add prototype definition for exported function ifx_mei_atm_led_blink().

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18744
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit eb18b602da)
Signed-off-by: Nora Matthias Schiffer <neocturne@universe-factory.net>
Link: https://github.com/openwrt/openwrt/pull/20440
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-18 14:21:01 +02:00
Shiji YangandHauke Mehrtens e8639f57c5 ltq-ifxos: fix missing-prototypes build warning
Add prototype definition for exported function IFX_Var_Fifo_getRoom().

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18744
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit e9d3e0f1da)
Signed-off-by: Nora Matthias Schiffer <neocturne@universe-factory.net>
Link: https://github.com/openwrt/openwrt/pull/20440
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-18 14:21:01 +02:00
Shiji YangandHauke Mehrtens f2fa99a452 vrx518_ep: fix macro redefined build error on 6.12 kernel
Add LANTIQ prefix to avoid name conflicts.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18744
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 8f80acfac0)
Signed-off-by: Nora Matthias Schiffer <neocturne@universe-factory.net>
Link: https://github.com/openwrt/openwrt/pull/20440
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-18 14:21:01 +02:00
Andre HeiderandHauke Mehrtens 1ba8af8c1c vrx518_ep: fix compilation error with kernel 6.12
PCI_IRQ_LEGACY was renamed to PCI_IRQ_INTX for kernel 6.10. Fix
compilation error:

/home/db/owrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/linux-ipq40xx_generic/vrx518_ep-2.1.0/ep.c:469:69: error: 'PCI_IRQ_LEGACY' undeclared (first use in this function); did you mean 'NR_IRQS_LEGACY'?
  469 |         err = pci_alloc_irq_vectors(pdev, nvec, nvec, PCI_IRQ_MSI | PCI_IRQ_LEGACY);
      |                                                                     ^~~~~~~~~~~~~~
      |                                                                     NR_IRQS_LEGACY

Signed-off-by: Andre Heider <a.heider@gmail.com>
Co-authored-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18744
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit e80dfdb6c5)
Signed-off-by: Nora Matthias Schiffer <neocturne@universe-factory.net>
Link: https://github.com/openwrt/openwrt/pull/20440
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-18 14:21:01 +02:00
Robert Marko 9687d14c07 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>
2025-10-17 12:10:01 +02:00
Christoph KrappandRobert Marko 4e81893953 mediatek: filogic: add ASUS RT-AX52 factory-initramfs image generation
This adds the required image receipt to generate a vendor ui compatible
initramfs-factory image, that can be used to flash the final sysupgrade
image.

Signed-off-by: Christoph Krapp <achterin@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20409
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-10-17 10:55:43 +02:00
Pawel DembickiandNick Hainke 8a0b30db51 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: e9dd6da916 ("mpc85xx: p1010: add missing symbols")

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20419
(cherry picked from commit f21e8158fb)
Link: https://github.com/openwrt/openwrt/pull/20428
Signed-off-by: Nick Hainke <vincent@systemli.org>
2025-10-17 06:43:08 +02:00
Tianling Shen d34860c7de Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-10-16 23:40:02 +08:00
Timothy FeierabendandRobert Marko d8f764ce81 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>
(cherry picked from commit 7ef19bb9cd)
Link: https://github.com/openwrt/openwrt/pull/20418
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-10-16 16:38:47 +02:00
Stefan KalscheuerandRobert Marko a8afcd8fc2 mwlwifi: add pending patch to fix compilation with kernel 6.6.109+
Building against recent kernel versions (noticed with 6.12) and -Werror
can fail because a macro MAX(a,b) is already defined in minmax.h or
kernel.h before 5.10.

Initially noticed on 6.12, but it now happens after the kernel bump to
6.6.109 as well (upstream commit 6183c65)

In file included from ../mwlwifi-2025.02.06~db97edf2/hif/fwcmd.h:23,
                 from ../mwlwifi-2025.02.06~db97edf2/core.c:25:
../mwlwifi-2025.02.06~db97edf2/hif/hostcmd.h:1124: error: "MAX" redefined [-Werror]
 1124 | #define MAX(a, b) (((a) > (b)) ? (a) : (b))
      |         ^~~
In file included from usr/include/mac80211-backport/linux/minmax.h:4,
                 from ./include/linux/kernel.h:27,
                 from usr/include/mac80211-backport/linux/kernel.h:3,
                 from ./include/linux/skbuff.h:13,
                 from usr/include/mac80211-backport/linux/skbuff.h:3,
                 from ./include/linux/if_ether.h:19,
                 from usr/include/mac80211-backport/linux/if_ether.h:3,
                 from ./include/linux/etherdevice.h:20,
                 from usr/include/mac80211-backport/linux/etherdevice.h:3,
                 from ../mwlwifi-2025.02.06~db97edf2/core.c:18:
./include/linux/minmax.h:315: note: this is the location of the previous definition
  315 | #define MAX(a, b) __cmp(max, a, b)
      |         ^~~

Add a pending upstream patch which replaces the MAX(a,b) macro to avoid
conflicts and allow compilation with 6.12 backports

(cherry picked from commit 822bceb1d1)

Signed-off-by: Stefan Kalscheuer <stefan@stklcode.de>
Link: https://github.com/openwrt/openwrt/pull/20420
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-10-16 13:32:35 +02:00
Paweł OwocandRobert Marko 0c4f3b1246 qualcommax: fix upgrade function for Linksys MX dual boot devices
Function remove_oem_ubi_volume was called before CI_UBIPART variable was defined.

Fixes: https://github.com/openwrt/openwrt/commit/df1f6e1e186a99b2180abac5da87f071b7f6b3fa (qualcommax: ipq807x: Remove OEM UBI volume before upgrade for Linksys MX devices)
Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18090
Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20086
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-10-16 11:47:19 +02:00
Paweł OwocandRobert Marko e301921ae3 qualcommax: ipq807x: Remove OEM UBI volume before upgrade for Linksys MX devices
Use 'remove_oem_ubi_volume' function to remove OEM UBI volume before upgrade.
This allows to upgrade even if we have OEM firmware on the second partition.
Applies to Linksys MX4200/MX4300/MX5300/MX8500.

Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/14720
Link: https://github.com/openwrt/openwrt/pull/20086
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-10-16 11:47:19 +02:00
Paweł OwocandRobert Marko d63824f78f qualcommax: ipq807x: Update u-boot env only when changes for Linksys MX devices
Update u-boot env variables only when changes are made.
Applies to Linksys MX4200/MX4300/MX5300/MX8500.

Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/14720
Link: https://github.com/openwrt/openwrt/pull/20086
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-10-16 11:47:19 +02:00
Paweł OwocandRobert Marko f84fde7fb9 qualcommax: ipq807x: Add ability to perform upgrade on current partition for Linksys MX devices
Dual firmware devices like Linksys MX4200, MX4300, MX5300 and MX8500 use separate rootfs partition.
This option helps to keep all configuration during upgrade.

Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/14720
Link: https://github.com/openwrt/openwrt/pull/20086
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-10-16 11:47:19 +02:00
Paweł OwocandRobert Marko e0478edeed base-files: sysupgrade: Add new option -s to perform upgrade on current partition
Add new option to be able to perform upgrade on current partition for dual firmware devices:
  "-s           stay on current partition (for dual firmware devices)"

Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/14720
Link: https://github.com/openwrt/openwrt/pull/20086
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-10-16 11:47:19 +02:00
Tianling Shen ad84ea9a77 rockchip: enable hwRNG for rk3308
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 16b5fc2606)
2025-10-16 17:30:06 +08:00
Tianling Shen ecee9e9564 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-10-15 13:35:54 +08:00
Hauke Mehrtens 8554e22ace mac80211: Update to version 6.12.52
This includes the following commits from upstream Linux between 6.12.44
and 6.12.52:
```
$ git log --reverse  --oneline  v6.12.44...v6.12.52 -- drivers/net/wireless/ net/mac80211/ net/wireless/
5b7ae04969f8 wifi: cfg80211: fix use-after-free in cmp_bss()
3e789f8475f6 wifi: brcmfmac: fix use-after-free when rescheduling brcmf_btcoex_info work
d9f2fb6a2ac8 wifi: mt76: mt7925: fix locking in mt7925_change_vif_links()
1fb26fd3f601 wifi: mt76: prevent non-offchannel mgmt tx during scan/roc
2aef3667e6b0 wifi: mt76: free pending offchannel tx frames on wcid cleanup
e4d5a5fc61fd wifi: mt76: fix linked list corruption
c2e32ac3f107 wifi: iwlwifi: uefi: check DSM item validity
609a8ffff5a0 wifi: ath11k: fix group data packet drops during rekey
cedbbba8a8e8 wifi: cw1200: cap SSID length in cw1200_do_join()
92bedee7168d wifi: libertas: cap SSID len in lbs_associate()
31229145e6ba wifi: cfg80211: sme: cap SSID length in __cfg80211_connect_result()
06616410a3e5 wifi: mwifiex: Initialize the chan_stats array to zero
a001c2f6a40c wifi: mt76: mt7925u: use connac3 tx aggr check in tx complete
eefa2ad9009b wifi: mt76: mt7996: Initialize hdr before passing to skb_put_data()
089fd41902ee wifi: mt76: mt7925: fix the wrong bss cleanup for SAP
26618c039b78 wifi: ath11k: update channel list in reg notifier instead reg worker
fa4abd439f27 wifi: ath11k: update channel list in worker when wait flag is set
2203ef417044 wifi: wilc1000: avoid buffer overflow in WID string configuration
32adb020b0c3 wifi: mac80211: increase scan_ies_len for S1G
8df33f4d4a0b wifi: mac80211: fix incorrect type for ret
79dc6d4932de wifi: virt_wifi: Fix page fault on connect
1f52119809b7 wifi: ath11k: fix NULL dereference in ath11k_qmi_m3_load()
895cccf639ac wifi: rtw89: fix use-after-free in rtw89_core_tx_kick_off_and_wait()
914d02595ba6 wifi: rtlwifi: rtl8192cu: Don't claim USB ID 07b8:8188
1713796d6538 wifi: rtl8xxxu: Don't claim USB ID 07b8:8188
```

Removed ath11k/940-ath11k-Revert-clear-the-keys-properly-when-DISABLE_K.patch
This problem is fixed by:
609a8ffff5a0 wifi: ath11k: fix group data packet drops during rekey

Link: https://github.com/openwrt/openwrt/pull/20311
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-15 00:04:43 +02:00
Christoph KrappandHauke Mehrtens 0c1ff934ec 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>
i(cherry picked from commit 2a44808374)
Link: https://github.com/openwrt/openwrt/pull/20407
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-14 22:22:00 +02:00
Christoph KrappandHauke Mehrtens 467924878b 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>
(cherry picked from commit 8ea1396fd2)
Link: https://github.com/openwrt/openwrt/pull/20407
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-14 22:21:08 +02:00
Robert MarkoandHauke Mehrtens db4efd2e2d 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>
(cherry picked from commit bef0bf8efc)
Link: https://github.com/openwrt/openwrt/pull/20407
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-14 22:21:08 +02:00
Robert MarkoandHauke Mehrtens 07c7dae498 ipq-wifi: update to Git HEAD (2025-10-09)
20e5a5a32656 qca4019: add Linksys MR6350 BDF

Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 8ef2c4e881)
Link: https://github.com/openwrt/openwrt/pull/20407
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-14 22:21:08 +02:00
Hauke Mehrtens 6e068b7052 openssl: Update to version 3.0.18
OpenSSL 3.0.18 is a security patch release. The most severe CVE fixed in this
release is Moderate.

This release incorporates the following bug fixes and mitigations:

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

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

The removed patch is included upstream:
https://github.com/openssl/openssl/commit/c0d968f0ac56ad507ab0101e537e7d530e9f0448

Link: https://github.com/openwrt/openwrt/pull/20312
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-13 23:41:16 +02:00
Tianling Shen 43130a2f47 target/sdk: change fallback repo url to immortalwrt git
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-10-13 17:56:29 +08:00
Tianling Shen f7e033f590 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-10-13 17:55:31 +08:00
Tianling Shen aae6b605ea uboot-mediatek: backport a fix for AN8855 port isolation
Link: https://github.com/u-boot/u-boot/commit/70db2be9fbae747a869ec5d7af1055685a9c01f3
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-10-12 02:02:51 +08:00
Tianling Shen 876ce0a8ae r8168: disable rss by default
This NIC does not support RSS anyway.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 80b6fee153)
2025-10-11 15:32:36 +08:00
Goetz GoerischandHauke Mehrtens ade81ff85a kernel: bump 6.6 to 6.6.110
All patches auto-refreshed.

Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.110
Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20320
(cherry picked from commit 7a793724b1)
Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20348
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-09 23:16:51 +02:00
Tianling Shen 744d7c2b64 mediatek: switch to lzma compression for konka komi-a31
Since we provide spi-nor image for this device, use lzma for
smaller size.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 7fe15f84c7)
2025-10-09 21:52:11 +08:00
Tianling Shen 258c930590 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-10-06 17:18:06 +08:00
Coia PrantandHauke Mehrtens e8df99cf7c ramips: Add factory image for Qding QC202
Added factory image using mkqdimg.

Signed-off-by: Coia Prant <coiaprant@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20102
(cherry picked from commit d0383bb175)
Link: https://github.com/openwrt/openwrt/pull/20159
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-05 18:50:05 +02:00
Coia PrantandHauke Mehrtens b9382cb733 ramips: add support for Qding QC202
This is a smart door lock device equipped with OpenWrt 14.07 OEM
modified version Qdwrt

The OEM has closed down, This commit is intended to maximize the
remaining value of these devices. It can flash OpenWrt to become
an AP

Specification:
- SoC: MediaTek MT7628NN
- Flash: 8 MB
- RAM: 64 MB
- Power: DC 5V - 25V
- Ethernet: 1 x RJ45 (10/100 Mbps)
- Wireless radio: 802.11n 2.4g-only
- On-Board LED:
  Status 1: GPIO/43 active-low
  Status 2: GPIO/44 active-low
  Power: AlwaysOn
- Button:
  WPS / RESET: GPIO/14  active-low
- Bluetooth: CC2541 via UART1 (ttyS1) and GPIO/26-29
- RFID: MF RC522 on I2C@28
- RTC: DS1339 on I2C@68
- Shell (via CON1 cable)
  - LED (Swipe card area):
     -  Green  GPIO/3  active-high
     -  Red    GPIO/11 active-high
  - Matrix keypad: (active-low)
                 GPIO/20 GPIO/21 GPIO/19 (Rows)
        GPIO/24        1       2       3
        GPIO/25        4       5       6
        GPIO/22        7       8       9
        GPIO/23     BACK       0   ENTER
        (Cols)
- UART: 1 x UART on PCB - 57600 8N1
- GPIO Relay: GPIO/42 active-high
- GPIO Buzzer: GPIO/15 active-high

Warning:
The original firmware does not use the device tree.
This device tree is written based on the content of /sys/devices/platform
and has been tested

Note:
- On the device, matrix keypad rows actually are columns, and the columns actually are rows
- The key code of the CLEAR key of the matrix keypad is BACK in the original firmware.

Issue:
- No drivers in mainline kernel for RFID and Bluetooth.

Flash Instruction:
Using SSH/Telnet:
1. Connect the board to the computer via RJ45 Ethernet
2. Login 10.10.10.1 with root password "szqdingnet123" (SSH Port 22, Telnet Port 9900)
3. Download openwrt firmware on the computer.
4. Setup a http server on computer. And use wget download openwrt firmware from computer
5. Use command "mtd -r write openwrt-ramips-mt76x8-qding_qc202-squashfs-sysupgrade.bin firmware"
   to flash

Using U-Boot WebUI:
1. Configure PC with a static IP address 10.10.10.2/24.
2. Open http://10.10.10.1
3. Use "mkqdimg -B qc202 -f openwrt-ramips-mt76x8-qding_qc202-squashfs-sysupgrade.bin" to
   make image.
4. Upload factory.bin via U-Boot WebUI.

Original Firmware Dump / More details:
https://blog.gov.cooking/archives/research-qianding-smart-locker-and-flash.html

Original U-Boot firmware image tools:
https://gitlab.com/CoiaPrant/mkqdimg

Signed-off-by: Coia Prant <coiaprant@gmail.com>
Tested-by: Coia Prant <coiaprant@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17471
(cherry picked from commit b2f814fed4)
Link: https://github.com/openwrt/openwrt/pull/20159
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-05 18:49:46 +02:00
Nickolay GoppenandHauke Mehrtens 39d87fd2fe ramips: add support for Zbtlink ZBT-WG108
Specification:

CPU: MediaTek MT7621 (880 MHz)
Flash size: 16 MB NOR SPI
RAM size: 128 MB
Bootloader: Breed
Wireless: MT7612EN 2x2 802.11an+ac(5 GHz)
Wireless: MT7603EN 2x2 bgn(2.4 GHz)
Ethernet: 1 x WAN (10/100/1000Mbps) and 4 x LAN (10/100/1000 Mbps)
USB: 1x 2.0 Type-A port
External storage: 1x microSD (SDXC) slot
UART: console (115200 baud)
LEDs: Power, Wan, Lan 1-4, WiFi 2.4G, WiFi 5G
Buttons: Reset

How to install:
The original firmware is OpenWrt, so sysupgrade can be used.

Signed-off-by: Nickolay Goppen <setotau@mainlining.org>
Link: https://github.com/openwrt/openwrt/pull/19966
(cherry picked from commit 8dd3ee205a)
Link: https://github.com/openwrt/openwrt/pull/20124
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-05 18:46:11 +02:00
Coia PrantandHauke Mehrtens 7632dfa843 ramips: Fix Hongdian H7920 v40 mac address
After extracting the EEPROMs of different devices, only the 0x4 address is unique.

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

Signed-off-by: Coia Prant <coiaprant@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20256
(cherry picked from commit c907c7c9b3)
Link: https://github.com/openwrt/openwrt/pull/20257
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-05 18:32:21 +02:00
Coia PrantandHauke Mehrtens 0f095274fc ramips: Fix Hongdian H7920 v40 pinctrl default state
According to the MT7628 hardware datasheet:
- GPIO/4 was originally used for I2C, but is now used as the Modem Power.
- GPIO/5 was originally used for I2C, but is now used as the SIM card select. (n/a for this device)
- GPIO/6 was originally used for SPI CS1, but is now used as the Serial mode switch.
- GPIO/36 was originally used for PERST, but is now used as the GPS OE. (n/a for this device)
- GPIO/38 was originally used for WDT, but is now used as the Modem2 Power. (n/a for this device)
- GPIO/44 was used for WLED_AN, but is now controlled by `gpio-leds`.

Corrected pinctrl to ensure it works properly in the future.

Signed-off-by: Coia Prant <coiaprant@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20256
(cherry picked from commit 44c79d094f)
Link: https://github.com/openwrt/openwrt/pull/20257
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-05 18:32:21 +02:00
Goetz GoerischandHauke Mehrtens 28bb6f73e6 kernel: bump 6.6 to 6.6.109
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.109

Removed upstreamed patch:
lantiq/patches-6.6/0736-v6.11-net-dsa-lantiq_gswip-do-also-enable-or-disable-cpu-p.patch [1]

All other patches autorefreshed.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.109&id=a7a2b29c1ee44b8d379ab>

Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20277
(cherry picked from commit bb1779cdc5)
Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20299
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-05 18:20:27 +02:00
Matthew BilkerandHauke Mehrtens 10363b5e26 mediatek: filogic: fix for new GL.iNet GL-MT2500/GL-MT2500A hardware revision
GL.iNet shipped a hardware change of the WAN PHY going from the MaxLinear
GPY211C to the Airoha EN8811H.

Signed-off-by: Matthew Bilker <me@mbilker.us>
Link: https://github.com/openwrt/openwrt/pull/18799
(cherry picked from commit 8d30e07180)
Link: https://github.com/openwrt/openwrt/pull/20307
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-05 18:18:32 +02:00
Ondrej CiernyandRobert Marko 3c04d09336 download: improve rawgit tar reliability
Packages that depend on rawgit can fail on systems with the tar UID
issue (https://bugzilla.redhat.com/show_bug.cgi?id=913406).
Fix this by adding tar flags to overwrite UID/GID, as in the
dl_tar_pack method.

Signed-off-by: Ondrej Cierny <o.cierny@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19243
(cherry picked from commit d4d5fbd375)
Link: https://github.com/openwrt/openwrt/pull/20185
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-10-05 12:16:58 +02:00
Tianling Shen 91fc54eae3 cpufreq: minor cleanup
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit ff3ab07016)
2025-10-03 17:02:01 +08:00
Tianling Shen 808b2f9de4 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-10-03 16:17:33 +08:00
Florian MaurerandHauke Mehrtens c1d14f2734 mac80211: ath: improve ath10k "failed to flush transmit queue" errors
Currently, in busy environments, ath10k logs "failed to flush transmit
queue" errors and have a spiking CPU usage, making the wireless barely
usable.
With this patch, taken from https://patchwork.kernel.org/project/linux-wireless/patch/20250806070005.1429-1-hujy652@gmail.com/
this does not occur in normal operation and the wifi is much more stable

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

Signed-off-by: Florian Maurer <f.maurer@outlook.de>
Link: https://github.com/openwrt/openwrt/pull/19529
(cherry picked from commit ab50b9a561)
Link: https://github.com/openwrt/openwrt/pull/20266
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-02 22:23:51 +02:00
Goetz GoerischandHauke Mehrtens bf7a4d9d5a kernel: bump 6.6 to 6.6.108
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.108

Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20214
(cherry picked from commit 7114446523)
Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20237
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-01 22:26:05 +02:00
Goetz GoerischandHauke Mehrtens c8d2201f82 kernel: bump 6.6 to 6.6.107
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.107

All patches auto-refreshed.

Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20095
(cherry picked from commit 2f61f77fb0)
Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20237
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-01 22:26:05 +02:00
Tianling Shen 8af8b8b5d3 qualcommax: fix extract caldata for xiaomi ax9000 stock layout
Fixes: 753e8267c6 ("qualcommax: ipq807x: Xiaomi AX9000: add custom U-Boot layout support")
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit b32d9665ab)
2025-10-02 02:30:04 +08:00
Tianling Shen 7fab5119d4 rockchip: enable hwRNG for rk3588 by default
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit fc946b63a8)
2025-10-01 20:17:23 +08:00
Liangbin LianandTianling Shen d7f0c06fdd rockchip: hwrng: fix -EPROBE_DEFER not propagating upwards
kernel should retry probe later

(cherry picked from commit adad424e7f)
2025-10-01 20:16:29 +08:00
Tianling Shen 91c5261ffc Revert "rockchip: backport Samsung HDMI/eDP Combo PHY driver"
Since there's no plan to backport video support for RK3588, drop this
unused driver.

This reverts commit 08b6454d66.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-10-01 17:32:41 +08:00
Jonas JelonekandTianling Shen ff5d1e97da mediatek: filogic: support openwrt,netdev-name for renaming interfaces
Add support in filogic subtarget for our own custom property
`openwrt,netdev-name` in the device tree instead of `label` for
renaming interfaces. This was suggested upstream to avoid potential
conflicts [1].

[1] https://lore.kernel.org/netdev/20240709124503.pubki5nwjfbedhhy@skbuf/

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
(cherry picked from commit d4d6c48b6e)
2025-09-28 20:21:53 +08:00
Tianling Shen 4e0e264e27 uboot-mediatek: update ddrtype for rax3000me ddr3 rev
Fixes: 8918fdf516 ("mediatek: reduce ddr3 frequency for cmmc rax3000me")
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-09-28 16:21:52 +08:00
Tianling Shen 7af8470911 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-09-27 18:44:00 +08:00
Tianling Shen 8918fdf516 mediatek: reduce ddr3 frequency for cmmc rax3000me
Reduce memory frequency to 1866MHz for better stability on some devices.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-09-26 21:49:05 +08:00
Tianling Shen 611bd69956 arm-trusted-firmware-mediatek: switch to use 1866MHz for mt7981-ram-ddr3
For better compatibility.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-09-26 21:48:29 +08:00
Tianling Shen cbd0f540cd arm-trusted-firmware-mediatek: add 1866mhz ddr3 build for mt7981 emmc/spim-nand
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit f0a43882dc)
2025-09-26 21:48:21 +08:00
Christoph KrappandHauke Mehrtens 406b980d97 ath79: add calibtation variant for TP-Link Archer C60 v1
Now that we have a board file, add calibration variant for TP-Link
Archer C60 v1 and add ipq-wifi package for it.

Signed-off-by: Christoph Krapp <achterin@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19993
(cherry picked from commit 9401b8b86d)
Link: https://github.com/openwrt/openwrt/pull/20157
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-09-25 22:55:15 +02:00
Christoph KrappandHauke Mehrtens c3b19ebc68 ipq-wifi: Add entry for TP-Link Archer C60 v1
Add IPQ Wifi entry for ath79 TP-Link Archer C60 v1.

Signed-off-by: Christoph Krapp <achterin@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19993
(cherry picked from commit a7ca19962b)
Link: https://github.com/openwrt/openwrt/pull/20157
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-09-25 22:54:06 +02:00
Robert MarkoandHauke Mehrtens 58bd949e34 ipq-wifi: update to Git HEAD (2025-09-16)
c40198780e44 qca9888: add BDF for TP-Link Archer C60 v1
65d951610e0c QCA9888: added TP-Link Archer C60 v2 (US) BDF Link: https://github.com/openwrt/firmware_qca-wireless/pull/67

Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 86f58731ef)
Link: https://github.com/openwrt/openwrt/pull/20157
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-09-25 22:52:40 +02:00
libiuncandTianling Shen b9ed6a66a8 kernel: refresh bpf patches
Signed-off-by: libiunc <libriunc@gmail.com>
(cherry picked from commit 102d4db753)
2025-09-24 19:38:58 +08:00
Tianling ShenandRobert Marko bb14c607a3 uboot-mediatek: update Airoha EN8811H driver
Use the version sent to upstream U-Boot[1], which has much better
code quality and also works better (without packet loss).

The `en8811h_read_fw` func is adapted to use current read logic.

1. https://lore.kernel.org/u-boot/20250720122852.22563-1-lucienzx159@gmail.com/

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20000
(cherry picked from commit b63a48b012)
Link: https://github.com/openwrt/openwrt/pull/20146
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-09-24 13:31:49 +02:00
Tianling Shen 23223a7e0d Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-09-24 14:49:44 +08:00
Tianling Shen f87a1d9223 ImmortalWrt v24.10.3: revert to branch defaults
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-09-23 14:49:34 +08:00
Tianling Shen ea395a5daa ImmortalWrt v24.10.3: adjust config defaults
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-09-23 14:49:29 +08:00
Goetz GoerischandHauke Mehrtens 1dc947ac69 kernel: bump 6.6 to 6.6.106
All patches autorefreshed.

Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20013
(cherry picked from commit 8cbbcda1d9)
Link: https://github.com/openwrt/openwrt/pull/20036
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-09-22 01:22:49 +02:00
John AudiaandHauke Mehrtens 6af8e20b45 x86: config: add CONFIG_MITIGATION_VMSCAPE=y
Introduced in the 6.6.106 update, set this new mitigation option to
be enabled. See: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/diff/arch/x86/Kconfig?id=v6.6.106&id2=v6.6.105

Signed-off-by: John Audia <therealgraysky@proton.me>
(cherry picked from commit 221eaf1339)
Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20036
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-09-22 01:22:49 +02:00
Goetz GoerischandHauke Mehrtens b46655aaa0 kernel: bump 6.6 to 6.6.105
removed upstreamed patches:
generic/backport-6.6/621-proc-fix-missing-pde_set_flags.patch [1]
generic/pending-6.6/742-net-ethernet-mtk_eth_soc-fix-tx-vlan-tag-for-llc-pac.patch [2]

manually rebase patches:
bcm27xx/patches-6.6/950-0518-net-macb-Also-set-DMA-coherent-mask.patch [3]

all other patches autorefreshed.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.105&id=698abcf08818cb7bafb978f4c9f6674d6a825d10
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.105&id=61b80fbdc0726317f72f9074e10126e0eb0e49c5
[3] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.105&id=5430388a81113e62a2d48b5d7dc1e76231908ebf

Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20013
(cherry picked from commit 67c5ec7092)
Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20036
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-09-22 01:22:49 +02:00
Tianling Shen 5531f6bc76 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-09-21 22:45:27 +08:00
Hauke Mehrtens ef40cc6a42 OpenWrt v24.10.3: revert to branch defaults
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-09-20 22:35:26 +02:00
Hauke Mehrtens dbd975a3b6 OpenWrt v24.10.3: adjust config defaults
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-09-20 22:35:21 +02:00
coolsnowwolfandTianling Shen 6557181ee6 photonicat-firmware: add ariaboard photonicat specific ath10-sdio fw
(cherry picked from commit 86314bc53c)
2025-09-20 21:01:30 +08:00
Linus KardellandHauke Mehrtens daca7c049b openssl: correct PKG_LICENSE_FILES
Point to correct file name.

Signed-off-by: Linus Kardell <linus.kardell@infobric.com>
Link: https://github.com/openwrt/openwrt/pull/19999
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit bcfc3f01a4)
2025-09-19 23:19:38 +02:00
Linus KardellandHauke Mehrtens 36d93ba2bd libxml2: correct PKG_LICENSE_FILES
Point to correct file name.

Signed-off-by: Linus Kardell <linus.kardell@infobric.com>
Link: https://github.com/openwrt/openwrt/pull/19999
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 24ee23a8a5)
2025-09-19 22:44:54 +02:00
Oliver SedlbauerandFelix Fietkau efcdbe1087 mac80211: backport EHT 1024 MPDU TX aggregation
Backport support for 1024 MPDU TX aggregation in EHT from upstream
kernel. Without this fix, TX performance on WiFi-7 links
is severely limited, making the link practically unusable.

Signed-off-by: Oliver Sedlbauer <osedlbauer@tdt.de>
2025-09-19 13:13:03 +02:00
Tianling Shen e9ec9ca11c Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-09-19 15:06:14 +08:00
Hauke Mehrtens de44a34908 uqmi: Increase PKG_RELEASE
Make sure that the package gets updated after the last fix.

Fixes: 9d83c1b1a9 ("uqmi: fix data-format parsing")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 0203ef3fc9)
2025-09-19 01:56:33 +02:00
David Bauer 9d83c1b1a9 uqmi: fix data-format parsing
wda-get-data-format now returns an object instead of a single string.
Account for this change when reading the packet data format.

Suggested-by: Sebastian Ertz (https://github.com/sebastianertz)
Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit cd20ae44f2)
2025-09-18 23:28:41 +02:00
Hauke Mehrtens 640e364ec0 openssl: Backport fix for OpenSSL 3.5.2 and 3.0.17 regression
Fixes segmentation faults in openssl. This problem was introduced in
version 3.5.2 and 3.0.17. Backport a fix from the OpenSSL 3.0 branch.

Link: https://forum.openwrt.org/t/openssl-3-0-17-libcrypto-segmentation-faults-regression/240650/9
Link: https://github.com/openssl/openssl/issues/28171
Link: https://github.com/openssl/openssl/commit/c0d968f0ac56ad507ab0101e537e7d530e9f0448
Fixes: f68c3e5057 ("openssl: Update to version 3.0.17")
Link: https://github.com/openwrt/openwrt/pull/20069
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit aa3c98f821)
2025-09-18 21:18:13 +02:00
Paweł OwocandRobert Marko bf3bc6a384 qualcommax: ipq807x: add support for Linksys HomeWRK
Hardware specification:
========
SoC: Qualcomm IPQ8174
Flash: 1GB (Micron MT29F8G08ABBCAH4 or AMD/Spansion S34MS08G2)
RAM: 2GB (2x Kingston B5116ECMDXGJD or ESMT M15T2G16128A DDR3L)
Ethernet: 4x 10/100/1000Mbps (Qualcomm QCA8075)
WiFi1: 5GHz ax 2x2 (Qualcomm QCN5054 + Skyworks SKY85755-11) - channels 36-64 (low band)
WiFi2: 2.4GHz ax 2x2 (Qualcomm QCN5024 + Skyworks SKY85340-11)
WiFi3: 5GHz ax 4x4 (Qualcomm QCN5054 + Skyworks SKY85755-11) - channels 100-177 (high band)
LED: 1x RGB status (NXP PCA9633)
USB: 1x USB 3.0
Button: WPS, Reset

Flash instructions:
========
1. Installation from initramfs image using USB drive:
Put the initramfs image on the USB drive:
- dd bs=1M if=openwrt-qualcommax-ipq807x-linksys_homewrk-initramfs-uImage.itb of=/dev/sdX
Connect serial console (JST PH 6-pin connector):
- 1 - GND, 2 - TX, 4 - RX (115200, 8N1, 3.3V)
Stop u-boot and run:
- usb start && usbboot 44000000 0 && bootm 44000000
Write firmware to the flash from initramfs:
- sysupgrade -n openwrt-qualcommax-ipq807x-linksys_homewrk-squashfs-sysupgrade.bin
or
- ubiformat /dev/mtd22 -y -f openwrt-qualcommax-ipq807x-linksys_homewrk-squashfs-factory.ubi

2. USB recovery:
Put the initramfs image on the USB:
- dd bs=1M if=openwrt-qualcommax-ipq807x-linksys_homewrk-initramfs-uImage.itb of=/dev/sdX
Set u-boot env:
- fw_setenv bootusb 'usb start && usbboot 44000000 0 && bootm 44000000'
- fw_setenv bootcmd 'run bootusb; bootipq'

Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17463
Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17985
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-09-18 16:41:15 +02:00
Tianling Shen 7d2bb2f84c Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-09-16 19:54:13 +08:00
Felix Fietkau 457d0ca359 mt76: update to Git HEAD (2025-09-15)
904abc93b7d7 wifi: mt76: mt7996: fix setting beacon protection keys
75cd7c365b26 wifi: mt76: mt7996: fix memory leak on mt7996_mcu_sta_key_tlv error
587012a43306 wifi: mt76: mt7996: delete vif keys when requested
e995f6198d8b wifi: mt76: mt7996: fix key add/remove imbalance
5b0cbb058089 wifi: mt76: mt7996: fix updating beacon protection with beacons enabled
bba7ae0b1a68 wifi: mt76: mt7996: drop connac mcu wtbl clear
1383b5548fd7 wifi: mt76: use altx queue for offchannel tx on connac+
fd4c0858e58d wifi: mt76: mt7996: disable promiscuous mode by default
a9d21b7ece99 wifi: mt76: mt7996: remove the mem_total field of STA_REC_BF command
e88deeb14596 wifi: mt76: mt7996: set VTA in txwi
a06461861f4a wifi: mt76: mt7996: fill User Priority in skb->priority for rx packets
d17519baab77 wifi: mt76: improve phy reset on hw restart
ddbe1f6eb25f wifi: mt76: abort scan/roc on hw restart
6745cece7a07 wifi: mt76: mt7996: reset station links on hardware restart
d4a79d50ffc6 wifi: mt76: mt7996: reset interface links on hardware restart
9b770cb3dacd wifi: mt76: mt76_eeprom_override to int
6467af3bcf11 wifi: mt76: mt7921u: Add VID/PID for Netgear A7500

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit b4d6b6c986)
2025-09-15 13:41:35 +02:00
Felix Fietkau 186534e167 mt76: update to Git HEAD (2025-09-09)
27ad37728c3f wifi: mt76: mt7996: Check phy before init msta_link in mt7996_mac_sta_add_links()
95c9b8099ede wifi: mt76: mt7996: Set EML capabilities for AP interface
08df8dd7b00b wifi: mt76: mt7996: Use proper link_id in link_sta_rc_update callback
15fa4e33ee8f wifi: mt76: mt7996: Enable MLO support for client interfaces
3400b1ba33be wifi: mt76: mt7925: add pci restore for hibernate
51a1c0a086c8 wifi: mt76: mt7921: Add 160MHz beamformee capability for mt7922 device
435e596914fa wifi: mt76: mt7996: Use proper link info in mt7996_mcu_add_group
d30faac3b645 firmware: update mt7996 and mt7992 firmware to 20250606
304226bc4552 wifi: mt76: mt7996: Fix mt7996_reverse_frag0_hdr_trans for MLO
7cf18f8ebbb8 wifi: mt76: mt7996: Add all active links to poll list in mt7996_mac_tx_free()
16090cb27d9f wifi: mt76: mt7996: Implement MLD address translation for EAPOL
a1c319500a53 wifi: mt76: mt7996: Temporarily disable EPCS
5f3ea4562fbf wifi: mt76: mt7921: Place upper limit on station AID
ef2468830f6d wifi: mt76: un-embedd netdev from mt76_dev
29bca0ca462b net: mediatek: wed: Introduce MT7992 WED support to MT7988 SoC
245f6ff460c8 wifi: mt76: Add reset_idx to reset_q mt76_queue_ops signature.
4a3a5a7d71a8 wifi: mt76: Remove q->ndesc check in mt76_dma_rx_fill()
d540538299f7 wifi: mt76: Differentiate between RRO data and RRO MSDU queues
d0217732f96e wifi: mt76: Do not always enable NAPIs for WED RRO queues
1df790839241 wifi: mt76: mt7996: Initial DMA configuration for MT7992 WED support
fca511f401e9 wifi: mt76: mt7996: Enable HW RRO for MT7992 chipset
8134055d3459 wifi: mt76: mt7996: Introduce the capability to reset MT7992 WED device
4f81d751b5de wifi: mt76: mt7996: Fix tx-queues initialization for second phy on mt7996
f559eef156fd wifi: mt76: mt7996: Fix RX packets configuration for primary WED device
6b518355fec6 wifi: mt76: mt7996: Enable WED for MT7992 chipset
13eb05fa4a43 wifi: mt76: mt7996: Introduce RRO MSDU callbacks
ac1bca49973b wifi: mt76: Add rx_queue_init callback
d82330a9d019 wifi: mt76: mt7996: Decouple RRO logic from WED support
0a32ae3cc23d wifi: mt76: Add mt76_dma_get_rxdmad_c_buf utility routione
6c902ccba889 wifi: mt76: mt7996: Add SW path for HW-RRO v3.1
f271ce48d73b mt76: mt7996: fix unsigned comparison
d48b221e39f1 wifi: mt76: mt7925: prevent NULL vif dereference in mt7925_mac_write_txwi
719cda7c9f18 wifi: mt76: mt7925: prevent NULL pointer dereference in mt7925_tx_check_aggr()
03b0c871630a wifi: mt76: mt7996: add missing NULL pointer check
91dcccebfe19 firmware: update mt7996/mt7992 firmware to 20250905
76401f5e2e05 mt76: update RRO patches to the latest version
7b4b6c844554 wifi: mt76: Convert mt76_wed_rro_ind to LE
0d6eaa417441 wifi: mt76: mt7915: fix mt7981 pre-calibration
015349622b0c wifi: mt76: mt7925: fix incorrect length field in txpower command
5776b3292908 wifi: mt76: mt7925: refine the txpower initialization flow
b50c633f9158 wifi: mt76: mt7996: support writing MAC TXD for AddBA Request
ea9998693579 wifi: mt76: mt7996: Add missing DMA sync for EAPOL frames
a4d6f193be22 wifi: mt76: mt7996: remove redundant per-phy mac80211 calls during restart
ffda4432654d wifi: mt76: mt7996: improve hardware restart reliability
a6559a003d1b wifi: mt76: mt7996: decrease timeout for commonly issued MCU commands

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit e401229918)
2025-09-15 13:40:27 +02:00
Tianling Shen e01d4bf0b0 odhcpd: fix setting default ra mode
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 65804bf40e)
2025-09-15 14:05:24 +08:00
Tianling Shen 1be1f3caa5 rockchip: include luci-mod-battstatus for ariaboard photonicat by default
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-09-14 21:46:55 +08:00
Tianling Shen 71403635fc Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-09-14 19:16:49 +08:00
Tianling Shen 902a66eabf cpufreq: do not specify cpufreq for rk3588
No need to modify default min/max cpufreq as upstream opp-table
handles it perfectly already.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 7203470378)
2025-09-13 20:51:26 +08:00
Álvaro Fernández Rojas f3a27d09e2 kernel: r8127: update to v11.015.00
Changelog: https://github.com/openwrt/rtl8127/compare/11.014.00...11.015.00

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 1cffb44b3c)
2025-09-12 19:25:58 +02:00
Álvaro Fernández Rojas 4d6cb65ee0 kernel: r8126: update to v10.016.00
Changelog: https://github.com/openwrt/rtl8126/compare/10.015.00...10.016.00

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 27a3e5c7b7)
2025-09-12 19:25:58 +02:00
Álvaro Fernández Rojas 03497e6feb kernel: r8125: update to v9.016.01
Changelog: https://github.com/openwrt/rtl8125/compare/9.016.00...9.016.01

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 2dfad04a82)
2025-09-12 19:25:58 +02:00
Felix Fietkau 05e6fe692b kernel: mtk_eth_soc: zero-initialize PPE flow tables
Prevents invalid flow table data from leaking across reboots

Fixes: https://github.com/openwrt/openwrt/issues/19895
Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 36d0690993)
2025-09-12 14:41:59 +02:00
Tianling Shen c93c3ff058 r8152: switch to official tarball
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 7ba3ecf84f)
2025-09-12 16:57:14 +08:00
Andy ChiangandÁlvaro Fernández Rojas c60b94a195 kernel: r8168: add missing flags
PKG_MAKE_FLAGS is required when compiling r8168-rss

Signed-off-by: Andy Chiang <AndyChiang_git@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/20001
Signed-off-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 5719d65064)
2025-09-11 12:47:02 +02:00
Tianling Shen dbfba8d80b rockchip: include pcat-mgr for ariaboard photonicat by default
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit e2459d16a4)
2025-09-10 14:36:29 +08:00
Tianling Shen c093d2282f Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-09-10 14:32:07 +08:00
John AudiaandHauke Mehrtens 2644445469 lantiq: adapt upstream commit to some dts files
Some lantiq dts files still use etop but 6.12.45[1] changed to ethernet
so bring them into parity with this change.

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

Co-Authored-by: Hauke Mehrtens <hauke@hauke-m.de>
Co-Authored-by: Aleksander Bajkowski <olek2@wp.pl>
Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/19956
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit c55a411af2)
2025-09-10 00:08:24 +02:00
Fabrice FontaineandHauke Mehrtens d80fc3aaab package/libs/gettext-full: fix license
gettext-full only provides libintl which is not licensed under
GPL-3.0.-or-later but under LGPL-2.1-or-later as stated in
gettext-runtime/intl/COPYING.LIB

Fixes: c10d97484a (Add more license tags with SPDX identifiers)

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19943
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 13e10bb8d3)
2025-09-10 00:07:36 +02:00
Fabrice FontaineandHauke Mehrtens e0be7ecdca package/libs/elfutils: fix license
elfutils libraries are not licensed under GPL-3.0-or-later, they are dual
licensed: GPL-2.0-or-later OR LGPL-3.0-or-later as clearly stated in
source files as well as on https://sourceware.org/elfutils:

The libraries and backends are dual GPLv2+/LGPLv3+. The utilities are GPLv3+.

Fixes: b98fb76646 (elfutils: import package from packages.git)

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19941
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 9a157b5d83)
2025-09-10 00:07:33 +02:00
Tianling ShenandHauke Mehrtens cd6dd1c01e rockchip: backport GATE_LINK support for RK3588
Apart from improved power consumption, this fixes the runtime errors
from the pmdomain driver (failed to set idle on domain '%s')

Backport four clk fixes while at it.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/19925
(cherry picked from commit 13db7a0708)
[rebased upon 24.10 branch]
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/19989
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-09-10 00:05:41 +02:00
Tianling ShenandHauke Mehrtens b142c7e0c3 rockchip: reorder hwRNG patches
Reorder hwRNG patches to match current naming.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/19989
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-09-10 00:05:41 +02:00
Tianling ShenandHauke Mehrtens 67f40cf6ff rockchip: increase the number of serial ports for rk35xx
The RK356x/RK3588 SoCs support up to 10 serial ports.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/19917
(cherry picked from commit 672e45e69f)
Link: https://github.com/openwrt/openwrt/pull/19988
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-09-10 00:03:59 +02:00
Mikhail ZhilkinandHauke Mehrtens 08478c517e mediatek: CMCC RAX3000M: add RAX3000Me as alt model
The devices are basically identical. The RAX3000Me can be with
ddr3 RAM.

Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19760
(cherry picked from commit 23f016cf1e)
Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19991
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-09-10 00:02:22 +02:00
Tianling ShenandHauke Mehrtens ac4516d64f kernel: add support for FudanMicro FM25S01A SPI-NAND
Add support for FudanMicro FM25S01A SPI NAND.
Datasheet: http://eng.fmsh.com/nvm/FM25S01A_ds_eng.pdf

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
[add lore.kernel.org link to the patch files]
Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19760
(cherry picked from commit a140bcbc7c)
[drop patches for kernel 6.12, refresh patches]
Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19991
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-09-10 00:02:22 +02:00
Tianling Shen 2af012e860 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-09-09 21:33:31 +08:00
Aviana CruzandTianling Shen 49ec0695ca odhcpd: improve RFC 9096 compliance for lifetimes
This commit updates the existing patch for RFC 9096 compliance in odhcpd with the following improvements:

- The router lifetime calculation is corrected to align with RFC 9096, with the default lifetime changing to 2700 seconds.

- The RDNSS and DNSSL lifetime is now based on the highest valid lifetime of advertised prefixes, as recommended by RFC 9096.

These changes should help to mitigate issues with Android devices where IPv6 addresses are lost during idle periods.

Signed-off-by: Aviana Cruz <gwencroft@proton.me>
(cherry picked from commit 9084f49725)
2025-09-09 21:27:48 +08:00
Jan KardellandHauke Mehrtens bc9f1cab83 libxml2: Add abi version
The version of libxml2 was bumped from 2.13.6 to 2.14.5. Since version
2.14, libxml2 is not binary compatible with older versions. Therefore
add an abi version.

From the NEWS file:
Binary compatibility is restricted to versions 2.14 or newer. On ELF
systems, the soname was bumped from libxml2.so.2 to libxml2.so.16.

Signed-off-by: Jan Kardell <jan.kardell@telliq.com>
Link: https://github.com/openwrt/openwrt/pull/19983
(cherry picked from commit 420be05d90)
Link: https://github.com/openwrt/openwrt/pull/19985
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-09-08 15:00:26 +02:00
Donghyun KoandHauke Mehrtens cd0b1a209f mediatek: filogic: add support for ipTIME AX3000Q
Specification
-------------
- SoC       : MediaTek MT7981BA dual-core ARM Cortex-A53 1.3GHz
- RAM       : DDR3 256Mbytes, ESMT M15T2G16128A
- Flash     : 128Mbytes NAND Flash, ESMT F50L1G41LB
- WLAN      : MediaTek MT7976CN dual-band Wi-Fi 6
  - 2.4GHz  : b/g/n/ax, MU-MIMO
  - 5GHz    : a/n/ac/ax, MU-MIMO
- Ethernet  : MediaTek MT7531AE
  - LAN     : 10/100/1000 Mbps x4
  - WAN     : 10/100/1000 Mbps x1
- UART      : 1x4 pin header on PCB
  - [J6] TX, RX, GND, 3.3V (115200, 8N1)
- Buttons   : WPS, Reset
- LEDs      : 1x CPU (Amber)
              1x Wi-Fi 5GHz (Amber)
              1x Wi-Fi 2.4GHz (Amber)
              1x WAN activity (Amber)
              4x LAN activity (Amber)
- Power     : 12VDC, 1A (Center positive polarity)

MAC address
-----------
+-----------+-------------------+-----------------------+
| Interface | MAC               | Algorithm             |
+-----------+-------------------+-----------------------+
| WLAN 2.4G | B0:38:6C:48:xx:xx | label                 |
| WLAN 5G   | B2:38:6C:48:xx:xx | label with LA Bit Set |
| WAN       | B0:38:6C:48:xx:xx | label + 1             |
| LAN       | B0:38:6C:48:xx:xx | label + 3             |
+-----------+-------------------+-----------------------+
The WLAN 2.4G MAC was found in 'Factory' partition, 0x4

Installation
------------
1. Download the OEM recovery software from the manufacturer's website
2. Download the *squashfs-factory.bin file from the OpenWrt website
3. Press a reset button, and power up the router(keep pressing the reset button)
4. Wait more than 10 seconds until the CPU LED stop blinking
5. Connect the router(LAN port) to the PC
6. Replace a file in the OEM recovery software with the file from step 2
7. Run the OEM recovery software and follow the instructions
8. Wait for the router to boot from *squashfs-factory.bin

Signed-off-by: Donghyun Ko <nyankosoftware@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19368
(cherry picked from commit aea6d1bf5e)
Signed-off-by: Donghyun Ko <nyankosoftware@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19939
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-09-08 14:37:25 +02:00
Marty JonesandHauke Mehrtens 99bae668a2 rockchip: add RK3588 Hardware Random Number Generator
Backport support for RK3588 hardware RNG driver.

(cherry picked from commit e02c7a2014)
Added 2 patches from 6.12:
057-01-v6.12-hwrng-rockchip-rst-is-used-only-during-probe.patch
057-02-v6.12-hwrng-rockchip-handle-devm_pm_runtime_enable-errors.patch

Signed-off-by: Marty Jones <mj8263788@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19366
Link: https://github.com/openwrt/openwrt/pull/19442
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-09-08 14:34:40 +02:00
Fil DunskyandHauke Mehrtens e64f54cc15 mediatek: Huasifei WH3000 Pro wifi fix
typo forgot to add `kmod-mt7915e`

Fixes: db1de8d21f ("mediatek: add Huasifei WH3000 Pro support")
Signed-off-by: Fil Dunsky <filipp.dunsky@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19825
(cherry picked from commit 194466d52a)
Link: https://github.com/openwrt/openwrt/pull/19976
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-09-08 14:32:47 +02:00
Goetz GoerischandHauke Mehrtens fe3d783d1e kernel: bump 6.6 to 6.6.104
remove upstreamed patches:
generic/backport-6.6/626-v6.17-net-ipv4-fix-regression-in-local-broadcast-routes.patch [1]

All other patches auto-refreshed.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.104&id=a208d67cb44ba441bd38e04e270e9f1e230234ee

Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19955
(cherry picked from commit 0ee0846be1)
Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19972
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-09-08 14:31:30 +02:00
Tianling Shen 28761de5de Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-09-06 23:07:59 +08:00
Jakob HaufeandHauke Mehrtens 6c7919471e octeon: ubnt-*: Add device specific DTS pruning
This imports device specific DTS pruning from
https://github.com/UI-Packages/kernel_e200/blob/master/arch/mips/cavium-octeon/octeon-platform.c#L1067

- Reduce MMC clock frequency on E200/E220 to make
  MMC communication reliable again. See linked issue.
- Remove unused MMC node on E300.

Link: https://github.com/openwrt/openwrt/issues/13762
Signed-off-by: Jakob Haufe <sur5r@sur5r.net>
Link: https://github.com/openwrt/openwrt/pull/19229
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry-picked from commit 6e58e64501)
Link: https://github.com/openwrt/openwrt/pull/19374
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-09-05 00:48:55 +02:00
Hauke Mehrtens 78763b7b84 lantiq: Fix VPE kernel patch
This fixes compilation of the vmmc driver, it uses these functions.

Fixes: c676281e7e ("kernel: bump 6.6 to 6.6.103")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-09-05 00:34:45 +02:00
FUKAUMI NaokiandHauke Mehrtens 2180b1d6de rockchip: Add Realtek RTL8821CU support for the Radxa ROCK Pi E v3
There is a variant of the Radxa ROCK Pi E v3 equipped with the Realtek
RTL8821CU. Add the kmod-rtw88-8821cu package for it.

Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
Link: https://github.com/openwrt/openwrt/pull/18310
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
(cherry picked from commit f13ddfb0cf)
Link: https://github.com/openwrt/openwrt/pull/19940
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-09-04 23:55:53 +02:00
FUKAUMI NaokiandHauke Mehrtens e52a2ca694 rockchip: Add support for Radxa ROCK 4SE
The Radxa ROCK 4SE[1] is a single board computer using the Rockchip
RK3399-T.

Hardware
--------

- Dual-core Cortex-A72 and quad-core Cortex-A53 CPU
- Mali-T860MP4 GPU
- LPDDR4 4GB RAM
- M.2 M Key slot (PCIe 2.1 x4)
- eMMC connector
- microSD card slot
- Wi-Fi 5 (not supported)
- Gigabit Ethernet with PoE support (additional PoE HAT required)
- USB 3.0 Type-A OTG port
- USB 3.0 Type-A HOST port
- 2x USB 2.0 Type-A HOST ports
- USB Type-C power port (5V only)
- 40 Pin GPIO header

[1] https://radxa.com/products/rock4/4se

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

Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
Link: https://github.com/openwrt/openwrt/pull/17554
(cherry picked from commit 6690f551c8)
Link: https://github.com/openwrt/openwrt/pull/19940
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-09-04 23:55:53 +02:00
FUKAUMI NaokiandHauke Mehrtens 1ebda1b0fa rockchip: Add support for Radxa ROCK 4C+
The Radxa ROCK 4C+[1] is a single board computer with dual HDMI using
the Rockchip RK3399-T.

Hardware
--------

- Dual-core Cortex-A72 and quad-core Cortex-A53 CPU
- Mali-T860MP4 GPU
- LPDDR4 4GB RAM
- eMMC connector
- microSD card slot
- Wi-Fi 5 (not supported)
- Gigabit Ethernet with PoE support (additional PoE HAT required)
- USB 3.0 Type-A OTG port
- USB 3.0 Type-A HOST port
- 2x USB 2.0 Type-A HOST ports
- USB Type-C power port (5V only)
- 40 Pin GPIO header

[1] https://radxa.com/products/rock4/4cp

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

Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
Link: https://github.com/openwrt/openwrt/pull/17554
(cherry picked from commit 18925614c0)
Link: https://github.com/openwrt/openwrt/pull/19940
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-09-04 23:55:53 +02:00
Hauke Mehrtens 65269fd3fc mac80211: Fix build of rt2800soc
This fixes the following build problem:
```
/drivers/net/wireless/ralink/rt2x00/rt2800soc.c:276:27: error: initialization of 'int (*)(struct platform_device *)' from incompatible pointer type 'void (*)(struct platform_device *)' [-Werror=incompatible-pointer-types]
  276 |         .remove         = rt2x00soc_remove,
      |                           ^~~~~~~~~~~~~~~~
```

Fixes: b4b9288f2a ("mac80211: Update to 6.12.44")
Link: https://github.com/openwrt/openwrt/pull/19946
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-09-04 12:08:06 +02:00
David Bauer c46cccde28 uqmi: update to latest HEAD
7914da4 uqmi: extend wda-get-data-format
7aef645 wda: add option for enabling flow-control
f74ddb3 wds: implement retrieval of profile list
6be8b6e wds: implement selection of LTE attach PDNs
21c4aaa wds: implement selection of default profile
5c844c0 wds: implement profile deletion
0756755 wds: reduce code duplication
283fbe0 data: add downlink padding option
4b90804 wda: allow agggregation parameter configuration
c20c017 uqmi: enable binding WDS sessions to QMAP multiplex
a1b37fe uqmi: fix whitespace errors

Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit 1df3d0c4b8)
2025-09-03 12:17:02 +02:00
David Bauer e32ee37fda uqmi: update to latest HEAD
a933061 uqmi nas: fix incorrect parameter order

Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit 9099721fb4)
2025-09-03 12:16:56 +02:00
Hauke Mehrtens b4b9288f2a mac80211: Update to 6.12.44
Updates backports to kernel version 6.12.44. This includes many fixes
for normal and security bugs.

The removed patches were applied upstream and backported to kernel
6.12.44.

This is based on the same backports code as used for the old tar based
on kernel 6.12.6.

removed upstream patches:
ath11k/001-wifi-ath11k-Fix-DMA-buffer-allocation-to-resolve-SWIOTLB-issues.patch [1]
ath11k/002-wifi-ath11k-use-dma-alloc-noncoherent-for-rx-tid-buffer-allocation.patch [2]
rtl/050-wifi-rtlwifi-rtl8821ae-phy-restore-removed-code-to-f.patch [3]
subsys/400-v6.16-wifi-mac80211-do-not-offer-a-mesh-path-if-forwarding.patch [4]

Part of the following patch was merged upstream:
subsys/350-wifi-mac80211-Add-link-iteration-macro-for-link-data.patch [5]

[1]: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.12.y&id=b92c5179db4b19152c6492d1dfda457bff789272
[2]: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.12.y&id=115360031be90aa6cf11d718caf19fea94824285
[3]: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.12.y&id=411c7738669907b5e2288ee7a0396ec0980e58fc
[4]: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.12.y&id=4c43d2c649269e91a81cbc6b2d6b7c552d3eeb45
[5]: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.12.y&id=a4afc3d522ca03920fe14c2b95638237fb6edbd8

Link: https://github.com/openwrt/openwrt/pull/19920
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-09-02 23:37:28 +02:00
Donghyun KoandHauke Mehrtens faf4f1e49e mediatek: add factory image for ipTIME AX3000SM
Adds the capability to flash the factory image using the OEM recovery
software, ipTIME Firmware Wizard(11ac).

Installation
------------
1. Download the OEM recovery software from the manufacturer's website
2. Download the *squashfs-factory.bin file from the OpenWrt website
3. Press a reset button, and power up the router(keep pressing the reset button)
4. Wait more than 10 seconds until the CPU LED stop blinking
5. Connect the router(LAN port) to the PC
6. Run the OEM recovery software and follow the instructions
7. Select the *squashfs-factory.bin file during the router recovery process
8. Wait for the router to boot from *squashfs-factory.bin

Signed-off-by: Donghyun Ko <nyankosoftware@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19497
(cherry picked from commit 0e4a69e340)
Signed-off-by: Donghyun Ko <nyankosoftware@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19928
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-09-02 23:15:49 +02:00
Hauke Mehrtens 8b0eb9c91d kernel: Fix kernel regression in local-broadcast routes
Backport a patch from upstream kernel 6.17-rc4 which fixes a regression
introduced in the latest stable kernel versions.

This is already in the Linus stable queues for the next minor kernel
updates.

Fixes: 1c92e468d5 ("kernel: bump 6.6 to 6.6.103")
Fixes: f39c7e103f ("kernel: bump 6.12 to 6.12.43")
Reported-by: Goetz Goerisch <ggoerisch@gmail.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit c589fb7baf)
2025-09-02 23:12:52 +02:00
Goetz GoerischandHauke Mehrtens c676281e7e kernel: bump 6.6 to 6.6.103
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.103

removed upstream patches:
generic-backport/847-v6.17-Revert-leds-trigger-netdev-Configure-LED-blink-inter.patch [2]
bcm27xx/patches-6.6/950-0135-media-tc358743-Increase-FIFO-level-to-374.patch [4]
bcm27xx/patches-6.6/950-0137-media-tc358743-Check-I2C-succeeded-during-probe.patch [5]
bcm27xx/patches-6.6/950-0143-media-tc358743-Return-an-appropriate-colorspace-from.patch [6]
bcm27xx/patches-6.6/950-0237-media-i2c-tc358743-Only-allow-supported-pixel-fmts-i.patch [7]
bcm27xx/patches-6.6/950-0510-Allow-RESET_BRCMSTB-on-ARCH_BCM2835.patch [8]

update patch to upstream function change
bcm53x/patches-6.6/180-usb-xhci-add-support-for-performing-fake-doorbell.patch
changed function xhci_disable_and_free_slot() upstream [3]
lantiq/patches-6.6/0152-lantiq-VPE.patch [9]

All other patches auto-refreshed.

[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.103&id=c66caf21b1d0a0847adc34d368e3f6753a2cbd53
[3] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/drivers/usb/host?h=v6.6.103&id=e600de541c37f97482fea2a7a26f186141e7ddea
[4] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.6.y&id=1512ced62c8776707acf2123f7d02f56e80aa782
[5] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.6.y&id=5c809ef89e1ba2c3132e959382a3c22f0f62d5f9
[6] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.6.y&id=9b023149b97a08bd1c47fb4700381dffdad8c9b0
[7] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.103&id=9b023149b97a08bd1c47fb4700381dffdad8c9b0
[8] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/drivers/reset/Kconfig?id=f8818e29d268efc6b52d301cbb38405651a784cd
[9] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/arch/mips/include/asm/vpe.h?h=linux-6.6.y&id=7fe9533fb069013eafb862cefc60f7a9fb666615

Suggested-by: Leo Barsky <leobrsky@proton.me>
Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19898
(cherry picked from commit 1c92e468d5)
Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19924
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-09-02 23:09:49 +02:00
Tianling Shen 24b641b811 mediatek: update led gpio for tplink tl-7dr7230 v2
Co-developed-by: gns <infiwang@pm.me>
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit b07b2f597a)
2025-09-02 15:06:46 +08:00
gnsandTianling Shen 48a28170e6 arm-trusted-firmware-mediatek: add MT7988 BL2 DDR3 RAM image
Other than most boards with DDR3 the TP-Link 7DR7230 v2 cannot use
the "comb" DDR calibration option and needs only the "ddr3" option
set instead.

Build TF-A to boot with mtk_uartboot for MT7988 with DDR3 RAM.

Signed-off-by: gns <infiwang@pm.me>
(cherry picked from commit fea5962755)
2025-09-02 15:06:42 +08:00
John CrispinandTianling Shen c80255d28d arm-trusted-firmware-mediatek: add MT7988 BL2 DDR4 images
Other than most boards with DDR4 the ASUS ZenWiFi BT8 cannot use the
"comb" DDR calibration option and needs only the "ddr4" option set
instead.

Build TF-A SPIM-NAND with UBI as well as to boot from RAM with
mtk_uartboot for MT7988 with DDR4 RAM.

Signed-off-by: John Crispin <john@phrozen.org>
(cherry picked from commit e17856c9ef)
2025-09-02 15:06:33 +08:00
Grzegorz SterniczukandHauke Mehrtens c77f2b442e rockchip: fix eMMC corruption on NanoPC-T6 with A3A444 chips
Some NanoPC-T6 boards with A3A444 eMMC chips experience I/O errors and
corruption when using HS400 mode. Downgrade to HS200 mode to ensure
stable operation.

Fixes: #18844
Signed-off-by: Grzegorz Sterniczuk <grzegorz@sternicz.uk>
Link: https://github.com/openwrt/openwrt/pull/19398
[Add patch header]
(cherry picked from commit c4586ceae8)
[Merge fixes into patch 121]
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/19926
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-09-01 23:23:23 +02:00
Hauke Mehrtens 2a2f1573a7 rpcd: update to git openwrt-24.10 branch HEAD
8b320f9 ucode: adjust for new ext resource type
 e61d2be sys: use strstr() to detect installed packages
 bba9519 rpc-sys: packagelist: don't truncate input lines on read

The removed patch was applied upstream.

Link: https://github.com/openwrt/openwrt/pull/19919
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-09-01 23:20:26 +02:00
Dim FishandTianling Shen 5b02ab553a uboot-mediatek: force update_cache_variants to use reset for Foresee NAND
Force update_cache_variantsvariants to use reset for Foresee NAND with bad blocks.

Tested on Xiaomi AX3000T + F35SQA001G with bad blocks and without bad blocks

Signed-off-by: Dim Fish <dimfish@gmail.com>
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
(cherry picked from commit 94f043bf87)
2025-09-01 18:40:16 +08:00
Shiji YangandTianling Shen 911ba0fddf uboot-mediatek: enable auto switch chip detect for Xiaomi AX3000T
The Xiaomi AX3000T has two hardware revisions. One uses MT7531
switch, and the other uses AN8855 switch. Set "mediatek,switch"
property to "auto" to be compatible with different switches.

Tested-by: Mikhail Zhilkin <csharper2005@gmail.com>
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
(cherry picked from commit b85c5f6817)
2025-09-01 18:40:06 +08:00
Shiji YangandTianling Shen 4a8b0505b0 uboot-mediatek: backport mtk_eth fixes from u-boot next
This patch series will provide better support for Mediatek
ethernet and add support for Airoha AN8855.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
(cherry picked from commit 24ade65ab5)
2025-09-01 18:40:00 +08:00
Tianling Shen b7711fb575 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-09-01 14:54:04 +08:00
Felix Fietkau 9de2da13bf kernel: mtk_eth_soc: fix tx vlan tag for llc packets
When sending llc packets with vlan tx offload, the hardware fails to
actually add the tag. Deal with this by fixing it up in software.

Fixes: https://github.com/openwrt/openwrt/issues/19916
Reported-by: Thibaut VARENE <hacks@slashdirt.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit f7d4036555)
2025-08-31 20:39:38 +02:00
Hauke Mehrtens af3a18db95 tools: firmware-utils: update to Git HEAD (2025-08-03)
3346d77 build: add mkqdimg
950f834 iptime-crc32: add support for ipTIME AX7800M-6E

(cherry picked from commit f0746741f8)
Signed-off-by: Donghyun Ko <nyankosoftware@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19915
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-08-31 19:12:02 +02:00
Hauke Mehrtens d9179345ea tools: firmware-utils: update to Git HEAD (2025-07-24)
075cdc0 iptime-crc32: add support for ipTIME AX3000Q
48ababa iptime-crc32: add support for ipTIME AX3000SM
f29de74 iptime-crc32: Add device support for ipTIME AX6000M

Link: https://github.com/openwrt/openwrt/pull/19520
(cherry picked from commit b087961ccb)
Signed-off-by: Donghyun Ko <nyankosoftware@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19915
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-08-31 19:12:02 +02:00
Markus StockhausenandHauke Mehrtens 4576d311f8 realtek: fix stall after restart of otto timer
Once tested this will go upstream.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/19468
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit f21475839f)
Signed-off-by: Felix Baumann <felix.bau@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/19891
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-08-31 19:08:04 +02:00
Markus StockhausenandHauke Mehrtens 203c9f063b realtek: avoid interrupt storm on mass packet receive
RTL83xx devices have two types of receive interrupts for each of its
8 rings. One for packet received and another for ring overflow. When
the switch is flooded with incoming packets the receive handler will
disable the packet receive notification but still keeps the overflow
notification enabled. While the receive path "slowly" processes the
received packets each new packet triggers the overflow IRQ again. The
device becomes unresponsive and eventually produces messages like:

[18441.709764] rcu: Stack dump where RCU GP kthread last ran:
[18441.727892] Sending NMI from CPU 1 to CPUs 0:
[18441.742300] NMI backtrace for cpu 0 skipped: idling at 0x8080e994
[18415.251700] rcu: INFO: rcu_sched detected stalls on CPUs/tasks:
[18415.271350] rcu:     0-...!: (0 ticks this GP) idle=d740/0/0x0 ...
[18415.303046] rcu:     (detected by 1, t=6004 jiffies, g=230925, ...
[18415.326095] Sending NMI from CPU 1 to CPUs 0:
[18415.340540] NMI backtrace for cpu 0

Fix this issue by always disabling receive and overflow interrupts at
the same time.

Test with hping3 --udp -p 5021 -d 1400 --flood 192.168.2.72

Before (3sec run):
[183260.324846] rtl838x-eth 1b00a300.ethernet eth0: RX buffer overrun: status 0x101, mask: 0x7ffeff
[183260.340524] rtl838x-eth 1b00a300.ethernet eth0: RX buffer overrun: status 0x1, mask: 0x7ffeff
[183260.345799] net_ratelimit: 489997 callbacks suppressed

After (3 sec run):
[  373.981479] rtl838x-eth 1b00a300.ethernet eth0: rx ring overrun: status 0x101, mask: 0x7fffff
[  374.031118] rtl838x-eth 1b00a300.ethernet eth0: rx ring overrun: status 0x101, mask: 0x7fffff
[  377.919996] net_ratelimit: 34 callbacks suppressed

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/19365
(cherry picked from commit 963ee6ac3f)
Signed-off-by: Felix Baumann <felix.bau@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/19891
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-08-31 19:08:04 +02:00
Igor DyatlovandHauke Mehrtens 3db4d8f23a ath79: add calibtation variant for Xiaomi AIoT AC2350
Add calibration variant and ipq-wifi package for Xiaomi AIoT AC2350

Signed-off-by: Igor Dyatlov <dyatlov.igor@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19707
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 664424aaeb)
Link: https://github.com/openwrt/openwrt/pull/19902
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-08-31 18:43:06 +02:00
Igor DyatlovandHauke Mehrtens 3180294897 ipq-wifi: add entry for Xiaomi AIoT AC2350
Add IPQ WiFi support for Xiaomi AIoT AC2350

Add board file suffixes .QCA9988/.qca9988.
These suffixes are mapped to QCA9984/hw1.0 path

Reference:
https://openwrt.org/toh/xiaomi/aiot_router_ac2350

Signed-off-by: Igor Dyatlov <dyatlov.igor@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19707
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit c42f05bf36)
Link: https://github.com/openwrt/openwrt/pull/19902
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-08-31 18:43:06 +02:00
Robert MarkoandHauke Mehrtens e6bb072af5 ipq-wifi: update to Git HEAD (2025-08-25)
a510502e7922 qca9988: add BDFs for Xiaomi AIoT Router AC2350

Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 30e20d8cb2)
Link: https://github.com/openwrt/openwrt/pull/19902
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-08-31 18:42:57 +02:00
Robert MarkoandHauke Mehrtens d247904482 ipq-wifi: update to Git HEAD (2025-08-12)
967cfe977926 qca9988: add BDFs for Xiaomi AIoT Router AC2350
6db497116709 qcn9274: update board file for 8devices Kiwi-DVK
7a161011d89d Add IPQ5018 and QCN9074 BDF for Yuncore AX850.
30b99fc9cc13 ipq6018: add jdcloud_re-ss-01 BDF

Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit f9a8a3636c)
Link: https://github.com/openwrt/openwrt/pull/19902
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-08-31 18:42:47 +02:00
Robert MarkoandHauke Mehrtens 8e5c83ca85 ipq-wifi: update to Git HEAD (2025-06-23)
63bd0faafd4a Add IPQ5018 BDF for Yuncore AX830.

Link: https://github.com/openwrt/openwrt/pull/18968
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 6716fbb122)
Link: https://github.com/openwrt/openwrt/pull/19902
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-08-31 18:42:38 +02:00
Daniel GolleandHauke Mehrtens c4ea5c0732 ipq-wifi: add BDF for IgniteNet SS-W2-AC2600
The IgniteNet SunSpot AC Wave2 comes with 2x QCA9994 ath10k chips
connected to the IPQ8068 SoC via PCIe.
Add board-2.bin for both radios on this board.

 3ac4a64 qca9984: add BDFs for IgniteNet SS-W2-AC2600

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit d8303b4721)
Link: https://github.com/openwrt/openwrt/pull/19902
[Do not add ignitenet_ss-w2-ac2600]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-08-31 18:41:55 +02:00
Robert MarkoandHauke Mehrtens 777d90a935 ipq-wifi: update to Git HEAD (2025-06-13)
5be4c60a9084 ipq5018: add BDF for Xiaomi AX6000
22588512b844 qcn9074: add BDF for Xiaomi AX6000
4810aacf3b1c qca9889: add BDF for Xiaomi AX6000

Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 17d7e0bf90)
Link: https://github.com/openwrt/openwrt/pull/19902
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-08-31 18:41:45 +02:00
Robert MarkoandHauke Mehrtens bd7ab1e9ce ipq-wifi: update to Git HEAD (2025-06-11)
79ba11f2da5e qca9888: add TP-Link WA1201 v2 BDF
abf47841e7e4 qca9988: add BDFs for Xiaomi AIoT Router AC2350
07af197b77fa qca9988: add BDFs for Xiaomi AIoT Router AC2350
61dbb1c3d694 ipq5018: add BDF for I-O DATA WN-DAX3000GR
1d8452d844b9 qcn6122: add BDF for I-O DATA WN-DAX3000GR

Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 12fd5e8f84)
Link: https://github.com/openwrt/openwrt/pull/19902
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-08-31 18:41:39 +02:00
Mathew McBrideandHauke Mehrtens 6ae235bcd0 armsr: remove 'console=tty1' from kernel command line
We have modified the kernel to setup all "default" consoles,
including serial ports and framebuffers/screens, providing
no console= argument is supplied on the kernel command line.

Adding 'console=tty1' caused the 'default' serial port on
device tree systems to break, as the kernel would not carry
over the settings (like baud rate) from the bootloader.

The system administrator can still force the use of a
specific console by adding their own console= arguments.

Signed-off-by: Mathew McBride <matt@traverse.com.au>
Fixes: c099523d66 ("armsr: use console=tty1 to make
console more readily available")
Link: https://github.com/openwrt/openwrt/pull/17012
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit bff179de73)
Link: https://github.com/openwrt/openwrt/pull/19894
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-08-31 18:30:08 +02:00
Mathew McBrideandHauke Mehrtens 20271bf505 armsr: add patch (hack) to enable all "default" consoles
A previous change added 'console=tty1' to the default kernel command
line on armsr, in order to ensure the framebuffer console is enabled
on systems capable of graphics output.

Unfortunately, this change broke boards that used device tree
(DT) firmware with serial consoles, as the serial console
specified by the system firmware (stdout-path) was no longer
setup by the kernel.

A bit of probing determined that the SPCR (serial port console
direction table) on ACPI systems was preventing Linux from setting
up a default framebuffer console on these systems (which is why
console=tty1 was added).

(The affected ACPI systems are usually VMs using QEMU's
'virt' machine and EDK2 firmware. The firmware on these systems
does not remove the SPCR when a screen is present)

So to ensure all possible systems are setup correctly, we modify
the kernel so all "default" console types (serial and screen)
are setup when no console= arguments are specified on the kernel
command line.

Signed-off-by: Mathew McBride <matt@traverse.com.au>
Fixes: c099523d66 ("use console=tty1 to make console more
readily available")
Link: https://github.com/openwrt/openwrt/pull/17012
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 3697022ce3)
Link: https://github.com/openwrt/openwrt/pull/19894
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-08-31 18:30:08 +02:00
Tianling Shen a36cb6db66 rockchip: increase emmc speed for ariaboard photonicat
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 862144f378)
2025-08-31 23:01:18 +08:00
Tianling Shen 09e95fb416 rockchip: add missing dma-names for ariaboard photonicat
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 22cffc0c76)
2025-08-31 23:01:18 +08:00
Tianling Shen 73ae0b7fc4 rockchip: use fixed ifname for ariaboard photonicat
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 524bbdff1c)
2025-08-31 23:01:17 +08:00
Tianling Shen 5fe84e3969 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-08-29 15:16:20 +08:00
Hauke Mehrtens a65ca44cb7 kernel: bump 6.6 to 6.6.102
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.102

Added backport to fix ipv6 breakage with the 6.12.42 release:
generic/backport-6.6/621-proc-fix-missing-pde_set_flags.patch[1]

All patches auto-refreshed.

1. https://lore.kernel.org/all/20250821105806.1453833-1-wangzijie1@honor.com

Link: https://github.com/openwrt/openwrt/pull/19876
(cherry picked from commit 34e1092e88)
Link: https://github.com/openwrt/openwrt/pull/19877
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-08-28 21:17:44 +02:00
Hauke Mehrtens 406489fd83 kernel: bump 6.6 to 6.6.101
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.101
All patches auto-refreshed.

Link: https://github.com/openwrt/openwrt/pull/19876
(cherry picked from commit 9fbbcd16f7)
Link: https://github.com/openwrt/openwrt/pull/19877
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-08-28 21:16:43 +02:00
Felix Fietkau 03fe596699 mac80211: extend connection monitoring for MLO
Required for latest mt76

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 6fbf6d0cfd)
2025-08-27 15:44:53 +02:00
Tianling Shen 4d760a9f6f r8152: Update to 2.20.1
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 056e1a84c2)
2025-08-27 20:06:34 +08:00
Felix Fietkau 64bbe71219 mt76: update to Git HEAD (2025-08-27)
5f61f34087c5 wifi: mt76: mt7996: fix crash on some tx status reports
d729307b5e8b mt76: mt7996: add missing null pointer check
fb22489fd738 wifi: mt76: do not add non-sta wcid entries to the poll list
fb7e0501b8f9 wifi: mt76: mt7996: add missing check for rx wcid entries
4cd64ad1283b wifi: mt76: mt7915: fix list corruption after hardware restart
ee538efba542 wifi: mt76: free pending offchannel tx frames on wcid cleanup
415b5a68878b wifi: mt76: fix list corruption
3ed2c4030d42 wifi: mt76: mt7925u: use connac3 tx aggr check in tx complete
a35af277873f wifi: mt76: mt7925: skip EHT MLD TLV on non-MLD and pass conn_state for sta_cmd
384d3a9bff2d wifi: mt76: mt7996: Use deflink for AMPDU rx reordering
9bae5f956e65 wifi: mt76: Remove dead code in mt76_scan_work
de1df8b888bd wifi: mt76: mt7996: Export MLO AP capabilities to mac80211

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 2760a08b40)
2025-08-27 13:34:30 +02:00
ZiMing MoandTianling Shen 49a0ca84a9 ppp: fix: get IPv6-PD fail while pppoe re-connect
Signed-off-by: ZiMing Mo <msylgj@immortalwrt.org>
(cherry picked from commit 9d852a05bd)
2025-08-27 13:32:13 +08:00
Tianling Shen 9a7e138293 uhttpd: disable listen https by default
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit e89eff0af5)
2025-08-27 13:31:40 +08:00
Felix Fietkau 5c37d1b9a7 udebug: update to Git HEAD (2025-08-24)
6e4ffe2c6657 ucode: add function for getting the number of entries in a snapshot
a62edd89255b ucode: add support for fetching kernel tracepoint events
edeb4d6dc690 udebug-cli: add support for streaming tracing data

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 78188ee2bc)
2025-08-26 19:22:13 +02:00
Felix Fietkau 3e0bcf3af7 udebug: update to Git HEAD (2025-08-17)
892647b81d30 ucode: add ferror() call to check for closed write file descriptor

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 899deae535)
2025-08-26 19:22:13 +02:00
Felix Fietkau c1a8e48f3b udebug: update to Git HEAD (2025-08-15)
3d953628bf17 udebugd: add support for setting an override config
93f6df0240e5 udebug-cli: add support for overriding config on the command line

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit c4e7b9b9b7)
2025-08-26 19:22:13 +02:00
Felix Fietkau 76eb96c875 wifi-scripts: fix reload handling with random macaddr
Allow initially generated MAC address to be preserved across reload

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 5bdb7a5990)
2025-08-26 11:54:52 +02:00
Tianling Shen 1c84725060 automount: remove CONFLICTS for ntfs-3g
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 504bbb152a)
2025-08-25 19:37:10 +08:00
Tianling Shen 6f90e1628a Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-08-24 22:02:41 +08:00
Hauke Mehrtens 6bf869db0f kernel: Remove patch for fixed bug
The problem was fixed in upstream kernel in a different way and the
change was backported to kernel 6.6 in the following change:
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.6.y&id=48e8791843206baf76827df1b6ee3cb88a2a17d8

The removed patch changes the endianness again and breaks the
functionality, use only the upstream code and remove our unneeded patch.

The 823-v6.12-0003-nvmem-layouts-add-U-Boot-env-layout.patch patch was
adapted in the kernel bump too. It moves the code with the fix now.

Fixes: 05d344cb2c ("kernel: bump 6.6 to 6.6.100")
Reported-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/19830
(cherry picked from commit 4cd256c72a)
Link: https://github.com/openwrt/openwrt/pull/19839
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-08-24 15:30:57 +02:00
Stefan DösingerandHauke Mehrtens c510f7e973 ramips: fix TP-Link mr600 radio partition offset
This makes 5ghz WiFi work out of the box on these devices, eliminating
the need to flash a magic blob to the radio partition.

This was found by user BulldozerBSG on the OpenWRT Forums:
https://forum.openwrt.org/t/tp-link-archer-mr600-exploration/65489/20
All credit belongs to them. I can confirm the correctness of the
findings. At least one other user (Iggy87100) confirmed them too.

Signed-off-by: Stefan Dösinger <stefandoesinger@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19790
(cherry picked from commit e7ed87b83b)
Link: https://github.com/openwrt/openwrt/pull/19839
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-08-24 15:30:57 +02:00
Felix GolatofskiandHauke Mehrtens 52ec0cbab8 ath79: fix LED GPIOs for COMFAST CF-EW71 v2
The vendor DTS defined incorrect GPIOs for the LEDs, which caused them
to not function properly. Initially, the WAN, WLAN LEDs appeared to
work, but further testing showed that they were non-functional.

This patch corrects the GPIO assignments in the DTS, restoring full LED
functionality including blinking, except the power LED which cannot be
software controlled.

Tested on a CF-EW71 v2 unit.

Fixes: ee3a6adc6c ("ath79: add support for Comfast CF-EW71 v2")
Signed-off-by: Felix Golatofski <git@xdfr.de>
Link: https://github.com/openwrt/openwrt/pull/19665
(cherry picked from commit 9ce23ac840)
Link: https://github.com/openwrt/openwrt/pull/19839
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-08-24 15:30:57 +02:00
Daniel GolleandHauke Mehrtens 7f68339963 kernel: add backport to fix broken PHY LEDs
A commit which broke netdev trigger LEDs offloaded to PHYs recently made
it all the way down to the Linux 6.6 stable branch. The revert has been
accepted to linux-next, however, a backport to the various -stable trees
is still pending.

Import the backported revert commit to fix in OpenWrt in the meantime
until the revert also gets picked to linux-stable.

Link: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=26f732791f2bcab18f59c61915bbe35225f30136
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit 1de1df1bea)
Link: https://github.com/openwrt/openwrt/pull/19839
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-08-24 15:30:57 +02:00
Karsten SperlingandHauke Mehrtens 2cffcdc7ae mbedtls: Expose MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED config option
This enables software that requires this cipher suite (e.g. OpenThread Border
Router) to be compiled against the shared library rather than a separate copy.

Signed-off-by: Karsten Sperling <ksperling@apple.com>
Link: https://github.com/openwrt/openwrt/pull/19489
(cherry picked from commit 97dc9f8dbf)
Link: https://github.com/openwrt/openwrt/pull/19839
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-08-24 15:30:57 +02:00
Hauke Mehrtens f894fa971b mediatek: Remove modules.builtin file
This file should be generated automatically at runtime by the kernel
build system.

Link: https://github.com/openwrt/openwrt/pull/19473
(cherry picked from commit e53c53b7d5)
Link: https://github.com/openwrt/openwrt/pull/19839
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-08-24 15:30:57 +02:00
Fengyu WuandHauke Mehrtens bf0887bd42 ca-certificates: Update to 20250419
upstream changelog:

[ Alexander Kanavin ]
* update-ca-certificates: add a --sysroot option

[ Julien Cristau ]
* Update Mozilla certificate authority bundle to version 2.74.
  The following certificate authorities were added (+):
  + D-TRUST BR Root CA 2 2023
  + D-TRUST EV Root CA 2 2023
  The following certificate authorities were removed (-):
  - Entrust Root Certification Authority - G4
  - SecureSign RootCA11
  - Security Communication RootCA3
  - SwissSign Silver CA - G2

Signed-off-by: Fengyu Wu <saldry@proton.me>
Link: https://github.com/openwrt/openwrt/pull/19462
(cherry picked from commit 8bf023da76)
Link: https://github.com/openwrt/openwrt/pull/19839
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-08-24 15:30:57 +02:00
Bradley M. KuhnandHauke Mehrtens fcaa4fdbbf Note inspiration for this script to give credit where it's due
There is some confusion in the Git log of this file.  Specifically,
the commit message on 7b7f1702 incorrectly indicates that there was
"potential fear" about copyright infringement.

Upon review of this situation, there is, in my opinion, no concern of
copyright infringement here.  This is not legal advice; it is my
opinion based of years of work on copyright policy for FOSS.

However, Elliott Mitchell's idea was obviously helpful as inspiration
in writing this script and deserves credit.  Ideas alone, however,
are not to my knowledge copyrightable anywhere in the world.

Signed-off-by: Bradley M. Kuhn <bkuhn@sfconservancy.org>
(cherry picked from commit d8e738e5c4)
Link: https://github.com/openwrt/openwrt/pull/19839
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-08-24 15:30:57 +02:00
Jan HoffmannandHauke Mehrtens ba7b5d23f6 ltq-adsl-mei: check status register before reading mailbox messages
The interrupt handler reads from the mailbox if no other reason for the
interrupt is known. If a spurious interrupt is received just after a
mailbox message has been sent, this means that the response to the
previous message is read again and returned by DSL_BSP_SendCMV instead
of the actual response.

To fix this, check the status register before reading from the mailbox
in the interrupt handler.

Tested on Fritzbox 7320. Without this change, there is occasionally a
kernel panic due to an out-of-bounds memory access in the ltq-adsl
driver (in DSL_DRV_DEV_G997_SnrAllocationNscGet), as a result of an
incorrect value returned by DSL_DRV_DANUBE_CmvRead. This is reproducible
by calling "dsl_cpe_pipe.sh g997dsnrg 1 1" multiple times.

Signed-off-by: Jan Hoffmann <jan@3e8.eu>
Link: https://github.com/openwrt/openwrt/pull/19385
(cherry picked from commit 6889ea7b9a)
Link: https://github.com/openwrt/openwrt/pull/19839
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-08-24 15:30:57 +02:00
Tianling Shen cd610bea67 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-08-22 20:59:14 +08:00
Shiji YangandHauke Mehrtens e627539601 ipq40xx: dts: reduce the maximum SPI clock frequency to 24MHz
The IPQ4019 datasheet indicates that the maximum supported SPI
frequency is 25 MHz. My experiment on SKSpruce WIA3300-20 shows
that exceeding this threshold can lead to instability of SPI
peripheral. Limit the SPI clock frequency to the QSDK recommended
value 24MHz to enhance stability.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/19744
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 3ff8a3dca8)
Link: https://github.com/openwrt/openwrt/pull/19796
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-08-21 22:57:20 +02:00
Jiasheng ZhuandHauke Mehrtens 191d738469 mediatek: add support for OpenFi 6C
PR of openwrt:main: https://github.com/openwrt/openwrt/pull/19512

OpenFi 6C is a portable Wi-Fi 6 travel router based on MediaTek MT7981B+MT7976CN.

Two slightly different versions have been sold. The V1 board has a green color and lacks the modem LED. The V2 board is black and has a LED for the modem.

Specifications:
- SoC: MediaTek MT7981B (Filogic 820) 1.3GHz dual-core ARM Cortex-A53
- RAM: 1GB DDR4
- Flash: 256MB SPI NAND
- Wireless: 2.4GHz/5GHz 802.11ax
- Ethernet: 1x 10/100/1000M LAN
- USB: 1x USB 3.0 Type-A port
- Expansion: M.2 slot for 5G modem
- Cooling: PWM-controlled fan
- Buttons: Reset, Mode switch
- LEDs: System, Ethernet, 5G WiFi, Modem status

**Installation via U-Boot web page**

1. Set static IP 192.168.21.2/255.255.255.0 on your computer.
2. Connect to the Ethernet port and hold the reset button while booting the device. Wait for 6-8 seconds, and release the reset button.
3. Open U-boot web page on your browser at http://192.168.21.1
4. Select the OpenWRT sysupgrade image, upload it, and start the upgrade.
5. Wait for automatic reboot.

**Installation via sysupgrade**

Flash the sysupgrade file via LuCI upgrade page without saving the settings.

Signed-off-by: Jiasheng Zhu <newbanyaya@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19512
(cherry picked from commit 536a25ebf8)
Link: https://github.com/openwrt/openwrt/pull/19536
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-08-21 22:52:43 +02:00
Mateusz KrzakandHauke Mehrtens 124f61eddb mediatek: filogic: D-Link M30/M60: include initramfs in recovery
Currently, if OEM recovery flashes OpenWrt to second ubi1,
OpenWrt cannot boot. With this commit, recovery image is built
with initramfs kernel, so that it can boot from either ubi or ubi1.

This adds an extra step to OpenWrt installation from OEM:
user needs to sysupgrade from initramfs to full system.

Signed-off-by: Mateusz Krzak <kszaquitto+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18878
(cherry picked from commit 6615c8cfc8)
Signed-off-by: Mateusz Krzak <kszaquitto+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19595
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-08-21 22:48:48 +02:00
Coia PrantandHauke Mehrtens 05db6b3c5a ramips: add support for Hongdian H7920 v40
This is an industrial 4G router equipped with OpenWrt SNAPSHOT OEM
customized version

WARNING: The original firmware device tree is modified from evb
boards, and the device tree name is evb board. This submitted device
tree is a modified version, which deletes the non-this-device parts
and adds GPIO watchdog.

Specification:
- SoC: MediaTek MT7628NN
- Flash: 16 MB
- RAM: 128 MB
- Power: DC 5V-36V 1.5A
- Ethernet: 1x WAN [slot not install], 1x LAN (10/100 Mbps)
- Wireless radio: 802.11n 2.4g-only [antenna not install]
- LED:
  System/Power (RUN): GPIO/37 active-low
  Modem: GPIO/3 active-low
  RF (Modem Signal): GPIO/2 active-low
- Button:
  WPS / RESET: GPIO/11 active-low
- UART: 1x UART on PCB - 115200 8N1
- Serial / COM: 1X RS232/RS485 on board (GPIO/6 hi:RS485 lo:RS232)
- GPIO Watchdog: GPIO/0 mode=toggle timeout=1s
- Modem: 1x Built-in modem on board (Power: GPIO/4 active-high)
- PCIe: 1x miniPCIe for modem [slot not install]
- SIM Slots: 1x SIM Slots

Issue:
- Factory partition not store mac address on original firmware

Flash instruction:
Using SSH/Telnet:
1. Connect the board to the computer via RJ45 Ethernet
2. Login 192.168.8.1 with root password "superzxmn" (SSH Port 22, Telnet Port 5188)
3. Download openwrt firmware on the computer.
4. Use scp or sftp put firmware to board /tmp
5. Use command "mtd -r write openwrt-ramips-mt76x8-hongdian_h7920-v40-squashfs-sysupgrade.bin firmware"
   to flash

Original Firmware Dump / More details:
https://blog.gov.cooking/archives/research-hongdian-h7920-v40-and-flash.html

Signed-off-by: Coia Prant <coiaprant@gmail.com>
Tested-by: Coia Prant <coiaprant@gmail.com>
(cherry picked from commit ebee946227)
Link: https://github.com/openwrt/openwrt/pull/19716
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-08-21 22:43:43 +02:00
Christian Marangi 97a75a72e3 generic: backport some flow offload helper patch
Backport some flow offload helper patch in preparation for Airoha Flow
Offload support.

Link: https://github.com/openwrt/openwrt/pull/18166
(cherry picked from commit 34ba7e8a8a)
[ drop merged patch 705-v6.12-netdevice-add-netdev... ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-08-21 17:06:50 +02:00
Christian Marangi d12f30f760 airoha: backport upstream patch for Flow Offload support for AN7581
Backpot upstream patch for Flow Offload support for AN7581 and refresh
all affected patch. To correctly work a dedicated firmware is needed to
use the dedicated Network Coprocessor (NPU).

This also introduce good cleanup and moves the driver in a dedicated
Airoha directory. While currently not totally usable (due to lack of
firmware blob) this is needed to backport support for external PHY/SFP
support.

Refresh all affected patch.

Tested-by: Aleksander Jan Bajkowski <olek2@wp.pl> # tested on Quantum W1700k
Tested-by: Andrew LaMarche <andrewjlamarche@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18166
(cherry picked from commit ad2077165b)
[ refresh patches ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-08-20 08:47:47 +02:00
Christian Marangi 62cee22812 airoha: backport minor fixes for ethernet driver
Backport some upstream patch for Airoha ethernet driver in preparation
for Flow Offload support.

Tested-by: Aleksander Jan Bajkowski <olek2@wp.pl> # tested on Quantum W1700k
Tested-by: Andrew LaMarche <andrewjlamarche@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18166
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit afea8bda0d)
2025-08-20 08:43:36 +02:00
Christian Marangi 30bd948a1c airoha: replace PCIe patch with upstream version
Replace PCIe patch with upstream version and update DTS with new PBUS
CSR property now required.

Tested-by: Aleksander Jan Bajkowski <olek2@wp.pl> # tested on Quantum W1700k
Tested-by: Andrew LaMarche <andrewjlamarche@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18166
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 921d438564)
2025-08-20 08:43:29 +02:00
Rosen PenevandChristian Marangi 1c81724718 airoha: pwm: use devm
Removes the need for a remove function in platform_device.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18660
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit aa4c96b925)
2025-08-20 08:43:18 +02:00
Christian Marangi 1fef2116ac airoha: drop MTD Airoha parser patch
Drop Airoha MTD parser patch as a better solution was agreed with a
fixed partition table.

Tested-by: Aleksander Jan Bajkowski <olek2@wp.pl> # tested on Quantum W1700k
Link: https://github.com/openwrt/openwrt/pull/18112
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 90dee1ab30)
2025-08-20 08:42:49 +02:00
Tianling Shen b66313ba30 uboot-mediatek: sync gigadevice spi-nand support from master
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-08-18 20:15:50 +08:00
Tianling Shen a5a4e92e43 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-08-15 17:20:41 +08:00
Stefan DösingerandFelix Fietkau 92d4f59709 kernel: fix Mediatek queue size patch
This got added in commit 15887235, cherry-picked into the 24.10 branch
as 642b5b61 and was partially lost in a manual patch refresh in
3a2a2c99.

The main branch still contains the full set of rx DMA size changes, so I
assume it was lost by accident.

With rx.dma_size=2K, my TP-Link Archer MR600v2 (MT7621) randomly reboots
due to OOM.

Signed-off-by: Stefan Dösinger <stefandoesinger@gmail.com>
2025-08-15 10:46:13 +02:00
Tianling Shen d7427746a4 uboot-mediatek: update build target for cmcc rax3000me
Fixes: 0b604e75e8 ("mediatek: add bl2 and fip for cmcc rax3000me WS EC version")
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit c09678e63d)
2025-08-14 20:31:53 +08:00
Tianling Shen 0b604e75e8 mediatek: add bl2 and fip for cmcc rax3000me WS EC version
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 60ddc788e2)
2025-08-14 20:23:49 +08:00
Tianling Shen 0d85e7d3be Revert "mediatek: rename uboot for cmcc rax3000me"
This reverts commit bb1ada4c61.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit a44ad1ac82)
2025-08-14 20:21:33 +08:00
Tianling Shen a206f7c041 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-08-14 19:51:30 +08:00
Felix Fietkau faf168ffc9 mt76: update to Git HEAD (2025-08-13)
3e25f2bc33af wifi: mt76: mt7925: introduce MLO capability control
ce3622257026 wifi: mt76: mt7925: fix fails to enter low power mode in suspend state
dfdb8e975718 wifi: mt76: mt7915: fix possible integer overflows in mt7915_muru_stats_show()
29f0ad5a439a wifi: mt76: mt7925: ensure wow pattern command align fw format
5eab65bb5473 wifi: mt76: mt7925: fix country count limitation for CLC
d6a197dbc9a2 wifi: mt76: Add check for devm_kstrdup()
901492c4621a wifi: mt76: mt7925: Remove unnecessary if-check
24062ce4fa0f wifi: mt76: mt7925: Simplify HIF suspend handling to avoid suspend fail
56c0beddbed8 wifi: mt76: mt7921: fix kernel panic due to null pointer dereference
11bacfcce3b9 Revert "wifi: mt76: mt7925: Update mt7925_mcu_uni_[tx,rx]_ba for MLO"
2823c50b1c15 wifi: mt76: mt7925: fix the wrong link_idx when has p2p_device
f54ff3cabab6 wifi: mt76: mt7925: fix the wrong simultaneous cap for MLO
aa7d366ccf40 wifi: mt76: mt7925: adjust rm BSS flow to prevent next connection failure
d25359e8bb83 wifi: mt76: mt7925: integrate *mlo_sta_cmd and *sta_cmd
25a0285d8ee3 wifi: mt76: mt7925: update the power-saving flow
5910f0806c05 wifi: mt76: mt7925: load the appropriate CLC data based on hardware type
454a69cbb718 wifi: mt76: mt7925: add EHT control support based on the CLC data
bdc09b8f2321 wifi: mt76: mt7925: update the channel usage when the regd domain changed
772dcb4b4e61 wifi: mt76: mt7925: remove unused acpi function for clc
b94b025490ef wifi: mt76: mt792x: extend MTCL of APCI to version3 for EHT control
9ff2afce5fef wifi: mt76: mt7925: add MTCL support to enhance the regulatory compliance
f11807364258 wifi: mt76: add mt76_get_power_bound helper function
ffd1cbfc485e wifi: mt76: mt7921: fix returned txpower
687e2fdfbf40 wifi: mt76: mt7925: fix returned txpower
43aaa62fbc55 wifi: mt76: mt7915: cleanup mt7915_get_power_bound
a4be3fc9ed4b wifi: mt76: mt7996: cleanup mt7996_get_power_bound
0ba7a69f8927 wifi: mt76: move napi_enable() from under BH
1b370c689a2f wifi: mt76: mt7921: avoid undesired changes of the preset regulatory domain
e931cecc45de mt76: mt792x: fix unused variable warning
539e7e711a15 Revert "wifi: mt76: mt7925: fix returned txpower"
67c724cc60b1 Revert "wifi: mt76: mt7921: fix returned txpower"
52f51a398e7e wifi: mt76: mt7996: Add change_vif_links stub
b3b61abd733f wifi: mt76: mt7996: Introduce mt7996_sta_link container
915938e83c35 wifi: mt76: mt7996: Add mt7996_sta_link struct in mt7996_vif_link
3e06380a43a4 wifi: mt76: mt7996: Add vif_cfg_changed callback
f419c62e9198 wifi: mt76: mt7996: Add link_info_changed callback
3082c9edbe35 wifi: mt76: mt7996: Add mt7996_sta_state routine
46e20e5d7455 wifi: mt76: mt7996: Rely on mt7996_sta_link in sta_add/sta_remove callbacks
1de180821525 wifi: mt76: mt7996: Add mt7996_mac_sta_change_links callback
2efb26f1fc10 wifi: mt76: mt7996: Support MLO in mt7996_mac_sta_event()
2e249744bc12 wifi: mt76: Check link_conf pointer in mt76_connac_mcu_sta_basic_tlv()
0eee20d3e388 wifi: mt76: mt7996: Update mt7996_mcu_add_sta to MLO support
200ce414fe61 wifi: mt76: mt7996: Rely on mt7996_vif_link in mt7996_mcu_twt_agrt_update signature
d195324131ba wifi: mt76: mt7996: Rely on mt7996_vif/sta_link in twt teardown
7757e7c140f7 wifi: mac80211: call rate_control_rate_update() for link STA
a3b651aeb551 wifi: mt76: mt7996: Update mt7996_mcu_add_rate_ctrl to MLO
2a005953dc49 wifi: mt76: mt7996: Add mt7996_mcu_sta_mld_setup_tlv() and mt7996_mcu_sta_eht_mld_tlv()
58e8b71782fc wifi: mt76: mt7996: Add mt7996_mcu_teardown_mld_sta rouine
e0b422f2acaf wifi: mt76: mt7996: rework mt7996_mac_write_txwi() for MLO support
21aa0c288470 wifi: mt76: mt7996: Rely on wcid_to_sta in mt7996_mac_add_txs_skb()
87c437fa8b43 wifi: mt76: mt7996: rework mt7996_rx_get_wcid to support MLO
9b4de3ce7fc7 wifi: mt76: mt7996: rework mt7996_sta_set_4addr and mt7996_sta_set_decap_offload to support MLO
a369b0c14d25 wifi: mt76: mt7996: Add mt7996_sta_link to mt7996_mcu_add_bss_info signature
9c6ec015afbb wifi: mt76: mt7996: rework mt7996_set_hw_key to support MLO
60967d28a5e0 wifi: mt76: mt7996: rework mt7996_sta_hw_queue_read to support MLO
3668d57795e3 wifi: mt76: mt7996: remove mt7996_mac_enable_rtscts()
275e6a681bac wifi: mt76: mt7996: rework mt7996_mac_sta_rc_work to support MLO
057822770ca5 wifi: mt76: mt7996: rework mt7996_mac_sta_poll to support MLO
b9682a51c109 wifi: mt76: mt7996: rework mt7996_update_mu_group to support MLO
d1a5a0afa6d6 wifi: mt76: mt7996: rework mt7996_net_fill_forward_path to support MLO
56529041b364 wifi: mt76: mt7996: rework mt7996_mcu_add_obss_spr to support MLO
c788d5748dc8 wifi: mt76: mt7996: rework mt7996_mcu_beacon_inband_discov to support MLO
974e6c2df98b wifi: mt76: mt7996: set vif default link_id adding/removing vif links
70717b761af2 wifi: mt76: mt7996: rework set/get_tsf callabcks to support MLO
d01b9d300eaa wifi: mt76: mt7996: rework mt7996_ampdu_action to support MLO
d5cddf65f7a7 wifi: mt76: mt7996: Update mt7996_tx to MLO support
a1ed21a66913 wifi: mt76: mt792x: re-register CHANCTX_STA_CSA only for the mt7921 series
a826fc287483 wifi: mt76: mt7925: update MLO cleanup flow during disconnection
0994f0af632e wifi: mt76: mt7925: fix the incomplete revert of [tx,rx]_ba for MLO
5169d4e8669b wifi: mt76: mt76x2u: add TP-Link TL-WDN6200 ID to device table
46f3a10a9f0f mt76: mt7925: sync with upstream cleanups
de635e1e3adc wifi: mt76: mt7996: fix locking in mt7996_mac_sta_rc_work()
63a4edf1cb74 wifi: mt76: mt7996: add macros for pci decive id
a2dd2f7896f7 wifi: mt76: connac: add support to load firmware for mt7990
3908cf04aa39 wifi: mt76: mt7996: rework WA mcu command for mt7990
6243414a4e80 wifi: mt76: mt7996: rework DMA configuration for mt7990
a8def214d736 wifi: mt76: mt7996: rework register mapping for mt7990
51db7a2d57f6 wifi: mt76: mt7996: add eeprom support for mt7990
d0799f3303e9 wifi: mt76: mt7996: adjust HW capabilities for mt7990
10c3ea97a86d wifi: mt76: connac: rework TX descriptor and TX free for mt7990
bc588ac3d104 wifi: mt76: mt7996: rework background radar check for mt7990
f8c3dd3677dd wifi: mt76: mt7996: add PCI device id for mt7990
3cec186474c4 wifi: mt76: mt7915: set correct background radar capability
9bacdb2bf2c3 wifi: mt76: mt7915: rework radar HWRDD idx
a19543c7e05e wifi: mt76: mt7996: rework radar HWRDD idx
b0cf33e76a3a wifi: mt76: mt7925: Fix logical vs bitwise typo
0433adc883c9 wifi: mt76: mt7925: add EHT preamble puncturing
be28ef77e330 wifi: mt76: mt7996: Add NULL check in mt7996_thermal_init
55218e636092 Revert "wifi: mt76: mt7996: fill txd by host driver"
fdfe9eca6401 wifi: mt76: disable napi on driver removal
d7a070e11de4 wifi: mt76: mt7925: fix missing hdr_trans_tlv command for broadcast wtbl
29363a669195 wifi: mt76: mt7996: prevent uninit return in mt7996_mac_sta_add_links
e285cb42be03 wifi: mt76: Remove an unneeded local variable in mt76x02_dma_init()
3dee73c357cf wifi: mt76x2: Add support for LiteOn WN4516R,WN4519R
73f9582f92b6 wifi: mt76: mt7925: introduce thermal protection
cf8522c5eea8 wifi: mt76: mt7925: fix host interrupt register initialization
8a24527e6c63 wifi: mt76: mt7921: add 160 MHz AP for mt7922 device
d0ef73122e8b wifi: mt76: mt7996: avoid NULL pointer dereference in mt7996_set_monitor()
7fdbe4cb5c8d wifi: mt76: mt7996: avoid null deref in mt7996_stop_phy()
925d156dab3d wifi: mt76: mt7996: fix uninitialized symbol warning
a403590fd464 Revert "wifi: mt76: Check link_conf pointer in mt76_connac_mcu_sta_basic_tlv()"
ca76c1bcede4 wifi: mt76: mt7996: remove duplicate check in mt7996_mcu_sta_mld_setup_tlv()
b70a4a619538 wifi: mt76: scan: Fix 'mlink' dereferenced before IS_ERR_OR_NULL check
2247afffc734 wifi: mt76: add mt76_connac_mcu_build_rnr_scan_param routine
460aa7da0ef6 wifi: mt76: mt7925: add RNR scan support for 6GHz
a68584ddf98e wifi: mt76: mt7996: Fix null-ptr-deref in mt7996_mmio_wed_init()
025c1d19b55a wifi: mt76: mt7915: Fix null-ptr-deref in mt7915_mmio_wed_init()
c20015bdc88b wifi: mt76: mt7925: prevent multiple scan commands
832387a1f876 wifi: mt76: mt7925: refine the sniffer commnad
7bf6a2914a54 wifi: mt76: mt7925: ensure all MCU commands wait for response
1bd4dbd48281 wifi: mt76: mt7925: extend MCU support for testmode
0ca6ed4e2724 wifi: mt76: mt7925: add test mode support
a2838480f805 wifi: mt76: remove capability of partial bandwidth UL MU-MIMO
1865f5ea80ea wifi: mt76: mt7996: fix beamformee SS field
3bda39f1465e wifi: mt76: mt7996: set EHT max ampdu length capability
7d30840e5b21 wifi: mt76: mt7996: drop fragments with multicast or broadcast RA
bf22595a1d8a wifi: mt76: mt7996: fix invalid NSS setting when TX path differs from NSS
b9f01d7c368c wifi: mt76: mt7996: change max beacon size
8808d7c4eed7 wifi: mt76: mt7996: fix RX buffer size of MCU event
36e0b90e47ff wifi: mt76: fix available_antennas setting
da2c23bec426 wifi: mt76: support power delta calculation for 5 TX paths
3e161d0cf3c7 wifi: mt76: mt7925: add rfkill_poll for hardware rfkill
ee6dac9b6b76 wifi: mt76: mt7915: mcu: increase eeprom command timeout
0534761b76e1 wifi: mt76: mt7915: mcu: lower default timeout
79dd14f2e816 wifi: mt76: mt7915: mcu: re-init MCU before loading FW patch
f2943046881d wifi: mt76: Assume __mt76_connac_mcu_alloc_sta_req runs in atomic context
656eb209ec42 wifi: mt76: Move RCU section in mt7996_mcu_set_fixed_field()
4f47d90943a3 wifi: mt76: Move RCU section in mt7996_mcu_add_rate_ctrl_fixed()
189532e383c1 wifi: mt76: Move RCU section in mt7996_mcu_add_rate_ctrl()
5603bd03d56a wifi: mt76: Remove RCU section in mt7996_mac_sta_rc_work()
ca24f0794e94 wifi: mt76: mt7925: fix the wrong config for tx interrupt
63f18baa5bb6 wifi: mt76: mt7925: fix invalid array index in ssid assignment during hw scan
4bdc4c5f26e0 wifi: mt76: mt7925: fix incorrect scan probe IE handling for hw_scan
321ae47a7439 wifi: mt76: mt7925: fix off by one in mt7925_mcu_hw_scan()
3699df4e85ec wifi: mt76: mt7925: prevent NULL pointer dereference in mt7925_sta_set_decap_offload()
a17fbd3d8598 wifi: mt76: mt7921: prevent decap offload config before STA initialization
6df761e0e6c7 mt76: fix signature of platform_driver remove funtions for newer kernels
5724be1a6b12 wifi: mt76: Replace strlcpy() with strscpy()
c4a114e2b8c9 wifi: mt76: fix queue assignment for deauth packets
243e572d89fc wifi: mt76: add a wrapper for wcid access with validation
e41c7785589f wifi: mac80211: get tx power per link
d70f62b8f1c7 wifi: mt76: fix vif link allocation
7b3cd3274a24 wifi: mt76: mt7996: Fix secondary link lookup in mt7996_mcu_sta_mld_setup_tlv()
cf89b6218043 wifi: mt76: mt7996: Rely on for_each_sta_active_link() in mt7996_mcu_sta_mld_setup_tlv()
d71108eedab1 wifi: mt76: mt7996: Do not set wcid.sta to 1 in mt7996_mac_sta_event()
32f8c5849ed1 wifi: mt76: mt7996: Fix mlink lookup in mt7996_tx_prepare_skb
ffff9f71e29d wifi: mt76: mt7996: Fix possible OOB access in mt7996_tx()
afe63e758196 wifi: mt76: mt7996: Fix valid_links bitmask in mt7996_mac_sta_{add,remove}
68dd28b99dad wifi: mt76: mt7996: Add MLO support to mt7996_tx_check_aggr()
293778652452 wifi: mt76: mt7996: Move num_sta accounting in mt7996_mac_sta_{add,remove}_links
a94166b21e20 wifi: mt76: Get rid of dma_sync_single_for_device() for MMIO devices
87873d854e51 wifi: mt76: mt7925: Fix null-ptr-deref in mt7925_thermal_init()
06ba3d5e91f4 wifi: mt76: mt792x: Limit the concurrent STA and SoftAP to operate on the same channel
b9f4e0df317d wifi: mt76: mt792x: improve monitor interface handling
ec95319fd3fb wifi: mt76: mt7921s: Introduce SDIO WiFi/BT combo module card reset
dd2d862251cb firmware: add missing mt7990 eeprom files
05eaa56bc7a4 firmware: update mt7992 firmware to 20250328
32ca2b6db354 firmware: update mt7996 firmware to 20250328
00275548ba8f wifi: mt76: mt7996: Overwrite unspecified link_id in mt7996_tx()
2601bb91e078 wifi: mt76: mt7996: Fix mt7996_mcu_sta_ba wcid configuration
110ecc331123 wifi: mt76: mt7996: Fix mt7996_mcu_bss_mld_tlv routine
449a1aca9f72 wifi: mt76: mt7996: Initialize hdr before passing to skb_put_data()
1de707e73fc7 wifi: mt76: mt7921: don't disconnect when CSA to DFS chan
fce683dbcfc9 wifi: mt76: mt7925: fix locking in mt7925_change_vif_links()
11f721bce235 wifi: mt76: mt7925: fix the wrong bss cleanup for SAP
b3613d9a317d wifi: mt76: mt7996: Set def_wcid pointer in mt7996_mac_sta_init_link()
d1a2900a390d wifi: mt76: mt7996: Set proper link destination address in mt7996_tx()
56990ce9289a wifi: mt76: mt7925u: Add VID/PID for Netgear A9000
e796542a0585 wifi: mt76: mt7925: add MBSSID support
e35e4f8fcf8a wifi: mt76: fix potential memory leak in mt76_wmac_probe()
aa2f13c3be79 wifi: mt76: mt7996: disable beacons when going offchannel
630e166c958d wifi: mt76: prevent non-offchannel mgmt tx during scan/roc
d3e7c2051aae wifi: mt76: mt7996: use the correct vif link for scanning/roc
903a7e0ace79 wifi: mt76: mt7921: add MBSSID support

Sync with commit 4010984db9

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-08-13 17:33:08 +02:00
Rosen PenevandRobert Marko 9d193d9b65 mpc85xx: tl-wdr4900: add back 5ghz LED
In the conversion to dts, qca,led-pin was used for both interfaces.
Unfortunately, it's mutually exclusive with gpio-controller which made
it not do anything.

Fixes: 949e1a0 ("mpc85xx: tl-wdr4900: move platform code to dts")

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19758
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit cc0ff28f23)
2025-08-13 09:58:03 +02:00
Christian KorberandRobert Marko 33728aa96c hostapd: fix logging of configuration content
This commit is an adoption of the fix for #14049 to
apply it for openwrt-24.10.

Signed-off-by: Christian Korber <ck@dev.tdt.de>
Link: https://github.com/openwrt/openwrt/pull/17718
Link: https://github.com/openwrt/openwrt/pull/19660
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-08-10 21:53:43 +02:00
Felix Fietkau b2116dbce4 rpcd: backport ucode fix
ucode: adjust for new ext resource type
ucv_resource_dataptr always returns null for resources with embedded data.

Fixes: https://github.com/openwrt/rpcd/issues/17
Fixes: https://github.com/openwrt/luci/issues/7878
Fixes: https://github.com/openwrt/openwrt/issues/19726
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-08-09 16:01:48 +02:00
Ondrej CiernyandTianling Shen f9d7bdcbf8 download: improve rawgit tar reliability
Packages that depend on rawgit can fail on systems with the tar UID
issue (https://bugzilla.redhat.com/show_bug.cgi?id=913406).
Fix this by adding tar flags to overwrite UID/GID, as in the
dl_tar_pack method.

Signed-off-by: Ondrej Cierny <o.cierny@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19243
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit d4d5fbd375)
2025-08-05 15:48:45 +08:00
Coia PrantandTianling Shen 902dbec6c9 rockchip: load ath10k_sdio module manually
The ath10k_sdio driver is no longer automatically loaded, which can cause `could not probe fw (-22)` errors.

Manually reload the driver after the system has finished loading using /etc/init.d/reload-sdio-wifi to resolve this issue.

Note: Do not use the automatic channel, as this may cause WiFi to not start.

Signed-off-by: Coia Prant <coiaprant@gmail.com>
(cherry picked from commit 893695dba0)
2025-08-02 17:27:02 +08:00
Tianling Shen ac4581d074 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-08-01 21:57:43 +08:00
Tianling Shen d406bc7fde bcm53xx: include automount for devices with usb port
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 24d1e86d51)
2025-07-30 18:03:05 +08:00
jinkela airandHauke Mehrtens 155eea44e7 mediatek: Ruijie RG-X60 Pro: Fix LAN port status light
Fix the status indicator light of the LAN port.

Signed-off-by: jinkela air <air_jinkela@163.com>
Link: https://github.com/openwrt/openwrt/pull/19135
(cherry picked from commit 1e00b92597)
Link: https://github.com/openwrt/openwrt/pull/19567
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-29 23:18:45 +02:00
Hauke Mehrtens 4941509f57 uhttpd: update to Git HEAD (2025-07-06)
b3e3c05 client: don't send stray EOF chunk on connection timeout
fad0d05 proc: inhibit chunked transfer encoding on existing TEs or known length
3d6f01b file: prevent writes beyond end of uh_buf on enumerating directories
c7294e7 client: reject requests with multiple content-lengths and/or TEs
7e64e8b client: Allow sending content in DONE state

uhttpd commit 3d6f01b fixes: CVE-2025-32108

Link: https://github.com/openwrt/openwrt/pull/19290
(cherry picked from commit efb4200ba5)
Link: https://github.com/openwrt/openwrt/pull/19563
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-28 23:23:50 +02:00
Hauke Mehrtens 4c1a6ecb44 kernel: Fix boot of amrsr target in qemu
The bootup of the armsr target sometimes failed like this:
```
[    0.762283] NET: Registered PF_INET6 protocol family
[    0.791987] workqueue: Failed to create a worker thread: -EAGAIN
[    0.801986] workqueue: Failed to create a rescuer kthread for wq "mld": -EAGAIN
[    0.964017] NET: Unregistered PF_INET6 protocol family
```

Increase the maximum number of threads the kernel allows.

Link: https://github.com/openwrt/openwrt/pull/19376
(cherry picked from commit c5330bdf7e)
Link: https://github.com/openwrt/openwrt/pull/19554
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-28 23:22:19 +02:00
Tomasz Maciej NowakandHauke Mehrtens 8ee468ff68 tegra: bring back workaround for spurious interrupts
Unfortunately they still apear with prolonged serial console usage.
While it's not common to use serial console past initial setup, alas
when the condition is hit the console is almost unusable.

Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
Link: https://patchwork.ozlabs.org/project/openwrt/patch/20250618170045.473711-2-tmn505@terefe.re/
(cherry picked from commit b8dea6056d)
Link: https://github.com/openwrt/openwrt/pull/19555
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-28 23:20:46 +02:00
Jan HoffmannandHauke Mehrtens ecb35b36fa ltq-*-app: correctly report downstream band borders
The direction needs to be included in the IOCTL call.

Fixes: b91d7d9d78 ("ltq-*-app: extend ubus metrics/statistics")
Signed-off-by: Jan Hoffmann <jan@3e8.eu>
Link: https://github.com/openwrt/openwrt/pull/19363
(cherry picked from commit b002cdd6a3)
Link: https://github.com/openwrt/openwrt/pull/19556
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-28 23:17:57 +02:00
Hauke Mehrtens 05a1a71530 toolchain: glibc: Update glibc 2.38 to recent HEAD
f510d75ff7 nscd: Use time_t for return type of addgetnetgrentX
5aa4bb67b9 resolv: Fix some unaligned accesses in resolver [BZ #30750]
249646f12b Force DT_RPATH for --enable-hardcoded-path-in-tests
697ab62d11 i386: Disable Intel Xeon Phi tests for GCC 15 and above (BZ 31782)
c8cb4d2b86 misc: Add support for Linux uio.h RWF_NOAPPEND flag
712453634c s390x: Fix segfault in wcsncmp [BZ #31934]
7bfc35959d nptl: fix potential merge of __rseq_* relro symbols
d9d019d674 elf: Make dl-rseq-symbols Linux only
bb30bd2162 Linux: Make __rseq_size useful for feature detection (bug 31965)
dc512364e8 resolv: Allow short error responses to match any query (bug 31890)
6cad0f543c resolv: Do not wait for non-existing second DNS response after error (bug 30081)
1bed6acf50 resolv: Track single-request fallback via _res._flags (bug 31476)
0301637b99 linux: Update the mremap C implementation [BZ #31968]
f0e2114535 mremap: Update manual entry
6bb75212e6 Add mremap tests
3ac7ba61d2 Update syscall lists for Linux 6.5
9184c13681 resolv: Fix tst-resolv-short-response for older GCC (bug 32042)
059f82c3b9 Fix name space violation in fortify wrappers (bug 32052)
c005d1bd6f x86: Fix bug in strchrnul-evex512 [BZ #32078]
28f358bc42 support: Add FAIL test failure helper
99ffa84bdc stdio-common: Add test for vfscanf with matches longer than INT_MAX [BZ #27650]
87a1968a72 Make tst-ungetc use libsupport
804d3c8db7 ungetc: Fix uninitialized read when putting into unused streams [BZ #27821]
b9f72bd5de ungetc: Fix backup buffer leak on program exit [BZ #27821]
15ca66303f posix: Use <support/check.h> facilities in tst-truncate and tst-truncate64
f30501ca75 nptl: Use <support/check.h> facilities in tst-setuid3
370be85892 libio: Attempt wide backup free only for non-legacy code
4dd8641461 Add crt1-2.0.o for glibc 2.0 compatibility tests
fa4ad10406 elf: Change ldconfig auxcache magic number (bug 32231)
9423cc5387 nptl: initialize rseq area prior to registration
37ded328c4 nptl: initialize cpu_id_start prior to rseq registration
cf06772360 x86: Avoid integer truncation with large cache sizes (bug 32470)
5c9be512ee x86_64: Sort fpu/multiarch/Makefile
49016f2190 x86_64: Add log2 with FMA
b2a45f1eee x86_64: Add expm1 with FMA
c92946d9b2 x86_64: Add log1p with FMA
58822f954f x86: Check the lower byte of EAX of CPUID leaf 2 [BZ #30643]
7772f9358c elf: Fix slow tls access after dlopen [BZ #19924]
5a64f93365 x86: Only align destination to 1x VEC_SIZE in memset 4x loop
0d14bf0754 sysdeps/x86/Makefile: Split and sort tests
dc1762113d x86_64: Fix missing wcsncat function definition without multiarch (x86-64-v4)
04b8d48432 x86: Improve large memset perf with non-temporal stores [RHEL-29312]
12fec8aae5 x86/string: Fixup alignment of main loop in str{n}cmp-evex [BZ #32212]
48642ef1a5 elf: Avoid some free (NULL) calls in _dl_update_slotinfo
549e7f7c5a elf: Support recursive use of dynamic TLS in interposed malloc
c32fd59314 Fix underallocation of abort_msg_s struct (CVE-2025-0395)
650a0aaaff stdlib: Test using setenv with updated environ [BZ #32588]
f984e2d7e8 assert: Add test for CVE-2025-0395
9ca74b8ad1 AArch64: Improve generic strlen
95aa21432c AArch64: Optimize memset
5fe151d86a AArch64: Remove zva_128 from memset
3de5112326 math: Improve layout of expf data
52c2b1556f AArch64: Add SVE memset
097299ffa9 AArch64: Use prefer_sve_ifuncs for SVE memset
5a08d049dc math: Improve layout of exp/exp10 data
3be3728df2 elf: Ignore LD_LIBRARY_PATH and debug env var for setuid for static
454f24e981 support: Use const char * argument in support_capture_subprogram_self_sgid
4335cd9b58 support: Add support_record_failure_barrier
31fa0f73e2 elf: Test case for bug 32976 (CVE-2025-4802)
ca41fe44a5 x86_64: Fix typo in ifunc-impl-list.c.
ca7e32d024 elf: Fix subprocess status handling for tst-dlopen-sgid (bug 32987)
81f58dd9b7 support: Pick group in support_capture_subprogram_self_sgid if UID == 0
5a6276d97a Fix error reporting (false negatives) in SGID tests
1a0d73a625 pthreads NPTL: lost wakeup fix 2
b5c4727e59 nptl: Update comments and indentation for new condvar implementation
1fa5e51897 nptl: Remove unnecessary catch-all-wake in condvar group switch
44eaf0615d nptl: Remove unnecessary quadruple check in pthread_cond_wait
7625579f11 nptl: Remove g_refs from condition variables
6bac834c5a nptl: Use a single loop in pthread_cond_wait instaed of a nested loop
5765653697 nptl: Fix indentation
8899e89b29 nptl: rename __condvar_quiesce_and_switch_g1
39a80f4035 nptl: Use all of g1_start and g_signals
51210d6496 nptl: PTHREAD_COND_INITIALIZER compatibility with pre-2.41 versions (bug 32786)
879f0ee122 malloc: add indirection for malloc(-like) functions in tests [BZ #32366]
a637f2c42f malloc: obscure calloc use in tst-calloc
21019afe65 malloc: cleanup casts in tst-calloc
6a52d5cab0 posix: Fix double-free after allocation failure in regcomp (bug 33185)

Link: https://github.com/openwrt/openwrt/pull/19551
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-27 19:47:26 +02:00
Hauke Mehrtens 7230ddb06b wireless-regdb: Update to version 2025.07.10
6953f19 wireless-regdb: Update regulatory info for Indonesia (ID) for 2025
2e8214e wireless-regdb: Permit 320 MHz bandwidth in 6 GHz band for GB
a94f685 wireless-regdb: Update regulatory info for Egypt (EG) for 2024
7628ce2 wireless-regdb: Update regulatory rules for Brazil (BR) on 6GHz
4411b39 wireless-regdb: Update regulatory info for Vietnam (VN) for 2025
490f136 wireless-regdb: Update regulatory info for Estonia (EE) for 2024
c56c663 wireless-regdb: update regulatory rules for Paraguay (PY) on 6 GHz for 2025
5a8ced5 wireless-regdb: Update regulatory info for CEPT countries for 6GHz listed by WiFi Alliance
5fd8ee3 wireless-regdb: update regulatory rules for Bosnia and Herzegovina (BA) for 6 GHz
e05260a wireless-regdb: update regulatory database based on preceding changes

Link: https://github.com/openwrt/openwrt/pull/19474
(cherry picked from commit 7fe06b7f56)
Link: https://github.com/openwrt/openwrt/pull/19538
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-27 19:46:13 +02:00
Petr ŠtetiarandHauke Mehrtens bfed41cc6a busybox: fix login applet on selinux
Currently the system boots up, but is unusable because pressing enter
does not provide login with error:

  login: can't get SID for root

This is happenning, because login.c passes the Linux username directly
to get_default_context(), while libselinux expects an SELinux user
identity, causing the call to fail for users without a matching SELinux
name (e.g., root) and aborting login on SELinux-enabled systems.

Fixes: #19075
Upstream-Status: Submitted [https://lists.busybox.net/pipermail/busybox/2025-April/091407.html]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Link: https://github.com/openwrt/openwrt/pull/19080
(cherry picked from commit 5809bfaaac)
Link: https://github.com/openwrt/openwrt/pull/19542
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-27 19:42:04 +02:00
Leo BarskyandHauke Mehrtens 254f6b2414 kernel: bump 6.6 to 6.6.100
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.100
Manually refreshed:
    823-v6.12-0003-nvmem-layouts-add-U-Boot-env-layout.patch
All other patches auto-refreshed.

Signed-off-by: Leo Barsky <leobrsky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/19514
(cherry picked from commit 05d344cb2c)
Co-authored-by: Goetz Goerisch <ggoerisch@gmail.com>
Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19533
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-27 19:40:40 +02:00
Tianling Shen 8d5e424812 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-07-27 17:33:08 +08:00
John AudiaandHauke Mehrtens 01bee440ad libxml2: update to 2.14.5
Release Notes:
    https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.7
    https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.8
    https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.14.3
    https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.14.4
    https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.14.5

Fixes:
CVE-2025-32415 CVE-2025-32414 CVE-2025-6170 CVE-2025-49794 CVE-2025-49795 CVE-2025-49796

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/19383
(cherry picked from commit c08c2d6eb3)
Link: https://github.com/openwrt/openwrt/pull/19486
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-26 23:43:53 +02:00
Tianling Shen 594ab12ff8 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-07-24 17:38:12 +08:00
David Bauer ac80abb085 wifi-scripts: correctly set basic-rates with wpa_supplicant
Correctly load the list of basic_rates from UCI. basic-rates shall be
stored as a option-list. The current code did not retrieve this list
correctly.

wpa_supplicant uses a different config option to set basic-rates
when operating in mesh-mode.

Use the correct config key and calculation for mesh-interfaces.

Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit a854d833ea)
2025-07-24 03:46:38 +02:00
Tianling Shen bafb7040e0 bzip2: opt out of lto build
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 06a9f13a1a)
2025-07-23 20:08:21 +08:00
Felix Fietkau 3bdd6d492e ucode: add padding to uc_resource_ext_t
Fixes misaligned allocations for ext resources

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 6c22e8ef53)
2025-07-23 12:19:14 +02:00
Felix Fietkau 39972c47eb ucode: update to Git HEAD (2025-07-18)
54b00e3b1fa9 ubus: fix double registry clear on disconnect
69521b55855c ubus: fix use-after-free on deferred request reply() method
f499de690c33 Merge pull request #298 from nbd168/ubus-fixes
22e8c16d9deb debug: fix crash when passing tagged string to getinfo()
2c9eea5174d6 ubus: use ucv_resource_create_ex for connections/channels
0a4cf4b7e71a ubus: use ucv_resource_create_ex for for ubus.request resources
99ee75a69cd3 ubus: use ucv_resource_create_ex for ubus.deferred resources
f085a42b977f ubus: use ucv_resource_create_ex for objects
94ad17d13a0d ubus: use ucv_resource_create_ex for ubus.notify resources
a3fa47fdda3e ubus: use ucv_resource_create_ex for ubus.listener resources
9ab5fa869dec ubus: use ucv_resource_create_ex for ubus.subscriber resources
43dd5716db84 Merge pull request #300 from nbd168/ubus-gc
be92ebd70633 CI: debian: install cmake package
fd202fd40bd1 socket: respect port argument in sockinst.connect()
767c209b917b socket: properly handle async `connect(2)` errors in socket.connect()
37ac8f112af6 socket: improve port argument validation in sockinst.connect()
5b3b6b789b9c ubus: fix refcount issue in uc_ubus_object_notify
cdcd50ad0408 Merge pull request #305 from nbd168/ubus-fix
f682ac2f6b82 program: add bytecode version to program header flags
af411d8101b2 vm: implement PVAL opcode
afdfffb61258 vm: support initiating method calls with I_CALL/I_QCALL opcodes
5d680425db40 compiler: stop emitting I_MCALL/I_QMCALL opcodes
a616feed39eb compiler, vm: rework optional chaining and function call semantics
d29ec45ab107 Merge pull request #306 from jow-/optional-chaining-short-circuiting
0946a4fb20b8 vm: adjust JMPNT opcode behavior
6f8291f73757 compiler: improve assignment lhs expression checks
22e1346a7bda Merge pull request #308 from jow-/compiler-lhs-check-fixes
cf846c4a11d4 vm: properly handle modulo by zero
4d81e6c13506 resolv: add documentation and fix clobbering ns strings
20ee2dabd243 debian/changelog: v0.0.20250529
82426d1a02e2 Merge pull request #314 from jow-/resolv-fix313
50d303c8309d ubus: add support for automatically subscribing to objects
fdbf73da4136 Merge pull request #312 from nbd168/ubus-subscribe
5a0d21d59f88 vm: export function for converting exception to ucode value
aaf712eb4fb4 uloop: add guard() function
693af2b61b52 ubus: add guard() function

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit c39a09686e)
2025-07-23 12:19:14 +02:00
Felix Fietkau 628bc50eb1 udebug: update to Git HEAD (2025-07-23)
5d10084ea885 lib-ucode.c: add #define _GNU_SOURCE
a95364b41d52 udebug-cli: fix terminating uloop
c00eb9b685a8 ucode: use FILE handle for pcap output
4265167cb6e8 ucode: add error reporting to pcap_write
4a908ee731a6 udebug-cli: stop event loop on write failure
6e04f4187231 ucode: use ucv_resource_create_ex for remote rings
c297f04e1852 ucode: drop use ucv_resource_create
f207d37a1055 ucode: add support for specifying ring format
98683a94bcdd ucode: support appending array data, similar to socket.send()
a7ecd483ed38 ucode: allow calling udebug.init() multiple times
d4a4c788c416 ucode: fix allocation size of local ring meta
184706abaf50 ucode: add timestamp argument to foreach()
8442c948c193 ucode: add function for getting ring information
f4958a4c591a ucode: add const entries for enum udebug_format
14d4fec36993 udebug-cli: add logstream command
6ed8536142bb ucode: fix entries/size confusion

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 7b0ce213e9)
2025-07-23 12:06:02 +02:00
Felix Fietkau a8fb4f6f0c libubox: update to Git HEAD (2025-07-23)
b7acc8e6fd5e remove compatibility code for older json-c versions
a1acd99f2eb7 udebug: remove obsolete debug message
49056d178f42 udebug: fix issue with snapshot of remote ring

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 19a327dde5)
2025-07-23 12:04:47 +02:00
Tianling Shen 5ce255a9f4 mediatek: drop broken en8811h phy led node for tplink 7dr7250
The PHY LED is connected to EN8811H's internal GPIO, which is unable
to be controlled by current driver.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 9e3c8c9d94)
2025-07-22 21:58:29 +08:00
Tianling Shen 91b27c8bfc Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-07-22 21:55:25 +08:00
Felix Fietkau 6489f3ef89 toolchain/gcc: prevent the use of LDRD/STRD on ARMv5TE
These instructions are for 64-bit load/store. On ARMv5TE, the CPU
requires addresses to be aligned to 64-bit. When misaligned, behavior is
undefined (effectively either loads the same word twice on LDRD, or
corrupts surrounding memory on STRD).

On ARMv6 and newer, unaligned access is safe.

Removing these instructions for ARMv5TE is necessary, because GCC
ignores alignment information in pointers and does unsafe optimizations
that have shown up as bugs in various places.

This patch was originally added more than 11 years ago in commit b050f87d13,
but got lost 6 years ago, when gcc 9.1 was added in 88c07c6552.

This primarily affects the kirkwood and ixp4xx targets

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit c1c1112006)
2025-07-22 12:05:09 +02:00
Fil DunskyandHauke Mehrtens 150f181700 mediatek: add Huasifei WH3000 Pro support
**Huasifei WH3000 Pro**
Portable Wi-Fi 6 travel router based on MediaTek MT7981A SoC. MT7981B+MT7976CN+RTL8221B Dual Core 1.3GHZ with 5G modems module and PWM Fan.

**Specifications**
SoC: Filogic 820 MT7981A (1.3GHz)
RAM: DDR4 1GB
Flash: eMMC 8GB
WiFi: 2.4GHz and 5GHz with 3 antennas
Ethernet:
1x WAN (10/100/1000M)
1x LAN (10/100/1000/2500M)
USB: 1x USB 3.0 port
Two buttons: power/reset and mode (BTN_0)
LEDS: blue, red, blue+red=pink
UART: 3.3V, TX, RX, GND / 115200 8N1

**Installation via U-Boot rescue**
1. Set static IP 192.168.1.2 on your computer and default route as 192.168.1.1
2. Connect to the WAN port and hold the reset button while booting the device.
3. Wait for the LED to blink 5 times, and release the reset button.
4. Open U-boot web page on your browser at http://192.168.1.1
5. Select the OpenWRT sysupgrade image, upload it, and start the upgrade.
6. Wait for the router to flash the new firmware.
7. Wait for the router to reboot itself.

**Installation via sysupgrade**
Just flash sysupgrade file via [LuCI upgrade page](http://192.168.1.1/cgi-bin/luci/admin/system/flash) without saving the settings.

**Installation via SSH**
Upload the file to the router `/tmp` directory, `ssh root@192.168.1.1` and issue a command:
```
sysupgrade -n /tmp/openwrt-mediatek-filogic-huasifei_wh3000-pro-squashfs-sysupgrade.bin
```

**Factory MAC**
You can find your Factory MAC which is mentioned on the box at `/dev/mmcblck0p2` partition `factory` starting from `0x4`
```
dd if=/dev/mmcblk0p2 bs=1 skip=4 count=6 | hexdump -C
```

Cherry-picked from https://github.com/coolsnowwolf/lede/commit/949d0bd77a2e97c2d982531f72b76c575fb28839

Fixed `green` to `blue` LED in dts, added `SUPPORTED_DEVICES += huasifei,fudy-pro` - to make sysupgrade compatible with factory QWRT/Lede fork firmware.

Signed-off-by: Fil Dunsky <filipp.dunsky@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19315
(cherry picked from commit db1de8d21f)
Link: https://github.com/openwrt/openwrt/pull/19391
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-22 00:16:25 +02:00
Leo BarskyandHauke Mehrtens f59e340e11 kernel: bump 6.6 to 6.6.99
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.99

All patches auto-refreshed.

Signed-off-by: Leo Barsky <leobrsky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/19448
(cherry picked from commit 3148a57758)
Co-authored-by: Goetz Goerisch <ggoerisch@gmail.com>
Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19454
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-20 20:13:02 +02:00
developerandTianling Shen c392ba9001 mediatek: correct SRAM size of the NETSYS to fix EIP197 ioremap issue on mt7988
Refactor SRAM size of the NETSYS to fix EIP197 ioremap issue.
2025-07-20 17:25:42 +08:00
Tianling Shen 1dff6e399e mediatek: fix assign wrong wan mac to tplink tl-7dr7230
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 768a5338b6)
2025-07-20 16:58:39 +08:00
Tianling Shen 4ed8d8566d Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-07-20 16:33:10 +08:00
Donghyun KoandHauke Mehrtens 25467b09f1 mediatek: add support for ipTIME AX3000SM
Specification
-------------
- SoC       : MediaTek MT7981BA dual-core ARM Cortex-A53 1.3GHz
- RAM       : DDR3 256Mbytes, Nanya Technology NT5CC128M16IP
- Flash     : 128Mbytes NAND Flash, ESMT F50L1G41LB
- WLAN      : MediaTek MT7976CN dual-band Wi-Fi 6
  - 2.4GHz  : b/g/n/ax, MU-MIMO
  - 5GHz    : a/n/ac/ax, MU-MIMO
- Ethernet  : 10/100/1000 Mbps x4, LAN (MediaTek MT7531AE)
              10/100/1000 Mbps x1, WAN (MT7981 internal PHY)
- UART      : 1x4 pin header on PCB
  - [J500] 3.3V, TX, RX, GND (115200, 8N1)
- Buttons   : WPS, Reset
- LEDs      : 1x Power (Amber)
              1x CPU (Amber)
              1x Wi-Fi 5GHz (Amber)
              1x Wi-Fi 2.4GHz (Amber)
              1x WAN activity (Amber)
              4x LAN activity (Amber)
- Power     : 12VDC, 1A (Center positive polarity)

MAC address
-----------
+-----------+-------------------+-----------+
| Interface | MAC               | Algorithm |
+-----------+-------------------+-----------+
| WLAN 2.4G | B0:38:6C:xx:xx:xx | label     |
| WLAN 5G   | B2:38:6C:4x:xx:xx |           |
| WAN       | B0:38:6C:xx:xx:xx | label + 1 |
| LAN       | B0:38:6C:xx:xx:xx | label + 3 |
+-----------+-------------------+-----------+
The WLAN 2.4G MAC address was found in 'Factory' partition, 0x4

Installation
------------
1. Download the *initramfs-kernel.bin file from the OpenWrt website
2. Attach UART to the router, and interrupt the boot process by pressing '0'

   If you successfully interrupt the boot process, a terminal prompt
   name should look like this:

   MT7981>

3. Connect the router(LAN port) to the PC
4. Assign the PC IP address: 192.168.0.100/24
5. Load and run the *initramfs-kernel.bin:

  tftpboot 0x46000000 initramfs-kernel.bin
  bootm

6. Upload the OpenWrt *squashfs-sysupgrade.bin to the router
7. Run 'sysupgrade -n' with the sysupgrade OpenWrt image

Signed-off-by: Donghyun Ko <nyankosoftware@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18689
(Cherry picked from commit 1c6cb6d5be)
Link: https://github.com/openwrt/openwrt/pull/19410
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-19 21:02:07 +02:00
Tim HarveyandHauke Mehrtens 791c0ad7c4 uboot-envtools: add support for Gateworks venice
Add uboot-envtools support for Gateworks venice boards based on i.MX8M
SoC's (imx_cortexa53) which boot from and store their U-Boot env on
eMMC boot0 hardware partition.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Link: https://github.com/openwrt/openwrt/pull/19347
(cherry picked from commit 29f7c0ef97)
Link: https://github.com/openwrt/openwrt/pull/19437
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-19 18:31:14 +02:00
Tianling Shen d564e69bd9 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-07-18 17:13:53 +08:00
Goetz GoerischandHauke Mehrtens 1034594ded kernel: bump 6.6 to 6.6.98
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.98

- x86/CPU/AMD: Properly check the TSA microcode

Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19354
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-17 20:49:02 +02:00
Shiji YangandHauke Mehrtens 05d8b931fb kernel: bump 6.6 to 6.6.97
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.97

Remove upstream patches:
  generic/backport-6.6/001-powerpc-kernel-Fix-pcc_save_regs-inclusion.patch [1]

Manually rebased patch:
  bcm53xx/patches-6.6/180-usb-xhci-add-support-for-performing-fake-doorbell.patch[2]

New Kconfig symbol:
  x86: enable MITIGATION_TSA [3]

All other patches are automatically refreshed.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.97&id=8a7ac2737211451b8b98657b919c4c4e0a4c0c2f
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.97&id=7609899eb6b70b536123eb58eeab27c764752b82
[3] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.97&id=90293047df18caf7ed0fe566d89af0720f2dc98a

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Co-authored-by: John Audia <therealgraysky@proton.me>
Tested-by: Konstantin Demin <rockdrilla@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19317
(cherry picked from commit 04d764576b)
Co-authored-by: Goetz Goerisch <ggoerisch@gmail.com>
Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19354
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-17 20:49:02 +02:00
Shiji YangandHauke Mehrtens b2fcc6f9f3 kernel: bump 6.6 to 6.6.96
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.96

Remove upstreamed patches:
  generic/pending-6.6/650-Revert-ipv6-save-dontfrag-in-cork.patch [1]

All other patches are automatically refreshed.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.96&id=c46358d0275953b27c3d86f7a224e229f2d57d05

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Tested-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/19317
(cherry picked from commit 2d8d11a42c)
Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19354
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-17 20:49:02 +02:00
Felix Fietkau 787072906d build: ipkg-remove: fix source name / package confusion, optimize
The script always gets passed the package name, not the source name.
Optimize for the default case where the package name matches the
filename prefix.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 471fd0a502)
2025-07-17 10:46:39 +02:00
Felix Fietkau 37233122a7 ubus: update to Git HEAD (2025-07-02)
27839f854a58 ubusd: make txq_len field signed
b35b2bc63e8e ubusd: treat EACCES on write like EAGAIN
713e9d19b2b6 ubusd: retry write on EINTR
8bb523ab20e0 ubusd: fix txq_len accounting
b1b783c74742 ubusd: add another tx attempt on enqueueing the first message for a client
5952b48e251c ubusd: do not call socket callback from ubus_msg_send

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 90cd8640bd)
(cherry picked from commit d9cd67b542)
2025-07-17 10:45:15 +02:00
Tianling Shen bbaed33732 mediatek: drop duplicated node for tplink 7dr72x0
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-07-17 00:13:06 +08:00
Tianling Shen cc141d06ab mediatek: make use of gsw_port props for tplink 7dr72x0
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit cab5d5f70f)
2025-07-16 22:08:47 +08:00
Tianling Shen c638e7d97f mediatek: fix uart node for tplink 7dr72x0
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-07-16 22:00:42 +08:00
Tianling Shen 5e8638337a mediatek: fix include for cudy tr3000 v1
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-07-16 18:39:48 +08:00
Tianling Shen 6a42b4aef7 mediatek: remove left-over comments
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit c284059be1)
2025-07-14 13:59:00 +08:00
Matthew BilkerandTianling Shen 72d958ab49 mediatek: filogic: fix for new GL.iNet GL-MT2500/GL-MT2500A hardware revision
GL.iNet shipped a hardware change of the WAN PHY going from the MaxLinear
GPY211C to the Airoha EN8811H.

Signed-off-by: Matthew Bilker <me@mbilker.us>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 8d30e07180)
2025-07-14 13:58:36 +08:00
Tianling Shen aec57dfa0f Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-07-11 14:37:33 +08:00
Tianling Shen cce2d2a90e mediatek: add TP-Link TL-7DR7230 v1/v2 support
Hardware specification:
  SoC: MediaTek MT7988D 3x A73
  Flash: 128 MB SPI-NAND (v1 F50L141LB / v2 DS35Q1GB-IB)
  RAM: 512 MB DDR4 (v1, GDQ2BFAA-CJ) / DDR3 (v2, A3T4GF40BBF-JR)
  Ethernet: 4x 1GbE (built-in), 1x 2.5GbE (built-in)
  WiFi: MediaTek MT7992A
  Button: Reset, Mesh
  Power: DC 12V 2A
  UART: 3.3v, 115200n8

Flash instruction:
Please refer commit 94a754ac7c ("mediatek: add support for TP-Link TL-7DR7250").

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 90b61d5a50)
2025-07-11 13:53:19 +08:00
Tianling Shen 5e426e92c2 mediatek: add support for TP-Link TL-7DR7250
Hardware specification:
  SoC: MediaTek MT7988D 3x A73
  Flash: 128 MB SPI-NAND (F50L141LB / DS35Q1GB)
  RAM: 512 MB DDR4 (NT5AD256M16E4-JR)
  Ethernet: 2x 1GbE (built-in), 2x 2.5GbE (built-in + Airoha EN8811HN)
  WiFi: MediaTek MT7992A
  Button: Reset, Mesh
  Power: DC 12V 2A
  UART: 3.3v, 115200n8

Flash instruction:
TP-Link locks down their firmware and serial console, so the firmware
must be flashed with mtk_uartboot.

1. Download mtk_uartboot:
   https://github.com/981213/mtk_uartboot/releases
2. Open the case, and attach to the UART.
3. Start mtk_uartboot:
   ./mtk_uartboot -a -s /dev/ttyUSB0 -p mt7988-ram-ddr4-bl2.bin \
     -f immortalwrt-mediatek-filogic-tplink_tl-7dr7250-v1-bl31-uboot.fip \
     --brom-load-baudrate 921600 --bl2-load-baudrate 1500000
    5. Cut off the power and re-engage, wait for UART download to complete.
    6. Connect to the UART, write new BL2/FIP/Firmware with TFTP.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 94a754ac7c)
2025-07-11 13:53:11 +08:00
Tianling Shen fe86faa9d1 mediatek: add TP-Link TL-XDR3250 v1 support
Specifications:
  - SoC: Mediatek MT7622B
  - RAM: 256M
  - Flash: EN25QH128 16M
  - Ethernet: RTL8367S 3xGE
  - WiFi: MT7622 2.4G 4x4 + MT7905 5G 4x4
  - UART: 3.3v, 115200n8

Flash instruction
Please refer commit 9f73519e62 ("mediatek: add support for TP-Link TL-XDR3230 v1").
This board is basically same as XDR3230 v1 so you can reuse the BL2 and FIP for it.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 70564dc9ab)
2025-07-11 13:22:50 +08:00
Antony KolitsosandHauke Mehrtens 49fdb75c7b mbedtls: update to 3.6.4
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.

Security Advisories

For full details, please see the following links:

    Race condition in AESNI support detection [1]
    Heap buffer under-read when parsing PEM-encrypted material [2]
    Unchecked return value in LMS verification allows signature bypass [3]
    Out-of-bounds read in mbedtls_lms_import_public_key() [4]
    Timing side-channel in block cipher decryption with PKCS#7 padding [5]
    NULL pointer dereference after using mbedtls_asn1_store_named_data() [6]
    Misleading memory management in mbedtls_x509_string_to_names() [7]

[1] https://mbed-tls.readthedocs.io/en/latest/security-advisories/mbedtls-security-advisory-2025-06-1/
[2] https://mbed-tls.readthedocs.io/en/latest/security-advisories/mbedtls-security-advisory-2025-06-2/
[3] https://mbed-tls.readthedocs.io/en/latest/security-advisories/mbedtls-security-advisory-2025-06-3/
[4] https://mbed-tls.readthedocs.io/en/latest/security-advisories/mbedtls-security-advisory-2025-06-4/
[5] https://mbed-tls.readthedocs.io/en/latest/security-advisories/mbedtls-security-advisory-2025-06-5/
[6] https://mbed-tls.readthedocs.io/en/latest/security-advisories/mbedtls-security-advisory-2025-06-6/
[7] https://mbed-tls.readthedocs.io/en/latest/security-advisories/mbedtls-security-advisory-2025-06-7/

Signed-off-by: Antony Kolitsos <zeusomighty@hotmail.com>
Link: https://github.com/openwrt/openwrt/pull/19291
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 2c8a433cd2)
Link: https://github.com/openwrt/openwrt/pull/19324
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-10 20:49:17 +02:00
Hauke Mehrtens f68c3e5057 openssl: Update to version 3.0.17
This release incorporates the following bug fixes and mitigations:

    Miscellaneous minor bug fixes.

Link: https://github.com/openwrt/openwrt/pull/19325
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-10 20:47:58 +02:00
cheng wangandHauke Mehrtens 0ec28e59a8 mediatek: add support for Cudy TR3000 256MB v1 flash version
This device is similar to the Cudy TR3000 v1 128MB version.
The difference is that the flash memory is 128mb and the other is 256mb

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

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

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

Signed-off-by: cheng wang <typedelta@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/19167
(cherry picked from commit 594da824a4)
Link: https://github.com/openwrt/openwrt/pull/19348
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-10 20:45:19 +02:00
Tianling Shen 1e88c5609e odhcpd: clear default ra flags
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 6e2422eb9d)
2025-07-09 18:46:41 +08:00
Valeriy ManzhosandRobert Marko 32b0c89947 ath79: enable USB by default on hAP ac
Due to a bug, USB is not powered on after boot on hAP ac.
This prevents extroot configurations from working as overlayfs is mounted
before USB device can be powered on. This commit fixes this by enabling USB
in devicetree.

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

---

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

Signed-off-by: Valeriy Manzhos <manzhos.va@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19149
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit f7dba4ebbc)
Link: https://github.com/openwrt/openwrt/pull/19334
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-07-08 09:41:44 +02:00
Dim FishandHauke Mehrtens 5096c7624f mediatek: spinand: force update_cache_variants to use reset for Foresee NAND
Force update_cache_variantsvariants to use reset for Foresee NAND with bad blocks.

Tested on Xiaomi AX3000T + F35SQA001G with bad blocks and without bad blocks

Signed-off-by: Dim Fish <dimfish@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17963
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
(cherry picked from commit edc7cb9104)
[drop patch for linux kernel 6.12]
Fixes: https://github.com/openwrt/openwrt/issues/17962
Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19297
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-06 17:35:16 +02:00
Tianling ShenandHauke Mehrtens 95c9f6e326 mediatek: add ubootmod layout for cudy tr3000 v1
This allows us to use the full size of nand, which increases ubi size
from 64M to 122.25M.

If you are at factory firmware, please refer commit 63b8d98dd0 ("mediatek: add support for Cudy TR3000 v1")
to boot into OpenWrt initramfs (stock layout).

Flash instructions:
1. Login into the device and backup everything, especially 'Factory' part.
1. Unlock mtd partitions:
   opkg update && opkg install kmod-mtd-rw
   insmod mtd-rw i_want_a_brick=1
3. Write new BL2 and FIP
   mtd write openwrt-mediatek-filogic-cudy_tr3000-v1-ubootmod-preloader.bin BL2
   mtd write openwrt-mediatek-filogic-cudy_tr3000-v1-ubootmod-bl31-uboot.fip FIP
4. Set static IP on your PC:
   IP 192.168.1.254/24, GW 192.168.1.1
5. Serve OpenWrt initramfs image using TFTP server.
6. Cut off the power and re-engage, wait for TFTP recovery to complete.
7. After OpenWrt has booted, perform sysupgrade.

Tested-by: Yangyu Chen <cyy@cyyself.name>
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 6f8c58bfd8)
[sync uboot defconfigs with 24.10 branch, change apk to opkg]
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/18945
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-06 17:17:39 +02:00
Chukun PanandHauke Mehrtens 5889aae07a rockchip: backport PCIe MSI fixes for RK356x SoC
Backport GIC ITS support for RK356x SoC, which fixes long-standing
MSI/MSI-X bug. (Previously MSI-X could only work on one PCIe node)

e.g. [    7.250882] r8125 0002:01:00.0: no MSI/MSI-X. Back to INTx.

Tested on Radxa E25 with kmod-r8125-rss driver.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Link: https://github.com/openwrt/openwrt/pull/18800
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 6b99c5d21e)
Link: https://github.com/openwrt/openwrt/pull/19272
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-06 17:03:31 +02:00
Chukun PanandHauke Mehrtens ccc61439a3 rockchip: replace RK356x RNG patch with upstream
Replace RK356x RNG patch with upstream version to
add the tag flag them as upstreamed.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Link: https://github.com/openwrt/openwrt/pull/18800
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit cca80986b5)
Link: https://github.com/openwrt/openwrt/pull/19272
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-06 17:03:31 +02:00
Chukun PanandHauke Mehrtens 6becf1877e rockchip: armv8: Refresh kernel config
Run 'make kernel_oldconfig' to get an up-to-date config.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Link: https://github.com/openwrt/openwrt/pull/18800
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit e66437a1ea)
Link: https://github.com/openwrt/openwrt/pull/19272
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-06 17:03:31 +02:00
Thibaut VARÈNEandHauke Mehrtens ad765d3cc4 mt76: fix system recovery routine for MT7915
These patches are part of an mt76 update in main branch.

Link: https://github.com/freifunk-gluon/gluon/pull/3436

Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
Link: https://github.com/openwrt/openwrt/pull/19239
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-06 16:53:42 +02:00
John AudiaandHauke Mehrtens f754de7e30 kernel: bump 6.6 to 6.6.95
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.95

Removed upstreamed:
 backport-6.6/201-v6.16-mips-Add-std-flag-specified.patch[1]
 mvebu/patches-6.6/0004-v6.16-pinctrl-armada-37xx-propagate-error-from-armada_37xx.patch[2]
 mvebu/patches-6.6/0005-v6.16-pinctrl-armada-37xx-propagate-error-from-armada_37xx.patch[3]
 mvebu/patches-6.6/0006-v6.16-pinctrl-armada-37xx-propagate-error-from-armada_37xx.patch[4]
 mvebu/patches-6.6/0007-v6.16-pinctrl-armada-37xx-propagate-error-from-armada_37xx.patch[5]
 gemini/patches-6.6/0005-net-ethernet-cortina-Use-TSO-also-on-common-TCP.patch [6]

Manually refreshed:
 bcm27xx/patches-6.6/950-0092-MMC-added-alternative-MMC-driver.patch
 bcm27xx/patches-6.6/950-0678-fbdev-Allow-client-to-request-a-particular-dev-fbN-n.patch [7]

All other patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.95&id=231f6a1de15b3f62eb8d6163a8b1bc5935025c69
2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.95&id=ae48bc0b8be8786fd0ceab4b5a95c09b5aa93816
3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.95&id=8a15a5438c5816a1003b88ce20f25ccc92909ee7
4. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.95&id=02c966a8869becb29282403540c88ba33e19c347
5. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.95&id=14a26f6692062a529b612420adb6c0b9290b25d3
6. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.95&id=a37888a435b0737128d2d9c6f67b8d608f83df7a
7. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.95&id=0909b2b49c4546a7a08c80f53d93736b63270827

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

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/19248
(cherry picked from commit 1831966406)
Co-authored-by: Goetz Goerisch <ggoerisch@gmail.com>
Co-authored-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19265
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-06 14:51:08 +02:00
Tianling Shen fc0e136e71 arm-trusted-firmware-mediatek: improve use of is_dosilicon
It's only used inside spi_nand_read_pp, no reason to make it as a function.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit ec27c0797d)
2025-07-05 17:04:52 +08:00
Tianling Shen 27d455a2fd Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-07-04 21:37:49 +08:00
cheng wangandTianling Shen e67021fde7 mediatek: add support for Cudy TR3000 256MB v1 flash version
This device is similar to the Cudy TR3000 v1 128MB version.
The difference is that the flash memory is 128mb and the other is 256mb

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

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

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

Signed-off-by: cheng wang <typedelta@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/19167
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 594da824a4)
2025-07-04 21:02:42 +08:00
Tianling Shen 21dfdc3d1e arm-trusted-firmware-mediatek: improve support for dosilicon spi-nand flash
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit b7f8c181f3)
2025-07-03 18:56:33 +08:00
xu6ao2andTianling Shen 6ee9c57a6d ramips: add C-Life XG1 support
Hardware specification:
  SoC: MediaTek MT7621AT
  Flash: Micron MT29F2G08ABAGAWP 256Mib
  RAM: 256MB DDR3
  Ethernet: 3x 10/100/1000 Mbps
  LED: Status (red / blue / green / white / cyan / yellow / magenta)
  Switch: MediaTek MT7530
  WiFi: MediaTek MT7905DAN + MT7975DN
  Button: Reset (gpio 17), WPS (gpio 18)
  ZigBee: EFR32MG21
  Ble: EFR32BG21
  USB Audio: iec958
  Power: DC 12V 1.5A

Gain SSH access:
1. Login into web interface.
2. Go to http://192.168.10.1/cgi-bin/luci/admin/mtk/console (CMCC version) or http://192.168.2.1/cgi-bin/luci/admin/mtk/console (CT version)
   echo -en "root\nroot\n" | passwd
4. Go to http://192.168.10.1/cgi-bin/luci/pti/ssh_open (CMCC version) or http://192.168.2.1/cgi-bin/luci/pti/ssh_open (CT version)
5. Ssh to router username:root password:root
5. Fork https://github.com/DragonBluep/uboot-mt7621
6. Compile uboot by Github action.
   Flash Type : NAND
   MTD Partition Table : 512k(u-boot),256k(config),256k(configdata),512k(factory),-(firmware)
   Kernel Load Address : 0x180000
   Reset Button GPIO : 18  #Can't use gpio 17 because it is flipped, on is off, of is on.
   System LED GPIO : 14
   CPU Frequency (400 - 1200) : 880
   DRAM Frequency : 1200
   Prefered DDR Init Parameters : DDR3-256MiB
   Baud Rate : 115200
7. Check carefully everything is right.
8. Upload u-boot-mt7621.bin via scp.
9. Backup everything, especially 'Factory' part.
10. Write new uboot.
    mtd write u-boot-mt7621.bin Bootloader
11. Set static IP on your PC:
    IP 192.168.1.2/24, GW 192.168.1.1
12. Serve ImmortalWrt initramfs image using TFTP server. Don't forget to rename the image to "recovery.bin".
13. Cut off the power , hold wps button and re-engage, wait for TFTP recovery to complete.
14. After ImmortalWrt has booted, perform sysupgrade.

Attention: This firmware uses different boot address with https://github.com/coolsnowwolf/lede/pull/10057/commits/ecfbf648e564b058524d0ae119ba2b58b29f198a
Don't recommend to use breed, though it might work with environment valuable change. It's not designed for this board and may cause unexpected issues.

Original Partition table:
0x000000000000-0x000000080000 : "Bootloader"
0x000000080000-0x0000000c0000 : "Config"
0x0000000c0000-0x000000100000 : "ConfigData"
0x000000100000-0x000000180000 : "Factory"
0x000000180000-0x000007ae0000 : "firmware"
0x000000180000-0x000000500000 : "kernel"
0x000000500000-0x000007ae0000 : "rootfs"
0x000001540000-0x000007ae0000 : "rootfs_data"
0x000007fe0000-0x00000f940000 : "firmware_backup"
0x00000f440000-0x00000fe40000 : "ClifeData"
(Get that from dmesg, I don't know why last two partition mix together)

Immortalwrt Partition table:
0x000000000000-0x000000080000 : "Bootloader"
0x000000080000-0x0000000c0000 : "Config"
0x0000000c0000-0x000000100000 : "ConfigData"
0x000000100000-0x000000180000 : "Factory"
0x000000180000-0x000000580000 : "kernel"
0x000000580000-0x00000fe40000 : "ubi"

(cherry picked from commit e44074d272)
2025-07-03 18:51:10 +08:00
Tianling Shen 1f763bb64b mediatek: change default cpufreq gov to schedutil
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 028f08f1ff)
2025-07-01 21:15:17 +08:00
Kazuhiro ItoandRobert Marko 4a18bb1056 x86: 64: Enable PCI MMCONFIG
Some devices can't boot since kernel 6.6 without PCI MMCONFIG.

Fixes: https://github.com/openwrt/openwrt/issues/18228
Fixes: https://forum.openwrt.org/t/openwrt-24-10-x86-64-boot-hangs-after-pci-nvme-initialization/229086
Link: https://github.com/openwrt/openwrt/pull/19256
Signed-off-by: Kazuhiro Ito <kzhr@d1.dion.ne.jp>
Link: https://github.com/openwrt/openwrt/pull/19262
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-06-30 11:58:32 +02:00
Tianling Shen 158370ce5f Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-06-29 22:30:57 +08:00
Marius DurbacaandHauke Mehrtens e876f7bc62 mediatek: add support for Zbtlink ZBT-Z8102AX v2
Specifications:
SoC: MediaTek MT7981B
RAM: 1024MiB
Flash: SPI-NAND 128 MiB
Switch: 1 WAN, 4 LAN (Gigabit)
USB: two M.2 slots for 5G modems via USB 3.0 hub, external USB 3.0 port
Buttons: Reset, Mesh
Power: DC 12V 1A
WiFi: MT7976CN
UART: 115200n8
UART Layout:
VCC-RX-TX-GND

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

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

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

Signed-off-by: Marius Durbaca <mariusd84@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18514
(cherry picked from commit c908fc7d95)
Link: https://github.com/openwrt/openwrt/pull/19216
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-29 15:24:37 +02:00
Hauke Mehrtens aaee6bfb06 kernel: Add missing config option
This broke the armsr/armv8 build.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Link: https://github.com/openwrt/openwrt/pull/19200
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit a944a6d6b1)
2025-06-29 15:21:25 +02:00
John AudiaandHauke Mehrtens 2f40059708 kernel: bump 6.6 to 6.6.94
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.94

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

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

Manually refresh:
	bcm27xx/patches-6.6/950-0624-drm-vc4-tests-Drop-drm-parameter-for-vc4_find_crtc_f.patch

All other patches automatically rebased.

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

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

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/19183
(cherry picked from commit 836a4cc6d3)
Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19209
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-29 15:19:56 +02:00
Tianling Shen 7a76298cc5 mediatek: fix typo error
Fixes: 9e88ba8367 ("mediatek: rename uboot for cmcc rax3000me")
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit bed2d4f257)
2025-06-26 13:46:40 +08:00
Tim HarveyandRobert Marko 009aad8a02 imx: venice: disable PCI AER
As a workaround to an issue causing hang during PCI enumeration on
imx8mp with a specific PCI switch, disable PCI AER.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Link: https://github.com/openwrt/openwrt/pull/19218
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-06-25 21:02:35 +02:00
Tim HarveyandRobert Marko fa34d9c511 imx: venice: add dt overlay support
Enable DT overlay support:
 - add dt-overlay to board features
 - add DEVICE_DTS_OVERLAYS
 - update the boot script to resize before applying each overlay

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Link: https://github.com/openwrt/openwrt/pull/19218
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-06-25 21:02:35 +02:00
Tim HarveyandRobert Marko 7bf3b29a56 imx: kernel: backport additional upstream patches
Backport some additional upstream patches to resolves some issues when using
dt overlays on gw72xx-0x and gw73xx-0x:
 - 6.13-arm64-dts-imx8mm-venice-gw73xx-remove-compatible-in-overlay-files.patch
 - 6.12-arm64-dts-imx8mm-venice-gw72xx-remove-compatible-in-overlay-files.patch

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Link: https://github.com/openwrt/openwrt/pull/19218
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-06-25 21:02:35 +02:00
Tianling Shen 4479a8fce4 ImmortalWrt v24.10.2: revert to branch defaults
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-06-25 23:37:01 +08:00
Tianling Shen cee53da5b5 ImmortalWrt v24.10.2: adjust config defaults
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-06-25 23:37:01 +08:00
Tianling Shen 467867283b rockchip: phy-leds: fix trigger device for m68s/r68s
Fixes: #1918
Fixes: b3a95ad3c7 ("rockchip: simplify phy leds script")
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 228840f6cd)
2025-06-25 23:36:28 +08:00
Eric FahlgrenandTianling Shen 3ddd92da0f scripts: make-index-json: rework for old Python versions
The current code uses functions and features only found in newer
versions of Python, so rework to allow use on systems only supporting
older Python.  Tested on Python 3.8 (released Oct 2019), but should
work on 3.7 also.

Suggested-by: Chen Minqiang <ptpt52@gmail.com>
Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com>
(cherry picked from commit 0c7d564b1d)
2025-06-25 20:16:25 +08:00
jinkela airandTianling Shen ad20a7a904 qualcommax: ipq807x: Xiaomi AX9000: add custom U-Boot layout support
Some devices use third-party non original uboot and mibib, and OpenWrt expand layout cannot flash and boot normally on such partitions

Signed-off-by: jinkela air <air_jinkela@163.com>
(cherry picked from commit 753e8267c6)
2025-06-25 16:33:34 +08:00
Tianling Shen bb1ada4c61 mediatek: rename uboot for cmcc rax3000me
It's no longer able to decide memory type by USB port, so let's make
the name bit clear.

Please note that the CH version produced in 2025 does not have USB
port but it still uses DDR3 memory.
As far as we know, CH/XW = DDR3, WS = DDR4.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 9e88ba8367)
2025-06-25 16:20:55 +08:00
Tianling Shen 1fa8a0b3a2 ipq40xx: fix boot with opboot for mobipromo cm520-79f
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 360bfcbcdf)
2025-06-24 16:02:11 +08:00
Tianling Shen 4f2e63736b Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-06-24 14:30:22 +08:00
Hauke Mehrtens 5ff7149a08 OpenWrt v24.10.2: revert to branch defaults
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-23 23:32:10 +02:00
Hauke Mehrtens bb59922007 OpenWrt v24.10.2: adjust config defaults
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-23 23:32:07 +02:00
Mario Andrés PérezandHauke Mehrtens d9340319c6 ramips: mt7621: include uboot-envtools in some missed devices
Add uboot-envtools (removing -uboot-envtools) to devices which were
missed in the commit 79bd017 ("ramips: mt7621: add uboot-envtools to
all devices")

- Mi Router 3G
- Mi Router AC2100

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

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

Fixes: 79bd017 ("ramips: mt7621: add uboot-envtools to all devices")
Fixes: https://github.com/openwrt/openwrt/issues/18960

Signed-off-by: Mario Andrés Pérez <mapb_@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/19012
(cherry picked from commit 6dffaf9316)
Link: https://github.com/openwrt/openwrt/pull/19213
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-23 22:40:36 +02:00
Tianling Shen d133666643 Revert "ramips: fix read mac for jdcloud re-sp-01b again"
No longer required since commit 3410ad2f40 ("base-files: enable
 get_mac_ascii() to handle redundant strings").

This reverts commit 6e7537a049.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-06-22 21:37:44 +08:00
Tianling Shen 3e5adc5c2a Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-06-22 21:35:53 +08:00
Tianling Shen 82e209140d mediatek: disable x2 read mode for dosilicon spi-nand flash
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 662eeb4e10)
2025-06-22 21:21:24 +08:00
Tianling Shen 11b3cbe3f6 mediatek: disable unsupported dualio/quadio mode for dosilicon spi-nand flash
Fixes: #1937
Fixes: 25ade3560e ("mediatek: import dosilicon/fmsh/gsto spi nand support")
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 9177e65822)
2025-06-22 21:06:46 +08:00
Tianling Shen def9f8ddfa mediatek: remove duplicated Fidelix SPI-NAND driver
Fixes: 25ade3560e ("mediatek: import dosilicon/fmsh/gsto spi nand support")
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 19a75c41d4)
2025-06-22 21:06:30 +08:00
Christian SchmidbauerandDavid Bauer 63064db765 ipq806x: fix Extreme Networks AP3935 LAN/WAN ports
This commit changes LAN1 to be WAN and LAN2 to be LAN, like all other
dual port Extreme Networks devices.

This partially reverts commit 84a489b7cf

Signed-off-by: Christian Schmidbauer <github@grische.xyz>
(cherry picked from commit 710ec82367)
2025-06-22 13:40:28 +02:00
Christian SchmidbauerandDavid Bauer 394697b7e4 ipq806x: fix Extreme Networks AP3935 LAN LED order
Fixes LAN LED "1" to show activity of LAN1 and LAN LED "2" to show
activity of LAN2, not vice versa.

Signed-off-by: Christian Schmidbauer <github@grische.xyz>
(cherry picked from commit f02e614f50)
2025-06-22 13:40:28 +02:00
Hauke Mehrtens 05d243637a kernel: Fix IPv6 UDP fragmentation regression
Fixes a IPv6 UDP fragmentation regression introduced in v6.6.93.

Fixes: https://github.com/openwrt/openwrt/issues/19198
Link: https://github.com/openwrt/openwrt/pull/19199
(cherry picked from commit f62c33bc4a)
Link: https://github.com/openwrt/openwrt/pull/19201
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-22 13:36:30 +02:00
David Bauer eee14dd6db wifi-scripts: add missing mesh_nolearn
Add the missing mesh_nolearn option in order to make it work.

Signed-off-by: David Bauer <mail@david-bauer.net>
2025-06-20 23:51:20 +02:00
Tianling Shen ece4ac1e52 base-files: fix apple ntp domain
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 465535d75b)
2025-06-20 21:49:00 +08:00
Felix Fietkau d848c2790d hostapd: fix generating own neighbor report for dynamically added/changed interfaces
hostapd_neighbor_set_own_report is normally called from interface setup only.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 9850052190)
2025-06-20 14:58:29 +02:00
Felix Fietkau ba25b41913 hostapd: fix dealing with mac address changes for the primary BSS
Ensure that hapd->own_addr is set properly, since hostapd_setup_bss
only handles it for secondary BSS interfaces

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 3ebf110711)
2025-06-20 14:58:28 +02:00
Tianling Shen 0dfdb7b25f Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-06-19 22:15:41 +08:00
Tianling Shen 469ca4c30e make-index-json: fix compatibility with python3 < 3.9
'str.removesuffix' is only available in Python 3.9+.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit f4e1608464)
2025-06-19 14:41:04 +08:00
Josef SchlehoferandHauke Mehrtens 989b12999c perf: disable slang support
libs/slang2 is getting picked up from the packages feed, if the slang2
is compiled first and then if you try to compile perf, it fails
due to unmet dependency.

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

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19123
(cherry picked from commit 764576eb5b)
Link: https://github.com/openwrt/openwrt/pull/19166
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-17 23:36:56 +02:00
Roland ReinlandHauke Mehrtens f50551dd18 mediatek: filogic: add support for Cudy WR3000E v1
The WR3000E has the same board layout as the WR3000S. Differences:
- Different flash chip
- LEDs with red/blue colour intead of white

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

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

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

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

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

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

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

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

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

Signed-off-by: Roland Reinl <reinlroland+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18609
(cherry picked from commit 300335f1ff)
Link: https://github.com/openwrt/openwrt/pull/19063
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-17 23:32:18 +02:00
Roland ReinlandHauke Mehrtens 0254415769 mediatek: Create common DTSI for WR3000H and WR3000S
This change moves common elements of the WR3000H and the WR3000S to mt7981b-cudy-wr3000-nand.dtsi.
This will simplify adding of new similar devices, for exapmle WR3000E.

Signed-off-by: Roland Reinl <reinlroland+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18619
(cherry picked from commit 54febbc55b)
Link: https://github.com/openwrt/openwrt/pull/19124
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-17 23:06:01 +02:00
Juan Pedro Paredes CaballeroandHauke Mehrtens 72529db50e mediatek: filogic: fix 2.5G phy compatible for WR3000H
Following the initial support of the Cudy WR3000H with PHY C22 for the 2.5G WAN
interface, several improvements fixing issues with RealTek RTL8221B PHYs have
been merged.
Therefore we can now bring the DT in line with other equipment and declare the
2.5G WAN PHY as C45.

Fixes: 9d66b8b ("mediatek: filogic: Add support for cudy wr3000h")
Signed-off-by: Juan Pedro Paredes Caballero <juanpedro.paredes@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17739
[reword commit description]
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit dcc5587374)
Link: https://github.com/openwrt/openwrt/pull/19124
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-17 23:06:01 +02:00
Hauke Mehrtens 197c6ee66c mediatek: filogic: Cudy WR3000H: Fix SUPPORTED_DEVICES
Fix the name used for the transition image from Cudy.
This should make it possible to use the cudy transition image.

Fixes: 9d66b8b312 ("mediatek: filogic: Add support for cudy wr3000h")
Link: https://github.com/openwrt/openwrt/pull/17652
(cherry picked from commit 0f8a5a5fd6)
Link: https://github.com/openwrt/openwrt/pull/19124
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-17 23:06:01 +02:00
Juan Pedro Paredes CaballeroandHauke Mehrtens fdbbb8415f mediatek: filogic: Add support for cudy wr3000h
The manufacturer Cudy usually releases signed openwrt firmware, to
facilitate the migration from the proprietary version to the official
versions of openwrt. In contact with the manufacturer tells me that only
releases the firmware of the WR3000H if and only if
there is an official version. With this proposal I pretend to have an
initial operative version so that they do their part, and facilitate to
the users the possibility of using openwrt. In the present state, it is
only possible to use this firmware by uploading and installing it with
UART connection.

AX3000 2.5G Dual Band Wi-Fi 6 Mesh Router (WR3000H)

Hardware
--------
MediaTek MT7981 WiSoC
256MB DDR3 RAM
128MB SPI-NAND (XMC XM25QH128C)
MediaTek MT7981 2x2 DBDC 802.11ax 2T2R (2.4 / 5)
4 LAN MediaTek MT7531 PHY
1 WAN RTL8221B-VB-CG 2.5Gbps PHY (C22)
2 Radios MT7976CN
UART: 115200 8N1 3.3V

MAC:
LAN MAC: label mac
WAN MAC: label mac + 1
2.4G MAC: label mac
5G MAC: label mac + 1 with LA bit set

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

1. Connect to the serial port as described in the "Hardware" section.

2. Power on the device + press reset pin. Keep pressing reset pin to
   enter the U-Boot shell (The recovery.bin image load process must fail).

3. Download the OpenWrt initramfs image. Place it on an TFTP server
   connected to the Cudy LAN ports. Make sure the server is reachable at
   192.168.1.88. Rename the image to "cudy3000h.bin"

4. Download and boot the OpenWrt initramfs image.

   $ tftpboot 0x46000000 cudy3000h.bin; bootm 0x46000000

5. IMPORTANT: Make backup from original firmware. System -> Backup
   /Flash Firmware -> Save mtdblock contents. All mtdblock one by one,
keep unaltered (BL2, u-boot-env, Factory, bdinfo, FIP, and ubi).

6. Transfer the OpenWrt sysupgrade image to the device using scp.
   Install with sysupgrade.

Warning for BL2 and U-BOOT developers
-------------------------------------
The nand partition layout from vendor is slightly diferent from "standard".
The FIP partition starts at 0x3c0000 be carefull with BL2 to BL31.
The UBI partition start at 0x5c0000 be carefull.
DO NOT OVERWRITE bdinfo partition it contains hardware MAC definition
Layout is start-end (not start size)
  - 0x000000000000-0x000007800000 : "nmbm0"
          - 0x000000000000-0x000000100000 : "bl2"
          - 0x000000100000-0x000000180000 : "u-boot-env"
          - 0x000000180000-0x000000380000 : "factory"
          - 0x000000380000-0x0000003c0000 : "bdinfo"
          - 0x0000003c0000-0x0000005c0000 : "fip"
          - 0x0000005c0000-0x0000045c0000 : "ubi"
ALLWAYS for U-BOOT operations check this
setenv mtdids nmbm0=nmbm0
setenv mtdparts nmbm0:1024k(bl2),512k(u-boot-env),2048k(factory),256k(bdinfo),2048k(fip),65536k(ubi)

Signed-off-by: Juan Pedro Paredes Caballero <juanpedro.paredes@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17458
(cherry picked from commit 9d66b8b312)
Link: https://github.com/openwrt/openwrt/pull/19124
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-17 23:06:01 +02:00
Tianling Shen 8e4d50b239 kernel: only build btf for cortexa53 subtarget of sunxi
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 5a6a75a84f)
2025-06-17 20:11:40 +08:00
Tianling Shen e5e9d72729 kernel: disable BTF for bcm2708
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit bcdb54cbcb)
2025-06-17 20:10:02 +08:00
Tianling Shen 6cfe87b79b rockchip: drop patches merged by mistake
Fixes: 4511950362 ("Merge Official Source")
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-06-17 19:56:18 +08:00
Tianling Shen e05f6f77fe r8125: use led reg definitions from r8125.h
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 90e406f2ea)
2025-06-17 19:54:36 +08:00
Tianling Shen 4511950362 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-06-17 19:54:29 +08:00
George SapkinandRobert Marko a52a1387e0 tools/expat: bump to 2.7.1 to fix several CVEs
Addresses CVE-2024-8176 and CVE-2024-50602.

Changelog: https://github.com/libexpat/libexpat/blob/R_2_7_1/expat/Changes
Fixes: https://github.com/openwrt/packages/issues/26255
Fixes: https://github.com/advisories/GHSA-9hcv-xw76-m4h6
Fixes: https://github.com/advisories/GHSA-79wf-qgrg-2p6c
Signed-off-by: George Sapkin <george@sapk.in>
Link: https://github.com/openwrt/openwrt/pull/18421
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 14a88ba520)
Link: https://github.com/openwrt/openwrt/pull/19079
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-06-17 12:03:04 +02:00
Russell SeniorandRobert Marko d45e94264f tools/patch: bump version to v2.8
drop upstream patches

  $ git log --no-merges --oneline v2.7.6..v2.8
  48ceda8 Version 2.8
  b3d0c93 Regression in commit abe92e8010ab affecting MariaDB tests
  29fced6 Count traditional diff pattern lines correctly
  b5d2124 patch: fix --no-backup-if-mismatch regression
  86ac7e2 Fix dodgy assert with side-effects in insert_cached_dirfd
  7d87652 Declare an expected test failure on Haiku.
  86baf97 build: update gnulib submodule to latest
  1ba2c1b Fix two test failures on Haiku.
  1da6bf8 Check for newlines only when creating a file name
  30ee610 Gnulib renamed some modules
  6dbc381 maint: update bootstrap from gnulib
  05ac924 build: update gnulib submodule to latest
  95e0092 maint: make update-copyright
  5bac274 Set --no-backup-if-mismatch when in --posix mode
  910fecf Add missing feature tests to the test suite
  be8b3c6 Disable release-prep
  c61485b Fix "make release" to handle alpha releases
  499916f Add announce-gen module for "make release"
  adb1ebc Pacify gcc -fsanitize=address
  6bdae94 Fix memory leak when malformed unidiff patch
  72a146c Port to clang address sanitizer
  e2e6820 Refactor argc+argv processing
  606c091 Omit needless get_some_switches code
  ee3cc40 Revert "Remove obsolete require_gnu_diff function"
  8cae4fc Remove obsolete require_gnu_diff function
  164b529 savebuf can return a null pointer
  91c1e4f Spelling fixes
  a03e1ba Port other reject-format test to non-GNU diff
  9ba5eb0 Don’t be fooled by NUL bytes in diff directives
  79dd5e7 Don’t be fooled by "\000" in file name
  8492a6a Port to quasi-GNU diff
  f6f2c6f In previous patch, make w_q static
  0525681 Pacify -Wunterminated-string-initialization
  301411d Spelling fixes
  4615206 Remove double semicolon
  923e0ef Prefer angle bracket headers
  5d17ca0 Update more old copyright notices
  5f4edd3 Simplify memory allocation of files to delete
  802511c Report patch read errors more immediately
  a93b50d Port fflush usage to OpenBSD 7.5
  55e224b Update old copyright notices
  33a7fd8 Fix gl_gcc_warnings typo in ‘configure’
  2313b37 build: update gnulib submodule to latest
  37fec39 Remove some dependencies no longer needed
  cc87173 Update NEWS as per recent changes
  7887622 Update POSIX citations
  18f4dd6 Use “Gruenbacher” in international contexts
  638675c Adjust libs to match recent Gnulib
  53400a1 Pacify clang -Wbitwise-conditional-parentheses
  e8e1bcb Remove “support” for nested critical sections
  b963510 Simplify critical section code in util fns
  85949fb Shrink critical sections
  448ff9b Defer signals by hand with sigatomic_t
  b95a603 output_file_later avoid a malloc+free pair
  2663228 Defend against closed stdin/stdout/stderr
  fc77964 Stop using Gnulib ‘execute’ module
  470699c Move defer_signals up
  f696e4e Make sigs, NUM_SIGS local
  4d3a4ab Rename block_signals
  b3bb925 Trade a bit of space for time in parse_c_string
  070d859 Allocate first patchbuf statically
  f46a90f Use bigger buffer size by default
  2e64cfd Preinitialize fatal_act.sa_hander
  45de0d9 Prefer EXIT_SUCCESS etc. to literal integers
  82c4940 Fix some signal handling races
  eceea61 Fix --set-utc TZ setting
  9c55d3f Improve logic for when rename removes source
  61c72f0 Fix signal race when renaming file
  705c9bc Simplify traverse_another_path via last_component
  77f21a6 Stop using Gnulib dirname module
  fe8ffd9 Fix implausible overflow when reading symlinks
  5e84bda Access checks should use effective, not real
  8d4ca49 Don’t assume AT_FDCWD != -1
  fe5d4a0 Copy input to output attributes via fd if possible
  ca4c431 Simplify timestamp epoch checking
  0ad4347 Check for ftello failures
  c49a16d Remove format_linenum
  22efdee Fix "with multiple words" line number
  5a70a1b Drop Plan B
  c0d465f Prefer ximemdup0 to xmemdup0
  b91aab2 Refactor ifetch API
  55c8a5c Do not attempt huge I/Os
  e0e121e Use outfd when setting file attributes
  241e57e Don’t assume Linux-like S_IFREG
  0f8c628 Use STDOUT_FILENO etc
  f2c3676 Fix unlikely glitch with ed diffs
  cec6407 Use fds to copy attrs in create_backup_copy
  6b7b01b Be more careful about (time_t) -1
  0433553 X == -1 → X < 0
  0a66dee Let set_file_attributes use fds not names
  36ff2c9 Port to narrow unsigned uid_t
  3951496 Check for output errors more systematically
  6429630 Report input error right away
  03cb187 Simplify EOF testing
  cc7cde7 Prefer other types to ‘int’
  4c6650b Detect unlikely integer overflow in size calcs
  abe92e8 Prefer idx_t, ptrdiff_t to lin
  30449e2 Fix compatibility issue with blanks in patches
  9228a8c pch_swap return type cleanup
  c1c438d Fix unlikely int overflow in hunk counts
  5d3f41f Use char for char in plan_a
  fb056f2 Cache cwd_is_root dev, ino
  84b5f34 Avoid ‘unsigned’ in safe.c
  d2e113e Simplify get_sha1
  f73718b Avoid casts in patch.c
  79eef3e Prefer idx_t in util.c
  11588d0 Prefer idx_t in pch.c
  e16037d Prefer idx_t in patch.c
  388926f Prefer idx_t in list.h
  3582fdb Prefer idx_t in inp.c
  4a47c00 build: update gnulib submodule to latest
  4f8c4b8 Don’t limit strip counts etc. to INT_MAX
  0a810b6 Fix unlikely integer overflows in patch.c
  bac3b6d Fix unlikely integer overflows in pch.c
  8fb784b Fix unlikely integer overflows in inp.c
  e10f3ca Promote minmax.h to common.h
  57e2165 Avoid some memory allocation by not using ‘const’
  eb18b39 Remove unnecessary char * casts in inp.c
  d60cb72 Pacify gcc -Wunused-parameter when !USE_XATTR
  05ef886 Pacify gcc -Wunused-parameter when !USE_XATTR
  1f8d192 maint: stop using alloca
  ba92722 Don’t assume O_RDONLY == 0
  0f98e03 Avoid syscall when nested signal block
  1235ccc Add signal comment
  43ee674 build: update gnulib submodule to latest
  e381947 Update NEWS, README-prereq
  2c2a83b Omit _Noreturn when easy
  a13c2ea Replace __attribute__ with attribute.h
  6eb2d13 Switch from ctype.h to c-ctype.h
  d1a6847 Simplify warning configuration
  d6631b3 Prefer ATTRIBUTE_* to _GL_ATTRIBUTE_*
  bc6899d Pacify gcc -Wno-unused-parameter
  da25985 Improve ‘git diff’ output if desired
  248ef13 Prefer strerror to perror
  6cb321a A bit more long-string fixing
  47bc09d Prefer nullptr to NULL
  7608746 More fixing of printing of very long strings
  323da0d Don’t assume string sizes fit in int when printing
  53d1014 Avoid fprintf INT_MAX overflow when merging
  59681c8 Avoid sprintf INT_MAX overflow
  4278b91 Reject output file names containing '\n'
  34b45bc Update man page a bit.
  d18c05d Update copyright notices
  af828e5 Fix some races involving signals
  b3a6c95 Don’t attempt to remove files we didn’t create
  9abc949 Omit goto in try_safe_open
  90e62d5 Pacify clang re obsolete O_CREAT test
  2b87c1e Allow nested block/unblock of signals
  7aa1c3b Adjust to new Gnulib bootstrap post imports
  99c0c0b maint: remove generated file lib/Makefile.am
  1c087d6 Rely on Gnulib inttypes module
  7214f8d Update main locals more consistently
  6785b2c Use struct outfile * in function args
  72d7ed0 Refactor temp names into struct
  abf6fb1 Simplify by using Gnulib sigaction
  d3816ac Avoid unnecessary freeing in output_files
  346d3ac Clean up cleanup
  ff2317b Port better to GNU/Hurd
  c2d9792 Don’t say empty backups are unreadable
  8c27a03 Spelling fixes
  d46d729 Change manywarnings usage to be more like coreutils
  924698b Pacify clang, which dislikes n + "y"
  8939519 Pacify -Wstrict-overflow in pch.c
  531cc2b Pacify -Wsuggest-attribute=format in util.c
  ff13fea Port to non-VLA C compilers
  3d5c0d1 Rename vars to pacify gcc -Wshadow
  56788ce Stop including stdbool.h
  c10da77 Recommend 64-bit time_t on 32-bit platforms
  1e21767 Remove pch_sha1
  39005cf Move skip_spaces
  755712d Remove pch_timestamp function
  04f0eeb Prefer extern inline to static inline for list.h
  f06c123 maint: pacify gcc 14 -Wcast-align
  aab6e7b maint: pacify -Wanalyzer-null-argument
  d1d32c9 maint: work around GCC bug 109839
  7575694 maint: pacify gcc -Wmissing-variable-declarations
  8f78b09 maint: pacify gcc -Winline
  bb841fd maint: port _FORTIFY_SOURCE to Ubuntu
  4887683 maint: assume STDC_HEADERS
  5b8ecde maint: spruce up our .m4 files a bit
  009a424 maint: omit obsolete macro calls
  299167f maint: simplify .gitignore
  3ec44a4 build: update gnulib submodule to latest
  68cb529 build: update gnulib submodule to latest
  f144b35 build: Enable the 'subdir-objects' Automake option.
  faafc79 build: update gnulib submodule to latest
  c835ecc Pass the correct stat to backup files
  24f81be maint: modernize README-{hacking,prereq}
  7623b2d Fix test for presence of BASH_LINENO[0]
  0993940 gnulib: update to latest
  78ed9de Add missing-section tests to context-format test case
  76e7758 Fix failed assertion 'outstate->after_newline'
  15b158d Avoid invalid memory access in context format diffs
  dce4683 Don't follow symlinks unless --follow-symlinks is given
  61d7788 Don't crash when RLIMIT_NOFILE is set to RLIM_INFINITY
  b7b028a Abort when cleaning up fails
  a5b442c Skip "ed" test when the ed utility is not installed
  2b584ae Improve support for memory leak detection
  9c98635 Fix swapping fake lines in pch_swap
  ff81775 Make the (debug & 2) output more useful
  369dccc Don't leak temporary file on failed multi-file ed-style patch
  1959988 Don't leak temporary file on failed ed-style patch
  f322a7e Request 'alloca' module from gnulib.
  458ac51 Fix 'ed-style' test failure.
  1e9104c Fix check of return value of fwrite().
  ae81be0 maint: avoid warnings from GCC8
  2a32bf0 Minor cleanups in do_ed_script
  ff1d3a6 Use gnulib execute module
  3fcd042 Invoke ed directly instead of using the shell
  123eaff Fix arbitrary command execution in ed-style patches (CVE-2018-1000156)
  b5a91a0 Allow input files to be missing for ed-style patches
  f290f48 Fix segfault with mangled rename patch
  074e239 Test suite: fix Korn shell incompatibility
  f6bc5b1 Test suite compatibility fixes
  3bbebbb Avoid set_file_attributes sign conversion warnings

Signed-off-by: Russell Senior <russell@personaltelco.net>
Link: https://github.com/openwrt/openwrt/pull/18479
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit f45df2167b)
2025-06-17 11:02:42 +02:00
Tony AmbardarandHauke Mehrtens 976b09707e strace: Update to version 6.12
Release Notes:
https://github.com/strace/strace/releases/tag/v6.12

Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/17457
Signed-off-by: Nick Hainke <vincent@systemli.org>
(cherry picked from commit 389dd8dcf6)
Link: https://github.com/openwrt/openwrt/pull/19099
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-16 15:48:00 +02:00
Thomas RichardandHauke Mehrtens 04a7d672d7 arm-trusted-firmware-stm32: bump to v2.10.17
Changelog: https://trustedfirmware-a.readthedocs.io/en/lts-v2.10.17/change-log.html

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/19076
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-16 15:35:49 +02:00
Stijn TintelandHauke Mehrtens a4f56aca81 include/trusted-firmware-a.mk: support LTS releases
TF-A LTS releases have an lts- prefix in their version tag. Introduce a
PKG_LTS variable to support these.

As the non-LTS tarbals do not contain the version prefix in the
directory, we need different PKG_BUILD_DIR for each variant:

➜ tar --list --file dl/trusted-firmware-a-v2.12.tar.gz  | head -n1
trusted-firmware-a-2.12/
➜ tar --list --file dl/trusted-firmware-a-lts-v2.12.1.tar.gz  | head -n1
trusted-firmware-a-lts-v2.12.1/

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
cherry picked from commit 06c4e8a262
Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/19076
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-16 15:35:49 +02:00
Mateusz JończykandHauke Mehrtens 926314ab12 ramips/mt7621: mark EEE as broken in devicetree
Multiple users have reported a regression [1] in OpenWRT 24.10 with the
ramips/mt7621 target, which has the MT7530 PHYs: the Ethernet link is
periodically going down for a brief period of time:

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

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

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

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

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

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

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

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

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

Tested-by: Darren Tucker
Signed-off-by: Mateusz Jończyk <mat.jonczyk@o2.pl>
Closes: https://github.com/openwrt/openwrt/issues/17351
Link: https://github.com/openwrt/openwrt/pull/18585
(cherry picked from commit b7fa9d92ae)
Signed-off-by: Mateusz Jończyk <mat.jonczyk@o2.pl>
Tested-by: Mateusz Jończyk <mat.jonczyk@o2.pl>
Link: https://github.com/openwrt/openwrt/pull/19150
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-16 15:28:15 +02:00
Nick HainkeandHauke Mehrtens 26c2ff9e5d libxml2: update to 2.13.6
Release Notes:
https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.5
https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.6

Fixes: CVE-2025-24928 CVE-2024-56171

Link: https://github.com/openwrt/openwrt/pull/18194
Signed-off-by: Nick Hainke <vincent@systemli.org>
(cherry picked from commit fe47089878)
Link: https://github.com/openwrt/openwrt/pull/19122
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-15 14:48:49 +02:00
Robert MarkoandHauke Mehrtens 09915e64a6 netifd: update to Git HEAD (2025-05-23)
61ae5732adea iprule: amend ipproto netlink nla_put_u32 to nla_put_u8
d610d68c71b8 device: add support for configuring vrf
a1b6386a20a6 device: fix bonding primary port selection
e8bbf246ce2e system-linux: fix sysfs name for all_ports_active flag
723c699e84f4 Restore disable_ipv6 sysctl after removing a device from bridge or bond
d476e18e8d43 iprule: resolve ipproto by name
7901e66c5f27 netifd: iprule add sport and dport

Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 15c2ca0a83)
Link: https://github.com/openwrt/openwrt/pull/19125
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-15 13:59:05 +02:00
Antonio FloresandHauke Mehrtens 963943787d rockchip: fix the SD card detection on NanoPi R6C/R6S
This patch backport a fix for the SD card detection on NanoPi R6c/R6S
from upstream commit https://github.com/torvalds/linux/commit/95147bb42bc163866fc103c957820345fefa96cd

Signed-off-by: Antonio Flores <antflores627@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18553
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 5c83301107)
Link: https://github.com/openwrt/openwrt/pull/19138
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-15 13:55:20 +02:00
John AudiaandHauke Mehrtens 4b8881cee9 ipq806x: config-6.6: add new option
6.6.93 introduced new config option[1]

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

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/19026
Signed-off-by: Nick Hainke <vincent@systemli.org>
(cherry picked from commit a2eaadeed2)
Link: https://github.com/openwrt/openwrt/pull/19113
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-15 13:37:46 +02:00
John AudiaandHauke Mehrtens ff393cbe9c ipq40xx: config-6.6: add new option
6.6.93 introduced new config option[1]

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

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/19026
Signed-off-by: Nick Hainke <vincent@systemli.org>
(cherry picked from commit 45e53284e6)
Link: https://github.com/openwrt/openwrt/pull/19113
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-15 13:37:46 +02:00
John AudiaandHauke Mehrtens 7d620f83e3 kernel: bump 6.6 to 6.6.93
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.93

Removed upstreamed:
	backport-6.6/780-51-v6.15-r8169-don-t-scan-PHY-addresses-0.patch[1]
Additionally removed during backporting to 24.10:
        platform/950-0423-media-i2c-imx219-Correct-the-minimum-vblanking-value.patch [2]
        platform/950-1550-drm-v3d-Add-clock-handling.patch [3]

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.93&id=961ee132104b09e054308e53d8ab4a2386a21904
2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.93&id=0b9d2468c3d88c924f505e950c4de74ace09795c
3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.93&id=9ef9ecabc6b559a0cf8603696997625087791a53

All other patches automatically rebased.

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

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/19026
Signed-off-by: Nick Hainke <vincent@systemli.org>
(cherry picked from commit a878dd24e7)
Co-authored-by: Goetz Goerisch <ggoerisch@gmail.com>
Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19113
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-15 13:37:46 +02:00
jinkela airandTianling Shen cc9e9629da mediatek: Ruijie RG-X60 Pro: Fix WAN port status LED
Fix the status indicator light of the WAN port.

Signed-off-by: jinkela air <air_jinkela@163.com>
(cherry picked from commit 24156cb2a1)
2025-06-15 12:20:31 +08:00
Nick HainkeandRobert Marko 79f8461b78 ipq-wifi: add missing dependency on TARGET_ath79
A previous commit backported the ipq-wifi update to fix support for the
TP-Link Archer C6 v2 by adding the device to the package. However, it
missed adding the required TARGET_ath79 dependency, causing the
ipq-tplink_archer-c6-v2 build to fail.

The dependency was previously added in commit 4990ce613b ("ipq-wifi:
update to 2024-02-17") when several ath79 devices were introduced.
However, since this backport only fixes support for the Archer C6 v2, it
is not feasible to backport all related changes. Therefore, this commit
adds only the missing dependency to resolve the build issue without
pulling in unrelated updates.

Fixes: 0c43acc349 ("ipq-wifi: update to Git HEAD (2025-05-30)")
Signed-off-by: Nick Hainke <vincent@systemli.org>
Link: https://github.com/openwrt/openwrt/pull/19120
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-06-13 14:48:53 +02:00
Felix Fietkau c45c2f3c1c ucode: ubus: fix use-after-free on deferred request reply() method
Hold a reference to the defer resource as long as it is still needed

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 87bfde67f2)
2025-06-12 14:33:54 +02:00
Felix Fietkau 0ea2a93fc7 ucode: update to Git HEAD (2025-05-11)
567207a9bf16 fs: implement fileno() on directory handles
eb1d93235509 fs: support passing directory handle or fd in chdir()
38a2254337f1 build: detect whether toolchain employs default source fortification
6eddfc9dff17 resolv: fix fd leak in send_queries
3d36856b2dc5 uci: fix memory leak on cursor() error
aafde95f1ecf uci: add cursor() flags argument
d8cebc5a6bfd Revert "WIP: lib: support map() over objects"
2599cf80736b zlib: incorporate latest PR changes
830f316a7e49 socker: let sock.peercred() clear error on success
4cbac141406e types: rename u64_to_constant flag to ext_flag
d802fe5da5cd types: add support for resources with embedded data/values
71b4fdc6f60b types: add support for setting resource persistent flag
141f799eba08 uloop: use container_of instead of direct pointer casts
1396f8f2988d uloop: use uc_fn_thisval
9a121fc7440c uloop: drop object_registry
11b804d97086 socket: do not clear last_error in socket.error()
d5b3a9dc1091 socket: add strerror() method

Fixes: https://github.com/jow-/ucode/issues/285
Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 2a9316fbfb)
2025-06-12 14:33:54 +02:00
Felix Fietkau 7dd96329ef ucode: add fix for double registry clear on channel disconnect
Avoid clobbering registry items of unrelated connections.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit eaab68be92)
2025-06-12 14:33:54 +02:00
Felix Fietkau 9d7aa9abad ucode: update to Git HEAD (2025-03-24)
2824982da336 ubus: fix broken uc_ubus_defer()

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 2ced0e59a4)
2025-06-12 14:33:54 +02:00
Felix Fietkau f3ee7c9e14 ucode: update to Git HEAD (2025-03-17)
9d94d54ed1a3 uci: implement cursor.list_append() and cursor.list_remove()
a5a299075f37 zlib: rework code logic
ee6a6c3ca579 zlib: deduplicate code
d20f7bb87d47 zlib: add stream-oriented deflate operations
0255af462be3 zlib: add stream-oriented inflate operations
9260bd5354bf WIP: lib: support map() over objects
60f05ac60bfe docs: cover switch statement in syntax article
338aa2ebf00e docs: add article with array specific information
df5a79a04b17 uci: link save() and commit() functions in cursor class description
03fb60d0e4b3 docs: add detailed documentation article for dictionaries
8e122f16327c ubus: add support for calling system objects
21a615c84367 socket: add reuseaddr argument for socket.listen()
e04908ef57e7 uci: add support for altering the override config directory
9dbace122d7e socket: add missing documentation for socket.listen() reuseaddr
312b25482b30 ubus: add errval_return() helper macro
1af4a6bbc206 ubus: add channel defer() method
0002684b9772 ubus: support sending multiple reply messages on a request
fb1da7157d13 ubus: remove broken implied await when calling defer() outside of uloop.run()
67a4ad20f172 ubus: fix uninitialized variable warning

Fixes: https://github.com/jow-/ucode/issues/279
Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 960e1c4c24)
2025-06-12 14:33:54 +02:00
Felix Fietkau 0b265f4562 libubox: update to Git HEAD (2024-12-19)
3868f47c8f6c blob: constify attr argument to blob_memdup

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 6f8f404113)
2025-06-12 14:33:54 +02:00
Felix Fietkau 2f27d0fefa ubus: update to Git HEAD (2025-05-16)
88e6325092bf libubus: flush all pending requests on connection loss

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 707a89bc26)
2025-06-12 14:33:54 +02:00
Álvaro Fernández Rojas a3d7a9ec98 bcm27xx: select I2C/SPI packages by default
The I2C and SPI packages required for each RPi generation is different.
Therefore, in order to avoid confusion let's select them by default.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 9117ff7b39)
2025-06-12 13:51:03 +02:00
Álvaro Fernández Rojas 2e960cc69f bcm27xx: add support for BRCMSTB I2C controller
Add kernel package for Broadcom Settop/DSL I2C controller.
This controller is used on RPi devices.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 59f8312400)
2025-06-12 13:51:03 +02:00
Álvaro Fernández Rojas 40be479fe3 kernel: add support for DesignWare I2C Platform controller
Add kernel package for DesignWare I2C platform controller.
This controller is used on the RP1 SoC found on RPi 5 devices.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 84922a1e34)
2025-06-12 13:51:03 +02:00
Albrecht LohofenerandÁlvaro Fernández Rojas bb478a6dda kernel: add Microchip ENC28J60 SPI Ethernet controller module
The ENC28J60 is a 10 Mbps half-duplex Ethernet controller interfaced via SPI.
It achieves real-world bandwidth up to 5Mbit/s on devices like the RPi Zero due
to SPI limits.
Commonly used with Raspberry Pi Zero boards for wired network connectivity.

Signed-off-by: Albrecht Lohofener <albrechtloh@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/19048
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 4987239913)
2025-06-12 13:51:03 +02:00
Albrecht LohofenerandÁlvaro Fernández Rojas d5ab1b48dc kernel: add support for DesignWare SPI MMIO controller
Add kernel packages for DesignWare SPI core and MMIO controllers.
This is needed for the RP1 SoC found on RPi 5 devices.

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

Signed-off-by: Albrecht Lohofener <albrechtloh@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/19049
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 82d20a0fbd)
2025-06-12 13:51:03 +02:00
Georgi ValkovandRobert Marko f90e7a7397 toolchain: gcc: fix build error with Xcode 16.3
Xcode 16.3 defines TARGET_OS_MAC, it was not defined in prior versions.
zutil.h conditionally defines fdopen as NULL when this macro is defined,
resulting in the following build error:

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_stdio.h:318:7: e>
  318 | FILE    *fdopen(int, const char *) __DARWIN_ALIAS_STARTING(__MAC_10_6, __IPHONE_2_0, __DARWIN_ALIAS(fdopen));
      |          ^
./zutil.h:147:33: note: expanded from macro 'fdopen'
  147 | #        define fdopen(fd,mode) NULL /* No fdopen() */

In Xcode 16.2 and earlier, TARGET_OS_MAC was not defined so this entire
block was ignored, gcc and gdb used to compile and work fine.

This may have been used for compatibility with older versions of macOS,
but is no longer needed. By pure luck, the build worked fine for a long
time, because it did not properly detect macOS.
Fixed by removing the check for TARGET_OS_MAC.

Note that since Xcode 16.3, an entire set of TARGET_OS macros
are now defined, most of which are set to 0:
TARGET_OS_LINUX 0
TARGET_OS_MAC 1
TARGET_OS_OSX 1

Signed-off-by: Georgi Valkov <gvalkov@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18467
(cherry picked from commit d3bb23946e)
Link: https://github.com/openwrt/openwrt/pull/19096
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-06-12 10:51:01 +02:00
Georgi ValkovandRobert Marko 9d3ca6d3e5 toolchain: gdb: fix build error with Xcode 16.3
Xcode 16.3 defines TARGET_OS_MAC, it was not defined in prior versions.
zutil.h conditionally defines fdopen as NULL when this macro is defined,
resulting in the following build error:

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_stdio.h:318:7: error: expected identifier or '('
  318 | FILE    *fdopen(int, const char *) __DARWIN_ALIAS_STARTING(__MAC_10_6, __IPHONE_2_0, __DARWIN_ALIAS(fdopen));
      |          ^
./zutil.h:147:33: note: expanded from macro 'fdopen'
  147 | #        define fdopen(fd,mode) NULL /* No fdopen() */

In Xcode 16.2 and earlier, TARGET_OS_MAC was not defined so this entire
block was ignored, gcc and gdb used to compile and work fine.

This may have been used for compatibility with older versions of macOS,
but is no longer needed. By pure luck, the build worked fine for a long
time, because it did not properly detect macOS.
Fixed by removing the check for TARGET_OS_MAC.

Note that since Xcode 16.3, an entire set of TARGET_OS macros
are now defined, most of which are set to 0:
TARGET_OS_LINUX 0
TARGET_OS_MAC 1
TARGET_OS_OSX 1

Signed-off-by: Georgi Valkov <gvalkov@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18467
(cherry picked from commit dfb8115d0c)
Link: https://github.com/openwrt/openwrt/pull/19096
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-06-12 10:51:01 +02:00
Eric FahlgrenandRobert Marko c99d356747 package: rework contents of package index.json
Rework the generation of the index.json version of the package
indexes to match the original intent (i.e., for use by the ASU
server and other downstream projects).  The current file contains
package names that have ABI versioning, making them unusable by ASU,
so we now remove the ABI suffixes.

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

Links: https://github.com/openwrt/openwrt/commit/218ce40cd738f3373438aab82467807a8707fb9c
Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19051
(cherry picked from commit 2b0b16f1d1)
Link: https://github.com/openwrt/openwrt/pull/19097
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-06-11 19:12:09 +02:00
Álvaro Fernández Rojas 0db2af95bc kernel: r8125: update to v9.016.00
Changelog: https://github.com/openwrt/rtl8125/compare/9.015.00...9.016.00

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 60606fa980)
2025-06-09 08:03:25 +02:00
Paul DonaldandHauke Mehrtens 73ea351f6c lldpd: enable hardware inventory information (TLV) management
lldpd can send several hardware inventory TLV fields. Extend the init
script to provide these when the existing flag 'lldpmed_no_inventory' is
disabled. Five new methods provide default values for some of them,
taken from /etc/os-release and /etc/board.json.

There is no homogeneous method to determine the hardware serial number,
so it can be provided manually, as can asset ID.

Note: properties >= 32 characters are truncated at send time (by lldpd),
and some (Cisco) equipment displays junk after strings >= 32 characters.
So truncate to 31.

Tested on: 24.10.0 (known compatible with 22 and 23 also)

===
Example
===

The following lldpd config lines:

 configure inventory hardware-revision "v0"
 configure inventory software-revision "r28427-6df0e3d02a"
 configure inventory firmware-revision "OpenWrt 24.10.0"
 configure inventory serial-number "ABCDEF-123456"
 configure inventory manufacturer "glinet"
 configure inventory model "GL.iNet GL-MT6000"
 # 32 characters:
 configure inventory asset "abcdefghijklmnopqrstuvwxyz 12345"

Produce the following TLV (decoded by Wireshark):

Telecommunications Industry Association TR-41 Committee - Inventory - Hardware Revision
    1111 111. .... .... = TLV Type: Organization Specific (127)
    .... ...0 0000 0110 = TLV Length: 6
    Organization Unique Code: 00:12:bb (Telecommunications Industry Association TR-41 Committee)
    Media Subtype: Inventory - Hardware Revision (0x05)
    Hardware Revision: v0
Telecommunications Industry Association TR-41 Committee - Inventory - Firmware Revision
    1111 111. .... .... = TLV Type: Organization Specific (127)
    .... ...0 0001 0011 = TLV Length: 19
    Organization Unique Code: 00:12:bb (Telecommunications Industry Association TR-41 Committee)
    Media Subtype: Inventory - Firmware Revision (0x06)
    Firmware Revision: OpenWrt 24.10.0
Telecommunications Industry Association TR-41 Committee - Inventory - Software Revision
    1111 111. .... .... = TLV Type: Organization Specific (127)
    .... ...0 0001 0101 = TLV Length: 21
    Organization Unique Code: 00:12:bb (Telecommunications Industry Association TR-41 Committee)
    Media Subtype: Inventory - Software Revision (0x07)
    Software Revision: r28427-6df0e3d02a
Telecommunications Industry Association TR-41 Committee - Inventory - Serial Number
    1111 111. .... .... = TLV Type: Organization Specific (127)
    .... ...0 0001 0100 = TLV Length: 20
    Organization Unique Code: 00:12:bb (Telecommunications Industry Association TR-41 Committee)
    Media Subtype: Inventory - Serial Number (0x08)
    Serial Number: ABCDEF-123456
Telecommunications Industry Association TR-41 Committee - Inventory - Manufacturer Name
    1111 111. .... .... = TLV Type: Organization Specific (127)
    .... ...0 0000 1010 = TLV Length: 10
    Organization Unique Code: 00:12:bb (Telecommunications Industry Association TR-41 Committee)
    Media Subtype: Inventory - Manufacturer Name (0x09)
    Manufacturer Name: glinet
Telecommunications Industry Association TR-41 Committee - Inventory - Model Name
    1111 111. .... .... = TLV Type: Organization Specific (127)
    .... ...0 0001 0101 = TLV Length: 21
    Organization Unique Code: 00:12:bb (Telecommunications Industry Association TR-41 Committee)
    Media Subtype: Inventory - Model Name (0x0a)
    Model Name: GL.iNet GL-MT6000
Telecommunications Industry Association TR-41 Committee - Inventory - Asset ID
    1111 111. .... .... = TLV Type: Organization Specific (127)
    .... ...0 0010 0011 = TLV Length: 35
    Organization Unique Code: 00:12:bb (Telecommunications Industry Association TR-41 Committee)
    Media Subtype: Inventory - Asset ID (0x0b)
    Asset ID: abcdefghijklmnopqrstuvwxyz 1234

The Cisco DUT displays:

Hardware Revision: 	v0
Firmware Revision: 	OpenWrt 24.10.0
Software Revision: 	r28427-6df0e3d02a
Serial Number:  ABCDEF-123456
Manufacturer Name: 	glinet
Model Name: 	GL.iNet GL-MT6000
Asset ID: 	abcdefghijklmnopqrstuvwxyz 1234

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18354
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 412c850f07)
Link: https://github.com/openwrt/openwrt/pull/18469
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-08 21:25:07 +02:00
Markus StockhausenandHauke Mehrtens 0f9ebe2da7 realtek: fix mdio parent/child locking issues
Since the early beginning of the Realtek DSA driver there is an uncovered
locking issue between the standard (parent) mdio bus and the DSA (child)
mdio bus. This comes from the fact that the DSA bus simply links to the
parent read and write functions and calls them directly. This leads to
the following lock issue.

- Child bus calls phy_read/write functions and uses its internal lock
- Parent bus calls phy_read/write functions and uses its internal lock

It becomes clear that critical section can be accessed twice without
knowing that a operation from the other bus is currently active. This
can lead to critical malfunctions because the mdio driver needs a lot of
internal magic to get page selection done right. Effects are:

- The original page is lost after a phy_write/read_paged() call
- dmesg like "Realtek RTL8218B (external) rtl838x slave mii-0:00:
  Expected external RTL8218B, found PHY-ID 6b23"

Other DSA drivers simply use the read/write functions from the parent bus
and thus avoid locking issues. Do it the same way.

Fixes: 2b88563ee5 ("realtek: update the tree to the latest refactored version")
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18824
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 461fc06f9d)
Link: https://github.com/openwrt/openwrt/pull/18755
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-08 21:19:31 +02:00
Markus StockhausenandHauke Mehrtens 072fd4de3c realtek: refactor net rx interrupt handler rtl83xx_net_irq()
Cleanup the code of the RTL83xx packet receive interrupt handler. Not
only for better readability but to avoid inconsistencies and stalls on
the RTL839x targets.

The current implementation seems to come from the GPL source code.
Calling the existing cleanup() function inside the interrupt context
without any locks conflicts with SMP & NAPI polling and makes things
worse instead of giving any benefit. Simply ignore RX buffer overruns
and let the device handle packet dropping itself.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18855
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 8dde1e4638)
Link: https://github.com/openwrt/openwrt/pull/18755
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-08 21:19:31 +02:00
Markus StockhausenandHauke Mehrtens 4c4b698a9c realtek: proper RTL8214FC fibre/copper detection
The RTL8214FC currently uses generic PHY functions. That makes it look like a copper
device. Switching to/from fibre works fortunately but the autonegotiation handling
still works on MII_LPA (PHY register 5) as if a copper link is used. Fix that by

- advertising a superset of TP/FIBRE features
- using clause 37 functions when on fibre

Additionally enhance the code of the driver to assist further development.

- log the speed of the inserted module to detect wrongly inserted 10gbase-r modules
- order phy driver functions alphabetically (keep match/name on top)
- remove genphy_loopback as the kernel uses it if not provided

Remark! The driver internally uses PORT_MII for the TP port. Align with that and
report MII to ethtool instead of TP. Other drivers do the same and it can be
changed in the future if needed.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18724
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 4cfd1c4501)
Link: https://github.com/openwrt/openwrt/pull/18755
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-08 21:19:31 +02:00
Sander van DeijckandHauke Mehrtens 7d74ef4b85 ramips: mt7621: add support for Arcadyan WE410443
The Arcadyan WE410443 is a WiFi AC access point distributed by various ISPs
under various names, including KPN SuperWifi and BT Whole Home Wi-Fi. It
features one ethernet port, dual MT7615N radios and four internal antennas.

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

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

Flash chip --> Raspberry Pi

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

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

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

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

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

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

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

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

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

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

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

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

Use --> Address

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

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

Signed-off-by: Sander van Deijck <sander@vandeijck.com>
Link: https://github.com/openwrt/openwrt/pull/17981
(cherry picked from commit b6a07dd091)
Link: https://github.com/openwrt/openwrt/pull/19068
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-08 21:12:52 +02:00
Sergey ShlukovandHauke Mehrtens b39d82195d mediatek: add support for TP-Link Archer AX80v1(US/RU/CA)
This commit adds support for TP-Link Archer AX80v1(US/RU/CA).

Device specification
SoC Type:   MediaTek MT7986AV, Cortex-A53, 64-bit
RAM:        ESMT M15T4G16256 (512MB)
Flash:      ESMT F50L1G41LB (128 MB)
Ethernet:   MediaTek MT7531AE + 2.5GbE MaxLinear GPY211C0VC (SLNW8)
Ethernet:   1x2.5Gbe (WAN/LAN 2.5Gbps), 4xGbE (WAN/LAN 1Gbps, LAN1, LAN2, LAN3)
WLAN 2g:    MediaTek MT7976GN
WLAN 5g:    MediaTek MT7976AN
LEDs:       1 red,1 green,1 blue status LEDs,

Buttons:    4 (Reset,ledswitch,wps,wlan),
USB ports:  1 (USB 3.0)
Power:      12 VDC, 3,3 A
Connector:  Barrel
Bootloader: Main U-Boot - U-Boot 2022.01-rc4. Additionally, both UBI
            slots contain "seconduboot" (also U-Boot 2022.01-rc4)
Serial console (UART)
                            V
+-------+-------+-------+-------+
| +3.3V |  GND  |  TX   |  RX   |
+---+---+-------+-------+-------+
    |
    +--- Don't connect

Installation (UART)
Place OpenWrt initramfs image on tftp server with IP 192.168.1.2

Attach UART, switch on the router and interrupt the boot process by pressing 'Ctrl-C'

Load and run OpenWrt initramfs image:

      tftpboot initramfs-kernel.bin
      bootm

!!Attention!! is very important! After entering OpenWrt, please set / update the environment variables:

fw_setenv bootargs "ubi.mtd=ubi0 console=ttyS0,115200n1 loglevel=8 earlycon=uart8250,mmio32,0x11002000 init=/etc/preinit"
fw_setenv mtdids "spi-nand0=spi-nand0"
fw_setenv mtdparts "spi-nand0:2M(boot),1M(u-boot-env),50M(ubi0),50M(ubi1),8M(userconfig),4M(tp_data),8M(mali_data)"
fw_setenv tp_boot_idx 0

Run 'sysupgrade -n' with the sysupgrade OpenWrt image from console or Luci WebUI.

Recovery

Press Reset button and power on the router
Navigate to U-Boot recovery web server (192.168.1.1) and upload the OEM firmware

Stock layout

0x000000000000-0x000000200000 : "boot"
0x000000200000-0x000000300000 : "u-boot-env"
0x000000300000-0x000003500000 : "ubi0"
0x000003500000-0x000006700000 : "ubi1"
0x000006700000-0x000006f00000 : "userconfig"
0x000006f00000-0x000007300000 : "tp_data"
0x000007300000-0x000007B00000 : "mali_data"

ubi0/ubi1 format
U-Boot at boot checks that all volumes are in place:

+-------------------------------+
| Volume Name: uboot   Vol ID: 0|
| Volume Name: kernel  Vol ID: 1|
| Volume Name: rootfs  Vol ID: 2|
+-------------------------------+
MAC addresses
+---------+-------------------+-----------+
| label   | 00:eb:xx:xx:xx:be | label     |
| LAN     | 00:eb:xx:xx:xx:be | label     |
| WAN     | 00:eb:xx:xx:xx:bf | label+1   |
| WLAN 2g | 00:eb:xx:xx:xx:be | label     |
| WLAN 5g | 00:eb:xx:xx:xx:bd | label-1   |
+---------+-------------------+-----------+
label MAC address was found in UBI partition "tp_data", file "default-mac".
OEM wireless eeprom is also there (file "MT7986_EEPROM.bin").

Signed-off-by: Sergey Shlukov <ichizakurain@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17753
(cherry picked from commit 8b24289a52)
Link: https://github.com/openwrt/openwrt/pull/19050
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-08 21:07:36 +02:00
Sergey ShlukovandHauke Mehrtens 6ddc43bc7a kernel: add kmod-leds-lp5523
Add kernel module for LP5523/LP55231 LED driver.
The kmod-leds-lp5523 depends on kmod-leds-lp55xx-common.

Signed-off-by: Sergey Shlukov <ichizakurain@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17753
(cherry picked from commit 92ad1ea245)
Link: https://github.com/openwrt/openwrt/pull/19050
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-08 21:07:36 +02:00
Antti SeppäläandHauke Mehrtens fd85c0df78 qmi: increase SIM power-cycle timeouts
Some modems and SIM cards take a bit longer to initialize after UIM has been
powered off. Waiting too little time can cause the qmi protocol to end up
in a loop repeatedly power-cycling the SIM card.

Avoid that by
 a) increasing the time we unconditionally sleep after --uim-power-on
 b) increasing the time we allow uqmi to wait for response for --uim-get-sim-state

Signed-off-by: Antti Seppälä <a.seppala@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18772
(cherry picked from commit d63663601d)
Signed-off-by: Felix Baumann <felix.bau@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18965
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-08 21:03:58 +02:00
Leon M. Busch-GeorgeandHauke Mehrtens 871d7a9d68 qmi: sort config variables a little and fix minor bugs
Group 'local' declarations and 'json_get_vars', sort alphabetically within groups, and split off more generic parameters.

- delegate and sourcefilter were not declared as local variables

Signed-off-by: Leon M. Busch-George <leon@georgemail.eu>
(cherry picked from commit bf768867dc)
Signed-off-by: Felix Baumann <felix.bau@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18965
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-08 21:03:58 +02:00
Tianling ShenandHauke Mehrtens c7c7a1cfc0 rockchip: add missing symbol
Commit 7cace002ba added a generic kernel patch that exposes a new
symbol REALTEK_PHY_HWMON when REALTEK_PHY and HWMON are enabled. The new
symbol was added to kmod-phy-realtek, but the kmod is not used in the
rockchip target.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/18921
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-08 15:54:37 +02:00
Shiji YangandRobert Marko 79cfac227e tools: zstd: update to 1.5.7
This new version has some performance enhancements.

Changelog:
https://github.com/facebook/zstd/releases/tag/v1.5.7

Upstreamed patch:
001-Provide-variant-pkg-config-file-for-multi-threaded-s.patch[1]

[1] https://github.com/facebook/zstd/commit/f1f1ae369a4cefd3474b3528e8d1847b18750605

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/18064
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit ce67f08449)
2025-06-08 12:56:13 +02:00
Tianling Shen 50970ee690 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-06-08 17:27:50 +08:00
Álvaro Fernández Rojas 2a348bdbef bcm27xx-gpu-fw: update to v1.20250430
Full changelog: https://github.com/raspberrypi/firmware/compare/1.20250305...1.20250430

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 79f097faae)
2025-06-06 12:34:56 +02:00
Christian MarangiandNick Hainke 0bf0556401 ath79: add calibtation variant for TP-Link Archer C6 v2
Now that we have a board file, add calibration variant for TP-Link
Archer C6 v2 and add ipq-wifi package for it.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 427c4aa266)
Signed-off-by: Leopoldo Pla <leopoldoplasempere@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19035
Signed-off-by: Nick Hainke <vincent@systemli.org>
2025-06-06 09:43:40 +02:00
Christian MarangiandNick Hainke 8979768b97 ipq-wifi: Add entry for TP-Link Archer C6 v2
Add IPQ Wifi entry for Ath79 TP-Link Archer C6 v2.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit c88515dd86)
Signed-off-by: Leopoldo Pla <leopoldoplasempere@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19035
Signed-off-by: Nick Hainke <vincent@systemli.org>
2025-06-06 09:43:40 +02:00
Christian MarangiandNick Hainke 0c43acc349 ipq-wifi: update to Git HEAD (2025-05-30)
576ade747259 CI: add action that prints info about submited BDF-s
1d688e8654a5 qca9888 : add BDF for Yuncore WB5G08
ddfd9d2f3a8e ipq60xx: rename BDF for EAP623-Outdoor HD v1
bab36c1d947d ath10k: drop upstramed board files
09e5afab85b2 CI: add QCA9988
fde3d2a7ce59 qca9888: add TP-Link Archer C6 v2 (EU) BDF

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 8dd0020d1a)
Signed-off-by: Leopoldo Pla <leopoldoplasempere@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19035
Signed-off-by: Nick Hainke <vincent@systemli.org>
2025-06-06 09:43:40 +02:00
David Bauer 0a21ab7312 ipq40xx: enable WiFi LED for Teltonika RUTX50
Enable activity on the WiFi LEDs of the Teltonika RUTX50
like other boards in the ipq40xx target.

Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit 54463f1e2e)
2025-06-05 14:12:09 +02:00
David Bauer cab22784b1 ipq40xx: use correct wired MAC-addresses for RUTX50
The Teltonika RUTX50 mac-addresses on its wired interfaces are currently
random on every boot.

Setting the mac-addresses from device-tree using nvmem does not work, as
the vendor bootloader mangles the mtd partitions, removing the
nvmem-cells property.

To remedy the random mac-addresse, set the correct ones in preinit.

Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit 08c93512fe)
2025-06-05 14:11:58 +02:00
David Bauer 796b7681bf ipq40xx: turn on Teltonika RUTX50 modem by default
Turn on the 5G modem of the RUTX50 on by default.

This allows to make the modem detectable on a fresh
installation OOTB without further intervention.

Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit ac1ad1a7ad)
2025-06-05 14:11:51 +02:00
Álvaro Fernández Rojas 4e63a06636 generic: backport brcm legacy dsa tag fix
Backport a small fix for brcm legacy dsa tags that has been accepted for
linux v6.16.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 84eefb493b)
2025-06-01 16:41:26 +02:00
Tianling Shen cb01946afd Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-06-01 17:10:34 +08:00
Henry TungandRobert Marko 6706c8a6e3 tools/llvm-bpf: fix compilation with GCC15
Add cstdint include to SmallVector.h.

Backported from
https://github.com/llvm/llvm-project/commit/7e44305041d96b064c197216b931ae3917a34ac1.

Signed-off-by: Henry Tung <henryptung@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18767
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 53054fead5)
2025-05-31 23:10:42 +02:00
Álvaro Fernández Rojas a2ac2c5ea3 generic: backport bcm63xx SPI reset fix
Fixes SPI and HSSPI coexistance on bmips bcm6362 and bcm63268.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit ba1017bf74)
2025-05-31 18:32:33 +02:00
Nick HainkeandHauke Mehrtens 3b2051ce44 tools/b43-tools: update to latest version, fix C23 build
Update b43-tools to the latest upstream version to fix a
compilation error with C23:

  util.h:25:15: error: 'bool' cannot be defined via 'typedef'
     25 | typedef _Bool bool;
        |               ^~~~

Changelog:
c6fc53f replace custom bool typedef with <stdbool.h>
dadf30c fix format warning in compilation
2fe10ea b43-fwdump: Fix forwarding of arguments to disassembler

Link: https://github.com/openwrt/openwrt/pull/18708
Signed-off-by: Nick Hainke <vincent@systemli.org>
(cherry picked from commit f8da45e25d)
2025-05-30 17:10:10 +02:00
Tomasz Maciej NowakandRobert Marko 2f289e3b74 libiconv: fix compilation on hosts GCC=15
Backport upstream commit dropping external definition of mbrtowc. The
said definition conflicts with one provided by GCC 15. Issue found on
24.10 SDK.

Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
2025-05-30 13:10:11 +02:00
Goetz GoerischandRobert Marko 6d46015d8b x86: add missing configuration
Added settings:
        x86: CONFIG_MITIGATION_ITS=y [1]

[1] https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.6.y&id=f7ef7f6ccf2bc3909ef5e50cbe9edf2bac71e1bd
Co-authored-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18924
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-28 13:22:00 +02:00
Goetz GoerischandRobert Marko 3a2a2c995f kernel: refresh patches
manually refresh kernel patches

Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18924
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-28 13:22:00 +02:00
John AudiaandRobert Marko f37e4dc300 rockchip: armv8: add missing config option
6.6.92 requires the addition of CONFIG_ARM_SCMI_DEBUG_COUNTERS

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/18835
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 763339207b)
Link: https://github.com/openwrt/openwrt/pull/18924
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-28 13:22:00 +02:00
John AudiaandRobert Marko 3246d6c0a1 stm32: add missing config option
6.6.92 requires the addition of CONFIG_ARM_SCMI_DEBUG_COUNTERS

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/18835
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 83ff9600dc)
Link: https://github.com/openwrt/openwrt/pull/18924
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-28 13:22:00 +02:00
John AudiaandRobert Marko 6f56ddc36f kernel: bump 6.6 to 6.6.92
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.92

No patches needed a rebase with this release/only archive hash updated.

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

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/18835
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 2a7cfbbbef)
Link: https://github.com/openwrt/openwrt/pull/18924
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-28 13:22:00 +02:00
John AudiaandRobert Marko 9019992248 kernel: bump 6.6 to 6.6.91
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.91

Removed upstreamed:
	generic/pending-6.6/730-net-ethernet-mtk_eth_soc-reset-all-TX-queues-on-DMA-.patch[1]

All other patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.91&id=68f29bb97a0e0519156664cdc23e8b1f129e3254

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

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/18835
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit ecac1d8abd)
Link: https://github.com/openwrt/openwrt/pull/18924
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-28 13:22:00 +02:00
Shiji YangandRobert Marko 01644cba60 kernel: bump 6.6 to 6.6.90
Remove upstreamed patches:
  bcm27xx/patches-6.6/950-0481-xhci-Use-more-event-ring-segment-table-entries.patch [1]
  pending-6.6/691-net-ipv6-fix-UDPv6-GSO-segmentation-with-NAT.patch [2]

Manually rebased patches:
  generic/hack-6.6/781-usb-net-rndis-support-asr.patch [3]

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.90&id=f377434945f528217e65fc5b18781caeba19ce72
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.90&id=e0272844995aff8cbf2cc88b78c2b35ca51eda43
[3] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.90&id=222b6685efe0d8c1cdb078a67bbe806f56d18f94
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18775
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 01d5026239)
Link: https://github.com/openwrt/openwrt/pull/18924
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-28 13:22:00 +02:00
Tianling Shen 249a57e9db rockchip: increase CMA size to 64 MBytes
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 99578bec21)
2025-05-27 19:10:09 +08:00
Tianling Shen 13e6b09855 rockchip: update pcie stuffs for photonicat
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit b225713b3d)
2025-05-27 19:07:18 +08:00
Kyosuke NekoyashikiandTianling Shen a27af9b4b9 rockchip: fix unstable SGMII on ariaboard photonicat
(cherry picked from commit 2ff0f9435f)
2025-05-27 19:07:14 +08:00
Tianling Shen 960fb73848 rockchip: reduce eMMC speed for ariaboard photonicat
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 445f995c78)
2025-05-26 14:51:02 +08:00
Tianling Shen 4d98b94d7d Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-05-25 19:33:07 +08:00
Tianling Shen 4af8a7fe40 rockchip: fix dtc warning in rk3588 rng node
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 89e0547958)
2025-05-25 16:27:04 +08:00
Benjamin BergandDavid Bauer e709e9bc06 mac80211: add patch to suppress PREP when mesh forwarding is disabled
This fixes a bug where mac80211 would respond to a PREQ frame when a
neighbor table entry exists locally even though it will not forward the
frame and the reported path does not actually work.

Link: https://github.com/openwrt/openwrt/pull/18657
Link: https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next.git/commit/?h=for-next&id=cf1b684a06170d253b47d6a5287821de976435bd
Link: https://patches.linaro.org/project/linux-wireless/patch/20250430191042.3287004-1-benjamin@sipsolutions.net/

Signed-off-by: Benjamin Berg <benjamin@sipsolutions.net>
(cherry picked from commit 26e64260e9)
2025-05-24 16:38:31 +02:00
Robert Marko 8e272a6d83 image: only filter out images when ImageBuilder is used
Currently, we are filtering out images if DEFAULT:=n or BROKEN:=y are set,
so if you are building from scratch and want to build custom images that
are stripped down to fit, you must edit the image recipe or its just
filtered out.

So, to allow this behaviour when building from scratch as we can assume
that person doing that knows what they are attempting to do lets just limit
the filtering to ImageBuilder.

Fixes: f060615a78 ("image: respect DEFAULT and BROKEN when Default profile is selected")
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-24 12:25:49 +02:00
Álvaro Fernández Rojas 0ccd68f9ba mac80211: brcm: update RPi brcmfmac patches
- Reorganize brcmfmac patches.
- Drop outdated RPi brcmfmac patches.
- Add RPi 6.12 brcmfmac patches with "rpi-6.12" name tag (excluding SAE).

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit f23ad96e47)
2025-05-23 20:22:08 +02:00
Rosen PenevandRobert Marko 01da187749 tools: add cmake dependency to bzip2
It's using cmake.mk so it needs CMake to build.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18880
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 9deb8fad2f)
2025-05-23 12:36:16 +02:00
Álvaro Fernández Rojas 424788fc46 generic: backport upstream v6.16 Realtek PHY patches
83d962316128 net: phy: realtek: add RTL8127-internal PHY
708686132ba0 net: phy: realtek: Add support for PHY LEDs on RTL8211E
be1cc96ddf82 net: phy: realtek: use __set_bit() in rtl8211f_led_hw_control_get()
8c4d0172657c net: phy: realtek: Group RTL82* macro definitions
12d40df259e3 net: phy: realtek: add RTL8211F register defines
7c6fa3ffd265 net: phy: realtek: Clean up RTL821x ExtPage access
f3b265358b91 net: phy: realtek: remove unsed RTL821x_PHYSR* macros
7840e4d6f48a net: phy: realtek: Add support for WOL magic packet on RTL8211F

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picled from commit d8375034b8)
2025-05-22 14:22:02 +02:00
Álvaro Fernández Rojas 8cac8d8723 generic: backport upstream v6.16 r8169 patches
f24f7b2f3af9 r8169: add support for RTL8127A
4f51e7d370a0 r8169: merge chip versions 52 and 53 (RTL8117)
f372ef6ed5a6 r8169: merge chip versions 64 and 65 (RTL8125D)
4dec0702b862 r8169: merge chip versions 70 and 71 (RTL8126A)
b7ed5d5a78fc r8169: use pci_prepare_to_sleep in rtl_shutdown
fe733618b27a r8169: add RTL_GIGA_MAC_VER_LAST to facilitate adding support for new chip versions
2b065c098c37 r8169: refactor chip version detection
0c49baf099ba r8169: add helper rtl8125_phy_param
8c40d99e5f43 r8169: add helper rtl_csi_mod for accessing extended config space

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 91ce7f606a)
2025-05-22 14:21:56 +02:00
Álvaro Fernández Rojas e2457aa09f bcm27xx: switch to upstream SDHOST driver
The RPi upstream repo switched to the upstream SDHOST driver some time ago, so
it's time to do the same in our configs.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit cd79b6ede9)
2025-05-21 14:06:20 +02:00
Robert MarkoandRobert Marko bc8b407400 mvebu: armada37xx: add pending PXA I2C recovery fix
Import pending PXA I2C recovery fixes so that if I2C recovery is enabled in
the DTS it does not completely break I2C as it currently does since kernel
6.6.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
(cherry picked from commit dfacae3049)
2025-05-21 10:26:20 +02:00
Robert MarkoandRobert Marko 6285ce709a mvebu: armada37xx: backport pinctrl fixes
Backport upstream pinctrl fixes, these are required for the follow-up I2C
PXA recovery fixes.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
(cherry picked from commit 831994e258)
2025-05-21 10:26:12 +02:00
Stijn TintelandDaniel Golle 6d41cbf868 realtek: add missing symbol
Commit d7e82c78d7 added a generic kernel patch that exposes a new
symbol REALTEK_PHY_HWMON when REALTEK_PHY and HWMON are enabled. The new
symbol was added to kmod-phy-realtek, but the kmod is not used in the
realtek target.

Fixes: d7e82c78d7 ("generic: backport Realtek PHY patches from upstream")
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
(cherry picked from commit ab87087672)
2025-05-20 20:49:01 +01:00
Martin SchillerandDaniel Golle b394fa6819 generic: net: phy: sfp: backport some FS copper SFP fixes
This fixes the handling of some FS copper SFP modules using the RollBall
protocol and needing some extra treatment.

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
(cherry picked from commit bbe58f9830)
2025-05-20 20:49:01 +01:00
Tianling Shen 1aa58d928c Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-05-20 16:20:14 +08:00
Shiji YangandRobert Marko a53d175865 generic: crypto: fix jitterentropy initialization failed issue
Sync jitterentropy source code with linux-6.12 to solve the
issue of jitterentropy initialization failed:

[ 9.523489] jitterentropy: Initialization failed with host not compliant with requirements: 9
[ 9.661916] kmodloader: 1 module could not be probed
[ 9.662377] kmodloader: - jitterentropy_rng - 0

In linux upstream commit cf27d9475f37 ("crypto: jitter - use
permanent health test storage"), when FIPS crypto is disabled,
the health test results are always explicitly skipped. That means
it will never return error code 9 (health test failed) again.

Fixes: https://github.com/openwrt/openwrt/issues/16684
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18399
(cherry picked from commit eec11fbbb6)
Link: https://github.com/openwrt/openwrt/pull/18822
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-18 09:59:53 +02:00
Robert Marko 6d4554429a image: respect DEFAULT and BROKEN when Default profile is selected
Currently, when you select the Default profile it does not honor DEFAULT:=n
nor BROKEN:=y in device profiles but rather just tries to build all of them.

This may work when building directly, but when using Image Builder it will
always fail since no kernel or anything else is present for devices that
have DEFAULT:=n or BROKEN:=Y set since those are skipped during build.

So, lets look for DEFAULT being set to "n" or BROKEN being set to "y" and
then remove clear _PROFILE_SET so they dont end up being marked for
installation.

Fixes: #18410
Link: https://github.com/openwrt/openwrt/pull/18814
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit f060615a78)
2025-05-18 09:41:54 +02:00
Henry TungandHauke Mehrtens d2d9b1eaeb mac80211: ath11k: fix broadcast failures during GTK rekeying
Revert key_cipher change to NONE when clearing key.
Setting to NONE triggers asserts in the firmware and causes broadcast
drops with ath11k firmware 2.9.0.1, so until a future blob
fixes this, revert this as a workaround.

Imported from
https://git.codelinaro.org/clo/qsdk/oss/system/feeds/wlan-open/-/blob/win.wlan_host_opensource.3.0.r24/patches/ath11k/350-ath11k-Revert-clear-the-keys-properly-when-DISABLE_K.patch

Related discussion links:

- https://github.com/openwrt/openwrt/issues/9555
- https://lore.kernel.org/linux-wireless/Z2Q9POuV-6MIdzRf@pilgrim/T/#t

Signed-off-by: Henry Tung <henryptung@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18705
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 94e04a4513)
Link: https://github.com/openwrt/openwrt/pull/18754
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-05-15 20:27:48 +02:00
Felix Fietkau ba37852951 kernel: fix warning on retrying page pool release
Fixes the following warning:
[  180.314652] NOHZ tick-stop error: local softirq work is pending, handler #08!!!

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 610dd871aa)
2025-05-15 15:43:58 +02:00
David Bauer 2bcc3163a6 ramips: pad EX400 kernel partition to retain web recovery
The web-recovery of the Genexis EX400 validates uploaded images to fit
in the rootf_0 partition.

With OpenWrt, only the kernel is stored in this partition, leaving the
partition very small. Currently, the first factory release image won't
be accepted by the recovery interface after the OpenWrt installation.

Pad the image of the ubifs to 10MB. This allows the 24.10 release image
to be uploaded, enabling device recovery.

Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit eea4689654)
2025-05-14 19:03:17 +02:00
Álvaro Fernández Rojas 65906202fc bmips: add missing NAND config symbol
bcm6328, bcm6362 and bcm6368 targets are missing a key config symbol which
prevents the NAND from working.

Fixes: f6c02b014d ("bmips: 6.1: refresh config and add missing symbols")
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 61da745817)
2025-05-14 11:39:20 +02:00
Tianling Shen 2a483df8a0 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-05-14 17:19:10 +08:00
MapleCoolandTianling Shen cdd9175da3 autocore: cpuinfo: add support for AMD Zen CPU temperature sensor
(cherry picked from commit fb74eb547c)
2025-05-14 00:41:19 +08:00
Christoph KrappandDavid Bauer d71e6920fa mediatek: filogic: fix wifi on ASUS RT-AX52
Add missing kmod-7915e package to get both wireless interfaces working.

Link: https://github.com/openwrt/openwrt/issues/18690

Reviewed-by: Steffen Förster <nemesis@chemnitz.freifunk.net>
Signed-off-by: Christoph Krapp <achterin@gmail.com>
(cherry picked from commit 0d6ba33181)
2025-05-13 03:38:41 +02:00
Sam HegartyandTianling Shen 1eab8c1653 rockchip: explicitly specify pine64_rockpro64 supported devices
The board name that goes into /etc/board.json and is used by sysupgrade
for image verifications gets determined by the below command:

  `strings /proc/device-tree/compatible | head -1`

as per package/base-files/files/lib/preinit/02_sysinfo

On more recent firmware version for the Pine64 RockPro64 v2.1 devices the
first entry is 'pine64,rockpro64-v2.1' however the metadata in the
sysupgrade image only specifies 'pine64,rockpro64' as supported and image
verification will fail.

This change makes it so the image metadata will contain both
'pine64,rockpro64' and 'pine64,rockpro64-v2.1' allowing image verification
to pass on both older and more recent firmware versions.

Signed-off-by: Sam Hegarty <hegarty.sam@gmail.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit c592afed4d)
2025-05-12 20:33:06 +08:00
Tianling Shen 9f6a87b2de rockchip: simplify phy leds script
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit b3a95ad3c7)
2025-05-12 20:32:34 +08:00
Tianling Shen d91272ae9a rockchip: drop realtek,led-data hack for rtl8211f
All phy leds have been converted to upstream binding.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 2be03e919b)
2025-05-12 20:32:34 +08:00
Tianling Shen 7375e47de6 rockchip: switch to use upstream phy led binding for rock 3a
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 93c3ee1b23)
2025-05-12 20:32:34 +08:00
Tianling Shen 1e740f03e8 rockchip: switch to use upstream phy led binding for nanopi r6s
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit e52ec95379)
2025-05-12 20:32:34 +08:00
Tianling Shen 560722a883 rockchip: switch to use upstream phy led binding for armsom sige3
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit d74dd32192)
2025-05-12 20:32:34 +08:00
Tianling Shen e7d12e5718 rockchip: switch to use upstream phy led binding for lyt t68m
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit bdfbc31db1)
2025-05-12 20:32:33 +08:00
Tianling Shen f2f3871bb3 rockchip: switch to use upstream phy led binding for mrkaio m68s
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit ba7d9f68ce)
2025-05-12 20:32:33 +08:00
Tianling Shen 7fbba41f55 rockchip: switch to use upstream phy led binding for nanopi r5s
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 594e1e03a1)
2025-05-12 20:32:33 +08:00
Tianling Shen 7baf90c1c9 rockchip: switch to use upstream phy led binding for fastrhino r68s
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 17c7d9806e)
2025-05-12 20:32:33 +08:00
Tianling Shen fdc6a2390a rockchip: switch to use upstream phy led binding for nanopi r3s
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 4e614cdc9c)
2025-05-12 20:32:33 +08:00
Boyang SunandTianling Shen fa3f3b27f8 mediatek: Update mt7622-reyee-ax3200-e5.dts
fixed wrong reg.
The original commit assumed the size part was the end of the reg.

Fixes: 7dbac3433f ("mediatek: add support for reyee AX3200-E5")
Signed-off-by: Boyang Sun <boyinthesun@163.com>
Link: https://github.com/openwrt/openwrt/pull/18074
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit f4ba980f15)
2025-05-12 20:14:17 +08:00
Tianling Shen 1f4a87f522 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-05-12 20:12:28 +08:00
David Bauer 6adcb5d75c ramips: use i2c-gpio driver for EX400
Configure the i2c pins as GPIO outputs and use the i2c-gpio driver to
control the Semtech SX9512 touch controller.

This fixes spurious errors in i2c transactions even at 1kHz with the
native i2c driver.

leds green:wan: Setting an LED's brightness failed (-6)

Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit f828be4d10)
2025-05-12 02:20:58 +02:00
David Bauer 79cbeb8dd2 ramips: support Genexis EX400 touch controller
Add the necessary package dependencies as well as device-tree properties
to support the touch-inputs as well as missing LEDs on the Genexis Pulse
EX400 range extender.

Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit 49a1781d74)
2025-05-12 02:20:58 +02:00
David Bauer 5216ad9731 ramips: add Semtech SX9512 touch input driver
This driver is required for the touch-inputs as well as some LEDs on the
Genexis Pulse EX400.

The driver was also sent upstream. As the EX400 is currently the only
consumer, the driver is added target-specific for ramips.

Once the driver has been accepted upstream and is provided in a kernel
release used by OpenWrt, the package should be moved to the global input
drivers.

Link: https://www.spinics.net/lists/kernel/msg5669349.html

Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit 0842e79338)
2025-05-12 02:20:58 +02:00
David Bauer ea97c49766 ramips: drop ALT0 name from Pulse EX400 dts model
The alternative model name does not need to be represented in the DTS.

Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit ff55daf1eb)
2025-05-11 14:12:18 +02:00
JaraoandTianling Shen 7e4c7c7c4f default-settings: fix script syntax
(cherry picked from commit f3de5a23de)
2025-05-11 16:43:31 +08:00
Eric FahlgrenandRobert Marko 52d4559fe1 imagebuilder: exclude metadata for profiles that have no kernel
Device profiles that specify 'DEFAULT := n' are being included
in the imagebuilder metadata, specifically in .profiles.mk, even
though there is no kernel built for the device.  This results in
'make info' showing the device as valid, but then 'make image
PROFILE=xxx' failing with 'No rule to make target xxx-kernel.bin ...'

We exclude these profiles from the imagebuilder, avoiding these
errors.

Fixes: https://github.com/openwrt/openwrt/issues/18410
Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18748
(cherry picked from commit b88f3ebb33)
Link: https://github.com/openwrt/openwrt/pull/18765
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-10 12:12:26 +02:00
Mikhail ZhilkinandHauke Mehrtens 5db1b94b63 mediatek: add support for Routerich AX3000 v1
Routerich AX3000 v1 is a wireless WiFi 6 router.

Specification
-------------
- SoC       : MediaTek MT7981BA dual-core ARM Cortex-A53 1.3 GHz
- RAM       : DDR3 512 MiB
- Flash     : SPI-NAND 128 MiB (Winbond)
- WLAN      : MediaTek MT7976CN dual-band WiFi 6
  - 2.4 GHz : b/g/n/ax, MIMO 2x2
  - 5 GHz   : a/n/ac/ax, MIMO 2x2
- Ethernet  : 10/100/1000 Mbps x3, LAN (MediaTek MT7531AE)
              10/100/1000 Mbps x1, WAN (MT7981 internal PHY)
- USB       : 1x 3.0 with power control
- UART      : through-hole on PCB
  - [J500] GND, TX, RX, 3.3V (115200n8)
- Buttons   : Mesh, Reset
- LEDs      : 1x Power (Blue)
              1x WiFi 2.4 GHz (Blue)
              1x WiFi 5 GHz (Red)
              1x Mesh (Blue)
              3x LAN activity (Blue)
              1x WAN activity (Blue)
              1x WAN no-internet (Red)
- Power     : 12 VDC, 1.5 A

Installation
------------
Flash OpenWrt 'sysupgrade.bin' image using stock firmware web-interface
(without keeping settings).

Return to stock
---------------
Install stock firmware image (without keeping settings) using OpenWrt
sysupgrade method.

Recovery
--------
Connect uart, use u-boot menu to flash stock firmware image or boot
OpenWrt initramfs image.

MAC addresses
-------------
+---------+-------------------+-----------+
|         | MAC               | Algorithm |
+---------+-------------------+-----------+
| WAN     | 24:0f:5e:xx:xx:08 | label     |
| LAN     | 24:0f:5e:xx:xx:09 | label+1   |
| WLAN 2g | 24:0f:5e:xx:xx:0a | label+2   |
| WLAN 5g | 24:0f:5e:xx:xx:0b | label+3   |
+---------+-------------------+-----------+
The WLAN 2g MAC was found in 'Factory', 0x4

Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
(cherry picked from commit fdb6962f20)
[fix merging conflict in mediatek_filogic, 01_leds, 02_network]
Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18601
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-05-08 20:35:36 +02:00
Olgun DemirandHauke Mehrtens d29ee6c47e ramips: Add support for Xiaomi MiWiFi 3A
The Xiaomi MiWiFi 3A wireless router has a similar system architecture as the Xiaomi Mi 4A router, which is already officially supported by OpenWrt.

Product website: https://www.mi.com/miwifi3a

Device specification
--------------------
SoC:      MT7628AN MIPS_24KEc @ 580 MHz 2.4G-bgn 2x2
WiFi:     MT7612EN 5G-an, ac 80 MHz 2T2R
Flash:    16 MB
DRAM:     64 MB
Switch:   MT7628AN (integrated in SoC)
Ethernet: 1 x 10 /100 Mbps
USB:      None
Antennas: 2 x 2,4 GHz and 2 x 5 GHz (all are external and non-detachable)
LEDs:     blue/red/amber
Buttons:  Reset
Serial:   115200,8n1

MAC addresses as verified by OEM firmware:
------------------------------------------
use address source
LAN *:DD factory 0x28
WAN *:DD factory 0x28
2g *:DE factory 0x4
5g *:DF factory 0x8004

OEM firmware uses VLAN's to create the network interface for WAN and LAN.

Bootloader info:
----------------
The stock bootloader uses a "Dual ROM Partition System".
OS1 is a deep copy of OS2.
The bootloader starts OS2 by default.
To force start OS1 it is needed to set "flag_try_sys2_failed=1".

How to install:
---------------
1- Use OpenWRTInvasion to gain Telnet, SSH and FTP access: https://github.com/acecilia/OpenWRTInvasion
[IP: 192.168.31.1 | Username: root | Password: root | FTP-Port: 21]
2- Connect to router using telnet or ssh.
3- Backup all partitions. Use command "dd if=/dev/mtd0 of=/tmp/mtd0". Copy /tmp/mtd0 to computer using ftp.
4- Copy openwrt-ramips-mt76x8-xiaomi_miwifi-3a-squashfs-sysupgrade.bin to /tmp in router using ftp.
5- Enable UART access and change start image to OS1.

nvram set uart_en=1
nvram set flag_last_success=1
nvram set boot_wait=on
nvram set flag_try_sys2_failed=1
nvram commit

6- Erase OS1 & OS2 and install OpenWrt

mtd erase OS1
mtd erase OS2
mtd -r write /tmp/openwrt-ramips-mt76x8-xiaomi_miwifi-3a-squashfs-sysupgrade.bin OS1

Credits:
--------
This PR is based on the work of Zehao Zhang (Github: @ZZH-Finalize) that he had published in the PR: #15698

Signed-off-by: Olgun Demir <olgun.demir@mail.com.tr>
Link: https://github.com/openwrt/openwrt/pull/18427
(cherry picked from commit c3b8108a2b)
Link: https://github.com/openwrt/openwrt/pull/18550
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-05-07 21:23:54 +02:00
Jonas JelonekandHauke Mehrtens 6854e1e554 kernel: netdevices: add driver for Broadcom NetXtreme-C/E
Package bnxt_en kernel module for Broadcom NetXtreme-C/E based Ethernet
network chips like BCM573xx and BCM574xx.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17301
(cherry picked from commit a7f4155f54)
Signed-off-by: Josh Bendavid <joshbendavid@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18483
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-05-07 21:15:45 +02:00
Coia PrantandHauke Mehrtens 4a55d894fd kernel: modules: add HiNIC support
Add support for the Huawei Intelligent PCIE Network Interface Card (HiNIC)

Signed-off-by: Coia Prant <coiaprant@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18534
(cherry picked from commit 5fcc57cca6)
Link: https://github.com/openwrt/openwrt/pull/18571
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-05-07 21:12:31 +02:00
Sebastian SchaperandHauke Mehrtens ca38f13ea2 mediatek: filogic: add support for WAVLINK WL-WN573HX3
The WL-WN573HX3 is an AX3000 outdoor Access Point by WAVLINK,
also sold in Europe as 7Links WLR-1300 (ZX-5612).

Specifications:

- MT7981B + MT7976 AX3000 2x2 DBDC (160 MHz)
- 16 MiB SPI NOR, 256 MiB RAM
- Gigabit ethernet port, 802.3af PoE
- IP67 outdoor case for wall or pole mounting with
    four single band RP-SMA fiberglass antennas (8 dBi)

Installation:

- OEM Web UI is at 192.168.30.1 which will forward to
    http://netlogin.link (using a captive portal)
- login with default password `admin`
- skip setup wizard by navigating directly to
    http://netlogin.link/html/meshUpgrade.html
- upload WN573HX3-sysupgrade.bin
- reset to factory defaults to discard OEM UCI settings

MAC address assignment:

LAN         80:xx:xx:76:xx:25  hw 0x44e
WLAN 2.4G   80:xx:xx:76:xx:27  factory 0x04 (label MAC)
WLAN 5G	    82:xx:xx:46:xx:27
pair key    8a:xx:xx:76:xx:27  also on label, not used by OpenWrt

Signed-off-by: Sebastian Schaper <openwrt@sebastianschaper.net>
Link: https://github.com/openwrt/openwrt/pull/18206
(cherry-picked from commit 907cb88e10)
Link: https://github.com/openwrt/openwrt/pull/18557
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-05-07 21:03:31 +02:00
Mikhail ZhilkinandHauke Mehrtens cf9b806182 mediatek: filogic: fix mistaken executable bit on dts file
This commit fixes mistaken executable bit on
mt7981b-mercusys-mr80x-v3.dts file.

Fixes: 7921e48d43 ("mediatek: add support for Mercusys MR80X v3")
Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
(cherry picked from commit f733442c02)
Link: https://github.com/openwrt/openwrt/pull/18522
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-05-07 20:58:33 +02:00
Schneider AzimaandHauke Mehrtens 0ecf136f4d mediatek: add support for Mercusys MR80X v3
This commit adds support for Mercusys MR80X(EU) v3 router.

Device specification:
 - SoC: Mediatek MT7981b, Cortex-A53, 64-bit
 - RAM: 512MB
 - Flash: SPI NAND GigaDevice GD5F1GQ5UEYIGY (128 MB)
 - Ethernet: 4x 100/1000 Mbps LAN1,LAN2,LAN3 & WAN
 - Wireless: 2.4GHz (802.11 b/g/n/ax)
 - Wireless: 5GHz (802.11 a/n/ac/ax)
 - LEDs: 1 orange and 1 green status LEDs, 4 green gpio-controlled LEDs
   on ethernet ports
 - Buttons: 1 (Reset)
 - Bootloader: Main U-Boot - U-Boot 2022.01-rc4. Additionally, both UBI
   slots contain "seconduboot" (also U-Boot 2022.01-rc4)

Installation (UART):
 - Place OpenWrt initramfs-kernel image on tftp server with IP 192.168.1.2
 - Attach UART, switch on the router and interrupt the boot process by
   pressing 'Ctrl-C'.
 - Set the uboot environment for startup.
   setenv tp_boot_idx 0; setenv bootcmd bootm 0x46000000; saveenv
   If the bootarg is set to boot from ubi1, also change it to ubi0.
 - Load and run OpenWrt initramfs image.
   setenv serverip 192.168.1.2; setenv ipaddr 192.168.1.1; tftpboot initramfs-kernel.bin; bootm
 - Login as root via SSH (IP 192.168.1.1, port 22)
 - Upload OpenWrt sysupgrade.bin image to the /tmp dir of the router
 - Run sysupgrade:
   sysupgrade -n /tmp/sysupgrade.bin

Recovery:
 - Press Reset button and power on the router.
 - Navigate to U-Boot recovery web server (http://192.168.1.1/) and
   upload the OEM firmware.

Stock layout:
0x000000000000-0x000000200000 : "boot"
0x000000200000-0x000000300000 : "u-boot-env"
0x000000300000-0x000003500000 : "ubi0"
0x000003500000-0x000006700000 : "ubi1"
0x000006700000-0x000006f00000 : "userconfig"
0x000006f00000-0x000007300000 : "tp_data"

ubi0/ubi1 format:
U-Boot at boot checks that all volumes are in place:
+-------------------------------+
| Volume Name: uboot   Vol ID: 0|
| Volume Name: kernel  Vol ID: 1|
| Volume Name: rootfs  Vol ID: 2|
+-------------------------------+

MAC addresses:
+---------+-------------------+-----------+
|         | MAC               | Algorithm |
+---------+-------------------+-----------+
| label   | 94:0C:xx:xx:xx:12 | label     |
| WAN     | 94:0C:xx:xx:xx:13 | label+1   |
| LAN     | 94:0C:xx:xx:xx:12 | label     |
| WLAN 2g | 94:0C:xx:xx:xx:11 | label-1   |
| WLAN 5g | 94:0C:xx:xx:xx:10 | label-2   |
+---------+-------------------+-----------+
label MAC address was found in UBI partition "tp_data", file
"default-mac".

Signed-off-by: Schneider Azima <Schneider-Azima12@protonmail.com>
Link: https://github.com/openwrt/openwrt/pull/18181
(cherry picked from commit 7921e48d43)
Signed-off-by: Schneider Azima <Schneider-Azima12@protonmail.com>
Link: https://github.com/openwrt/openwrt/pull/18522
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-05-07 20:58:33 +02:00
John AudiaandHauke Mehrtens e099424aaa kernel: bump 6.6 to 6.6.89
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.89

All patches automatically rebased.

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

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/18607
(cherry picked from commit fbcd547a44)
Link: https://github.com/openwrt/openwrt/pull/18730
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-05-07 20:53:17 +02:00
Mieczyslaw NalewajandHauke Mehrtens 9b28f32815 kernel: bump 6.6 to 6.6.88
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.88

Manually rebased:
 - bcm27xx/patches-6.6/950-0327-media-i2c-ov7251-Make-the-enable-GPIO-optional.patch[1]
 - bcm27xx/patches-6.6/950-0521-PCI-brcmstb-Add-BCM2712-support.patch[2]
 - generic/hack-6.6/610-net-page_pool-try-to-free-deferred-skbs-while-waitin.patch[3]
 - generic/pending-6.6/734-net-ethernet-mediatek-enlarge-DMA-reserve-buffer.patch[4]

All other patches automatically rebased.

1. https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.88&id=f249c05416ea0bef24c9dbed0e653d2fad87b127
2. https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.88&id=1fea7726276e5d6526ecd4e7ccb4c91a6135deb5
3. https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.88&id=95f17738b86fd198924d874a5639bcdc49c7e5b8
4. https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.88&id=a2874f0dff63829d1f540003e2d83adb610ee64a

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/18607
(cherry picked from commit a72a2fd7e0)
Link: https://github.com/openwrt/openwrt/pull/18730
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-05-07 20:53:16 +02:00
Christian MarangiandHauke Mehrtens cee749b889 generic: drop extra-old-deprecated pending fix patch for sch codel
Patch 620-net_sched-codel-do-not-defer-queue-length-update.patch is
actually an ancient patch that somehow manage to be ported for 7 solid
years.

This comes from [1] where a fix patch was proposed. Nobody notice that
the proposed patch was actually rejected upstream in favor of [2]. And
the upstream fix patch is present in kernel from version 4.18.

This means that we were actually fixing for a non existant bug and maybe
introducing regression down the line.

Drop the patch for good as we already have a fix for it in flace for a
long time.

[1] https://bugzilla.kernel.org/show_bug.cgi?id=109581
[2] https://github.com/torvalds/linux/commit/35b42da69e35536da603a50e40aa6c41b2f7b0f8

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 0f9af6dcd9)
Link: https://github.com/openwrt/openwrt/pull/18730
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-05-07 20:53:16 +02:00
John AudiaandHauke Mehrtens 517d8a102f kernel: bump 6.6 to 6.6.87
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.87

Manually rebased:
	generic-hack/781-usb-net-rndis-support-asr.patch

All other patches automatically rebased.

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

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/18457
(cherry picked from commit 66b5ed7a4e)
Link: https://github.com/openwrt/openwrt/pull/18730
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-05-07 20:53:16 +02:00
Dave MarquardandÁlvaro Fernández Rojas b546f80a3f bcm27xx: bcm2712: support all devices
- RPi 500
- RPi 5 Compute Module
- RPi 5B (bcm2712 d0 rev)

Signed-off-by: Dave Marquard <dave-atx@users.noreply.github.com>
Link: https://github.com/openwrt/openwrt/pull/18622
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 169dc6270a)
2025-05-07 08:33:02 +02:00
Dave MarquardandÁlvaro Fernández Rojas c9de6f06db linux-firmware: add Raspberry Pi 5 CM NVRAM
The RPi 5 Compute Module expects the same NVRAM as the one from RPi 4
on a different file.

Signed-off-by: Dave Marquard <dave-atx@users.noreply.github.com>
Link: https://github.com/openwrt/openwrt/pull/18722
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 8774dd7761)
2025-05-07 08:33:02 +02:00
Tim HarveyandRobert Marko 02422b04d4 imx: coretexa53: add network config for single-port Gateworks Venice boards
Add network config for single-port Gateworks venice boards such that the
ethernet port is the WAN port instead of the default being a LAN port.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Link: https://github.com/openwrt/openwrt/pull/18629
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 2d6f0275f8)
2025-05-06 18:32:39 +02:00
Tianling Shen 91135c971e dnsmasq: bump PKG_RELEASE
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 3277a38e14)
2025-05-06 14:29:01 +08:00
Tianling Shen 99bfa54acf dnsmasq: change priority of dns hihack rule
To aviod conflict with other programs.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 3d643fcd04)
2025-05-05 20:42:38 +08:00
Christoph KrappandDavid Bauer 99708cc16d mediatek: filogic: add support for ASUS RT-AX52
Hardware
--------
SOC:   MediaTek MT7981b
RAM:   256MB DDR3
FLASH: 128MB SPI-NAND (Winbond W25N01GV)
WIFI:  Mediatek MT7981b DBDC 802.11ax 2.4/5 GHz
ETH:   MediaTek MT7531 Switch
UART:  3V3 115200 8N1 (Pinout silkscreened / Do not connect VCC)

Installation
-----------------------------------------------------------
Vendor-UI Method
-----------------------------------------------------------
1. Download the OpenWrt initramfs.trx image.

2. Connect the PC via LAN to one of the yellow router ports and wait
   until your PC to get a DHCP lease.

3. Browse to http://192.168.50.1

4. If your router is brand new, finish the setup process and log into
   the Web-UI.

5. Navigate to Administration -> Firmware Upgrade and upload the
   downloaded OpenWrt image.

6. Wait for OpenWrt to boot. Transfer the sysupgrade image to the device
   using scp and install using sysupgrade.

   $ sysupgrade -n <path-to-sysupgrade.bin>
-----------------------------------------------------------
TFTP Method
-----------------------------------------------------------
1. Download the OpenWrt initramfs image. Copy the image to a TFTP server
   reachable at 192.168.1.70/24. Rename the image to rtax52.bin.

2. Connect the PC with TFTP server to the RT-AX52.
   Set a static ip on the ethernet interface of your PC.
     (ip address: 192.168.1.70, subnet mask:255.255.255.0)
  Conect to the serial console,
   interrupt the autoboot process by pressing '4' when prompted.

3. Download & Boot the OpenWrt initramfs image.

   $ setenv ipaddr 192.168.1.1
   $ setenv serverip 192.168.1.70
   $ tftpboot 0x46000000 rtax52.bin
   $ bootm 0x46000000

4. Wait for OpenWrt to boot. Transfer the sysupgrade image to the device
   using scp and install using sysupgrade.

   $ sysupgrade -n <path-to-sysupgrade.bin>
---------------------------------------------------------------------------
Revert to stock firmware:
1: Download the rt-ax52 firmware from ASUS official website. Save
   the firmware to tftp server directory and rename to RT-AX52.trx

2: Connect the PC with TFTP server to the RT-AX52.
   Set a static ip on the ethernet interface of your PC.
     (ip address: 192.168.1.70, subnet mask:255.255.255.0)

3: Conect to the serial console,  power on again,  interrupt the
   autoboot process by pressing '4' when prompted.
  $: ubi remove linux
  $: ubi remove jffs2
  $: ubi remove rootfs
  $: ubi remove rootfs_data
  $: ubi create linux 0x45fe000
  $: reset

  Then the dut will reboot,interrupt the autoboot process by
  pressing '2' when prompted.
       2: Load System code then write to Flash via TFTP.
       Warning!! Erase Linux in Flash then burn new one. Are you sure?(Y/N)
       $: enter y
  you will see the follow, type enter directly:
       Input device IP (192.168.1.1) ==:
       Input server IP (192.168.1.70) ==:
       Input Linux Kernel filename (RT-AX52.trx) ==:

4: wait for the device run up

Based on support for ASUS RT-AX52 by liudongdongdong7397
and trx image generation by remittor

Signed-off-by: Christoph Krapp <achterin@gmail.com>
(cherry picked from commit 50d9ca6e5a)
(remove factory image generation)
Signed-off-by: David Bauer <mail@david-bauer.net>
2025-05-04 16:36:49 +02:00
Tianling Shen 17073ead85 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-05-04 19:37:43 +08:00
Tianling Shen 5ba2f5f9ce mt76: add workaround for corrupted e2p on mt7996
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-05-04 14:46:05 +08:00
Tianling Shen 61e8c94bfc mt76: drop buggy vht patch
Closes: #1443
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-05-04 14:46:05 +08:00
Robert Marko 069f988d9d toolchain: binutils: fix compilation with GCC15
GCC15 has switched the C language default from GNU17 to GNU23[1] and this
causes builds to fail with:
In file included from mips-opc.c:29:
mips-opc.c: In function 'decode_mips_operand':
mips-formats.h:86:7: error: expected identifier or '(' before 'static_assert'
   86 |       static_assert[(1 << (SIZE)) == ARRAY_SIZE (MAP)]; \
      |       ^~~~~~~~~~~~~
mips-opc.c:214:15: note: in expansion of macro 'MAPPED_REG'
  214 |     case 'z': MAPPED_REG (0, 0, GP, reg_0_map);
      |               ^~~~~~~~~~

So, backport upstream fix for this[2] to fix compilation with GCC15.
Patch for 2.40 was manually refreshed as part of the S390 code does not
exist in 2.40 as it was added after it.

[1] https://gcc.gnu.org/gcc-15/porting_to.html#c23
[2] https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=8ebe62f3f0d27806b1bf69f301f5e188b4acd2b4

Fixes: #18678
Link: https://github.com/openwrt/openwrt/pull/18681
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit d3216173ab)
2025-05-03 22:47:07 +02:00
David Bauer cc1b909a6b ramips: make Genexis EX400 factory image dependent on initramfs
The factory image generation for the Genexis EX400 image currently fails
if CONFIG_TARGET_ROOTFS_INITRAMFS is disabled.

Create the factory image only if said config option is enabled to avoid
failing builds.

Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit 4e83d5ec26)
2025-05-01 14:58:54 +02:00
Tianling Shen cc42ebba0a autocore: avoid override packet_steering value
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 1b3d84a03e)
2025-04-30 20:17:55 +08:00
Tianling Shen 615dc0a104 config: disable grub timeout to fix boot issue on some shit devices
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 25a6dc6a6e)
2025-04-29 15:27:08 +08:00
Tianling Shen b1cd8a72bd Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-04-28 18:41:27 +08:00
Felix Fietkau 0b392b925f kernel: fix UDPv6 GSO segmentation with NAT
Fixes issues with rx-gro-list and NAT66

Fixes: https://github.com/openwrt/openwrt/issues/18387
Fixes: https://github.com/openwrt/openwrt/issues/18516
Fixes: https://github.com/openwrt/openwrt/issues/18608
Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 5501a502e4)
2025-04-26 20:53:51 +02:00
Tianling Shen 3b3ff50dcd kernel: add missing Kconfig
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit b61d5356a5)
2025-04-25 19:11:52 +08:00
Robert Marko 78d517a18c toolchain: gdb: set -std=gnu17
Fedora 42 updated to GCC15 which now defaults to GNU23 as the default
instead of GNU17[1], and this breaks gdb compilation.

This looks like a readline issue, that was fixed in GDB 16.2 but to
not update toolchain components we can simply set the C standard back
to GNU17.

[1] https://gcc.gnu.org/gcc-15/porting_to.html#c23

Link: https://github.com/openwrt/openwrt/pull/18581
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-04-25 10:55:04 +02:00
Robert Marko e0069e7587 jsonfilter: update to Git HEAD (2025-04-18)
8a86fb78235b build: set GNU17 for lemon compilation

Link: https://github.com/openwrt/openwrt/pull/18525
(cherry picked from commit 891c8244f2)
Link: https://github.com/openwrt/openwrt/pull/18581
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-04-25 10:55:04 +02:00
John AudiaandRobert Marko 5462cba522 tools/e2fsprogs: update to 1.47.2
Release information (not yet published):
https://e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.47.2

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/17499
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 40e2710dfa)
Link: https://github.com/openwrt/openwrt/pull/18581
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-04-25 10:55:04 +02:00
Rosen PenevandRobert Marko a4fec25e24 tools/squashfs3-lzma: fix compilation with GCC15
Function pointers require proper types now.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18572
(cherry picked from commit d5c6452516)
Link: https://github.com/openwrt/openwrt/pull/18581
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-04-25 10:55:04 +02:00
Robert Marko d9fccc8e1a tools: gmp: fix compilation with GCC15
Fedora 42 updated to GCC15 which now defaults to GNU23 as the default
instead of GNU17[1], and this breaks GMP compilation by failing to find
a working compiler test.

Its been fixed upstream [2][3], so backport the fix to fix GCC15 compilation.

[1] https://gcc.gnu.org/gcc-15/porting_to.html#c23
[2] https://gmplib.org/repo/gmp/rev/8e7bb4ae7a18
[3] https://gmplib.org/repo/gmp/rev/d66d66d82dbb

Link: https://github.com/openwrt/openwrt/pull/18506
(cherry picked from commit 31800db91d)
Link: https://github.com/openwrt/openwrt/pull/18581
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-04-25 10:55:03 +02:00
Robert Marko 1e51fd037d tools: elfutils: set -std=gnu17
Fedora 42 updated to GCC15 which now defaults to GNU23 as the default
instead of GNU17[1], and this breaks m4 compilation.

This looks like a gnulib issue, so until that is updated/fixed
lets simply set C language version back to GNU17.

[1] https://gcc.gnu.org/gcc-15/porting_to.html#c23

Link: https://github.com/openwrt/openwrt/pull/18506
(cherry picked from commit f165dd2f78)
Link: https://github.com/openwrt/openwrt/pull/18581
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-04-25 10:55:03 +02:00
Robert Marko 5531dc7109 tools: cpio: fix compilation with GCC15
Fedora 42 updated to GCC15 which now defaults to GNU23 as the default
instead of GNU17[1], and this breaks cpio compilation.

Its been reported upstream [2], so import the patch attached to the bug
report that fixes compilation with GCC15.

[1] https://gcc.gnu.org/gcc-15/porting_to.html#c23
[2] https://savannah.gnu.org/bugs/?66297

Link: https://github.com/openwrt/openwrt/pull/18506
(cherry picked from commit c5041094ba)
Link: https://github.com/openwrt/openwrt/pull/18581
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-04-25 10:55:03 +02:00
Robert Marko 9b652e276f tools: m4: set -std=gnu17
Fedora 42 updated to GCC15 which now defaults to GNU23 as the default
instead of GNU17[1], and this breaks m4 compilation.

Its been reported upstream [2], so until its fixed lets simply set C
language version back to GNU17.

[1] https://gcc.gnu.org/gcc-15/porting_to.html#c23
[2] https://savannah.gnu.org/support/?111150

Link: https://github.com/openwrt/openwrt/pull/18505
(cherry picked from commit 8c141e53d7)
Link: https://github.com/openwrt/openwrt/pull/18581
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-04-25 10:55:03 +02:00
Felix Fietkau 274418b028 udebug: add missing dependencies
Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit b0710e964d)
2025-04-24 14:24:20 +02:00
Tianling Shen 7d0427a8f8 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-04-23 18:46:20 +08:00
Weijie GaoandRobert Marko 3a481ae21b toolchain: mold: add PKG_NAME to Makefile
In include/host-build.mk, HOST_BUILD_DIR is set by default value:
HOST_BUILD_DIR ?= $(BUILD_DIR_HOST)/$(PKG_NAME)

However the mold package has no PKG_NAME set at all. This means the
HOST_BUILD_DIR is identical to $(BUILD_DIR_HOST).

In the Host/Prepare stage, by default, the $(HOST_BUILD_DIR) will be
deleted at first unconditionally. Since HOST_BUILD_DIR is identical
to $(BUILD_DIR_HOST), the entire build_dir/toolchain-* directory will
be removed and this will cause build failure.

Adding PKG_NAME:=ld.mold can solve this issue.

Signed-off-by: Weijie Gao <hackpascal@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18567
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit b9cb07eced)
2025-04-23 12:22:58 +02:00
Álvaro Fernández Rojas 49901245e5 kernel: r8168: add RSS variant
Instead of enabling RSS support, let's introduce a variant and let users
choose between both variants since it can cause network issues.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit cb3fc1aef9)
2025-04-23 10:25:39 +02:00
Álvaro Fernández Rojas da59bc0a6b kernel: r8127: rss: enable ENABLE_MULTIPLE_TX_QUEUE
We need both ENABLE_RSS_SUPPORT and ENABLE_MULTIPLE_TX_QUEUE in order to
support multiple RX and TX queues.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 7615de6ef0)
2025-04-23 10:25:24 +02:00
Álvaro Fernández Rojas c46ee416be kernel: r8126: rss: enable ENABLE_MULTIPLE_TX_QUEUE
We need both ENABLE_RSS_SUPPORT and ENABLE_MULTIPLE_TX_QUEUE in order to
support multiple RX and TX queues.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit a3e51a3956)
2025-04-23 10:25:10 +02:00
Pavel KubelunandÁlvaro Fernández Rojas a42c06d674 kernel: r8125: rss: enable ENABLE_MULTIPLE_TX_QUEUE
We need both ENABLE_RSS_SUPPORT and ENABLE_MULTIPLE_TX_QUEUE in order to
support multiple RX and TX queues.

Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18509
[bump release, improve commit description and package changes]
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit d127963a46)
2025-04-23 10:24:50 +02:00
Pavel KubelunandÁlvaro Fernández Rojas ec82f459c9 kernel: r8125: disable ASPM
Disable ASPM support for this NIC, fixing strange behavior problems, such as
increased latency, strange uneven throughput, etc.
With this option disabled the NIC achieves stable performance.
Upsteam r8169 driver disables ASPM by default for this NIC.

Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18509
[bump release, fix commit description, split 2nd tx queue part]
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit f99b39fd0c)
2025-04-23 10:24:30 +02:00
Álvaro Fernández Rojas 31292ddc10 kernel: r8127: load module at boot time
This allows the network interface naming to be stable, free from any
possible interaction from external USB network devices that might
claim usb* interface names.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit b5680bd113)
2025-04-23 10:24:10 +02:00
Álvaro Fernández Rojas 111d88e896 kernel: r8126: load module at boot time
This allows the network interface naming to be stable, free from any
possible interaction from external USB network devices that might
claim usb* interface names.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 9bb151d0c6)
2025-04-23 10:23:50 +02:00
Álvaro Fernández Rojas 50cf9bbf17 kernel: r8125: load module at boot time
This allows the network interface naming to be stable, free from any
possible interaction from external USB network devices that might
claim usb* interface names.

Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18509
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit ce9f539672)
2025-04-23 10:23:30 +02:00
Álvaro Fernández Rojas 7bef5367a7 kernel: r8168: load module at boot time
This allows the network interface naming to be stable, free from any
possible interaction from external USB network devices that might
claim usb* interface names.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 617961403c)
2025-04-23 10:23:14 +02:00
Álvaro Fernández Rojas 6c15645a12 kernel: r8101: load module at boot time
This allows the network interface naming to be stable, free from any
possible interaction from external USB network devices that might
claim usb* interface names.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 7aeb837bf4)
2025-04-23 10:22:22 +02:00
Álvaro Fernández Rojas 1eab9b8a9b generic: 6.6: backport upstream v6.15 Realtek PHY patches
bfc17c1658353 net: phy: realtek: disable PHY-mode EEE
fabcfd6d10999 net: phy: realtek: add defines for shadowed c45 standard registers
8af2136e77989 net: phy: realtek: add helper RTL822X_VND2_C22_REG
02d3b306ac2f0 net: phy: realtek: switch from paged to MMD ops in rtl822x functions
da681ed73fb98 net: phy: realtek: improve mmd register access for internal PHY's
0bea93fdbaf86 net: phy: realtek: use string choices helpers
51773846fab24 net: phy: realtek: make HWMON support a user-visible Kconfig symbol

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 7673a165a9)
2025-04-23 08:38:32 +02:00
Álvaro Fernández Rojas 5663f8e166 generic: 6.6: backport upstream v6.15 r8169 patches
b48688ea3c9ac r8169: disable RTL8126 ZRX-DC timeout
3d9b8ac534126 r8169: enable RTL8168H/RTL8168EP/RTL8168FP ASPM support
473367a5ffe16 r8169: increase max jumbo packet size on RTL8125/RTL8126
853e80369cfce r8169: add PHY c45 ops for MDIO_MMD_VENDOR2 registers
d30460f42675f r8169: add support for Intel Killer E5000
faac69a4ae5ab r8169: don't scan PHY addresses > 0
135c3c86a7cef r8169: make Kconfig option for LED support user-visible

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 36623119b3)
2025-04-23 08:38:32 +02:00
Álvaro Fernández Rojas c5abbe71d9 generic: backport pmdomain dummy release patch
Fixes the following warning trace on bcm27xx devices when bcm2835-power is
deferred:
[    0.216800] ------------[ cut here ]------------
[    0.216807] Device 'grafx' does not have a release() function, it is broken and must be fixed. See Documentation/core-api/kobject.rst.
[    0.216863] WARNING: CPU: 0 PID: 1 at drivers/base/core.c:2516 device_release+0x80/0x90
[    0.216887] Modules linked in:
[    0.216896] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 6.6.85 #0
[    0.216905] Hardware name: Raspberry Pi 4 Model B Rev 1.1 (DT)
[    0.216911] pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[    0.216919] pc : device_release+0x80/0x90
[    0.216928] lr : device_release+0x80/0x90
[    0.216936] sp : ffffffc080ccb6d0
[    0.216940] x29: ffffffc080ccb6d0 x28: 0000000000000000 x27: ffffff8040d49810
[    0.216953] x26: ffffff8040c904b8 x25: ffffff8040c904a0 x24: ffffffc0808a7f08
[    0.216964] x23: ffffffc080a1a6d8 x22: 0000000000000000 x21: ffffffc080a1afe0
[    0.216976] x20: 0000000000000000 x19: ffffff8040c900b8 x18: 000000000000009f
[    0.216987] x17: 206e656b6f726220 x16: 7369207469202c6e x15: ffffffc080b4ee88
[    0.216998] x14: 00000000000001dd x13: 000000000000009f x12: 00000000ffffffea
[    0.217009] x11: 00000000ffffefff x10: ffffffc080ba6e88 x9 : ffffffc080b4ee30
[    0.217020] x8 : 0000000000017fe8 x7 : c0000000ffffefff x6 : 0000000000057fa8
[    0.217031] x5 : 0000000000000fff x4 : 0000000000000000 x3 : ffffffc080ccb4d0
[    0.217042] x2 : ffffffc080b4edc8 x1 : ffffffc080b4edc8 x0 : 000000000000007a
[    0.217053] Call trace:
[    0.217058]  device_release+0x80/0x90
[    0.217067]  kobject_put+0xac/0x100
[    0.217078]  put_device+0x14/0x24
[    0.217086]  genpd_remove+0x16c/0x244
[    0.217093]  pm_genpd_remove+0x2c/0x50
[    0.217099]  bcm2835_power_probe+0x1f8/0x2b8
[    0.217107]  platform_probe+0x68/0xc4
[    0.217118]  really_probe+0x148/0x2b0
[    0.217125]  __driver_probe_device+0x78/0x128
[    0.217131]  driver_probe_device+0x40/0xdc
[    0.217138]  __device_attach_driver+0xb8/0xf8
[    0.217145]  bus_for_each_drv+0x70/0xb8
[    0.217151]  __device_attach+0xa0/0x184
[    0.217158]  device_initial_probe+0x14/0x20
[    0.217165]  bus_probe_device+0xac/0xb0
[    0.217171]  device_add+0x5a8/0x760
[    0.217177]  platform_device_add+0x184/0x240
[    0.217184]  mfd_add_device+0x3e8/0x4c0
[    0.217195]  devm_mfd_add_devices+0xa0/0x118
[    0.217202]  bcm2835_pm_probe+0x144/0x1d8
[    0.217210]  platform_probe+0x68/0xc4
[    0.217217]  really_probe+0x148/0x2b0
[    0.217224]  __driver_probe_device+0x78/0x128
[    0.217230]  driver_probe_device+0x40/0xdc
[    0.217237]  __driver_attach+0x90/0x160
[    0.217243]  bus_for_each_dev+0x64/0xa4
[    0.217249]  driver_attach+0x24/0x30
[    0.217256]  bus_add_driver+0xe4/0x208
[    0.217262]  driver_register+0x5c/0x124
[    0.217269]  __platform_driver_register+0x28/0x34
[    0.217276]  bcm2835_pm_driver_init+0x1c/0x28
[    0.217286]  do_one_initcall+0x6c/0x1fc
[    0.217294]  kernel_init_freeable+0x208/0x2e4
[    0.217306]  kernel_init+0x28/0x1e4
[    0.217313]  ret_from_fork+0x10/0x20
[    0.217320] ---[ end trace 0000000000000000 ]---

This issue was introduced in v6.6.69 with the following backport:
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=36a6e8aeae4a41767bb59f56b100c8cc9ffae2cb

The upstream patch has been adapted to v6.6:
https://github.com/torvalds/linux/commit/f64f610ec6ab59dd0391b03842cea3a4cd8ee34f

More info: https://github.com/raspberrypi/linux/issues/6777

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit f65c44f67f)
2025-04-23 08:37:03 +02:00
Mieczyslaw NalewajandHauke Mehrtens 687d713e79 generic: rename backport patch 752-03 to name with correct version
Rename 752-03-v6.6-net-ethernet-mtk_eth_soc-rely-on-mtk_pse_port-defini.patch
to 752-03-v6.7-net-ethernet-mtk_eth_soc-rely-on-mtk_pse_port-defini.patch
because it is used since kernel 6.7 (https://lore.kernel.org/lkml/20231028011741.2400327-1-kuba@kernel.org/).
Link: https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.7.y&id=5c33c09c89789ea45d2aac2471a28c9f90b04c95

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/18253
(cherry picked from commit a81099bca2)
Link: https://github.com/openwrt/openwrt/pull/18428
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-04-22 19:16:30 +02:00
Mieczyslaw NalewajandHauke Mehrtens 4ee8c2dd1b generic: rename backport patches to names containing version
Rename 770-net-introduce-napi_is_scheduled-helper.patch
to 770-v6.7-net-introduce-napi_is_scheduled-helper.patch
because it is used since kernel 6.7 (https://lore.kernel.org/lkml/20231028011741.2400327-1-kuba@kernel.org/).
Link: https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.7.y&id=7f3eb2174512fe6c9c0f062e96eccb0d3cc6d5cd

Rename 751-01-STABLE-net-ethernet-mediatek-split-tx-and-rx-fields-in-mtk_.patch
to 751-01-v6.8-net-ethernet-mediatek-split-tx-and-rx-fields-in-mtk_.patch
because it is used since kernel 6.8.12 (https://lore.kernel.org/lkml/2024053036-matron-confess-13e0@gregkh/).
Link: https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.8.y&id=b411384df5814fe6fd861d4869607577bcec73a1

Rename 751-02-STABLE-net-ethernet-mediatek-use-QDMA-instead-of-ADMAv2-on-.patch
to 751-02-v6.8-net-ethernet-mediatek-use-QDMA-instead-of-ADMAv2-on-.patch
because it is used since kernel 6.8.12 (https://lore.kernel.org/lkml/2024053036-matron-confess-13e0@gregkh/).
Link: https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.8.y&id=0849f56b5146b70f2da328b1d178d0a3c53d6846

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/18253
(cherry picked from commit 0991d2f06d)
Link: https://github.com/openwrt/openwrt/pull/18428
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-04-22 19:16:30 +02:00
fujrandTianling Shen f0a9dbba8a rockchip: fix cyber3588 pwm fan
Signed-off-by: fujr <fjrcn@outlook.com>
[refine cooling-maps, add kmod-hwmon-pwmfan to dependencies]
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 924c10db75)
2025-04-22 19:11:55 +08:00
Tianling Shen 24395c3ec3 ramips: add support for Huasifei WHF283
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 6a921f15b8)
2025-04-17 17:41:16 +08:00
Tianling Shen 2ee21f9ccd ImmortalWrt v24.10.1: revert to branch defaults
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-04-16 19:25:27 +08:00
Tianling Shen eaeac309a7 ImmortalWrt v24.10.1: adjust config defaults
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-04-16 19:25:26 +08:00
Tianling Shen cc720ea55a Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-04-15 19:38:42 +08:00
Tianling Shen 062916e675 rockchip: add phy leds setup script
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 55f9aa693a)
2025-04-15 16:32:29 +08:00
Tianling Shen ef066c128e rockchip: change to use upstream driver for rtl8111
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit d36e763056)
2025-04-15 13:34:41 +08:00
Daniel Golle 9e9f6875bc generic: fitblk: close block device if mapping image failed
In case a broken fit image is present on flash the fitblk driver would
not map any /dev/fit* devices, but also not always close the block device
the image resides on. In case of ubiblock devices this is fatal as one
then cannot remove the ubiblock device (-EBUSY), and hence cannot replace
the broken image.
Always close the block device in case no sub-image was mapped.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit 2b9c81d1cb)
2025-04-14 18:32:05 +01:00
Daniel Golle be1b254888 kernel: move accepted patch from pending-6.6 to backport-6.6
742-net-phy-air_en8811h-reset-netdev-rules-when-LED-is-s.patch has been
accepted a while ago as
https://git.kernel.org/torvalds/linux/c/87bfdbbb1992

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit 7a303d861a)
2025-04-14 18:32:05 +01:00
Tianling Shen 132b97e425 r8152: remove unnecessary dependency
It does not depend on kmod-usb-net.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 57c24aaa31)
2025-04-14 17:40:47 +08:00
Tianling Shen 045fcef30e r8127: enable rss support by default
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 637cb5d990)
2025-04-14 17:32:40 +08:00
Tianling Shen 1337be5202 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-04-14 17:32:38 +08:00
Hauke Mehrtens 6271b14140 OpenWrt v24.10.1: revert to branch defaults
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-04-14 01:07:39 +02:00
Hauke Mehrtens d183d7bb78 OpenWrt v24.10.1: adjust config defaults
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-04-14 01:07:35 +02:00
Hannu NymanandRobert Marko 0425664679 ca-certificates: Update to 20241223
Update ca-certificates to version 20241223

  * Update Mozilla certificate authority bundle to version 2.70.
    The following certificate authorities were added (+):
    + Telekom Security TLS ECC Root 2020
    + Telekom Security TLS RSA Root 2023
    + FIRMAPROFESIONAL CA ROOT-A WEB
    + TWCA CYBER Root CA
    + SecureSign Root CA12
    + SecureSign Root CA14
    + SecureSign Root CA15
    The following certificate authorities were removed (-):
    - Security Communication Root CA (closes: #1063093)

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Link: https://github.com/openwrt/openwrt/pull/18468
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit c79572210f)
2025-04-13 18:38:32 +02:00
INAGAKI HiroshiandRobert Marko c0ae5d2071 ath79: fix initramfs execution for NEC Aterm devices
Fix execution of initramfs image on NEC Aterm devices by increasing
available memory for lzma extraction of lzma-loader.

The size of initramfs image of v24.10.0 exceeds available memory
(LZMA_TEXT_START - LOADADDR) and loader data running at LZMA_TEXT_START
will be overwritten by extracted data. As a result, LZMA extraction will
be broken and stuck (or unexpectedly reset).
Fix that issue by setting higher LZMA_TEXT_START address to increase
available memory for LZMA extraction by lzma-loader.

log (v24.10.0):

boot> tftpd
tftpd start 192.168.0.1
boot> start tftp load openwrt-24.10.0-ath79-generic-ne
end tftp load length = 6569768
start memory load ...
memory load complete
  begin  : 0x80040000
  length : 6567044
  startup: 0x80040000

boot> boot
begin  : 0x80040000
length : 6567044
startup: 0x80040000
option: 0x0
NEC Aterm series (QCA9558)

Calibrating SGMII
SGMII cal value = 0xe

Configuring SGMII force mode
  SGMII_CONFIG : 0x000000a2
  MR_AN_CONTROL: 0x00008140
  MR_AN_CONTROL: 0x00000140

OpenWrt kernel loader for AR7XXX/AR9XXX
Copyright (C) 2011 Gabor Juhos <juhosg@openwrt.org>
Decompressing kernel... [:<syntax:value>]');retu  <--- (stuck)
IPL:SOFT-RESET                    <--- (reset by WDT)
memory test ... ok
flinstall OK

boot version: 1.0.0
...

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18476
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 10a674d277)
2025-04-13 16:55:16 +02:00
Álvaro Fernández Rojas b4af5bbcf7 package: add kmod-r8127 ethernet driver
r8127 is an out of tree driver provided by Realtek for RTL8127 devices.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 851ea69d8e)
2025-04-10 22:39:58 +02:00
Matthias FranckandHauke Mehrtens eed88d4f10 busybox: use external libtirpc when using glibc
In recent glibc versions rpc functionality has been moved to a separate
library instead of glibc itself.
Depend on this library when rpc functionality is needed and glibc is
used.

Signed-off-by: Matthias Franck <matthias.franck@softathome.com>
Link: https://github.com/openwrt/openwrt/pull/17796
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 84e0900867)
2025-04-10 20:51:56 +02:00
Ming KuangandHauke Mehrtens 3f00d6ba01 wifi-scripts: mac80211.sh: add EHT and HE160 support to iw_htmode
For WIFI7 devices (such as mt7925e), the dev width is currently
always "20 MHz (no HT)" in monitor mode.

Add EHT and HE160 support to iw_htmode to fix this issue.
Additionally, the following changes are made:
1. Set iw_htmode to 160MHz for VHT160. The reason for the current
   VHT160 setting is unclear and seems to have been in place for
   over a decade (ibss_htmode [1]). If anyone knows its impact,
   please inform me so I can restore it.
2. Modify MHZ to MHz. The original matching table in the current
   iw tool uses MHz. Although the match is case-insensitive,
   correcting this won't hurt.

[1]: https://github.com/openwrt/openwrt/commit/768d09be8781228d3553142c0f1e1231c6aacc7c

Signed-off-by: Ming Kuang <ming@imkuang.com>
Link: https://github.com/openwrt/openwrt/pull/18319
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 86eb1c0b5a)
2025-04-10 20:51:56 +02:00
Shiji YangandHauke Mehrtens 31c3ab3b45 ipq40xx: dts: fix "qcom,coexist-support" property type
Convert the property variable type of "qcom,coexist-support" from
u32 to u8 to match the definition in the dt-bindings document.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18393
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 3526dbabdc)
2025-04-10 20:51:56 +02:00
Shiji YangandHauke Mehrtens ced823497a ath10k-ct: remove "qcom,coexist-support" property type hack
The ath10k dt-binding property "qcom,coexist-support" was
explicitly defined as type uint8 since upstream commit
ed09c61eb19d ("dt-bindings: net: Convert ath10k to YAML").
Therefore, this hack patch no longer makes sense.

Link: https://github.com/torvalds/linux/commit/ed09c61eb19d9889780c791cb316ac76468f5186
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18393
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit da13174aa1)
2025-04-10 20:51:18 +02:00
Shiji YangandHauke Mehrtens 30c1c6d7c3 ath10k-ct: silence some harmless noisy logs
Users feel anxious about some ath10k driver logs. After further
investigation, in fact these logs are harmless. Only developers
need to care about them in order to optimize some parameters.
Let's just silence them to reduce these similar user reports.

Closes: https://github.com/openwrt/openwrt/issues/13148
Closes: https://github.com/openwrt/openwrt/issues/14422
Closes: https://github.com/openwrt/openwrt/issues/15959
Closes: https://github.com/openwrt/openwrt/issues/15997
Closes: https://github.com/openwrt/openwrt/issues/16896
Closes: https://github.com/openwrt/openwrt/issues/18046
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18368
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 88234a03bc)
[Apply to ath10k-ct 6.10]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-04-10 20:50:56 +02:00
Mieczyslaw NalewajandHauke Mehrtens 7145b85295 kernel: modules: ixgbe,ixgbevf,i40e: remove unused settings and depends
Remove settings and depends that are not used anywhere.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: #18291
(cherry picked from commit b6ff3d9afa)
Link: https://github.com/openwrt/openwrt/pull/18431
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-04-10 20:32:40 +02:00
Fil DunskyandHauke Mehrtens d47f6a365f mediatek: filogic: add support for Huasifei WH3000
**Huasifei WH3000 eMMC / Fudy MT3000**
Portable Wi-Fi 6 travel router based on MediaTek MT7981A SoC.
MT7981B+MT7976CN+RTL8221B Dual Core 1.3GHZ

**Specifications**
SoC: Filogic 820 MT7981A (1.3GHz)
RAM: DDR4 1GB
Flash: eMMC 8GB
WiFi: 2.4GHz and 5GHz with 3 antennas
Ethernet:
1x WAN (10/100/1000M)
1x LAN (10/100/1000/2500M)
USB: 1x USB 3.0 port
Two buttons: power/reset and mode (BTN_0)
LEDS: blue, red, blue+red=pink
UART: 3.3V, TX, RX, GND / 115200 8N1

**Installation via U-Boot rescue**
1. Set static IP 192.168.1.2 on your computer and default route as 192.168.1.1
2. Connect to the WAN port and hold the reset button while booting the device.
3. Wait for the LED to blink 5 times, and release the reset button.
4. Open U-boot web page on your browser at http://192.168.1.1
5. Select the OpenWRT sysupgrade image, upload it, and start the upgrade.
6. Wait for the router to flash the new firmware.
7. Wait for the router to reboot itself.

**Installation via sysupgrade**
Just flash sysupgrade file via [LuCI upgrade page](http://192.168.1.1/cgi-bin/luci/admin/system/flash) without saving the settings.

**Installation via SSH**
Upload the file to the router `/tmp` directory, `ssh root@192.168.1.1` and issue a command:
```
sysupgrade -n /tmp/openwrt-mediatek-filogic-huasifei_wh3000-emmc-squashfs-sysupgrade.bin
```

**Factory MAC**
You can find your Factory MAC which is mentioned on the box at `/dev/mmcblck0p2` partition `factory` starting from `0x4`
```
dd if=/dev/mmcblk0p2 bs=1 skip=4 count=6 | hexdump -C
```

**Enlarging a partition**
Though device has 8GB eMMC, it uses only 2GB `/dev/mmcblck0p6` as `rootfs` for `/rom` and `/overlay` leaving `/dev/mmcblck0p7` as empty unused space.
```
sgdisk -p /dev/mmcblk0
```
```
Disk /dev/mmcblk0: 15269888 sectors, 7.3 GiB
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): 2BD17853-102B-4500-AA1A-8A21D4D7984D
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 14942174
Partitions will be aligned on 1024-sector boundaries
Total free space is 11197 sectors (5.5 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            8192            9215   512.0 KiB   8300  u-boot-env
   2            9216           13311   2.0 MiB     8300  factory
   3           13312           21503   4.0 MiB     8300  fip
   4           21504           29695   4.0 MiB     8300  config
   5           29696           62463   16.0 MiB    8300  kernel
   6           62464         4256767   2.0 GiB     8300  rootfs
   7         4257792        14940159   5.1 GiB     8300
```

You can fix that by loading into `initramfs-kernel`, deleting empty `mmcblck0p7` partition and resizing `mmcblck0p6`
```
sysupgrade -F /tmp/openwrt-initramfs-kernel.bin
```
Install and run cfdisk
```
opkg update && opkg install cfdisk
cfdisk /dev/mmcblck0
```
- Select `mmcblck0p7` -> Delete
- Select `mmcblck0p6` -> Resize -> Write -> yes -> Quit

You will not see any difference in `cat /proc/partitions` after that but just flash a `sysupgrade` and you'll get the whole 7.3GB space for the `/overlay`.

Co-developed-by: hecatae <horus.ra@gmail.com>
Signed-off-by: Fil Dunsky <filipp.dunsky@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18220
(cherry picked from commit 99ea96c297)
Link: https://github.com/openwrt/openwrt/pull/18434
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-04-10 20:29:37 +02:00
Mikhail ZhilkinandHauke Mehrtens 8e8cafcd0e mediatek: add support for netis NX31
This PR adds support for netis NX31 router.

Specification
-------------
- SoC       : MediaTek MT7981BA dual-core ARM Cortex-A53 1.3 GHz
- RAM       : 256 MiB DDR3
- Flash     : SPI-NAND 128 MiB (ESMT)
- WLAN      : MediaTek MT7976CN dual-band WiFi 6
  - 2.4 GHz : b/g/n/ax, MIMO 2x2
  - 5 GHz   : a/n/ac/ax, MIMO 2x2
- Ethernet  : 10/100/1000 Mbps x3 (LAN, MediaTek MT7531AE)
              10/100/1000 Mbps x1 (WAN, SoC internal phy)
- USB       : No
- Buttons   : Mesh, Reset
- LEDs      : 1x Power (blue), unmanaged
              1x Status (blue), gpio-controlled
              1x WiFi 2.4 GHz (blue), gpio-controlled
              1x WiFi 5 GHz (blue), gpio-controlled
              3x LAN activity (blue), switch-controlled
              1x WAN activity (blue), gpio-controlled
- Power     : 12 VDC, 1 A

Installation
------------
1. Connect to the router using ssh (user: admin, pass: web interface
   password)
2. Make mtd backup:
   cat /dev/mtd0 | gzip -1 -c > /tmp/mtd0_spi0.0.bin.gz
   cat /dev/mtd1 | gzip -1 -c > /tmp/mtd1_BL2.bin.gz
   cat /dev/mtd2 | gzip -1 -c > /tmp/mtd2_u-boot-env.bin.gz
   cat /dev/mtd3 | gzip -1 -c > /tmp/mtd3_Factory.bin.gz
   cat /dev/mtd4 | gzip -1 -c > /tmp/mtd4_FIP.bin.gz
   cat /dev/mtd5 | gzip -1 -c > /tmp/mtd5_ubi.bin.gz
3. Download mtd backup from the /tmp dir of the router to your PC using
   scp protocol
4. Upload OpenWrt 'bl31-uboot.fip', 'preloader.bin' images to the /tmp
   dir of the router using scp protocol
5. Write FIP and BL2 (replace bootloader):
   mtd write /tmp/openwrt-mediatek-filogic-netis_nx31-bl31-uboot.fip FIP
   mtd write /tmp/openwrt-mediatek-filogic-netis_nx31-preloader.bin BL2
6. Place OpenWrt
   'openwrt-mediatek-filogic-netis_nx31-initramfs-recovery.itb' image on
   the tftp server (IP: 192.168.1.254)
7. Erase 'ubi' partition and reboot the router:
   mtd erase ubi
   reboot
8. U-Boot automatically boot OpenWrt recovery image from tftp server to
   the RAM
9. Upload OpenWrt 'sysupgrade.itb' image to the /tmp dir of the router
   (IP: 192.168.1.1) using scp protocol
10. Connect to the router using ssh and run:
    sysupgrade -n openwrt-mediatek-filogic-netis_nx31-squashfs-sysupgrade.itb

Return to stock
---------------
1. Unpack stock BL2 and FIP partitions backup
2. Upload stock BL2 and FIP partitions backup to the /tmp dir of the
   router using scp protocol
3. Connect to the router using ssh and run:
   apk update && apk add kmod-mtd-rw
   insmod mtd-rw i_want_a_brick=1
   mtd unlock BL2
   mtd unlock FIP
4. Restore backup:
   mtd write /tmp/mtd4_FIP.bin FIP
   mtd write /tmp/mtd1_BL2.bin BL2
5. Erase ubi and reboot:
   mtd erase ubi
   reboot
6. Power off the router
7. Press Reset button and power on the router. Release the button after
   ~10 sec
8. Navigate to U-Boot recovery web server (http://192.168.1.1/) and
   upload the OEM firmware

Recovery
--------
1. Place OpenWrt
   'openwrt-mediatek-filogic-netis_nx31-initramfs-recovery.itb' image on
   the tftp server (IP: 192.168.1.254)
2. Press “Reset” button and power on the router. After ~10 sec release
   the button.
3. Use OpenWrt initramfs system for recovery

MAC addresses
-------------
+---------+-------------------+-----------+
|         | MAC               | Algorithm |
+---------+-------------------+-----------+
| LAN     | dc:xx:xx:d1:xx:18 | label     |
| WAN     | dc:xx:xx:d1:xx:1a | label+2   |
| WLAN 2g | de:xx:xx:11:xx:19 |           |
| WLAN 5g | de:xx:xx:71:xx:19 |           |
+---------+-------------------+-----------+
The LAN MAC was found in 'Factory', 0x1fef20
The WAN MAC was found in 'Factory', 0x1fef26
The WLAN 2g/5g MAC prototype was found in 'Factory', 0x4

Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18324
(cherry picked from commit d8002cb627)
Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18438
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-04-10 20:18:23 +02:00
Mieczyslaw NalewajandHauke Mehrtens b16a42159b kernel: bump 6.6 to 6.6.86
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.86

Removed upstreamed:
        generic/pending-6.6/155-usbnet-restore-usb%d-name-exception-for-local-mac-addresses.patch[1]

1. https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.86&id=2beb999f73b48f3cb04d7cb9c4b5400d59f80f89

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/18443
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit f7c0331c50)
Link: https://github.com/openwrt/openwrt/pull/18451
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-04-10 20:14:56 +02:00
Álvaro Fernández Rojas 2b1847c781 bcm27xx: pull 6.6 patches from RPi repo
Adds latest 6.6 patches from the Raspberry Pi repository.

These patches were generated from:
https://github.com/raspberrypi/linux/commits/rpi-6.6.y/
With the following command:
git format-patch -N v6.6.85..HEAD
(HEAD -> bba53a117a4a5c29da892962332ff1605990e17a)

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 4618d09587)
2025-04-10 13:43:36 +02:00
Tianling Shen 435c18bf32 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-04-10 15:23:58 +08:00
Matthias Schiffer a51b1a98e0 build: bpf: fix LLVM tool paths with host toolchain
Do not assume that the various tools like llc can be found under the
same path as clang; instead, look them up through BPF_PATH (while still
preferring ones found next to clang).

This fixes build in common setups with ccache, where clang resolves to a
path like /usr/lib/ccache/bin/clang, but no other tools can be found at
that location.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
Link: https://github.com/openwrt/openwrt/pull/18422
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 89f1d56a7e)
2025-04-09 18:30:49 +02:00
Matthias Schiffer dc7933e77f build: bpf: drop clang-11 lookup
CLANG_MIN_VER is 12, so there is no point in looking for clang-11.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
Link: https://github.com/openwrt/openwrt/pull/18422
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 45f0eb106b)
2025-04-09 18:30:48 +02:00
Matthias Schiffer 2868202df3 ipq40xx: qca8k: hook up IPQ4019 bridge flag offloading
Adds support for setting bridge port learning and isolation flags on
ipq40xx.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
Link: https://github.com/openwrt/openwrt/pull/18375
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit af93874f4e)
2025-04-08 18:24:33 +02:00
Matthias Schiffer eb1f411036 generic: qca8k: backport bridge port isolation support
Bridge port isolation offload support has been added to the bridge core
and many DSA drivers. mt7530 support was backported in OpenWrt commit
c4e6a147a6 ("generic: 6.6: mt7530: add support for bridge port
isolation").

Backport qca8k support as well.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
Link: https://github.com/openwrt/openwrt/pull/18375
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 5d1dedd9f7)
2025-04-08 18:24:33 +02:00
Jan HoffmannandSander Vanheule 8729666926 realtek: refactor RTL930x MAC config to fix PHY ports
Currently, network ports using PHYs get a link, but there is no traffic.
Make it work again by moving the MAC config to phylink_mac_link_up.

A similiar change has been previously applied for RTL83xx in commit
cd958d945b ("realtek: 6.6: refactor mac config and link up for
RTL83xx").

Fixes: https://github.com/openwrt/openwrt/issues/17010
Signed-off-by: Jan Hoffmann <jan@3e8.eu>
Tested-by: Christoph Krapp <achterin@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18268
Signed-off-by: Sander Vanheule <sander@svanheule.net>
(cherry picked from commit a7e1e13817)
2025-04-08 10:51:39 +02:00
Tianling Shen d05f3b6ee7 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-04-07 20:40:31 +08:00
John AudiaandHauke Mehrtens cf3988c266 kernel: bump 6.6 to 6.6.85
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.85

Removed upstreamed:
        bcm27xx/patches-6.6/950-1498-dts-bcm2711-PL011-UARTs-are-actually-r1p5.patch[1]
        bcm27xx/patches-6.6/950-1551-drm-v3d-Don-t-run-jobs-that-have-errors-flagged-in-i.patch[2]

Manually rebased:
        bcm27xx/patches-6.6/950-1512-dts-bcm2711-Don-t-mark-timer-regs-unconfigured.patch

All other patches automatically rebased.

1. https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.85&id=61820187b3ef5a15aed7ef49ed1fcc13398b449c
2. https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.85&id=7cd375d46afcce906cfcddf5aec6b318199d1f16

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

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/18379
(cherry picked from commit 2e71e41ce6)
Link: https://github.com/openwrt/openwrt/pull/18419
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-04-05 17:07:43 +02:00
John AudiaandHauke Mehrtens 52870ddf62 kernel: bump 6.6 to 6.6.84
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.84

All patches automatically rebased.

Build system: x86/64
Build-tested: flogic/xiaomi_redmi-router-ax6000-ubootmod, x86/64
Run-tested: flogic/xiaomi_redmi-router-ax6000-ubootmod, x86/64

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/18326
Signed-off-by: Nick Hainke <vincent@systemli.org>
(cherry picked from commit 314ca03877)
Link: https://github.com/openwrt/openwrt/pull/18419
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-04-05 17:07:43 +02:00
Tianling Shen b91395a023 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-04-03 18:12:19 +08:00
Kyle HendryandÁlvaro Fernández Rojas f31675b69b bmips: add support for Actiontec T1200H
Specifications:
- SoC: Broadcom BCM63168 dual 400MHz MIPS
- Flash: 128MB NAND ESMT F59L1G81A
- RAM: 128MB DDR3
- Ethernet: 5x 1000M
- Wifi: BCM435F
- 1x USB 2.0 port
- 2x Button
- 11x LED
- Coax HPNA (unsupported)
- RJ11 xDSL (unsupported)

Install instructions:
The booloader will only install signed firmware so the image has to
be manually flashed.

- Set up a TFTP server on 192.168.1.0/24 to serve the initramfs image
- Interrupt the bootloader and run from RAM with
  r 192.168.1.100:openwrt-bmips-bcm63268-actiontec_t1200h-initramfs.elf
- On the openwrt console, copy the wfi image using wget/tftp/scp, i.e
  scp user@192.168.1.100:~/openwrt/bin/targets/bmips/bcm63268/openwrt-bmips-bcm63268-actiontec_t1200h-squashfs-cfe.bin /tmp/
- Erase half the flash partition where openwrt will be installed with
  flash_erase -j /dev/mtd1 0 491
- Flash the openwrt image with
  nandwrite -p /dev/mtd1 /tmp/openwrt-bmips-bcm63268-actiontec_t1200h-squashfs-cfe.bin
- Reboot
- Interrupt the bootloader again and use the c command to boot from
  previous firmware if vendor image is loaded

Signed-off-by: Kyle Hendry <kylehendrydev@gmail.com>
[Minor improvements to DTS file]
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 65b8a978de)
2025-04-02 19:11:49 +02:00
Álvaro Fernández Rojas d70709e5fe bcm63xx-cfe: update to latest version
actiontec: t1200h: add cferam.000 file

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit c01859e4f3)
2025-04-02 19:11:32 +02:00
Tim HarveyandRobert Marko ba66273943 mac80211: ath11k: Fix DMA buffer allocation to resolve SWIOTLB issues
Backport two commits to resolve issues with ath1kk causing it to fail
driver registration on iommuless systems with DRAM outside of 32bit
addressing such as a 4GiB imx8mm:

commit 1bcd20981834 ("wifi: ath11k: Fix DMA buffer allocation
to resolve SWIOTLB issues")
commit eeadc6baf8b3 ("wifi: ath11k: Use dma_alloc_noncoherent
for rx_tid buffer allocation")

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Link: https://github.com/openwrt/openwrt/pull/17751
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit fa50e53aa9)
2025-04-02 10:23:27 +02:00
Magnus KrokenandHauke Mehrtens 53ab5629c3 mbedtls: update to 3.6.3
This release of Mbed TLS provides the fix for a tls compatibility issue of handling fragmented handshake messages.
This release includes fixes for security issues.

* Potential authentication bypass in TLS handshake (CVE-2025-27810) [1]
* TLS clients may unwittingly skip server authentication (CVE-2025-27809) [2]

[1]: https://mbed-tls.readthedocs.io/en/latest/security-advisories/mbedtls-security-advisory-2025-03-2/
[2]: https://mbed-tls.readthedocs.io/en/latest/security-advisories/mbedtls-security-advisory-2025-03-1/

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

Signed-off-by: Magnus Kroken <mkroken@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18353
Signed-off-by: Nick Hainke <vincent@systemli.org>
(cherry picked from commit 1732d81d80)
2025-04-01 00:31:41 +02:00
Tomas LaraandHauke Mehrtens 0073a7bc93 rockchip: fix missing ".patch" file extension
Fixes missing .patch file extension in:
- https://github.com/openwrt/openwrt/commit/de9ad11dac094b6074c9b23341acbc28806404ae
- https://github.com/openwrt/openwrt/commit/2e7d060fd1ba6160067df1a2ba303c7c2efe2a7e

Signed-off-by: Tomas Lara <tl849670@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18281
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit f86476b18b)
Link: https://github.com/openwrt/openwrt/pull/18347
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-04-01 00:26:09 +02:00
Michel LespinasseandHauke Mehrtens 8e5c9dbb17 kernel: load r8169 network module at boot time
This allows the network interface naming to be stable, free from any
possible interaction from external USB network devices that might
claim usb* interface names.

(This was a real problem I encountered with a nanopi R6S device and
an external rtl8152 usb3 network controller - the USB controller would
claim the eth1 name, causing much confusion).

Signed-off-by: Michel Lespinasse <michel@lespinasse.org>
Link: https://github.com/openwrt/openwrt/pull/17638
(cherry picked from commit effcb6e4c3)
Link: https://github.com/openwrt/openwrt/pull/18347
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-04-01 00:26:09 +02:00
Michel LespinasseandHauke Mehrtens 092ee8bf07 rockchip: set network IRQ affinity to fast CPU cores
The nanopi R6S, R6C and nanopc T6 platforms are based on rk3588(s) SoC,
which has fast and slow CPU cores. Set up network interrupt affinity to be
on the fast CPU cores by default. This is similar to the way this was
already configured on nanopi R4S.

Signed-off-by: Michel Lespinasse <michel@lespinasse.org>
Link: https://github.com/openwrt/openwrt/pull/17638
(cherry picked from commit 59215154a0)
Link: https://github.com/openwrt/openwrt/pull/18347
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-04-01 00:26:09 +02:00
Michel LespinasseandHauke Mehrtens f9d59735c6 rockchip: configure reset button on nanopi R6
Set up openwrt to handle the reset button appropriately (so that it
can trigger the various recovery modes) on the nanopi R6S and R6C models.

Signed-off-by: Michel Lespinasse <michel@lespinasse.org>
Link: https://github.com/openwrt/openwrt/pull/17638
(cherry picked from commit 2e7d060fd1)
Link: https://github.com/openwrt/openwrt/pull/18347
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-04-01 00:26:09 +02:00
Michel LespinasseandHauke Mehrtens ec231bf564 rockchip: show boot stages on nanopi R6 system LED
Set up openwrt to show boot progress on the nanopi R6S or R6C system LED.

The LED blinking states indicate the boot stage. The LED is defined as
a power LED, but can still be set to heartbeat in /etc/config/system
after the system is done booting.

Signed-off-by: Michel Lespinasse <michel@lespinasse.org>
Link: https://github.com/openwrt/openwrt/pull/17638
(cherry picked from commit de9ad11dac)
Link: https://github.com/openwrt/openwrt/pull/18347
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-04-01 00:26:09 +02:00
Coia PrantandHauke Mehrtens 76c1d0f493 ramips: Fix Hongdian H8922 v30 pinctrl default state
According to the MT7620A hardware datasheet, GPIO/14 was originally used for RIN of UARTF, but is now used as the WPS LED.

Corrected pinctrl to ensure it works properly in the future.

Signed-off-by: Coia Prant <coiaprant@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18278
Link: https://github.com/openwrt/openwrt/pull/18279
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 612bedaf5b)
2025-04-01 00:17:10 +02:00
Christian Marangi 64186283b2 mac80211: fix compilation error for old stable kernel version
Fix compilation error for old stable version caused by
genlmsg_multicast_allns backport fix pushed middle version.

Version 5.15 version 0-169, 6.1 version 0-115, 6.6 version 0-58 have the
old genlmsg_multicast_allns version with flags variable.

Compiling backport project with these version result in a compilation
error. To handle this, introduce a backport function for the affected
kernel version.

Link: https://github.com/openwrt/openwrt/pull/18373
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 4039388149)
2025-03-30 16:57:01 +02:00
Tianling Shen bca880a0e8 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-03-29 17:50:03 +08:00
Rui Salvaterra 1c1c373943 kernel: backport igc hw vlan patch to 24.10
Fix an abysmal out-of-the-box performance issue with igc-supported Ethernet
controllers and 802.1Q.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2025-03-28 16:26:03 +00:00
Yujie ZhuandTianling Shen f2fb5e01c3 mediatek: filogic: add Netcore N60 Pro support
Hardware specification:
SoC: MediaTek MT7986A 4x A53
Flash: ESMT F50L1G41LB 128MB
RAM: M16U4G16256A DDR4 512MB
Ethernet: 2x 2.5G + 3x 1G
USB: 1x USB 3.0
WiFi1: MT7975N 2.4GHz 4T4R
WiFi2: MT7975PN 5GHz 4T4R
Button: Reset, WPS
Power: DC 12V 2A

Flash instructions:

    Connect to the router using ssh or telnet,
    username: useradmin, password is the web
    login password of the router.
    Use scp to upload bl31-uboot.fip and flash:
    "mtd write xxx-bl31-uboot.fip FIP"
    "mtd erase ubi"
    Connect to the router via the Lan port,
    set a static ip of your PC.
    (ip 192.168.1.254, gateway 192.168.1.1)
    Download initramfs image, reboot router,
    waiting for tftp recovery to complete.
    After openwrt boots up, perform sysupgrade.

Note:

    Back up all mtd partitions before flashing.

Signed-off-by: Yujie Zhu <libriunc@gmail.com>
(cherry picked from commit 0e4e527865)
2025-03-25 22:40:09 +08:00
Tianling Shen 09adbd856f uboot-mediatek: update dist name in bootfile
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 8f26c4ce07)
2025-03-25 22:34:15 +08:00
Paul DonaldandRobert Marko de2718b2f3 lldpd: add custom-tlv handling
Do not verify the format of TLV. Leave that to lldpd.

These lldpd config entries:

config custom-tlv
	list ports 'eth0'
	option tlv 'replace oui 33,44,55 subtype 254 oui-info 55,55,55,55,55'

config custom-tlv
	option tlv 'oui 33,44,44 subtype 232'
	list ports 'br-lan'
	list ports 'eth0'

config custom-tlv # oui-info truncated
	option tlv 'add oui 33,44,33 subtype 66 oui-info 5555555555'

config custom-tlv
	option tlv 'add oui 33,44,31 subtype 44'

config custom-tlv # invalid oui
	option tlv 'add oui 3322 subtype 79'

config custom-tlv # invalid oui
	option tlv 'oui 3312 subtype 74'

Produce the following lldpd.conf content:

configure ports eth0 lldp custom-tlv replace oui 33,44,55 subtype 254 oui-info 55,55,55,55,55
configure ports br-lan,eth0 lldp custom-tlv oui 33,44,44 subtype 232
configure lldp custom-tlv add oui 33,44,33 subtype 66 oui-info 5555555555
configure lldp custom-tlv add oui 33,44,31 subtype 44
configure lldp custom-tlv add oui 3322 subtype 79
configure lldp custom-tlv oui 3312 subtype 74

And lldpd (v1.0.13 on v22) logs the following:

Sat Mar 16 19:11:39 2024 daemon.info lldpd[10916]: custom TLV op replace oui 33:44:55 subtype fe
Sat Mar 16 19:11:39 2024 daemon.info lldpd[10916]: custom TLV op add oui 33:44:44 subtype e8
Sat Mar 16 19:11:39 2024 daemon.info lldpd[10916]: custom TLV op add oui 33:44:33 subtype 42
Sat Mar 16 19:11:39 2024 daemon.info lldpd[10916]: custom TLV op add oui 33:44:33 subtype 42
Sat Mar 16 19:11:39 2024 daemon.info lldpd[10916]: custom TLV op add oui 33:44:31 subtype 2c
Sat Mar 16 19:11:39 2024 daemon.info lldpd[10916]: custom TLV op add oui 33:44:31 subtype 2c
Sat Mar 16 19:11:39 2024 daemon.warn lldpcli[10915]: invalid OUI value '3322'
Sat Mar 16 19:11:39 2024 daemon.info lldpcli[10915]: an error occurred while executing last command
Sat Mar 16 19:11:39 2024 daemon.warn lldpcli[10915]: invalid OUI value '3312'
Sat Mar 16 19:11:39 2024 daemon.info lldpcli[10915]: an error occurred while executing last command
Sat Mar 16 19:11:39 2024 daemon.info lldpcli[10915]: lldpd should resume operations

( The last two TLV are invalid: their oui must be three hex bytes, comma
separated. Only the first hex byte of oui-info 5555555555 is used )

Depends on #14867 and its release version bump

Tested on: 22.03.6

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/14872
(cherry picked from commit 8d1fe32c2c)
Link: https://github.com/openwrt/openwrt/pull/18343
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-03-25 09:52:55 +01:00
Paul DonaldandRobert Marko bde35a6c7d lldpd: get_config_cid_ifaces() -> get_interface_csv()
where csv = comma separated value(s)

Make the function more generic. Can use it for not only 'config'.

Now it can be used to parse interfaces for additional lldpd settings,
e.g. custom-tlv.

Tested on: 22.03.6

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/14872
(cherry picked from commit a015f59880)
Link: https://github.com/openwrt/openwrt/pull/18343
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-03-25 09:52:55 +01:00
Tianling Shen 21d334ebb1 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-03-21 12:51:33 +08:00
Felix Fietkau 9e63e2410d libnl-tiny: update to Git HEAD (2025-03-19)
c0df580adbd4 attr.c: fix nla_reserve size check

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit ddc2ae02b3495ffcc6bb5194c777952621c46c25)
2025-03-19 13:20:21 +01:00
Christian Marangi 53479294fb generic: globally enable CONFIG_PCPU_DEV_REFCNT
Quoting the kconfig description for CONFIG_PCPU_DEV_REFCNT:

network device refcount are using per cpu variables if this option is
set. This can be forced to N to detect underflows (with a performance
drop).

This was introduced from kernel 5.13 and was wrongly set as disabled.
Some target actually enables it but this should be always enabled unless
refcount needs to be debugged (unlikely for production images)

Enable in generic and drop the entry in every other target.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18174
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit ea6f3e49d6)
2025-03-19 09:24:43 +01:00
Tomasz Maciej NowakandHauke Mehrtens 5c533d7a89 mediatek: u7623: fix network switch enumeration
With upstream changes hitting kernel 6.4 the dtb for u7623 ends up with
both mac (gmac) disabled, since this is now the default status in
mt7623.dtsi. Fix this by including mt7623a.dtsi (which already has all
necessary bits) and enabling all revlevant ports. This will also do
a side hustle of assigning proper clocks for power controller and
specifying proper power domain for few devices.

Link: https://lore.kernel.org/all/20230210182505.24597-1-arinc.unal@arinc9.com
Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
Link: https://patchwork.ozlabs.org/project/openwrt/patch/20250304164507.60511-2-tmn505@terefe.re/
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit adc4d95c74)
2025-03-17 16:21:23 +01:00
Tomasz Maciej NowakandHauke Mehrtens 82fabe4370 uboot-mediatek: u7623: remove keys pin function
Apparently U-Boot will discard whole node if requested pin function is
unknown to the driver. This resulted in inability to interact with
U-Boot on the said board, as U-Boot always assumed the recovery key
pressed and issued recovery procedure. Log snippet:

button_gpio gpio-keys: pinctrl_select_state_full: pinctrl_config_one: err=-38
reset button found
button pushed, resetting environment

Recovery procedure also booted recovery image, which didn't affect much
the 23.05.x release, since the root fs argument was valid, so changes
persisted. But as 24.10.x hit with fitblk, the board will boot only
recovery image (initramfs) because of default bootargs will reset on each
boot and U-Boot provided bootargs took precedence.

Fixes: 42eeb22450 ("uboot-mediatek: fix factory/reset button")
Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
Link: https://patchwork.ozlabs.org/project/openwrt/patch/20250304164507.60511-1-tmn505@terefe.re/
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit f8a2e1c68b)
2025-03-17 16:21:23 +01:00
J. S. SeldenthuisandHauke Mehrtens 3c1edff293 ramips: use openwrt,netdev-name to fix port name conflict on TP-Link Deco M4R v4
Since 24.10.0, eth0, used for the WAN interface, does not work. From dmesg:

...
[    1.831126] mt7530-mdio mdio-bus:1f: MT7530 adapts as multi-chip module
[    1.846204] mtk_soc_eth 1e100000.ethernet eth0: mediatek frame engine at 0xbe100000, irq 19
...
[    1.933969] mt7530-mdio mdio-bus:1f: MT7530 adapts as multi-chip module
[    1.967668] mt7530-mdio mdio-bus:1f: configuring for fixed/rgmii link mode
[    1.975999] mt7530-mdio mdio-bus:1f eth0 (uninitialized): PHY [mt7530-0:00] driver [MediaTek MT7530 PHY] (irq=21)
[    1.986907] mt7530-mdio mdio-bus:1f: Link is Up - 1Gbps/Full - flow control rx/tx
[    1.987149] mtk_soc_eth 1e100000.ethernet eth0: error -17 registering interface eth0
[    2.004157] mt7530-mdio mdio-bus:1f eth1 (uninitialized): PHY [mt7530-0:01] driver [MediaTek MT7530 PHY] (irq=22)
[    2.017698] mtk_soc_eth 1e100000.ethernet eth0: entered promiscuous mode
[    2.024849] DSA: tree 0 setup
...
[    4.249680] mtk_soc_eth 1e100000.ethernet dsa: renamed from eth0
...

Like #15865, it seems that gmac0 does not rename eth0 to dsa until after the
switch ports are initialized, leading to a name collision (error -17 = EEXIST).

This patch follows #17062 by using openwrt,netdev-name to fix the collision.

Signed-off-by: J. S. Seldenthuis <jseldenthuis@lely.com>
Link: https://github.com/openwrt/openwrt/pull/18082
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 4fed462454)
2025-03-17 16:21:23 +01:00
Thomas RichardandHauke Mehrtens 2d8bed0fa1 optee-os.mk: override default PATH to not use hostpkg python
In some cases hostpkg python from packages feed is used (hostpkg has higher
priority in PATH) which causes build failure (cryptography module is
missing). So override PATH to not use hostpkg python.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/18102
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 8c3a43be27)
2025-03-17 16:21:23 +01:00
Shiji YangandHauke Mehrtens 9db716b6dc stm32: modules: fix stm32-hash package build
* Remove misplaced backslash to fix the build warning:

WARNING: can't parse line: FILES:=/drivers/crypto/stm32/stm32-hash.ko

* Add missing dependency package kmod-crypto-engine:

Package kmod-stm32-hash is missing dependencies for the following libraries:
crypto_engine.ko

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/18241
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 4efb4a26d2)
2025-03-17 16:21:23 +01:00
John AudiaandHauke Mehrtens cfd155aab9 firmware: intel-microcode: update to 20250211
Debian Changelogs from 20240531:

 local access.
    - Mitigations for INTEL-SA-01079 (CVE-2024-23918)
      Potential security vulnerabilities in some Intel Xeon processors
      using Intel SGX may allow escalation of privilege.  Intel disclosed
      that some processor models were already fixed by a previous
      microcode update.
    - Updated mitigations for INTEL-SA-01097 (CVE-2024-24968)
      Improper finite state machines (FSMs) in hardware logic in some
      Intel Processors may allow an privileged user to potentially enable a
      denial of service via local access.
    - Mitigations for INTEL-SA-01103 (CVE-2024-23984)
      A potential security vulnerability in the Running Average Power Limit
      (RAPL) interface for some Intel Processors may allow information
      disclosure.  Added mitigations for more processor models.
  * Updated Microcodes:
    sig 0x000806f8, pf_mask 0x87, 2024-06-20, rev 0x2b000603, size 588800
    sig 0x000806f7, pf_mask 0x87, 2024-06-20, rev 0x2b000603
    sig 0x000806f6, pf_mask 0x87, 2024-06-20, rev 0x2b000603
    sig 0x000806f5, pf_mask 0x87, 2024-06-20, rev 0x2b000603
    sig 0x000806f4, pf_mask 0x87, 2024-06-20, rev 0x2b000603
    sig 0x00090672, pf_mask 0x07, 2024-05-29, rev 0x0037, size 224256
    sig 0x00090675, pf_mask 0x07, 2024-05-29, rev 0x0037
    sig 0x000b06f2, pf_mask 0x07, 2024-05-29, rev 0x0037
    sig 0x000b06f5, pf_mask 0x07, 2024-05-29, rev 0x0037
    sig 0x000906a3, pf_mask 0x80, 2024-06-03, rev 0x0435, size 223232
    sig 0x000906a4, pf_mask 0x80, 2024-06-03, rev 0x0435
    sig 0x000a06a4, pf_mask 0xe6, 2024-08-02, rev 0x0020, size 138240
    sig 0x000b06a2, pf_mask 0xe0, 2024-05-29, rev 0x4123, size 220160
    sig 0x000b06a3, pf_mask 0xe0, 2024-05-29, rev 0x4123
    sig 0x000b06a8, pf_mask 0xe0, 2024-05-29, rev 0x4123
    sig 0x000c06f2, pf_mask 0x87, 2024-06-20, rev 0x21000283, size 560128
    sig 0x000c06f1, pf_mask 0x87, 2024-06-20, rev 0x21000283
  * source: update symlinks to reflect id of the latest release, 20241112
  * Update changelog for 3.20240910.1 and 3.20240813.1 with new information:
    INTEL-SA-1103 was addressed by 3.20240813.1 for some processor models,
    and not by 3.20240910. INTEL-SA-1079 was addressed by 3.20240910.1 for
    some processor models.

 -- Henrique de Moraes Holschuh <hmh@debian.org>  Thu, 14 Nov 2024 15:37:40 -0300

intel-microcode (3.20241029.1) UNRELEASED; urgency=medium

  * New upstream microcode datafile 20241029
    - Not relevant for operating system microcode updates
    - Only when loaded from firmware, this update fixes the critical,
      potentially hardware-damaging errata RPL061: Incorrect Internal
      Voltage Request on Raptor Lake (Core 13th/14th gen) Intel
      processors.
  * Updated Microcodes:
    sig 0x000b0671, pf_mask 0x32, 2024-08-29, rev 0x012b, size 211968

 -- Henrique de Moraes Holschuh <hmh@debian.org>  Thu, 14 Nov 2024 14:49:03 -0300

intel-microcode (3.20240910.1) unstable; urgency=medium

  * New upstream microcode datafile 20240910 (closes: #1081363)
    - Mitigations for INTEL-SA-01097 (CVE-2024-24968)
      Improper finite state machines (FSMs) in hardware logic in some
      Intel Processors may allow an privileged user to potentially enable a
      denial of service via local access.
    - Fixes for unspecified functional issues on several processor models
    - The processor voltage limit issue on Core 13rd/14th gen REQUIRES A
      FIRMWARE UPDATE.  It is present in this release for sig 0xb0671, but
      THE VOLTAGE ISSUE FIX ONLY WORKS WHEN THE MICROCODE UPDATE IS LOADED
      THROUGH THE FIT TABLE IN FIRMWARE.  Contact your system vendor for a
      firmware update that includes the appropriate microcode update for
      your processor.
  * Updated Microcodes:
    sig 0x00090672, pf_mask 0x07, 2024-02-22, rev 0x0036, size 224256
    sig 0x00090675, pf_mask 0x07, 2024-02-22, rev 0x0036
    sig 0x000b06f2, pf_mask 0x07, 2024-02-22, rev 0x0036
    sig 0x000b06f5, pf_mask 0x07, 2024-02-22, rev 0x0036
    sig 0x000906a3, pf_mask 0x80, 2024-02-22, rev 0x0434, size 222208
    sig 0x000906a4, pf_mask 0x80, 2024-02-22, rev 0x0434
    sig 0x000a06a4, pf_mask 0xe6, 2024-06-17, rev 0x001f, size 137216
    sig 0x000b0671, pf_mask 0x32, 2024-07-18, rev 0x0129, size 215040
    sig 0x000b06a2, pf_mask 0xe0, 2024-02-22, rev 0x4122, size 220160
    sig 0x000b06a3, pf_mask 0xe0, 2024-02-22, rev 0x4122
    sig 0x000b06a8, pf_mask 0xe0, 2024-02-22, rev 0x4122
    sig 0x000b06e0, pf_mask 0x19, 2024-03-25, rev 0x001a, size 138240
  * Update changelog for 3.20240813.1 with new information
  * Update changelog for 3.20240514.1 with new information
  * source: update symlinks to reflect id of the latest release, 20240910

 -- Henrique de Moraes Holschuh <hmh@debian.org>  Sat, 21 Sep 2024 16:40:07 -0300

intel-microcode (3.20240813.2) unstable; urgency=high

  * Merge changes from intel-microcode/3.20240531.1+nmu1, which were left out
    from 3.20240813.1 by an oversight, regressing merged-usr. Closes: #1060200

 -- Henrique de Moraes Holschuh <hmh@debian.org>  Sat, 17 Aug 2024 11:31:32 -0300

intel-microcode (3.20240813.1) unstable; urgency=medium

  * New upstream microcode datafile 20240813 (closes: #1078742)
    - Mitigations for INTEL-SA-01083 (CVE-2024-24853)
      Incorrect behavior order in transition between executive monitor and SMI
      transfer monitor (STM) in some Intel Processors may allow a privileged
      user to potentially enable escalation of privilege via local access.
    - Mitigations for INTEL-SA-01118 (CVE-2024-25939)
      Mirrored regions with different values in 3rd Generation Intel Xeon
      Scalable Processors may allow a privileged user to potentially enable
      denial of service via local access.
    - Mitigations for INTEL-SA-01100 (CVE-2024-24980)
      Protection mechanism failure in some 3rd, 4th, and 5th Generation Intel
      Xeon Processors may allow a privileged user to potentially enable
      escalation of privilege via local access.
    - Mitigations for INTEL-SA-01038 (CVE-2023-42667)
      Improper isolation in the Intel Core Ultra Processor stream cache
      mechanism may allow an authenticated user to potentially enable
      escalation of privilege via local access.  Intel disclosed that some
      processor models were already fixed by the previous microcode update.
    - Mitigations for INTEL-SA-01046 (CVE-2023-49141)
      Improper isolation in some Intel Processors stream cache mechanism may
      allow an authenticated user to potentially enable escalation of
      privilege via local access.  Intel disclosed that some processor models
      were already fixed by the previous microcode update.
    - Mitigations for INTEL-SA-01079 (CVE-2024-23918)
      Potential security vulnerabilities in some Intel Xeon processors
      using Intel SGX may allow escalation of privilege.  Intel released this
      information during the full disclosure for the 20241112 update.
      Processor signatures 0x606a6 and 0x606c1.
    - Mitigations for INTEL-SA-01103 (CVE-2024-23984)
      A potential security vulnerability in the Running Average Power Limit
      (RAPL) interface for some Intel Processors may allow information
      disclosure. Intel released this information during the full disclosure
      for the 20240910 update.  Processor signatures 0x5065b, 0x606a6,
      0x606c1.
    - Fix for unspecified functional issues on several processor models
    - Fix for errata TGL068/ADL075/ICL088/... "Processor may hang during a
      microcode update".  It is not clear which processors were fixed by this
      release, or by one of the microcode updates from 2024-05.
    - Mitigations for INTEL-SA-01213 (CVE-2024-36293)
      Improper access control in the EDECCSSA user leaf function for some
      Intel Processors with Intel SGX may allow an authenticated user to
      potentially enable denial of service via local access.  Intel released
      this information during the full disclosure for the 20250211 update.
      Processor signature 0x906ec (9th Generation Intel Core processor).
  * Updated microcodes:
    sig 0x00050657, pf_mask 0xbf, 2024-03-01, rev 0x5003707, size 39936
    sig 0x0005065b, pf_mask 0xbf, 2024-04-01, rev 0x7002904, size 30720
    sig 0x000606a6, pf_mask 0x87, 2024-04-01, rev 0xd0003e7, size 308224
    sig 0x000606c1, pf_mask 0x10, 2024-04-03, rev 0x10002b0, size 300032
    sig 0x000706e5, pf_mask 0x80, 2024-02-15, rev 0x00c6, size 114688
    sig 0x000806c1, pf_mask 0x80, 2024-02-15, rev 0x00b8, size 112640
    sig 0x000806c2, pf_mask 0xc2, 2024-02-15, rev 0x0038, size 99328
    sig 0x000806d1, pf_mask 0xc2, 2024-02-15, rev 0x0052, size 104448
    sig 0x000806e9, pf_mask 0xc0, 2024-02-01, rev 0x00f6, size 106496
    sig 0x000806e9, pf_mask 0x10, 2024-02-01, rev 0x00f6, size 106496
    sig 0x000806ea, pf_mask 0xc0, 2024-02-01, rev 0x00f6, size 105472
    sig 0x000806eb, pf_mask 0xd0, 2024-02-01, rev 0x00f6, size 106496
    sig 0x000806ec, pf_mask 0x94, 2024-02-05, rev 0x00fc, size 106496
    sig 0x00090661, pf_mask 0x01, 2024-04-05, rev 0x001a, size 20480
    sig 0x000906ea, pf_mask 0x22, 2024-02-01, rev 0x00f8, size 105472
    sig 0x000906eb, pf_mask 0x02, 2024-02-01, rev 0x00f6, size 106496
    sig 0x000906ec, pf_mask 0x22, 2024-02-01, rev 0x00f8, size 106496
    sig 0x000906ed, pf_mask 0x22, 2024-02-05, rev 0x0100, size 106496
    sig 0x000a0652, pf_mask 0x20, 2024-02-01, rev 0x00fc, size 97280
    sig 0x000a0653, pf_mask 0x22, 2024-02-01, rev 0x00fc, size 98304
    sig 0x000a0655, pf_mask 0x22, 2024-02-01, rev 0x00fc, size 97280
    sig 0x000a0660, pf_mask 0x80, 2024-02-01, rev 0x00fe, size 97280
    sig 0x000a0661, pf_mask 0x80, 2024-02-01, rev 0x00fc, size 97280
    sig 0x000a0671, pf_mask 0x02, 2024-03-07, rev 0x0062, size 108544
    sig 0x000a06a4, pf_mask 0xe6, 2024-04-15, rev 0x001e, size 137216
  * source: update symlinks to reflect id of the latest release, 20240813
  * postinst, postrm: switch to dpkg-trigger to run update-initramfs

 -- Henrique de Moraes Holschuh <hmh@debian.org>  Thu, 15 Aug 2024 14:41:50 -0300

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/18197
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit f4801cffc3)
2025-03-17 16:21:23 +01:00
Tianling ShenandHauke Mehrtens a748c1af75 ramips: fix reading mac address for hiwifi hc5962
The spaces in variables have been stripped since commit 551e04f3c9
("base-files: strip space and tab characters from ASCII mac address"),
resulting "Vfac_mac " matches nothing. Fix the issue by removing the
space at end.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/18150
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 2091c29578)
2025-03-17 16:21:23 +01:00
Mikhail ZhilkinandHauke Mehrtens d5a9ec601d mediatek: Xiaomi AX3000t: enable SPI calibration
Xiaomi enabled SPI calibration in new firmware:
- 1.0.84 and newer (rd03 model)
- 1.0.76 and newer (rd23 model)

This enables SPI calibration routines in OpenWrt too.

Tested-by: Aleksandr Danilov <sc16me@gmail.com>
Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17976
(cherry picked from commit 043df82cea)
Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18270
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-03-17 16:14:27 +01:00
Roland ReinlandHauke Mehrtens 4e69539953 ramips: Add support for Cudy M1200 v1
The M1200 v1 is similar to the TR1200 series from Cudy. Differences:
- Only 1 LAN port
- No USB

Specifications:
- MT7628
- MT7628AN (2.4G b/g/n) and MT7613BE (5G ac/n) wifi
- 128 MB RAM
- 16 MB flash

MAC Addresses:
- There is one on the label, e.g. xx:xx:xx:xx:xx:A4
- LAN (bottom connector) is the same as the label, e.g. xx:xx:xx:xx:xx:A4
- WAN (top connector) is label + 1, e.g. xx:xx:xx:xx:xx:A5
- WLAN (2.4G) is the same as the label, e.g. xx:xx:xx:xx:xx:A4
- WLAN (5G) is label + 2, e.g. xx:xx:xx:xx:xx:A6

UART:
- is available via the pin holes on the board
- The pinout is printed to the board: P: VCC, G: GND, R: RX, T:TX
- RX and TX require solder bridges to be installed
- Do NOT connect VCC
- Settings: 3.3V, 115200, 8N1

GPIO:
- There are two LEDs: Red (GPIO 4) and White (GPIO 0)
- There are two buttons: Reset (GPIO 11) and WPS (GPIO 5)

Migration to OpenWrt:
- Download the migration image from the Cudy website (it should be available as soon as OpenWrt officially supports the device)
- Connect computer to LAN (bottom connector) and flash the migration image via OEM web interface
- OpenWrt is now accessible via 192.168.1.1

Revert back to OEM firmware:
- Set up a TFTP server on IP 192.168.1.88 and connect to the WAN port (upper port)
- Provide the Cudy firmware as recovery.bin in the TFTP server
- Press the reset button while powering on the device
- Recovery process is started now
- When recovery process is done, OEM firmware is accessible via 192.168.10.1 again

General information:
- No possibility to load a initramfs image via U-Boot because there is no option to interrupt U-Boot

Signed-off-by: Roland Reinl <reinlroland+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18233
(cherry picked from commit c13a050d5a)
Link: https://github.com/openwrt/openwrt/pull/18252
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-03-17 16:12:47 +01:00
Tianling Shen 5aee18b4da Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-03-17 20:32:13 +08:00
Álvaro Fernández Rojas 5872633b9d bcm27xx: pull 6.6 patches from RPi repo
Adds latest 6.6 patches from the Raspberry Pi repository.

These patches were generated from:
https://github.com/raspberrypi/linux/commits/rpi-6.6.y/
With the following command:
git format-patch -N v6.6.83..HEAD
(HEAD -> 08d4e8f52256bd422d8a1f876411603f627d0a82)

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 251f76c1c6)
2025-03-16 21:08:29 +01:00
Álvaro Fernández Rojas 36e9edd677 bcm27xx-utils: update to latest version
Full changelog: https://github.com/raspberrypi/utils/compare/0c02957911da1c661be201236c4f2a2be1778b3e...685afa8c0d6f2310eaefe1b528627a8bf3154ca0

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 6403c2890c)
2025-03-16 21:08:29 +01:00
Álvaro Fernández Rojas 7f5659b79d bcm27xx-gpu-fw: update to v1.20250305
Full changelog: https://github.com/raspberrypi/firmware/compare/1.20241126...1.20250305

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 2804cfe553)
2025-03-16 21:08:29 +01:00
Felix Fietkau 07fb8d22e7 unetd: update to Git HEAD (2025-03-09)
d8b43985e4d7 ubus: fix token_create policy
7326459bd743 ubus: dump service information on network_get
6c9c8fbd8128 service: add @all as alias for all members, unless defined differently

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 84909c62c8)
2025-03-16 18:53:59 +01:00
John AudiaandÁlvaro Fernández Rojas a3213ab1b5 kernel: bump 6.6 to 6.6.83
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.83

Removed upstreamed:
	bcm27xx/patches-6.6/950-0483-usb-xhci-borrow-upstream-TRB_FETCH-quirk-on-VL805-ho.patch[1]

Manually rebased:
	bcm27xx/patches-6.6/950-0061-Revert-Revert-xhci-add-quirk-for-host-controllers-th.patch
	bcm27xx/patches-6.6/950-0485-usb-xhci-add-XHCI_VLI_HUB_TT_QUIRK.patch
	bcm27xx/patches-6.6/950-0519-usb-dwc3-Set-DMA-and-coherent-masks-early.patch

All other patches automatically rebased.

1. https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/drivers/usb/host/xhci-pci.c?h=linux-6.6.y&id=c401b1b4b835d66792e884b76264d742a20d931d

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

Signed-off-by: John Audia <therealgraysky@proton.me>
[fixed issues with bcm27xx patches]
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 748682e855)
2025-03-16 08:10:32 +01:00
Tianling Shen 9b3f64026c Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-03-15 21:31:34 +08:00
John AudiaandHauke Mehrtens 24db615450 kernel: bump 6.6 to 6.6.82
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.82

All patches automatically rebased.

Added CONFIG_MICROCODE_INITRD32=y to x86: config-6.6[1]

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/diff/arch/x86/Kconfig?id=v6.6.82&id2=v6.6.81

Build system: x86/64
Build-tested: bcm27xx/bcm2712
Run-tested: bcm27xx/bcm2712

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/18188
(cherry picked from commit 7cf8f61eb2)
Link: https://github.com/openwrt/openwrt/pull/18208
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-03-15 12:34:29 +01:00
John AudiaandHauke Mehrtens 0fb8d7bc73 kernel: bump 6.6 to 6.6.81
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.81

All patches automatically rebased.

For x86, CONFIG_MICROCODE_LATE_FORCE_MINREV was introduced in this bump
with hrecommendation to enable it[1].

1. https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/diff/arch/x86/Kconfig?id=v6.6.81&id2=v6.6.80

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

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/18188
(cherry picked from commit aabc61d93f)
Link: https://github.com/openwrt/openwrt/pull/18208
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-03-15 12:34:29 +01:00
John AudiaandHauke Mehrtens 41613c0f7b kernel: bump 6.6 to 6.6.80
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.80

Removed upstreamed:
	generic/backport-6.6/819-v6.8-0002-nvmem-Create-a-header-for-internal-sharing.patch[1]
	generic/backport-6.6/819-v6.8-0003-nvmem-Simplify-the-add_cells-hook.patch[2]
	generic/backport-6.6/819-v6.8-0004-nvmem-Move-and-rename-fixup_cell_info.patch[3]

All other patches automatically rebased.

1. https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.80&id=39dfc17a38f77b14f7cb2619bd3488a18d797d5d
2. https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.80&id=276dae17ad9757c3813d9e736a0210f05ccdf8b7
3. https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.80&id=a0ee898a5024f12572e4ce45202df9b149dadc05

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

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/18140
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 86fd00b0fb)
Link: https://github.com/openwrt/openwrt/pull/18208
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-03-15 12:34:29 +01:00
Roland ReinlandHauke Mehrtens b16b75efba ramips: Add support for Cudy M1300 v2
The M1300 v2 is similar to the WR1300 series from Cudy. Differences:
- Only 1 LAN port
- No USB

Specifications:
- MT7621
- MT7603E (2.4G b/g/n) and MT7613BE (5G ac/n) wifi
- 128 MB RAM
- 16 MB flash

MAC Addresses:
- There is one on the label, e.g. xx:xx:xx:xx:xx:1C
- LAN (bottom connector) is the same as the label, e.g. xx:xx:xx:xx:xx:1C
- WAN (top connector) is label +2, e.g. xx:xx:xx:xx:xx:1E
- WLAN (2.4G) is the same as the label, e.g. xx:xx:xx:xx:xx:1C
- WLAN (5G) is the same as WAN, e.g. xx:xx:xx:xx:xx:1E

UART:
- is available via the pin holes on the board
- From inner to outer pin: TX, RX, GND, VCC
- Do NOT connect VCC
- Settings: 3.3V, 115200, 8N1

GPIO:
- There are two LEDs: Red (GPIO 3) and White (GPIO 4)
- There are two buttons: Reset (GPIO 8) and WPS (GPIO 10)

Migration to OpenWrt:
- Download the migration image from the Cudy website (it should be available as soon as OpenWrt officially supports the device)
- The migration image is also available here until a image is provided by Cudy: https://github.com/RolandoMagico/openwrt-build/releases/tag/M1300_Build_20240222
- File: openwrt-ramips-mt7621-cudy_m1300-v2-squashfs-flash-signed.bin
- Connect computer to LAN (bottom connector) and flash the migration image via OEM web interface
- In the migration image, LAN and WAN are swapped. Computer must be connected to the other port after flashing
- OpenWrt is now accessible via 192.168.1.1
- After flashing an up to date OpenWrt image, LAN and WAN settings are again the same as in the OEM firmware
- So use the other connector again

Revert back to OEM firmware:
- Set up a TFTP server on IP 192.168.1.88 and connect to the LAN port (lower port)
- Provide the Cudy firmware as recovery.bin in the TFTP server
- Press the reset button while powering on the device
- Recovery process is started now
- When recovery process is done, OEM firmware is accessible via 192.168.10.1 again

General information:
- No possibility to load a initramfs image via U-Boot because there is no option to interrupt U-Boot

Signed-off-by: Roland Reinl <reinlroland+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18139
(cherry picked from commit 8a78637670)
Link: https://github.com/openwrt/openwrt/pull/18204
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-03-15 12:30:44 +01:00
Michael TrinidadandHauke Mehrtens 2304486d60 mwlwifi: update to version 10.4.11-20250206
The fixes are only for the WRT1900X and WRT1200AC.

It contains:

Deletes the driver's ability to modify the debit table.
Remove skb_get(done_skb) in txdone
Reworking ISR
clean code
Napi replaces tasklet
Add rx_decrypt feature

Signed-off-by: Michael Trinidad <trinidude4@hotmail.com>
Link: https://github.com/openwrt/openwrt/pull/17997
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18145
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-03-15 12:13:56 +01:00
Andreas GnauandHauke Mehrtens 76565015f5 ramips: mt7621: Reduce hardcoded metadata for Inteno Y3 imgs
Instead of hardcoded metadata, put some sensible data instead.

Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
Link: https://github.com/openwrt/openwrt/pull/17551
(cherry picked from commit 4e3342f5f1)
Link: https://github.com/openwrt/openwrt/pull/18238
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-03-15 12:03:19 +01:00
Andreas GnauandHauke Mehrtens dd0c2839a8 ramips: Add support for Genexis / Inteno Pulse EX400
Add support for Genexis Pulse EX400 / Inteno Pulse EX400. A branded
variant for the Finnish ISP DNA has already been added in fea2264d9f
(ramips: mt7621: Add DNA Valokuitu Plus EX400, 2023-07-31). This commit
adds support for the generic variants with Inteno and Genexis branding.
Inteno changed its name to Genexis and both brandings exist.

In terms of electronics, there is no difference between the DNA-branded
version and other brandings. LED markings on the case are different,
though. While the DNA-version has a "software-update" LED, the other
versions have a WPS LED. To reduce user confusion, create a separate
image.

Add the different device-tree with the different LED and rename things
to work the same way for both variants.

Specifications:
- Device: Genexis Pulse EX400 / Inteno Pulse EX400
- SoC: MT7621A
- Flash: 256 MB NAND
- RAM: 256 MB
- Ethernet: Built-in, 2 x 1 GbE
- Wifi: MT7603 2.4 GHz 2x2 MIMO, MT7615 5 GHz 4x4 MU-MIMO
- USB: 1x 2.0
- LEDs (GPIO): green/red status, green WPS
- LEDs (SX9512, unsupported): Broadband, Wi-Fi 2.4G, Wi-Fi 5G
- Buttons (GPIO): Reset
- Buttons (SX9512, unsupported): Wi-Fi 2.4G, Wi-Fi 5G, WPS

MAC addresses:
- LAN:     U-Boot 'ethaddr' (label)
- WAN:     label + 1
- 2.4 GHz: label + 6
- 5 GHz:   label + 7

Serial:
 There is a black block connector next to the red ethernet connector. It
 is accessible also through holes in the casing.

Pinout (TTL 3.3V)
 +---+---+
 |Tx |Rx |
 +---+---+
 |Vcc|Gnd|
 +---+---+

Firmware:
 The vendor firmware is a fork of OpenWrt (Reboot) with a kernel version
 4.4.93. The flash is arranged as below and there is a dual boot
 mechanism alternating between rootfs_0 and rootfs_1.

 +-------+------+------+-----------+-----------+
 |       | env1 | env2 | rootfs_0  |  rootfs_1 |
 |       +------+------+-----------+-----------+
 |       |         UBI volumes                 |
 +-------+-------------------------------------+
 |U-Boot |             UBI                     |
 +-------+-------------------------------------+
 |mtd0   |             mtd1                    |
 +-------+-------------------------------------+
 |                     NAND                    |
 +---------------------------------------------+

 In OpenWrt rootfs_0 will be used as a boot partition that will contain the
 kernel and the dtb. The squashfs rootfs and overlay are standard OpenWrt
 behaviour.

 +-------+------+------+-----------+--------+------------+
 |       | env1 | env2 | rootfs_0  | rootfs | rootfs_data|
 |       +------+------+-----------+--------+------------+
 |       |         UBI volumes                           |
 +-------+-----------------------------------------------+
 |U-Boot |             UBI                               |
 +-------+-----------------------------------------------+
 |mtd0   |             mtd1                              |
 +-------+-----------------------------------------------+
 |                     NAND                              |
 +-------------------------------------------------------+

U-boot:
 With proper serial access, booting can be halted to U-boot by pressing
 any key. TFTP and flash writes are available, but only the first one has
 been tested.

 NOTE: Recovery mode can be accessed by holding down the reset button while
 powering on the device. The led 'Update' will show a solid green light
 once ready. A web server will be running at 192.168.1.1:80 and it will
 allow flashing a firmware package. You can cycle between rootfs_0 and
 rootfs_1 by pressing the reset button once.

Root password:
 With the vendor web UI create a backup of your settings and download the
 archive to your computer. Within the archive in the file
 /etc/shadow replace the password hash for root with that of a password you
 know. Restore the configuration with the vendor web UI and you will have
 changed the root password.

SSH access:
 You might need to enable the SSH service for LAN interface as by default
 it's enabled for WAN only.

Installing OpenWrt:
 With the vendor web UI, or from the U-Boot recovery UI, install the
 OpenWrt factory image. Alternatively, ssh to the device and use
 sysupgrade -n from cli.

 Finalize by installing the OpenWrt sysupgrade image to get a fully
 functioning system.

Reverting to the vendor firmware:

 Boot with OpenWrt initramfs image
  - Remove volumes rootfs_0, rootfs and rootfs_data and create vendor
    volumes.

    ubirmvol /dev/ubi0 -n 2
    ubirmvol /dev/ubi0 -n 3
    ubirmvol /dev/ubi0 -n 4
    ubimkvol /dev/ubi0 -N rootfs_0 -S 990
    ubimkvol /dev/ubi0 -N rootfs_1 -S 990

    Power off and enter to the U-boot recovery to install the vendor
    firmware.

Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
Link: https://github.com/openwrt/openwrt/pull/17551
(cherry picked from commit 3e7337feea)
Link: https://github.com/openwrt/openwrt/pull/18238
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-03-15 12:03:19 +01:00
Andreas GnauandHauke Mehrtens 6e27a13205 ramips: mt7621: Move common DNA EX400 defs to dtsi
Move common definitions for DNA Valokuitu Plus EX400 to a dtsi include.
This is in preparation of adding the non-branded variant of the device
produced by Genexis / Inteno in the next commit. The device with DNA
branding differs in the LED labling on the device.

Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
Link: https://github.com/openwrt/openwrt/pull/17551
(cherry picked from commit e8603f3b5a)
Link: https://github.com/openwrt/openwrt/pull/18238
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-03-15 12:03:19 +01:00
Coia PrantandHauke Mehrtens 55e8ac5312 ramips: add support for Hongdian H8922 v30
This is an industrial 4G router equipped with OpenWrt 14.07 OEM
customized version

WARNING: The original firmware device tree is common to multiple
boards, and the device tree name is H9350. This submitted device
tree is a modified version, which deletes the non-this-device parts
and adds GPIO watchdog.

Specification:
- SoC: MediaTek MT7620A
- Flash: 16 MB
- RAM: 128 MB
- Power: DC 5V-36V 1.5A
- Ethernet: 1x WAN, 4x LAN (10/100 Mbps)
- Wireless radio: 802.11n 2.4g-only
- LED:
  System/Power (RUN): GPIO/26 active-low
  Ethernet: 1x WAN, 4x LAN
  Modem 1: GPIO/66 active-low
  RF 1 (Modem 1 Signal): GPIO/67 active-low
  Modem 2: GPIO 71 active-low
  RF 2 (Modem 2 Signal): GPIO/24 active-low
  WLAN: GPIO/72 active-low
  WPS: GPIO/12 active-low
- Button:
  WPS / RESET: GPIO/34 active-low
- UART: 1x UART on PCB - 115200 8N1
- GPIO Watchdog: GPIO/62 mode=toggle timeout=1s
- PCIe: 2x miniPCIe for modem
- SIM Slots: 2x SIM Slots

Issue:
- No factory partition, eeprom is located
 at /lib/firmware/mt7620a.eeprom

Flash instruction:
Using UART:
1. Configure PC with a static IP address and setup an TFTP server.
2. Put rootfs into the tftp directory.
3. Connect the UART line as described on the PCB.
4. Power up the device and press Ctrl+C to break auto boot.
5. Use `system 6` command and follow the instruction to set device
   and tftp server IP address and input the rootfs file name.
   U-boot will then load the rootfs and write it into
   the flash.
6. Use `system 1` command and follow the instruction to set device
   and tftp server IP address and input the firmware file name.
   U-boot will then load the firmware once.
7. Login to LuCI and use LuCI upgrade firmware.

Original Firmware Dump / More details:
https://blog.gov.cooking/archives/research-hongdian-h8922-and-flash.html

Signed-off-by: Coia Prant <coiaprant@gmail.com>
Tested-by: Coia Prant <coiaprant@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17472
Link: https://github.com/openwrt/openwrt/pull/18221
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 6a1bdcf545)
2025-03-15 11:54:54 +01:00
Coia PrantandHauke Mehrtens 40d36ac960 mac80211: rt2x00: load the eeprom data from devicetree embedded data on Ralink SoCs
It will allow loading eeprom from eeprom-data embedded in device tree.
Ported from mediatek mt76 wireless driver (drivers/net/wireless/mediatek/mt76/eeprom.c)

Signed-off-by: Coia Prant <coiaprant@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17472
Link: https://github.com/openwrt/openwrt/pull/18221
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 5d266b55ed)
2025-03-15 11:53:57 +01:00
Tianling ShenandHauke Mehrtens df8679e29f mediatek: add support for CMCC A10
This board is also as known as SuperElectron ZN-M5 and ZN-M8. However,
for ZN-M5 and ZN-M8, there's another version uses ZX279128 as CPU
chip, which is unsupported.
You can check it in "高级设置" > "系统日志" > "内核日志" page from webUI.

Hardware specification:
  SoC: MediaTek MT7981B 2x A53
  Flash: 128 MB SPI-NAND
  RAM: 256MB
  Ethernet: 4x 10/100/1000 Mbps
  Switch: MediaTek MT7531AE
  WiFi: MediaTek MT7976C
  Button: Reset, WPS
  Power: DC 12V 1A

Stock layout flash instructions:
Login into webUI and upload sysupgrade firmware in "系统管理" > "升级固件" page.
Remember to unselect "保留配置" ("Keep configurations") first before doing that.

OpenWrt U-Boot layout flash instructions:
1. Flash stock layout firmware first.
2. Connect to the device via SSH, and backup everything,
   especially 'Factory' partition.
3. Unlock MTD partitions:
   opkg update && opkg install kmod-mtd-rw
   insmod mtd-rw i_want_a_brick=1
4. Write new BL2 and FIP:
   mtd write openwrt-mediatek-filogic-cmcc_a10-ubootmod-preloader.bin BL2
   mtd write openwrt-mediatek-filogic-cmcc_a10-ubootmod-bl31-uboot.fip FIP
5. Set static IP on your PC:
   IP 192.168.1.254/24, GW 192.168.1.1
6. Serve OpenWrt initramfs image using TFTP server.
7. Cut off the power and re-engage, wait for TFTP recovery to complete.
8. After OpenWrt has booted, perform sysupgrade.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/18121
(cherry picked from commit 96c6608346)
[sync uboot defconfigs with 24.10 branch, change apk to opkg]
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/18218
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-03-15 11:48:57 +01:00
Daniel Golle 3da9786da3 libpcap: backport support for various DSA tags
Trying to tcpdump DSA conduits results in errors such as
"unsupported DSA tag: mtk".
Backport two commits adding support for various DSA tags to libpcap.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit fad94e8cda)
2025-03-13 23:07:35 +00:00
Robert MarkoandDaniel Golle ff5b9059b4 libpcap: add missing PKG_CONFIG_DEPENDS entries
Currently, enabling USB, BT or Netfilter support after initial compilation
will not trigger a rebuild, so add the missing PKG_CONFIG_DEPENDS so
that rebuild gets triggered.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
(cherry picked from commit fe37574be6)
2025-03-13 23:07:35 +00:00
Mieczyslaw NalewajandHauke Mehrtens 7f512e602a ramips: mt7621: 02_network optimization
Merging repeating blocks inside the ramips_setup_interfaces() function.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/18146
(cherry picked from commit a0449f8cf3)
Link: https://github.com/openwrt/openwrt/pull/18205
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-03-13 21:52:51 +01:00
Tianling Shen 5c35e29c00 mediatek: assign 5ghz mac with nvmem for cmcc rax3000m
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit aa40ee2e67)
2025-03-10 23:00:35 +08:00
Eric ZHANGandChristian Marangi 2b0cce92ae dnsmasq: fix handlers for options filter_rr and cache_rr
According to:
- https://github.com/openwrt/luci/blob/master/modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js#L700
- https://github.com/openwrt/luci/blob/master/modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js#L402

These two options should be of type `MultiValue` but here there're used as single value. This results in dnsmasq crashes when either of these options are set with multiple values, which leads to an invalid space-separated value.

As these options are designed to take multiple values, I think it's better to use list format eg. `list filter_rr 'AAAA'`, instead of `option filter_rr 'AAAA,HTTPS'`.

See: https://forum.openwrt.org/t/selecting-more-than-one-filter-arbitrary-rr-or-cache-arbitrary-rr-in-v24-10-0-crashes-dnsmasq/225801

Tested on 24.10.0

Signed-off-by: Eric ZHANG <ericzhangjx@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18149
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit d136c24f7c)
2025-03-09 17:28:50 +01:00
Tianling Shen 75a1bff338 uboot-mediatek: refresh uboot config for cmcc rax3000me
Fixes: fd0e123070 ("mediatek: add CMCC RAX3000Me support")
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-03-09 17:37:47 +08:00
Erik ServiliandTianling Shen 9edca6d94d uboot-mediatek: port patches for FORESEE NAND support
Backport FORESEE NAND chip support from upstream Linux. The newly
introduced FORESEE F35SQA001G was found on the Xiaomi AX3000T.

Signed-off-by: Erik Servili <serverror@serverror.com>
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
(cherry picked from commit 302c717aa3)
2025-03-09 17:11:26 +08:00
Tianling Shen fd0e123070 mediatek: add CMCC RAX3000Me support
Hardware specification:
  SoC: MediaTek MT7981B 2x A53
  Flash: 64GB eMMC or 128 MB SPI-NAND
  RAM: 512MB DDR3 or DDR4
  Ethernet: 4x 10/100/1000 Mbps
  Switch: MediaTek MT7531AE
  WiFi: MediaTek MT7976C
  Button: Reset, Mesh
  Power: DC 12V 1A

Gain SSH access:
1. Login into web interface, and download the configuration.
2. Get the SN of the device from web interface or the label on the back of the device.
3. Calculate configuration decryption password:
   Command "eval" is necessary here as the encryption implentation treats '$...' as (empty) variables.
   decpwd="$(eval echo $(openssl passwd -1 -salt aV6dW8bD "your_device_sn"))"
4. Decrypt the configuration:
   openssl aes-256-cbc -d -pbkdf2 -k "$decpwd" -in cfg_export_config_file.conf -out cfg_export_config_file.conf.dec
5. Enter fakeroot, decompress the configuration:
   tar -zxf cfg_export_config_file.conf.dec
6. Edit 'etc/shadow', update (remove) root password: 'root::19179:0:99999:7:::'
7. Edit 'etc/rc.local', insert telnetd command before 'exit 0':
   ( sleep 3s; telnetd; ) &
8. Repack the configuration:
   tar -zc etc/ | openssl aes-256-cbc -pbkdf2 -k "$decpwd" -out cfg_export_config_file.conf
   * If you find an error about 'etc/wireless/mediatek/DBDC_card0.dat',
     just ignore it.
9. Upload new configuration via web interface, now you can connect to
   CMCC RAX3000Me via telnet.
(Big thanks to https://github.com/lyq1996 who reverse engineered the encryption method)

Check flash type:
If '/dev/mmcblk0' exists on the device, it's eMMC version.
If '/dev/mtd0' exists on the device, it's NAND version.

eMMC Flash instructions:
1. Connect to RAX3000Me, and backup everything, especially 'factory' part.
   ('data' partition can be ignored, it's useless.)
2. Write new GPT table:
   dd if=immortalwrt-mediatek-filogic-cmcc_rax3000me-emmc-gpt.bin of=/dev/mmcblk0 bs=512 seek=0 count=34 conv=fsync
3. Write new BL2:
   echo 0 > /sys/block/mmcblk0boot0/force_ro
   dd if=immortalwrt-mediatek-filogic-cmcc_rax3000me-emmc-preloader.bin of=/dev/mmcblk0boot0 bs=512 conv=fsync
4. Write new FIP:
   dd if=immortalwrt-mediatek-filogic-cmcc_rax3000me-emmc-bl31-uboot.fip of=/dev/mmcblk0 bs=512 seek=13312 conv=fsync
5. Set static IP on your PC:
   IP 192.168.1.254/24, GW 192.168.1.1
6. Serve ImmortalWrt initramfs image using TFTP server.
7. Cut off the power and re-engage, wait for TFTP recovery to complete.
8. After ImmortalWrt has booted, perform sysupgrade.

NAND Flash instructions:
1. Connect to RAX3000Me, and backup everything, especially 'Factory' part.
2. Write new BL2 and FIP:
   If your device HAS USB port, run:
     mtd write immortalwrt-mediatek-filogic-cmcc_rax3000me-nand-ddr3-preloader.bin BL2
     mtd write immortalwrt-mediatek-filogic-cmcc_rax3000me-nand-ddr3-bl31-uboot.fip FIP
   If your device DOES NOT have USB port, run:
     mtd write immortalwrt-mediatek-filogic-cmcc_rax3000me-nand-ddr4-preloader.bin BL2
     mtd write immortalwrt-mediatek-filogic-cmcc_rax3000me-nand-ddr4-bl31-uboot.fip FIP
4. Set static IP on your PC:
   IP 192.168.1.254/24, GW 192.168.1.1
5. Serve ImmortalWrt initramfs image using TFTP server.
6. Cut off the power and re-engage, wait for TFTP recovery to complete.
7. After ImmortalWrt has booted, perform sysupgrade.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 57f31cd5b1)
2025-03-09 16:42:47 +08:00
Tianling Shen 72519ca43a mediatek: import dosilicon/fmsh/gsto spi nand support
Imported from linux-rockchip tree:
https://github.com/armbian/linux-rockchip/tree/rk-6.1-rkr5/drivers/mtd/nand/spi

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 25ade3560e)
2025-03-09 16:42:44 +08:00
Tianling Shen de8a2afc84 uboot-mediatek: import dosilicon/fmsh/gsto spi nand support
Imported from linux-rockchip tree:
https://github.com/armbian/linux-rockchip/tree/rk-6.1-rkr5/drivers/mtd/nand/spi

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit df588a6827)
2025-03-09 16:42:39 +08:00
Tianling Shen 738688124c Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-03-09 02:25:23 +08:00
Martin SchillerandHauke Mehrtens d00ed19ed4 mediatek: filogic: enable CONFIG_MITIGATE_SPECTRE_BRANCH_HISTORY
The Cortex-A73 in MediaTek Filogic 880 (MT7988A) is vulnerable to
multiple Spectre variants including Spectre-BHB.

Ref: https://developer.arm.com/Arm%20Security%20Center/Speculative%20Processor%20Vulnerability
Signed-off-by: Martin Schiller <ms@dev.tdt.de>
Link: https://github.com/openwrt/openwrt/pull/18182
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 6af46a6984)
2025-03-08 17:04:29 +01:00
Martin SchillerandHauke Mehrtens c70d0a6304 mediatek: Refresh kernel configuration
I selected one subtarget after the other and refreshed their
configuration using this command:
  make kernel_oldconfig CONFIG_TARGET=subtarget

For MT7629 I had to re-add CONFIG_LEDS_SMARTRG_LED manually.
Otherwise, building MT7629 with ALL_KMODS we get prompted for
LEDS_SMARTRG_LED and this will break CI and in future buildbot
compilation. See commit 6bdea8c7bd ("mediatek: mt7629: 6.6: disable
LEDS_SMARTRG_LED by default") for more details.

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
Link: https://github.com/openwrt/openwrt/pull/18182
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 5013efc4f9)
2025-03-08 17:04:20 +01:00
Willem LeeandTianling Shen d8801b01fb ath79: add support for ZTE E8820
(cherry picked from commit 823b6deac5)
2025-03-07 19:58:52 +08:00
Ahmed NaseefandRobert Marko 315943c616 kernel: usbnet: Restore usb%d naming for cdc-ethernet devices with local MAC
Prior to commit https://github.com/torvalds/linux/commit/8a7d12d674ac6f2147c18f36d1e15f1a48060edf,
cdc-ethernet USB LTE modems (e.g. Quectel EC200A) were consistently named
usb0. After 8a7d12d67, devices began renaming to eth1 due to an assumption
that local MAC addresses originate exclusively from the kernel. Some
devices provide driver-assigned local MACs, causing point-to-point
interfaces with driver-set MACs to adopt eth%d names instead of usb%d.

Restore the naming exception for point-to-point devices: interfaces
without driver MACs or with driver-provided local MACs will retain the
usb%d convention. This addresses issues reported in [1] and fixed in [2].

[1] https://lore.kernel.org/all/Z00udyMgW6XnAw6h@atmark-techno.com/
[2] https://lore.kernel.org/all/20241203130457.904325-1-asmadeus@codewreck.org/

Tested-by: Ahmed Naseef <naseefkm@gmail.com>
Signed-off-by: Ahmed Naseef <naseefkm@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17757
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit ecd609f509)
2025-03-06 16:55:10 +01:00
Felix Fietkau 56559278b7 hostapd: add missing #ifdef to fix compile error when 802.11be support is disabled
Fixes: d65d546bce ("hostapd: add missing ctrl socket initialization on bss add")
Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 46c17c22cd)
2025-03-05 09:20:06 +01:00
Felix Fietkau f0dbdf6b7f hostapd: add missing ctrl socket initialization on bss add
Fixes adding/removing individual bss interfaces

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit d65d546bce)
2025-03-05 08:04:52 +01:00
Matthew CatherandFelix Fietkau 634ac2bab7 hostapd: get reference to object before removal
`ucv_array_set` releases the array's reference to the object being cleared.
If this is the last reference to the object, it will be freed, making our
pointer `val` invalid.

To avoid this, we need to obtain our own reference to the object so we
can safely return `val`.

Signed-off-by: Matthew Cather <mattbob4@gmail.com>
(cherry picked from commit 6a10da2934)
2025-03-05 08:04:52 +01:00
Matthew CatherandFelix Fietkau 1af7bf38f7 hostapd: consistent reference counting for registry
Since `wpa_ucode_registry_add` collects its own reference to the values added, the
two functions `hostapd_ucode_bss_get_uval` and `hostapd_ucode_iface_get_uval` would
sometimes return a referenced object (from `uc_resource_new`) and sometimes return
an unreferenced object (from `wpa_ucode_registry_get`). Now, both functions always
return a referenced object.

This change also indirectly fixes `hostapd_ucode_bss_get_uval`, ensuring it now
always returns a referenced object.

Signed-off-by: Matthew Cather <mattbob4@gmail.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 7729f96093)
2025-03-05 08:04:52 +01:00
Matthew CatherandFelix Fietkau af65802319 hostapd: clean-up references to local variables
Remove extra ucv_get calls when passing a referenced value to an object
without using it further.

Signed-off-by: Matthew Cather <mattbob4@gmail.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 22eaf18647)
2025-03-05 08:04:52 +01:00
Matthew CatherandFelix Fietkau b7ab34d46c hostapd: fix ucode memory leak with strings
This fixes a common reference counting bug typically along the lines of:
```
uc_value_push(ucv_get(ucv_string_new(...)));
```
This would leave our new string with a reference count of 2, one from
the construction of the string, the other from `ucv_get`. This would
prevent the strings from being correctly cleaned up when it goes out
of scope.

Signed-off-by: Matthew Cather <mattbob4@gmail.com>
(cherry picked from commit f79968ee0f)
2025-03-05 08:04:52 +01:00
Cedric CHEDALEUXandRobert Marko 9836836302 scripts/feeds: shallow clone submodules
When a feed has submodules, all its submodules are fully cloned whereas
the feed itself is shallowed. Let's be consistent and perform shallow clones
as well for the submodules.

Signed-off-by: Cedric CHEDALEUX <cedric.chedaleux@orange.com>
Link: https://github.com/openwrt/openwrt/pull/18003
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 9ec32cfb27)
2025-03-04 12:01:44 +01:00
Cedric CHEDALEUXandRobert Marko efffa8a608 scripts/feeds: shallow clone for specific commit update
When a feed is referenced with a specific commit (i.e. <git_url>^<sha1>),
a full clone was performed and a branch was created from the sha1
and named with the sha1. Other git clones operations are shallowed.

As Git does not support clone at a specific commit, let's first perform
a shallow clone to latest commit, then fetch the relevant commit and
finally checkout it (no more 'pseudo' branch).

It saves bandwith and significantly speeds up the feed update process.

Signed-off-by: Cedric CHEDALEUX <cedric.chedaleux@orange.com>
Link: https://github.com/openwrt/openwrt/pull/18003
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 32d0a57dc1)
2025-03-04 12:01:38 +01:00
Tianling Shen 7e72d00963 ramips: switch back to kmod-sdhci-mt7620 for jdcloud re-sp-01b
kmod-mmc-mtk does not work well on this board, switch back to deprecated
kmod-sdhci-mt7620 driver for now.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-03-03 21:54:52 +08:00
Tianling Shen 749a036b1a rockchip: switch to r8169 driver for nanopi r4s series
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 3c5ff02eae)
2025-03-01 20:49:42 +08:00
Felix Fietkau f3a210b742 unetd: update to Git HEAD (2025-02-28)
75a236be122a service: add missing null pointer check
f5341f327539 ubus: add api for generating and validating security tokens
3fab99eab4d5 add udebug support
28d86bd30e97 pex: only respond to update requests when we have network data
8e6f37cc361e pex-msg: ignore no-data responses if version is zero
12e6cf7f63e1 pex: create pex host from update responses
edc8fdae463a ubus: show the local addresses in network status

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit ce68f61cb6)
2025-02-28 17:37:24 +01:00
Daniel Golle e664fe6a21 ethtool: work-around ETHTOOL_GRSSH/ETHTOOL_SRSSH ABI breakage
ethtool since version 6.9 introduced support for getting/setting RSS
input transformation supported in Linux since version 6.8.

The now changed kernel ioctl ABI, however, cannot be detected from
userland, and ethtool since version 6.9 simply assumes that a previously
reserved field is now used to set the input transformation.
Unfortunately the default value RXH_XFRM_NO_CHANGE (0xff) used by ethtool
userland creates an incompatibility with older kernels which cannot be
resolved easily without introducing even more ABI breakage.

Work-around the issue and fix support for --set-rxfh and --set-rxfh-indir
ethtool userland tool commands by making the support for input_xfrm
conditional on compile time, and keep it disabled for Linux 6.6.

Fixes: 8c2dcd1518 ("ethtool: update to 6.10")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Tested-by: Stijn Segers <foss@volatilesystems.org>
(cherry picked from commit 3a7467ffde)
2025-02-28 13:20:22 +00:00
Andrea PesaresiandDaniel Golle c9b97c0b4d ethtool: update to 6.11
Version 6.11 - October 8, 2024
	* Feature: cmis: print active and inactive firmware versions
	* Feature: flash transceiver module firmware (--flash-module-firmware)
	* Feature: add T1BRR 10Mb/s mode to link mode tables
	* Feature: support for disabling netlink from command line
	* Fix: fix lanes parameter format specifier
	* Fix: add missing clause 33 PSE manual description
	* Fix: qsf: Better handling of Page A2h netlink read failure
	* Fix: rss: retrieve ring count using ETHTOOL_GRXRINGS ioctl (-x)
	* Misc: man page formatting fix

* changelog here: https://git.kernel.org/pub/scm/network/ethtool/ethtool.git/commit/NEWS?id=c0ea4b70c71334ef038f7a3416b228a50dada406

Tested on gl.inet MT6000, retrieve ring count is now working

Signed-off-by: Andrea Pesaresi <andreapesaresi82@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17607
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 9454331b7f)
2025-02-28 13:20:21 +00:00
Tianling Shen 9c37def39a Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-02-28 21:09:43 +08:00
Álvaro Fernández Rojas 89f05e032b omcproxy: update to latest version
Changelog: https://github.com/openwrt/omcproxy/compare/bfba2aa75802ff1a70ef2fd3eba53409a8c6e93a...582cd8d3ae7e6af0073ce1d9198387af48affd60

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-02-27 20:12:15 +01:00
Álvaro Fernández Rojas abd08419de kernel: r8126: update to v10.015.00
Changelog: https://github.com/openwrt/rtl8126/compare/10.014.01...10.015.00

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 3d3328bf5f)
2025-02-27 11:58:27 +01:00
Álvaro Fernández Rojas 1ec8d8ea5c kernel: r8125: update to v9.015.00
Changelog: https://github.com/openwrt/rtl8125/compare/9.014.01...9.015.00

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit a8dea562aa)
2025-02-27 11:58:07 +01:00
Maxim AnisimovandHauke Mehrtens d7d560b84b mediatek/filogic: add Keenetic KN-3811 support
Specification:
 * Mediatek MT7981BA
 * 256 MB SPI-NAND
 * 512 MB DDR4 RAM
 * MT7976CN DBDC AX Wi-Fi
 * MediaTek MT7531AE (3x LAN Gigabit ports) + Internal Gbe Phy (1x WAN Gigabit port)
 * 4x LED (power, internet, fn, wifi)
 * 3x buttons (wps, fn, reset)
 * 1x USB 3.0 port

Serial Interface:
 * 3 Pins GND, RX, TX
 * Settings: 115200, 8N1

Notes:
 * The device supports dual boot mode
 * Fn led reassigned to wlan 2.4

Flash instruction:
The only way to flash OpenWrt image is to use tftp recovery mode in U-Boot:

1. Configure PC with static IP 192.168.1.2/24 and tftp server.
2. Rename "openwrt-mediatek-filogic-keenetic_kn-3811-squashfs-factory.bin"
   to "KN-3811_recovery.bin" and place it in tftp server directory.
3. Connect PC with ethernet port, press the reset button, power up
   the device and keep button pressed until status led start blinking.
4. Device will download file from server, write it to flash and reboot.

Signed-off-by: Maxim Anisimov <maxim.anisimov.ua@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17135
(cherry picked from commit d087a79b7b)
Link: https://github.com/openwrt/openwrt/pull/18055
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-02-26 23:32:40 +01:00
Maxim AnisimovandHauke Mehrtens 895531f5c5 mediatek/filogic: add Keenetic KN-3911 support
Specification:
 - MT7981 CPU using 2.4GHz and 5GHz WiFi (both AX)
 - 512MB RAM
 - 128MB SPI NAND
 - 2 LEDs (green, orange)
 - 3 buttons (fn, reset, wps)
 - 2 2.5Gbit ethernet ports based on Airoha EN8811H phy

Serial Interface:
 - 3 Pins GND, RX, TX
 - Settings: 115200, 8N1

Notes:
 - The device supports dual boot mode

Flash instruction:
The only way to flash OpenWrt image is to use tftp recovery mode in U-Boot:

1. Configure PC with static IP 192.168.1.2/24 and tftp server.
2. Rename "openwrt-mediatek-filogic-keenetic_kn-3911-squashfs-factory.bin"
   to "KN-3911_recovery.bin" and place it in tftp server directory.
3. Connect PC with ethernet port, press the reset button, power up
   the device and keep button pressed until status led start blinking.
4. Device will download file from server, write it to flash and reboot.

Signed-off-by: Maxim Anisimov <maxim.anisimov.ua@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16830
(cherry picked from commit 5a4eb56a7b)
Link: https://github.com/openwrt/openwrt/pull/18055
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-02-26 23:32:40 +01:00
Maxim AnisimovandHauke Mehrtens 13e9117861 mediatek/filogic: enable mtd virtual concat support
This is required for upcoming Keenetic KN-3911 support

Signed-off-by: Maxim Anisimov <maxim.anisimov.ua@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16830
(cherry picked from commit 0d651dd302)
Link: https://github.com/openwrt/openwrt/pull/18055
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-02-26 23:32:40 +01:00
Maxim AnisimovandHauke Mehrtens d93b6a2bc2 ramips: move zyimage creation to include/image-commands.mk
This is required for upcoming Keenetic KN-3911 support

Signed-off-by: Maxim Anisimov <maxim.anisimov.ua@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16830
(cherry picked from commit 79db5d65ca)
Link: https://github.com/openwrt/openwrt/pull/18055
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-02-26 23:32:40 +01:00
Tianling Shen 32ddb642ea Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-02-26 23:53:46 +08:00
Tianling Shen f8eeb1ae0b mediatek: add compat version to cmcc a10 ubootmod
cmcc_a10-ubootmod stands for custom U-Boot layout in ImmortalWrt 23.05,
add compat version to avoid bricking devices. For 24.10+ users you can
just ignore the compat warning.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 4b000293b2)
2025-02-26 22:50:50 +08:00
Tianling Shen 78c70ec136 mediatek: add stock layout for CMCC A10
This board is also as known as SuperElectron ZN-M5 and ZN-M8. However,
for ZN-M5 and ZN-M8, there's another version uses ZX279128 as CPU
chip, which is unsupported.
You can check it in "高级设置" > "系统日志" > "内核日志" page from webUI.

Stock layout flash instructions:
Login into webUI and upload sysupgrade firmware in "系统管理" > "升级固件" page.
Remember to unselect "保留配置" ("Keep configurations") first before doing that.

OpenWrt U-Boot layout flash instructions:
1. Flash stock layout firmware first.
2. Connect to the device via SSH, and backup everything,
   especially 'Factory' partition.
3. Unlock MTD partitions:
   apk update && apk add kmod-mtd-rw
   insmod mtd-rw i_want_a_brick=1
4. Write new BL2 and FIP:
   mtd write immortalwrt-mediatek-filogic-cmcc_a10-ubootmod-preloader.bin BL2
   mtd write immortalwrt-mediatek-filogic-cmcc_a10-ubootmod-bl31-uboot.fip FIP
5. Set static IP on your PC:
   IP 192.168.1.254/24, GW 192.168.1.1
6. Serve ImmortalWrt initramfs image using TFTP server.
7. Cut off the power and re-engage, wait for TFTP recovery to complete.
8. After ImmortalWrt has booted, perform sysupgrade.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 4e9240e733)
2025-02-26 22:32:08 +08:00
John AudiaandHauke Mehrtens 3abbc15454 openssl: update to 3.0.16
Changes between 3.0.15 and 3.0.16 [11 Feb 2025]

CVE-2024-13176[1] - Fixed timing side-channel in ECDSA signature
computation.

There is a timing signal of around 300 nanoseconds when the top word of
the inverted ECDSA nonce value is zero. This can happen with significant
probability only for some of the supported elliptic curves. In
particular the NIST P-521 curve is affected. To be able to measure this
leak, the attacker process must either be located in the same physical
computer or must have a very fast network connection with low latency.

CVE-2024-9143[2] - Fixed possible OOB memory access with invalid
low-level GF(2^m) elliptic curve parameters.

Use of the low-level GF(2^m) elliptic curve APIs with untrusted explicit
values for the field polynomial can lead to out-of-bounds memory reads
or writes. Applications working with "exotic" explicit binary (GF(2^m))
curve parameters, that make it possible to represent invalid field
polynomials with a zero constant term, via the above or similar APIs,
may terminate abruptly as a result of reading or writing outside of
array bounds. Remote code execution cannot easily be ruled out.

1. https://www.openssl.org/news/vulnerabilities.html#CVE-2024-13176
2. https://www.openssl.org/news/vulnerabilities.html#CVE-2024-9143

Build system: x86/64
Build-tested: bcm27xx/bcm2712
Run-tested: bcm27xx/bcm2712

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/17947
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit b4e6fd7b76)
2025-02-25 23:30:54 +01:00
Rudy AndramandHauke Mehrtens 88ac2caceb wireless-regdb: Update to version 2025.02.20
b43aeb5 wireless-regdb: assert and correct maximum bandwidth within frequency difference
68588bf wireless-regdb: Update regulatory info for Syria (SY) for 2020
0dda57e wireless-regdb: Update regulatory info for Moldova (MD) on 6GHz for 2022
b19ab0b wireless-regdb: Update regulatory info for Azerbaijan (AZ) on 6GHz for 2024
f67f40d wireless-regdb: Update regulatory info for Oman (OM)
bd70876 wireless-regdb: Update regulatory rules for Armenia (AM) on 2.4 and 5 GHz
6c7cbcc wireless-regdb: Permit 320 MHz bandwidth in 6 GHz band in ETSI/CEPT
f9f6b30 wireless-regdb: Update regulatory rules for Austria (AT)
39b47ea wireless-regdb: Update regulatory info for Cayman Islands (KY) for 2024
3dd7ceb wireless-regdb: allow NO-INDOOR flag in db.txt
4d754a1 wireless-regdb: Update regulatory rules for Iran (IR) on both 2.4 and 5Ghz for 2021
8c8308a wireless-regdb: Update frequency range with NO-INDOOR for Oman (OM)
c2f11e2 wireless-regdb: update regulatory database based on preceding changes

Signed-off-by: Rudy Andram <rmandrad@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17957
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit da2cc98458)
2025-02-25 23:30:54 +01:00
Mieczyslaw NalewajandHauke Mehrtens 652fe915de ramips: improve MT7621S core detection
The proposed detection method was based on reading the LAUNCH_FREADY core flag.
However, this method only works before the cores are launched.
For this reason, the core number detection method has been changed to a simpler one.
For mt6721s the 17th revision bit is zero, hence we know that it is this chip,
so the number of cores is 1.

Fixes: https://github.com/openwrt/openwrt/issues/17764
Tested-by: Enrico Mioso <mrkiko.rs@gmail.com>
Tested-by: Simon Etzlstorfer <simon@etzi.at>
Tested-by: Mauri Sandberg <maukka@ext.kapsi.fi>
Co-authored-by: Shiji Yang <yangshiji66@qq.com>
Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/17834
(cherry picked from commit bb84c256e7)
Link: https://github.com/openwrt/openwrt/pull/18015
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-02-25 23:20:05 +01:00
John AudiaandHauke Mehrtens 22943245a5 kernel: bump 6.6 to 6.6.79
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.79

Manually rebased:
	ramips/patches-6.6/810-uvc-add-iPassion-iP2970-support.patch

All other patches automatically rebased.

Build system: x86/64
Build-tested: bcm27xx/bcm2712, filogic/glinet_gl-mt6000, filogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3, x86/64
Run-tested: bcm27xx/bcm2712, filogic/glinet_gl-mt6000, filogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3, x86/64

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/18066
Signed-off-by: Nick Hainke <vincent@systemli.org>
(cherry picked from commit d664d74669)
Link: https://github.com/openwrt/openwrt/pull/17987
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-02-25 23:16:17 +01:00
John AudiaandHauke Mehrtens b9c6aeb628 kernel: bump 6.6 to 6.6.78
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.78

Removed upstreamed:
	bcm27xx/patches-6.6/950-0487-drivers-media-imx296-Add-standby-delay-during-probe.patch[1]
	mediatek/patches-6.6/256-clk-mediatek-mt2701-vdec-fix-conversion-to-mtk_clk_s.patch[2]
	mediatek/patches-6.6/257-clk-mediatek-mt2701-aud-fix-conversion-to-mtk_clk_si.patch[3]
	mediatek/patches-6.6/258-clk-mediatek-mt2701-bdp-add-missing-dummy-clk.patch[4]
	mediatek/patches-6.6/259-clk-mediatek-mt2701-mm-add-missing-dummy-clk.patch[5]
	mediatek/patches-6.6/260-clk-mediatek-mt2701-img-add-missing-dummy-clk.patch[6]

All other patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.78&id=25abffee5ceb6691ecd4f089be2bb28842e2d2fd
2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.78&id=b6c5237ab7af82c9f1d8d772dbf309bb4aadfdbb
3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.78&id=20210b5c775d2d96f706591c64bc2ad975c37eaf
4. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.78&id=a1fa3dda6bf0b7ecd95fa8f9125e5486b699a81f
5. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.78&id=fc60e9357f15372698da373ee76de8f52d22aac2
6. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.78&id=6f4868e6b2887b55531bc8e0a4106ef0150e6326

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

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/18000
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 57b0304ce9)
Link: https://github.com/openwrt/openwrt/pull/17987
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-02-25 23:16:17 +01:00
John AudiaandHauke Mehrtens 9ec355a921 kernel: bump 6.6 to 6.6.77
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.77

No patches automatically rebased/checksum update only

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

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/17822
(cherry picked from commit 16924e55f0)
Link: https://github.com/openwrt/openwrt/pull/17987
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-02-25 23:16:17 +01:00
John AudiaandHauke Mehrtens 667b131ad1 kernel: bump 6.6 to 6.6.76
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.76

Manually rebased:
	bcm27xx/patches-6.6/950-0519-usb-dwc3-Set-DMA-and-coherent-masks-early.patch
	imx/patches-6.6/600-PCI-imx6-Start-link-at-max-gen-first-for-IMX8MM-and-IMX8MP.patch

Removed upstreamed:
	bcm27xx/patches-6.6/950-1446-media-i2c-ov9282-Correct-the-exposure-offset.patch[1]
	bcm47xx/patches-6.6/701-bgmac-reduce-max-frame-size-to-support-just-MTU-1500.patch[2]
	bcm53xx/patches-6.6/700-bgmac-reduce-max-frame-size-to-support-just-MTU-1500.patch[3]
	ramips/patches-6.6/003-v6.14-clk-ralink-mtmips-remove-duplicated-xtal-clock-for-Ralink.patch[4]

All other patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.76&id=11c7649c9ec3dcaf0a7760551ad30747d9e02d81
2, 3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.76&id=5e6e723675e54ced5200bcc367e2526badc4070c
4. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.76&id=d0edcd0d18d700d76c61c091a24568b8b8c3b387

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

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/17822
(cherry picked from commit 84e370f16c)
Link: https://github.com/openwrt/openwrt/pull/17987
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-02-25 23:16:17 +01:00
John AudiaandHauke Mehrtens b71fafbb70 kernel: bump 6.6 to 6.6.75
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.75

All patches automatically rebased.

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/17822
(cherry picked from commit 9790417109)
Link: https://github.com/openwrt/openwrt/pull/17987
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-02-25 23:16:17 +01:00
John AudiaandHauke Mehrtens 81ef4bc44d kernel: bump 6.6 to 6.6.74
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.74

All patches automatically rebased.

Build system: x86/64
Build-tested: bcm27xx/bcm2712, flogic/xiaomi_redmi-router-ax6000-ubootmod
Run-tested: bcm27xx/bcm2712, flogic/xiaomi_redmi-router-ax6000-ubootmod

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/17708
(cherry picked from commit e9fad02c10)
Link: https://github.com/openwrt/openwrt/pull/17987
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-02-25 23:16:17 +01:00
Tim HarveyandHauke Mehrtens c51d899790 imx: cortexa53: fix sysupgrade image device support for venice
Set the SUPPORTED_DEVICES Device var so that sysupgrade images
are supported without a force.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Link: https://github.com/openwrt/openwrt/pull/17964
(cherry picked from commit 5a124ff167)
Link: https://github.com/openwrt/openwrt/pull/18093
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-02-25 22:59:14 +01:00
Tim HarveyandHauke Mehrtens 79ba163090 imx: cortexa53: add 'gateworks,imx8m*' to sysupgrade board checks
The upstream device-tree files are now using 'gateworks' instead of 'gw'
for compatible. Add this pattern so that the newer boards support
sysupgrade.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Link: https://github.com/openwrt/openwrt/pull/17964
(cherry picked from commit ee73d35fbe)
Link: https://github.com/openwrt/openwrt/pull/18093
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-02-25 22:59:04 +01:00
Robert SenderekandHauke Mehrtens 0963a15e7c ramips: Add support for Mercusys MR1800X as alt name of MR70X
Both share the same OEM firmware but differ in product_name for safeloader
product_name:MR1800X,product_ver:1.0.0,special_id:45550000

Signed-off-by: Robert Senderek <robert.senderek@10g.pl>
Link: https://github.com/openwrt/openwrt/pull/17965
(cherry picked from commit f93367227e)
Link: https://github.com/openwrt/openwrt/pull/18031
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-02-25 22:50:38 +01:00
Robert SenderekandHauke Mehrtens b803517f90 tools: firmware-utils: update to Git HEAD (2024-02-16)
2051fe5 mktplinkfw2: Add 16MLmtk layout
5d1446b tplink-safeloader: Add more special_id's for MR70X

Signed-off-by: Robert Senderek <robert.senderek@10g.pl>
Link: https://github.com/openwrt/openwrt/pull/17999
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 1437ff840b)
Link: https://github.com/openwrt/openwrt/pull/18030
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-02-25 22:48:00 +01:00
INAGAKI HiroshiandHauke Mehrtens 2343699c8c tools: firmware-utils: update to Git HEAD (2024-01-14)
12c0b42 nosimg-enc: add new tool for XikeStor SKS8300 series

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17593
Signed-off-by: Sander Vanheule <sander@svanheule.net>
(cherry picked from commit db0fcc0c8d)
Link: https://github.com/openwrt/openwrt/pull/18030
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-02-25 22:47:55 +01:00
Tianling Shen ace94cede7 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-02-24 23:11:01 +08:00
Felix Fietkau 8c1296f157 kernel: fix IPv6 TCP GSO segmentation with NAT
Add missing checksum update

Fixes: https://github.com/openwrt/openwrt/issues/15857
Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 00e4b23e27)
2025-02-24 12:27:03 +01:00
Tianling Shen a24bf67935 mediatek: remove bootargs-append prop from h3c nx30-pro nmbm layout
fit0 node only exists on fitblk format firmware.

Fixes: https://github.com/immortalwrt/immortalwrt/issues/1735
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 6d67913ee7)
2025-02-24 18:09:22 +08:00
Tianling Shen 1618ba96be Merge Official Source
Signed-off-by: Tianling Shen <i@cnsztl.eu.org>
2025-02-23 17:48:45 +08:00
Sander Vanheule bb6f183e93 realtek: add PoE enable line to Netgear GS310TP
By switching to the new RTL8231 driver in commit b7af54d5c1 ("realtek:
Simple conversions to RTL8231 MFD driver"), the bootloader state of the
RTL8231's pins is now maintained. As the bootloader de-asserts the PoE
enable signal, this means PoE output is no longer available.

Add a gpio-hog with high output, restoring the line value from when the
pin was configured (by default) as an input with a pull-up resistor.
This will hard-enable the PoE output, but the individual ports can still
be administratively disabled by realtek-poe or a similar tool.

Signed-off-by: Sander Vanheule <sander@svanheule.net>
(cherry picked from commit 890293c13c)
2025-02-22 12:33:08 +01:00
Evan JoblingandSander Vanheule 8f3b24643b realtek: HPE 1920-48G-PoE: allow fan speed control
The JG928A has an RTL8231 on the aux mdio bus. Add it to dts to expose
the GPIO pins used to control and monitor the fan speed. To enable speed
control, add the appropriate kernel driver module to DEVICE_PACKAGES.

Of note, this does not control all fans for the unit. The power supply
fans are not controlled.

Signed-off-by: Evan Jobling <evan@jobling.au>
Link: https://github.com/openwrt/openwrt/pull/17699
Signed-off-by: Sander Vanheule <sander@svanheule.net>
(cherry picked from commit cbd1acbad3)
2025-02-22 12:32:35 +01:00
Sander Vanheule 0ae0766f29 realtek: drop old RTL8231 driver
The old RTL8231 driver integrated the MDIO bus access with the GPIO
control ops, making this driver not very portable to newer platforms.
It depended on the SoC ID instead of the compatible to determine the
MDIO access register, further complicating portability.

A new MFD driver is now available, which offers proper pin config as
well as optional LED support, which can work on any (bitbanged) MDIO
bus. Now that all devices have been migrated, we can drop the old code.

Signed-off-by: Sander Vanheule <sander@svanheule.net>
(cherry picked from commit b410f2216c)
2025-02-22 12:32:35 +01:00
Sander Vanheule 28fb32a550 realtek: add PoE enable line to Netgear GS110TPP
By switching to the new RTL8231 driver in commit b7af54d5c1 ("realtek:
Simple conversions to RTL8231 MFD driver"), the bootloader state of the
RTL8231's pins is now maintained. As the bootloader de-asserts the PoE
enable signal, this means PoE output is no longer available.

Add a gpio-hog with high output, restoring the line value from when the
pin was configured (by default) as an input with a pull-up resistor.
This will hard-enable the PoE output, but the individual ports can still
be administratively disabled by realtek-poe or a similar tool.

Signed-off-by: Sander Vanheule <sander@svanheule.net>
(cherry picked from commit 807074309d)
2025-02-22 12:32:35 +01:00
Sander Vanheule ed4f7a6dec realtek: switch RTL8231 driver for D-Link DGS-1210
Update the common external GPIO DTSI file for the DGS-1210 devices to
use an MDIO device on the auxilairy MDIO bus, as the original driver was
doing behind the screen.

Switching to the new driver will allow for full pin-control and will no
longer reset pin config set by the bootloader.

Signed-off-by: Sander Vanheule <sander@svanheule.net>
(cherry picked from commit 3d6a1a7874)
2025-02-22 12:32:35 +01:00
Sander Vanheule 94e629a3a9 realtek: Switch DGS-1210-10P DTS to gpio.dtsi
The DTS file for the DGS-1210-10P is slightly different from the other
DGS-1210 devices, in that it didn't specify a gpio-restart node when it
was added. The gpio-restart has been found to work on the DGS-1210-10P
as well, so switch it over to the common definitions.

This converts the last device from the product family to the common
definition for the (external) GPIOs.

Tested-by: Michel Thill <jmthill@gmail.com>
Signed-off-by: Sander Vanheule <sander@svanheule.net>
(cherry picked from commit 7c0d1c1eb1)
2025-02-22 12:32:35 +01:00
Sander Vanheule f31df0bbba realtek: Drop unused property on DGS-1210 gpio0
The 'indirect-access-id' property on gpio0 is a remnant from the
original GPIO driver. This property has not been relevant on the SoC's
embedded GPIO controller for a long time, so just drop it.

Signed-off-by: Sander Vanheule <sander@svanheule.net>
(cherry picked from commit 022b7d80bf)
2025-02-22 12:32:35 +01:00
Sander Vanheule e76aae2253 realtek: Simple conversions to RTL8231 MFD driver
Change devices with RTL8231 GPIO expander definition that can easily be
translated to the new RTL8231 binding and carry over any gpio-hogs. This
will let them use the new RTL8231 MFD driver, without any functional
changes.

Signed-off-by: Sander Vanheule <sander@svanheule.net>
(cherry picked from commit b7af54d5c1)
2025-02-22 12:32:35 +01:00
Sander Vanheule abf7f15257 realtek: Split Zyxel GS1900-8 into v1 and v2
Zyxel GS1900-8 v2 devices have been produced more recently than v1
devices. As there are v1 boards with RTL8380M rev. C SoCs, it can likely
safely be assumed that all v2 devices will also have a recent SoC
revision, supporting the hardware auxiliary MDIO controller.

Make the GS1900-8 v1 use an emulated auxiliary MDIO bus, for backward
compatibility with devices containing an RTL8380M rev. A.

Since the devicetrees are otherwise identical, GS1900-8 v1 devices with
an RTL8380M rev. B or C will also be able to use the (more efficient) v2
image. This includes any currently functioning device with OpenWrt, so
include the old compatible as a supported device for the GS1900-8 v2.

Link: https://github.com/openwrt/openwrt/issues/9534
Signed-off-by: Sander Vanheule <sander@svanheule.net>
(cherry picked from commit 7322d3266d)
2025-02-22 12:32:35 +01:00
Sander Vanheule f5b66f7651 realtek: rtl838x: Enable MDIO_GPIO driver
The mdio-gpio driver is required to support early revision of RTL8380M
slicon (rev A) where the auxilairy MDIO controller does not function
correctly. Add this driver to the rtl838x kernel so devices with old
SoCs are also able to function correctly.

Signed-off-by: Sander Vanheule <sander@svanheule.net>
(cherry picked from commit efffcfa436)
2025-02-22 12:32:35 +01:00
Sander Vanheule 8e539afa95 realtek: Move GS1900 external GPIO to new DTSI
In order to be able to define the external GPIO controller on an
emulated MDIO bus, move the controller definition outside of the main
GS1900 include for RTL838x-based devices.

Additionally, a new DTSI is provided defining the RTL8231 on the
emulated MDIO bus.

Signed-off-by: Sander Vanheule <sander@svanheule.net>
(cherry picked from commit a6a77896f4)
2025-02-22 12:32:35 +01:00
Sander Vanheule c62bafb223 realtek: Add virtual MDIO bus on rtl838x
Some RTL8380M-based devices have been around for a long time and use an
early A revision of the RTL8380M SoC. This revision has an issue with
the auxiliary MDIO controller, causing it to malfunction. This may lead
to device reboots when the controller is used.

Provide a bit-banged MDIO bus, which muxes the auxiliary MDIO pins to
their GPIO function. Although this will result in lower performance,
there should otherwise be no functional differences.

Link: https://github.com/openwrt/openwrt/issues/9534
Signed-off-by: Sander Vanheule <sander@svanheule.net>
(cherry picked from commit d4bf16a9e1)
2025-02-22 12:32:35 +01:00
Sander Vanheule fd978c2e80 realtek: Enable Zyxel GS1900's RTL8231 reset line
As the bootloader is reconfiguring the RTL8231 on these devices anyway,
no pin state can be maintained over warm reboots. This results in for
example the PoE disable pin always being asserted by the bootloader.

Define the GPIO line linked to the RTL8231's reset so the MDIO subsystem
will also reset the expander on boot and ensure the line in the correct
state.

Signed-off-by: Sander Vanheule <sander@svanheule.net>
(cherry picked from commit b2d17dbb68)
2025-02-22 12:32:35 +01:00
Sander Vanheule 3d26c1cae4 realtek: Switch RTL8231 driver on Zyxel GS1900-48
Switch the Zyxel GS1900-48 over to the new MDIO-based driver for the
RTL8231 GPIO expander.

Signed-off-by: Sander Vanheule <sander@svanheule.net>
(cherry picked from commit 45aafe67f3)
2025-02-22 12:32:34 +01:00
Sander Vanheule e5ac0c7391 realtek: rtl839x: Enable RTL8231 MFD driver
Enable the RTL8231 MFD core driver, as well as the pinctrl/gpio driver
to allow RTL839x devices to use it.

Signed-off-by: Sander Vanheule <sander@svanheule.net>
(cherry picked from commit fd5797b7ce)
2025-02-22 12:32:34 +01:00
Sander Vanheule d7631cf577 realtek: rtl839x: Enable AUX MDIO controller
Enable the driver for the Realtek Otto auxiliary MDIO driver so RTL839x
devices can use it. The related node is added to the base devicetree for
rtl839x-based devices, so they can enabled and use it when required.

Signed-off-by: Sander Vanheule <sander@svanheule.net>
(cherry picked from commit cddcc69ddf)
2025-02-22 12:32:34 +01:00
Sander Vanheule 87d3e886d5 realtek: Update aux-mdio driver
For RTL839x, the driver was producing frequent timeouts on bus accesses.
Increasing the timeout to the one from a recent Realtek SDK resolves
these timeouts. To minimize overhead on different SoCs, each controller
can specify their own timeout.

This also add support for the register format as used on RTL93xx.
Support is added for the RTL930x "ext gpio" controller.

Signed-off-by: Sander Vanheule <sander@svanheule.net>
(cherry picked from commit 52ffef6471)
2025-02-22 12:32:34 +01:00
Sander Vanheule e8e5725cee realtek: Use atomic poll for aux-mdio commands
regmap_read_poll_timeout() relies on usleep_range() to time the polling
loop. With the current, rather large, scheduling interval, a short
usleep_range() may take a lot longer than expected, causing performance
issues.

Switch the driver over to using regmap_read_poll_timeout_atomic(), which
uses udelay() to time the polling loop.

For comparision, the 'ethtool -m <dev>' command is about 10 times faster
with the atomic variant.
Using 'perf -r10 ethtool -m lan25':
  - Driver using regmap_read_poll_timeout():
      2.0117 +- 0.0118 seconds time elapsed  ( +-  0.58% )
  - Driver using regmap_read_poll_timeout_atomic():
      0.1674 +- 0.0250 seconds time elapsed  ( +- 14.95% )

Signed-off-by: Sander Vanheule <sander@svanheule.net>
(cherry picked from commit 693c1ea81a)
2025-02-22 12:32:34 +01:00
Fabian GroffenandSander Vanheule b98d99261a realtek: HPE 1920 24G PoE+ 180W/370W move fans to hwmon
Apply the equivalent of commit f64541db02 ("realtek: HPE 1920 8G PoE+
180W move fans to hwmon") to the 24-ports variants of the HPE 1920 PoE+
switches, with model numbers JG925A and JG926A.

Copy from the original commit message:

  Move to using hwmon and gpio-fan. This is by adding gpio_fan_array to
  DTS and kmod-hwmon-gpiofan to DEVICE_PACKAGES.

  In combination with the new rtl8231 gpio driver the default fan
  behaviour will be maximum fan speed.

  Bump compat value to 1.1 due to existing config in /etc/config/system
  via gpio_switch. Also notify in device compat that fan is now going to
  be at bootloader setting (maximum in this case) by default unless turned
  down.

As the init script 03_gpio_switches does not perform any action after
removing these devices from it, the file can be dropped.

Link: https://github.com/openwrt/openwrt/pull/17598
Signed-off-by: Fabian Groffen <grobian@gentoo.org>
Signed-off-by: Sander Vanheule <sander@svanheule.net>
(cherry picked from commit 0a7c8ed9d9)
2025-02-22 12:32:34 +01:00
Sander Vanheule 88d7d0d9cc realtek: switch RTL8231 driver for HPE 1920-16/24G
Update the base DTS file for the 16 and 24 port HPE 1920 devices
(JG923A, JG924A, JG925A, JG926A), causing the new RTL8231 MFD driver to
be loaded at start-up.

Signed-off-by: Sander Vanheule <sander@svanheule.net>
(cherry picked from commit 96850585e5)
2025-02-22 12:32:34 +01:00
Evan JoblingandSander Vanheule 5b96d45474 realtek: HPE 1920 8G PoE+ 180W move fans to hwmon
The GPIO numbering has changed and is not stable. As a result fan
control via gpio_switch is broken, resulting in errors:
    "export_store: invalid GPIO 456"

Move to using hwmon and gpio-fan. This is by adding gpio_fan_array to
DTS and kmod-hwmon-gpiofan to DEVICE_PACKAGES.

In combination with the new rtl8231 gpio driver the default fan
behaviour will be maximum fan speed.

Bump compat value to 1.1 due to existing config in /etc/config/system
via gpio_switch. Also notify in device compat that fan is now going to
be at bootloader setting (maximum in this case) by default unless turned
down.

Signed-off-by: Evan Jobling <evan@jobling.au>
Link: https://github.com/openwrt/openwrt/pull/17605
Signed-off-by: Sander Vanheule <sander@svanheule.net>
(cherry picked from commit f64541db02)
2025-02-22 12:32:34 +01:00
Sander Vanheule d6f9466196 realtek: switch RTL8231 driver for HPE 1920-8G
Update the base DTS file for the 8 port HPE 1920 devices (JG920A,
JG921A, JG922A), causing the new RTL8231 MFD driver to be loaded at
start-up.

Signed-off-by: Sander Vanheule <sander@svanheule.net>
(cherry picked from commit e5d1a501cb)
2025-02-22 12:32:34 +01:00
Sander Vanheule 60cae0e08f realtek: rtl838x: Switch GS1900 rtl8231 driver
Update the devicetree files to switch the GS1900 devices over to the new
pinctrl and GPIO driver. Enable the drivers to ensure the nodes can be
used.

This may fix issues caused by bad RMW behaviour on the GPIO data lines,
or glitches due to setting the pin direction before the pin level.

Although the driver supports retaining GPIO state after a warm boot,
some bootloaders appear to apply a default configuration on boot, which
may cause an interrupt in PoE-PSE support.

Signed-off-by: Sander Vanheule <sander@svanheule.net>
(cherry picked from commit 5141e2d861)
2025-02-22 12:32:34 +01:00
Sander Vanheule 07ebd87bd1 realtek: Add pinctrl support for RTL8231
Add pending patches to add RTL8231 support as a MDIO-bus attached
multi-functional device. This includes subdrivers for the pincontrol and
GPIO features, as well as the LED matrix support.

Leave the drivers disabled until required by a device.

Cherry picked from commit 6ef6014887, but
dropped already picked patch for gpio-regmap request/free, and rebased
configs

Signed-off-by: Sander Vanheule <sander@svanheule.net>
2025-02-22 12:32:34 +01:00
Sander Vanheule 01bc33a913 realtek: rtl838x: Instantiate auxiliary MDIO bus
Add a disabled node for the auxiliary MDIO bus, used to manage the
RTL8231 expanders. A simple-mfd parent node is added, at the same
(implied) address as the switch@1b000000 node, as the switch drivers
should anyway transistion to MFD subdivices at some point.

Additionally, two pinctrl-single node are added to allow the MDX pins to
be muxed correctly, in case the bootloader leaves these unconfigured.

Signed-off-by: Sander Vanheule <sander@svanheule.net>
(cherry picked from commit 92ae8cb16c)
2025-02-22 12:32:34 +01:00
Sander Vanheule 4a7945ee84 realtek: Add driver for auxiliary MDIO busses
Add a driver that exposes the auxiliary busses, used for the RTL8231
expanders, as a proper MDIO controller. The device must be instantiated
under an MFD device, so the driver should also be compatible with SoC
managed by an external CPU via SPI.

Leave the driver disabled in builds until required.

Signed-off-by: Sander Vanheule <sander@svanheule.net>
(cherry picked from commit ae833c01b3)
2025-02-22 12:32:34 +01:00
Tianling Shen 176cc4072b mediatek: fix sysupgrade for cudy tr3000 v1 ubootmod
Fixes: https://github.com/immortalwrt/immortalwrt/issues/1732
Fixes: 51272fcd00 ("mediatek: add ubootmod layout for cudy tr3000 v1")
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit e6e4c03868)
2025-02-22 14:47:50 +08:00
Tianling Shen 5d90bc4934 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-02-20 17:24:03 +08:00
Tianling Shen c15111610f wifi-scripts: set default country code to CN
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-02-18 19:20:39 +08:00
Felix Fietkau 315facfce6 kernel: receive all bridged multicast packets if IFF_ALLMULTI is set
Fixes issues with odhcpd, especially in relay mode

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 38c21271d2)
2025-02-17 12:31:11 +01:00
Daniel Golle bbe51e72f1 mediatek: apply bootloader work-around for affected ASUS devices
Apply "u-boot-dont-touch-spi-nand" to ASUS RT-AX59U, ASUS TUF-AX4200 as
well as ASUS TUF-AX6000 routers to prevent U-Boot from wiping MTD
child nodes from DT.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit 4387de9445)
2025-02-16 20:43:53 +00:00
Daniel Golle 36bde27e79 mediatek: add work-around for ASUS bootloader MTD behavior
ASUS makes use of U-Boot's fdt_fixup_mtdparts() function which applies
the partitions defined in U-Boot's mtdparts and mtdids environment
variables to the devicetree passed over to Linux.

The undesired side-effect is that in this way also all additional
properties and child nodes get wiped, preventing NVMEM cells to be
defined for MTD partitions or UBI volumes.

To work-around this issue, add an additional compatible string
'u-boot-dont-touch-spi-nand' which can be used instead of 'spi-nand' in
case the replacement of the MTD partitions by U-Boot should be skipped
alltogether.

In practise this is mostly relevant for SPI-NAND which anyway comes only
with two partitions nowadays: 'Bootloader' and 'UBI_DEV'. Hence this
work-around is applicable for SPI-NAND only. Similar work-arounds for
other MTD devices can be created as well should they actually be needed.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit c48afca32c)
2025-02-16 20:43:53 +00:00
Paweł OwocandRobert Marko 4c9cae1906 qualcommax: ipq807x: add support for Linksys MX4300 (LN1301)
Hardware specification:
========
SoC: Qualcomm IPQ8174
Flash: 1GB (Micron MT29F8G08ABBCAH4 or AMD/Spansion S34MS08G2)
RAM: 2GB (2x Kingston B5116ECMDXGJD or ESMT M15T2G16128A DDR3L)
Ethernet: 4x 10/100/1000Mbps (Qualcomm QCA8075)
WiFi1: 5GHz ax 2x2 (Qualcomm QCN5054 + Skyworks SKY85755-11) - channels 36-64 (low band)
WiFi2: 2.4GHz ax 2x2 (Qualcomm QCN5024 + Skyworks SKY85340-11)
WiFi3: 5GHz ax 4x4 (Qualcomm QCN5054 + Skyworks SKY85755-11) - channels 100-177 (high band)
LED: 1x RGB status (NXP PCA9633)
USB: 1x USB 3.0
Button: WPS, Reset

Flash instructions:
========
1. Manually upgrade firmware using openwrt-qualcommax-ipq807x-linksys_mx4300-squashfs-factory.bin image.
More details can be found here: https://support.linksys.com/kb/article/6564-en/
After first boot check actual partition:
- fw_printenv -n boot_part
and install firmware on second partition using command in case of 2:
- mtd -r -e kernel -n write openwrt-qualcommax-ipq807x-linksys_mx4300-squashfs-factory.bin kernel
and in case of 1:
- mtd -r -e alt_kernel -n write openwrt-qualcommax-ipq807x-linksys_mx4300-squashfs-factory.bin alt_kernel

2. Installation using serial connection from OEM firmware (default login: root, password: admin):
- fw_printenv -n boot_part
In case of 2:
- flash_erase /dev/mtd21 0 0
- nandwrite -p /dev/mtd21 openwrt-qualcommax-ipq807x-linksys_mx4300-squashfs-factory.bin
or in case of 1:
- flash_erase /dev/mtd23 0 0
- nandwrite -p /dev/mtd23 openwrt-qualcommax-ipq807x-linksys_mx4300-squashfs-factory.bin
After first boot install firmware on second partition:
- mtd -r -e kernel -n write openwrt-qualcommax-ipq807x-linksys_mx4300-squashfs-factory.bin kernel
or:
- mtd -r -e alt_kernel -n write openwrt-qualcommax-ipq807x-linksys_mx4300-squashfs-factory.bin alt_kernel

3. Installation from initramfs image using USB drive:
Put the initramfs image on the USB drive:
- dd bs=1M if=openwrt-qualcommax-ipq807x-linksys_mx4300-initramfs-uImage.itb of=/dev/sdX
Stop u-boot and run:
- usb start && usbboot $loadaddr 0 && bootm $loadaddr
Write firmware to the flash from initramfs:
- mtd -e kernel -n write openwrt-qualcommax-ipq807x-linksys_mx4300-squashfs-factory.bin kernel
and:
- mtd -r -e alt_kernel -n write openwrt-qualcommax-ipq807x-linksys_mx4300-squashfs-factory.bin alt_kernel

4. Back to the OEM firmware:
- mtd -e kernel -n write FW_MX4300_1.0.4.215382_prod.img kernel
and:
- mtd -r -e alt_kernel -n write FW_MX4300_1.0.4.215382_prod.img alt_kernel

5. USB recovery:
Put the initramfs image on the USB:
- dd bs=1M if=openwrt-qualcommax-ipq807x-linksys_mx4300-initramfs-uImage.itb of=/dev/sdX
Set u-boot env:
- fw_setenv bootusb 'usb start && usbboot $loadaddr 0 && bootm $loadaddr'
- fw_setenv bootcmd 'run bootusb; if test $auto_recovery = no; then bootipq; elif test $boot_part = 1; then run bootpart1; else run bootpart2; fi'

Co-authored-by: Qiyuan Zhang <zhang.github@outlook.com>
Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16070
(cherry picked from commit 4d310b176be9eea162159f2501e650ebbd6605e9)
Signed-off-by: Rafal Boni <rafal.boni@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17889
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-02-16 13:03:23 +01:00
Qiyuan ZhangandRobert Marko 082608fd2b mtd: check the return value of malloc and pread
Check the return value of malloc and pread in case they fail.

Signed-off-by: Qiyuan Zhang <zhang.github@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/16070
(cherry picked from commit 3f014543cd4bd099dc089cbb9b9b2d7b0db8a021)
Signed-off-by: Rafal Boni <rafal.boni@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17889
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-02-16 13:03:23 +01:00
Qiyuan ZhangandRobert Marko 45ce95a9b3 qualcommax: add kernel cmdline replacement hack
Add kernel command line replacement hack to qualcommax. Now we can
find and replace arguments in the kernel command line by setting
bootargs-find-1, bootargs-replace-1, bootargs-exact-match-1
and bootargs-find-2, bootargs-replace-2, bootargs-exact-match-2
under the chosen node in the device tree.

This hack replaces the first occurence of bootargs-find-X with
bootargs-replace-X. When bootargs-exact-match-X is set to "y",
then the replacement happens only if the kernel command line is
identical to bootargs-find-X.

Signed-off-by: Qiyuan Zhang <zhang.github@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/16070
(cherry picked from commit 337f6f76ca5361f45e76facd52396936b9fc25c0)
Signed-off-by: Rafal Boni <rafal.boni@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17889
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-02-16 13:03:23 +01:00
Qiyuan ZhangandRobert Marko ab9f1011ac mtd: fix resetbc on nand w/ min I/O size > 2048
Fix a bug in linksys_bootcount.c that resetbc  won't work on nand
with min I/O size> 2048.

Check the boot-log entry's intergrity with checksum.

Signed-off-by: Qiyuan Zhang <zhang.github@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/16070
(cherry picked from commit 62da99e6d506f3517f50c1efd61e1911df507ae3)
Signed-off-by: Rafal Boni <rafal.boni@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17889
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-02-16 13:03:23 +01:00
Paweł OwocandRobert Marko b02cdced3f qualcommax: ipq807x: fix mac setup for Linksys MX4200v2
Currently for Linksys MX4200v2 all u-boot ethXaddr variables share the same MAC address
and there is no need to check them one by one.

Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16070
(cherry picked from commit 80c867815636cbf32e85b431c5d06c531e4a371e)
Signed-off-by: Rafal Boni <rafal.boni@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17889
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-02-16 13:03:23 +01:00
Paweł OwocandRobert Marko 1252e16f77 qualcommax: ipq807x: define configuration for Linksys MX4x00 devices
Define shared configuration for Linksys MX4x00 devices.

Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16070
(cherry picked from commit 73fc1e0aa2d9956561915e342d098a6881ec85a3)
Signed-off-by: Rafal Boni <rafal.boni@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17889
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-02-16 13:03:22 +01:00
Paweł OwocandRobert Marko deccf0e37b qualcommax: ipq807x: create generic Linksys MX4x00 dts
Create a generic Linksys MX4x00 dts file and extract the specific configuration
for MX4200v1/v2 to a new file.

Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16070
(cherry picked from commit ff85f883ea94f562af618fb26ba8b5e85e572d64)
Signed-off-by: Rafal Boni <rafal.boni@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17889
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-02-16 13:03:22 +01:00
Paweł OwocandRobert Marko 708a81fb8b qualcommax: ipq807x: remove unnecessary bootargs-append for MX4200
The default value for the "root" parameter is "/dev/ubiblock0_0"
and there is no need to append it to bootargs.

Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16070
(cherry picked from commit fee2d93b276f3c44dad83849f9959638ce495de7)
Signed-off-by: Rafal Boni <rafal.boni@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17889
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-02-16 13:03:22 +01:00
Tianling Shen 3580811249 rockchip: drop broken drm backports from kernel 6.6
It will require too much effort to make the driver work in kernel 6.6.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit d04b0cbe39)
2025-02-15 00:54:44 +08:00
Tianling Shen 3a5b87680f Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-02-15 00:47:46 +08:00
Felix Fietkau b7b6ae7424 mt76: update to Git HEAD (2025-02-14)
2919ae2c0f94 wifi: mt76: mt7996: revise TXS size
1aaacd335577 wifi: mt76: mt7996: fix SER reset trigger on WED reset
e9396ad2378f wifi: mt76: mt7996: remove unnecessary key->cipher check for BIP frames
e5fef138524e mt76: only mark tx-status-failed frames as ACKed on mt76x0/2

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 3dfd1f69a7)
2025-02-14 11:31:13 +01:00
Shiji YangandHauke Mehrtens cc5bc05a0e Revert "Revert "ramips: mt7620: fix patching mac address in caldata""
This reverts commit f628467dfd.

The initial fix was correct. However, a recently introduced bug in
base-files can cause some unexpected byte overwriting in eeprom.
Since it has been fixed, let's accept this patch again.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/17892
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 43bc5e6e12)
2025-02-13 00:32:30 +01:00
Shiji YangandHauke Mehrtens bccab05ac7 base-files: fix offset conversion on caldata_patch_data()
`$(( ))` will convert uninitialized variable to "0". If we want to
use "-n" to check the string length, it's necessary to make sure the
converted variable is not empty.

Fixes: 652a6677d5 ("base-files: Add new functions for ath11k caldata")
Fixes: https://github.com/openwrt/openwrt/issues/17818
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/17892
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 094b6f593f)
2025-02-13 00:32:30 +01:00
Shiji YangandHauke Mehrtens 9b05ca988c ramips: mt7620: add missing PA/LNA pinctrl for Linksys E1700
This device has high-power external PA and LNA[1]. So we must
configure PA/LNA pins to make the wireless work properly.

[1] https://fccid.io/Q87-E1700/Internal-Photos/Internal-Photos-pdf-2135639.pdf
Fixes: https://github.com/openwrt/openwrt/issues/7959
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/17892
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 3aa9b70836)
2025-02-13 00:32:30 +01:00
Shiji YangandHauke Mehrtens 2efd34dfa6 mac80211: rt2x00: fix eeprom load from PCI eFuse
When eeprom name is not defined, the file load function should
return an error code so that it can fallthrough to read eeprom
form NIC inside eFuse.

Fixes: https://github.com/openwrt/openwrt/issues/17854
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/17892
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 693108a318)
2025-02-13 00:32:30 +01:00
Lech PerczakandHauke Mehrtens 424d758d1f ath79: mikrotik: fix reference clock of Routerboard 911G
When support for Routerboard 911G was introduced, Routerboad 912UAG
device tree was used as a base, and the common part. This led to use of
40MHz as the reference clock frequency for both [1], while RB911G uses 25MHz
crystal on the board, causing heavy system clock drift.

Split the definition, and set the reference clock frequency for RB911G
back to 25MHz.

[1] a716ac5564 ("ath79: fix reference clock for RouterBoard 912UAG")

Fixes: bcc44b1212 ("ath79: support for MikroTik RouterBOARD 911G-(2,5)HPnD")
Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17944
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 40fc6bd5cc)
2025-02-13 00:32:30 +01:00
Klaas DemterandHauke Mehrtens d89527ce14 uboot-envtools: add support for ZyXEL GS-1900-24EP
It seems the that this was forgotten during initial adding of the
device in 0688cf5aeb

Thanks to
https://forum.openwrt.org/t/zyxel-gs1900-10hp-revision-b1-support-openwrt-firmware/131841/32
for putting me on the right track for this problem

Error that is being fixed - running fw_printenv results in:
"Warning: Bad CRC, using default environment"
and not showing boardmodel

Workaround, manually changing /etc/fw_env.config to
"/dev/mtd1 0x0 0x400 0x10000"

Signed-off-by: Klaas Demter <psychic-stool-cozy@duck.com>
Link: https://github.com/openwrt/openwrt/pull/17920
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 71a966c480)
2025-02-13 00:32:30 +01:00
Pietro AmeruosoandHauke Mehrtens 5b78205343 mediatek: filogic: fix mt7986a-zyxel-ex5601-t0-stock.dts model name and eth1 wan definition
Fix the model name to reflect the stock partitioning and the wan eth1 detection in the 02_network script.

Fixes: https://github.com/openwrt/openwrt/issues/14432
Fixes: b5df398a36 ("mediatek: add Zyxel EX5601-T0 with uboot custom partition")
Signed-off-by: Pietro Ameruoso <p.ameruoso@live.it>
Link: https://github.com/openwrt/openwrt/pull/17859
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit d023ee7439)
2025-02-13 00:32:30 +01:00
Felix Fietkau cb4d2b3fb2 hostapd: fix sta psk index for dynamic psk auth
Depending on the config / circumstances, the get_psk call can be called
multiple times from differnt places, which can lead to wrong sta->psk_idx
values. The correct call is the one that is also interested in the vlan_id,
so use the vlan_id pointer as indication of when to set sta->psk_idx.
Also fix off-by-one error for secondary PSKs

Fixes: b2a2c28617 ("hostapd: add support for authenticating with multiple PSKs via ubus helper")
Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 8118b2dace)
2025-02-12 12:00:19 +01:00
Tianling Shen 4f7fe215e1 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-02-12 17:35:19 +08:00
Felix Fietkau 7955545469 wifi-scripts: fix mac address allocation with macaddr_base set
The 00 address_mask needs to be inverted, otherwise the mac address
allocation will modify the last byte instead of the first one.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 1ee44825ad)
2025-02-11 18:30:27 +01:00
Felix Fietkau f47125f664 build: fix building llvm tarball
Add missing select NEED_BPF_TOOLCHAIN in order to ensure that the toolchain
actually gets built.

Fixes: https://github.com/openwrt/openwrt/issues/17926
Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 04570f5ee2)
2025-02-10 22:12:06 +01:00
Felix Fietkau 5899fe220b umdns: update to Git HEAD (2025-02-10)
c0a2aa12c397 ubus: allow query without specifying interface
c5ca22a71b2e cache: improve service discovery reliability

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit dd5c598de0)
2025-02-10 21:44:00 +01:00
John CrispinandFelix Fietkau 10ba7154db umdns: update to latest HEAD
93458ac dns: fix response to TYPE_PTR query
68af311 fix unicast response port and timeout
a2b4979 service: announce all services in single dns answer
4537734 display announced services in ubus call umdns browse
0b50c29 display more srv attributes in output of ubus browse function

Signed-off-by: John Crispin <john@phrozen.org>
(cherry picked from commit d162fd5ed4)
2025-02-10 17:09:49 +01:00
Felix Fietkau 058cf0a67d unetd: update to Git HEAD (2025-01-29)
aff192cda38b ubus: hide local private key in network_get
24e4aafaaa2f ubus: add detailed peer statistics
082b5482b97f pex: improve keepalive handling

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 087c5abdf5)
2025-02-10 17:08:18 +01:00
Felix Fietkau b4b2f7fd80 unetd: update to Git HEAD (2025-01-27)
c293afa01c13 network: add support for the local_network option

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit c34eee5f39)
2025-02-10 17:08:18 +01:00
Felix Fietkau 3e7193933b unetd: update to Git HEAD (2025-01-26)
322500403615 service: add default group @ to match all nodes
5f7860306200 ubus: rename unetd_ubus_notify to unetd_ubus_network_notify
d13752814651 enroll: add PEX sub-protocol to support enrolling new nodes into a network

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit c0f06cb6ac)
2025-02-10 17:08:18 +01:00
Felix Fietkau a9107e74a6 ucode: update to Git HEAD (2025-02-10)
a362263595e6 vm: fix inverted condition in uc_vm_signal_handlers_setup()
1b8660d33fb7 tests: adjust testcases after previous commit
4efad5388184 main: fix crash on printing -p output
0b80ceb29311 vm: close signal pipe in uc_vm_signal_handlers_reset()
175686c97d82 uci: eliminate usage of global variables
0f69da9c3777 struct: fix memory leak in buffer.pull()
47f3a6b69908 debian/control: Build-Depend on cmake
01efa7b92100 debian/control: Fix Standards-Version, add Bugs
f50149d67fef debian/source/format: change to native
bd001ae4f830 debian/control: libucode Recommends ucode-modules
87776a0bc2b2 docs: Mention `libmd` in macOS docs
826a5c9de7d3 docs: Fix compilation command for macOS
1fa771fc91c0 debian/copyright: fix missing dot to separate paragraphs
60c0e5eae992 debian/control: pkg-config now called pkgconf
244570db4f8e debian/changelog: switch versioning to native package scheme
fa2326fc00a0 .gitignore: ignore files generated by debuild
faec62367524 debian: ignore lintian warning no-manual-page
af881af4b0dc main: add global SCRIPT_NAME variable
5cbd32514187 socket: fix AF_PACKET recvmsg() and sockaddr formatting
6f71a35c4cfa rtnl: properly handle runtime exceptions in listener callback
6dd08716205f ci: bump actions/upload-artifact to v4
001ced17982f socket: properly support SO_ATTACH_FILTER sockopt
f0e865fe3ddd ubus: add named parameter support in functions with many params
18a2ffaf51fa fs: ioctl: export constants for direction values
0ba75bea925d fs: ioctl: improve ioctl read to avoid allocating twice
9da8b8aa4ad0 ubus: add defer.await() method
17dbf0bef4b6 ubus: add request get_fd/set_fd methods
4acb960c90f7 ubus: add support for sending file descriptors via ubus.call/defer
22b9523565a5 ubus: add support for receiving file descriptors in call and defer
c0d1654a450b ubus: add support for channels
b32321beb112 vm: fix crash due to stale frame pointer

Fixes: https://github.com/jow-/ucode/issues/254
Fixes: https://github.com/jow-/ucode/issues/255
Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 0e672e9806)
2025-02-10 17:05:55 +01:00
Robert MarkoandFelix Fietkau fbf04ab999 ucode: update to Git HEAD (2024-12-06)
47b54cf5a4b6 types: introduce `ucv_array_sort_r()` and `ucv_object_sort_r()`
efeb57806552 types, vm: refactor usage of global variables
f9d2faf67de6 vm: reset signals when freeing VM
4e86847d802d lib: utilize `ucv_array_sort_r()` and `ucv_object_sort_r()`
c71444ea301f types: ucv_resource_create(): rename `typename` parameter to `type`
373df7299c79 nl80211: properly support split_wiphy_dump for single phys
9bcd25f54708 lexer: Preserve keyword, regexp flags until processing non-comment tokens
0a7ff4715cb8 main: pretty-print `-p` output by default
4c3d5b469156 struct: Add new buffer API for incremental packing/unpacking
efc4122124cb struct: do not use global variables for caching types

Fixes: https://github.com/jow-/ucode/issues/248
Fixes: https://github.com/jow-/ucode/issues/250
Fixes: https://github.com/efahl/owut/issues/25
Link: https://github.com/openwrt/openwrt/pull/17191
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit af6f1a90bb)
2025-02-10 17:05:45 +01:00
John CrispinandFelix Fietkau 16070364f9 ucode: update to latest HEAD
b0b5d93 Merge pull request #234 from IdWV/fs
60e7a88 Merge pull request #232 from sebastianertz/lib-digest
1752779 digest: implement compile time option to exclude less common algorithms
c7268a1 ci: include libmd in MacOS CI builds
fcb6f70 lib: introduce digest library
1323a27 Merge pull request #246 from jow-/fix-upvalue-resolve
ed5ce8f types: resolve upvalue values in arrays and objects
a6e0641 vm: resolve upvalues before pushing them onto the stack
ef1baab ci: drop OpenWrt tests for now
63e18ea fs: eliminate the usage of global variables
b1bd7b5 types: add ucv_resource_create() helper
3408edf Merge pull request #244 from nbd168/nl80211
8af77e7 nl80211: add new attributes for multi-radio support
1423ad7 nl80211: cover extended feature and EHT rate info attributes
ee1d6d8 Merge pull request #237 from sebastianertz/math
4b18a9b Merge pull request #213 from jow-/improve-vector-macros
1f022c0 math: removed global variable for thread safety
e5fe6b1 treewide: refactor vector usage code
20307ee utils: improve vector utilities
aa18952 Merge pull request #241 from jow-/socket-local-fanout-decl
79ccd9c socket: provide local definition of `struct fanout_args`
402280d Merge pull request #239 from jow-/safe-insert-during-obj-iteration
07afe96 Merge pull request #240 from jow-/stricter-number-conversion
736d450 types: fix potential use after free on adding keys during iteration
4134e71 vallist: more thoroughly check for trailing garbage after numeric string
9cf53dd Merge pull request #226 from jow-/lexer-improvements
2b2e732 lexer: make api functions public
855854f lexer: emit comment and template statement block tokens
328a50f lexer: improve token position reporting
fa22732 Merge pull request #225 from jow-/compiler-fix-keyword-property-labels-after-spread
6e88c62 Merge pull request #224 from jow-/lib-fs-readline-leak
94d1211 compiler: properly treat property names after spread expressions
67cd123 fs: fix potential memory leak on i/o errors in .read()

Signed-off-by: John Crispin <john@phrozen.org>
(cherry picked from commit ba9cdbeea8)
2025-02-10 17:05:42 +01:00
Tianling Shen 80fc35319d ipq806x: fix boot issue for Xiaomi Mi Router HD
Replace removed qcom,boot_pages_size prop with qcom,boot-partitions.
Also update to use new emc2305 fan driver.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 32b366e450)
2025-02-10 17:26:47 +08:00
Tim HarveyandHauke Mehrtens c4f5028bdf imx: coretexa53: add network configuration for gw82xx-2x
The GW82xx-2x has two network ports. By convention, the first
port (eth0) should be the WAN port and the second port (eth1)
should be the LAN port.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Link: https://github.com/openwrt/openwrt/pull/17717
Signed-off-by: Robert Marko <robimarko@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17762
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit d2eaaa90d5)
2025-02-09 23:27:02 +01:00
Tim HarveyandHauke Mehrtens 7feb8be5e4 imx: 6.6: add a patch to work around a PCI init hang on IMX8M{M,P}
The act of attempting link at gen1 then trying to link at higher speeds
causes a hang with the specific PCIe switch used on the Gateworks Venice
boards. Work around this by linking at the highest speed first as is
common with all other PCI controller drivers.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Link: https://github.com/openwrt/openwrt/pull/17717
Signed-off-by: Robert Marko <robimarko@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17762
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 23a18a57cf)
2025-02-09 23:26:39 +01:00
Tim HarveyandHauke Mehrtens e2b064f5a4 imx: 6.6: add some backported kernel patches for Gateworks Venice
Add several dt backports for the Gateworks Venice product family.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Link: https://github.com/openwrt/openwrt/pull/17717
Signed-off-by: Robert Marko <robimarko@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17762
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 1ce87cf25c)
2025-02-09 23:26:13 +01:00
Tim HarveyandHauke Mehrtens fa64175e1a generic: 6.6: add backported btsdio patch for cyw437
Add a backport of a btsdio patch for the cyw437 bluetooth controller.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Link: https://github.com/openwrt/openwrt/pull/17717
Signed-off-by: Robert Marko <robimarko@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17762
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit c9f11523dd)
2025-02-09 23:25:46 +01:00
Mikhail ZhilkinandHauke Mehrtens db30b60bf1 mediatek: fix nmbm configuration mismatch (Xiaomi AX3000t)
This commit fixes nmbm configuration mismatch error on Xiaomi AX3000t
with Winbond W25N01KVZEIR spi-nand:
'''
[    0.786783] NMBM configuration mismatch
'''

Root cause:
1. U-Boot W25N01KV spi-nand driver ia compiled with 64B OOB size for the
   chip and store this size in the nmbm signature;
2. Linux W25N01KV driver use 96B OOB.

The change doesn't affect AX3000t variants with other spi-nand chips
(ESMT, Foresee) because their Linux drivers use 64B OOB.

Fixes: openwrt#16972
Tested-by: Aleksandr Danilov <sc16me@gmail.com>
Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17549
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 3299d19c01)
Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17898
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-02-09 23:19:11 +01:00
Mikhail ZhilkinandHauke Mehrtens 37cc725b1a kernel: nmbm: add mediatek,bmt-mtd-overridden-oobsize property
This commit adds new "mediatek,bmt-mtd-overridden-oobsize" property. The
property helps avoid "NMBM configuration mismatch" error if mtd "OOB size"
is not equal to the "spare size" which is stored in the nmbm signature.

Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17549
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit e585ae70d4)
Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17898
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-02-09 23:19:11 +01:00
Tianling Shen 7b3b9757b7 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-02-09 18:05:16 +08:00
Felix Fietkau 122b637889 umdns: add firewall rule for configured interfaces
Makes it easier to enable MDNS on wan without having to edit the firewall
configuration for it

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 05138fe898)
2025-02-08 22:33:11 +01:00
Tianling Shen f9ca69d18a uboot-mediatek: cmcc rax3000m: fix work with old firmware
bootargs will passed via dt, no need to specify it here.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit e28f54fa17)
2025-02-08 22:14:35 +08:00
Tianling Shen 562c5f3352 ramips: switch back to wpad-openssl for mt7620 and mt7621
It's no longer able to generate images for devices with limited flash
(<= 8 MiB), so just use the full feature wpad.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-02-08 19:40:46 +08:00
Tianling Shen 2b71bcd8a1 ath79: switch back to wpad-openssl for non-tiny subtarget
It's no longer able to generate images for devices with limited flash
(<= 8 MiB), so just use the full feature wpad.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-02-08 19:40:27 +08:00
Tianling Shen c4b622f625 target: switch to full feature wpad for devices with big flash sizes
follow-up updates for remaining targets.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 9c0be8242e)
2025-02-08 19:40:12 +08:00
Tianling Shen 616f8cd8ff target: switch to full feature wpad for devices with big flash sizes
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 53e96e3041)
2025-02-08 19:28:11 +08:00
Tianling Shen 1c48473c85 target: align wpad crypto lib
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit ab378a63c0)
2025-02-08 19:27:46 +08:00
Tianling Shen 12bd0c5511 odhcpd: fix setting default ra mode
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 76c4deb991)
2025-02-08 15:44:11 +08:00
Felix Fietkau 8cd50a6aec build: conditionally build llvm bpf toolchain by default
Unless another toolchain is present (or selected), build the bpf toolchain
whenever a package is selected that needs it.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 6605e45676)
2025-02-07 11:19:10 +01:00
Tianling Shen d4c67143da ImmortalWrt v24.10.0: revert to branch defaults
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-02-06 14:56:23 +08:00
Tianling Shen 78213f3f7a ImmortalWrt v24.10.0: adjust config defaults
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-02-06 14:56:20 +08:00
Álvaro Fernández Rojas 7609571dcd kernel: r8168: update to v8.055.00
Changelog: https://github.com/openwrt/rtl8168/compare/8.054.00...8.055.00

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 5dd763680e)
2025-02-05 15:17:52 +01:00
Tianling Shen 6a73dae98c ath79: disable build for meraki mr18 by default
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-02-05 16:32:41 +08:00
Mieczyslaw NalewajandRobert Marko 92e020b50f mt76: update to Git HEAD (2025-01-22)
3e85822b9c66 page_pool: remove PP_FLAG_PAGE_FRAG
a22d59e4ad50 tools: fix allocation check and missing memory freeing

Signed-off-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
(cherry picked from commit 17dc079)
Link: https://github.com/openwrt/openwrt/pull/17707
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-02-04 20:21:11 +01:00
Álvaro Fernández Rojas e4d840b312 generic: 6.6: backport upstream r8169 patches
b11bff90f2ad r8169: add support for RTL8125BP rev.b
b3593df26ab1 r8169: add support for RTL8125D rev.b
b299ea006928 r8169: adjust version numbering for RTL8126
bb18265c3aba r8169: remove support for chip version 11
2e20bf8cc057 r8169: remove unused flag RTL_FLAG_TASK_RESET_NO_QUEUE_WAKE
e340bff27e63 r8169: copy vendor driver 2.5G/5G EEE advertisement constraints

The EEE advertisement patch has been reworked for linux v6.6 because
phy_set_eee_broken() is only present on linux >= v6.13 and eee_broken_modes
declaration has been converted to a bitmap, so linkmode_set_bit() can't be
used either.
https://github.com/torvalds/linux/commit/e340bff27e63ed61a1e9895bed546107859e48a7
https://github.com/torvalds/linux/commit/ed623fb8e38e2a241da12864778ec9c9cf930c65
https://github.com/torvalds/linux/commit/721aa69e708b7432af83c4bb00a30e2b7c27da28

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 084618f8db)
2025-02-04 07:30:39 +01:00
Hauke Mehrtens 9e1b04fbdc OpenWrt v24.10.0: revert to branch defaults
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-02-04 00:10:38 +01:00
Hauke Mehrtens 1fad1b4965 OpenWrt v24.10.0: adjust config defaults
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-02-04 00:10:35 +01:00
Hauke Mehrtens 6df0e3d02a Revert "ramips: mt7620: fix patching mac address in caldata"
This reverts commit 3295f6f1c2.

It looks like the eeprom gets broken after this change.
I think this change was not tested on a real device before it was
merged.
The MAC addresses will be broken again after this revert.

Fixes: #17818
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit f628467dfd)
2025-02-04 00:09:37 +01:00
Tianling Shen 70ed6e7808 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-02-03 20:41:56 +08:00
Christian Marangi cd747cb3aa ipq806x: fix broken WAN on Linksys EAX and Asrock G10
Fix broken WAN on Linksys EAX and Asrock G10 by incrementing the WAN
interface MAC address + 1. This caused conflicting entry in the FDB
table and caused the WAN port to malfunction with the DSA conversion.

Fixes: #17157
Fixes: #15585
Fixes: #16604
Link: https://github.com/openwrt/openwrt/pull/17839
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit eba2fbf638)
2025-02-03 01:55:01 +01:00
Shiji YangandHauke Mehrtens 4d213b2ae2 ramips: fix xtal clock registration issue on RT3883
The redundant xtal clock source caused clock registration failure.

Link: https://lore.kernel.org/all/20250108093636.265033-1-sergio.paracuellos@gmail.com/
Fixes: https://github.com/openwrt/openwrt/issues/17677
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/17830
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit cfca9d6894)
2025-02-02 20:36:41 +01:00
Tianling Shen e29fa6e28d rockchip: change eth phy mode to rgmii-id for orangepi r1 plus lts
In general the delay should be added by the PHY instead of the MAC,
and this improves network stability on some boards which seem to
need different delay.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit eb658d5020)
2025-02-02 19:48:10 +08:00
Tianling Shen 9a0aa64a03 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-02-02 19:47:57 +08:00
Daniel Golle c1d5de0c59 mediatek: mt7622: fix SATA on BPi-R64
Two commits which made their way into Linux stable broke the SATA
support on the BPi-R64.

Fix this by reverting a node rename which broke DT-overlay application
and import a (still pending) patch re-adding the 'syscon' compatible to
the pciesys clock-controller which also contains phy-mode bits
referenced by the ahci_mtk driver expecting to access them using
syscon_regmap_lookup_by_phandle().

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit 69890e16b3)
2025-02-01 05:10:37 +00:00
Daniel GolleandHauke Mehrtens 81db307748 generic: net: phy: realtek: work-around hang on SerDes setup
On some but not all devices using the RTL8221B 2.5GBit/s PHY the SerDes
setup sequence may hang under some circumstances (eg. <2500M link
partner present during boot).

RTL8221B-VB-CG 2.5Gbps PHY (C45) mdio-bus:01: rtl822xb_config_init failed: -110

Work-around the issue by performing a hardware reset and subsequent
retry of the SerDes setup, which seems to always succeed.

Doing this requires moving ALDPS setup to config_init (which is anyway
the better place for that) as it otherwise doesn't survive the reset.

Also disable listening on MDIO address 0 which may be used by other PHYs
despite being spec'ed as "broadcast address", as bus activity on address
0 may otherwise confuse the RealTek PHY for good reasons.

Tested-by: Luis Mita <luis@luismita.com>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit c87a767801)
Link: https://github.com/openwrt/openwrt/pull/17790
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-01-31 21:38:34 +01:00
Hauke Mehrtens 7a916c75e8 x86: Add kmod-drm-i915 as default package
Add kmod-drm-i915 to the default packages. It was build into the kernel
before and is now build as a kernel module.

Fixes: 77cfe8fd15 ("x86: make i915 as a kmod with required firmware")
Link: https://github.com/openwrt/openwrt/pull/17781
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 8390599c9a)
Link: https://github.com/openwrt/openwrt/pull/17792
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-01-31 21:37:05 +01:00
Shiji YangandHauke Mehrtens 1a75172721 ramips: pinctrl: allow mux SDXC pins for mt76x8
The mt76x8 SDXC pin register definition is incompatible with the
mtmips generic pinctrl driver structure. This hack allows us to
mux the SDXC IO to different pin groups in device tree.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/17446
(cherry picked from commit 05ec3b50a8)
Link: https://github.com/openwrt/openwrt/pull/17754
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-01-29 22:37:05 +01:00
Álvaro Fernández Rojas e2c2a6ed7f bmips: shg2500: add missing led controller cells
Fixes the following DT warnings:
../dts/bcm63168-sercomm-shg2500.dts:76.4-14: Warning (reg_format): /ubus/spi@10001000/led-controller@1/led@1:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/bcm63168-sercomm-shg2500.dts:75.9-78.5: Warning (avoid_default_addr_size): /ubus/spi@10001000/led-controller@1/led@1: Relying on default #address-cells value
../dts/bcm63168-sercomm-shg2500.dts:75.9-78.5: Warning (avoid_default_addr_size): /ubus/spi@10001000/led-controller@1/led@1: Relying on default #size-cells value

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit fbe0bd5f64)
2025-01-28 08:35:57 +01:00
Hauke Mehrtens c08ba0f712 OpenWrt v24.10.0-rc7: revert to branch defaults
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-01-28 00:06:50 +01:00
Hauke Mehrtens 6cbfbb1853 OpenWrt v24.10.0-rc7: adjust config defaults
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-01-28 00:06:47 +01:00
Uwe Kleine-KönigandHauke Mehrtens daef29c75d dnsmasq: add fix related to DNSSEC verification from upstream
To find the DS record for a given zone the parent zone's nameserver must
be queried and not the nameserver for the zone. Otherwise DNSSEC
verification for unsigned delegations breaks.

Signed-off-by: Uwe Kleine-König <uwe+openwrt@kleine-koenig.org>
Link: https://patchwork.ozlabs.org/project/openwrt/patch/20250127151223.1420006-1-uwe+openwrt@kleine-koenig.org/
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 6dc0f0c50c)
2025-01-27 23:53:29 +01:00
Hauke Mehrtens 50cb934142 apm821xx: NETGEAR WNDR4700: Fix compat version
The definition for the netgear_wndr4700 had two different
DEVICE_COMPAT_VERSION definitions.

In commit 5815884c3a ("apm821xx: migrate to DSA"), an additional
DEVICE_COMPAT_VERSION := 3.0 attribute was added to the device
definition. The old one with version 2.0 stayed and was defined later
overwriting the new one.

Replace the old version 2.0 with the new version 3.0

Fixes: 5815884c3a ("apm821xx: migrate to DSA")
Link: https://forum.openwrt.org/t/openwrt-24-10-0-rc6-sixth-release-candidate/222466/43
Link: https://github.com/openwrt/openwrt/pull/17741
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit dab52c00d7)
2025-01-27 23:53:29 +01:00
Hauke Mehrtens 6f7bbd0395 wolfssl: Update to version 5.7.6
This fixes multiple bugs and also minor security problems.

Changelog:
https://github.com/wolfSSL/wolfssl/releases/tag/v5.7.4-stable
https://github.com/wolfSSL/wolfssl/releases/tag/v5.7.6-stable

The package size increases:
525814 bin/packages/mips_24kc/base/libwolfssl5.7.2.e624513f-5.7.2-r1.apk
549408 bin/packages/mips_24kc/base/libwolfssl5.7.6.e624513f-5.7.6-r1.apk

Link: https://github.com/openwrt/openwrt/pull/17742
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 0a7e92c244)
2025-01-27 23:53:29 +01:00
Hannu NymanandHauke Mehrtens 4e70887d43 wolfssl: Adjust version for apk
Adjust wolfssl version for apk by removing the "-stable"
from the OpenWrt version, although it is still needed for
upstream download archive name.

Define PKG_BUILD_DIR accordingly.

Utilize new short version to simplify ABI_VERSION calculation.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Link: https://github.com/openwrt/openwrt/pull/16906
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit be952e98bc)
2025-01-27 23:53:29 +01:00
Thomas RichardandRobert Marko d0289daa69 stm32: enable CONFIG_SMSC_PHY
The STM32MP135F-DK board uses the LAN8742 PHY.
Enable CONFIG_SMSC_PHY to have full PHY support.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/17745
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit d981f28f76)
2025-01-27 15:14:50 +01:00
Anders MelchiorsenandRobert Marko a5eb5ee1a6 ramips: restore full switch performance for USW-Flex
Since commit f1c9afd801 ("ramips: mt7621-dts: mux phy0/4 to gmac1") the
USW-Flex lan1 port has been attached directly to the CPU. This improves
routing performance but hinders switching.

This is a generally accepted trade-off in that commit but for USW-Flex it
is a questionable choice. This switch is designed to deliver PoE to remote
places and using it as a router is unlikely. Meanwhile, the lan1 port is
also PoE-in and will often be the uplink, carrying most of the traffic.

Reverting f1c9afd801 for USW-Flex restores full 1 Gbps switching
performance on all ports.

Signed-off-by: Anders Melchiorsen <amelchio@nogoto.net>
Link: https://github.com/openwrt/openwrt/pull/17703
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 62872f8bfd)
2025-01-27 12:56:29 +01:00
Christian Marangi 2bff6e490a airoha: an7581: replace clock patch with upstream version
Replace clock patch for eMMC with upstream version to add the tag and
flag them as upstreamed.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit a9b408a97f)
2025-01-27 12:15:46 +01:00
Christian Marangi 077a869034 airoha: an7581: replace eMMC support with upstream version
Replace eMMC support with upstream version where we declare dummy clock
and dummy regulator instead of a specific compatible. Also drop the
downstream patch for it.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit b7edf88b0f)
2025-01-27 12:04:15 +01:00
Tianling Shen b3b143104a Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-01-27 19:03:10 +08:00
Christian Marangi ea66541032 airoha: an7581: refresh and fix cpufreq patch
Refresh cpufreq with merged upstream version. Also fix the PM Domain
rebased patch to correctly expose the symbol for non Mediatek target.

Update dtsi with new pm domain name.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit fbbfcbf150)
2025-01-27 11:11:39 +01:00
Eric FahlgrenandHauke Mehrtens e1ba6e407b octeon: ubnt-usg: add board name to supported devices
The on-device board name reported by 'ubus call system board' is not present
in the generated profiles.json.  This results in upgrade tools being unable
to match the image with the proper device.  Let's add a 'SUPPORTED_DEVICES'
entry for the board name to fix this.

Links: https://forum.openwrt.org/t/owut-openwrt-upgrade-tool/200035/441
Links: https://github.com/openwrt/openwrt/commit/2a07270180ed0e295d854d6e9e59c78c40549efc
Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17736
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 7165937c3b)
2025-01-27 02:10:46 +01:00
Paweł OwocandHauke Mehrtens 150aa9aeee ramips: mt7620: fix patching mac address in caldata
Fix usage of non-existent 'caldata_patch_mac' function
by using the 'caldata_patch_data' function.

Fixes: #17734
Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17737
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 3295f6f1c2)
2025-01-27 02:05:02 +01:00
Felix Fietkau 298654b9ab netifd: remove leftover wifi reload_legacy call
Commit d127539291 removed support for it

Fixes: #17738
Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit a3154cfeb6)
2025-01-26 21:21:00 +01:00
Felix Fietkau a1ee311f59 unetd: fix interface teardown
Pass the correct device name in the network_del ubus call

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 80ba0d958d)
2025-01-26 21:21:00 +01:00
Tianling Shen 8ef328099c mbedtls: make use of armv8 ce for sha256/sha512 algorithm
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 122f333f78)
2025-01-26 21:59:01 +08:00
Tianling Shen 1e1b080310 mbedtls: drop redundant cflags hack
mbedtls will now automatically append '+crypto' flag when needed.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 2019673ee6)
2025-01-26 21:59:01 +08:00
Daniel Golle d30773abe8 generic: fix probe issues with RealTek RTL8221B PHYs
Import patch "net: phy: realtek: mark existing MMDs as present"

    When using Clause-45 mode to access RealTek RTL8221B 2.5G PHYs some
    versions of the PHY fail to report the MMDs present on the PHY.
    Mark MMDs PMAPMD, PCS and AN which are always existing according to
    the datasheet as present to fix that.

Fixes: #16823, #17183, #17232
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Tested-by: Aleksander Jan Bajkowski <olek2@wp.pl>
Tested-by: Juan Pedro Paredes Caballero <juanpedro.paredes@gmail.com>
(cherry picked from commit 730db6b893)
2025-01-26 01:12:36 +00:00
Hauke Mehrtens 1e9966a63a kernel: Make kmod-usb-chipidea select kmod-phy-ath79-usb
The USB PHY on the ar9330 and similar SoCs needs the PHY driver. In
OpenWrt 23.05 it was compiled into the kernel. The kernel 6.6
configuration does not compile it in any more, make the
kmod-usb-chipidea driver select it to add it to the images.

Fixes: https://github.com/openwrt/openwrt/issues/17710
Fixes: 04bdf9b332 ("ath79: disable ath79 USB phy drivers by default")
Link: https://github.com/openwrt/openwrt/pull/17720
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit b467e5a0af)
2025-01-25 13:34:13 +01:00
Chukun PanandHauke Mehrtens a296d09dc4 mediatek: cleanup device tree for cudy devices
Fixes typo for led properties.
Delete the unused rfb compatible.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
(cherry picked from commit 64d1b1089c)
2025-01-24 22:43:13 +01:00
Chukun PanandHauke Mehrtens 95dffe39f8 mediatek: update status led for Cudy TR3000
Use white led when running, consistent with the stock firmware.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
(cherry picked from commit 87632219d4)
2025-01-24 22:42:56 +01:00
Chukun PanandHauke Mehrtens e5f3704f9a mediatek: cudy: fixes 2.5G PHY interrupt support
Fixed interrupt support for 2.5G PHY.
Removed useless phy-mode on phy node.

Tested on Cudy TR3000.
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
(cherry picked from commit 82b69dfaf6)
2025-01-24 22:42:42 +01:00
Chukun PanandHauke Mehrtens d6fe142161 mediatek: cudy: fixes typo for spi and mtd properties
Same as commit 3674689, correct 'buswidth' to 'bus-width'.
Move the nmbm properties outside the partition definition.
Change uppercase to lowercase, add missing read-only flag.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
(cherry picked from commit ab375a3484)
2025-01-24 22:42:39 +01:00
Sergey RyazanovandHauke Mehrtens 04a1d0d410 kernel: vrx518_tc: bump PKG_RELEASE
Bump PKG_RELEASE after the previous fixes.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
Link: https://patchwork.ozlabs.org/project/openwrt/patch/20250122222654.21833-5-ryazanov.s.a@gmail.com/
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 78f908407e)
2025-01-24 22:26:21 +01:00
Sergey RyazanovandHauke Mehrtens a96eaa6456 ipq40xx: fix compatibility with linux-atm tools
atm_qos struct should be the same both for user and kernel spaces. Via
the __SO_ENCODE() macro it is used to define the SO_ATMQOS socket IOC.

During the VRX518 support introduction, the atm_trafprm sturct nested
into the atm_qos stucture was update with newer fields that are
referenced by the ATM TC layer of the VRX518 TC driver. These new fields
are intended to communicate information for extra traffic classes
supported by the driver. But we are still using vanilla kernel headers
to build the toolchain. Due to the atm.h header incoherency br2684ctl
from linux-atm tools is incapable to configure the ATM bridge netdev:

  br2684ctl: Interface "dsl0" created sucessfully
  br2684ctl: Communicating over ATM 0.1.2, encapsulation: LLC
  br2684ctl: setsockopt SO_ATMQOS 22 <-- EINVAL errno
  br2684ctl: Fatal: failed to connect on socket; File descriptor in bad state

There are two options to fix this incoherency. (a) update the header
file in the toolchain to build linux-atm against updated atm_trafprm and
atm_qos structures, or (b) revert atm_trafprm changes.

Since there are no actual users of the extra ATM QoS traffic classes,
just drop these extra traffic classes from vrx518_tc ATM TC layer and
drop the kernel patch updating atm.h.

Besides fixing the compatibility with linux-atm tools, removing the
kernel patch should simplify kernel updates removing unneeded burden of
maintenance.

Run tested with FRITZ!Box 7530 with disabled extra traffic classes and
then removed them entirely before the submission.

CC: John Crispin <john@phrozen.org>
Fixes: cfd42a0098 ("ipq40xx: add Intel/Lantiq ATM hacks")
Suggested-by: Andre Heider <a.heider@gmail.com>
Reported-and-tested-by: nebibigon93@yandex.ru
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
Link: https://patchwork.ozlabs.org/project/openwrt/patch/20250122222654.21833-4-ryazanov.s.a@gmail.com/
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 6d6dc3a3c9)
2025-01-24 22:26:20 +01:00
Sergey RyazanovandHauke Mehrtens 6383f24378 kernel: vrx518_tc: fix ADSL/ATM operation
ATM TC layer have some issues which effectively prevent VRX518 from
being used as ADSL modem. Specifically, there one crash during the ATM
layer configuration and wrong PVC ID selection on packet receiving what
breaks RX path. Fix both of the issues. Make subif iface registration
optional to prevent the crash (see more details in the new patch) and
update the hardcoded PVC ID to match the first allocated channel.

Run tested with FRITZ!Box 7530.

Fixes: 474bbe23b7 ("kernel: add Intel/Lantiq VRX518 TC driver")
Reported-and-tested-by: nebibigon93@yandex.ru
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
Link: https://patchwork.ozlabs.org/project/openwrt/patch/20250122222654.21833-3-ryazanov.s.a@gmail.com/
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 470335450e)
2025-01-24 22:26:19 +01:00
Sergey RyazanovandHauke Mehrtens 9b32a8ec9d kernel: vrx518_tc: fix RX desc phys to virt mapping
It looks like VRX518 returns phys addr of data buffer in the 'data_ptr'
field of the RX descriptor and an actual data offset within the buffer
in the 'byte_off' field. In order to map the phys address back to
virtual we need the original phys address of the allocated buffer.

In the same driver applies offset to phys address before the mapping,
what leads to WARN_ON triggering in plat_mem_virt() function with
subsequent kernel panic:

  WARNING: CPU: 0 PID: 0 at .../sw_plat.c:764 0xbf306cd0 [vrx518_tc@8af9f5d0+0x25000]
  ...
  Unable to handle kernel NULL pointer dereference at virtual address 00000000
  pgd = aff5701e
  [00000000] *pgd=00000000
  Internal error: Oops: 5 [#1] SMP ARM

Noticed in ATM mode, when chip always returns byte_off = 4.

In order to fix the issue, pass the phys address to plat_mem_virt() as
is and apply byte_off later for proper DMA syncing and on mapped virtual
address when copying RXed data into the skb.

Run tested with FRITZ!Box 7530 on both ADSL and VDSL (thanks Jan) links.

Fixes: 474bbe23b7 ("kernel: add Intel/Lantiq VRX518 TC driver")
Tested-by: Jan Hoffmann <jan@3e8.eu> # VDSL link
Reported-and-tested-by: nebibigon93@yandex.ru # ADSL link
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
Link: https://patchwork.ozlabs.org/project/openwrt/patch/20250122222654.21833-2-ryazanov.s.a@gmail.com/
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 7bd579689d)
2025-01-24 22:26:17 +01:00
Florian MaurerandHauke Mehrtens 0ba00ec205 mediatek-mt7622: netgear-wax206 fix wifi leds
the wifi leds of the wax206 were not reacting.
This patch enables the green leds to show activity, as the blue ones are very bright.
Also set the label-mac to the gmac0

Signed-off-by: Florian Maurer <f.maurer@outlook.de>
Link: https://github.com/openwrt/openwrt/pull/17694
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 9ada8578fd)
2025-01-24 22:25:43 +01:00
Sander Vanheule 7a1da5486f realtek: Fix old compatible for HPE 1920-8G PoE
Supported devices are listed in the metadata as the first part of the
DTS compatible. This normally follows the format "vendor,device".

When updating the device name of the 180W 1920-8G PoE an underscore was
used, instead of a comma, to join the vendor and device name. This will
lead to warnings for users wanting to sysupgrade a device with an older
compatible, as the device's info does not match the one the metadata.

Fixes: 987c96e889 ("realtek: rename hpe,1920-8g-poe to match hardware")
Signed-off-by: Sander Vanheule <sander@svanheule.net>
(cherry picked from commit 6a7fa68569)
2025-01-24 17:16:15 +01:00
Ivan DengandRobert Marko bf0a1296a5 qualcommax: add missing WAN LED support to Spectrum SAX1V1K routers
Fixed an issue where both WAN LEDs light up before plugging in the
ethernet cable and no blinking regardless of WAN network activity.

Updated the LED configuration to reflect proper status:
Green indicates 2.5Gb connection speed.
Yellow indicates other connection speed and traffic activity.

This resolves inconsistent WAN LED behavior on Spectrum SAX1V1K routers.

Signed-off-by: Ivan Deng <hongba@rocketmail.com>
Link: https://github.com/openwrt/openwrt/pull/17623
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 8e78bc39a3)
2025-01-24 11:53:42 +01:00
Tianling Shen a0b459651e uboot-mediatek: reorder patches
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 72b5177643)
2025-01-24 16:49:48 +08:00
Tianling Shen 2414137483 ImmortalWrt v24.10.0-rc4: revert to branch defaults
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-01-24 16:34:27 +08:00
Tianling Shen 3e03614bdc ImmortalWrt v24.10.0-rc4: adjust config defaults
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-01-24 16:34:26 +08:00
Tianling Shen d475f4e400 kernel: refresh patches
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-01-24 16:26:48 +08:00
Tianling Shen 3c612fff17 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-01-24 16:11:59 +08:00
Dim FishandChristian Marangi 8290303ea4 mediatek: add Airoha AN8855 gigabit switch driver
New revisions of Xiaomi AX3000T with 1.0.84+ stock firmware contain new hardware.
This commit add support for Airoha AN8855 gigabit switch driver with 6.6 kernel patches

Based on https://patchwork.kernel.org/project/netdevbpf/cover/20241209134459.27110-1-ansuelsmth@gmail.com/

Signed-off-by: Dim Fish <dimfish@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16709
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 0fd9d00cd6)
2025-01-23 15:28:08 +01:00
Hauke Mehrtens 18c47b0e96 OpenWrt v24.10.0-rc6: revert to branch defaults
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-01-22 22:49:28 +01:00
Hauke Mehrtens 8c660861ef OpenWrt v24.10.0-rc6: adjust config defaults
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-01-22 22:49:23 +01:00
Álvaro Fernández Rojas 58d0057481 generic: backport pending gpio-regmap ops patch
This patch has been accepted for linux v6.14 so we can move it from pending
to backport.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 2f2e21a52b)
2025-01-22 20:52:54 +01:00
Álvaro Fernández Rojas 9d9e06a30a generic: fix version number on realtek phy patches
These patches have been accepted in linux v6.14 instead of v6.13.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 12a07e934c)
2025-01-22 20:52:34 +01:00
Daniel GolleandÁlvaro Fernández Rojas a872a245a2 generic: net: phy: realtek: expose temperature sensors
Expose the temperature sensor built-into RTL822x 2.5G and 5G PHYs.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 3a189e3831)
2025-01-22 20:52:06 +01:00
Mieczyslaw NalewajandÁlvaro Fernández Rojas eff00e2fb1 generic: refresh hack patches
Refresh hack patches with make target/linux/refresh.

Fixes: 9508ca44eb ("kernel: backport improvement to page pool fragment handling from 6.7")
Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit ee730a66e9)
2025-01-22 20:51:39 +01:00
Felix Fietkau 419ef19dba kernel: backport improvement to page pool fragment handling from 6.7
Makes it easier to keep drivers like mt76 in sync with newer versions

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 9508ca44eb)
(cherry picked from commit 478041997f)
2025-01-22 12:41:43 +01:00
Tianling Shen f678ad3ee9 Merge Officlal Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-01-22 17:17:53 +08:00
Danila RomanovandFelix Fietkau 642b5b6199 generic: mtk_eth_soc: reduce driver memory usage
1. Import pending patch to fix ramips/mt7621 64MB targets.

2. Do not enable CONFIG_PAGE_POOL_STATS by default.

Signed-off-by: Danila Romanov <pervokur@gmail.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 15887235c1)
2025-01-22 06:56:12 +01:00
John AudiaandHauke Mehrtens 454dbafd9b kernel: bump 6.6 to 6.6.73
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.73

No patches needed a rebase.

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

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/17687
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 761b244964)
2025-01-21 23:48:28 +01:00
Lech PerczakandHauke Mehrtens ad98c322cc ath79: meraki-mr18: fix initramfs build
Now, that initramfs images built for ZTE devices work, by moving
LZMA_TEXT_START further up the available RAM - same fix works
successfully for Meraki MR18 too. Apply it and reenable initramfs
generation again.

Fixes: 1d49310fdb ("ath79: add Cisco Meraki MR18")
Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17680
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 7423e67e1b)
2025-01-21 11:03:13 +01:00
Mikhail ZhilkinandHauke Mehrtens 939550bfbf mediatek: Xiaomi AX3000t: fix soft brick for the rd23 model
This commit fixes Xiaomi AX3000t soft bricks. Issue affects at least rd23
model (Global version) users:
Link: https://forum.openwrt.org/t/openwrt-support-for-xiaomi-ax3000t/180490/452

I also found that these nvram settings are wrong for the rd23 model and
U-Boot erase them:
'''
flag_try_sys1_failed 8
flag_try_sys2_failed 8
'''
As a result, platform.sh -> xiaomi_initial_setup() function sometimes ends
early without applying settings for the rd23 model.

RD03 model strategy:
1. Don't touch values those were set up by platform.sh ->
xiaomi_initial_setup() function

RD23 model strategy:
1. Apply correct nvram settings at every boot
2. Use bulk fw_setenv call

I didn't find opened issue for AX3000t. Similar AX3200 issue:
Link: https://github.com/openwrt/openwrt/issues/16347
So, other Xiaomi devices (e.g. Xiaomi WR30U) may also require fix.

Fixes: 7dbcc1215a ("mediatek: filogic: add support for Xiaomi AX3000T")
Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17580
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 42a253c7e8)
2025-01-21 00:39:35 +01:00
Mikhail ZhilkinandHauke Mehrtens f5fd378e84 mediatek: replace multiple fw_setenv calls by the bulk one
This commit replaces multiple fw_setenv calls by the bulk one to reduce
flash writes.

Thanks @Linaro1985 for the idea.

Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17580
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit a6b0abf466)
2025-01-21 00:39:33 +01:00
John AudiaandHauke Mehrtens 4081bc3f6c kernel: bump 6.6 to 6.6.72
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.72

Dropped to due being superseded by upstream patch:
	mediatek/patches-6.6/870-drm-mediatek-only-touch-DISP_REG_OVL_PITCH_MSB-if-AF.patch[1]

All other patches automatically rebased.

1. https://github.com/gregkh/linux/commit/ac7f5641e9887354a0fc6f48190533af084bb0dc

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

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/17646
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 1d021458fd)
2025-01-21 00:19:54 +01:00
Florian MaurerandHauke Mehrtens b957ee982a lantiq: xrx200: fb7430 set correct label-mac
the CWMP account mac is correctly set on the lan device but was not correctly as label-mac

Signed-off-by: Florian Maurer <f.maurer@outlook.de>
Link: https://github.com/openwrt/openwrt/pull/17618
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit f9813f41b2)
2025-01-21 00:16:40 +01:00
Sebastian PfliegerandHauke Mehrtens c8c1156e9d lldpd: fix config for build without LLDP-MED
The lldp_class and lldp_location config option are only valid when
compiled with LLDP-MED support. If not they will cause lldpd not to
start.

Signed-off-by: Sebastian Pflieger <sebastian@pflieger.email>
Link: https://github.com/openwrt/openwrt/pull/17571
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 2c22d7c3a4)
2025-01-20 23:51:15 +01:00
Robert MarkoandHauke Mehrtens dc81243e87 lldpd: reset PKG_RELEASE
lldpd was updated, so reset PKG_RELEASE after the PKG_VERSION update.

Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit abbec429b4)
2025-01-20 23:51:08 +01:00
Sebastian PfliegerandHauke Mehrtens 592e56c064 lldpd: bump version to 1.0.18
Changes (breaking):
- Remove support for building 802.3bt TLVs (broken).

Fix:
- Fix memory leaks in EDP/FDP decoding when receiving some TLVs twice.
- Do not set interface description continuously.
- Use a different Netlink socket for changes and queries.

Signed-off-by: Sebastian Pflieger <sebastian@pflieger.email>
Link: https://github.com/openwrt/openwrt/pull/17570
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit a18385041e)
2025-01-20 23:50:59 +01:00
Raylynn KnightandZoltan HERPAI 6c628bfddc d1: Use correct module for devices with wifi
Devices with wifi (LicheePi RV and MangoPi MQ Pro) were using the
wrong module.  Also wpad was missing to enable using the WiFi.

Signed-off-by: Raylynn Knight <rayknight@me.com>
Link: https://github.com/openwrt/openwrt/pull/17576
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
(cherry picked from commit 8a17bae722)
2025-01-20 23:01:30 +01:00
Felix Fietkau f9df8a90c8 uci: update to Git HEAD (2025-01-20)
047b2efc1348 CMakeLists.txt: bump minimum cmake version
16ff0badbde7 CMakeLists: add support for including ABIVERSION in the library version number

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit e046f8c318)
2025-01-20 22:17:51 +01:00
Florian MaurerandHauke Mehrtens 3f4c175851 mediatek-filogic: fix wax220 wifi leds
The WAX220 does have a 2.4GHz and 5GHz wifi led, which was set to trigger on netdev before.
This commit changes this to trigger on activity of the respective radio

Signed-off-by: Florian Maurer <f.maurer@outlook.de>
Link: https://github.com/openwrt/openwrt/pull/17627
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 99431e3150)
2025-01-20 22:00:24 +01:00
Lech PerczakandHauke Mehrtens baa0fc8e04 ath79: zte-mf28x-common: fix initramfs execution
Now that LZMA_TEXT_START is configurable per-target once again,
move the target above 32MB boundary for ZTE MF28* devices.

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17616
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 32c6b9064a)
2025-01-20 22:00:02 +01:00
Lech PerczakandHauke Mehrtens eb82b2cbcb ath79: lzma-loader: expose LZMA_TEXT_ADDRESS configuration again
initramfs for some devices grew so big, that it can't be loaded within
the previous 32MB RAM limit. Make the LZMA_TEXT_ADDRESS configurable
per-target once again, to fix it for bigger devices, while maintaining
compatibility with previous ones.

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17616
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 6720958659)
2025-01-20 21:59:53 +01:00
Aleksander Jan BajkowskiandHauke Mehrtens 40115d519c mediatek: EX5601-T0 add Zyxel EX5601-T1 and T-56 alias
Define EX5601-T1 and T-56 as alternative name, to explicitly show
the device is supported using existing image. EX5601-T1 does not
have the option to switch between WAN/SFP port. The switch port
is hardwired to the WAN port. The Zyxel T-56 is the odido-branded
version of the EX5601-T1.

Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
Link: https://github.com/openwrt/openwrt/pull/17615
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 3d63a41ffa)
2025-01-20 21:59:41 +01:00
Christian Marangi 96ff9c3353 kernel: fix rootfs initramfs not updating on subsequent single build
There is currently a problem where the rootfs in an initramfs image for
single target build is not updated on subsequent run. This is caused by
a bug introduced in d78dec3e19 ("kernel: copy kernel build dir on
Per-Device Initramfs compilation") where the initramfs_data.cpio rm was
moved to PrepareConfigPerRootfs. This caused the side effect of dropping
the rm call for single target build making the kernel reusing the
previous generated initramfs_data.cpio.

To correctly handle this, restore the original location of this call
right after the touch /init call. This way the kernel will always
regenerate the initramfs embedded rootfs ALSO for single target build.

Fixes: d78dec3e19 ("kernel: copy kernel build dir on Per-Device Initramfs compilation")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 334c649a8d)
2025-01-20 17:22:53 +01:00
Robert Marko a252c56b4b fritz-tools: increase PKG_RELEASE
Increase PKG_RELEASE as follow-up for
("lantiq: fritz_cal_extract with reverse option for AVM FritzBox 7430").

Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 4a8717b5e7)
2025-01-20 13:15:17 +01:00
Dustin GathmannandRobert Marko 61dabbbfe3 lantiq: fritz_cal_extract with reverse option for AVM FritzBox 7430
This implementation of fritz_cal_extract can also retrieve firmware
data stored in reverse byte order, as found in the AVM 7430 device.

This is done by intermediate storage in a buffer presumably large enough
to hold the complete data set. Currently, this buffer size is 128kB + 1kB
(some extra space for skipped data).

In the usual case of "forward" data, this implementation should behave
like the original implementation in all common cases. limit [-l] will
determine the amount of data read and size of buffer allocated.

However, if you are reading reversed data or didn't set a limit, the buffer
may be too small to hold all data. In this case, you can choose a higher
limit [-l] to enforce a sufficient buffer size.

Signed-off-by: Dustin Gathmann <dzsoftware@posteo.org>
Link: https://github.com/openwrt/openwrt/pull/15501
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit b2cac2a978)
2025-01-20 13:15:11 +01:00
David Bauer 1e079d790a ath79: add extended AR9344 reset sequence
According to datasheet, on AR9344 the switch and switch analog need to
be reset first before initiating a full reset.

Resetting these systems fixes spurious reset hangs on Atheros AR9344
SoCs.

Link: https://github.com/freifunk-gluon/gluon/issues/2904

Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit 144af32b47)
2025-01-19 11:17:23 +01:00
David Bauer 0aaf4fe5a4 Revert "ath79: reset ETH switch for AR9344"
This reverts commit 916af73fc3.

It was reported this change did not fix the reboot issues on AR9344.

Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit 937b5a3e00)
2025-01-19 11:17:00 +01:00
Christian MarangiandRobert Marko f31ab2abef ipq4019: patch initialization of Lantiq DSL on FritzBox 7530.
Some VRX518 modems fail to initialize properly with the error message
"dc_ep_clk_on failed". As a result, the DSL data path doesn't work.

This hack, which is based on code from the FRITZ!Box 7530 GPL archive,
fixes the issue. It changes the PCIe vendor/device ID to values matching
a Lantiq SoC. It also appears to emulate a Lantiq CPU ID register for
connected PCIe devices, by remapping the matching address area to a
specially crafted buffer using the address translation unit.

A dedicated compatible is created to activate this in
the device tree, so this shouldn't affect any devices other than
FRITZ!Box 7530/7520.

Original investigation was done in https://github.com/janh/openwrt/commit/59f52125178146a9dc44290c11c63e5e029e8044 which used the "avm,host_magic" property to enabled the patch.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Signed-off-by: Florian Maurer <f.maurer@outlook.de>
Link: https://github.com/openwrt/openwrt/pull/17622
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 676dcb1b2c)
2025-01-19 11:01:13 +01:00
Tianling Shen 8812ea235f rockchip: backport gmac clk fixes for rk3588
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 0511e98b81)
2025-01-19 16:20:48 +08:00
Tianling Shen aca0950ea3 rockchip: backport latest gate link patches
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 112b21d616)
2025-01-19 16:05:46 +08:00
Tianling Shen b8ef46ef2f Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-01-19 16:05:07 +08:00
Luis MitaandHauke Mehrtens 3207fe6636 ramips: mt7621: add support for Confiabits MT7621 v1
Hardware:
 - SoC: MediaTek MT7621DAT
 - Flash: 16 MiB cFeon
 - RAM: 128 MiB MT7621DAT
 - WLAN: 2.4 GHz (MT7603EN), 5 GHz (MT7613BEN 802.11ac)
 - Ethernet: 1x 10/100/1000 Mbps WAN, 3x 10/100/1000 LAN (MT7621DAT)
 - Buttons: 1 Reset button, 1 WPS button
 - LEDs: 5x Green (POWER/WAN/2.4G/5G/WPS), 1x Red (WAN)
 - Serial console: unpopulated header, 57600 8n1
 - Power: 12 VDC, 1 A

MAC:
LAN MAC: label mac (eeprom@4)
WAN MAC: label mac (eeprom@4)
2.4G MAC: label mac (eeprom@4)
5G MAC: label mac + 1 (eeprom@8004)

Installation:
The stock firmware is OpenWrt-based. If you can reach LuCI or SSH, just use the sysupgrade image
with the 'Keep settings' option turned off.

Signed-off-by: Luis Mita <luis@luismita.com>
Link: https://github.com/openwrt/openwrt/pull/17534
(cherry picked from commit 1c5ca24da6)
Link: https://github.com/openwrt/openwrt/pull/17653
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-01-18 19:21:57 +01:00
Robert Marko a1c781675a qualcommax: dl-wrx36: fix 2.5G port LED-s
Currently, 2.5G port LED-s on Dynalink are incorrectly configured and thus
they will light up all of the time.

So, lets fix this by:
1. Current green LED is actually yellow, change the color
2. Fix its polarity as its actually active-low
3. The yellow LED that was registered as being connected to LED_1 pin on
the PHY is not actually connected at all, so remove it.
4. The actual green LED is connected to LED_2 on the PHY so add it.

Fixes: 75ad5c2414 ("qualcommax: switch to qca8081 upstream PHY driver")
Fixes: #14502
Link: https://github.com/openwrt/openwrt/pull/17656
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 2d077913cd)
2025-01-18 16:10:02 +01:00
Álvaro Fernández Rojas 4daf540df3 generic: backport pending Realtek PHY patches
These patches have been accepted, so we can move them from pending to
backported.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 7924acdd63)
2025-01-17 23:53:06 +01:00
Daniel GolleandÁlvaro Fernández Rojas 1019df4af9 generic: add pending patches for RealTek Ethernet PHYs
Import patches to fix several issues with status reporting of RealTek
2.5G PHYs.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 41c164d32b)
2025-01-17 23:53:06 +01:00
Álvaro Fernández Rojas 7cace002ba generic: backport Realtek PHY patches from upstream
Adds patches for the temperature sensor on RTL822x.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit d7e82c78d7)
2025-01-17 23:53:06 +01:00
Álvaro Fernández Rojas 3078b4e51b generic: r8169: remove reverted temperature sensor patch
The patch adding temperature sensor support for r8169 has been removed upstream
and the functionality will be added to Realtek PHY instead:
https://github.com/torvalds/linux/commit/1f691a1fc4bef1c5cf5f503e14e1a22fc37c97e3

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 0de9999a78)
2025-01-17 23:53:06 +01:00
Christian Marangi 0f45601ccd airoha: an7581: add pending PCI patch
Add pending PCI patch that should correctly fix mediatek driver with
Airoha SoC.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit f22febae1a)
2025-01-17 22:11:54 +01:00
Christian Marangi fedf53650a airoha: an7581: backport ETS patch for Airoha ethernet
Backport ETS patch for Airoha ethernet and refresh affected patches.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 67635578fd)
2025-01-17 22:11:54 +01:00
Felix Fietkau 6d3fdebe3c uci: update to Git HEAD (2025-01-17)
fb3c2343b17b add support for an override config directory

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 44c877f197)
2025-01-17 12:05:18 +01:00
Christian MarangiandFelix Fietkau c7716f363e uci: update to Git HEAD (2024-11-26)
10f7996ec294 file: Ignore config file with '.' in name

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 3929ef4c21)
2025-01-17 12:05:14 +01:00
Felix Fietkau e6cae783a4 mediatek: remove obsolete base-files scripts
Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 48e1427ffa)
2025-01-17 09:49:18 +01:00
Felix Fietkau 27520027e1 netifd: improve packet steering on ipq40xx (and possibly others)
Some platforms a single ethernet device for all ports with multiple rx rings
and NAPI threading enabled. In this case, the steering script was limiting
performance by keeping all NAPI threads assigned to the same CPU.
Fix this by assigning each rx queue and the corresponding NAPI task separately.
Additionally, if the number of rx queues is at least as big as the number of
CPUs, skip weight based assignment and distribute the load across all CPUs
directly.

Fixes: https://github.com/openwrt/openwrt/issues/17611
Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit acce25b789)
2025-01-17 09:49:18 +01:00
Hauke Mehrtens 99a855121c mvebu: WD Cloud Mirror Gen2: Remove stty dependency
The package coreutils-stty is not part of the OpenWrt main packages. A
board can not depend on it. Remove the dependency to fix a build problem
seen in the build bots.

Fixes: 8fb805aa1f ("mvebu: Add support for WD Cloud Mirror Gen2")
(cherry picked from commit 717f62d256)
Link: https://github.com/openwrt/openwrt/pull/17589
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-01-16 21:24:52 +01:00
Robert SenderekandHauke Mehrtens 6acf90758d mvebu: Add support for WD Cloud Mirror Gen2
Hardware
--------
Marvell Armada 385 (MV88F6820)
512B RAM
256MB NAND (Hynix H27U2G8F2CTR)
1x 1Gbit
2x USB 3.0
2x SATA-III
UART: 115200 8N1 3.3V
RTC
Weltrend MCU WT6703F connected via UART1 for Power LED / PWM Fan / hw reset / WoL

Installation
------------
Connect UART 3.3V adapter to JP2  pins: 1-RX / 2-GND / 5-TX

Use USB2.0 FAT32 pendrive with openwrt-mvebu-cortexa9-wd_cloud-mirror-gen2-initramfs-kernel.bin
 1. stop boot by pressing 1
 2. usb start
 3. fatload usb 0:1  0x02000000 openwrt-mvebu-cortexa9-wd_cloud-mirror-gen2-initramfs-kernel.bin;bootm 0x02000000 -
 4. do backup mtd1 mtd3
 5. use sysupgrade

Or tftp
 1. stop boot by pressing 1
 2. setenv ethact egiga2;setenv serverip 192.168.11.114;setenv ipaddr 192.168.11.113
 3. tftpboot 0x02000000 openwrt-mvebu-cortexa9-wd_cloud-mirror-gen2-initramfs-kernel.bin; bootm 0x02000000 -
 4. do backup mtd1 mtd3
 5. use sysupgrade

or Evgeny Kolesnikov <evgenyz@gmail.com> method from his failed PR 2040

- Using original firmware's network settings obtain SSH access to the device.
- Put *-image-cfs-factory.bin and *-uImage-factory.bin images into device's /tmp directory.
- Write kernel (uImage) image 'flash_eraseall /dev/mtd1 && nandwrite --markbad -p /dev/mtd1 /tmp/*-uImage-factory.bin'.
- Write rootfs (image-cfs) image 'ubiformat /dev/mtd3 -f /tmp/*-image.cfs-factory.bin -y'.
- Reboot the device.

Installation (upgrade):

Use *-sysupgrade.bin in a usual way.
Weltrend MCU control is done via uart1 19200

stty -F /dev/ttyS1 raw speed 19200
stty -F /dev/ttyS1 raw speed 19200

PWM Fan Control
off: 00
echo -n -e '\xfa\x02\x00\x00\x00\x00\xfb' > /dev/ttyS1
slow: 5F
echo -n -e '\xfa\x02\x00\x5f\x00\x00\xfb' > /dev/ttyS1
max: FF
echo -n -e '\xfa\x02\x00\xff\x00\x00\xfb' > /dev/ttyS1

Power LED Control
Blue
echo -n -e '\xfa\x26\x00\x11\x00\x01\xfb' > /dev/ttyS1
Red
echo -n -e '\xfa\x26\x00\x14\x00\x01\xfb' > /dev/ttyS1
Orange
echo -n -e '\xfa\x26\x00\x12\x00\x01\xfb' > /dev/ttyS1

more here: https://github.com/c-MM/mcm-daemon/blob/master/mcm.h

Signed-off-by: Robert Senderek <robert.senderek@10g.pl>
Link: https://github.com/openwrt/openwrt/pull/17046
(cherry picked from commit 8fb805aa1f)
Link: https://github.com/openwrt/openwrt/pull/17589
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-01-16 21:24:52 +01:00
Mathew McBrideandHauke Mehrtens 7555fb02ec armsr: change image names to 'combined-efi'
luci-app-attendedsysupgrade expects images to be named
'combined-efi' when the system is using EFI images.

This came about as x86 has 'combined' images for legacy
(BIOS) boot and 'combined-efi' for EFI systems.

armsr images were originally named 'combined' only
as there was no 'legacy' image type.

To avoid special handling in the attendedsysupgrade
code, name EFI images consistent with other targets.

Signed-off-by: Mathew McBride <matt@traverse.com.au>
Link: https://github.com/openwrt/luci/pull/6430
Link: https://github.com/openwrt/openwrt/pull/12963
Signed-off-by: Petr Štetiar <ynezz@true.cz>
(cherry picked from commit c9ebd4fb30)
2025-01-16 21:07:53 +01:00
Tianling Shen be456f4b15 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-01-16 15:43:51 +08:00
Tianling Shen 21327672b2 mediatek: add missing network setup for cudy tr3000-v1 ubootmod
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 272391c84f)
2025-01-16 15:43:43 +08:00
Tianling Shen ca14496e39 mediatek: add ubootmod layout for cudy tr3000 v1
This allows us to use the full size of nand, which increases ubi size
from 64M to 122.25M.

If you are at factory firmware, please refer commit 63b8d98dd0 ("mediatek: add support for Cudy TR3000 v1")
to boot into OpenWrt initramfs (stock layout version).

Flash instructions:
1. Login into the device and backup everything, especially 'Factory' part.
1. Unlock mtd partitions:
   apk update && apk add kmod-mtd-rw
   insmod mtd-rw i_want_a_brick=1
3. Write new BL2 and FIP
   mtd write openwrt-mediatek-filogic-cudy_tr3000-v1-ubootmod-preloader.bin BL2
   mtd write openwrt-mediatek-filogic-cudy_tr3000-v1-ubootmod-bl31-uboot.fip FIP
4. Set static IP on your PC:
   IP 192.168.1.254/24, GW 192.168.1.1
5. Serve OpenWrt initramfs image using TFTP server.
6. Cut off the power and re-engage, wait for TFTP recovery to complete.
7. After OpenWrt has booted, perform sysupgrade.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 51272fcd00)
2025-01-16 15:43:38 +08:00
Felix Fietkau e7cd87e72d netifd: fix napi process name matching in packet steering script
Fixes CPU usage imbalance on some devices using threaded NAPI

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 67a4aeef6c)
2025-01-15 21:50:49 +01:00
David BauerandFelix Fietkau 93cdb10411 wifi-scripts: allow per-IF mesh basic rate selection
Bringing up a mesh interface using wpa_supplicant already supports a
per-VIF basic rate selection. Add the same ability when creating a mesh
VIF without wpa_supplicant.

Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit 3deeb7805f)
2025-01-15 17:21:35 +01:00
Felix Fietkau 3d99cdd377 wifi-scripts: remove leftover legacy (non-netifd) wifi script support
cfg80211 is the only supported wireless API

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit d127539291)
2025-01-15 17:20:30 +01:00
Felix Fietkau ea80aa938f wifi-scripts: add macaddr_base wifi-device option
This can be used to configure the base mac address from which all
interface mac addresses are derived

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 00860e485b)
2025-01-15 17:19:39 +01:00
Felix Fietkau e20047e5d4 hostapd: fix processing mbssid config option
Do not strip the first character from the field name

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 59dd9cddf9)
2025-01-15 17:19:24 +01:00
Felix Fietkau 06340650c5 wifi-scripts: add option to set per-device ifname prefix
Simplifies setting ifname to a different pattern for all affected
interfaces.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit a9ff3ba24b)
2025-01-15 17:17:47 +01:00
Felix Fietkau f719c85527 mt76: update to Git HEAD (2025-01-14)
cf4e709e493a wifi: mt76: mt7996: fix crash in mt7996_set_radar_background
4c786fa52bb2 wifi: mt76: mt7915: fix register mapping
849923df3dde wifi: mt76: mt7996: fix register mapping
6be1dc9a1c79 wifi: mt76: mt7925: fix the unfinished command of regd_notifier before suspend
d33ea3cab72b wifi: mt76: mt7925: fix CLC command timeout when suspend/resume
5aacd0d73c80 wifi: mt76: mt7925: add handler to hif suspend/resume event
e86e97e45397 wifi: mt76: mt7925e: fix too long of wifi resume time
e43df6bf4892 wifi: mt76: mt7996: fix thermal sparse warning
02f453d8dfc8 wifi: mt76: fix survey regression
7279e3f3c3e0 wifi: mt76: mt7925: fix unused-but-set warning
49c0bd66da3b wifi: mt76: mt7996: fix unused-but-set variable
2c068c96382e wifi: mt76: fix crash in mt76_switch_vif_chanctx
731070da2c2a wifi: mt76: mt7996: add max mpdu len capability
99d8ed164a96 wifi: mt76: mt7996: fix the capability of reception of EHT MU PPDU
32ee924831ba wifi: mt76: mt7996: fix HE Phy capability
9b588c7fb333 wifi: mt76: mt7996: fix incorrect indexing of MIB FW event
46798905cf5a wifi: mt76: connac: adjust phy capabilities based on band constraints
5c50f6f7dafe wifi: mt76: mt7996: fix definition of tx descriptor
9cdb62dc084f wifi: mt76: mt7996: fix ldpc setting
8c6cb2f97fe0 wifi: mt76: mt7996: fix beacon command during disabling
8e4f72b682e9 wifi: mt76: mt7996: add implicit beamforming support for mt7992

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 3963dab030)
2025-01-15 17:16:30 +01:00
Tianling Shen 2476f0b6a9 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-01-14 22:13:15 +08:00
Sander Vanheule 68bf4844a1 realtek: debounce reset key for Zyxel GS1900
When the reset button is next to the SFP cages, I2C operations on the
modules might cause interference on the button's GPIO line. Add a
debounce-interval of 5 times the poll-interval to ensure the line is
actually stable for some time and not just glitching.

This squashes commit 4357f32d41 ("realtek: debounce reset key for
Zyxel GS1900") and commit 777c6106ed ("realtek: move debounce-interval
to correct node").

Signed-off-by: Sander Vanheule <sander@svanheule.net>
2025-01-14 10:09:38 +01:00
Rany HanyandRobert Marko 767339066e hostapd: backport upstream patch to fix setting BSS color
Without this patch, we get the following error:

Mon Dec 23 11:35:44 2024 daemon.err hostapd: nl80211: kernel reports: integer out of range

As updating hostapd would be too complex and requires further testing,
we backport this simple upstream fix instead.

Fixes: https://github.com/openwrt/openwrt/issues/16680
Signed-off-by: Rany Hany <rany_hany@riseup.net>
Link: https://github.com/openwrt/openwrt/pull/17590
Signed-off-by: Petr Štetiar <ynezz@true.cz>
(cherry picked from commit 5ce1af9539)
Link: https://github.com/openwrt/openwrt/pull/17591
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-01-14 09:41:53 +01:00
Tianling Shen 790711d9e8 mediatek: add missing dependency to huasifei wh3000 emmc
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit bc79a29f8a)
2025-01-13 20:42:14 +08:00
coolsnowwolfandTianling Shen 5548d0d05d mediatek: filogic: add support for Huasifei WH3000
The Huasifei WH3000 eMMC model (aka Fudy MT3000) is a Wi-Fi 6 5G
cellular router based on MediaTek MT7981A SoC.

Specifications:
SoC: Filogic 820 MT7981A (1.3GHz)
RAM: DDR4 1GB
Flash: eMMC 8G
WiFi: 2.4GHz and 5GHz with 3 antennas
Ethernet:
1x WAN (10/100/1000M)
1x LAN (10/100/1000/2500M)
USB: 1x USB 3.0 port
UART: 3.3V, TX, RX, GND / 115200 8N1

Installation via U-Boot rescue:
Connect to the GbE eth port, then press and hold reset button while
booting the device. Wait for the Internet led to blink 5 times,
release reset button. The rescue page is accessible via http://192.168.1.1
Select the OpenWrt sysupgrade image and start upgrade.
Wait for the router to flash new firmware and reboot.

(cherry picked from commit f310b8c74e)
2025-01-13 18:11:37 +08:00
Lech PerczakandHauke Mehrtens 7d597f8709 ath79: teltonika-rut230: fix failsafe boot without SIM tray
Due to "SIM present" input defaulting to "button" type, it is
interpreted as such when booting, and causes the system to enter
failsafe, if the tray is missing. Similarly to rfkill switch on
TP-Link WDR4300 and Archer C7, make it EV_SW instead, to stop it from
interfering with the boot process.

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17503
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 7b9ca01109)
2025-01-12 21:50:53 +01:00
Lech PerczakandHauke Mehrtens 6e06e1c0b1 ath79: teltonika-rut230: fix typo in "green:signal-strength4" LED
It's missing a hyphen present in every other LED from the set. Set it to
"green:signal-strength-4".

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17503
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit d04f41e092)
2025-01-12 21:50:53 +01:00
Christian LamparterandHauke Mehrtens 93bcec7b6c apm821xx: fixes WNDAP620 + WNDAP660 sysupgrade failures
OpenWRT on the WNDAP6x0 refuses to sysupgrade to itself
due to a compat_version imbalance. The Image is generated
with version 2.0, but the uci-defaults says that it needs
to be at 3.0 for the device.

Fix this by downgrading WNDAP6x0 05_fix-compat-version's
values back to 2.0 so it matches what we use.

Fixes: 5815884c3a ("apm821xx: migrate to DSA")
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
(cherry picked from commit e9415be4ad)
2025-01-12 21:50:53 +01:00
Aleksander Jan BajkowskiandHauke Mehrtens 3b4a84d05f lantiq: xrx200_legacy: disable unused phy drivers
Subtarget xrx200_legacy supports only a few devices. They all use
the integrated Lantiq GSWIP switch and lantiq xway PHYs. The atheros
and icplus PHYs can be safely disabled.

Switches used by individual devices are listed below.

Device				Switch			PHY
Alpha ASL56026			Lantiq GSWIP		int. switch
Arcadyan VG3503J		Lantiq GSWIP		int. switch
Netgear DM200			Lantiq GSWIP		int. switch
TP-LINK TD-W8970		Lantiq GSWIP		Lantiq PEF7071V
TP-Link TD-W8980		Lantiq GSWIP		Lantiq PEF7071V

Reduces uncompressed kernel size by 16 kB.

Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
Link: https://github.com/openwrt/openwrt/pull/17581
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 517b9c1cdc)
2025-01-12 21:50:53 +01:00
Aleksander Jan BajkowskiandHauke Mehrtens 773bb31bab lantiq: xway_legacy: refresh config
This was done by executing these command:
$ make kernel_oldconfig CONFIG_TARGET=subtarget

Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
Link: https://github.com/openwrt/openwrt/pull/17581
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 524e22b4c7)
2025-01-12 21:50:53 +01:00
Aleksander Jan BajkowskiandHauke Mehrtens afbe72d293 lantiq: xrx200: add alternative names for Plusnet Hub One and BT Business Hub 5A
The Plusnet Hub One and BT Business Hub 5A have the same hardware as
the BT Home Hub 5A. This commit adds alternative names so that both
devices can be easily found in the firmware selector.

Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
Link: https://github.com/openwrt/openwrt/pull/17583
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 1b045a7c13)
2025-01-12 21:50:53 +01:00
Aleksander Jan BajkowskiandHauke Mehrtens 6c0707a59d lantiq: xrx200_legacy: add alternative names for TP-Link TD-W9980(B)
The TP-Link TD-W9980(B) shares the same hardware with the TP-Link TD-W8980.
The only difference is that the TD-W8980 does not support VDSL. This is a
software limitation and once the software is changed, both work equally
supporting VDSL. This commit adds alternative names for devices so they
can be easily found in the firmware selector.

Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
Link: https://github.com/openwrt/openwrt/pull/17583
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit b2b4ce1532)
2025-01-12 21:50:53 +01:00
John AudiaandHauke Mehrtens ff529e8137 kernel: bump 6.6 to 6.6.71
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.71

Manually rebased:
	airoha/patches-6.6/110-01-clk-en7523-Rework-clock-handling-for-different-clock.patch
	airoha/patches-6.6/111-mmc-mtk-sd-add-support-for-AN7581-MMC-Host.patch

All other patches automatically rebased.

Build system: x86/64
Build-tested: bcm27xx/bcm2712
Run-tested: bcm27xx/bcm2712

Signed-off-by: John Audia <therealgraysky@proton.me>
[ fix manually rebased patch ]
Link: https://github.com/openwrt/openwrt/pull/17568
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 3f87c5ac42)
2025-01-12 21:43:44 +01:00
John AudiaandHauke Mehrtens 220860ef4c kernel: bump 6.6 to 6.6.70
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.70

Removed upstreamed:
	generic/backport-6.6/902-net-llc-reset-skb-transport_header.patch[1]
	generic/pending-6.6/605-netfilter-nft_set_hash-unaligned-atomic-read-on-stru.patch[2]

All other patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.70&id=0c896816aa193e6459fc947747e5753c06b395b9
2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.70&id=4f49349c1963e507aa37c1ec05178faeb0103959

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

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/17545
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit efafd7d47f)
2025-01-12 21:43:35 +01:00
Kien TruongandRobert Marko e9d80cdb6c rockchip: disable kernel preemption
This setting is more suitable for device running OpenWRT.
Most OpenWRT targets are already default to this configuration,
and it has shown better performance in VPN (wireguard).

Fix: #17454

Signed-off-by: Kien Truong <duckientruong@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17575
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 1c178f3644)
2025-01-12 13:34:28 +01:00
Tianling Shen 16397c4b8f Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-01-11 00:33:52 +08:00
Christian Marangi e620694876 airoha: an7581: refresh DTS with changes for cpufreq, MTD and MMC
Refresh DTS with required changes for cpufreq, MTD and MMC. While at it
also fix wrong speed for MAC.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 17b0d1379a)
2025-01-10 14:57:59 +01:00
Christian Marangi 90c29d2c04 airoha: an7581: replace cpufreq patch with new version
Replace cpufreq patch with new version requested upstream.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 5069557350)
2025-01-10 14:57:59 +01:00
Christian Marangi 9a18304344 airoha: an7581: add pending patch for ETS qdisc on ethernet driver
Add pending patch for ETS qdisc on Airoha ethernet driver.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 53bc763331)
2025-01-10 14:57:33 +01:00
Christian Marangi 99689859f0 airoha: an7581: add pending patch to fix PCI
Add pending patch to fix PCIe missing register.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 77329b7d8d)
2025-01-10 14:57:32 +01:00
Christian Marangi 6b4fcc55a9 airoha: an7581: add patch fixing support for MMC
Add patch fixing support for MMC. Additional clock are needed for MMC to
work and some small fixup to make the Mediatek MMC driver on Airoha SoC.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit be5a9ff24b)
2025-01-10 14:57:18 +01:00
Lorenzo BianconiandChristian Marangi 74b8a296cb kernel: modules: Add ETS Qdisc scheduler to sched KernelPackage
Add ETS Qdisch scheduler to kernel package modules.

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
[ add commit description ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 7e237f1902)
2025-01-10 14:57:17 +01:00
Christian Marangi 5c679f56eb airoha: an7581: backport patch to support ETS and HTB sched
Backport patch to support ETS and HTB scheduler for airoha ethernet
driver.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 3ec3ea5316)
2025-01-10 14:56:58 +01:00
Christian Marangi ce926ee32f airoha: an7581: backport 2 fix for airoha ethernet driver
Backport 2 fix for airoha ethernet driver merged upstream.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit b4ae5378d4)
2025-01-10 14:56:58 +01:00
Christian Marangi b315f4ebfe airoha: an7581: replace BUS clock patch with upstream version
Replace BUS clock patch with upstream version with related tag
as it got approved and merged.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 07b49ce876)
2025-01-10 14:56:58 +01:00
Christian Marangi 3ee8355f2f airoha: an7581: enable MMC and PCI and refresh config
Enable MMC and PCI config symbol and refresh config for Airoha AN7581.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 73d368868c)
2025-01-10 14:56:34 +01:00
Mustafa Can ElmacıandRobert Marko 44d6d06268 lantiq: Remove legacy LED migration script
This script was rendered obsolete after xrx200 target switched to DSA and
breaking config migration from old releases to 22.03.

Signed-off-by: Mustafa Can Elmacı <mustafacan@elmaci.net>
Link: https://github.com/openwrt/openwrt/pull/17383
Link: https://github.com/openwrt/openwrt/pull/17512
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-01-10 10:53:46 +01:00
Rosen PenevandRobert Marko 165b9e4393 lantiq: fritz7430: fix PCI ID
This platform has a bogus PCI ID for the chip. Correct it in DTS.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16555
Link: https://github.com/openwrt/openwrt/pull/17512
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-01-10 10:53:46 +01:00
Rosen PenevandRobert Marko baa6561939 lantiq: use nvmem for tplink tdw89x0
These two devices use different wifi chips and as a result, different
calibration sizes. Move the differences out of dtsi.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16555
Link: https://github.com/openwrt/openwrt/pull/17512
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-01-10 10:53:46 +01:00
Rosen PenevandRobert Marko 92ccaacb29 lantiq: use nvmem for fritz 736x
Two use AR9287 and one AR9381. Both have different calibration sizes.
Move differences out of wifi node to make it clearer what's what.

qca,no-eeprom needs to stay for 7362sl as there's no nvmem equivalent
for caldata_extract_reverse

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17278
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Link: https://github.com/openwrt/openwrt/pull/17512
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-01-10 10:53:46 +01:00
Rosen PenevandRobert Marko 7111d84787 lantiq: use nvmem for fritz73x0
These units use AR9287, which has a calibration size of 3d8.

Also fixed compatible string to the proper one to indicate AR9287.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17278
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Link: https://github.com/openwrt/openwrt/pull/17512
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-01-10 10:53:46 +01:00
Rosen PenevandRobert Marko 98bcdd191d lantiq: use regulator for USB GPIO
One is already present. The other one can be implemented in terms of the
PHY.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17250
Signed-off-by: John Crispin <john@phrozen.org>
Link: https://github.com/openwrt/openwrt/pull/17512
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-01-10 10:53:46 +01:00
Florian MaurerandRobert Marko 38d79aca0e ipq40xx: fix label MAC address for Linksys WHW03 v2
The label MAC address is written inside the case of the whw03 v2 at the bottom.

Similar fix as to the 4040 in b22d382ae4

Signed-off-by: Florian Maurer <f.maurer@outlook.de>
Link: https://github.com/openwrt/openwrt/pull/17535
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit c113982706)
2025-01-09 11:11:43 +01:00
Matthias SchifferandRobert Marko 66229e2093 ipq40xx: dts: add ethernet0 alias for all devices
Updating the driver patches for ipq40xx (correctly) removed the
ethernet0 alias from qcom-ipq4019.dtsi; however, on some devices this
alias is needed for the bootloader to set MAC addresses in the FDT.

As it is unknown which devices actually need the alias, simply add it to
all devices trees for now that enable the &gmac now to avoid regressions
from previous OpenWrt releases. The additional alias should not cause any
issues even when it is not needed.

A TODO comment is added to the same Device Trees to document that the
alias may not be needed (hopefully preventing it from being copied
unnecessarily to newly added devices in the future). The following
devices are known to need the alias for correct MAC address assignment,
so no TODO comment is added:

- FRITZ!Box 4040
- FRITZ!Box 7530

Fixes: cd9c721124 ("ipq40xx: 6.1: use latest DSA and ethernet patches")
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
Link: https://github.com/openwrt/openwrt/pull/17442
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit d09dd75fbd)
2025-01-09 11:11:33 +01:00
Álvaro Fernández Rojas 3c8b23fad8 generic: add gpio-regmap request/free ops patch
This patch is needed on bmips since it fixes issues with GPIOs not being
properly configured due to gpio_request_enable not being called on bcm63xx
devices. Therefore we can now drop the bcm63268 gpio function patch.

Backported from f5b1d340be with the exception of
the realtek patch removal.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit f5b1d340be)
2025-01-08 19:43:41 +01:00
David Bauer c06d4df974 mac80211: set basic-rate for mesh interfaces
Basic rates were not set for mesh-interfaces, resulting in the undesired
behavior where 11s frames might be sent with a rate which was not
configured.

Depending on the driver, the basic rate might also be used to determine
the beacon rate configured to the chip. One such example are MediaTek
MT7915 platforms.

Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit 3ec7f3a512)
2025-01-06 07:45:08 +01:00
David Bauer 0c52c9d6fc ath79: reset ETH switch for AR9344
According to datasheet, on AR9344 the switch and switch analog need to
be reset first before initiating a full reset.

Resetting these systems fixes spurious reset hangs on Atheros AR9344
SoCs.

Link: https://github.com/freifunk-gluon/gluon/issues/2904

Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit 916af73fc3)
2025-01-06 07:21:11 +01:00
Hauke Mehrtens 50dcebeb8a OpenWrt v24.10.0-rc5: revert to branch defaults
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-01-06 01:24:07 +01:00
Hauke Mehrtens 3d17274ca8 OpenWrt v24.10.0-rc5: adjust config defaults
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-01-06 01:24:03 +01:00
Tianling Shen 687c2906ac Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-01-05 22:24:10 +08:00
Maxim AnisimovandHauke Mehrtens 6dacba30a7 mediatek/filogic: add support for Cudy AP3000 v1
Hardware:
  SoC:     MT7981b
  RAM:     512 MB
  Flash:   256 MB SPI NAND
  Ethernet:
    1x2.5Gbps (rtl8221b)
  WiFi:    2x2 MT7981
  Button:  Reset
  LED:     1x multicolor

Installation
------------
At the moment, firmware installation is only possible via a transition firmware.
It's can be requested from the manufacturer by email to support@cudy.com

Signed-off-by: Maxim Anisimov <maxim.anisimov.ua@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17225
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 6992d6e51a)
2025-01-04 22:35:37 +01:00
Roland ReinlandHauke Mehrtens d92fc99360 mediatek: Fix U-Boot variables handling for D-Link M30 A1
I think I implemented the U-Boot handling incorrectly on M30 (saw the issue while porting M60 to OpenWrt). Maybe someone with more U-Boot experience can have a look at it.
What I understood until now:

Before flashing, `sw_tryactive` must be set to 0 because OpenWrt runs on partition 0

During reset after flashing, U-Boot executes the following line:
`boot_rd_auto_sw_img=if itest.s ${sw_tryactive} == 2; then run boot_by_part; else run boot_by_tryactive; fi`

As `sw_tryactive` was set to 0 before flashing, `boot_by_tryactive` will be executed:
`boot_by_tryactive=if itest.s ${sw_tryactive} == 0; then setenv sw_tryactive 2; setenv sw_active 1; saveenv; run ub0; else setenv sw_tryactive 2; setenv sw_active 2; saveenv; run ub1; fi`

As `sw_tryactive` was set to 0 before flashing, `sw_active` will be set to 1 and `ub0` will be executed:
`ub0=setenv bootpart 0; mtkboardboot; run ub0to1; uip main; reset`

If the OpenWrt boot is successful, `ub0to1` and `uip` main will never be executed. Only in case OpenWrt cannot be loaded, `mtkboardboot` will return and the fallback `ub0to1` is executed.

Conclusion: It's sufficient to set `sw_tryacitve` to 0 before flashing, the added code in `target/linux/mediatek/filogic/base-files/etc/init.d/bootcount` is useless.
In the worst case (/proc/cmdline doesn't contain `bootpart=ubi0` as expected), the bootpart variable would be set to 1 and causes starting the firmware from the second partition instead of the one on the first partition.

Signed-off-by: Roland Reinl <reinlroland+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17298
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 70610a5240)
2025-01-04 22:34:37 +01:00
Shiji YangandHauke Mehrtens 785ea040ec mac80211: rt2x00: some improvements for rt5592
This patch contains some performance and stability improvements
for RT5592:

1. Fix RFCSR register init values for RT5592.
2. Fix BBP register init values for RT5592.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/16845
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 59557ca19a)
2025-01-04 22:30:25 +01:00
Shiji YangandHauke Mehrtens b8c53881db mac80211: rt2x00: some improvements for mt7620
This patch contains some performance and stability improvements
for MT7620:

1. Always calibrate MT7620 when switching channel.
2. Rework link tuner for MT7620.
3. Correct MT7620 SDM mode register value.
4. Fix register operation on RXIQ calibration.
5. Fix TX_PIN_CFG and TX_ALC_VGA3 init values.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/16845
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 5d58390165)
2025-01-04 22:30:23 +01:00
Shiji YangandHauke Mehrtens 5679b7aef6 mac80211: rt2x00: some improvements for rt2800 generic
1. Respect the rt2800 hardware TX queue index.
2. Increase the watchdog sampling frequency.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/16845
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 70733c6093)
2025-01-04 22:30:21 +01:00
Sander Vanheule e63d289bbd realtek: trim default package selection
Images for certain devices are staring to become too large, as some
device only have 6MB available in their vendor partition layout for the
initial install. This is especially pressing for bootloaders only
supporting gzip compression.

Drop some packages from DEFAULT_PACKAGES that aren't strictly required
for a factory install. The user can always install more packages later
using opkg/apk, or via a sysupgrade to a custom build.

firewall4 is kept to ensure the most recent firewall package is selected
in builds including LuCI.
ethtool is kept as a frequently used diagnostics tool.

Link: https://github.com/openwrt/openwrt/pull/17450
Signed-off-by: Sander Vanheule <sander@svanheule.net>
(cherry picked from commit c9ae39b2d1)
2025-01-04 20:40:02 +01:00
Linus WalleijandHauke Mehrtens 8931d617dd ath79: Push MV88E6060 DSA switch into package
We can use a package for the MV88E6060 DSA switch on the single
ath79 device that uses it, saving around 600 KB of memory on
all other devices (for the DSA infrastructure, mainly).

As far as I can see the TP-Link TL WR941 v2 is the only device
using MV88E6060 and the only device with a DSA switch overall.

However the ath79 people should look at this so I'm not
mistaken.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://patchwork.ozlabs.org/project/openwrt/patch/20250102-ath79-mv88e6060-module-v1-1-c2a8e31e72fc@linaro.org/
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit e7419381fd)
2025-01-04 19:27:11 +01:00
Linus WalleijandHauke Mehrtens e80b7a63f1 ixp4xx: Break out mv88e6060 DSA switch to package
Just one of the devices uses the Marvell MV88E6060 DSA
switch so break this out from the generic kernel config
and into a package selected only by that single device
and probed at boot instead.

The big win is from being able to drop the dsa_core
(~600KB) kernel module out of the common kernel on
devices with no DSA switch.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
(cherry picked from commit 2456a2fd7f)
2025-01-04 19:27:05 +01:00
INAGAKI HiroshiandHauke Mehrtens 3d0ed57b16 mediatek: append metadata to factory-uboot.bin for WSR devices
Append metadata to factory-uboot.bin image to pass the image verification
on sysupgrade.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17408
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit a06a2ef89d)
2025-01-04 19:25:34 +01:00
Aleksander Jan BajkowskiandHauke Mehrtens deb0f28b5e lantiq: xrx200: add support for lan3 and lan4 on AVM 5490/5491
On the AVM 5490/5491, lan1, lan2 and wan ports are connected directly
to the internal GSWIP switch. The lan3 and lan4 ports are connected via
an external QCA8334 switch. This commit adds the missing entries in dts
and adds the driver module.

Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
Link: https://github.com/openwrt/openwrt/pull/17473
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 14be320291)
2025-01-04 19:25:34 +01:00
Shiji YangandHauke Mehrtens 8b5f3ee940 base-files: strip space and tab characters from ASCII mac address
Spaces and tabs are widely used in variable definitions. We have to
remove them to ensure that get_mac_ascii() works properly.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/17262
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 551e04f3c9)
2025-01-04 19:25:34 +01:00
Shiji YangandHauke Mehrtens 676dfd1363 base-files: enable get_mac_ascii() to handle redundant strings
The function get_mac_ascii() will fail when there are two or more
same MAC address variable names in the mtd partition. Only retain
the first variable to workaround this rare situation.

Fixes: https://github.com/openwrt/openwrt/issues/17236
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/17262
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 3410ad2f40)
2025-01-04 19:25:34 +01:00
Shiji YangandHauke Mehrtens b0261c3861 uboot-mediatek: add missing LED command for OpenWrt One
The u-boot LED command "led_loop_done" is missing from the OpenWrt
One NAND flash u-boot. Copy it from the OpenWrt One NOR flash u-boot
default environment to fix this issue.

Fixes: https://github.com/openwrt/openwrt/issues/17310
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/17338
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 5ef71eaafd)
2025-01-04 19:25:34 +01:00
Shiji YangandHauke Mehrtens d543a9ae66 uboot-mediatek: fix Routerich AX3000 support patch
It seems that the original patch has been manually modified. The
newly added line number is incorrect.

Fixes: c0581520b1 ("uboot-mediatek: add Routerich AX3000 support")
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/17338
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 9f97e39a93)
2025-01-04 19:25:34 +01:00
Shiji YangandHauke Mehrtens 976bfe61e0 ramips: mtk-mmc: remove nt76x8 pinctrl hack
Now we can set the mt76x8 SDXC pinmux in device tree.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/17446
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit b4a9f85c13)
2025-01-04 19:25:34 +01:00
Shiji YangandHauke Mehrtens 09378395cd ramips: make package kmod-sdhci-mt7620 conflict with kmod-mmc-mtk
These two packages are SDXC drivers for Mediatek mt762x series SoCs.
One is upstream implementation, and the other is downstream driver.
Installing them together will result in conflicts.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/17446
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 0764e30082)
2025-01-04 19:25:34 +01:00
Shiji YangandHauke Mehrtens f311c9754c ramips: fix SDXC function for mt76x8 one eth port devices
There are only 5 devices in mt76x8 sub-target selected the MTK SDXC
driver package. And they are all single ethernet port routers or dev
boards:

* LinkIt Smart 7688
* Onion Omega2+
* RAVPower RP-WD009
* VoCore VoCore2
* VoCore VoCore2-Lite

For these devices, they are using the ephy p1 - p4 as the SDXC IO
pins. Therefore, these GPIO pads must be configured in "digital"
IO mode.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/17446
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit f5996ae947)
2025-01-04 19:25:34 +01:00
Shiji YangandHauke Mehrtens f81f707c05 ramips: add back SDXC card reader support for HiWiFi HC5x61A
After adding the correct package and pin group configurations,
the SDXC card slot can now function properly.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/17446
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit cea4aae0a9)
2025-01-04 19:25:34 +01:00
Shiji YangandHauke Mehrtens 4d9b06c571 ramips: mmc-mtk: add more vendor driver register init values
In the MTK vendor driver, mt762x SDXC registers MSDC_PATCH_BIT and
MSDC_PATCH_BIT1 have different init values than upstream driver.
These magical values should have some help for the stability.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/17446
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit f70cdfd682)
2025-01-04 19:25:34 +01:00
Shiji YangandHauke Mehrtens cc733e7e2a ramips: mt762{0,8}: reduce default MMC clock to 24 MHz
The upstream mtk-sd driver did not perform specific timing
optimization for MT762x series SoC, hence the SDHC peripheral
of some boards cannot run at too high frequency. Reduce the
maximum clock frequency to fix the mmc read/write error.

Closes: https://github.com/openwrt/openwrt/issues/17364
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/17375
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit de0c143742)
2025-01-04 19:25:34 +01:00
John AudiaandÁlvaro Fernández Rojas fe8812ab96 bcm27xx: remove duplicated kmod-rp1-pio package
Commit f105d1a9a9 added a duplicated
kmod-rp1-pio package.
Also remove unneeded blank lines added by the same commit.

Fixes: f105d1a9a9 ("bcm27xx/bcm2712: Fix-up RP1 modules")
Signed-off-by: John Audia <therealgraysky@proton.me>
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit d5669c040b)
2025-01-04 19:17:39 +01:00
Tianling ShenandHauke Mehrtens 096e3f26ef rockchip: enable USB3 port on NanoPC T6
Enable the USB3 port on FriendlyELEC NanoPC-T6.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/17349
(cherry picked from commit 6881b48dc6)
Link: https://github.com/openwrt/openwrt/pull/17466
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-01-04 17:15:14 +01:00
Tianling ShenandHauke Mehrtens 767ad64921 rockchip: backport recent rk3588 clk updates
Backport recent rk3588 clk updates from upstream,
including one bug fix.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/17349
(cherry picked from commit 8ad02ca2f8)
Link: https://github.com/openwrt/openwrt/pull/17466
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-01-04 17:15:14 +01:00
John AudiaandÁlvaro Fernández Rojas 7a112661d5 bcm27xx/bcm2712: Fix-up RP1 modules
Correct a few mistakes around dependencies and naming and unset
CONFIG_FIRMWARE_RP1 in RPi5B's config and instead of a builtin, build it
as a module.

Without this change, there are two entries for rp1.ko in
/lib/modules/$(uname -r)/modules.builtin due to how we strip the leading
directories when we generate it. See: package/kernel/linux/Makefile
around line 63.

  % grep rp1.ko /lib/modules/$(uname -r)/modules.builtin
  pwm-rp1.ko
  clk-rp1.ko
  rp1.ko
  rp1.ko

The kernel log gets spammed with tons of superfluous warnings as a
results of the double entry:

  daemon.warn modprobe: found duplicate builtin module rp1

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/17461
Signed-off-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit f105d1a9a9)
2025-01-04 13:41:49 +01:00
Felix Fietkau 2f60e7f006 wifi-scripts: fix setting tx power on some drivers
On some drivers, setting the tx power on the interface is not enough.
Set it for the phy as well.

Fixes: 04fb05914e ("wifi-scripts: add multi-radio config support")
Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit b795e5cbcf)
2025-01-04 11:56:06 +01:00
Felix Fietkau 6ba1f831c7 mt76: update to Git HEAD (2025-01-04)
35bcf68a6297 wifi: mt76: scan: fix setting tx_info fields
4d8d6e2e7710 wifi: mt76: scan: set vif offchannel link for scanning/roc
e354436db440 wifi: mt76: mt7996: use the correct vif link for scanning/roc

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit f11bc4f201)
2025-01-04 11:55:51 +01:00
Tianling Shen 849b0be2de Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-01-04 17:42:48 +08:00
Álvaro Fernández Rojas 56b2d856a2 generic: 6.6: backport upstream r8169 patches
7a3bcd39ae1f r8169: use helper r8169_mod_reg8_cond to simplify rtl_jumbo_config
e3e9e9039fa6 r8169: align WAKE_PHY handling with r8125/r8126 vendor drivers
330dc2297c82 r8169: improve rtl_set_d3_pll_down
c507e96b5763 r8169: improve __rtl8169_set_wol
83cb4b470c66 r8169: remove leftover locks after reverted change
2cd02f2fdd8a r8169: improve initialization of RSS registers on RTL8125/RTL8126
a3d8520e6a19 r8169: align RTL8126 EEE config with vendor driver
4af2f60bf737 r8169: align RTL8125/RTL8126 PHY config with vendor driver
eb90f876b796 r8169: align RTL8125 EEE config with vendor driver
b8bd8c44a266 r8169: fix inconsistent indenting in rtl8169_get_eth_mac_stats
f75d1fbe7809 r8169: add support for RTL8125D
c4e64095c00c r8169: enable EEE at 2.5G per default on RTL8125B
d64113c6bb5e r8169: remove rtl_dash_loop_wait_high/low
1c105bacb160 r8169: avoid duplicated messages if loading firmware fails and switch to warn level
ac48430368c1 r8169: don't take RTNL lock in rtl_task()
e3fc5139bd8f r8169: implement additional ethtool stats ops
b8bf38440ba9 r8169: enable SG/TSO on selected chip versions per default
854d71c555df r8169: remove original workaround for RTL8125 broken rx issue
1ffcc8d41306 r8169: add support for the temperature sensor being available from RTL8125B

The following patches require backporting additional linux patches:
e2015942e90a r8169: replace custom flag with disable_work() et al
e340bff27e63 r8169: copy vendor driver 2.5G/5G EEE advertisement constraints

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 0eeba04a16)
2025-01-04 09:12:53 +01:00
Álvaro Fernández Rojas 56b19f0d50 generic: 6.6: backport upstream Realtek PHY patches
8989bad54113 net: phy: realtek: add RTL8125D-internal PHY
f87a17ed3b51 net: phy: realtek: merge the drivers for internal NBase-T PHY's

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit fedb1f86b5)
2025-01-04 09:12:53 +01:00
Álvaro Fernández Rojas 111c62a06a rockchip: refresh patch
Commit 8a477bafb4 backported an upstream patch
without refreshing the patches.

Fixes: 8a477bafb4 ("rockchip: fix phy reset on rk356x")
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17474
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 484f670ed3)
2025-01-04 09:08:13 +01:00
Hauke Mehrtens cf887640a3 mbedtls: Deactivate ARIA block cipher by default
The ARIA block cipher is pretty uncommon in TLS, deactivate it for now.
This saves some space and reduces the possible variations and attack
vectors of mbedtls.

ARIA support was deactivated in OpenWrt 23.05 by default.

Link: https://github.com/openwrt/openwrt/pull/17342
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 3c0ef48bc8)
2025-01-03 21:55:41 +01:00
Weijie GaoandHauke Mehrtens 993ade9eb3 config: enable SECCOMP support for loongarch64
Make USE_SECCOMP selectable for loongarch64

Signed-off-by: Weijie Gao <hackpascal@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17335
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit b6b6148d7d)
2025-01-03 21:55:18 +01:00
Hauke Mehrtens 43e1b47d70 procd: update to Git HEAD (2024-12-22)
42d3937 jail/seccomp: add support for loongarch64

Link: https://github.com/openwrt/openwrt/pull/17335
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit f69fc4c413)
2025-01-03 21:54:03 +01:00
Tianling ShenandHauke Mehrtens 14722242af rockchip: fix phy reset on rk356x
The commit 7160820d742a ("phy: rockchip: naneng-combphy: fix phy reset")
was backported to kernel 6.6 branch by upstream, however the correspond
dtsi fixes was not, resulting the following error:
```
[    0.225521] rockchip-naneng-combphy fe830000.phy: error -ENOENT: failed to get phy reset
[    0.227467] rockchip-naneng-combphy fe840000.phy: error -ENOENT: failed to get phy reset
```

So backport the dtsi fixes here manually.

Fixes: 89b2356b8c ("kernel: bump 6.6 to 6.6.69")
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/17468
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 8a477bafb4)
2025-01-03 21:51:15 +01:00
John AudiaandHauke Mehrtens 09fcac8bc0 kernel: bump 6.6 to 6.6.69
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.69

All patches automatically rebased.

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

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/17459
Signed-off-by: Nick Hainke <vincent@systemli.org>
(cherry picked from commit 89b2356b8c)
2025-01-03 21:51:07 +01:00
Felix Fietkau bbfebf8527 kernel: add workaround for page_pool_release warnings
defer_list skbs held by NAPI can block releasing page pools.
Work around this by scheduling rx softirq on all CPUs while trying to release
a page pool.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 2b70b32aef)
2025-01-03 20:23:41 +01:00
Florian MaurerandRobert Marko 9b9622271e ipq40xx: fix label MAC address for FritzBox 7520/7530
The MAC address of the GMAC is contained inside the CWMP-Account number on the label.

Similar fix as to the 4040 in b22d382ae4
Link #13240

Signed-off-by: Florian Maurer <f.maurer@outlook.de>
Link: https://github.com/openwrt/openwrt/pull/17467
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit b2b6955f80)
2025-01-03 15:49:06 +01:00
Felix Fietkau efebdf077c ubus: update to Git HEAD (2025-01-02)
d996988ae55b libubus: close file descriptor after sending it from a request
afa57cce0aff libubus: add support for using channels

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit f0df6e3a4a)
2025-01-03 12:07:07 +01:00
Robert MarkoandFelix Fietkau 184d1c93cb config: rename SECCOMP to USE_SECCOMP
It seems that we have some kind of a symbol name conflict which causes
CONFIG_SECCOMP to always be read as y.

Unfortunatelly, I could not figure out what is causing this, but simply
renaming SECCOMP to USE_SECCOMP seems to properly work and leaves the
symbol unset unless arch dependencies are satisfied.

This fixes qoriq and others that dont support seccomp from failing due
to procd-seccomp package being selected to get included but it cannot be
built for them:
ERROR: unable to select packages:
  procd-seccomp (no such package):
    required by: base-files-1637~52b6c92479[procd-seccomp]

Fixes: 4c65359af4 ("build: fix including busybox, procd and apk/opkg in imagebuilder")
Link: https://github.com/openwrt/openwrt/pull/17048
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit a48ec449cc)
2025-01-03 11:18:56 +01:00
Felix Fietkau 933ae0699a build: remove targetinfo invalidation based on .config
Target info no longer depends on config settings

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 3b661cfcf9)
2025-01-03 11:16:17 +01:00
Petr ŠtetiarandFelix Fietkau 19db092082 linux: fix missing default packages in profiles.json
Robert reported, that in firmware images generated by ASU, there is
`apk` package manager missing after the commit 44598c233d ("build:
remove broken dependency of metadata on toplevel .config variables").

That is happening, because apk got removed from `default_packages` list in
`profiles.json`, which is being generated by `json_overview_image_info` Make
target, which uses `scripts/json_overview_image_info.py` helper script,
which gets the information from `DEFAULT_PACKAGES` Make variable.

So lets fix it by providing `DEFAULT_PACKAGES` variable when its needed.

The reason why we didn't added those packages as a dependency to
base-files like any other packages, was to allow disabling them (in
order to save space).

Fixes: #16969
Fixes: openwrt/asu/issues/1084
Fixes: 44598c233d ("build: remove broken dependency of metadata on toplevel .config variables")
Reported-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Link: https://github.com/openwrt/openwrt/pull/16986
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 90f0be8521)
2025-01-03 11:14:12 +01:00
Petr ŠtetiarandFelix Fietkau c22410e7a9 imagebuilder: move handling of DEFAULT_PACKAGES into shareable place
It seems, that handling of DEFAULT_PACKAGES is needed in more places, so
lets move it into dedicated include file so it can be easily shared.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
Link: https://github.com/openwrt/openwrt/pull/16986
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 40be892a02)
2025-01-03 11:14:12 +01:00
Felix Fietkau f97e729f8c build: fix including busybox, procd and apk/opkg in imagebuilder
Since the image builder pulls package lists from metadata directly,
add procd and busybox as depdendencies to base-files.
As for the package manager itself, since it can be disabled it needs
to be added directly in the image builder makefile

Fixes: 44598c233d ("build: remove broken dependency of metadata on toplevel .config variables")
Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 4c65359af4)
2025-01-03 11:11:19 +01:00
Felix Fietkau 83afb428b0 build: remove broken dependency of metadata on toplevel .config variables
Instead of relying on .config symbols for metadata, alter the DEFAULT
variable of affected packages. Fixes enabling opkg vs apk among others.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 44598c233d)
2025-01-03 11:10:12 +01:00
Felix Fietkau 85d1d03cab mt76: update to Git HEAD (2025-01-03)
46715044ecd2 wifi: mt76: mt7996: implement driver specific get_txpower function
959a2d40007f wifi: mt76: mt7996: initialize phy txpower

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 65aff89f64)
2025-01-03 11:06:56 +01:00
Felix Fietkau 3ad92b68f1 mt76: update to Git HEAD (2024-12-30)
109114146f9c mt76: only enable tx worker after setting the channel
5fe42ec88fd1 mt76: mt7915: ensure that only one sta entry is active per mac address
1884f568ba02 wifi: mt76: do not add wcid entries to sta poll list during MCU reset
71fa9124d107 wifi: mt76: mt7996: fix NULL pointer dereference in mt7996_mcu_sta_bfer_he
eb85bb3fd5bf wifi: mt76: mt7915: fix eifs value on older chipsets
83e4d4a82e65 wifi: mt76: introduce mt792x_config_mac_addr_list routine
b47e20b440ae wifi: mt76: mt7925: fix NULL deref check in mt7925_change_vif_links
3e3c484726f3 wifi: mt76: mt7925: fix wrong band_idx setting when enable sniffer mode
3f1401a0f035 wifi: mt76: mt7925: fix get wrong chip cap from incorrect pointer
eede99f524e8 wifi: mt76: mt7925: fix the invalid ip address for arp offload
c99e4d51b340 wifi: mt76: mt7996: fix overflows seen when writing limit attributes
af983b2543ed wifi: mt76: mt7915: fix overflows seen when writing limit attributes
af494e2dcc94 wifi: mt76: mt7915: exclude tx backoff time from airtime
6f6a1f7cb381 wifi: mt76: mt7996: exclude tx backoff time from airtime
7f65b1b28b4c wifi: mt76: connac: Extend mt76_connac_mcu_uni_add_dev for MLO
1b5e6abc2e7a wifi: mt76: mt7925: Fix incorrect MLD address in bss_mld_tlv for MLO support
72b4688b3912 wifi: mt76: mt7925: Fix incorrect WCID assignment for MLO
6bd2c044e67a wifi: mt76: mt7925: Fix incorrect WCID phy_idx assignment
1c04e9693466 wifi: mt76: mt7925: fix wrong parameter for related cmd of chan info
01e02947bdbf wifi: mt76: mt7925: Fix CNM Timeout with Single Active Link in MLO
b90b1a1dc71b wifi: mt76: mt7925: Enhance mt7925_mac_link_bss_add to support MLO
53ec7a551f17 wifi: mt76: Enhance mt7925_mac_link_sta_add to support MLO
3c99ef40e0e7 wifi: mt76: mt7925: Update mt7925_mcu_sta_update for BC in ASSOC state
285efc6afaec wifi: mt76: mt7925: Update mt792x_rx_get_wcid for per-link STA
e5c0d1289e6c wifi: mt76: mt7925: Update mt7925_unassign_vif_chanctx for per-link BSS
67dcd5c888c4 wifi: mt76: mt7925: Update secondary link PS flow
fd4d6f87072f wifi: mt76: mt7925: Init secondary link PM state
6d972b5b9d6a wifi: mt76: mt7925: Update mt7925_mcu_uni_[tx,rx]_ba for MLO
3acc6cbb9556 wifi: mt76: mt7925: Cleanup MLO settings post-disconnection
0aab0c61ce92 wifi: mt76: mt7925: Properly handle responses for commands with events
15bead1b0041 wifi: mt76: do not hold queue lock during initial rx buffer alloc
732044a949d5 wifi: mt76: mt7925: config the dwell time by firmware
9ba311ec6afa wifi: mt76: mt7921: introduce CSA support
5d12c7404c22 wifi: mt76: mt7921: add rfkill_poll for hardware rfkill
ef965d408b79 wifi: mt76: mt7925: replace zero-length array with flexible-array member
f8563589c72d wifi: mt76: mt7921u: Add VID/PID for TP-Link TXE50UH

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit bff5260d7b)
2025-01-03 11:02:29 +01:00
Felix Fietkau 3bd2962c3d mac80211: update to version 6.12.6
- drop patches accepted upstream
- include build fixes in the tarball
- based on https://github.com/nbd168/backports commit 410656ef04d2

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit a85059438f)
2025-01-03 11:02:29 +01:00
Georgi ValkovandFelix Fietkau 5330f62085 mac80211: refresh patch for ath12k
refresh the following patch for ath12k
001-wifi-ath12k-add-11d-scan-offload-support-and-handle-country-code-for-WCN7850.patch

Signed-off-by: Georgi Valkov <gvalkov@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17246
Signed-off-by: John Crispin <john@phrozen.org>
(cherry picked from commit fb17914f65)
2025-01-03 11:02:29 +01:00
James SweeneyandSander Vanheule 369d2f3bf9 realtek: add 1920-24g-poe-180w to mac address
Add 1920-24g-poe-180w to the mac address retrieval part of 02_network to
properly set the device's port MAC addresses.

This piece was missed when this device was added.

Fixes: b948c1e39b ("realtek: add support for HPE 1920-24G PoE-180W (JG925A)")
Link: https://github.com/openwrt/openwrt/pull/17460
Signed-off-by: James Sweeney <code@swny.io>
(cherry picked from commit 0b54029a6e)
2025-01-03 10:18:57 +01:00
Tianling Shen d886b0a8eb Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-01-02 17:37:14 +08:00
Sander Vanheule d5f01971f7 realtek: drop extraneous ')' in 02_network
The extraneous closing parenthesis inside the case matching breaks
syntax of the network initialization script 02_network.

/bin/board_detect: /etc/board.d/02_network:
    line 40: syntax error: unexpected newline (expecting ")")

Remove this character so board init is functional again.

Fixes: c8ea1aa970 ("realtek: add support for HPE 1920-24G-PoE-370w")
Signed-off-by: Sander Vanheule <sander@svanheule.net>
(cherry picked from commit a3391d871d)
2025-01-02 09:46:10 +01:00
Jonathan SturgesandHauke Mehrtens 36f7db978a ramips: mt7621: enable lzma-loader for Amped Wireless ALLY
Switch to using loader-kernel to accommodate
larger image sizes that are problematic for
many mt7621 uboots.

Signed-off-by: Jonathan Sturges <jsturges@redhat.com>
Link: https://github.com/openwrt/openwrt/pull/17389
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit f8a8a2c5c7)
2025-01-01 23:14:31 +01:00
Chukun PanandHauke Mehrtens f91d8e9f37 trusted-firmware-a.mk: fix release download URL
The URL of trusted-firmware-a is no longer available for
downloading release:
https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/
curl: (22) The requested URL returned error: 401 Unauthorized

So we switch to the GitHub mirror repository to download.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Link: https://github.com/openwrt/openwrt/pull/17360
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 4b6eb631e1)
2025-01-01 23:14:31 +01:00
George OldfortandHauke Mehrtens b80de63e9f mediatek: filogic: add KTD2026/7 driver to Acer Connect Vero W6m
This commit adds kmod-leds-ktd202x to the OpenWrt image for the device
"Acer Connect Vero W6m" which is equipped with one KTD2026 controlling the
device's status LED via I2C.

Signed-off-by: George Oldfort <openwrt@10099.de>
Link: https://github.com/openwrt/openwrt/pull/16860
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit e44180d45c)
2025-01-01 23:14:31 +01:00
Álvaro Fernández RojasandHauke Mehrtens 35e02b31c0 generic: add missing CONFIG_LEDS_KTD202X symbol
Commit 56d97fff55 backported leds-ktd202x from upstream but didn't add the
generic config symbol.

Fixes: 56d97fff55 ("generic: backport support for KTD2026/7 rgb(w) led controller")
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17396
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit c846f48f6a)
2025-01-01 23:14:31 +01:00
George OldfortandHauke Mehrtens a9ddc7432a generic: backport support for KTD2026/7 rgb(w) led controller
This commit adds the Linux kernel mainline driver "leds-ktd202x" for the
KinetIC KTD2026 and KTD2027 RGB/RBGW controller with I2C interface that was
introduced in kernel version 6.7, last changed in mainline on 2024-05-31.

At least the Acer Connect Vero W6m (a variant of the Acer Predator Connect
W6 without 2.5G eth1 port, usb3 port, and the 6 on-board gpio RGB LEDs) is
equipped with a KTD2026 (and a single RGB LED attached to it used by the
stock firmware as status LED), and maybe other router devices also are.

Signed-off-by: George Oldfort <openwrt@10099.de>
Link: https://github.com/openwrt/openwrt/pull/16860
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 56d97fff55)
2025-01-01 23:14:31 +01:00
Roland ReinlandHauke Mehrtens 812046971e mediatek: Fix primary MAC of D-Link M60
During port to gluon, I saw that the primary mac is not correct. Updated DTS accordingly.

Signed-off-by: Roland Reinl <reinlroland+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17429
(cherry picked from commit 616621120b)
Link: https://github.com/openwrt/openwrt/pull/17449
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-01-01 22:43:26 +01:00
James SweeneyandSander Vanheule a2b1aaee80 realtek: add support for HPE 1920-24G PoE-180W (JG925A)
Hardware information: (largely copied from 11275be)
---------------------

The HPE 1920-24G-PoE+ (180W) (JG925A) is a switch that is
part of the 1920 family which has 180W nominal PoE+ support.

Common with HPE 1920-24G:
- RTL8382 SoC
- 24 Gigabit RJ45 ports (built-in RTL8218B, 2 external RTL8218D)
- 4 SFP ports (external RTL8214FC)
- RJ45 RS232 port on front panel
- 32 MiB NOR Flash
- 128 MiB DDR3 DRAM
- PT7A7514 watchdog

HPE 1920-24G-PoE+ (180W):
- PoE chip
- 2 fans (40mm)

Known issues:
---------------------
- PoE LEDs are uncontrolled.

(Manual taken from f2f09bc)
Booting initramfs image:
------------------------

- Prepare a FTP or TFTP server serving the OpenWrt initramfs image and
connect the server to a switch port.

- Connect to the console port of the device and enter the extended
boot menu by typing Ctrl+B when prompted.

- Choose the menu option "<3> Enter Ethernet SubMenu".

- Set network parameters via the option "<5> Modify Ethernet Parameter".
Enter the FTP/TFTP filename as "Load File Name" ("Target File Name"
can be left blank, it is not required for booting from RAM). Note that
the configuration is saved on flash, so it only needs to be done once.

- Select "<1> Download Application Program To SDRAM And Run".

Initial installation:
---------------------

- Boot an initramfs image as described above, then use sysupgrade to
install OpenWrt permanently. After initial installation, the
bootloader needs to be configured to load the correct image file

- Enter the extended boot menu again and choose "<4> File Control",
then select "<2> Set Application File type".

- Enter the number of the file "openwrt-kernel.bin" (should be 1), and
use the option "<1> +Main" to select it as boot image.

- Choose "<0> Exit To Main Menu" and then "<1> Boot System".

NOTE: The bootloader on these devices can only boot from the VFS
filesystem which normally spans most of the flash. With OpenWrt, only
the first part of the firmware partition contains a valid filesystem,
the rest is used for rootfs. As the bootloader does not know about this,
you must not do any file operations in the bootloader, as this may
corrupt the OpenWrt installation (selecting the boot image is an
exception, as it only stores a flag in the bootloader data, but doesn't
write to the filesystem).

Example PoE config file (/etc/config/poe):
---------------------
config global
        option budget   '180'

config port
        option enable   '1'
        option id       '1'
        option name     'lan8'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '2'
        option name     'lan7'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '3'
        option name     'lan6'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '4'
        option name     'lan5'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '5'
        option name     'lan4'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '6'
        option name     'lan3'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '7'
        option name     'lan2'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '8'
        option name     'lan1'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '9'
        option name     'lan16'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '10'
        option name     'lan15'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '11'
        option name     'lan14'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '12'
        option name     'lan13'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '13'
        option name     'lan12'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '14'
        option name     'lan11'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '15'
        option name     'lan10'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '16'
        option name     'lan9'
        option poe_plus '1'
        option priority '2'

config port
        option enable   '1'
        option id       '17'
        option name     'lan24'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '18'
        option name     'lan23'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '19'
        option name     'lan22'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '20'
        option name     'lan21'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '21'
        option name     'lan20'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '22'
        option name     'lan19'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '23'
        option name     'lan18'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '24'
        option name     'lan17'
        option poe_plus '1'
        option priority '2'

Signed-off-by: James Sweeney <code@swny.io>
Link: https://github.com/openwrt/openwrt/pull/17444
Signed-off-by: Sander Vanheule <sander@svanheule.net>
(cherry picked from commit b948c1e39b)
2025-01-01 22:38:11 +01:00
Tony AmbardarandNick Hainke 32981677bd tools/dwarves: update to v1.28
Update to the latest upstream version and refresh local patches.

Release Notes: https://lore.kernel.org/bpf/Z1RcnB8WD8wZphcr@x1/

Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/17404
(cherry picked from commit 45187cbad0)
Link: https://github.com/openwrt/openwrt/pull/17418
Signed-off-by: Nick Hainke <vincent@systemli.org>
2025-01-01 21:19:24 +01:00
Tony AmbardarandNick Hainke 7a0b76cf0f bpftool: Update to v7.5.0
Update to the latest upstream release to include recent improvements and
bugfixes, and simplify use of PKG_SOURCE_VERSION.

This version supports BPF objects of either endianness, allowing for
introspection, linking and skeleton creation, and enables cross-compiling
modern BPF applications for targets with non-native byteorder.

Link: https://github.com/libbpf/bpftool/releases/tag/v7.5.0
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/17404
(cherry picked from commit 5bcad34154)
Link: https://github.com/openwrt/openwrt/pull/17418
Signed-off-by: Nick Hainke <vincent@systemli.org>
2025-01-01 21:19:19 +01:00
Tony AmbardarandNick Hainke b66773aac3 libbpf: Update to v1.5.0
Update to the latest upstream release to include recent improvements and
bugfixes, including support for handling BPF objects of either endianness.

Link: https://github.com/libbpf/libbpf/releases/tag/v1.5.0
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/17404
(cherry picked from commit 6a6ae41d4b)
Link: https://github.com/openwrt/openwrt/pull/17418
Signed-off-by: Nick Hainke <vincent@systemli.org>
2025-01-01 21:19:05 +01:00
Tianling Shen 9c204d7dff Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-01-01 14:01:45 +08:00
Evan JoblingandSander Vanheule 11275bec82 realtek: add support for HPE 1920-24G-PoE-370w
Hardware information:
---------------------

The HPE 1920-24G-PoE+ (370W) (JG926A) is a switch that is
part of the 1920 family wich 370W nominal PoE+ support.

Common with HPE 1920-24G:
  - RTL8382 SoC
  - 24 Gigabit RJ45 ports (built-in RTL8218B, 2 external RTL8218D)
  - 4 SFP ports (external RTL8214FC)
  - RJ45 RS232 port on front panel
  - 32 MiB NOR Flash
  - 128 MiB DDR3 DRAM
  - PT7A7514 watchdog

HPE 1920-24G-PoE+ (370W):
  - PoE chip
  - 3 fans (40mm)

Known issues:
---------------------
- PoE LEDs are uncontrolled.

(Manual taken from f2f09bc)
Booting initramfs image:
------------------------

- Prepare a FTP or TFTP server serving the OpenWrt initramfs image and
  connect the server to a switch port.

- Connect to the console port of the device and enter the extended
  boot menu by typing Ctrl+B when prompted.

- Choose the menu option "<3> Enter Ethernet SubMenu".

- Set network parameters via the option "<5> Modify Ethernet Parameter".
  Enter the FTP/TFTP filename as "Load File Name" ("Target File Name"
  can be left blank, it is not required for booting from RAM). Note that
  the configuration is saved on flash, so it only needs to be done once.

- Select "<1> Download Application Program To SDRAM And Run".

Initial installation:
---------------------

- Boot an initramfs image as described above, then use sysupgrade to
  install OpenWrt permanently. After initial installation, the
  bootloader needs to be configured to load the correct image file

- Enter the extended boot menu again and choose "<4> File Control",
  then select "<2> Set Application File type".

- Enter the number of the file "openwrt-kernel.bin" (should be 1), and
  use the option "<1> +Main" to select it as boot image.

- Choose "<0> Exit To Main Menu" and then "<1> Boot System".

NOTE: The bootloader on these devices can only boot from the VFS
filesystem which normally spans most of the flash. With OpenWrt, only
the first part of the firmware partition contains a valid filesystem,
the rest is used for rootfs. As the bootloader does not know about this,
you must not do any file operations in the bootloader, as this may
corrupt the OpenWrt installation (selecting the boot image is an
exception, as it only stores a flag in the bootloader data, but doesn't
write to the filesystem).

Example PoE config file (/etc/config/poe):
---------------------
config global
        option budget   '370'

config port
        option enable   '1'
        option id       '1'
        option name     'lan8'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '2'
        option name     'lan7'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '3'
        option name     'lan6'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '4'
        option name     'lan5'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '5'
        option name     'lan4'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '6'
        option name     'lan3'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '7'
        option name     'lan2'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '8'
        option name     'lan1'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '9'
        option name     'lan16'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '10'
        option name     'lan15'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '11'
        option name     'lan14'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '12'
        option name     'lan13'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '13'
        option name     'lan12'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '14'
        option name     'lan11'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '15'
        option name     'lan10'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '16'
        option name     'lan9'
        option poe_plus '1'
        option priority '2'

config port
        option enable   '1'
        option id       '17'
        option name     'lan24'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '18'
        option name     'lan23'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '19'
        option name     'lan22'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '20'
        option name     'lan21'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '21'
        option name     'lan20'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '22'
        option name     'lan19'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '23'
        option name     'lan18'
        option poe_plus '1'
        option priority '2'
config port
        option enable   '1'
        option id       '24'
        option name     'lan17'
        option poe_plus '1'
        option priority '2'

Signed-off-by: Evan Jobling <evan.jobling@mslsc.com.au>
Signed-off-by: Fabian Groffen <grobian@gentoo.org>
Link: https://github.com/openwrt/openwrt/pull/17436
[fix space indentation in DTS]
Signed-off-by: Sander Vanheule <sander@svanheule.net>
(cherry picked from commit c8ea1aa970)
2024-12-31 08:43:19 +01:00
Evan JoblingandSander Vanheule 1f94fa16d8 realtek: rtl838x: refactor hpe_1920-24g dts
The HPE JG924A, JG925A and JG926A share the same base.
Prepare base device for adding the PoE enabled switch support.

Signed-off-by: Evan Jobling <evan.jobling@mslsc.com.au>
Signed-off-by: Fabian Groffen <grobian@gentoo.org>
Link: https://github.com/openwrt/openwrt/pull/17436
Signed-off-by: Sander Vanheule <sander@svanheule.net>
(cherry picked from commit 41b49a157a)
2024-12-31 08:43:19 +01:00
John AudiaandHauke Mehrtens 67e070c11b kernel: bump 6.6 to 6.6.68
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.68

All patches automatically rebased.

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

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/17394
Signed-off-by: Nick Hainke <vincent@systemli.org>
(cherry picked from commit 1aae1dfaf2)
2024-12-30 20:21:40 +01:00
Tianling Shen 190da4f2c5 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-12-30 15:35:12 +08:00
Robert Marko 1eff737906 ipq40xx: orbi: add ethernet0 alias
Netgear Orbi devices rely on ethernet0 alias to be present to U-Boot will
populate the MAC.

This fixes the random MAC on each boot after the ethernet0 alias was
dropped from the SoC DTSI.

Fixes: cd9c721124 ("ipq40xx: 6.1: use latest DSA and ethernet patches")
Fixes: #17384
Link: https://github.com/openwrt/openwrt/pull/17414
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 9ea174c7bf)
2024-12-29 10:04:51 +01:00
Felix Fietkau 9a0a05d52a busybox: fix LTO compiler flags
When doing LTO builds, the target related CFLAGS need to be passed to the
linker, so that they are considered for target code generation.
Pass TARGET_CFLAGS in EXTRA_LDFLAGS to ensure that this is handled properly.

Fixes: #17200
Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit e6ce868c3a)
2024-12-28 22:50:04 +01:00
Álvaro Fernández Rojas dad450b115 bcm27xx-utils: update to latest version
Full changelog: raspberrypi/utils@6a2a6be...0c02957

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 80189a0350)
2024-12-28 18:51:38 +01:00
Álvaro Fernández Rojas d1dd5b2301 bcm27xx-gpu-fw: update to v1.20241126
Full changelog: https://github.com/raspberrypi/firmware/compare/1.20241008...1.20241126

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 5bc2d3267d)
2024-12-28 18:51:22 +01:00
Kyle HendryandÁlvaro Fernández Rojas 684223c4a4 bmips: pinctrl-bcm63268: add gpio function
Right now there's no way to know what state CFE will leave the pinctrl
registers in, so they should be explicitly set by linux on boot. This
patch adds a gpio configuration for drivers that need it, i.e. gpio-leds.

Signed-off-by: Kyle Hendry <kylehendrydev@gmail.com>
[improve patch and fix warnings]
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit e44daa4fa5)
2024-12-28 18:07:41 +01:00
Álvaro Fernández Rojas 4b4f319931 Revert "bmips: drop macronix nand block protection patch"
This reverts commit 15b21c474e.

The issue seems to appear spuriously.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 84ca1c28f7)
2024-12-28 16:04:01 +01:00
Álvaro Fernández Rojas 3a5584e0df bcm27xx: pull 6.6 patches from RPi repo
Adds latest 6.6 patches from the Raspberry Pi repository.

These patches were generated from:
https://github.com/raspberrypi/linux/commits/rpi-6.6.y/
With the following command:
git format-patch -N v6.6.67..HEAD
(HEAD -> 811ff707533bcd67cdcd368bbd46223082009b12)

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 692205305d)
2024-12-28 14:11:52 +01:00
John AudiaandÁlvaro Fernández Rojas cccc7651ec bcm27xx/bcm2712: add RP1 drivers via kmods
Add kmods for the following RP1 options that not all users
will necessarily need or want compiled in:
* Composite video
* Display video
* LED control
* PWM control
* Serial video

Build system: x86/64
Build-tested: bcm2712/RPi5B
Run-tested: bcm2712/RPi5B

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/17233
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit d6c5805db3)
2024-12-28 14:11:52 +01:00
John AudiaandÁlvaro Fernández Rojas 17752bd9ce kernel: bcm27xx/bcm2712: add RP1 functionality
Build in several options RP1-specific features rather than
generating additional kmods for them since bcm2712 is unique to
RPi5B only.

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/17233
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 87309edba4)
2024-12-28 14:11:52 +01:00
John AudiaandÁlvaro Fernández Rojas f4c5d0e77e bcm27xx: patches: cherry-pick for RP1 kmods
Cherry-pick patches to support building RP1 modules.

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/17233
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 613dd79d5e)
2024-12-28 14:11:52 +01:00
Álvaro Fernández Rojas 3ca3ee6012 bmips: drop macronix nand block protection patch
MX30LFxG18AC OTP area access has been fixed upstream:
https://github.com/torvalds/linux/commit/e87161321a4081d36c4af95af7f0950137569dfe

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 15b21c474e)
2024-12-28 12:22:40 +01:00
Antonio PastorandRobert Marko 76a546a83a kernel: generic: patch: 802.2+LLC - set transport_header offset
Conversion to DSA broke 802.2+LLC+SNAP packet processing. Frames
received by napi_complete_done with GRO and DSA have transport_header
set two bytes short, or pointing 2 bytes before network_header &
skb->data. As snap_rcv expects transport_header to point to SNAP
header (OID:PID) after LLC processing advances offset over LLC header
(llc_rcv & llc_fixup_skb), code doesn't find a match and packet is
dropped.

Image built at this commit operates properly:
  86dadeba48 - generic: add patch for GPON-ONU-34-20BI quirk
Image built at following commit exhibits the issue:
  337e36e0ef - ipq806x: convert each device to DSA implementation

As issue is LLC specific, to avoid impacting non-LLC traffic, and to
follow up on original assumption made on kernel commit fda55eca5a33
("net: introduce skb_transport_header_was_set()") stating "network
stacks usually reset the transport header anyway", llc_fixup_skb to
reset and advance the offset. llc_fixup_skb already assumes the LLC
header is at skb->data, and by definition SNAP header immediately
follows.

Signed-off-by: Antonio Pastor <antonio.pastor@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17220
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit da7ab64f1f)
2024-12-28 11:18:36 +01:00
Fabian GroffenandRobert Marko 5b4a081f47 octeon: add kmod-usb-dwc3-octeon to DEFAULT_PACKAGES
Since 24.10.0 the Linux kernel needs this to enable the USB stack on
Cavium Octeon platforms with DesignWare Core USB3 IP.

Issue: https://github.com/openwrt/openwrt/issues/17195
Signed-off-by: Fabian Groffen <grobian@gentoo.org>
Link: https://github.com/openwrt/openwrt/pull/17393
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 0cba20f082)
2024-12-28 10:38:11 +01:00
Fabian GroffenandRobert Marko 47e3413f6b kernel: add kmod-usb-dwc3-octeon
Since 24.10.0, Linux 6.6 is used which includes a reorganisation of
Octeon DWC3 glue code.
https://lore.kernel.org/all/ZJC3LLpUlatnLdnv@lenoch/

As a result, Octeon devices using this, such as EdgeRouter 4 have a no
longer functioning USB stack.

Build kmod-usb-dwc3-octeon for Cavium Octeon targets.

Issue: https://github.com/openwrt/openwrt/issues/17195
Signed-off-by: Fabian Groffen <grobian@gentoo.org>
Link: https://github.com/openwrt/openwrt/pull/17393
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 9adcf61abb)
2024-12-28 10:38:02 +01:00
Joel LowandRobert Marko 7cbaa9e81f netfilter: fix bogus reference to kmod-nf-conntrack-timeout
Fix bogus reference to kmod-nf-conntrack-timeout, fixing the warning
`WARNING: Makefile 'package/kernel/linux/Makefile' has a dependency on
'kmod-nf-conntrack-timeout', which does not exist`.

Fixes: 0e2dcfc4f4 ("netfilter: add kmod-nfnetlink-ct{helper,timeout}")
Signed-off-by: Joel Low <joel@joelsplace.sg>
Link: https://github.com/openwrt/openwrt/pull/17388
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 74354fb463)
2024-12-27 16:11:08 +01:00
Richard SchneidtandRobert Marko 90f84a22b0 mvebu: fix Linksys power LED
Kernel 6.6 requires LED node names to be prefixed via "led-", otherwise
probing the LED will fail, so update our downstream patch adding the LED.

Signed-off-by: Richard Schneidt <ricsc@users.noreply.github.com>
Link: https://github.com/openwrt/openwrt/pull/17330
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit f491001f0c)
2024-12-27 16:09:20 +01:00
Tianling Shen dbcf763194 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-12-27 13:31:34 +08:00
Rany HanyandHauke Mehrtens 4cc1da1e44 hostapd: add SAE support for wifi-station and optimize PSK file creation
Regarding SAE support in wifi-station:

Important Note: Unlike PSK wifi-stations, both `mac` and `key` options are required
to make it work. With PSK, hostapd used to perform a brute-force match to find which
PSK entry to use, but with SAE this is infeasible due to SAE's design.

When `mac` is omitted, it will allow any MAC address to use the SAE password if it
didn't have a MAC address assigned to it, but this could only be done once.
The last wildcard entry would be used.

Also, unlike "hostapd: add support for SAE in PPSK option" (commit 913368a),
it is not required to set `sae_pwe` to `0`. This gives it a slight advantage
over using PPSK that goes beyond not needing RADIUS.

Example Configuration:

```
config wifi-vlan
        option iface default_radio0
        option name 999
        option vid 999
        option network management

config wifi-station
        # Allow user with MAC address 00:11:22:33:44:55 and matching
        # key "secretadminpass" to access the management network.
        option iface default_radio0
        option vid 999
        option mac '00:11:22:33:44:55'
        option key secretadminpass

config wifi-vlan
        option iface default_radio0
        option name 100
        option vid 100
        option network guest

config wifi-station
        # With SAE, when 'mac' is omitted it will be the fallback in case no
        # other MAC address matches. It won't be possible for a user that
        # has a matching MAC to use this network (i.e., 00:11:22:33:44:55
        # in this example).
        option iface default_radio0
        option vid 100
        option key guestpass
```

Regarding PSK file creation optimization:

This patch now conditionally runs `hostapd_set_psk_file` depending on `auth_type`.
Previously, `hostapd_set_psk` would always execute `hostapd_set_psk_file`, which
would create a new file if `wifi-station` was in use even if PSK was not enabled.
This change checks the `auth_type` to ensure that it is appropriate to parse the
`wifi-station` entries and create those files.

Furthermore, we now only configure `wpa_psk_file` when it is a supported option
(i.e., psk or psk-sae is used). Previously, we used to configure it when it was
not necessary. While it didn't cause any issues, it would litter `/var/run` with
unnecessary files. This patch fixes that case by configuring it depending on the
`auth_type`.

The new SAE support is aligned with these PSK file changes.

Signed-off-by: Rany Hany <rany_hany@riseup.net>
Link: https://github.com/openwrt/openwrt/pull/17145
Signed-off-by: John Crispin <john@phrozen.org>
(cherry picked from commit 65a1c666f2)
Link: https://github.com/openwrt/openwrt/pull/17248
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-12-26 14:53:05 +01:00
Edward ChowandHauke Mehrtens db0300cb1b ath79: port buffalo WZR-450HP2 from ar71xx
Referencing commit a1837135e0

Hardware
--------
SoC:	Qualcomm Atheros QCA9558
RAM:	128M DDR2 (Nanya NT5TU64M16HG-AC)
FLASH:	128M SPI-NAND (Spansion S34ML01G100TFI00)
WLAN:	QCA9558 3T3R 802.11 bgn
ETH:	Qualcomm Atheros QCA8337
UART:	115200 8n1
BUTTON:	Reset - WPS - "Router" switch
LED:	2x system-LED, 2x wlan-LED, 1x internet-LED,
	2x routing-LED
	LEDs besides the ethernet ports are controlled
	by the ethernet switch

MAC Address:
 use		address(sample 1)	source
 label		cc:e1:d5:xx:xx:ed	art@macaddr_wan
 lan		cc:e1:d5:xx:xx:ec	art@macaddr_lan
 wan		cc:e1:d5:xx:xx:ed	$label
 WiFi4_2G	cc:e1:d5:xx:xx:ec	art@cal_ath9k

Installation from Serial Console
------------

1. Connect to the serial console. Power up the device and interrupt
   autoboot when prompted

2. Connect a TFTP server reachable at 192.168.11.10/24
   to the ethernet port. Serve the OpenWrt initramfs image as
   "openwrt.bin"

3. Boot the initramfs image using U-Boot
   ath> tftpboot 0x84000000 openwrt.bin
   ath> bootm 0x84000000

4. Copy the OpenWrt sysupgrade image to the device using scp and
   install it like a normal upgrade (with no need to keeping config
   since no config from "previous OpenWRT installation" could be kept
   at all)

   # sysupgrade -n /path/to/openwrt/sysupgrade.bin

Installation from Web Interface
------------

To flash just do a firmware upgrade from the stock firmware (Buffalo
branded dd-wrt) with squashfs-factory.bin

Signed-off-by: Edward Chow <equu@openmail.cc>
Link: https://github.com/openwrt/openwrt/pull/17227
(cherry picked from commit 42254d3f5f)
Link: https://github.com/openwrt/openwrt/pull/17359
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-12-26 14:26:18 +01:00
Roland ReinlandHauke Mehrtens 7271ee587c mediatek: filogic: Add support for D-Link AQUILA PRO AI M60
Specification:
 - MT7986 CPU using 2.4GHz and 5GHz WiFi (both AX)
 - MT7531 switch
 - 512MB RAM
 - 128MB NAND flash (MX35LF1GE4AB-Z4I) with two UBI partitions with identical size
 - 1 multi color LED (red, green, blue, white) connected via GCA230718 (Same as D-Link M30 A1)
 - 3 buttons (WPS, reset, LED on/off)
 - 1x 2.5 Gbit WAN port with Maxlinear GPY211C
 - 4x 1 Gbit LAN ports

Disassembly:
 - There are five screws at the bottom: 2 under the rubber feet, 3 under the label.
 - After removing the screws, the white plastic part can be shifted out of the blue part.
 - Be careful because the antennas are mounted on the side and the top of the white part.

Serial Interface
 - The serial interface can be connected to the 4 pin holes next to/under the antenna cables.
 - Note that there is another set of 4 pin holes on the side of the board, it's not used.
 - Pins (from front to rear):
   - 3.3V (do not connect)
   - TX
   - RX
   - GND
 - Settings: 115200, 8N1

MAC addresses:
 - MAC address is stored in partition "Odm" at offset 0x81 (for example XX:XX:XX:XX:XX:52)
 - MAC address on the device label is ODM + 1 (for example XX:XX:XX:XX:XX:53)
 - WAN MAC is the one from the ODM partition (for example XX:XX:XX:XX:XX:52)
 - LAN MAC is the one from the ODM partition + 1 (for example XX:XX:XX:XX:XX:53)
 - WLAN MAC (2.4 GHz) is the one from the ODM partition + 2 (for example (XX:XX:XX:XX:XX:54)
 - WLAN MAC (5 GHz) is the one from the ODM partition + 5 (for example (XX:XX:XX:XX:XX:57)

Flashing via OEM web interface:
 - Currently not supported because image crypto is not known

Flashing via recovery web interface:
 - This is only working if the first partition is active because recovery images are always flashed to the active partition and OpenWrt can only be executed from the first partition
 - Use a Chromium based browser, otherwise firmware upgrade might not work
 - Recovery web interface is accessible via 192.168.200.1 after keeping the reset button pressed during start of the device until the LED blinks red
 - Upload the recovery image, this will take some time. LED will continue flashing red during the update process
 - The after flashing, the recovery web interface redirects to http://192.168.0.1. This can be ignored. OpenWrt is accessible via 192.168.1.1 after flashing
 - If the first partition isn't the active partition, OpenWrt will hang during the boot process. In this case:
   - Download the recovery image from https://github.com/RolandoMagico/openwrt/releases/tag/M60-Recovery-UBI-Switch (UBI switch image)
   - Enable recovery web interface again and load the UBI switch image. This image works on the second partition of the M60
   - OpenWrt should boot now as expected. After booting, flash the normal OpenWrt sysupgrade image (for example in the OpenWrt web interface)
   - Flashing a sysupgrade image from the UBI switch image will make the first partition the active partition and from now on, default OpenWrt images can be used

Flashing via Initramfs:
- Before switching to OpenWrt, ensure that both partitions contain OEM firmware.
  - This can be achieved by re-flashing the same OEM firmware version again via the OEM web interface.
  - Flashing via OEM web interface will automatically flash the currently not active partition.
- Open router, connect serial interface
- Start a TFTP server at 192.168.200.2 and provide the initramfs image there
- When starting the router, select "7. Load Image" in U-Boot
- Settings for load address, load method can be kept as they are
- Specify host and router IP address if you use different ones than the default (Router 192.168.200.1, TFTP server 192.168.200.2)
- Enter the file name of the initramfs image
- Confirm "Run loaded data now?" question after loading the image with "Y"
- OpenWrt initramfs will start now
- Before flashing OpenWrt, create a backup of the "ubi" partition. It is required when reverting back to OEM
- Flash sysupgrade image to flash, during flashing the U-Boot variable sw_tryactive will be set to 0
  - During next boot, U-Boot tries to boot from the ubi partition. If it fails, it will switch to the ubi1 partition

Reverting back to OEM:
- Boot the initramfs image as described in "Flashing via Initramfs" above
- Copy the backed up ubi partition to /tmp (e.g. by using SCP)
- Write the backup to the UBI partition: mtd write /tmp/OpenWrt.mtd4.ubi.bin /dev/mtd4
- Reboot the device, OEM firmware will start now

Signed-off-by: Roland Reinl <reinlroland+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17296
(cherry picked from commit b3ce08e0b6)
Link: https://github.com/openwrt/openwrt/pull/17363
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-12-26 14:22:21 +01:00
Joel LowandHauke Mehrtens 5829178074 netfilter: add kmod-nfnetlink-ct{helper,timeout}
Add kmod-nfnetlink-ct{helper,timeout} to allow handling firewall rules
in userspace (together with conntrackd). The timeout module allows
specifying custom expiration rules.

Signed-off-by: Joel Low <joel@joelsplace.sg>
Link: https://github.com/openwrt/openwrt/pull/17267
(cherry picked from commit 0e2dcfc4f4)
Link: https://github.com/openwrt/openwrt/pull/17358
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-12-26 14:17:18 +01:00
Tianling ShenandHauke Mehrtens d9bbed6507 mediatek: update openembed som7981 support
The board has been redesigned due to previous hardware bugs
(with other reasons maybe).

Changes in new board:
- Added a gpio beeper
- Added a Atmel i2c eeprom
- Added a Atmel i2c ECC accelerator
- Added a Philips RTC module
- Added two RS485
- Removed WPS button
- Replaced USB3 port with M.2 B-key for LTE modules
- Swapped GbE LEDs gpio

Also assigned wifi mac with nvmem binding, added iface setup for failsafe,
increased phy assert time for rtl8221b, and updated LED labels.

Keeping compatibility for old version is not necessary here as only
few samples were sent to those interested in it.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/17253
(cherry picked from commit 5a7fb834c7)
Link: https://github.com/openwrt/openwrt/pull/17348
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-12-26 14:13:35 +01:00
Tianling ShenandHauke Mehrtens 48f9284232 kernel: crypto: add atmel i2c hw accelerator support
Add support for Microchip / Atmel ECC/SHA/RNG hw accelerator.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/17253
(cherry picked from commit 9d434a8abf)
Link: https://github.com/openwrt/openwrt/pull/17348
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-12-26 14:13:35 +01:00
Hauke Mehrtens 738c9e5286 yafut: Mark as nonshared
This package is depending on @NAND_SUPPORT which is only set for some
targets. Mark it nonshared to build it in the target build process.

Fixes: https://github.com/openwrt/openwrt/issues/14714
Link: https://github.com/openwrt/openwrt/pull/17379
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit d275bcc4bb)
2024-12-26 14:09:55 +01:00
Tianling ShenandTianling Shen 25f2b3ec79 rockchip: add MMBOX ANAS3035 support
Hardware
--------
RockChip RK3568 ARM64 (4 cores)
4GB LPDDR4X RAM
2x 2500 Base-T (PCIe, rtl8125b)
4x LEDs (POWER / SATA1 / SATA2 / SATA3)
32GB eMMC on-board
Micro-SD Slot
HDMI OUT
2x USB 2.0 Port
3x SATA Slot
DC Jack 12V

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

Signed-off-by: Tianling Shen <i@cnsztl.eu.org>
(cherry picked from commit 934bf398be)
2024-12-26 18:06:35 +08:00
Tianling Shen 35fba462e0 ImmortalWrt v24.10.0-rc3: revert to branch defaults
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-12-26 16:04:32 +08:00
Tianling Shen 415304139d ImmortalWrt v24.10.0-rc3: adjust config defaults
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-12-26 16:04:31 +08:00
Tianling Shen afde822cf7 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-12-26 16:02:55 +08:00
David BenthamandHauke Mehrtens 55d1fe4aa6 mediatek: add Comfast CF-E395AX support by adding an alternative model name
both these devices share the board and same config, just different model number

Install instructions are the same as the CF-E393AX commit - https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=d8f4453bf2de9fd9baf3d660ed12e0797ff2cfdb

Signed-off-by: David Bentham <db260179@gmail.com>

Link: https://github.com/openwrt/openwrt/pull/16389
Signed-off-by: John Crispin <john@phrozen.org>
(cherry picked from commit 794291bbdf)
2024-12-26 00:57:01 +01:00
Kyle HendryandÁlvaro Fernández Rojas 45bf30e062 bmips: dts: fix pinctrl error
The kernel logs the error "bcm6368_nand 10000200.nand: there is not valid
maps for state default" on boot and all nand pins show as UNCLAIMED in
sysfs pinmux-pins.

bcm6362.dtsi, bcm6368.dtsi and bcm63268.dtsi use the undocumented property
group which the driver doesn't understand. This has been documented upstream
in commit caf963efd4b0b9ff42ca12e52b8efe277264d35b.

Replacing group with pins allows the nand pins to be properly configured.

Signed-off-by: Kyle Hendry <kylehendrydev@gmail.com>
[add bcm636/bcm6368 and fix commit title]
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit d1e9c50d06)
2024-12-24 11:25:39 +01:00
Sander Vanheule ec49df8692 realtek: generate compat_version 2.0 for GS1900
The GS1900 images have been updated to have a larger firmware partition,
bumping the compatibility version to 2.0. However, since this version is
generated on first boot and the default was used, these images still
advertised 1.0 after a fresh install.

Add a new uci-defaults script that will generate the correct version for
all affected Zyxel GS1900 devices.

Fixes: 35acdbe909 ("realtek: merge Zyxel GS1900 firmware partitions")
Signed-off-by: Sander Vanheule <sander@svanheule.net>
(cherry picked from commit a25809a474)
2024-12-24 11:18:27 +01:00
Tianling Shen b939c8122c Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-12-24 16:06:00 +08:00
Tianling ShenandHauke Mehrtens d036b42dd9 uboot-rockchip: fix build with swig 4.3.0
Fixes the following error by backporting upstream update:
```
scripts/dtc/pylibfdt/libfdt_wrap.c: In function ‘_wrap_fdt_next_node’:
scripts/dtc/pylibfdt/libfdt_wrap.c:5581:17: error: too few arguments to function ‘SWIG_Python_AppendOutput’
 5581 |     resultobj = SWIG_Python_AppendOutput(resultobj, val);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~
```

Fixes: https://github.com/openwrt/openwrt/issues/17345
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/17352
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 4e68103c4e)
2024-12-23 21:26:47 +01:00
Florian MaurerandRobert Marko f7398101db ipq40xx-generic: ws-ap3915i fix macadress
set macaddress correctly for board

Signed-off-by: Florian Maurer <f.maurer@outlook.de>
Link: https://github.com/openwrt/openwrt/pull/17305
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 363f52d067)
2024-12-23 16:45:51 +01:00
Florian MaurerandRobert Marko 08f1bde12b ipq40xx-generic: EN WS-AP3915i remove BLOCKSIZE from image definition
The blocksize was too high, resulting in forgetting the config on sysupgrade
It is not needed for SPI-NOR.

Signed-off-by: Florian Maurer <f.maurer@outlook.de>
Link: https://github.com/openwrt/openwrt/pull/17305
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 24fc5ff213)
2024-12-23 16:45:44 +01:00
Hauke Mehrtens 372afe10f0 OpenWrt v24.10.0-rc4: revert to branch defaults
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-12-23 12:40:35 +01:00
Hauke Mehrtens 1e530e5831 OpenWrt v24.10.0-rc4: adjust config defaults
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-12-23 12:40:31 +01:00
Hauke Mehrtens d55754ce0d uboot-d1: Adapt BUILD_DEVICES to renamed boards
The boards where renamed, but BUILD_DEVICES was not adapted. This
variable points to the board name. Without this change the u-boot
binaries are not selected in the configuration.

Copy the u-boot binaries under the BUILD_DEVICES name as it is expected
by the image scripts.

Fixes: 33e23e8922 ("build: d1: add SUPPORTED_DEVICES")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit af6c1f9497)
2024-12-23 01:55:35 +01:00
Sander Vanheule 654c9732dc realtek: merge Zyxel GS1900 firmware partitions
The dual-boot partition layout for the Zyxel GS1900 switches results in
6.9MB for both kernel and rootfs. Depending on the package selection,
this may already leave no space for the user overlay.

Merge the two firmware partitions, effectively dropping dual boot
support with OpenWrt. This results in a firmware partition of 13.9MB,
which should leave some room for the future.

To maintain install capabilites on new devices, an image is required
that still fits inside the original partition. The initramfs is used as
factory install image, so ensure this meets the old size constraints.
The factory image can be flashed via the same procedure as vendor images
when reverting to stock, can be installed from stock, or can be launched
via tftpboot.

Link: https://github.com/openwrt/openwrt/issues/16439
Link: https://github.com/openwrt/openwrt/pull/16442
Tested-by: Stijn Segers <foss@volatilesystems.org>
Signed-off-by: Sander Vanheule <sander@svanheule.net>
(cherry picked from commit 35acdbe909)
2024-12-22 19:22:58 +01:00
Sander Vanheule feb7a2a232 realtek: ZyXEL GS1900-48: drop gpio-restart
GPIO 5 on the RTL8231 is defined reset the system, but fails to actually
do so. This triggers a kernel a number of warnings and backtrace for
GPIO pins that can sleep, such as the RTL8231's. Two warnings are
emitted by libgpiod, and a third warning by gpio-restart itself after it
fails to restart the system:

[  106.654008] ------------[ cut here ]------------
[  106.659240] WARNING: CPU: 0 PID: 4279 at drivers/gpio/gpiolib.c:3098 gpiod_set_value+0x7c/0x108
               [ Stack dump and call trace ]
[  106.826218] ---[ end trace d1de50b401f5a153 ]---
[  106.962992] ------------[ cut here ]------------
[  106.968208] WARNING: CPU: 0 PID: 4279 at drivers/gpio/gpiolib.c:3098 gpiod_set_value+0x7c/0x108
               [ Stack dump and call trace ]
[  107.136718] ---[ end trace d1de50b401f5a154 ]---
[  111.087092] ------------[ cut here ]------------
[  111.092271] WARNING: CPU: 0 PID: 4279 at drivers/power/reset/gpio-restart.c:46 gpio_restart_notify+0xc0/0xdc
               [ Stack dump and call trace ]
[  111.256629] ---[ end trace d1de50b401f5a155 ]---

By removing gpio-restart from this device, we skip the restart-by-GPIO
attempt and rely only on the watchdog for restarts, which is already the
de facto behaviour.

Signed-off-by: Sander Vanheule <sander@svanheule.net>
(cherry picked from commit 2ada95ccdf)
2024-12-22 19:22:58 +01:00
Hauke Mehrtens f94c3af814 kernel: generic: netfilter: nft_set_hash: unaligned atomic read on struct nft_set_ext
Fix kernel panic on some 64 bit architectures.

This patch is pending upstream.
https://patchwork.ozlabs.org/project/netfilter-devel/patch/20241222100239.336289-1-pablo@netfilter.org/

Fixes: https://github.com/openwrt/openwrt/issues/17336
Link: https://github.com/openwrt/openwrt/pull/17340
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 4585d5abd9)
2024-12-22 18:48:34 +01:00
John AudiaandHauke Mehrtens 4111210b27 kernel: bump 6.6 to 6.6.67
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.67

All patches automatically rebased.

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

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/17309
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit efe9fb0846)
2024-12-22 18:01:51 +01:00
Lorenz BrunandHauke Mehrtens b2a172170c octeon: enable AT803x PHY driver
The AR8035 PHY is used in most Octeon boards supported by OpenWRT (all
the Ubiquiti routers at least). To be able to use its PHY-specific
functionality (cable testing, LED Control, ...) it should be built on
Octeon. It also needs the regulator framework, so enable that as well.
These boards are not space-constrained, so this really has no downsides.

Tested on an EdgeRouter Lite, cable tests now work with ethtool-full.

Signed-off-by: Lorenz Brun <lorenz@brun.one>
Link: https://github.com/openwrt/openwrt/pull/17318
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 4892ea9a74)
2024-12-22 18:01:40 +01:00
Eric FahlgrenandRobert Marko 81c0cf031e build: d1: add SUPPORTED_DEVICES
Include specific SUPPORTED_DEVICES values derived from the .dts file.
This makes the generated profiles.json consistent with the 'board_name' from
'ubus call system board'.

Specifically, this fixes a bug in the generated profiles.json that breaks the
ASU clients when selecting the proper image from a build.

See the 'supported_devices' fields here for the incorrect (or incomplete) list:
https://downloads.openwrt.org/releases/24.10.0-rc1/targets/d1/generic/profiles.json

Links: https://forum.openwrt.org/t/owut-openwrt-upgrade-tool/200035/287
Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17155
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 33e23e8922)
2024-12-22 16:34:59 +01:00
Tianling Shen 0f7a2d3e21 ImmortalWrt v24.10.0-rc2: revert to branch defaults
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-12-21 15:00:06 +08:00
Tianling Shen b912a96ab4 ImmortalWrt v24.10.0-rc2: adjust config defaults
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-12-21 15:00:06 +08:00
Tianling Shen 56e91d0bbe Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-12-21 14:59:24 +08:00
Hauke Mehrtens 975811921e OpenWrt v24.10.0-rc3: revert to branch defaults
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-12-21 01:51:34 +01:00
Hauke Mehrtens dd04edfba2 OpenWrt v24.10.0-rc3: adjust config defaults
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-12-21 01:51:30 +01:00
Marco von RosenbergandHauke Mehrtens 8667ca841b generic: fix BCM54612E suspend/resume backport patch
This backport patch inserted suspend/resume callbacks
for the wrong PHY driver.
The fixed patch is needed for Huawei AP5030DN
to initialize its second PHY.

Refresh all affected patch with make target/linux/refresh.

Fixes: 06cdc07f8c ("ath79: add support for Huawei AP5030DN")
Signed-off-by: Marco von Rosenberg <marcovr@selfnet.de>
Link: https://github.com/openwrt/openwrt/pull/17312
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit d7f638bc69)
2024-12-20 19:36:33 +01:00
Tianling Shen 2d6c57397f Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-12-20 14:30:00 +08:00
David Bauer 5289460fd0 wifi-scripts: don't fail on unset PSK
Don't fail wireless interface bringup on empty PSK set. This is a valid
configuration, resulting in a PSK network which can't be connected to.
It does not fail the bringup of the hostapd process.

Keep failing the interface setup in case a password with invalid length
is used.

This is also beneficial when intending to configure a PPSK network. It
allows to create a network where no PPSK is yet set.

Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit 17a71f0c154cebd2e52cd8407531a9a88c931474)
2024-12-20 01:20:00 +01:00
Tianling Shen 7c0f6f4d05 linux-firmware: add panthor firmware
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit aea6227660)
2024-12-19 20:47:36 +08:00
Tianling Shen f67ecd3baf rockchip: backport rk3588 usb reset fixes
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit edca1d0019)
2024-12-19 20:18:06 +08:00
Isaac de WolffandHauke Mehrtens 9f76cda378 lantiq: grow kernel partition Zyxel P-2812HNU-F1
Change partition table in dts file.
Change DEVICE_COMPAT_VERSION
Enable automatic build.

To take advantage of the bigger kernel partition,
the uboot environment has to be changed:
setenv nboot 'nand read 0x81000000 0x60000 0x500000; bootm 0x81000000'
setenv bootcmd 'run nboot'
saveenv

Of course you need a u-boot capable of handling this.
The u-boot discussed in this forum thread:
https://forum.openwrt.org/t/zyxel-p2812hnu-f1-u-boot/100281
should be able to handle kernels up to an uncompressed size of 16MiB.

Signed-off-by: Isaac de Wolff <idewolff@gmx.com>
Link: https://github.com/openwrt/openwrt/pull/17209
Link: https://github.com/openwrt/openwrt/pull/17300
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 0d21cc8a92)
2024-12-19 11:30:45 +01:00
Andrew MacIntyreandHauke Mehrtens 5415fb06d2 lantiq/xrx200: move 8M flash devices to a small flash subtarget
Images for xrx200 8M flash are either not building due to image
size (TD-W8970, TD-W8980) or building such that the available
free space in the overlayfs is too little to be useful.

To keep images for these devices buildable, move them into a
small flash variant of the xrx200 subtarget.  As these devices
are NOR flash only, remove NAND and UBI references from the
kernel config to gain some additional image size reduction.

The apparent 8M flash devices Arcadyan VGV7510KW22-brn,
Arcadyan VGV7519-brn and Lantiq Easy80920-nor seem to exist in
order to create special "factory" installation images for these
devices (which actually have larger flash: 16MB for the
Arcardyan devices; 64MB for the Lantiq device).  As a
considerable amount of surgery would appear to be required to
the uboot-lantiq package structure to separate the "factory"
from the "sysupgrade" device recipes for these devices they
remain in the xrx200 target - if factory images aren't now
created, 23.05.x factory images should suffice for initial
installation.

Tested on: Netgear DM200, TP-Link TD-W8980,
           AVM Fritz7490 (xrx200 subtarget: image build only)

Fixes: https://github.com/openwrt/openwrt/issues/16761
Signed-off-by: Andrew MacIntyre <andymac@pcug.org.au>
Link: https://github.com/openwrt/openwrt/pull/17113
(cherry picked from commit e63326e26a)
Link: https://github.com/openwrt/openwrt/pull/17303
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-12-19 11:25:30 +01:00
John AudiaandHauke Mehrtens 21549dbf7b kernel: bump 6.6 to 6.6.66
Update patch set for new release and add required kernel option
CONFIG_ZRAM_TRACK_ENTRY_ACTIME to generic config

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

Manually rebased:
	bcm27xx/patches-6.6/950-0092-MMC-added-alternative-MMC-driver.patch
	bcm53xx/patches-6.6/180-usb-xhci-add-support-for-performing-fake-doorbell.patch
	starfive/patches-6.6/1000-serial-8250_dw-Add-starfive-jh7100-hsuart-compatible.patch

Removed upstreamed:
	bcm27xx/patches-6.6/950-0029-vc4_hdmi-Avoid-log-spam-for-audio-start-failure.patch[1]

All other patches automatically rebased.

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

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

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/17271
(cherry picked from commit 28f534d953)
Link: https://github.com/openwrt/openwrt/pull/17302
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-12-19 11:22:12 +01:00
Tianling Shen ab4c83d4f9 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-12-19 16:41:49 +08:00
Florian MaurerandFelix Fietkau 5a715cdbcd hostapd: fix call to hostapd reload
access to undeclared variable radio In [anonymous function](), file /usr/share/hostap/hostapd.uc, line 830, byte 45:

Signed-off-by: Florian Maurer <f.maurer@outlook.de>
(cherry picked from commit 31e45f62ca)
2024-12-19 09:02:51 +01:00
Felix Fietkau e40367fa99 hostapd: fix passing radio parameter in wpa_supplicant calls
Fixes accessing PHY status in AP+STA configurations

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 8943430b9f)
2024-12-19 09:02:36 +01:00
Felix Fietkau f0ff244c69 firewall4: update to Git HEAD (2024-12-18)
e00958884416 fw4: do not add physical devices for soft offload
dfbcc1cd127c fw4: skip not existing netdev names in flowtable device list
18fc0ead19fa init: use the reload data trigger to reload firewall on procd data changes

Fixes: https://github.com/openwrt/openwrt/issues/13410
Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 47c75a25cd)
2024-12-18 12:47:50 +01:00
Felix Fietkau cc69be0c13 unetd: update to Git HEAD (2024-12-17)
93461ca4c827 unet-cli: only apply defaults on create
3e5766783d5d unet-tool: add support for confirming password
074d3659ca4a unet-cli: confirm password when creating new seed based key
bf3488a3807a unet-cli: add add/set-local-host command
9eb57c528461 unet-cli: add support for setting interface zone
a0a2d80f3459 ubus: add firewall rules for network port/pex_port via procd

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit f077e058fd)
2024-12-17 22:00:37 +01:00
Felix Fietkau 6642ee73bc procd: add support for reload triggers on data change
This can be useful to reload the firewall when procd firewall data changes

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 49d92d3e93)
2024-12-17 22:00:37 +01:00
Felix Fietkau f760f74209 procd: do not overwrite service data by default
Allows a running servie to manage its own data if untouched by the init script

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 8c5826b140)
2024-12-17 22:00:37 +01:00
Felix Fietkau 5dca1d6a41 procd: update to Git HEAD (2024-12-17)
2e206dbe77ec service: add support for triggers on service/instance data changes
735b48728fca service: remove leftover lines from previous commit
32469644a029 service: allow incremental changes to service properties
fd01fb852302 service: fix double free bug when dealing with data

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 3d900bd055)
2024-12-17 22:00:37 +01:00
John CrispinandFelix Fietkau e109caeec4 procd: update to latest HEAD
e2f05de state: set_stdio: chdir back to / in case of failure
30542c9 inittab: Disable implicit controlling TTY.

Signed-off-by: John Crispin <john@phrozen.org>
(cherry picked from commit 2bcc49aef9)
2024-12-17 22:00:37 +01:00
Felix Fietkau a964e96289 netifd: update to Git HEAD (2024-12-17)
058a099f5bc5 interface: fix memleak and reload issue for the zone attribute
ea01ed41f321 interface: remove unnecessary NULL checks before free()

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 53e312e193)
2024-12-17 21:58:55 +01:00
Felix Fietkau acf52fed43 unetd: add firewall input rule for global port
Ensure that peers can be exchanged over any interface

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit f8a16524c4)
2024-12-17 21:58:55 +01:00
Tianling Shen b9eb5bc327 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-12-17 17:37:25 +08:00
Felix Fietkau 25268f724b unetd: update to Git HEAD (2024-12-16)
d22d7db581d5 bpf_skb_utils.h: add missing include to fix build against newer kernel headers
bbd3e0eb1419 host: fix peer routes on a node acting as gateway
b17164751fc7 unet-tool: add support for generating keys from salt + seed passphrase
041e05870c20 unet-tool: add support for dumping pubkey from signed file
b58920d420cb unet-tool: add support for extracting network data from signed bin file
f335f5b40b4e unet-cli: add support for generating key from seed
8b1f1d099352 unet-cli: add support for importing networks from signed data
188ba05eadf2 unet-cli: add missing command line help for import
8f15fc306a40 unet-cli: fix add-ssh-host with seed keys
486bc3b86dc2 pex-msg: enable broadcast for global PEX socket
e4a24cdfbc1c unet-cli: fix defaults on create

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit af1740a28b)
2024-12-16 13:04:21 +01:00
Rosen PenevandRobert Marko 6435025f9c ath79: fix tl-wa eth1 mac
This is using mac-base and so a 0 needs to be added.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17274
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 0634ebed9f)
2024-12-16 11:07:11 +01:00
John AudiaandHauke Mehrtens 6d0d4ce72f kernel: generic: tg3: Fix DMA allocations on 57766 devices
At the request of rsalvaterra, add this patch to fix an issue
affecting tg3 ethernet interfaces[1].

1. https://github.com/openwrt/openwrt/pull/17271#issuecomment-2543836518

Tested-by: Rui Salvaterra <rsalvaterra@gmail.com>
Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/17282
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit a3c484c3b9)
2024-12-16 01:10:42 +01:00
Shiji YangandHauke Mehrtens 28602452df ath79: fix ath9k calibration data size for AR9132
For ath9k NICs older than AR9287, The eeprom size is 0xeb8.

Fixes: https://github.com/openwrt/openwrt/issues/17196
Fixes: 74f2df9dbc ("ath79: mtd-cal-data removals")
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/17261
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 96eb12e961)
2024-12-16 01:10:36 +01:00
Andreas BöhlerandHauke Mehrtens 28bde50c1d ath79: add support for KuWFi N650 CPE
The KuWFi N650 is a 5GHz outdoor wireless bridge based on QCA9563.

Specs
=====

CPU: QCA9563, 775MHz
RAM: 128MiB
Flash: 16MiB
Wireless: QCA9888 (5GHz only)
Ethernet: 2x GBit (via QCA8337), 48V passive PoE

Installation
============

From OEM firmware
-----------------

The OEM firmware has telnet enabled by default. If not, it can be enabled
from the firmware web interface. You need a TFTP server on your computer
and the OpenWrt factory image should be available as "n650factory.bin".
It is assumed that your computer has the IP 192.168.1.1 and the N650
192.168.1.20 (default IP address).

1. Connect via Telnet to the device and log in with the default credentials
   "admin:admin"
2. Exploit the limited interface by typing "ps & /bin/sh"
3. Press <ENTER> to start the shell
4. Enter the following commands:

$ cd /tmp
$ tftp -r n650factory.bin -g 192.168.1.1
$ cat << EOF > /tmp/openwrt.sh

IMAGE_NAME="\$1"

if [ ! -e \${IMAGE_NAME} ]; then
  echo "Image file not found: \${IMAGE_NAME}"
  exit 1
fi

. /usr/sbin/common.sh

kill_remaining TERM
sleep 3
kill_remaining KILL

run_ramfs mtd write \${IMAGE_NAME} firmware
sleep 2
reboot -f
EOF

$ chmod +x /tmp/openwrt.sh
$ /tmp/openwrt.sh n650factory.bin

Once the device reboots, it should load OpenWrt.

From UART
---------

UART installation is possible since the serial header is already soldered
on. The pinout is GND - Tx - Rx - VCC from top to bottom (RJ45 ports are
at the bottom). Connect with 115200 8N1.

First, boot OpenWrt from TFTP. Enter the following commands in the U-Boot
shell, assuming your computer has the IP address 192.168.1.1 and a TFTP
server running where the initramfs image is provided as n650.bin:

  setenv ipaddr 192.168.1.20
  setenv serverip 192.168.1.1
  tftpboot 0x84000000 n650.bin
  bootm

Once booted, transfer -loader.bin and -sysupgrade.bin images to the device
at /tmp. Enter the following commands, replacing the filenames:

  mtd write /tmp/loader.bin loader
  sysupgrade /tmp/sysupgrade.bin

Reboot and OpenWrt should load from flash.

Back to Stock
-------------

Back to stock is only possible if you saved a partition backup before
installing OpenWrt. Assuming you have fullbackup.bin covering the whole
flash, you need to prepare the image as follows:

$ dd if=fullbackup.bin of=fwconcat0.bin bs=65536 skip=4 count=212
$ dd if=fullbackup.bin of=loader.bin bs=65536 skip=216 count=1
$ dd if=fullbackup.bin of=fwconcat1.bin bs=65536 skip=217 count=22
$ cat fwconcat0.bin fwconcat1.bin > firmware.bin

Transfer firmware.bin and loader.bin to the OpenWrt device. First, flash
loader.bin to mtd device loader, then force sysupgrade:

$ mtd write loader.bin loader
$ sysupgrade -F firmware.bin

The reason for the two-step process is the way the flash layout is designed
for OpenWrt in contrast to the OEM firmware partition.

Signed-off-by: Andreas Böhler <dev@aboehler.at>
Link: https://github.com/openwrt/openwrt/pull/17089
Link: https://github.com/openwrt/openwrt/pull/17247
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit dde510cf97)
2024-12-15 01:46:49 +01:00
John AudiaandHauke Mehrtens efcb0ec713 kernel: bump 6.6 to 6.6.65
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.65

Update to checksum only/no patches required a rebase.
Per the changelog, this is a trivial upstream bump with only 4
commits, 2 of which being reverts.

Build system: x86/64
Build-tested: x86/64/AMD Cezanne
Run-tested: x86/64/AMD Cezanne

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/17217
Signed-off-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 15e173bf7e)
2024-12-15 01:43:51 +01:00
John AudiaandHauke Mehrtens 9af0e94fa6 kernel: bump 6.6 to 6.6.64
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.64

Manually rebased:
	generic/hack-6.6/780-usb-net-MeigLink_modem_support.patch
	bcm27xx/patches-6.6/950-0585-drm-vc4-Introduce-generation-number-enum.patch
	bcm27xx/patches-6.6/950-0610-drm-vc4-hvs-Support-BCM2712-HVS.patch
	bcm27xx/patches-6.6/950-0829-vc4-hvs-Add-support-for-D0-register-changes.patch

Removed upstreamed:
	bcm27xx/patches-6.6/950-0597-drm-vc4-hdmi-Avoid-hang-with-debug-registers-when-su.patch[1]
	bcm27xx/patches-6.6/950-0599-drm-vc4-Fix-dlist-debug-not-resetting-the-next-entry.patch[2]
	bcm27xx/patches-6.6/950-0600-drm-vc4-Remove-incorrect-limit-from-hvs_dlist-debugf.patch[3]
	bcm27xx/patches-6.6/950-0708-drm-vc4-Correct-logic-on-stopping-an-HVS-channel.patch[4]
	ramips/patches-6.6/002-01-v6.13-clk-ralink-mtmips-fix-clock-plan-for-Ralink-SoC-RT38.patch[5]
	ramips/patches-6.6/002-02-v6.13-clk-ralink-mtmips-fix-clocks-probe-order-in-oldest-r.patch[6]

All other patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.64&id=223ee2567a55e4f80315c768d2969e6a3b9fb23d
2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.64&id=8182b5ca19c6f173b6498d1c6d3e4b034b76bbde
3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.64&id=52c1716f65a558174e381360bd88f18dae4be85c
4. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.64&id=9728b508b01a5eeeac79ceb676364c674dd951ac
5. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.64&id=f85a1d06afbcc57ac44176db8f9d7a934979952c
6. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.64&id=fbb13732c6ffa9d58cedafabcd5ce8fd7ef8ae5a

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

Co-authored-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/17217
Signed-off-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 5158e28769)
2024-12-15 01:43:39 +01:00
Shiji YangandHauke Mehrtens bf284ed4af ramips: fix 2.4G wmac eeprom offset for TL-WR902AC v4
The eeprom data offset on 2.4GHz wmac is wrong. It is obvious that
this is a copy & paste issue.

Suggested-by: @cgm999 on https://github.com/openwrt/openwrt/issues/13969
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/17263
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 5a24850de1)
2024-12-14 20:34:55 +01:00
Tianling Shen 31335d165a mediatek: update leds for openembed som7981
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 91cfc2b296)
2024-12-14 20:27:31 +08:00
Tianling Shen f3f8a8ea83 mediatek: fix wifi mac assignment for bpi r4
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-12-14 20:24:17 +08:00
Tianling Shen ab3dee65f9 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-12-13 20:02:01 +08:00
David Bauer aa1241e979 wifi-scripts: fix failing mesh setup with missing wpa_supplicant
The initialization of mesh interfaces currently fail when wpa_supplicant
is not installed. This is due to the script calling the wpa_supplicant
feature indicator without verifying wpa_supplicant is installed at all.

To avoid failing, first check if wpa_supplicant is installed before
determining the available featureset.

Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit 1be18c6daa)
2024-12-12 16:41:10 +01:00
Tianling Shen 610b73e8b6 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-12-11 14:21:00 +08:00
Andris PEandHauke Mehrtens 28de3ffefa netifd: check if /sbin/wifi exists before calling it
Avoid harmless error from network script by checking presence of
now-optional wifi support script, most notably confusing users of x86
snapshots.

Fixes: #14964
Signed-off-by: Andris PE <neandris@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/14986
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 207bfee855)
2024-12-10 01:22:05 +01:00
Paul DonaldandHauke Mehrtens 6c664135f9 netifd: update to Git 768027c5a7640137857f412f554227abd6160cdd (2024-11-27)
86da5cbcdb9d system-linux: do not pull ifindex/flags from netlink messages on rtnl events
cd96f61ba63e proto-shell: fix spurious interface teardowns with host deps
a39fe3a8b150 wireless: add support for adding a list of devices for a wifi-iface
d29cf707478c iprule: add ipproto property
768027c5a764 system-linux: restore reading flags from netlink messages

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17074
Signed-off-by: Petr Štetiar <ynezz@true.cz>
(cherry picked from commit f4492b6b1c)
Link: https://github.com/openwrt/openwrt/pull/17110
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-12-10 01:19:13 +01:00
Mikhail ZhilkinandHauke Mehrtens 620aa80064 mediatek: MERCUSYS MR90X v1: add OpenWrt U-Boot (UBI) layout
This commit adds OpenWrt U-Boot (UBI) layout support for MERCUSYS MR90X
v1.

Stock U-Boot UBI size:   50 MiB
OpenWrt U-boot UBI size: 126 MiB

Install
-------
1. Perform steps 1-14 of the OpenWrt installation guide (use OpenWrt
   initramfs-recovery.itb instead of initramfs-kernel.bin at the step 10,
   12 and 14).
Link: https://openwrt.org/toh/mercusys/mr90x_v1#installation

2. Make backups:
```
cat /dev/mtd0 > /tmp/boot.bin
cat /dev/mtd5 > /tmp/tp_data.bin
```
   Copy /tp_data dir content, /tmp/boot.bin and /tmp/tp_data.bin and to
   your PC using scp. You can also backup the remaining partititons. Copy
   backups to a safe place, they are required for the next steps and stock
   firmware recovery.

3. Reboot to OpenWrt initramfs:
```
reboot
```

4. Copy OpenWrt ubi-bl31-uboot.fip, ubi-preloader.bin,
   ubi-squashfs-sysupgrade.itb and MT7986_EEPROM.bin, default-mac (from
   /tp_data backup) to the /tmp folder of the router using scp.

5. Prepare UBI:
```
ubidetach -p /dev/mtd3; ubiformat /dev/mtd3 -y; ubiattach -p /dev/mtd3
ubimkvol /dev/ubi0 -N fip -t static -s 1MiB
ubiupdatevol /dev/ubi0_0 /tmp/ubi-bl31-uboot.fip
ubimkvol /dev/ubi0 -N ubootenv -s 0x1f000
ubimkvol /dev/ubi0 -N ubootenv2 -s 0x1f000
```

6.  Install kmod-mtd-rw and unlock partitions:
```
opkg update && opkg install kmod-mtd-rw
insmod mtd-rw i_want_a_brick=1
mtd unlock boot
mtd unlock bl2
mtd unlock factory
```

7. Prepare "factory" partition:
```
dd if=/dev/zero bs=$((0x8000)) count=1 | tr '\000' '\377' > /tmp/factory.bin
dd if=/tmp/MT7986_EEPROM.bin of=/tmp/factory.bin conv=notrunc
dd if=/tmp/default-mac >> /tmp/factory.bin
```

8. Write "factory" partition:
```
mtd erase factory
mtd write /tmp/factory.bin factory
```

9. Write preloader partition:
```
mtd erase bl2
mtd write /tmp/ubi-preloader.bin bl2
```

10. Write OpenWrt sysupgrade image:
```
sysupgrade -n /tmp/ubi-squashfs-sysupgrade.itb
```

Recovery
--------
1. Place OpenWrt initramfs-recovery.itb image (with original name) on the
   tftp server (IP: 192.168.1.254).
2. Press "reset" button and power on the router. After ~10 sec release the
   button.
3. Use OpenWrt initramfs system for recovery.

BL2 and FIP recovery
--------------------
Use mtk_uartboot and UART connetion if BL2 or FIP in UBI is destroyed:
Link: https://github.com/981213/mtk_uartboot
Link: https://openwrt.org/toh/mercusys/mr90x_v1#serial

Return to stock:
----------------
1. Copy "boot" partition backup (boot.bin) to the /tmp dir of the router
   using scp.

2. Install kmod-mtd-rw:
```
opkg update && opkg install kmod-mtd-rw
```

3. Restore stock U-Boot:
```
   insmod mtd-rw i_want_a_brick=1
   mtd unlock boot
   mtd erase boot
   mtd write /tmp/boot.bin boot
```

4. Erase UBI and reboot:
```
mtd erase ubi
reboot
```

5. Open U-Boot web recovery, upload stock firmware image and start
   upgrade.
Link: http://192.168.1.1

6. Complete steps 1-9 of the OpenWrt installation guide to get root
   rights.
Link: https://openwrt.org/toh/mercusys/mr90x_v1#installation

7. Upload "tp_data" partition backup (tp_data.bin) to the /tmp folder of
   the router using scp.

8. Restore stock calibrations:
```
mtd write /tmp/tp_data.bin tp_data
reboot
```

9. Perform "factory restore" via stock firmware web interface.

Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16744
(cherry picked from commit ee8df790ca)
Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17129
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-12-10 01:08:03 +01:00
Mikhail ZhilkinandHauke Mehrtens 24bddf68bd uboot-mediatek: add MERCUSYS MR90X v1 support
Add U-Boot replacement loader for the MERCUSYS MR90X. This is required
to increase available flash space in OpenWrt.

Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16744
(cherry picked from commit 77cc4b7127)
Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17129
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-12-10 01:08:03 +01:00
Mikhail ZhilkinandHauke Mehrtens d79a70542b arm-trusted-firmware-mediatek: add mt7986-spim-nand-ddr3 build
This commit adds mt7986-spim-nand-ddr3 build required for MERCUSYS MR90X
v1.

Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16744
(cherry picked from commit 2ea9ede7a8)
Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17129
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-12-10 01:08:03 +01:00
Hauke Mehrtens d48e499fc1 mediatek: filogic: Migrate wifi configuration device paths
The device path to the devices changed. Migrate the wifi
configurations from the old path to the new one. This is needed to
migrate Wireless configurations from OpenWrt 23.05 to OpenWrt 24.10.

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

Fixes: 0ef9274721 ("mediatek: filogic: move mt7981 on-SoC blocks to "soc" node in DT")
Fixes: https://github.com/openwrt/openwrt/issues/17174
Link: https://github.com/openwrt/openwrt/pull/17210
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit f8b93e2d12)
2024-12-10 01:06:10 +01:00
Ondřej NiesnerandHauke Mehrtens b9df2d79b6 mediatek: filogic: prevent faulty mac address assignment
The vendor U-Boot on the Cudy WR3000 assign random mac addresses on boot
and set the 'local-mac-address' property which prevents Openwrt from
assigning the correct address from evmem.

This patch removes the alias for ethernet0 so that U-Boot doesn't add
the property.

Related to: a55ab9e134 ("mediatek: filogic: prevent faulty mac address assignment")
Fixes: https://github.com/openwrt/openwrt/issues/15587
Signed-off-by: Ondřej Niesner <ondra.niesner@seznam.cz>
Link: https://github.com/openwrt/openwrt/pull/17201
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit a498a84393)
2024-12-10 01:06:10 +01:00
Eric LongandHauke Mehrtens 5afd3daeba bpftool: turn off libbfd feature in host build
libbfd feature is not used when building eBPF program, and it makes bpftool fail to build in a clean environment, since binutils in toolchain have libbfd disabled.

Signed-off-by: Eric Long <i@hack3r.moe>
Link: https://github.com/openwrt/openwrt/pull/17073
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 3d8d81883f)
2024-12-10 01:06:10 +01:00
Marty JonesandHauke Mehrtens 1eba94e67b mac80211: realtek: add RTL8812au/RTL8821au support
This adds support for RTL8812au/RTL8821au USB adapters.
Run-tested: x86/64/rockchip
USB adapters tested: Alfa AWUS036ACS, D-Link DWA-171 A1.

Signed-off-by: Marty Jones <mj8263788@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17079
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit ac8d30a645)
2024-12-10 01:06:10 +01:00
Marty JonesandHauke Mehrtens 8a4ce69eea mac80211: realtek: backport support for RTL8812AU/RTL8821AU
Backport support for RTL8812AU/RTL8821AU USB adapters
Manually backported patch:
045-v6.13-wifi-rtw88-Enable-the-new-RTL8821AU-RTL8812AU-driver
Patches from 046 to 051 are pending.

Signed-off-by: Marty Jones <mj8263788@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17079
[Move BPAUTO_WANT_DEV_COREDUMP to original patch]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 36f6d6ddcd)
2024-12-10 01:06:10 +01:00
Marty JonesandHauke Mehrtens 2b45e93113 linux-firmware: realtek: add RTL8812AU/RTL8821AU firmware
This adds firmware support for the RTL8812AU/RTL8821AU USB wireless adapters.

Signed-off-by: Marty Jones <mj8263788@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17079
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit c48a48e658)
2024-12-10 01:06:10 +01:00
Marty JonesandHauke Mehrtens 4bfe5ccd11 linux-firmware: update to 20241110
linux-firmware update to 20241110
Move WCN6750 firmware to the device-specific subdir

git log --no-merges --pretty=oneline --abbrev-commit 20241110...20241017

1dbc4cfa rtl_bt: Update RTL8852BT/RTL8852BE-VT BT USB FW to 0x04D7_63F7
8a976e23 cnm: update chips&media wave521c firmware.
3636204f mediatek MT7920: update bluetooth firmware to 20241104091246
6627b025 linux-firmware: update firmware for MT7920 WiFi device
554c4761 copy-firmware.sh: Run check_whence.py only if in a git repo
1486d9aa cirrus: cs35l56: Add firmware for Cirrus CS35L56 for various Dell laptops
c99eeb4d amdgpu: update DMCUB to v9.0.10.0 for DCN351
b6bfff1a rtw89: 8852a: update fw to v0.13.36.2
ddf25515 rtw88: Add firmware v52.14.0 for RTL8812AU
dbb219d7 i915: Update Xe2LPD DMC to v2.23
937e463b linux-firmware: update firmware for mediatek bluetooth chip (MT7925)
62ee1c4b linux-firmware: update firmware for MT7925 WiFi device
a142ad72 WHENCE: Add sof-tolg for mt8195
fe16af92  linux-firmware: Update firmware file for Intel BlazarI core
c69bd749 qcom: Add link for QCS6490 GPU firmware
f4f5689f qcom: update gpu firmwares for qcs615 chipset
a6f3ab98 cirrus: cs35l56: Update firmware for Cirrus Amps for some HP laptops
048795ee ath11k: move WCN6750 firmware to the device-specific subdir
8a7bde2c xe: Update LNL GSC to v104.0.0.1263
e0ee2f91 i915: Update MTL/ARL GSC to v102.1.15.1926
987607d6 amdgpu: DMCUB updates for various AMDGPU ASICs
f9a502ab mediatek: Add sof-tolg for mt8195
1c289f28 i915: Add Xe3LPD DMC
c2379c61 cnm: update chips&media wave521c firmware.
71f8f3e0 linux-firmware: Add firmware for Cirrus CS35L41
65c4b9b7 linux-firmware: Update firmware file for Intel BlazarU core
4f397306 Makefile: error out of 'install' if COPYOPTS is set
2f046411 check_whence.py: skip some validation if git ls-files fails
feb324e3 qcom: Add Audio firmware for X1E80100 CRD/QCPs
3d45353e amdgpu: DMCUB updates forvarious AMDGPU ASICs
c569ca45 brcm: replace NVRAM for Jetson TX1

Signed-off-by: Marty Jones <mj8263788@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17079
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 24c8f06807)
2024-12-10 01:06:10 +01:00
Robert Marko 863d1a634e qualcommax: ipq807x: add Netgear DEVICE_VARS
Add NETGEAR_BOARD_ID and NETGEAR_HW_ID to DEVICE_VARS as multiple devices
set them in their recipes, so without them being added to DEVICE_VARS then
simply the value from last recipe that gets evaluated is used and images
are generated with the wrong ID-s.

Link: https://github.com/openwrt/openwrt/pull/17203
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 1b6f7ec679)
2024-12-08 09:59:16 +01:00
Tianling Shen 50ec871dc6 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-12-08 14:20:00 +08:00
Bohdan ChubukandChristian Marangi 45f9f15512 generic: mtd: spinand: add support for FORESEE F35SQA001G
Add support for FORESEE F35SQA001G SPI NAND.

Similar to F35SQA002G, but differs in capacity.
Datasheet:
  -  https://cdn.ozdisan.com/ETicaret_Dosya/704795_871495.pdf

Tested on Xiaomi AX3000T flashed with OpenWRT.

Signed-off-by: Bohdan Chubuk <chbgdn@gmail.com>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/16915
(cherry picked from commit 1269a836ed)
Link: https://github.com/openwrt/openwrt/pull/17188
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-12-06 15:12:46 +01:00
Bohdan ChubukandChristian Marangi f483de4767 generic: mtd: spinand: add support for FORESEE F35SQA002G
Add support for FORESEE F35SQA002G SPI NAND.
Datasheet:
  https://www.longsys.com/uploads/LM-00006FORESEEF35SQA002GDatasheet_1650183701.pdf

Refresh all affected patch with make target/linux/refresh.

Signed-off-by: Martin Kurbanov <mmkurbanov@salutedevices.com>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Signed-off-by: Bohdan Chubuk <chbgdn@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16915
(cherry picked from commit 5348e2e81a)
Link: https://github.com/openwrt/openwrt/pull/17188
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-12-06 15:12:42 +01:00
Hauke Mehrtens c995dd97c7 OpenWrt v24.10.0-rc2: revert to branch defaults
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-12-03 22:24:36 +01:00
Hauke Mehrtens 66e76aa94f OpenWrt v24.10.0-rc2: adjust config defaults
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-12-03 22:24:32 +01:00
Christian Marangi ea17e958b9 build: Unconditionally append kmod feed for BuildBot
Recent changes to BuildBot config moved the kmods to a dedicated
directory and dropped them from the packages dir. This was needed as
both OPKG and APK gets confused if both entry are present.

To fix this, unconditionally append the kmod feed line if
CONFIG_BUILDBOT is enabled.

Fixes: #17146
Link: https://github.com/openwrt/openwrt/pull/17151
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 53ee2e8c03)
2024-12-03 12:41:08 +01:00
Tianling Shen 189865d080 ImmortalWrt v24.10.0-rc1: revert to branch defaults
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-12-02 18:20:23 +08:00
Tianling Shen e91303616c ImmortalWrt v24.10.0-rc1: adjust config defaults
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-12-02 18:20:23 +08:00
Tianling Shen ed4f046c35 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-12-02 18:17:58 +08:00
Hauke Mehrtens 5601274444 OpenWrt v24.10.0-rc1: revert to branch defaults
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-12-02 00:22:14 +01:00
Hauke Mehrtens 41714984df OpenWrt v24.10.0-rc1: adjust config defaults
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-12-02 00:22:08 +01:00
Tianling Shen 06513b1850 x86: update intel i915 fw package name
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-12-01 15:42:23 +08:00
Tianling Shen 260d5fbf9a Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-12-01 15:40:18 +08:00
INAGAKI HiroshiandRobert Marko d276b4c91a Revert "ath79: elecom,wab: use nvmem"
This reverts commit 70e41d0205.

"ethaddr" is stored into the "u-boot-env" (stock: "Config") partition
and it's quoted with double-quotations, but that format is not supported
by the current NVMEM u-boot-env driver (and mac_pton() function) and the
MAC address won't be parsed to byte array.
This causes random MAC addresses on the adapters, so revert the above
commit.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17116
(cherry picked from commit af611bce44)
Link: https://github.com/openwrt/openwrt/pull/17117
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-11-29 18:25:36 +01:00
Petr Štetiar c981096416 tools: ccache update to 4.10.2
Fixes since 4.10:

 * Fixed detection of Fmt version 11 and newer.
 * Fixed prefix command lookup from PATH.

Suggested-by: Jen Wolf <jenwolf@protonmail.com>
Link: https://github.com/openwrt/openwrt/pull/17105
Signed-off-by: Petr Štetiar <ynezz@true.cz>
(cherry picked from commit 08f12283c7)
2024-11-29 11:29:42 +00:00
Petr Štetiar de8a1a1e3a mediatek: filogic: Cudy WR3000S v1: fix CRLF line endings
DTS file for this device seems to be using CRLF line endings, so lets
convert them into Unix-style LF.

Fixes: faf4b3e0f7 ("mediatek: filogic: add support for Cudy WR3000S v1")
Link: https://github.com/openwrt/openwrt/pull/17096
Signed-off-by: Petr Štetiar <ynezz@true.cz>
(cherry picked from commit 30ae0b3f1e)
2024-11-29 11:29:06 +00:00
Petr Štetiar 17bdccb4a5 apk: mark package as broken to hide it by default
During the last OpenWrt developer meeting 2024-11-26 it was decided,
that 24.10 will be the last release using opkg package manager and thus
apk won't be supported, so make it explicit and mark apk package manager
as broken.

References: https://openwrt.org/meetings/20241126#release_2410
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:49:43 +00:00
Hauke MehrtensandPetr Štetiar 2c3d036fe7 config: Mark USE_APK broken
This will hide the USE_APK setting in OpenWrt 24.10 by default.

APK is not stable yet and we do not want to support it in OpenWrt 24.10 branch.

References: https://openwrt.org/meetings/20241126#release_2410
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Petr Štetiar <ynezz@true.cz> [meeting notes ref, config]
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:49:41 +00:00
Hannu NymanandPetr Štetiar 7eec852c06 gdb: Fix description for apk, remove backtick
Remove backtick from gdb description text, as that seems to
be recognized as a shell action by compilation with apk,
causing error.

Example from test buildbot:
 rstrip.sh: /builder/shared-workdir/build/sdk/build_dir/target-aarch64_generic_musl/gdb-15.2/ipkg-aarch64_generic/gdb/usr/bin/gdb: executable
 bash: -c: line 1: unexpected EOF while looking for matching ``'
 bash: -c: line 2: syntax error: unexpected end of file
 make[3]: *** [Makefile:123: /builder/shared-workdir/build/sdk/bin/packages/aarch64_generic/base/gdb-15.2-r1.apk] Error 2

Local compilation:
 rstrip.sh: /OpenWrt/aarch64/build_dir/target-aarch64_cortex-a53_musl/gdb-15.2/ipkg-aarch64_cortex-a53/gdb/usr/bin/gdb: executable
 bash: -c: line 1: unexpected EOF while looking for matching ``'
 make[2]: *** [Makefile:123: /OpenWrt/aarch64/bin/packages/aarch64_cortex-a53/base/gdb-15.2-r1.apk] Error 2

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Link: https://github.com/openwrt/openwrt/pull/16908
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit adb921c34f)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:49:39 +00:00
George OldfortandPetr Štetiar 8c616ccf24 mediatek: remove ktd-202x driver filogic image (Aer Vero W6m)
Image build fails with PR #16861 merged while PR #16860 not merged.

Removing kmod-leds-ktd202x from filogic.mk will fix the build process.

Fixes: 2898d1d126 ("mediatek: add support for Acer Predator W6d and Acer Vero W6m")
Signed-off-by: George Oldfort <openwrt@10099.de>
Link: https://github.com/openwrt/openwrt/pull/17087
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 1bdb6d8404)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:49:37 +00:00
John AudiaandPetr Štetiar 9e73f794ad kernel: enable pressure interface
PSI provides a canonical way to see resource pressure increases as
they develop, with pressure metrics for three major resources:
memory, CPU, and IO. PSI stats are like barometers that provide
fair warning of impending resource shortages, enabling users to
take more proactive, granular, and nuanced steps when resources
start becoming scarce.

References:
* https://www.kernel.org/doc/html/latest/accounting/psi.html
* https://lwn.net/Articles/759781/

Build system: x86/64
Build-tested: x86/64/AMD Cezanne, flogic/glinet_gl-mt6000
Run-tested: x86/64/AMD Cezanne, flogic/glinet_gl-mt6000

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/13819
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit eed39d45c2)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:49:35 +00:00
Mikhail ZhilkinandPetr Štetiar c312295b56 mediatek: Routerich AX3000: add OpenWrt U-Boot layout
This commit adds OpenWrt U-Boot layout support for Routerich AX3000. The
aims:
1. Get open-source U-Boot;
2. Get maximum available free space in OpenWrt.

Install
-------
1. Copy OpenWrt ubootmod-bl31-uboot.fip, ubootmod-preloader.bin, to the
   /tmp folder of the router using scp.

2. Make mtd partitions backups:
   http://192.168.1.1/cgi-bin/luci/admin/system/flash -> Save mtdblock
   contents

3. Install kmod-mtd-rw:
```
opkg update && opkg install kmod-mtd-rw
```

4. Write FIP and preloader:
```
insmod mtd-rw i_want_a_brick=1
mtd unlock BL2
mtd erase BL2
mtd write /tmp/ubootmod-preloader.bin BL2
mtd unlock FIP
mtd erase FIP
mtd write /tmp/ubootmod-bl31-uboot.fip FIP
```

5. Copy OpenWrt ubootmod-initramfs-recovery.itb to the tftp server root
   with IP 192.168.1.254.

6. Reboot router:
```
reboot
```
U-Boot will automatically download from the tftp server and boot OpenWrt
initramfs system.

7. Copy OpenWrt ubootmod-squashfs-sysupgrade.itb to the /tmp dir of the
   router using scp.

8. Run sysupgrade:
```
sysupgrade -n /tmp/squashfs-sysupgrade.itb
```

Recovery
--------
1. Place OpenWrt initramfs-recovery.itb image (with original name) on the
   tftp server (IP: 192.168.1.254).
2. Press "reset" button and power on the router. After ~10 sec release the
   button.
3. Use OpenWrt initramfs system for recovery.

BL2 and FIP recovery
--------------------
Use mtk_uartboot and UART connection if BL2 or FIP in UBI is destroyed:
Link: https://github.com/981213/mtk_uartboot

Return to stock:
----------------
1. Copy partition backups (BL2.bin and FIP.bin) to the /tmp dir of the
   router using scp.

2. Install kmod-mtd-rw:
```
opkg update && opkg install kmod-mtd-rw
```

3. Restore stock U-Boot and reboot:
```
insmod mtd-rw i_want_a_brick=1
mtd unlock BL2
mtd erase BL2
mtd write /tmp/BL2.bin BL2
mtd unlock FIP
mtd erase FIP
mtd write /tmp/FIP.bin FIP
reboot
```

4. Open U-Boot web recovery, upload stock firmware image and start
   upgrade.
Link: http://192.168.1.1

Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16791
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit d413163832)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:49:33 +00:00
Mikhail ZhilkinandPetr Štetiar ba95a01cbf uboot-mediatek: add Routerich AX3000 support
Add U-Boot replacement loader for Routerich AX3000.

Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16791
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit c0581520b1)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:49:31 +00:00
Mauri SandbergandPetr Štetiar fd7b1f60ea ramips: dna_valokuitu-plus-ex400: clean-up image creation
Code cleanup. Simplify and unify how kernel image is passed to
Build/dna-bootfs

Signed-off-by: Mauri Sandberg <maukka@ext.kapsi.fi>
Link: https://github.com/openwrt/openwrt/pull/16811
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit ec839c786c)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:49:29 +00:00
Shiji YangandPetr Štetiar 0a0950614b ramips: mt76x8: disable unused Ralink systick driver
The mt76x8 series SoCs use the MIPS generic systick timer. Sync the
upstream Ralink systick driver changes and disable it for mt76x8
target to reduce the kernel size.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/16844
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 0c57510ced)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:49:27 +00:00
Hauke MehrtensandPetr Štetiar 67269ae51e kernel: usb: kmod-usb-audio: Fix dependency
Change the dependency on the kmod-media-controller from depends to
select.

Fixes: 1095925246 ("kernel: add kmod-media-controller dependency for kmod-usb-audio")
Link: https://github.com/openwrt/openwrt/pull/17058
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit b7dd70a0d7)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:49:25 +00:00
Hauke MehrtensandPetr Štetiar 1b2adb8000 stm32: Remove unnecessary kernel options
These options are filtered out since some weeks, remove them also from
the new stm32 target.

Fixes: 851e7f77e4 ("stm32: add new stm32 target")
Link: https://github.com/openwrt/openwrt/pull/17058
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit ea2c860225)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:49:23 +00:00
Hauke MehrtensandPetr Štetiar 888e879d7f CI: labeler: Add stm32 target
Add a label for changes in the stm32 target.

Fixes: 851e7f77e4 ("stm32: add new stm32 target")
Link: https://github.com/openwrt/openwrt/pull/17058
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit eb7aa07a0e)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:49:21 +00:00
Hauke MehrtensandPetr Štetiar 2544e03d10 dropbear: bump to 2024.86
- update dropbear to latest stable 2024.86;
  for the changes see https://matt.ucc.asn.au/dropbear/CHANGES

Link: https://github.com/openwrt/openwrt/pull/17053
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit a9d3c5b4c9)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:49:19 +00:00
Hauke MehrtensandPetr Štetiar 005f086752 x86: Deactivate kernel options with extra overhead
Deactivate CONFIG_CONTEXT_TRACKING_USER_FORCE: Force user context
tracking: This is a testing feature which should not be activate in
production environments according to the Kconfig help. It adds an extra
overhead.

Deactivate CONFIG_RCU_NOCB_CPU_DEFAULT_ALL: Offload RCU callback
processing from all CPUs by default: This option should only be used in
aggressive HPC or real-time workloads which we do not have in OpenWrt.
For normal workloads it increases the number of context switches.

In the default Arch Linux kernel both options are not activated.

Fixes: 31111680f6 ("x86: switch config to a tickless kernel")
Link: https://github.com/openwrt/openwrt/pull/17057
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit ed52345445)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:49:17 +00:00
David IgnjicandPetr Štetiar 4779e954fa mediatek: filogic: add support for Cudy WR3000S v1
Hardware
--------
MediaTek MT7981 WiSoC
256MB DDR3 RAM
128MB SPI-NAND (XMC XM25QH128C)
MediaTek MT7981 2x2 DBDC 802.11ax 2T2R (2.4 / 5)
UART: 115200 8N1 3.3V

MAC:
LAN MAC: label mac
WAN MAC: label mac + 1
2.4G MAC: label mac
5G MAC: label mac + 1 with LA bit set

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

1. Connect to the serial port as described in the "Hardware" section.

2. Power on the device + press reset pin. Keep pressing reset pin to enter the U-Boot  shell.

3. Download the OpenWrt initramfs image. Place it on an TFTP server
   connected to the Cudy LAN ports. Make sure the server is reachable at
   192.168.1.88. Rename the image to "cudy3000s.bin"

4. Download and boot the OpenWrt initramfs image.

   $ tftpboot 0x46000000 cudy3000s.bin; bootm 0x46000000

5. Transfer the OpenWrt sysupgrade image to the device using scp.
   Install with sysupgrade.

Signed-off-by: David Ignjic <ignjic@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16939
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit faf4b3e0f7)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:49:15 +00:00
George OldfortandPetr Štetiar 60e21548e5 mediatek: add support for Acer Predator W6d and Acer Vero W6m
This commit adds support for two variants of the already supported router
Acer Predator Connect W6: The Acer Predator Connect W6d (W6 without 6 GHz
wifi) and the Acer Connect Vero W6m (W6 without 2.5G eth1 port, usb3 port,
and the 6 on-board gpio RGB LEDs, and with a KTD2026 RGB LED controller
instead of the KTD2061 LED controller of the W6/W6d).

The device tree for the W6m refers to the KTD202x driver suggested in
PR #16860.

Patching target/linux/mediatek/filogic/base-files/lib/upgrade/platform.sh
removes the code repetition in (old) lines 121 to 124 on the occasion.

This is the last of four commits into which the original commit was split
to make reviews easier and more targeted.

Signed-off-by: George Oldfort <openwrt@10099.de>
Link: https://github.com/openwrt/openwrt/pull/16861
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 2898d1d126)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:49:13 +00:00
George OldfortandPetr Štetiar d491100f01 mediatek: improve device tree for Acer Predator Connect W6
In order to prepare for OpenWrt support other Acer W6 devices and to get
a step further to full hardware support for Acer Predator Connect W6, this
commit
- adjusts the product name ("Acer Predator Connect W6")
- updates gpio LED labels to function/color scheme
- show router status by using first rgb led instead of it's red color only
  (blue: booting/failsafe mode; red: sysupgrade; green: running – was: red)
- changes switch/eth1 led configuration to reflect RX/TX activity and speed
  (green: full 1Gbps/2.5Gbps speed; amber: lower speed; blink: RX/TX)
- shortens dummy dm-mod.create string in bootargs
- enables W6's i2c interface

This is the third of four commits into which the original commit was split
to make reviews easier and more targeted.

Signed-off-by: George Oldfort <openwrt@10099.de>
Link: https://github.com/openwrt/openwrt/pull/16861
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit d42075dcef)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:49:11 +00:00
George OldfortandPetr Štetiar fd0f608d66 mediatek: make use of Acer Predator Connect W6's u-boot environment
In order to prepare OpenWrt support for other Acer W6 devices and to adapt
the procedure to read and set mac addresses which other devices of the same
target are using (instead of needing an additional script and creating an
additional structure in the file system), this commit
- reads device mac addresses from u-boot environment
- avoids the detour via the file system to set the mac addresses
- drops redundant file /lib/preinit/05_extract_factory_data.sh

The idea and the implementation were thankfully taken from PR #16410.

This is the second of four commits into which the original commit was split
to make reviews easier and more targeted.

Signed-off-by: George Oldfort <openwrt@10099.de>
Link: https://github.com/openwrt/openwrt/pull/16861
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit e7aaba2587)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:49:09 +00:00
George OldfortandPetr Štetiar a07c241b81 mediatek: split Acer/W6 dts into W6 common dtsi and device specific dts
In order to prepare OpenWrt support for other Acer W6 devices, this commit
moves all device tree components that are used by all Acer W6/W6e/W6d/W6m
routers from mt7986a-acer-predator-w6.dts to mt7986a-acer-w6-common.dtsi
(new file) and includes this dtsi file in mt7986a-acer-predator-w6.dts.

Minor changes had to be made to the device tree in order to improve clarity
and – notably – to reduce the number of dtc warnings:
- replace (obviously wrong) led@<N> gpio led entities by led-<N>
- remove unnecessary (default-state = "off") gpio led statements
- rename entity “memory” to “memory@0”
- add missing #address-cells and #address-size in /soc/mmc@11230000
- add missing #address-cells and #address-size in /soc/pcie@11280000
- introduce symbols “nvmem” and “swport0” in dtsi (referenced in dts)

The changes were checked with `diff -BEZbdtwy --suppress-common-lines ...`
(comparing two dts files created using old and new fdt-1 blobs again), see
https://github.com/openwrt/openwrt/pull/16861/#issuecomment-2455680020 .

This is the first of four commits into which the original commit was split
to make reviews easier and more targeted.

Signed-off-by: George Oldfort <openwrt@10099.de>
Link: https://github.com/openwrt/openwrt/pull/16861
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit ce3b36b3d5)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:49:07 +00:00
Joerg BayerandPetr Štetiar 25973eab22 linux-firmware: Add support for Intel AX411
Add support for Intel AX411 CNVio2 device.

Signed-off-by: Joerg Bayer <sg-o@live.de>
Link: https://github.com/openwrt/openwrt/pull/15153
[squashed and updated commit description, update to version 89]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit c89ed7acc8)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:49:05 +00:00
Tim NoackandPetr Štetiar 0b4d831886 ath79: add support for TP-Link CPE710-v2
TP-Link CPE710-v2 is an outdoor wireless CPE for 5 GHz with one Ethernet
port based on the AP152 reference board. Compared to the CPE710-v1, the
only change observed in hardware is that the mdio address of the ethernet
physical changed from 0x4 to 0x0.

Specifications:
- SoC: QCA9563-AL3A MIPS 74kc @ 775MHz, AHB @ 258MHz
- RAM: 128MiB DDR2 @ 650MHz
- Flash: 16MiB SPI NOR Based on the GD25Q128
- Wi-Fi 5Ghz: ath10k chip (802.11ac for up to 867Mbps on 5GHz wireless
  data rate), based on the QCA9896
- Ethernet: one 1GbE port
- 23dBi high-gain directional 2×2 MIMO parabolic antenna
- Power, LAN, WLAN5G Blue LEDs

Flashing instructions:
Flash factory image through stock firmware WEB UI or through TFTP
To get to TFTP recovery just hold reset button while powering on for around
30-40 seconds and release.
Rename factory image to recovery.bin
Stock TFTP server IP:192.168.0.100
Stock device TFTP address:192.168.0.254

Signed-off-by: Tim Noack <tim@noack.id>
Link: https://github.com/openwrt/openwrt/pull/16637
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 5572e0196a)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:49:03 +00:00
Tim NoackandPetr Štetiar 1e0f790d23 ath79: refactor dts of TP-Link CPE710-v1
This is done in preparation of adding support for the CPE710-v2,
which uses a similiar device tree.

Signed-off-by: Tim Noack <tim@noack.id>
Link: https://github.com/openwrt/openwrt/pull/16637
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 832cc8ce04)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:49:01 +00:00
Vaclav SvobodaandPetr Štetiar 50ee6adc5a ramips: mt76x8: Add support for Zbtlink ZBT-WE2426-B
The Zbtlink ZBT-WE2426-B is an indoor dual band WiFi router
with 4 external non detachable antennas and 5 Fast Ethernet ports.

Hardware of ZBT-WE2426-B:
- SoC: MT7628AN
- RAM: 64 MB (Winbond W9751G6K8-25)
- Storage: 8 MB SPI flash (S25FL064K)
- Ethernet: 5x 10/100 Mbps LAN1,LAN2,LAN3,LAN4 & WAN
- Wireless: 2.4GHz: on SoC (802.11b/g/n)
- Wireless: 5GHz: Mediatek MT7612EN (802.11n/ac)
- LEDs: 8x
- Buttons: 1x reset
- USB: 1x 2.0
- MicroSD slot: 1x
- Power: 9 VDC, 1 A
- Uart: GND TX RX PWR - J1 on the PCB
- Board silkscreen: "ZBT-WE2426-C V04" "2018-02-28" "CTT" "13 18"

Backup the stock firmware, settings and calibration data:
This router comes with PandoraBox OpenWrt firmware, so it is
possible to get all MTD partitions using scp.

Installation:
- Using the bootloader web server. Hold the reset button while turning
  the power on. Upload the sysupgrade image on http://192.168.1.1.
- Using the sysupgrade command in PandoraBox OpenWrt.

LEDs:
- LAN1,LAN2,LAN3,LAN4,WAN,WLAN2G use GPIO pins of the MT7628AN SoC
  (GPIOs 43,42,41,40,39,44)
- WLAN5G uses pin of MT7612EN.
- The POWER LED is directly connected to the VCC. It can be reconnected to
  the GPIO 37 of the MT7628AN SoC by resoldering SMD resistor on the PCB.

Buttons:
- The RESET button is connected to the GPIO 38 of the MT7628AN SoC.

MAC addresses as verified by OEM firmware:
use   address   source
2g    *:b0      factory 0x4 (label)
5g    *:b1      factory 0x8004
LAN   *:b2      factory 0x28
WAN   *:b3      factory 0x2e

Signed-off-by: Vaclav Svoboda <svoboda@neng.cz>
Link: https://github.com/openwrt/openwrt/pull/16927
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 3a9752ea02)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:48:59 +00:00
Rosen PenevandPetr Štetiar 1b513604c3 mvebu: devm for mutex_init
It's common to avoid calling mutex_destroy when done. It's not correct
strictly speaking.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16753
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 6280b4abfb)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:48:57 +00:00
Rosen PenevandPetr Štetiar 35b7bbf355 mxs: run kernel_oldconfig
small change.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16913
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 55644397cd)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:48:55 +00:00
Antonio PastorandPetr Štetiar b2f3713801 kernel: modules: appletalk: add for Netatalk v4
Netatalk v4 reintroduces AppleTalk and this module is required for
layer 3 protocol support.

Module was removed in kernel 4.14 for OpenWrt 18.06 (commmit
14a0131, 22/02/2018). At the time nothing used it as Netatalk v3
did not support AppleTalk.

Not building ipddp feature/module like it was in the past, as
recommended by upstream Netatalk maintainers.

Signed-off-by: Antonio Pastor <antonio.pastor@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16979
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 5eb25dddb1)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:48:53 +00:00
Thomas RichardandPetr Štetiar 58f4667a37 stm32: add new stm32 target
New stm32 target introduces support for stm32mp1 based devices.
For now it includes an initial support of the STM32MP135F-DK device.
The specifications bellow only list supported features.

Specifications
--------------

SOC: STM32MP135FAF7
RAM: 512 MiB
Storage: SD Card
Ethernet: 2x 100 Mbps
Wireless: 2.4GHz Cypress CYW43455 (802.11b/g/n)
LEDs: Heartbeat (Blue)
Buttons: 1x Reset, 1x User (USER2)
USB: 4x 2.0 Type-A

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/16716
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 851e7f77e4)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:48:51 +00:00
Thomas RichardandPetr Štetiar 4eb85c47bd kernel: package v4l2-async and v4l2-fwnode drivers
These packages are needed for the stm32/stm32mp1 subtarget.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/16716
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit e109831e07)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:48:49 +00:00
Thomas RichardandPetr Štetiar e654d55446 kernel: add kmod-media-controller dependency for kmod-usb-audio
The snd-usb-audio drivers uses media controller if media controller is set.
So add kmod-media-controller as dependency.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/16716
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 1095925246)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:48:48 +00:00
Thomas RichardandPetr Štetiar c584683a7f kernel: package media controller driver
It is needed for the stm32/stm32mp1 subtarget.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/16716
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit bb3418f21f)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:48:46 +00:00
Thomas RichardandPetr Štetiar 27afd9e1ca kernel: package industrialio-buffer-cb driver
It is needed for the stm32/stm32mp1 subtarget.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/16716
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit b0adf5e0fd)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:48:44 +00:00
Thomas RichardandPetr Štetiar 2f99171de3 kernel: package crypto_engine driver
It is needed for the stm32/stm32mp1 subtarget.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/16716
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 7bcc68ede3)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:48:42 +00:00
Thomas RichardandPetr Štetiar 0f301db3ff kernel: unset CONFIG_DEVFREQ_THERMAL in kmod-thermal package
It is needed for the stm32/stm32mp1 subtarget.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/16716
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 6b9df468f0)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:48:40 +00:00
Thomas RichardandPetr Štetiar 2950e189ce kernel: package snd-soc-dmic driver
It is needed for the stm32/stm32mp1 subtarget.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/16716
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit e606366a2e)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:48:38 +00:00
Thomas RichardandPetr Štetiar 956bb0c2a4 kernel: package industrialio-hw-consumer driver
It is needed for the stm32/stm32mp1 subtarget.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/16716
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit ff96bd84ce)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:48:36 +00:00
Thomas RichardandPetr Štetiar 72bf1db35c murata-nvram: add new package
This package contains nvram files for Murata's Wi-Fi/Bluetooth modules.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/16716
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit be937952fd)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:48:34 +00:00
Thomas RichardandPetr Štetiar c3db0cca0f murata-firmware: add new package
This package contains firmwares provided by Murata.
See https://community.murata.com/.

Murata firmwares are used by wifi chip on stm32 boards.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/16716
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 960f5f94d7)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:48:32 +00:00
Thomas RichardandPetr Štetiar 911b25d618 mac80211: enable CONFIG_BRCMFMAC_SDIO for stm32
All stm32 devices use BCM43430 Wi-Fi interface in SDIO mode.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/16716
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 456e0aad97)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:48:30 +00:00
Thomas RichardandPetr Štetiar d921c2db0b arm-trusted-firmware-stm32: add ATF for stm32 boards
Add ATF for stm32 boards, with the first being STM32MP135F-DK.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/16716
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 08dcb73c8d)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:48:28 +00:00
Thomas RichardandPetr Štetiar fd9de585d7 uboot-stm32: add U-Boot for stm32 boards
Add U-Boot for stm32 boards, with the first being STM32MP135F-DK.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/16716
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit ac79ad0757)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:48:26 +00:00
Thomas RichardandPetr Štetiar c93e7700d4 optee-os-stm32: add OP-TEE for stm32 boards
Add OP-TEE for stm32 boards, with the first being STM32MP135F-DK.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/16716
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit fae25d4001)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:48:24 +00:00
Thomas RichardandPetr Štetiar 480aed0c72 build: add generic build template for optee-os packages
Add a generic template include/optee-os.mk to build OP-TEE.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/16716
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit dedb90e8f8)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:48:22 +00:00
Romanov DanilaandPetr Štetiar fb4088cdec mediatek: change Routerich AX3000 ubi size
All new routers are shipped with ubi size 112MB since early September.
Bootloader update required (ask vendor , see wiki)

These partitions weren't used:
firmware_backup
zrsave
config2

Signed-off-by: Romanov Danila <pervokur@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16686
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit d8a9669093)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:48:20 +00:00
Til KaiserandPetr Štetiar 8eb07120a2 x86: add all ports to the Gowin 1U default network config
Commit e52c57bb1b renamed all
network ports to match the faceplate of the Gowin 1U Rack
Mount Server and added the br-lan bridge for the eth* ports.

This commit adds the PoE port to the br-lan bridge and a
br-wan bridge for the two SFP ports so that all ports are
part of the default network configuration.

Signed-off-by: Til Kaiser <mail@tk154.de>
Link: https://github.com/openwrt/openwrt/pull/16965
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 75af6a0d73)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:48:18 +00:00
Shiji YangandPetr Štetiar 2d3ad35537 ramips: sync upstream Ralink clock patches
1. Add sdhc clock for MT7620 and MT76x8 SoCs.
2. Fix clock driver warning for RT2880, RT305x and RT3883.

Link: https://lore.kernel.org/all/20240910044024.120009-1-sergio.paracuellos@gmail.com/
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/17037
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 7bb99bca3d)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:48:16 +00:00
Robert MarkoandPetr Štetiar 7a945bf88b Revert "mediatek: fix pwn fan settings for sinovoip bpi-r3"
This reverts commit 3467ea905b.

I merged it by accident.

Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 52b6c92479)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:48:14 +00:00
Mikhail KshevetskiyandPetr Štetiar f93bba30d7 mediatek: fix pwn fan settings for sinovoip bpi-r3
Popular bpi-r3 pwm fans like this one

  https://www.amazon.com/youyeetoo-Barebone-Fan-BPI-R3-Integrated/dp/B0CCCTY8PS

will not work properly with current openwrt-23.05/24.10 firmware.
Trying different pwm setting

  echo $value > /sys/devices/platform/pwm-fan/hwmon/hwmon1/pwm1

I found:

  pwm1 value     fan rotation speed   cpu temperature     notes
  -----------------------------------------------------------------
    0            maximal              31.5 Celsius        too noisy
   40            optimal              35.2 Celsius        no noise hearable
   95            minimal
   above 95      does not rotate      55.5 Celsius
  -----------------------------------------------------------------

At the moment we have following cooling levels:

  cooling-levels = <255 96 0>;

for cpu-active-high, cpu-active-medium and cpu-active-low modes correspondingly.
Thus only cpu-active-high and cpu-active-low are usable. I think this is wrong.

This patch fixes cpu-active-medium settings for bpi-r3 board.

PS: I know, the patch is not ideal as it can break pwm fan for some users.
    There are some peoples that use handmade cooling solutions, but:
      * discussed cooler is the only 'official' pwm cooler for bpi-r3
        available on the market.
      * most peoples will use passive cooling available on the market or
        the discussed cooler.
      * the pwm-fan dts section was added before the official cooler
        appears on the market.
    Thus it should not be a lot of harm from this fix.

Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16974
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 3467ea905b)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:48:12 +00:00
Rosen PenevandPetr Štetiar 77de80d9db mpc85xx: p2020: add missing symbols
Since kernel_oldconfig doesn't work properly with it, I ran that first
and then moved all the config symbols to config-6.6 and found the
differences.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16847
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 22664498eb)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:48:10 +00:00
Rosen PenevandPetr Štetiar b17413117d mpc85xx: p1020: add missing symbols
Since kernel_oldconfig doesn't work properly with it, I ran that first
and then moved all the config symbols to config-6.6 and found the
differences.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16847
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit bec8edb6d6)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:48:08 +00:00
Rosen PenevandPetr Štetiar ac2d91329e mpc85xx: p1010: add missing symbols
Since kernel_oldconfig doesn't work properly with it, I ran that first
and then moved all the config symbols to config-6.6 and found the
differences.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16847
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit e9dd6da916)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:48:06 +00:00
Rosen PenevandPetr Štetiar 7afbe22599 mpc85xx: run make kernel_oldconfig
Adjusts the default config to modern kernels.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16847
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 890d47b60a)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:48:04 +00:00
He PingandPetr Štetiar 9a09c54449 odhcp6c: update to Git HEAD (2024-09-25)
b6ae9ffaeb0e odhcp6c: allow to request specific ipv6 prefix

Signed-off-by: He Ping <pinghejk@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17013
Signed-off-by: Petr Štetiar <ynezz@true.cz> [hash, commit]
(cherry picked from commit b0312c1081)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:48:02 +00:00
Robert MarkoandPetr Štetiar 57ac0965cf omnia-eeprom: depend only on subtarget
Now that omnia-eeprom is marked nonshared building the cortex-a9 mvebu
subtarget will fail with:
ERROR: unable to select packages:
  omnia-eeprom (no such package):
    required by: world[omnia-eeprom]

This is because omnia-eeprom depends on TARGET_mvebu_cortexa9_DEVICE_cznic_turris-omnia
which will not be satisfied in buildbots since CONFIG_TARGET_ALL_PROFILES
and CONFIG_TARGET_PER_DEVICE_ROOTFS are set in which case
CONFIG_TARGET_mvebu_cortexa9_DEVICE_cznic_turris-omnia is not set.

So, lets simply depend on the mvebu/cortex-a9 subtarget.

Fixes: 371e7bef40 ("omnia-eeprom: Mark it nonshared")
Link: https://github.com/openwrt/openwrt/pull/17007
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 90de3b277b)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:48:00 +00:00
Robert MarkoandPetr Štetiar 69eecbef91 generic: add CONFIG_FB_INTEL
CONFIG_FB_INTEL is now visible on x86 since i915 driver is packaged as kmod
now and it stops compilation, so add it to the generic config.

Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 57daea682e)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:47:58 +00:00
Sergey PonomarevandPetr Štetiar 908975850d dropbear: use config_get_bool enable
The config_get_bool also works with on/off, yes/no, true/false.
Add 'main' section name. This will make it easier to change settings from uci.
Add a link to documentation.

Signed-off-by: Sergey Ponomarev <stokito@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/15579
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 4511fa4b30)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:47:56 +00:00
Rosen PenevandPetr Štetiar 7142e35777 kernel: filter out compiler opts from config
These get dynamically set based on compiler version. Not relevant for
targets.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16770
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit cd92cbddf8)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:47:54 +00:00
Rosen PenevandPetr Štetiar 4b9739a0f1 kernel: remove GCC11_NO_ARRAY_BOUNDS
This symbol is no longer present.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16770
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit da8abd4a1e)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:47:52 +00:00
Mieczyslaw NalewajandPetr Štetiar 2884aded40 kernel: move CONFIG_INTEL_MEI settings to target generic
Move settings CONFIG_INTEL_MEI_GSC_PROXY, CONFIG_INTEL_MEI_HDCP
and CONFIG_INTEL_MEI_PXP to target generic.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/16971
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 84665993d6)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:47:50 +00:00
Hauke MehrtensandPetr Štetiar dae203bd94 omnia-eeprom: Mark it nonshared
This tool was build in the phase 2 build, there the
TARGET_mvebu_cortexa9_DEVICE_cznic_turris-omnia dependecy was probably
not meat. Mark it as non shared to build it together with the target
where this option is set.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Link: https://github.com/openwrt/openwrt/pull/16975
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 371e7bef40)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:47:48 +00:00
Mieczyslaw NalewajandPetr Štetiar abf78dd5d8 kernel: disable drm-i915 module for x86/geode
Disable drm-i915 module for target x86/geode.

Fixes: 77cfe8f ("x86: make i915 as a kmod with required firmware")
Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/16977
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 226f74badd)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:47:46 +00:00
Rodrigo BalerdiandPetr Štetiar 05989f69d8 ipq807x: delete unused legacy eMMC sysupgrade code
All ipq807x devices that were using the legacy 'mmc_do_upgrade' eMMC
sysupgrade code were ported to the replacement 'emmc_do_upgrade' code.

Signed-off-by: Rodrigo Balerdi <lanchon@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16505
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 491121288e)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:47:44 +00:00
Rodrigo BalerdiandPetr Štetiar b1c01cd4b5 ipq807x: order devices alphabetically
Alphabetically sort devices in platform.sh

Signed-off-by: Rodrigo Balerdi <lanchon@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16505
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 17f84bba44)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:47:42 +00:00
Rodrigo BalerdiandPetr Štetiar 16eb043062 ipq807x: prpl haze & qnap 301w: use the standard eMMC sysupgrade code
Note that the old ad-hoc method did not explicitly align backup data
to 64 KiB boundaries.

Also note that the qnap 301w has a 'rootfs_data' partition in the eMMC
that is being ignored by fstools during boot, presumably due to a bug.
This is why the partition is also ignored in the sysupgrade code and
there is no definition of CI_DATAPART="rootfs_data".

Signed-off-by: Rodrigo Balerdi <lanchon@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16505
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit fe481c9c47)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:47:40 +00:00
Rodrigo BalerdiandPetr Štetiar 1eade612f9 ipq807x: nbg7815: use the standard eMMC sysupgrade code
Note that the old ad-hoc method did not explicitly align backup data
to 64 KiB boundaries.

Signed-off-by: Rodrigo Balerdi <lanchon@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16505
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 5583d23189)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:47:38 +00:00
Ryan KeaneandPetr Štetiar 9591c1631d elfutils: Backport some patches to fix errors
On aarch64 musl gcc 14.x compiler, trying compiling elfutils 0.192 with
lto option enabled will cause null-dereference error.
Example error message:

...
elf_compress.c: In function 'elf_compress':
elf_compress.c:675:26: error: potential null pointer dereference [-Werror=null-dereference]
  675 |           shdr->sh_flags |= SHF_COMPRESSED;
      |                          ^
elf_compress_gnu.c: In function 'elf_compress_gnu':
elf_compress_gnu.c:127:25: error: potential null pointer dereference [-Werror=null-dereference]
  127 |           shdr->sh_size = new_size;
      |                         ^                      ^
...

This is a false postive warning but will abort compilation if gcc has
`-Werror` flag. This commit add a patch for this, see the bugzilla
report below.

This commit backports a series of patches to fix some errors.

Add patch:
- 007-add-libeu-symbols-to-libelf.patch
- 008-fix-autoconf-ENABLE_IMA_VERIFICATION.patch
- 009-fix-null-dereference-with-lto.patch

Link: https://sourceware.org/bugzilla/show_bug.cgi?id=32311
Signed-off-by: Ryan Keane <the.ra2.ifv@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16886
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit afffcd09e5)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:47:36 +00:00
Ryan KeaneandPetr Štetiar d5e45df9c2 elfutils: Add mirrors.kernel.org as mirrror
Add mirrors.kernel.org as mirror, listed on sourceware mirror sites
page.

Link: https://sourceware.org/mirrors.html
Signed-off-by: Ryan Keane <the.ra2.ifv@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16886
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 63caa2b168)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:47:35 +00:00
Ryan KeaneandPetr Štetiar 4166aaf98a elfutils: Update to 0.192
Add a patch still under review to fix some errors.

Refresh patch:
- 003-libintl-compatibility.patch
- 005-build_only_libs.patch
- 006-Fix-build-on-aarch64-musl.patch

Add patch:
- 102-fix-potential-deref-of-null-error.patch

Release notes are in the link below.

Link: https://inbox.sourceware.org/elfutils-devel/CAJDtP-T3+gXqHWp3T0mejWWbPr0_1tHetEXwfB67-o+zz7ShiA@mail.gmail.com/T/#u
Signed-off-by: Ryan Keane <the.ra2.ifv@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16886
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit f5132df69d)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:47:33 +00:00
Markus StockhausenandPetr Štetiar d4a26ffd1a realtek: align kernel config with upstream
Since the start of the Realtek target OpenWrt works with RTL83XX as the
target architecture. Upstream is using MACH_REALTEK_RTL instead. To
simplify further development align that.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/16963
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 65964c42f8)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:47:31 +00:00
Jeronimo PellegriniandPetr Štetiar 994a95584a libreadlne: create symlinks for .so
Currently, libreadline only installs

```
 /usr/lib/libhistory.so.8 -> libhistory.so.8.2
 /usr/lib/libhistory.so.8.2
 /usr/lib/libreadline.so.8 -> libreadline.so.8.2
 /usr/lib/libreadline.so.8.2
```

But there is no `libreadline.so` or `libhistory.so` available.

So this happens:

```
root@OpenWRT:~# cat a.c
int main() {
}
root@OpenWRT:~# gcc a.c -lreadline
/usr/bin/ld: cannot find -lreadline: No such file or directory
collect2: error: ld returned 1 exit status
```

Unless, of course, one uses `-l:libreadline.so.8`... But that
doesn't help with binaries that try to dynamically open

`libreadline.so`. I have one of those here (the STklos Scheme
compiler -- I didn't make a PR for it because it's far from
being ready, but one issue is that it does use dlopen to use
readline...)

With the symlink, it works:

```
root@OpenWRT:~# ln -s /usr/lib/libreadline.so.8 /usr/lib/libreadline.so
root@OpenWRT:~#
root@OpenWRT:~# gcc a.c -lreadline
root@OpenWRT:~#
```

Another example: when trying to package rlwrap, the build failed
complaining it could not find readline (using `-lreadline`).
It would then be necessary to change rlwrap's `configure.ac`
(and also in all packages that use readline), but it seems
simpler to add the symlinks...

This PR changes the Makefile so it will include the links.

Signed-off-by: Jeronimo Pellegrini <j_p@aleph0.info>
Link: https://github.com/openwrt/openwrt/pull/16445
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 0000ba6ab8)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:47:29 +00:00
John AudiaandPetr Štetiar 4c22224bcc x86: switch config to a tickless kernel
This commit fixes and closes #16313.

Switch the x86 kernel's timer to tickless operation which is
more power efficient since it is not woken up by periodic timer
interrupts when idle.  Also add several other options for CPU
idle governors particularly the upstream default for tickless
kernels, CONFIG_CPU_IDLE_GOV_MENU. Without this commit, my AMD
Ryzen 7 5800U can only achieve a minimum core frequency of 1,384
MHz which is over 3x higher than the processor's minimum
frequency of 400 MHz which is accessible with this modification.
In addition to the lower clock rate, I have seen a concomitant
reduction in both idle temps and at-the-wall power consumption.

Summary:
* Idle CPU freqs dropped from 1,384 MHz to 400 Mhz.
* Idle power consumption dropped from 7 W avg to 5 W.
* Idle temps have dropped from 50C on avg to 43C.

There are other well known reasons to switch to a tickless
timer including: reduced interrupt overhead, better use of CPU
resources, and reduced latency to name a few.

Build system: x86/64
Build-tested: x86/64/AMD Cezanne
Run-tested: x86/64/AMD Cezanne

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/16317
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 31111680f6)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:47:27 +00:00
Shiji YangandPetr Štetiar be082a7c7e ppp: remove more unnecessary kernel checks
The ppp package can support all features since Linux 4.7.0 kernel.
Therefore, most kernel version checks can pass unconditionally on
OpenWrt v18.06 and later version. This patch can reduce the size
of ppp package by approximately 2.5 KB.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/16695
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 3dbe730080)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:47:25 +00:00
Hauke MehrtensandPetr Štetiar 7d4be068da base-files: Mount debugfs and pstore with nosuid,nodev,noexec
These permissions are not needed. Systemd also mounts these file systems
without these permissions on other Linux distributions.

Dropping these permissions should make the system more secure.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Link: https://github.com/openwrt/openwrt/pull/16960
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit b88d51898d)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:47:23 +00:00
Hauke MehrtensandPetr Štetiar 71d60c6983 base-files: Create /run and /run/lock folder
Create the folder /run and /run/lock using symlinks. Other Linux
distributions also have these folders and some applications might already
depend on them. Just create symlinks pointing to the older folder.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Link: https://github.com/openwrt/openwrt/pull/16961
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 3b710375dd)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:47:21 +00:00
Joe ZhengandPetr Štetiar 756c955a9c x86: make i915 as a kmod with required firmware
i915 driver requires to load correct firmware to work on latest x86
GPU, it is more reasonable to make it as a kernel module, so that
initramfs is not required, and it can also save some space from the
kernel image comparing being a built-in driver

Signed-off-by: Joe Zheng <joe.zheng@intel.com>
Link: https://github.com/openwrt/openwrt/pull/16276
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 77cfe8fd15)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:47:19 +00:00
Joe ZhengandPetr Štetiar f59c665660 linux-firmware: rename packages for i915 firmware
Change the package name from intel-igpu-firmware-* to i915-firmware-*,
the prefix "intel-igpu" is misleading, i915 firmware is not only for
iGPU but also for dGPU now.

Remove the redundant "intel" as i915 is already well known.

More accurate file classification to handle following files correctly:

  adlp_dmc.bin
  mtl_huc.bin
  mtl_huc_gsc.bin
  mtl_gsc_1.bin

The pattern in regex is "([[:alnum:]]+)_([[:alnum:]]+)(_[\w-.]+)?\.bin",
where $1 is the platform, $2 is the firmware type (dmc, guc, huc, etc.),
and the optional $3 which is revision or other suffix.

Glob first to narrow down the target file set, and then split with "_"
to extract the firmware type (remove the ".bin" in case there is no $3)

Add package "i915-firmware" as a meta package to install all the i915
firmwares, it is a balance between simplicity and optimization.

* Installing all the available firmwares as a whole, can support all the
  platforms, not only the current one but also the future ones. The
  price to pay is the increased size.
* If we want to minimize the storage, we can customize to install the
  necessary ones only, even for the target platform only (e.g. ADL) and
  skip the others. The price to pay is the time to tune.

What I am going to do is:

* Let drm-i915 driver depend on i915-firmware-dmc, which is small and
  can cover most of the old platforms
* Let the user select i915-firmware to install all the i915 firmwares as
  a whole to cover the latest or future platforms

Signed-off-by: Joe Zheng <joe.zheng@intel.com>
Link: https://github.com/openwrt/openwrt/pull/16276
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit ca00bafd7e)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:47:17 +00:00
Marek BehúnandPetr Štetiar 77af73050c utils: Add the omnia-eeprom utility
Add a new utility, `omnia-eeprom`, which can be used to print / set
EEPROM fields on Turris Omnia.

One example when this utility might be useful is if the board
experiences random crashes due to newer versions of the DDR training
algorithm in newer U-Boot. The user can change the DDR speed from 1600K
to 1333H to solve these issues, with

  ```
  omnia-eeprom set ddr_speed 1333H
  ```

Signed-off-by: Marek Behún <kabel@kernel.org>
Link: https://github.com/openwrt/openwrt/pull/16264
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 749a43325b)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:47:15 +00:00
Enrico MiosoandPetr Štetiar f2a40e1117 mediatek: filogic: add support for GatoNetworks GDSP
The GatoNetworks GDSP is a re-branded version of the R5000 5G Industrial
router from Yinghua Technologies.
The re-branded device comes with OpenWrt preinstalled, and an OpenWrt-based
U-Boot bootloader version. While the flash layout has been kept compatible
with the OpenWrt version found on the stock device (see [5]), the image format
changed, making a bootloader upgrade necessary.

Specifications:
SoC: Mediatek MT7981BA
RAM: 256MB
Flash: SPI-NOR 32 MiB (Winbond W25Q256)
WLAN: MT7976CN DBDC AX Wi-Fi
Switch: MT7531AE (4x LAN Gigabit ports, 1x WAN Gigabit port)
5G: Quectel RM520N modem
Watchdog: an external WDT connected to GPIO 6 is present and always running;
          the built-in Mediatek watchdog is also present and effective, but
          not used at the moment.

This porting has been tested only with 1x 5G modems installed (the device
supports up to two).

Installation:
Installation is possible via sysupgrade both in the stock device and
re-branded version. However, in the former case, updating the bootloader is
required.

OpenWrt-based U-Boot Bootloader installation
--------------------------------------------
The firmware flashed in the re-branded device at manifacturing time will
flash an OpenWrt-based U-Boot bootloader with some extra recovery features
(see [1]) at first boot.
To update the bootloader, you need to install the mtd-rw module and
insmod it:

insmod mtd-rw i_want_a_brick=1

Then update relevant flash partitions:

mtd erase u-boot-env
mtd erase BL2
mtd erase FIP
mtd write openwrt-mediatek-filogic-gatonetworks_gdsp-preloader.bin BL2
mtd write openwrt-mediatek-filogic-gatonetworks_gdsp-bl31-uboot.fip FIP

And reboot, making sure all previous commands ran succesfully.
If something goes wrong, you can recover your device via the mtk_uartboot
tool.
In my testing, it was possible to start the process even without (un)-plugging
the device, may be handy for remote recovery.

Installation from stock device and firmware
-------------------------------------------
To install vanilla OpenWrt in the stock device (R5000 5G Industrial router
from Yinghua Technologies) running the stock vendor firmware, you will need
to update your bootloader as described in previous section. Remember to use
-F (force upgrade) and -n (not keeping settings).

U-Boot Recovery
---------------
This procedure has been tested only with the OpenWrt-based U-boot bootloader.
Assign your system static IP address 192.168.1.1 and start a TFTP server. The
device will look for an initramfs image named
openwrt-mediatek-filogic-gatonetworks_gdsp-initramfs-kernel.bin
(so you may use openwrt/bin/targets/mediatek/filogic as root dir for your
TFTP server).
Power on the device while keeping the reset button pressed, until you see
a TFTP request from 192.168.1.10. Your environment will be restored to it's
default state.

MAC addresses assignment
------------------------
MAC addresses are assigned slightly differently than in stock firmware. In
particular, the 5 GHz Wi-Fi uses 2.4 GHZ MAC + 1, rather than reusing it with
LA bit set as done in stock firmware. This MAC address is allocated to the
device, so it can be used.
The 2.4 GHz Wi-Fi MAC address is the label MAC. LAN MAC is used to set the
special U-Boot environment ethaddr variable.

device					MAC address		U-Boot env variable		factory partition offset
2.4 GHz Wi-Fi		:84						wifi_mac							0x4
5.8 GHz Wi-Fi		:85						not present						not present
WAN							:86						wan_mac								0x24
LAN							:87						lan_mac								0x2A

Notes
-----
[1]: the OpenWrt-based U-Boot bootloader you will find installed in the
re-branded device is configured to request for the initramfs image via
TFTP for $gdsp_tftp_tries times before trying normal boot from NOR flash.
Setting this U-Boot environment variable to 0x0 will disable the feature,
which is not implemented in this patch.
[2]: the exposed UART port is connected to ttyS1; the ttyS0 console port is
not exposed.
[3]: the provided bootloader environment has no provision for operating on
BL2 and the FIP partitions. This is an intentional choice to make it
(slightly) more difficult to brick the device.
[4]: it seems GPIO 6 is used both for the "SYS" LED and external WDT.
[5] BL2 expects to find FIP payload at a fixed offset, so some constraints
apply.

Signed-off-by: Enrico Mioso <mrkiko.rs@gmail.com>
(cherry picked from commit b43194e041)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:47:13 +00:00
Enrico MiosoandPetr Štetiar 7d9fc260a1 uboot-envtools: add support for GatoNetworks GDSP
This configuration should work with both stock and OpenWrt-based U-Boot.

Signed-off-by: Enrico Mioso <mrkiko.rs@gmail.com>
(cherry picked from commit 785ebf2baf)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:47:11 +00:00
Enrico MiosoandPetr Štetiar 2226546e1c uboot-mediatek: add support for GatoNetworks GDSP
The GatoNetworks GDSP is a re-branded version of the R5000 5G Industrial
router from Yinghua Technologies.

Advantages over stock bootloader:
1. supports serving the external GPIO WDT, allowing for easier work in U-Boot
   shell
2. supports cool features like netconsole, easy recovery, scripting and so on
3. allows using FIT image and image integrity validation

and ultimately gives you much more flexibility to implement your tweaks.

Known issues
------------
To make it easier to operate the device, console I/O multiplexing support has
been enabled in U-Boot configuration. Setting I/O related U-Boot environment
variables to something like "serial,nc" will have the desired effect. Still,
setting these variables to such a value in the persistent environment will
lead to a crash and make it impossible to boot the system or recover it. I
decided to leave it on anyway since I think it can be very practical in
development.

Signed-off-by: Enrico Mioso <mrkiko.rs@gmail.com>
(cherry picked from commit 7f2c7b3238)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:47:09 +00:00
Petr Štetiar 8f0d52d8c4 scripts: download-check-artifact.sh: fix shellcheck and improve
Fixes following shellcheck's recommendations:

 In scripts/download-check-artifact.sh line 24:
	exit $1
             ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

 In scripts/download-check-artifact.sh line 53:
		local sum="$(shasum -a 256 "$image_file")";
                      ^-^ SC2155 (warning): Declare and assign separately to avoid masking return values.

 In scripts/download-check-artifact.sh line 72:
 cd "/tmp/verify.$$"
 ^-----------------^ SC2164 (warning): Use 'cd ... || exit' or 'cd ... || return' in case cd fails.

 In scripts/download-check-artifact.sh line 114:
		printf "Keyserver to use? [$keyserver_url] > "
                       ^-- SC2059 (info): Don't use variables in the printf format string. Use printf '..%s..' "$foo".

 In scripts/download-check-artifact.sh line 115:
		read url; case "${url:-$keyserver_url}" in
                ^--^ SC2162 (info): read without -r will mangle backslashes.

While at it make it clear, that it is possible to download/check any
build artifacts like even SDK or ImageBuilder.

Link: https://github.com/openwrt/openwrt/pull/16871
(cherry picked from commit 27c2c140b1)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:47:07 +00:00
David S. H. RosenthalandPetr Štetiar 2942ee0a8d scripts: add download-check-artifact.sh script
While checking wiki documentation about GPG signatures checking I found
this nice script and I've thought, that it would be nice to provide it
officially instead of some random internet site.

Usage example:

  $ ./scripts/download-check-artifact.sh https://downloads.openwrt.org/snapshots/targets/mediatek/filogic/openwrt-mediatek-filogic-openwrt_one-squashfs-sysupgrade.itb

  1) Downloading image file
  =========================
  ########################################### 100.0%

  2) Downloading checksum file
  ============================
  ########################################### 100.0%

  3) Downloading the GPG signature
  ================================
  ########################################### 100.0%

  4) Verifying GPG signature
  ==========================
  gpg: Signature made Tue 05 Nov 2024 05:21:50 PM UTC
  gpg:                using EDDSA key 92C561DE55AE6552F3C736B82B0151090606D1D9
  gpg: Good signature from "OpenWrt Build System (Nitrokey3) <contact@openwrt.org>" [ultimate]
  Primary key fingerprint: 8A8B C12F 46B8 36C0 F9CD  B36F 1D53 D187 7742 E911
       Subkey fingerprint: 92C5 61DE 55AE 6552 F3C7  36B8 2B01 5109 0606 D1D9

  5) Verifying SHA256 checksum
  ============================
  openwrt-mediatek-filogic-openwrt_one-squashfs-sysupgrade.itb: OK

  Verification done!
  ==================
  Downloaded artifact placed in '/var/home/ynezz/dev/openwrt/openwrt.git/openwrt-mediatek-filogic-openwrt_one-squashfs-sysupgrade.itb'

  Cleaning up.

Adding file in a state as downloaded from https://www.abitare.org/bin/download.sh

References: https://openwrt.org/docs/guide-quick-start/verify_firmware_checksum?s[]=gpg#linux
Signed-off-by: David S. H. Rosenthal <dshr@abitare.org>
Link: https://github.com/openwrt/openwrt/pull/16871
(cherry picked from commit 4c9031fda2)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:47:05 +00:00
Sergey MatsievskiyandPetr Štetiar 11d36818b9 build: add comments to makefiles
Add comments to build system makefile functions and variables to help
developers in understanding build system internals and ease the
development process.

This patch adds some documentation examples with proposed doxygen-like
syntax. Hopefully, this would start the discussion and result in
generation of the makefile documentation guidelines.

Signed-off-by: Sergey Matsievskiy <matsievskiysv@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16888
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit a72c8c7705)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:47:03 +00:00
Robert MarkoandPetr Štetiar 03984356bd qualcommax: ipq60xx: add NSS reserved memory
It seems that despite NSS not being supported in OpenWrt the memory it
usually uses needs to be reserved anyway for stability reasons.

Link: https://github.com/openwrt/openwrt/pull/16928
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 8729d2a64d)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:47:01 +00:00
Paul DonaldandPetr Štetiar 7424f58eb6 cryptodev-linux: change home-page URL
Most links and info on the org page are broken or defunct, and all new
versions are available on the github based repo anyway.

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16910
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit ce0b843ac7)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:46:59 +00:00
Paul DonaldandPetr Štetiar 9d44e00fc5 cryptodev-linux: give a coherent description
For the last ten years, nobody has noticed that this driver doesn't
actually say what it is for. ;)

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16910
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 3df5966f94)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:46:57 +00:00
Rosen PenevandPetr Štetiar 655874713e realtek: rtl83xx: use devm for mutex_init
mutex_destroy is missing in remove.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16926
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 1125ed408c)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:46:55 +00:00
Rosen PenevandPetr Štetiar 96ab90a9aa ramips: mt7621: fix typo
Missing u caused the regulator to fail probe.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16925
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 3e42526404)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:46:53 +00:00
Rosen PenevandPetr Štetiar 25427d7942 mdadm: backport musl patch
Needed to fix compilation with GCC14.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16912
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 1f3d5858b4)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:46:51 +00:00
Rosen PenevandPetr Štetiar 67da3d33f3 lantiq: use devm for mutex_init
It's common to avoid calling mutex_destroy when done. It's not correct strictly speaking.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16832
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit fccff963c0)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:46:49 +00:00
Rosen PenevandPetr Štetiar 62690e3b51 lantiq: use more devm for i2c
i2c_add_numbered_adapter is the wrong function to use here. It requires
setting nr to some value, otherwise it behaves the same as
i2c_add_adapter. nr is not set.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16825
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 44824f0b78)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:46:47 +00:00
Rosen PenevandPetr Štetiar 2af51fbdab treewide: remove THIS_MODULE assignment
Matches upstream coccinelle check: api/platform_no_drv_owner.cocci.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16846
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit cc98cfafd7)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:46:45 +00:00
Leon M. Busch-GeorgeandPetr Štetiar 69fd722edd hostapd: split long lines
These two were getting rather long.

Signed-off-by: Leon M. Busch-George <leon@georgemail.eu>
Link: https://github.com/openwrt/openwrt/pull/16849
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 8b6d5874b8)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:46:43 +00:00
Marius DinuandPetr Štetiar f05d49cfbd menuconfig: add help description for Stack Smashing Protection options
Descriptions taken from:
https://wiki.osdev.org/Stack_Smashing_Protector

Signed-off-by: Marius Dinu <m95d+git@psihoexpert.ro>
Link: https://github.com/openwrt/openwrt/pull/16897
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit cbf7be9fb3)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:46:41 +00:00
Rosen PenevandPetr Štetiar 68465e524b ramips: mt7621: add missing regulator-boot-on
What seems to be happening is that the kernel requests an ACTIVE_LOW
gpio initially and sets it to high later based on gpios in dts.

This seems to break some devices where the bootloader sets it to high.

Fixes: e612900ae0 ("ramips: mt7621: convert usb power to regulators")

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16877
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit a7bc6bf7db)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:46:39 +00:00
Tim LunnandPetr Štetiar 79c711a035 rampis: mt7621: Edgerouter-X adjust IMAGE_SIZE to reflect new kernel size
IMAGE_SIZE was previously set to kernel1 + ubi size = 256768k, now
kernel1 is 6MB adjust this value to add 3072k to total image size.

Signed-off-by: Tim Lunn <tim@feathertop.org>
Link: https://github.com/openwrt/openwrt/pull/15194
(cherry picked from commit 5b406bccac)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:46:37 +00:00
Tim LunnandPetr Štetiar d582b369c3 ramips: mt7621: Edgerouter-X drop factory image
Edgerouter-X factory images have not built automatically since 19.x due
to images being over 3MB. While it was possible to build custom images
with very stripped down config, this is no longer possible with the size
increases of linux 6.1 and 6.6.

Drop code for generation of factory images, if some dev later wishes to
try custom images they can revert this commit.

Signed-off-by: Tim Lunn <tim@feathertop.org>
Link: https://github.com/openwrt/openwrt/pull/15194
(cherry picked from commit 4d90b79704)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:46:35 +00:00
Tim LunnandPetr Štetiar 14880209d5 rampis: mt7621: Re-enable Edgerouter-X image builds
With the new layout providing 6MB for kernel there will be no issues
with kernel size affecting build of images.

Re-enable image builds for Edgerouter-X and X-SFP.

Signed-off-by: Tim Lunn <tim@feathertop.org>
Tested-by: Mauri Sandberg <maukka@ext.kapsi.fi>
Link: https://github.com/openwrt/openwrt/pull/15194
(cherry picked from commit 71b4842e3b)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:46:33 +00:00
Tim LunnandPetr Štetiar 1c934c7dc7 rampis: mt7621: Edgerouter-X update compat version to 2.0
Use compat version to indicate that the new layout for larger kernels
is in place. This handled by the patch to ubnt.sh to always select
the kernel1 slot for flashing and as active kernel slot.

Signed-off-by: Tim Lunn <tim@feathertop.org>
Tested-by: Mauri Sandberg <maukka@ext.kapsi.fi>
Link: https://github.com/openwrt/openwrt/pull/15194
(cherry picked from commit 1bdbd511b2)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:46:31 +00:00
Tim LunnandPetr Štetiar a5efcbd327 rampis: mt7621: Edgerouter-X set compat version message
Refer user to the wiki page for instructions on how to migrate to the
new kernel layout.

Signed-off-by: Tim Lunn <tim@feathertop.org>
Tested-by: Mauri Sandberg <maukka@ext.kapsi.fi>
Link: https://github.com/openwrt/openwrt/pull/15194
(cherry picked from commit 70c371d91c)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:46:30 +00:00
Tim LunnandPetr Štetiar 1fd7e5124e rampis: mt7621: resize Edgerouter-X kernel size to 6MB
With the updated partition layout set in dts, set the KERNEL_SIZE
parameter to 6MB allowing builds of Linux 6.1 and later to fit.

Signed-off-by: Tim Lunn <tim@feathertop.org>
Tested-by: Mauri Sandberg <maukka@ext.kapsi.fi>
Link: https://github.com/openwrt/openwrt/pull/15194
(cherry picked from commit 09a6bffb6e)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:46:28 +00:00
Tim LunnandPetr Štetiar c2cde63ae6 rampis: mt7621: Edgerouter-X disable toggling of kernel slots
Uboot selects which kernel slot to boot based on a flag in the factory
mtd partition. Patch ubnt.sh to ensure always flash to kernel1 slot and
update flag if required.

Signed-off-by: Tim Lunn <tim@feathertop.org>
Tested-by: Mauri Sandberg <maukka@ext.kapsi.fi>
Link: https://github.com/openwrt/openwrt/pull/15194
(cherry picked from commit 5e355f1f90)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:46:26 +00:00
Tim LunnandPetr Štetiar 4b9e9a0310 rampis: mt7621: Convert Edgerouter-X dts to single kernel config
The OEM layout for Edgerouter X provides for two 3MB kernel slots.
As of linux 6.1 the kernel images no longer fit and as such
Edgerouter X builds have been disabled in Main.

Revise the layout to make kernel1 slot 6MB and drop kernel2 slot.

This patch applies the required changes to the dts file.

Signed-off-by: Tim Lunn <tim@feathertop.org>
Tested-by: Mauri Sandberg <maukka@ext.kapsi.fi>
Link: https://github.com/openwrt/openwrt/pull/15194
(cherry picked from commit dc51c4355d)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:46:24 +00:00
David BauerandPetr Štetiar c4c1bb523f fritz-tools: fix mixed indentation
Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit 685e979d47)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:46:22 +00:00
Paul SpoorenandPetr Štetiar 70ee25f70f packages: drop DEVICE specific dependency for omnia
Both packages `ombnia-mcu-firmware` and `omnia-mcutool` would depend on
a specific device. The buildbots however build all devices and therefore
the package isn't build at all, due to unmet dependencies.

While this didn't cause issues with OPKG, APK fails actively due to the
missing packages. Drop the specific dependency, however wants to install
unrelated firmware on any device can do that anyway.

Signed-off-by: Paul Spooren <mail@aparcar.org>
(cherry picked from commit f35a29d63f)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:46:20 +00:00
Rosen PenevandPetr Štetiar ec774fafe6 ath79: gpio-rb91x-key: use gpiochip_get_data
No need for a custom function that does the same thing.

Oversight from devm conversion.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16748
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit e99b5832e8)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:46:18 +00:00
Rosen PenevandPetr Štetiar e5a20b0f49 ath79: gpio-latch-miktorik: use gpiochip_get_data
Oversight from devm conversion. No need for a custom static inline
function.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16747
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 6d2ed484fa)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:46:16 +00:00
Rosen PenevandPetr Štetiar 0cf557876a ramips: mt7621: convert usb power to regulators
These things are regulators. Should silence dmesg messages about using
dummy regulators.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16804
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit e612900ae0)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:46:14 +00:00
Chuanhong GuoandPetr Štetiar 3451a70356 kernel: can: package driver for Geschwister Schneider interface
Package gs_usb CAN driver, which is for Geschwister Schneider and
bytewerk.org candleLight compatible USB/CAN interfaces.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
(cherry picked from commit ef4df2b5e9)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:46:12 +00:00
Rosen PenevandPetr Štetiar fbe50c67c6 ipq40xx: use devm for mutex_init
Avoids having to call mutex_destroy in remove.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16755
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 57f2c72505)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:46:10 +00:00
Tianling Shen 9eb5a8552f ath79: disable build for small flash devices
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-11-29 00:34:57 +08:00
Tianling Shen 45d14bfbd2 ramips: disable build for rostelecom sercomm series by default
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-11-29 00:33:39 +08:00
Tianling Shen 5233ff3698 ramips: mt7620: disable build for small flash devices
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-11-27 21:54:41 +08:00
Eric FahlgrenandPetr Štetiar 7ef734deac build: profiles.json: add kernel version information
Currently downstream tools like ASU lack information about kernel
version to find out the relevant kmod build folder on downloads server.

So lets fix it by providing a new `linux_kernel` JSON array which would
for the start provide Linux kernel version, revision and vermagic
information.

  "linux_kernel": {
     "release": "1",
     "vermagic": "b57450c07d3a786158c3601fc5cee57d",
     "version": "6.6.61"
   },

Fixes: openwrt/openwrt#17036
Fixes: efahl/owut#9
Co-developed-by: Petr Štetiar <ynezz@true.cz>
Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17042
Signed-off-by: Petr Štetiar <ynezz@true.cz>
(cherry picked from commit c857145e03)
2024-11-26 22:48:38 +00:00
Daniel Golle 39d6d318a6 mtd-utils: add ubihealthd to nand-utils
Add ubihealthd to the nand-utils package, auto-create UCI config for
each UBI device and launch the daemon on boot.

The default time interval between scrubbing a random PED is 120 seconds
which means that a fully used 128 MiB flash chip gets scrubbed in about
a day and a half. The interval can be adjusted in UCI using the
'interval' option.

Suggested-by: Rodrigo Balerdi <lanchon@gmail.com>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Link: https://github.com/openwrt/openwrt/pull/16973
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 7e287b563a)
2024-11-26 12:23:06 +00:00
Daniel Golle 0de3c201b1 procd: update to git HEAD
7330fa5 initd: mount /sys and /proc with MS_RELATIME

Fixes mounting /proc in unpriviledged user namespace.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit 1e8505ac4e)
2024-11-26 12:23:06 +00:00
Daniel Golle 634ac989e9 include: meson.mk: honor CONFIG_DEBUG
Set buildtype according to CONFIG_DEBUG.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit be3e7a84bd)
2024-11-26 12:23:06 +00:00
Daniel Golle 1d612c33de include: cmake.mk: honor CONFIG_DEBUG
Set CMAKE_BUILD_TYPE according to CONFIG_DEBUG.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit fc9ec5bd3d)
2024-11-26 12:23:06 +00:00
Daniel Golle 79dafe4ad1 kernel: modules: package driver for generic MIPI DBI TFT panels
Package kmod-drm-panel-mipi-dbi as well as modules it depends on in
order to support a wide range of MIPI DBI complaint SPI-connected
TFT panels.

See https://github.com/notro/panel-mipi-dbi/ for more information on
how to use specific panels.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit 0a7b7ef27c)
2024-11-26 12:23:06 +00:00
Tianling Shen 2152acb7da ath79: disable build for dlink dap-13xx by default
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-11-26 19:57:36 +08:00
Robert Marko 141ccfd548 ramips: mt7621: support openwrt,netdev-name for renaming interfaces
Edgerouter X currently has its eth1 port on the switch missing since there
is a naming conflict currently.

So, as the root cause is mixing kernel support for DSA interfaces having
predictable names set via "label" property vs others having it assigned
dynamically lets avoid the conflict by using our own custom property as
suggested upstream [1].

So, add support via "openwrt,netdev-name" property and use it on ERX.

Fixes: 2a25c6ace8 ("ramips: get rid of downstream network device label patch")
Fixes: #15643
Link: https://github.com/openwrt/openwrt/pull/17062
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 5695267847)
2024-11-25 16:42:03 +01:00
Tianling Shen d0d646abcb Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-11-25 17:36:32 +08:00
Hauke Mehrtens a5b291116b wifi-scripts: Fix parsing of Capabilities
Fixup capabilities parsing in iw output.

In addition to the normal capabilities iw now also outputs HE MAC, HE
PHY and EHT MAC and EHT PHY capabilities. Exclude them in the parsing.

The grep returns this with mac80211-hwsim:
```
root@OpenWrt:~# iw phy phy0 info | grep 'Capabilities:'
		Capabilities: 0x107e
			HE PHY Capabilities: (0x02bfce0000000000000000):
			EHT PHY Capabilities: (0x7c0000feffff7f01):
			HE PHY Capabilities: (0x02bfce0000000000000000):
			EHT PHY Capabilities: (0x7c0000feffff7f01):
			HE PHY Capabilities: (0x02bf000000000000000000):
		Capabilities: 0x107e
			HE PHY Capabilities: (0x1cbfce0000000000000000):
			EHT PHY Capabilities: (0xfc1f3ffeffff7f37):
			HE PHY Capabilities: (0x1cbfce0000000000000000):
			EHT PHY Capabilities: (0xfc1f3ffeffff7f37):
			HE PHY Capabilities: (0x1cbf000000000000000000):
			HE PHY Capabilities: (0x1cbfce0000000000000000):
			EHT PHY Capabilities: (0xfefffffeffffff7f):
			HE PHY Capabilities: (0x1cbfce0000000000000000):
			EHT PHY Capabilities: (0xfefffffeffffff7f):
			HE PHY Capabilities: (0x1cbf000000000000000000):
		Capabilities: 0x107e
```

With busybox 1.36.1 the ht_cap_mask variable will be set to
-72057598332895361. With busybox 1.37.0 it will be set to -1.
Both values are wrong, after this change it will be set to 4222
(0x107E).

Link: https://github.com/openwrt/openwrt/pull/17043
(cherry picked from commit adf958c919)
Link: https://github.com/openwrt/openwrt/pull/17055
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-11-24 22:46:21 +01:00
John AudiaandHauke Mehrtens 7402e7dd86 kernel: bump 6.6 to 6.6.63
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.63

Manually rebased:
	bcm27xx/patches-6.6/950-0297-staging-vchiq_arm-Add-36-bit-address-support.patch

All other patches automatically rebased.

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

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/16997
(cherry picked from commit eb395585ae)
Link: https://github.com/openwrt/openwrt/pull/17055
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-11-24 22:46:21 +01:00
John AudiaandHauke Mehrtens 610652090d kernel: bump 6.6 to 6.6.62
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.62

All patches automatically rebased.

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

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/16997
(cherry picked from commit 611bfa4d72)
Link: https://github.com/openwrt/openwrt/pull/17055
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-11-24 22:46:21 +01:00
Hauke Mehrtens a2e7d8761b debugcc: Mark it nonshared
This tool was build in the phase 2 build, there the TARGET dependencies
are probably not meat. Mark it as non shared to build it together with
the targets where this option is set.

Link: https://github.com/openwrt/openwrt/pull/16975
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit febe1db43d)
Link: https://github.com/openwrt/openwrt/pull/17055
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-11-24 22:46:21 +01:00
Shiji YangandHauke Mehrtens d665be7c1e ath79: lzma-loader: fix syntax error
C compiler can't parse '#else if'.

Fixes: f84a9f7dc0 ("ath79: add support for Huawei AP6010DN")
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/16989
(cherry picked from commit 98f26346cb)
Link: https://github.com/openwrt/openwrt/pull/17055
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-11-24 22:46:21 +01:00
John AudiaandHauke Mehrtens b506c964a2 kernel: bump 6.6 to 6.6.61
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.61

Manually rebased:
	bcm27xx/patches-6.6/950-0998-i2c-designware-Add-support-for-bus-clear-feature.patch

All other patches automatically rebased.

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

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/16959
(cherry picked from commit 487ca61f91)
Link: https://github.com/openwrt/openwrt/pull/17055
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-11-24 22:46:21 +01:00
David Bauer c279ca8b79 mediatek: fix Cudy AP3000 Outdoor label-mac
The label-mac does not match the one assigned to the ethernet interface.
Use the mac-address assigned to the wifi interface instead, as it
matches the one found on the device label.

Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit b8b658bc0d)
2024-11-23 20:04:54 +01:00
Tianling Shen b89bad8523 target: enable tweaked packages
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-11-21 17:52:51 +08:00
MkQtSandTianling Shen 5331e3bc31 target.mk: rename luci-app-opkg to luci-app-package-manager
(cherry picked from commit 572fa41dfb)
2024-11-21 17:46:06 +08:00
Robert Marko 1abaf051d2 imagebuilder: fix OPKG package_whatdepends support
Trying to use 'package_whatdepends' feature of the ImageBuilder with OPKG
will currently fail as OPKG does not support "list --depends" call at all,
it seems that this is a mixup from the original APK support commit.

So, lets restore 'package_whatdepends' support for OPKG by calling
"whatdepends -A" instead as we used to before APK support.

Fixes: d788ab376f ("build: add APK package build capabilities")
Link: https://github.com/openwrt/openwrt/pull/17022
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 52519a59a8)
2024-11-20 09:49:57 +01:00
Rodrigo BalerdiandRobert Marko 5ad5677067 ipq806x: tr4400v2: fix dtc warnings by deleting stock partitions
The original set of stock partitions was kept in the TR4400 v2 port,
with the same partition numbers but their names prefixed with 'stock_'.
This allowed scripts (installation, back to stock, etc) to run on both
stock and OpenWrt firmware. But this triggers warnings in the device
tree compiler, as partitions of the old and new schemes overlap.

This commit fixes the dtc warnings by deleting the stock partitions,
also renumbering some of the remaining MTD partitions in the process.
Additionally, the 'fw_env' partition is set to read-only.

These changes can break existing scripts as well as user configurations
that utilize the 'extra' partition. Users wanting to run old scripts can
do so by reverting to the 23.05 series releases.

Signed-off-by: Rodrigo Balerdi <lanchon@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16958
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 8ec35a2a15)
2024-11-19 13:45:05 +01:00
Tianling Shen fafd6c4b57 mac80211: mark upstreamed rtl patches
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 4611eb82bb)
2024-11-19 16:58:56 +08:00
Tianling Shen 7503540810 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-11-19 16:55:35 +08:00
David Bauer 112adbee68 net: phy: broadcom: update dependency condition
The broadcom PHY driver only has to depend upon PTP_1588_CLOCK_OPTIONAL
if NETWORK_PHY_TIMESTAMPING is enabled. The PTP functionality is stubbed
in this case.

Reflect this circumstance in the dependence condition. This allows to
build the driver as a built-in module even if PTP is built as a module.

This is required to include the broadcom PHY module regardless of the
built-setting of the PTP subsystem. On ath79 (and probably more)
targets with Broadcom PHY, Gigabit operation is currently broken as the
PHY driver is only built as a module in case all kernel-packages are
built. Due to this circumstance, affected devices fall back to using the
generic PHY driver.

Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit cbce32e30c29dc69907c6f4c0ab79dd5d9a8fb28)
2024-11-18 23:02:09 +01:00
Christian Marangi 3ecfc24c51 airoha: an7581: sync patch with upstream version and tag them
Sync patch with upstream version and tag them.
Minor changes done to Pinctrl patch to support older kernel.

Patch automatically refreshed with make target/linux/refresh.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit a5d23e3aee)
2024-11-18 15:05:58 +01:00
Felix Fietkau 585eb0d6c8 mac80211: backport some upstream fixes
Fix various issues, including potential crashes

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 53eab6198b)
2024-11-18 11:47:41 +01:00
Tianling Shen 8e62f8583f rockchip: backport upstream usb3 support for nanopc t6
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 5347be4854)
2024-11-17 19:36:02 +08:00
Tianling Shen 63d27611ab Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-11-17 15:43:43 +08:00
David LutzandDavid Bauer 2d465fbf57 ath79: Add support for Sophos AP15C
The Sophos AP15C uses the same hardware as the AP15, but has a reset button.

Based on:
commit 6f1efb2898 ("ath79: add support for Sophos AP100/AP55 family")
author    Andrew Powers-Holmes <andrew@omnom.net>
          Fri, 3 Sep 2021 15:53:57 +0200 (23:53 +1000)
committer Hauke Mehrtens <hauke@hauke-m.de>
          Sat, 16 Apr 2022 16:59:29 +0200 (16:59 +0200)

Unique to AP15C:
 - Reset button
 - External RJ45 serial console port

Flashing instructions:

This firmware can be flashed either via a compatible Sophos SG or XG
firewall appliance, which does not require disassembling the device, or via
the U-Boot console available on the internal UART header.

To flash via XG appliance:
 - Register on Sophos' website for a no-cost Home Use XG firewall license
 - Download and install the XG software on a compatible PC or virtual
   machine, complete initial appliance setup, and enable SSH console access
 - Connect the target AP device to the XG appliance's LAN interface
 - Approve the AP from the XG Web UI and wait until it shows as Active
   (this can take 3-5 minutes)
 - Connect to the XG appliance over SSH and access the Advanced Console
   (Menu option 5, then menu option 3)
 - Run `sudo awetool` and select the menu option to connect to an AP via
   SSH. When prompted to enable SSH on the target AP, select Yes.
 - Wait 2-3 minutes, then select the AP from the awetool menu again. This
   will connect you to a root shell on the target AP.
 - Copy the firmware to /tmp/openwrt.bin on the target AP via SCP/TFTP/etc
 - Run `mtd -r write /tmp/openwrt.bin astaro_image`
 - When complete, the access point will reboot to OpenWRT.

To flash via U-Boot serial console:
 - Configure a TFTP server on your PC, and set IP address 192.168.99.8 with
   netmask 255.255.255.0
 - Copy the firmware .bin to the TFTP server and rename to 'uImage_AP15C'
 - Open the target AP's enclosure and locate the 4-pin 3.3V UART header [4]
 - Connect the AP ethernet to your PC's ethernet port
 - Connect a terminal to the UART at 115200 8/N/1 as usual
 - Power on the AP and press a key to cancel autoboot when prompted
 - Run the following commands at the U-Boot console:
    - `tftpboot`
    - `cp.b $fileaddr 0x9f070000 $filesize`
    - `boot`
 - The access point will boot to OpenWRT.

Signed-off-by: David Lutz <kpanic@hirnduenger.de>
(cherry picked from commit a7abc7ec3b)
2024-11-16 21:03:52 +01:00
Tianling Shen 8afe292cbc ipq806x: fix typo error for xiaomi r3d device packages
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 2c7c8d1619)
2024-11-16 17:20:55 +08:00
Hauke Mehrtens faebcc61eb nftables: update to 1.1.1
Release Announcement:
https://lwn.net/Articles/982283/
https://lwn.net/Articles/992760/

Link: https://github.com/openwrt/openwrt/pull/16769
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit c11a18be0d)
2024-11-16 00:11:29 +01:00
Hauke Mehrtens 3e094777e7 libnftnl: update to 1.2.8
Release Announcement:
https://www.spinics.net/lists/netfilter-devel/msg87287.html
https://www.spinics.net/lists/netfilter-devel/msg88520.html

Link: https://github.com/openwrt/openwrt/pull/16769
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit d9ed0d438b)
2024-11-16 00:11:27 +01:00
Tianling Shen 1ee47119c9 linux-firmware: update firmware for wcn6750
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 251fca13e8)
2024-11-15 18:05:38 +08:00
Hauke Mehrtens 740052e84e base-files: Remove pkg_check when using apk
/sbin/pkg_check uses opkg and is not even packaged when using the
default opkg configuration. remove it when using apk too.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 0ce237a20c)
2024-11-14 23:22:48 +01:00
Felix Fietkau fe048b5e87 mt76: update to Git HEAD (2024-10-28)
8dfead68c202 wifi: mt76: mt7915: hold dev->mutex while interacting with the thermal state
d508a6eb935d wifi: mt76: mt7996: use mac80211 .sta_state op
57019e663f57 wifi: mt76: add code for emulating hardware scanning
dc4c2bdf7c56 wifi: mt76: add support for allocating a phy without hw
8cd0263f92e1 wifi: mt76: rename struct mt76_vif to mt76_vif_link
99df84d62883 wifi: mt76: add vif link specific data structure
dcc6f158d759 wifi: mt76: mt7996: split link specific data from struct mt7996_vif
d388deab9e73 wifi: mt76: initialize more wcid fields mt76_wcid_init
d026be405c54 wifi: mt76: add chanctx functions for multi-channel phy support
0b05795ca81c wifi: mt76: remove dev->wcid_phy_mask
0b526090de95 wifi: mt76: add multi-radio support to a few core hw ops
aeedee5c0a2c wifi: mt76: add multi-radio support to tx scheduling
fc0ff17b53ff wifi: mt76: add multi-radio support to scanning code
f19cbcf83400 wifi: mt76: add multi-radio remain_on_channel functions
42429ae0eaf6 wifi: mt76: mt7996: use emulated hardware scan support
f9d593d4a6b4 wifi: mt76: mt7996: pass wcid to mt7996_mcu_sta_hdr_trans_tlv
807090b28661 wifi: mt76: mt7996: prepare mt7996_mcu_add_dev/bss_info for MLO support
252baa7bf477 wifi: mt76: mt7996: prepare mt7996_mcu_add_beacon for MLO support
9ee990050305 wifi: mt76: mt7996: prepare mt7996_mcu_set_tx for MLO support
bf12cc404334 wifi: mt76: mt7996: prepare mt7996_mcu_set_timing for MLO support
60bf2bef95dc wifi: mt76: connac: prepare mt76_connac_mcu_sta_basic_tlv for MLO support
1289737e12a8 wifi: mt76: mt7996: prepare mt7996_mcu_update_bss_color for MLO support
7c00df0e7e57 wifi: mt76: connac: rework connac helpers
484e3f289a40 wifi: mt76: mt7996: move all debugfs files to the primary phy
d258f4e3e1ca wifi: mt76: mt7996: switch to single multi-radio wiphy
c246fa545119 wifi: mt76: mt7996: fix monitor mode

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 6720c4ccba)
2024-11-14 22:41:57 +01:00
Felix Fietkau 13f166763f netifd: update to Git HEAD (2024-11-08)
e93f6c3fc729 main: fix format string related warnings for log/debug printf functions
6ab44a2413f9 fix signed/unsigned comparison warnings
4fe997b61d7d system-dummy: add system_if_apply_settings_after_up
992d33cb42a6 ubus: add notifications on wireless device state changes
34eb11eb6f5c device/interface: add "tags" attribute from config to status dump

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 5f68e24333)
2024-11-14 22:41:57 +01:00
Felix Fietkau c02af3fd85 wifi-scripts: add free-form "tags" array option for wifi-iface
This allows annotating wifi interfaces in the config in a way that can be
queried through wifi status. One example use case is to mark wifi interfaces
for use with specific services without having to explicitly reference the
(often unnamed) sections from elsewhere.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit a3ec35cadb)
2024-11-14 22:41:57 +01:00
Rodrigo BalerdiandRobert Marko 1fdc4b144b ipq806x: tr4400v2: revert nesting of MTD partitions that bricks device
This reverts commit e1043a746a, that
attempts to nest partitions that overlap but are not nested. This
causes the 'ubi' partition to be truncated, making rootfs inaccessible
and bricking the device.

Also, had this commit worked, it would have renumbered MTD partitions
in a way that would have broken documented scripts for installation and
update of main and recovery OSes, making backups, return to stock, etc,
and broken user configurations that put the 'extra' partition to use.

Signed-off-by: Rodrigo Balerdi <lanchon@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16944
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 0e59eaa796)
2024-11-14 10:05:12 +01:00
Tianling Shen 6e7537a049 ramips: fix read mac for jdcloud re-sp-01b again
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 7ec8108be5)
2024-11-14 13:42:30 +08:00
Tianling Shen a24c3500f3 ramips: fix mac for jdcloud re-sp-01b 128g emmc version
The MAC address offset in 128G version is 0x442a (+1 compared to 64g
version). As the mac stored in config partition is plain text format
so simply call mtd_get_mac_ascii to work on both version.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit c0c480daa7)
2024-11-14 13:42:26 +08:00
Tianling Shen 553324f247 automount: fix dependencies
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 2546d5098f)
2024-11-14 12:05:34 +08:00
Tianling Shen f13d5d7e2e mac80211: add more USB vid pid to rtw8812au/rtw8821au driver
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit f32cd19e9d)
2024-11-13 21:15:09 +08:00
Tianling Shen 069987cf7b rtl8812au-ac: drop package
use kmod-rtw88-8812au and kmod-rtw88-8821au instead.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit af9acb87aa)
2024-11-13 20:28:05 +08:00
Tianling Shen 6f52643bde mac80211: backport RTL8812AU/RTL8821AU support
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 1ef0d0e422)
2024-11-13 20:28:04 +08:00
Tianling Shen dc38100548 linux-firmware: add firmware for Realtek RTL8812AU/RTL8821AU
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 10da84b588)
2024-11-13 20:28:04 +08:00
Tianling Shen 31fabcbdb9 linux-firmware: Update to 20241110
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 264c5725f2)
2024-11-13 20:28:04 +08:00
John Crispin e39f5d4b36 base-files: improve default root-passwd script
The script was not exiting cleanly causing it to not be removed from the
uci-defaults folder.

Signed-off-by: John Crispin <john@phrozen.org>
2024-11-13 07:54:40 +01:00
Tianling Shen b10dfedebb Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-11-12 22:45:57 +08:00
Christian Marangi d83ae23d08 airoha: an7581: backport upstream ethernet fixes
Backport patches fixing some ethernet problem merged upstream.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-11-12 13:57:20 +01:00
John AudiaandRobert Marko 92eb867873 kernel: bump 6.6 to 6.6.60
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.60

Removed upstreamed:
	generic/backport-6.6/409-mtd-spi-nor-winbond-fix-w25q128-regression.patch

All other patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.60&id=27a58a19bd20a7afe369da2ce6d4ebea70768acd

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

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/16892
Signed-off-by: Nick Hainke <vincent@systemli.org>
(cherry picked from commit 85844cfc5c)
2024-11-10 17:09:14 +01:00
Mieczyslaw NalewajandRobert Marko 4b413687e6 mac80211: compatibility with kernel 6.6.59
Fix genlmsg_multicast_allns() build error on kernel 6.6.59.
Based on kernel patch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit?h=v6.6.59&id=e0f83d268974dab0361d11904dfc9acec53f96a6

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/16835
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 31f1dabb4b)
Link: https://github.com/openwrt/openwrt/pull/16894
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-11-10 11:42:52 +01:00
Mieczyslaw NalewajandRobert Marko 7a1815f64d kernel: bump 6.6 to 6.6.59
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.59

Removed upstreamed:
 - generic/backport-6.6/777-netfilter-xtables-fix-typo-causing-some-targets-to-not-load-on-IPv6.patch[1]
 - generic/backport-6.6/780-24-v6.12-r8169-avoid-unsolicited-interrupts.patch[2]

All other patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.59&id=433742ba96baf30c21e654ce3e698ad87100593b
2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.59&id=7d6d46b429804b1a182106e27e2f8c0e84689e1a

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/16835
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 4fc47c6000)
2024-11-09 17:35:58 +01:00
Tianling Shen 1ba85d6ab7 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-11-09 20:26:29 +08:00
Andrew MacIntyreandRobert Marko c0a50b1d59 vrx518_tc: allow larger MTU to support RFC4638
vrx518_tc currently sets the interface maximum MTU to the ethernet default
of 1500 bytes by default via ether_setup() called from ptm_setup().

To support 1508 byte baby jumbo frames (RFC4638) for PPPoE connections
over VDSL links as already supported by the VR9 ltq_ptm driver ([1], [2])
set the interface maximum MTU to MAX_MTU.

MAX_MTU is defined in dcdp/inc/tc_common.h to 2002 bytes and this value is
used in ptm_change_mtu() and elsewhere as the maximum MTU, however this is
short circuited by checks against the interface maximum MTU.

[1]: https://forum.openwrt.org/t/fritzbox-7530-and-rfc4638-baby-jumbo-frames/181327
[2]: https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=8a2a20e71e2909f84dab47e51dfda9e292a6c1ae

Signed-off-by: Andrew MacIntyre <andymac@pcug.org.au>
Link: https://github.com/openwrt/openwrt/pull/16856
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit ca53f2d430)
2024-11-08 17:23:16 +01:00
Edward ChowandRobert Marko 983a753f38 ath79: linksys_ea4500-v3: take over the space for user data
The last "syscfg" partition of the OEM firmware turns out to be a
UBIFS used to store user data, just as the "rootfs_data" of OpenWrt,
so it should be reasonable to absorb it into the "ubi" partition.

Factory installations via either OEM firmware or tftp, or by forcibly
flashing factory image to mtd5 (firmware) partition with mtd tool are
confirmed working, but the UBI remaining inside "syscfg" partition
could break upgrade. Fortunately, installing kmod-mtd-rw and erasing
"syscfg" partition before upgrade is confirmed working, in which case,
"ubi" will automatically expand to the blank space once occupied by
the former mtd8 (syscfg), with the total block number increased, but
the UBIFS for rootfs_data will not automatically claim the newly
available space (since it is created when mtd8 still exists, and
sysupgrade does not set "autoresize" flag to rootfs_data). These space
will be claimed during the next upgrade, when rootfs_data is removed
and created again.

Fixes: 50f727b773 ("ath79: add support for Linksys EA4500 v3")

Signed-off-by: Edward Chow <equu@openmail.cc>
Link: https://github.com/openwrt/openwrt/pull/14791
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-11-07 14:57:37 +01:00
Álvaro Fernández Rojas f3359da4b8 kernel: r8125: update to v9.014.01
Changelog: https://github.com/openwrt/rtl8125/compare/9.013.02...9.014.01

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit e29bc67f9d)
2024-11-06 11:42:35 +01:00
Christian Marangi a82b097635 procd: update to Git HEAD (2024-11-06)
109fa41b2321 system: fix description value from os-release

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 09a8b4920c)
2024-11-06 10:39:42 +01:00
Tianling Shen 0861ce7fb2 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-11-05 21:40:21 +08:00
Álvaro Fernández Rojas 49d8f4b833 kernel: r8168: refresh patch
Patches weren't refreshed when r8168 was updated to v8.054.00 in a85e18b53f.

Fixes: a85e18b53f ("kernel: r8168: update to v8.054.00")
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 6490c88c75)
2024-11-05 14:08:28 +01:00
Álvaro Fernández Rojas 7763c5aabc kernel: r8126: update to v10.014.01
Changelog: https://github.com/openwrt/rtl8126/compare/10.013.00...10.014.01

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 562b2c22ff)
2024-11-05 14:08:07 +01:00
John Crispin 0d97e775ac mediatek: set 7 MACs per wifi band in board.json on OpenWrt One
Mass production units will get 16 assigned MAC addresses. This allows each phy
to spawn up to 7 VAPs which will each have unique MAC without needing the
private bit.

Signed-off-by: John Crispin <john@phrozen.org>
2024-11-05 13:30:21 +01:00
John Crispin 895f30e31a mediatek: set mac increment to 7 for the 5G radio on OpenWrt One
Mass production units will get 16 assigned MAC addresses. This allows each phy
to spawn up to 7 VAPs which will each have unique MAC without needing the
private bit.

Signed-off-by: John Crispin <john@phrozen.org>
2024-11-05 13:30:21 +01:00
Daniel GolleandJohn Crispin 5b7357e0a1 mediatek: refresh patches
The mediatek target requires refreshing after recent additions.

Fixes: cfe8e6e75f ("mediatek: add support for Realtek RTL8261n 10G PHYs")
Fixes: ddfae94a14 ("mediatek: add support for swapping the polarity on usxgmii interfaces")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-11-05 13:30:21 +01:00
Daniel GolleandJohn Crispin ccd30b9ed7 mediatek: filogic: BPi-R4: wire up pinctrl for pwm-fan
Assign pwm function of PWM0 pin to the pwm-fan.
This is mostly just cosmetics as it basically reflects the default
setting of that pin.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-11-05 13:30:21 +01:00
Daniel GolleandJohn Crispin 4b4e307a01 mediatek: pinctrl-mt7988: add missing PWM pingroups
Add additionals possible pinctrl group for pwm2~7 on pins
pin  4 (GPIO_A)        pwm7
pin 58 (JTAG_JTDI)     pwm2
pin 59 (JTAG_JTDO)     pwm3
pin 60 (JTAG_JTMS)     pwm4
pin 61 (JTAG_JTCLK)    pwm5
pin 62 (JTAG_JTRST_N)  pwm6

They can be useful e.g. on the BPi-R4 as in that way pwm2~6 can be exposed
on the 26-pin header (pwm6 always, pwm2~5 instead of the full UART).

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-11-05 13:30:21 +01:00
Daniel GolleandJohn Crispin de3dfe5714 uboot-mediatek: import patches improving menu navigation
Using the arrow keys to navigate the U-Boot menu often leads to being
dropped into the U-Boot shell unexpectedly.
This can be prevented in most cases by improving the logic to detect the
arrow key ESC sequence and only reprinting the menu if actually needed.
Also enable CONFIG_SERIAL_RX_BUFFER for all boards as it helps preventing
the remaining cases.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-11-05 13:30:21 +01:00
John Crispin f4b62a6b28 mediatek: filogic: add Arcadyan Mozart platform
* Mediatek MT7988A (4x Cortex-A73, up to 1.8 GHz clock speed)
* 8 GiB eMMC
* 4 GiB DDR4 RAM
* 2x 10000M + 1x 1000M  ports
* MT7996 Tri-band (2.4G, 5G, 6G) 4T4R 802.11be Wi-Fi
* 2 buttons (Reset, WPS)
* 2x LED for each GMAC
* USB-C PD power input

Signed-off-by: John Crispin <john@phrozen.org>
2024-11-05 13:30:21 +01:00
John Crispin ab5c090077 mediatek: add support for swapping the polarity on usxgmii interfaces
This patch comes from the MTK SDK.

Signed-off-by: John Crispin <john@phrozen.org>
2024-11-05 13:30:21 +01:00
John Crispin 0f6aafcc24 mediatek: add support for Realtek RTL8261n 10G PHYs
There is no upstream driver yet. Merge the RTL SDK driver for now.

Signed-off-by: John Crispin <john@phrozen.org>
2024-11-05 13:30:21 +01:00
John Crispin 7c8bfc0be5 uboot-mediatek: add support for arcadyan,mozart
Signed-off-by: John Crispin <john@phrozen.org>
2024-11-05 13:30:21 +01:00
Robert Marko 4ec95518de nu801: Mark as nonshared to build in step 1
Mark the package as nonshared to build it in the target specific build
step 1 of the build bots instead of the architecture generic build step 2.

In the build step 2 it may be left out if we build it using a different
target.

Fixes: #16857
Link: https://github.com/openwrt/openwrt/pull/16859
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-11-05 10:58:37 +01:00
Tianling Shen 595aaa36fc Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-11-05 16:01:26 +08:00
Tianling Shen ec3c6d959b r8152: Update to 2.19.2
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 778e34c00f)
2024-11-05 16:01:03 +08:00
Tianling Shen 54a586a5b7 kernel: backport BPF-programmable network device support
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 4175867167)
2024-11-05 16:00:58 +08:00
Mauri SandbergandRobert Marko a923d1f9ec ramips: Fix EX400 imagebuilder
A factory image for DNA EX400 depends on an initramfs image and they
were explicitly removed from the imagebuilder recently. Now the factory
image creation fails miserably and it also affects custom image creation
with the firmware selector.

Add the initramfs kernel to the staging so that it's shipped with the
imagebuilder. Also remove a image build target added solely for DNA EX400.

Tested by creating a factory and syspupgrade images locally with
the imagebuilder and verified their functionality.

Related work
  c85348d9ab ("imagebuilder: remove initramfs image files")

Fixes: fea2264d9f ("ramips: mt7621: Add DNA Valokuitu Plus EX400")
Signed-off-by: Mauri Sandberg <maukka@ext.kapsi.fi>
---
v4: use append-image-stage, remove Build/kernel-initramfs-bin
v3: adjust commit subject
v2: remove fix for inconsistent line ending elsewhere in the file
Link: https://github.com/openwrt/openwrt/pull/16659
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-11-04 11:26:12 +01:00
Enrico MiosoandRobert Marko de3d57a60c uboot-mediatek: fix boot media for mt7981 RFB NOR profile
Signed-off-by: Enrico Mioso <mrkiko.rs@gmail.com>
CC: Daniel Golle <daniel@makrotopia.org>
2024-11-04 10:55:38 +01:00
Rosen PenevandRobert Marko 547feaca2c gpio-button-hotplug: use flexible array member
zero length arrays are deprecated.

Fixes coccinelle warning:

WARNING use flexible-array member instead

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16848
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-11-04 10:51:11 +01:00
Linus WalleijandRobert Marko d92306d020 mtd: Add backported Winbond fix
Upstream stable is slow at picking this up and several systems
are regressing. Add the patch locally in OpenWrt.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2024-11-04 10:49:49 +01:00
Leon M. Busch-GeorgeandRobert Marko 6bc930c47d mediatek: YunCore AX835: fix voltage regulator
Specifying GPIO_ACTIVE_HIGH on the GPIO for the voltage regulator doesn't
suffice. The regulator itself requires enable-active-high to be set.

Fixes: #16292
Signed-off-by: Leon M. Busch-George <leon@georgemail.eu>
Link: https://github.com/openwrt/openwrt/pull/16839
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-11-04 10:36:11 +01:00
Kuan-Yi LiandPetr Štetiar 92fd12e7fd openwrt-keyring: fix missing 24.10 usign key by installing it
@KA2107 reported that opkg is not able to verify the artifact signatures
produced by buildbot using the usign 24.10 release keys. So lets fix it
by actually adding the 24.10 usign key with d310c6f2833e97f7 fingerprint
into the openwrt-keyring package.

Fixes: #16850
Reported-by: @KA2107
Fixes: a535cfc09e ("openwrt-keyring: add OpenWrt 24.10 release build usign key")
References: 2d03f27f0f07 ("openwrt-keyring: make opkg use 22.03 usign key")
Signed-off-by: Kuan-Yi Li <kyli@abysm.org>
Signed-off-by: Petr Štetiar <ynezz@true.cz> [commit description]
2024-11-04 09:23:40 +00:00
Paul DonaldandRobert Marko e3bbeabe92 kernel: KERNEL_NET_L3_MASTER_DEV default to y if !SMALL_FLASH
Follow-up for 45d541bb40

This change allows features such as kmod-vrf

```
KERNEL_NET_L3_MASTER_DEV=n

x86_64 generic
	bzImage 6,927,360 bytes
aarch64 coretex-a53
	kernel  4,268,836 bytes

KERNEL_NET_L3_MASTER_DEV=y

x86_64 generic
	bzImage 6,931,456 bytes
aarch64 coretex-a53
	kernel  4,273,042 bytes

Delta:
x86_64 generic
	+4096 bytes
aarch64 coretex-a53
	+4206 bytes

x86_64 generic vrf.ko - 258,792 bytes
aarch64 coretex-a53 vrf.ko - 263,632 bytes
```

See:
https://forum.openwrt.org/t/vrf-support-testing-out-evpn-at-home/181108
https://forum.openwrt.org/t/please-enable-net-l3-master-dev-in-kernel-build-by-default/201825

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16819
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-11-02 11:23:37 +01:00
Álvaro Fernández Rojas a4f3e17029 bcm27xx-gpu-fw: fix package
Install definition was accidentally removed in 7afdbc0955 and IB fails.

Fixes: 7afdbc0955 ("bcm27xx-gpu-fw: update to latest version")
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit efd1ec51a1)
2024-11-01 21:47:58 +01:00
Tianling Shen 9da8dfc1b9 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-11-01 16:39:46 +08:00
Daniel GolleandPetr Štetiar 05b3adc0db mediatek: mt7988: fix peripheral SPI busses
The clocks for SPI busses were named wrongly which resulted in the
spi-mt65xx driver not requesting them. This has apparently been
worked around by marking the clocks required for SPI0 which is used
for SPI-NOR and SPI-NAND flash chips as critical.
Fix the device tree for all 3 generic SPI host controllers and no
longer mark clocks as critical.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit 2b173ab730)
2024-11-01 06:54:33 +00:00
Petr Štetiar 07e5dd4c4f openwrt-keyring: add OpenWrt 24.10 release build usign key
fbae29d730f8 usign: add OpenWrt 24.10 release build public key

Signed-off-by: Petr Štetiar <ynezz@true.cz>
(cherry picked from commit a535cfc09e)
2024-11-01 06:32:51 +00:00
Christian Marangi 4ae45b1f4a OpenWrt v24.10: set branch defaults
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-10-31 22:16:29 +01:00
2877 changed files with 213318 additions and 60024 deletions
+23 -3
View File
@@ -70,7 +70,8 @@ menu "Global build settings"
config USE_APK
imply PACKAGE_apk-mbedtls
bool "Use APK instead of OPKG to build distribution (EXPERIMENTAL)"
bool "Use APK instead of OPKG to build distribution (BROKEN)"
depends on BROKEN
comment "General build options"
@@ -175,6 +176,7 @@ menu "Global build settings"
config MOLD
depends on (aarch64 || arm || i386 || i686 || m68k || powerpc || powerpc64 || sh4 || x86_64)
depends on !GCC_USE_VERSION_11
depends on !HOST_OS_MACOS
def_bool $(shell, ./config/check-hostcxx.sh 10 2 12)
config USE_MOLD
@@ -295,12 +297,22 @@ menu "Global build settings"
Enable GCC Stack Smashing Protection (SSP) for userspace applications
config PKG_CC_STACKPROTECTOR_NONE
bool "None"
help
No stack smashing protection.
config PKG_CC_STACKPROTECTOR_REGULAR
bool "Regular"
help
Protects functions with vulnerable objects.
This includes functions with buffers larger than 8 bytes or calls to alloca.
config PKG_CC_STACKPROTECTOR_STRONG
bool "Strong"
help
Like Regular, but also protects functions with
local arrays or references to local frame addresses.
config PKG_CC_STACKPROTECTOR_ALL
bool "All"
help
Protects all functions.
endchoice
choice
@@ -310,10 +322,18 @@ menu "Global build settings"
Enable GCC Stack-Smashing Protection (SSP) for the kernel
config KERNEL_CC_STACKPROTECTOR_NONE
bool "None"
help
No stack smashing protection.
config KERNEL_CC_STACKPROTECTOR_REGULAR
bool "Regular"
help
Protects functions with vulnerable objects.
This includes functions with buffers larger than 8 bytes or calls to alloca.
config KERNEL_CC_STACKPROTECTOR_STRONG
bool "Strong"
help
Like Regular, but also protects functions with
local arrays or references to local frame addresses.
endchoice
config KERNEL_STACKPROTECTOR
@@ -404,11 +424,11 @@ menu "Global build settings"
endchoice
config SECCOMP
config USE_SECCOMP
bool "Enable SECCOMP"
select KERNEL_SECCOMP
select PACKAGE_procd-seccomp
depends on (aarch64 || arm || armeb || mips || mipsel || mips64 || mips64el || i386 || powerpc || x86_64)
depends on (aarch64 || arm || armeb || mips || mipsel || mips64 || mips64el || i386 || loongarch64 || powerpc || x86_64)
depends on !TARGET_uml
default y
help
+1 -1
View File
@@ -240,7 +240,7 @@ menu "Target Images"
config GRUB_TIMEOUT
string "Seconds to wait before booting the default entry"
depends on GRUB_IMAGES || GRUB_EFI_IMAGES
default "3"
default "0"
help
If you don't know, 5 seconds is a reasonable default.
+39 -2
View File
@@ -333,6 +333,25 @@ if KERNEL_TASKSTATS
endif
config KERNEL_PSI
bool "Compile the kernel with pressure stall information tracking"
help
Collect metrics that indicate how overcommitted the CPU, memory,
and IO capacity are in the system.
If you say Y here, the kernel will create /proc/pressure/ with the
pressure statistics files cpu, memory, and io. These will indicate
the share of walltime in which some or all tasks in the system are
delayed due to contention of the respective resource.
In kernels with cgroup support, cgroups (cgroup2 only) will
have cpu.pressure, memory.pressure, and io.pressure files,
which aggregate pressure stalls for the grouped tasks only.
For more details see Documentation/accounting/psi.rst.
Say N if unsure.
config KERNEL_KALLSYMS
bool "Compile the kernel with symbol table information"
default y if !SMALL_FLASH
@@ -426,7 +445,7 @@ config KERNEL_DEBUG_INFO
config KERNEL_DEBUG_INFO_BTF
bool "Enable additional BTF type information"
default y if (TARGET_armsr || TARGET_bcm27xx || TARGET_ipq806x_chromium || TARGET_mediatek_filogic || TARGET_mvebu_cortexa53 || TARGET_mvebu_cortexa72 || TARGET_rockchip || TARGET_sunxi || TARGET_x86_64) && BUILDBOT
default y if (TARGET_armsr || TARGET_bcm27xx_bcm2709 || TARGET_bcm27xx_bcm2710 || TARGET_bcm27xx_bcm2711 || TARGET_bcm27xx_bcm2712 || TARGET_ipq806x_chromium || TARGET_mediatek_filogic || TARGET_mvebu_cortexa53 || TARGET_mvebu_cortexa72 || TARGET_rockchip || TARGET_sunxi_cortexa53 || TARGET_x86_64) && BUILDBOT
depends on !HOST_OS_MACOS
depends on KERNEL_DEBUG_INFO && !KERNEL_DEBUG_INFO_REDUCED
select DWARVES
@@ -454,7 +473,7 @@ config KERNEL_MODULE_ALLOW_BTF_MISMATCH
config KERNEL_DEBUG_INFO_REDUCED
bool "Reduce debugging information"
default y if !(TARGET_armsr || TARGET_bcm27xx || TARGET_ipq806x_chromium || TARGET_mediatek_filogic || TARGET_mvebu_cortexa53 || TARGET_mvebu_cortexa72 || TARGET_rockchip || TARGET_sunxi || TARGET_x86_64) || !BUILDBOT
default y if !(TARGET_armsr || TARGET_bcm27xx_bcm2709 || TARGET_bcm27xx_bcm2710 || TARGET_bcm27xx_bcm2711 || TARGET_bcm27xx_bcm2712 || TARGET_ipq806x_chromium || TARGET_mediatek_filogic || TARGET_mvebu_cortexa53 || TARGET_mvebu_cortexa72 || TARGET_rockchip || TARGET_sunxi_cortexa53 || TARGET_x86_64) || !BUILDBOT
depends on KERNEL_DEBUG_INFO
help
If you say Y here gcc is instructed to generate less debugging
@@ -563,6 +582,15 @@ config KERNEL_BPF_STREAM_PARSER
depends on KERNEL_CGROUP_BPF
default y if KERNEL_DEBUG_INFO_BTF
config KERNEL_NETKIT
bool "Compile the kernel with BPF-programmable network device support"
default y if KERNEL_DEBUG_INFO_BTF
help
The netkit device is a virtual networking device where BPF programs
can be attached to the device(s) transmission routine in order to
implement the driver's internal logic. The device can be configured
to operate in L3 or L2 mode.
config KERNEL_AIO
bool "Compile the kernel with asynchronous IO support"
default y if !SMALL_FLASH
@@ -1195,9 +1223,11 @@ endif
config KERNEL_NET_L3_MASTER_DEV
bool "L3 Master device support"
default y if !SMALL_FLASH
help
This module provides glue between core networking code and device
drivers to support L3 master devices like VRF.
Increases the compressed kernel size by ~4kB (as of Linux 6.6).
config KERNEL_XDP_SOCKETS
bool "XDP sockets support"
@@ -1227,6 +1257,13 @@ config KERNEL_MPTCP_IPV6
default KERNEL_MPTCP
endif
config KERNEL_NF_CONNTRACK_TIMEOUT
bool "Per-connection connection tracking timeout"
default y if !SMALL_FLASH
help
Select this option to enable support for per-connection conntrack timeouts.
Increases the (uncompressed) size of nf_conntrack.ko by ~8kB.
#
# NFS related symbols
#
+4 -8
View File
@@ -1,8 +1,4 @@
src-git packages https://github.com/immortalwrt/packages.git
src-git luci https://github.com/immortalwrt/luci.git
src-git routing https://github.com/openwrt/routing.git
src-git telephony https://github.com/openwrt/telephony.git
#src-git-full video https://github.com/openwrt/video.git
#src-git-full targets https://github.com/openwrt/targets.git
#src-git-full oldpackages http://git.openwrt.org/packages.git
#src-link custom /usr/src/openwrt/custom-feed
src-git packages https://github.com/immortalwrt/packages.git;openwrt-24.10
src-git luci https://github.com/immortalwrt/luci.git;openwrt-24.10
src-git routing https://github.com/openwrt/routing.git;openwrt-24.10
src-git telephony https://github.com/openwrt/telephony.git;openwrt-24.10
+25 -15
View File
@@ -1,30 +1,40 @@
BPF_DEPENDS := @HAS_BPF_TOOLCHAIN
LLVM_VER:=
BPF_DEPENDS := @HAS_BPF_TOOLCHAIN +@NEED_BPF_TOOLCHAIN
CLANG_MIN_VER:=12
ifneq ($(CONFIG_USE_LLVM_HOST),)
find-llvm-tool=$(firstword $(shell PATH='$(BPF_PATH)' command -v $(1) || echo '$(firstword $(1))-not-found'))
BPF_TOOLCHAIN_HOST_PATH:=$(call qstrip,$(CONFIG_BPF_TOOLCHAIN_HOST_PATH))
ifneq ($(BPF_TOOLCHAIN_HOST_PATH),)
BPF_PATH:=$(BPF_TOOLCHAIN_HOST_PATH)/bin:$(PATH)
else
BPF_PATH:=$(PATH)
endif
CLANG:=$(firstword $(shell PATH='$(BPF_PATH)' command -v clang clang-13 clang-12 clang-11))
CLANG:=$(call find-llvm-tool,clang clang-13 clang-12)
LLVM_VER:=$(subst clang,,$(notdir $(CLANG)))
endif
ifneq ($(CONFIG_USE_LLVM_PREBUILT),)
CLANG:=$(TOPDIR)/llvm-bpf/bin/clang
endif
ifneq ($(CONFIG_USE_LLVM_BUILD),)
CLANG:=$(STAGING_DIR_HOST)/llvm-bpf/bin/clang
endif
LLVM_PATH:=$(dir $(CLANG))
LLVM_LLC:=$(LLVM_PATH)/llc$(LLVM_VER)
LLVM_DIS:=$(LLVM_PATH)/llvm-dis$(LLVM_VER)
LLVM_OPT:=$(LLVM_PATH)/opt$(LLVM_VER)
LLVM_STRIP:=$(LLVM_PATH)/llvm-strip$(LLVM_VER)
BPF_PATH:=$(dir $(CLANG)):$(BPF_PATH)
LLVM_LLC:=$(call find-llvm-tool,llc$(LLVM_VER))
LLVM_DIS:=$(call find-llvm-tool,llvm-dis$(LLVM_VER))
LLVM_OPT:=$(call find-llvm-tool,opt$(LLVM_VER))
LLVM_STRIP:=$(call find-llvm-tool,llvm-strip$(LLVM_VER))
else
LLVM_PATH:=/invalid
ifneq ($(CONFIG_USE_LLVM_PREBUILT),)
LLVM_PATH:=$(TOPDIR)/llvm-bpf/bin
endif
ifneq ($(CONFIG_USE_LLVM_BUILD),)
LLVM_PATH:=$(STAGING_DIR_HOST)/llvm-bpf/bin
endif
CLANG:=$(LLVM_PATH)/clang
LLVM_LLC:=$(LLVM_PATH)/llc
LLVM_DIS:=$(LLVM_PATH)/llvm-dis
LLVM_OPT:=$(LLVM_PATH)/opt
LLVM_STRIP:=$(LLVM_PATH)/llvm-strip
endif
BPF_KARCH:=mips
BPF_ARCH:=mips$(if $(CONFIG_ARCH_64BIT),64)$(if $(CONFIG_BIG_ENDIAN),,el)
+1 -1
View File
@@ -97,7 +97,7 @@ define Build/Configure/Default
-DCMAKE_SYSTEM_NAME=Linux \
-DCMAKE_SYSTEM_VERSION=1 \
-DCMAKE_SYSTEM_PROCESSOR=$(ARCH) \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_BUILD_TYPE=$(if $(CONFIG_DEBUG),Debug,Release) \
-DCMAKE_C_FLAGS_RELEASE="-DNDEBUG" \
-DCMAKE_CXX_FLAGS_RELEASE="-DNDEBUG" \
-DCMAKE_C_COMPILER_LAUNCHER="$(CMAKE_C_COMPILER_LAUNCHER)" \
+5
View File
@@ -0,0 +1,5 @@
ifneq ($(CONFIG_USE_APK),)
DEFAULT_PACKAGES += apk-openssl
else
DEFAULT_PACKAGES += opkg
endif
+3 -1
View File
@@ -232,7 +232,9 @@ define DownloadMethod/rawgit
echo "Generating formal git archive (apply .gitattributes rules)" && \
(cd $(SUBDIR) && git config core.abbrev 8 && \
git archive --format=tar HEAD --output=../$(SUBDIR).tar.git) && \
$(if $(filter skip,$(SUBMODULES)),true,$(TAR) --ignore-failed-read -C $(SUBDIR) -f $(SUBDIR).tar.git -r .git .gitmodules 2>/dev/null) && \
$(if $(filter skip,$(SUBMODULES)),true, \
$(TAR) --numeric-owner --owner=0 --group=0 --ignore-failed-read -C $(SUBDIR) -f $(SUBDIR).tar.git -r .git .gitmodules 2>/dev/null \
) && \
rm -rf $(SUBDIR) && mkdir $(SUBDIR) && \
$(TAR) -C $(SUBDIR) -xf $(SUBDIR).tar.git && \
(cd $(SUBDIR) && $(if $(filter skip,$(SUBMODULES)),true,git submodule update --init --recursive -- $(SUBMODULES) && \
+2 -2
View File
@@ -37,7 +37,7 @@ define FeedSourcesAppendOPKG
echo 'src/gz %d_core %U/targets/%S/packages'; \
$(strip $(if $(CONFIG_PER_FEED_REPO), \
echo 'src/gz %d_base %U/packages/%A/base'; \
$(if $(filter %SNAPSHOT-y,$(VERSION_NUMBER)-$(CONFIG_BUILDBOT)), \
$(if $(CONFIG_BUILDBOT), \
echo 'src/gz %d_kmods %U/targets/%S/kmods/$(LINUX_VERSION)-$(LINUX_RELEASE)-$(LINUX_VERMAGIC)';) \
$(foreach feed,$(FEEDS_AVAILABLE), \
$(if $(CONFIG_FEED_$(feed)), \
@@ -51,7 +51,7 @@ define FeedSourcesAppendAPK
echo '%U/targets/%S/packages/packages.adb'; \
$(strip $(if $(CONFIG_PER_FEED_REPO), \
echo '%U/packages/%A/base/packages.adb'; \
$(if $(filter %SNAPSHOT-y,$(VERSION_NUMBER)-$(CONFIG_BUILDBOT)), \
$(if $(CONFIG_BUILDBOT), \
echo '%U/targets/%S/kmods/$(LINUX_VERSION)-$(LINUX_RELEASE)-$(LINUX_VERMAGIC)/packages.adb';) \
$(foreach feed,$(FEEDS_AVAILABLE), \
$(if $(CONFIG_FEED_$(feed)), \
+7 -2
View File
@@ -391,8 +391,9 @@ define Build/fit
$(if $(DEVICE_DTS_OVERLAY),$(foreach dtso,$(DEVICE_DTS_OVERLAY), -O $(dtso):$(KERNEL_BUILD_DIR)/image-$(dtso).dtbo)) \
-c $(if $(DEVICE_DTS_CONFIG),$(DEVICE_DTS_CONFIG),"config-1") \
-A $(LINUX_KARCH) -v $(LINUX_VERSION), gen-cpio$(if $(TARGET_PER_DEVICE_ROOTFS),.$(ROOTFS_ID/$(DEVICE_NAME))))
PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage $(if $(findstring external,$(word 3,$(1))),\
-E -B 0x1000 $(if $(findstring static,$(word 3,$(1))),-p 0x1000)) -f $@.its $@.new
$(call locked,PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage $(if $(findstring external,$(word 3,$(1))),\
-E -B 0x1000 $(if $(findstring static,$(word 3,$(1))),-p 0x1000)) -f $@.its $@.new, \
gen-cpio$(if $(TARGET_PER_DEVICE_ROOTFS),.$(ROOTFS_ID/$(DEVICE_NAME))))
@mv $@.new $@
endef
@@ -739,6 +740,10 @@ define Build/zip
rm -rf $@.tmp
endef
define Build/zyimage
$(STAGING_DIR_HOST)/bin/zyimage $(1) $@
endef
define Build/zyxel-ras-image
let \
newsize="$(call exp_units,$(RAS_ROOTFS_SIZE))"; \
+65
View File
@@ -21,6 +21,11 @@ include $(INCLUDE_DIR)/rootfs.mk
override MAKE:=$(_SINGLE)$(SUBMAKE)
override NO_TRACE_MAKE:=$(_SINGLE)$(NO_TRACE_MAKE)
##@
# @brief Convert size with unit postfix to unitless expression in bytes.
#
# @param 1: Size with unit. Possible unit postfix are `g`, `m`, `k`.
##
exp_units = $(subst k, * 1024,$(subst m, * 1024k,$(subst g, * 1024m,$(1))))
target_params = $(subst +,$(space),$*)
@@ -111,6 +116,12 @@ endef
PROFILE_SANITIZED := $(call tolower,$(subst DEVICE_,,$(subst $(space),-,$(PROFILE))))
##@
# @brief Call function for each group of arguments.
#
# @param 1: List of lists of arguments. Lists are separated by `|`.
# @param 2: Function to call for list of arguments.
##
define split_args
$(foreach data, \
$(subst |,$(space),\
@@ -118,12 +129,24 @@ $(foreach data, \
$(call $(2),$(strip $(subst ^,$(space),$(data)))))
endef
##@
# @brief Call build function with arguments.
#
# @param 1: Function to call. Function name is prepended with `Build/`.
# @param 2...: Function arguments.
##
define build_cmd
$(if $(Build/$(word 1,$(1))),,$(error Missing Build/$(word 1,$(1))))
$(call Build/$(word 1,$(1)),$(wordlist 2,$(words $(1)),$(1)))
endef
##@
# @brief Call build functions from the list.
#
# @param 1: List of build functions with arguments, separated by `|`.
# First word in each group is a build command without `Build/` prefix.
##
define concat_cmd
$(call split_args,$(1),build_cmd)
endef
@@ -163,6 +186,12 @@ DTC_WARN_FLAGS := \
DTC_FLAGS += $(DTC_WARN_FLAGS)
DTCO_FLAGS += $(DTC_WARN_FLAGS)
##@
# @brief Pad file to specified size.
#
# @param 1: File.
# @param 2: Padding.
##
define Image/pad-to
dd if=$(1) of=$(1).new bs=$(2) conv=sync
mv $(1).new $(1)
@@ -403,26 +432,53 @@ define Device/InitProfile
DEVICE_DESCRIPTION = Build firmware images for $$(DEVICE_TITLE)
endef
##@
# @brief Image configuration variables.
#
# @param 1: Device name.
##
define Device/Init
##@ Device name.
DEVICE_NAME := $(1)
##@ Commands to build kernel.
# Commands with arguments are separated by `|`.
##
KERNEL:=
##@ Commands to build initramfs.
# Commands with arguments are separated by `|`.
##
KERNEL_INITRAMFS = $$(KERNEL)
##@ Kernel command line.
CMDLINE:=
##@ Images to build.
IMAGES :=
##@ Artifacts to build.
ARTIFACTS :=
##@ Device image prefix.
DEVICE_IMG_PREFIX := $(IMG_PREFIX)-$(1)
##@ Device image name.
DEVICE_IMG_NAME = $$(DEVICE_IMG_PREFIX)-$$(1)-$$(2)
##@ Factory image name.
FACTORY_IMG_NAME :=
##@ Maximum image size. Optional.
IMAGE_SIZE :=
##@ Maximum image size. Optional.
NAND_SIZE :=
##@ Kernel image prefix.
KERNEL_PREFIX = $$(DEVICE_IMG_PREFIX)
##@ Kernel image suffix.
KERNEL_SUFFIX := -kernel.bin
##@ Initramfs image suffix.
KERNEL_INITRAMFS_SUFFIX = $$(KERNEL_SUFFIX)
##@ Kernel image name.
KERNEL_IMAGE = $$(KERNEL_PREFIX)$$(KERNEL_SUFFIX)
##@ Initramfs image prefix.
KERNEL_INITRAMFS_PREFIX = $$(DEVICE_IMG_PREFIX)-initramfs
KERNEL_INITRAMFS_IMAGE = $$(KERNEL_INITRAMFS_PREFIX)$$(KERNEL_INITRAMFS_SUFFIX)
##@ Initramfs image name.
KERNEL_INITRAMFS_NAME = $$(KERNEL_NAME)-initramfs
##@ Kernel install flag.
KERNEL_INSTALL :=
KERNEL_NAME := vmlinux
KERNEL_DEPENDS :=
@@ -513,6 +569,15 @@ endef
define Device/Check/Common
_PROFILE_SET = $$(strip $$(foreach profile,$$(PROFILES) DEVICE_$(1),$$(call DEVICE_CHECK_PROFILE,$$(profile))))
# Check if device is disabled and if so do not mark to be installed when ImageBuilder is used
ifeq ($(IB),1)
ifeq ($$(DEFAULT),n)
_PROFILE_SET :=
endif
ifeq ($$(BROKEN),y)
_PROFILE_SET :=
endif
endif
DEVICE_PACKAGES += $$(call extra_packages,$$(DEVICE_PACKAGES))
ifdef TARGET_PER_DEVICE_ROOTFS
$$(eval $$(call merge_packages,_PACKAGES,$$(DEVICE_PACKAGES) $$(call DEVICE_EXTRA_PACKAGES,$(1))))
+2 -2
View File
@@ -1,2 +1,2 @@
LINUX_VERSION-6.6 = .58
LINUX_KERNEL_HASH-6.6.58 = e7df81e588d70fab5ec3ec3bb04ac53d51f0860fc3b1ec45e0a4167a026899db
LINUX_VERSION-6.6 = .144
LINUX_KERNEL_HASH-6.6.144 = ec19b8307b495078cdc03749e63cb3802ac23cf6122c82eb9719feeb4557ecc3
+1 -1
View File
@@ -175,7 +175,6 @@ define Kernel/PrepareConfigPerRootfs
[ ! -d "$(1)" ] || rm -rf $(1); \
mkdir $(1) && $(CP) -T $(LINUX_DIR) $(1); \
touch $(1)/.config; \
rm -rf $(1)/usr/initramfs_data.cpio*; \
}
endef
@@ -190,6 +189,7 @@ define Kernel/CompileImage/Initramfs
$(call Kernel/Configure/Initramfs,$(if $(1),$(1),$(TARGET_DIR)),$(LINUX_DIR)$(2)); \
$(CP) $(GENERIC_PLATFORM_DIR)/other-files/init $(if $(1),$(1),$(TARGET_DIR))/init; \
$(if $(SOURCE_DATE_EPOCH),touch -hcd "@$(SOURCE_DATE_EPOCH)" $(if $(1),$(1),$(TARGET_DIR)) $(if $(1),$(1),$(TARGET_DIR))/init;) \
rm -rf $(LINUX_DIR)$(2)/usr/initramfs_data.cpio*; \
$(if $(CONFIG_TARGET_ROOTFS_INITRAMFS_SEPARATE), \
$(call locked,{ \
$(if $(call qstrip,$(CONFIG_EXTERNAL_CPIO)), \
+1 -1
View File
@@ -124,7 +124,7 @@ define Build/Configure/Meson
$(call Meson/CreateCrossFile,$(PKG_BUILD_DIR)/openwrt-cross.txt)
$(call Meson, \
setup \
--buildtype plain \
--buildtype $(if $(CONFIG_DEBUG),debug,plain) \
--native-file $(PKG_BUILD_DIR)/openwrt-native.txt \
--cross-file $(PKG_BUILD_DIR)/openwrt-cross.txt \
-Ddefault_library=both \
+113
View File
@@ -0,0 +1,113 @@
include $(INCLUDE_DIR)/prereq.mk
PKG_NAME ?= optee-os
ifndef PKG_SOURCE_PROTO
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL_FILE:=$(PKG_VERSION).tar.gz
PKG_SOURCE_URL = https://github.com/OP-TEE/optee_os/archive/refs/tags/
TAR_OPTIONS+= --transform 's/optee_os/$(PKG_NAME)/'
endif
PKG_BUILD_DIR = $(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
PKG_TARGETS := bin
PKG_FLAGS:=nonshared
PKG_LICENSE:=BSD 2-Clause
PKG_LICENSE_FILES:=LICENSE
PKG_BUILD_PARALLEL ?= 1
$(eval $(call TestHostCommand,python3-cryptography, \
Please install the Python3 cryptography module, \
$(STAGING_DIR_HOST)/bin/python3 -c 'import cryptography'))
$(eval $(call TestHostCommand,python3-pyelftools, \
Please install the Python3 pyelftools module, \
$(STAGING_DIR_HOST)/bin/python3 -c 'import elftools'))
export GCC_HONOUR_COPTS=s
define Package/optee-os/install/default
$(CP) $(patsubst %,$(PKG_BUILD_DIR)/out/arm-plat-$(PLAT)/core/%,$(OPTEE_IMAGE)) $(1)/
endef
Package/optee-os/install = $(Package/optee-os/install/default)
define Optee-os/Init
BUILD_TARGET:=
BUILD_SUBTARGET:=
BUILD_DEVICES:=
NAME:=
DEPENDS:=
HIDDEN:=
DEFAULT:=
VARIANT:=$(1)
PLAT:=$(1)
PLAT_FLAVOR:=
OPTEE_IMAGE:=tee-header_v2.bin tee-pager_v2.bin tee-pageable_v2.bin
endef
TARGET_DEP = TARGET_$(BUILD_TARGET)$(if $(BUILD_SUBTARGET),_$(BUILD_SUBTARGET))
define Build/Optee-os/Target
$(eval $(call Optee-os/Init,$(1)))
$(eval $(call Optee-os/Default,$(1)))
$(eval $(call Optee-os/$(1),$(1)))
define Package/optee-os-$(1)
SECTION:=boot
CATEGORY:=Boot Loaders
TITLE:=OPTEE-OS for $(NAME)
VARIANT:=$(VARIANT)
DEPENDS:=@!IN_SDK $(DEPENDS)
HIDDEN:=$(HIDDEN)
ifneq ($(BUILD_TARGET),)
DEPENDS += @$(TARGET_DEP)
ifneq ($(BUILD_DEVICES),)
DEFAULT := y if ($(TARGET_DEP)_Default \
$(patsubst %,|| $(TARGET_DEP)_DEVICE_%,$(BUILD_DEVICES)) \
$(patsubst %,|| $(patsubst TARGET_%,TARGET_DEVICE_%,$(TARGET_DEP))_DEVICE_%,$(BUILD_DEVICES)))
endif
endif
$(if $(DEFAULT),DEFAULT:=$(DEFAULT))
URL:=https://optee.readthedocs.io
endef
define Package/optee-os-$(1)/install
$$(Package/optee-os/install)
endef
endef
define Build/Configure/Optee-os
endef
define Build/Compile/Optee-os
+$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
PATH=$(LINUX_DIR)/scripts/dtc/:$(STAGING_DIR_HOST)/bin:$(PATH) \
CROSS_COMPILE=$(TARGET_CROSS) \
CROSS_COMPILE_core="$(TARGET_CROSS)" \
CROSS_COMPILE_ta_arm64="$(TARGET_CROSS)" \
CROSS_COMPILE_ta_arm32="$(TARGET_CROSS)" \
$(if $(CONFIG_ARCH_64BIT), CFG_ARM64_core=y CFG_USER_TA_TARGETS=ta_arm64, CFG_ARM32_core=y) \
PLATFORM="$(PLAT)" \
PLATFORM_FLAVOR="$(call qstrip,$(PLAT_FLAVOR))" \
$(OPTEE_MAKE_FLAGS)
endef
define BuildPackage/Optee-os/Defaults
Build/Configure/Default = $$$$(Build/Configure/Optee-os)
Build/Compile/Default = $$$$(Build/Compile/Optee-os)
endef
define BuildPackage/Optee-os
$(eval $(call BuildPackage/Optee-os/Defaults))
$(foreach type,$(if $(DUMP),$(OPTEE_TARGETS),$(BUILD_VARIANT)), \
$(eval $(call Build/Optee-os/Target,$(type)))
)
$(eval $(call Build/DefaultTargets))
$(foreach type,$(if $(DUMP),$(OPTEE_TARGETS),$(BUILD_VARIANT)), \
$(call BuildPackage,optee-os-$(type))
)
endef
+1 -1
View File
@@ -248,7 +248,7 @@ endif
)
endif
$(INSTALL_DIR) $$(PDIR_$(1))/tmp
$(INSTALL_DIR) $$(PDIR_$(1))
ifeq ($(CONFIG_USE_APK),)
mkdir -p $$(IDIR_$(1))/CONTROL
+4 -4
View File
@@ -9,11 +9,11 @@ SHELL:=sh
PKG_NAME:=Build dependency
$(eval $(call TestHostCommand,true, \
Please install GNU 'coreutils', \
Please install 'coreutils', \
$(TRUE)))
$(eval $(call TestHostCommand,false, \
Please install GNU 'coreutils', \
Please install 'coreutils', \
$(FALSE); [ $$$$$$$$? = 1 ] && $(TRUE)))
# Required for the toolchain
@@ -174,8 +174,8 @@ $(eval $(call SetupHostCommand,bzip2,Please install 'bzip2', \
$(eval $(call SetupHostCommand,wget,Please install GNU 'wget', \
wget --version | grep GNU))
$(eval $(call SetupHostCommand,install,Please install GNU 'install', \
install --version | grep GNU, \
$(eval $(call SetupHostCommand,install,Please install 'install', \
install --version | grep 'GNU\|uutils', \
ginstall --version | grep GNU))
$(eval $(call SetupHostCommand,perl,Please install Perl 5.x, \
+36 -48
View File
@@ -7,10 +7,17 @@ ifneq ($(__target_inc),1)
__target_inc=1
# default device type
##@
# @brief Default device type ( basic | nas | router ).
##
DEVICE_TYPE?=router
# Default packages - the really basic set
##@
# @brief Default packages.
#
# The really basic set. Additional packages are added based on @DEVICE_TYPE and
# @CONFIG_* values.
##
DEFAULT_PACKAGES:=\
base-files \
ca-bundle \
@@ -27,15 +34,21 @@ DEFAULT_PACKAGES:=\
urandom-seed \
urngd
# For the basic set
##@
# @brief Default packages for @DEVICE_TYPE basic.
##
DEFAULT_PACKAGES.basic:=
# For nas targets
##@
# @brief Default packages for @DEVICE_TYPE nas.
##
DEFAULT_PACKAGES.nas:=\
block-mount \
fdisk \
lsblk \
mdadm
# For router targets
##@
# @brief Default packages for @DEVICE_TYPE router.
##
DEFAULT_PACKAGES.router:=\
dnsmasq-full \
firewall4 \
@@ -45,16 +58,16 @@ DEFAULT_PACKAGES.router:=\
odhcpd-ipv6only \
ppp \
ppp-mod-pppoe
# For easy usage
##@
# @brief For easy usage
##
DEFAULT_PACKAGES.tweak:=\
autocore \
block-mount \
default-settings-chn \
kmod-nf-nathelper \
kmod-nf-nathelper-extra \
luci-light \
luci-app-cpufreq \
luci-app-opkg \
luci-app-package-manager \
luci-compat \
luci-lib-base \
luci-lib-ipkg
@@ -90,54 +103,29 @@ else
endif
endif
ifneq ($(DUMP),)
# Parse generic config that might be set before a .config is generated to modify the
# default package configuration
# Keep DYNAMIC_DEF_PKG_CONF in sync with toplevel.mk to reflect the same configs
DYNAMIC_DEF_PKG_CONF := CONFIG_USE_APK CONFIG_SELINUX CONFIG_SMALL_FLASH CONFIG_SECCOMP
$(foreach config, $(DYNAMIC_DEF_PKG_CONF), \
$(eval $(config) := $(shell grep "$(config)=y" $(TOPDIR)/.config 2>/dev/null)) \
)
# The config options that are enabled by default and where other default
# packages depends on needs to be set if they are missing in the .config.
ifeq ($(shell grep "CONFIG_SECCOMP" $(TOPDIR)/.config 2>/dev/null),)
ifeq ($(filter $(BOARD), uml),)
ifneq ($(filter $(ARCH), aarch64 arm armeb mips mipsel mips64 mips64el i386 powerpc x86_64),)
CONFIG_SECCOMP := y
endif
endif
endif
endif
ifneq ($(CONFIG_USE_APK),)
DEFAULT_PACKAGES+=apk-openssl
else
DEFAULT_PACKAGES+=opkg
endif
ifneq ($(CONFIG_SELINUX),)
DEFAULT_PACKAGES+=busybox-selinux procd-selinux
else
DEFAULT_PACKAGES+=busybox procd
endif
# include ujail on systems with enough storage
ifeq ($(CONFIG_SMALL_FLASH),)
DEFAULT_PACKAGES+=procd-ujail
endif
# include seccomp ld-preload hooks if kernel supports it
ifneq ($(CONFIG_SECCOMP),)
DEFAULT_PACKAGES+=procd-seccomp
ifeq ($(filter small_flash,$(FEATURES)),)
DEFAULT_PACKAGES+=procd-ujail
endif
# Add device specific packages (here below to allow device type set from subtarget)
DEFAULT_PACKAGES += $(DEFAULT_PACKAGES.$(DEVICE_TYPE))
# Add tweaked packages
# DEFAULT_PACKAGES += $(DEFAULT_PACKAGES.tweak)
DEFAULT_PACKAGES += $(DEFAULT_PACKAGES.tweak)
##@
# @brief Filter out packages, prepended with `-`.
#
# @param 1: Package list.
##
filter_packages = $(filter-out -% $(patsubst -%,%,$(filter -%,$(1))),$(1))
##@
# @brief Append extra package dependencies.
#
# @param 1: Package list.
##
extra_packages = $(if $(filter wpad wpad-% nas,$(1)),iwinfo)
define ProfileDefault
+2 -17
View File
@@ -75,22 +75,7 @@ endif
_ignore = $(foreach p,$(IGNORE_PACKAGES),--ignore $(p))
# Config that will invalidate the .targetinfo as they will affect
# DEFAULT_PACKAGES.
# Keep DYNAMIC_DEF_PKG_CONF in sync with target.mk to reflect the same configs
DYNAMIC_DEF_PKG_CONF := CONFIG_USE_APK CONFIG_SELINUX CONFIG_SMALL_FLASH CONFIG_SECCOMP
check-dynamic-def-pkg: FORCE
@+DEF_PKG_CONFS=""; \
if [ -f $(TOPDIR)/.config ]; then \
for config in $(DYNAMIC_DEF_PKG_CONF); do \
DEF_PKG_CONFS="$$DEF_PKG_CONFS "$$(grep "$$config"=y $(TOPDIR)/.config); \
done; \
fi; \
[ ! -f tmp/.packagedynamicdefault ] || OLD_DEF_PKG_CONFS=$$(cat tmp/.packagedynamicdefault); \
[ "$$DEF_PKG_CONFS" = "$$OLD_DEF_PKG_CONFS" ] || rm -rf tmp/info/.targetinfo*; \
mkdir -p tmp && echo "$$DEF_PKG_CONFS" > tmp/.packagedynamicdefault;
prepare-tmpinfo: check-dynamic-def-pkg FORCE
prepare-tmpinfo: FORCE
@+$(MAKE) -r -s $(STAGING_DIR_HOST)/.prereq-build $(PREP_MK)
mkdir -p tmp/info feeds
[ -e $(TOPDIR)/feeds/base ] || ln -sf $(TOPDIR)/package $(TOPDIR)/feeds/base
@@ -216,7 +201,7 @@ else
DOWNLOAD_DIRS = package/download
endif
download: .config FORCE $(if $(wildcard $(STAGING_DIR_HOST)/bin/flock),,tools/flock/compile)
download: .config FORCE $(if $(wildcard $(STAGING_DIR_HOST)/bin/flock),,tools/flock/compile) $(if $(wildcard $(STAGING_DIR_HOST)/bin/zstd),,tools/zstd/compile)
@+$(foreach dir,$(DOWNLOAD_DIRS),$(SUBMAKE) $(dir);)
clean dirclean: .config
+13 -5
View File
@@ -1,12 +1,20 @@
PKG_NAME ?= trusted-firmware-a
PKG_CPE_ID ?= cpe:/a:arm:trusted_firmware-a
ifndef PKG_SOURCE_PROTO
PKG_SOURCE = trusted-firmware-a-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/snapshot
PKG_LTS ?=
ifneq ($(PKG_LTS),)
PKG_VERSION_PREFIX:=lts-v
PKG_BUILD_DIR = $(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION_PREFIX)$(PKG_VERSION)
else
PKG_VERSION_PREFIX:=v
PKG_BUILD_DIR = $(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
endif
PKG_BUILD_DIR = $(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
ifndef PKG_SOURCE_PROTO
PKG_SOURCE = trusted-firmware-a-$(PKG_VERSION_PREFIX)$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/TrustedFirmware-A/trusted-firmware-a/tar.gz/$(PKG_VERSION_PREFIX)$(PKG_VERSION)?
endif
PKG_TARGETS := bin
PKG_FLAGS:=nonshared
@@ -82,7 +90,7 @@ define Build/Compile/Trusted-Firmware-A
OPENSSL_DIR=$(STAGING_DIR_HOST) \
$(if $(DTC),DTC="$(DTC)") \
PLAT=$(PLAT) \
BUILD_STRING="ImmortalWrt v$(PKG_VERSION)-$(PKG_RELEASE) ($(VARIANT))" \
BUILD_STRING="ImmortalWrt $(PKG_VERSION_PREFIX)$(PKG_VERSION)-$(PKG_RELEASE) ($(VARIANT))" \
$(if $(CONFIG_BINUTILS_VERSION_2_37)$(CONFIG_BINUTILS_VERSION_2_38),,LDFLAGS="-no-warn-rwx-segments") \
$(TFA_MAKE_FLAGS)
endef
+2 -2
View File
@@ -23,13 +23,13 @@ PKG_CONFIG_DEPENDS += \
sanitize = $(call tolower,$(subst _,-,$(subst $(space),-,$(1))))
VERSION_NUMBER:=$(call qstrip,$(CONFIG_VERSION_NUMBER))
VERSION_NUMBER:=$(if $(VERSION_NUMBER),$(VERSION_NUMBER),SNAPSHOT)
VERSION_NUMBER:=$(if $(VERSION_NUMBER),$(VERSION_NUMBER),24.10-SNAPSHOT)
VERSION_CODE:=$(call qstrip,$(CONFIG_VERSION_CODE))
VERSION_CODE:=$(if $(VERSION_CODE),$(VERSION_CODE),$(REVISION))
VERSION_REPO:=$(call qstrip,$(CONFIG_VERSION_REPO))
VERSION_REPO:=$(if $(VERSION_REPO),$(VERSION_REPO),https://downloads.immortalwrt.org/snapshots)
VERSION_REPO:=$(if $(VERSION_REPO),$(VERSION_REPO),https://downloads.immortalwrt.org/releases/24.10-SNAPSHOT)
VERSION_DIST:=$(call qstrip,$(CONFIG_VERSION_DIST))
VERSION_DIST:=$(if $(VERSION_DIST),$(VERSION_DIST),ImmortalWrt)
+1 -4
View File
@@ -142,10 +142,7 @@ else
$(call ERROR_MESSAGE,WARNING: Applying padding in $$d/Packages to workaround usign SHA-512 bug!); \
{ echo ""; echo ""; } >> Packages;; \
esac; \
echo -n '{"architecture": "$(ARCH_PACKAGES)", "packages":{' > index.json; \
sed -n -e 's/^Package: \(.*\)$$/"\1":/p' -e 's/^Version: \(.*\)$$/"\1",/p' Packages | tr '\n' ' ' >> index.json; \
echo '}}' >> index.json; \
sed -i 's/, }}/}}/' index.json; \
$(SCRIPT_DIR)/make-index-json.py -f opkg -a "$(ARCH_PACKAGES)" Packages > index.json; \
gzip -9nc Packages > Packages.gz; \
); done
ifdef CONFIG_SIGNED_PACKAGES
+6 -1
View File
@@ -39,7 +39,11 @@ endif
define Package/base-files
SECTION:=base
CATEGORY:=Base system
DEPENDS:=+netifd +libc +jsonfilter +SIGNED_PACKAGES:usign +SIGNED_PACKAGES:openwrt-keyring +NAND_SUPPORT:ubi-utils +fstools +fwtool
DEPENDS:= \
+netifd +libc +jsonfilter +SIGNED_PACKAGES:usign +SIGNED_PACKAGES:openwrt-keyring \
+NAND_SUPPORT:ubi-utils +fstools +fwtool \
+SELINUX:procd-selinux +!SELINUX:procd +USE_SECCOMP:procd-seccomp \
+SELINUX:busybox-selinux +!SELINUX:busybox
TITLE:=Base filesystem for OpenWrt
URL:=http://openwrt.org/
VERSION:=$(PKG_RELEASE)~$(lastword $(subst -, ,$(REVISION)))
@@ -251,6 +255,7 @@ ifneq ($(CONFIG_USE_APK),)
$(VERSION_SED_SCRIPT) $(1)/etc/apk/repositories
rm -f $(1)/etc/uci-defaults/13_fix-group-user
rm -f $(1)/sbin/pkg_check
else
$(if $(CONFIG_CLEAN_IPKG),, \
mkdir -p $(1)/etc/opkg; \
+1 -1
View File
@@ -321,7 +321,7 @@ generate_static_system() {
set system.ntp='timeserver'
set system.ntp.enabled='1'
set system.ntp.enable_server='0'
add_list system.ntp.server='time1.apple.com'
add_list system.ntp.server='time.apple.com'
add_list system.ntp.server='time1.google.com'
add_list system.ntp.server='time.cloudflare.com'
add_list system.ntp.server='pool.ntp.org'
+4 -2
View File
@@ -24,6 +24,8 @@ boot() {
chmod 1777 /var/lock
mkdir -p /var/log
mkdir -p /var/run
ln -s /var/run /run
ln -s /var/lock /run/lock
mkdir -p /var/state
mkdir -p /var/tmp
mkdir -p /tmp/.uci
@@ -34,9 +36,9 @@ boot() {
touch /tmp/resolv.conf.d/resolv.conf.auto
ln -sf /tmp/resolv.conf.d/resolv.conf.auto /tmp/resolv.conf.auto
ln -sf /tmp/resolv.conf.d/resolv.conf.auto /tmp/resolv.conf
grep -q debugfs /proc/filesystems && /bin/mount -o noatime -t debugfs debugfs /sys/kernel/debug
grep -q debugfs /proc/filesystems && /bin/mount -o nosuid,nodev,noexec,noatime -t debugfs debugfs /sys/kernel/debug
grep -q bpf /proc/filesystems && /bin/mount -o nosuid,nodev,noexec,noatime,mode=0700 -t bpf bpffs /sys/fs/bpf
grep -q pstore /proc/filesystems && /bin/mount -o noatime -t pstore pstore /sys/fs/pstore
grep -q pstore /proc/filesystems && /bin/mount -o nosuid,nodev,noexec,noatime -t pstore pstore /sys/fs/pstore
[ "$FAILSAFE" = "true" ] && touch /tmp/.failsafe
touch /tmp/.config_pending
-4
View File
@@ -100,10 +100,6 @@ service_triggers() {
return 0
}
service_data() {
return 0
}
service_running() {
local instance="${1:-*}"
@@ -3,10 +3,16 @@
json_init
json_load "$(cat /etc/board.json)"
json_select credentials
json_get_vars root_password_hash root_password_hash
[ -z "$root_password_hash" ] || sed -i "s|^root:[^:]*|root:$root_password_hash|g" /etc/shadow
if json_is_a credentials object; then
json_select credentials
json_get_vars root_password_hash root_password_hash
if [ -n "$root_password_hash" ]; then
sed -i "s|^root:[^:]*|root:$root_password_hash|g" /etc/shadow
fi
json_get_vars root_password_plain root_password_plain
[ -z "$root_password_plain" ] || { (echo "$root_password_plain"; sleep 1; echo "$root_password_plain") | passwd root }
json_select ..
json_get_vars root_password_plain root_password_plain
if [ -n "$root_password_plain" ]; then
(echo "$root_password_plain"; sleep 1; echo "$root_password_plain") | passwd root
fi
json_select ..
fi
@@ -125,8 +125,8 @@ caldata_valid() {
caldata_patch_data() {
local data=$1
local data_count=$((${#1} / 2))
local data_offset=$(($2))
local chksum_offset=$(($3))
[ -n "$2" ] && local data_offset=$(($2))
[ -n "$3" ] && local chksum_offset=$(($3))
local target=$4
local fw_data
local fw_chksum
@@ -66,7 +66,7 @@ get_mac_ascii() {
local key="$2"
local mac_dirty
mac_dirty=$(strings "$part" | sed -n 's/^'"$key"'=//p')
mac_dirty=$(strings "$part" | tr -d ' \t' | sed -n 's/^'"$key"'=//p' | head -n 1)
# "canonicalize" mac
[ -n "$mac_dirty" ] && macaddr_canonicalize "$mac_dirty"
@@ -315,3 +315,10 @@ macaddr_canonicalize() {
dt_is_enabled() {
grep -q okay "/proc/device-tree/$1/status"
}
get_linux_version() {
local ver=$(uname -r)
local minor=${ver%\.*}
printf "%d%02d%03d" ${ver%%\.*} ${minor#*\.} ${ver##*\.} 2>/dev/null
}
+4
View File
@@ -20,6 +20,7 @@ CONF_IMAGE=
CONF_BACKUP_LIST=0
CONF_BACKUP=
CONF_RESTORE=
USE_CURR_PART=0
NEED_IMAGE=
HELP=0
TEST=0
@@ -50,6 +51,7 @@ while [ -n "$1" ]; do
-r|--restore-backup) CONF_RESTORE="$2" NEED_IMAGE=1; shift;;
-l|--list-backup) CONF_BACKUP_LIST=1;;
-f) CONF_IMAGE="$2"; shift;;
-s) USE_CURR_PART=1;;
-F|--force) export FORCE=1;;
-T|--test) TEST=1;;
-h|--help) HELP=1; break;;
@@ -79,6 +81,7 @@ upgrade-option:
-p do not attempt to restore the partition table after flash.
-k include in backup a list of current installed packages at
$INSTALLED_PACKAGES
-s stay on current partition (for dual firmware devices)
-T | --test
Verify image and config .tar.gz but do not actually flash.
-F | --force
@@ -416,6 +419,7 @@ else
json_add_string command "$COMMAND"
json_add_object options
json_add_int save_partitions "$SAVE_PARTITIONS"
[ $USE_CURR_PART -eq 1 ] && json_add_boolean use_curr_part 1
json_close_object
ubus call system sysupgrade "$(json_dump)"
+1 -1
View File
@@ -190,7 +190,7 @@ if VERSIONOPT
config VERSION_REPO
string
prompt "Release repository"
default "https://downloads.immortalwrt.org/snapshots"
default "https://downloads.immortalwrt.org/releases/24.10-SNAPSHOT"
help
This is the repository address embedded in the image, it defaults
to the trunk snapshot repo; the url may contain the following placeholders:
@@ -29,12 +29,15 @@ define Trusted-Firmware-A/Default
HIDDEN:=y
BOOT_DEVICE:=
DDR3_FLYBY:=
DDR3_FREQ:=
DDR_TYPE:=
NAND_TYPE:=
BOARD_QFN:=
DRAM_USE_COMB:=
RAM_BOOT_UART_DL:=
USE_UBI:=
FIP_OFFSET:=
FIP_SIZE:=
endef
define Trusted-Firmware-A/mt7622-nor-1ddr
@@ -177,6 +180,7 @@ define Trusted-Firmware-A/mt7981-ram-ddr3
PLAT:=mt7981
DDR_TYPE:=ddr3
RAM_BOOT_UART_DL:=1
DDR3_FREQ:=1866
HIDDEN:=
DEFAULT:=TARGET_mediatek_filogic
endef
@@ -197,6 +201,15 @@ define Trusted-Firmware-A/mt7981-emmc-ddr3
DDR_TYPE:=ddr3
endef
define Trusted-Firmware-A/mt7981-emmc-ddr3-1866mhz
NAME:=Mediatek MT7981 (eMMC, DDR3-1866MHz)
BOOT_DEVICE:=emmc
BUILD_SUBTARGET:=filogic
PLAT:=mt7981
DDR_TYPE:=ddr3
DDR3_FREQ:=1866
endef
define Trusted-Firmware-A/mt7981-sdmmc-ddr3
NAME:=MediaTek MT7981 (SD card, DDR3)
BOOT_DEVICE:=sdmmc
@@ -221,6 +234,25 @@ define Trusted-Firmware-A/mt7981-spim-nand-ddr3
DDR_TYPE:=ddr3
endef
define Trusted-Firmware-A/mt7981-spim-nand-ddr3-1866mhz
NAME:=Mediatek MT7981 (SPI-NAND via SPIM, DDR3-1866MHz)
BOOT_DEVICE:=spim-nand
BUILD_SUBTARGET:=filogic
PLAT:=mt7981
DDR_TYPE:=ddr3
DDR3_FREQ:=1866
endef
define Trusted-Firmware-A/mt7981-cudy-tr3000-v1
NAME:=Cudy TR3000 v1 (SPI-NAND via SPIM, DDR3)
BOOT_DEVICE:=spim-nand
BUILD_SUBTARGET:=filogic
PLAT:=mt7981
DDR_TYPE:=ddr3
FIP_OFFSET:=0x3c0000
FIP_SIZE:=0x200000
endef
define Trusted-Firmware-A/mt7986-ram-ddr4
NAME:=MediaTek MT7986 (RAM, DDR4)
BOOT_DEVICE:=ram
@@ -352,6 +384,15 @@ define Trusted-Firmware-A/mt7986-spim-nand-ddr3
DDR_TYPE:=ddr3
endef
define Trusted-Firmware-A/mt7986-spim-nand-ubi-ddr3
NAME:=MediaTek MT7986 (SPI-NAND via SPIM using UBI, DDR3)
BOOT_DEVICE:=spim-nand
BUILD_SUBTARGET:=filogic
PLAT:=mt7986
DDR_TYPE:=ddr3
USE_UBI:=1
endef
define Trusted-Firmware-A/mt7988-nor-ddr3
NAME:=MediaTek MT7988 (SPI-NOR, DDR3)
BOOT_DEVICE:=nor
@@ -443,6 +484,28 @@ define Trusted-Firmware-A/mt7988-ram-comb
DEFAULT:=TARGET_mediatek_filogic
endef
define Trusted-Firmware-A/mt7988-ram-ddr3
NAME:=MediaTek MT7988 (RAM/ddr3)
BOOT_DEVICE:=ram
BUILD_SUBTARGET:=filogic
PLAT:=mt7988
RAM_BOOT_UART_DL:=1
HIDDEN:=
DEFAULT:=TARGET_mediatek_filogic
DDR_TYPE:=ddr3
endef
define Trusted-Firmware-A/mt7988-ram-ddr4
NAME:=MediaTek MT7988 (RAM/ddr4)
BOOT_DEVICE:=ram
BUILD_SUBTARGET:=filogic
PLAT:=mt7988
RAM_BOOT_UART_DL:=1
HIDDEN:=
DEFAULT:=TARGET_mediatek_filogic
DDR_TYPE:=ddr4
endef
define Trusted-Firmware-A/mt7988-nor-comb
NAME:=MediaTek MT7988 (SPI-NOR)
BOOT_DEVICE:=nor
@@ -501,6 +564,15 @@ define Trusted-Firmware-A/mt7988-spim-nand-ubi-comb
USE_UBI:=1
endef
define Trusted-Firmware-A/mt7988-spim-nand-ubi-ddr4
NAME:=MediaTek MT7988 (SPI-NAND via SPIM, DDR4)
BOOT_DEVICE:=spim-nand
BUILD_SUBTARGET:=filogic
PLAT:=mt7988
DDR_TYPE:=ddr4
USE_UBI:=1
endef
TFA_TARGETS:= \
mt7622-nor-1ddr \
mt7622-nor-2ddr \
@@ -516,21 +588,25 @@ TFA_TARGETS:= \
mt7622-sdmmc-2ddr \
mt7981-ram-ddr3 \
mt7981-emmc-ddr3 \
mt7981-emmc-ddr3-1866mhz \
mt7981-nor-ddr3 \
mt7981-nor-ddr4 \
mt7981-sdmmc-ddr3 \
mt7981-snand-ddr3 \
mt7981-spim-nand-ddr3 \
mt7981-spim-nand-ubi-ddr4 \
mt7981-spim-nand-ddr3-1866mhz \
mt7981-ram-ddr4 \
mt7981-emmc-ddr4 \
mt7981-spim-nand-ddr4 \
mt7981-cudy-tr3000-v1 \
mt7986-ram-ddr3 \
mt7986-emmc-ddr3 \
mt7986-nor-ddr3 \
mt7986-sdmmc-ddr3 \
mt7986-snand-ddr3 \
mt7986-spim-nand-ddr3 \
mt7986-spim-nand-ubi-ddr3 \
mt7986-ram-ddr4 \
mt7986-emmc-ddr4 \
mt7986-nor-ddr4 \
@@ -550,13 +626,16 @@ TFA_TARGETS:= \
mt7988-snand-ddr4 \
mt7988-spim-nand-ddr4 \
mt7988-ram-comb \
mt7988-ram-ddr3 \
mt7988-ram-ddr4 \
mt7988-emmc-comb \
mt7988-nor-comb \
mt7988-sdmmc-comb \
mt7988-snand-comb \
mt7988-snand-ubi-comb \
mt7988-spim-nand-comb \
mt7988-spim-nand-ubi-comb
mt7988-spim-nand-ubi-comb \
mt7988-spim-nand-ubi-ddr4
TFA_MAKE_FLAGS += \
BOOT_DEVICE=$(BOOT_DEVICE) \
@@ -566,10 +645,14 @@ TFA_MAKE_FLAGS += \
$(if $(NAND_TYPE),NAND_TYPE=$(NAND_TYPE)) \
HAVE_DRAM_OBJ_FILE=yes \
$(if $(DDR3_FLYBY),DDR3_FLYBY=1) \
$(if $(DDR3_FREQ),DDR3_FREQ_$(DDR3_FREQ)=1) \
$(if $(DRAM_USE_COMB),DRAM_USE_COMB=1) \
$(if $(RAM_BOOT_UART_DL),RAM_BOOT_UART_DL=1) \
$(if $(USE_UBI),UBI=1 $(if $(findstring mt7622,$(PLAT)),OVERRIDE_UBI_START_ADDR=0x80000)) \
$(if $(USE_UBI),UBI=1 $(if $(findstring mt7981,$(PLAT)),OVERRIDE_UBI_START_ADDR=0x100000)) \
$(if $(USE_UBI),UBI=1 $(if $(findstring mt7986,$(PLAT)),OVERRIDE_UBI_START_ADDR=0x200000)) \
$(if $(FIP_OFFSET),OVERRIDE_FIP_BASE=$(FIP_OFFSET)) \
$(if $(FIP_SIZE),OVERRIDE_FIP_SIZE=$(FIP_SIZE)) \
$(if $(RAM_BOOT_UART_DL),bl2,all)
define Package/trusted-firmware-a-ram/install
@@ -583,6 +666,8 @@ Package/trusted-firmware-a-mt7981-ram-ddr4/install = $(Package/trusted-firmware-
Package/trusted-firmware-a-mt7986-ram-ddr3/install = $(Package/trusted-firmware-a-ram/install)
Package/trusted-firmware-a-mt7986-ram-ddr4/install = $(Package/trusted-firmware-a-ram/install)
Package/trusted-firmware-a-mt7988-ram-comb/install = $(Package/trusted-firmware-a-ram/install)
Package/trusted-firmware-a-mt7988-ram-ddr3/install = $(Package/trusted-firmware-a-ram/install)
Package/trusted-firmware-a-mt7988-ram-ddr4/install = $(Package/trusted-firmware-a-ram/install)
define Package/trusted-firmware-a/install
$(INSTALL_DIR) $(STAGING_DIR_IMAGE)
@@ -0,0 +1,95 @@
From 11e2ed1bc7bc96bd2b094fef5f57acec4efae952 Mon Sep 17 00:00:00 2001
From: Tianling Shen <cnsztl@immortalwrt.org>
Date: Sun, 9 Mar 2025 02:02:24 +0800
Subject: [PATCH] : mtk_spi_nand: add support for dosilicon fmsh gsto spi nand
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
---
.../drivers/spi_nand/mtk_spi_nand.c | 28 ++++++++++++++-----
1 file changed, 21 insertions(+), 7 deletions(-)
--- a/plat/mediatek/apsoc_common/drivers/spi_nand/mtk_spi_nand.c
+++ b/plat/mediatek/apsoc_common/drivers/spi_nand/mtk_spi_nand.c
@@ -19,8 +19,11 @@
#define SPI_NAND_MAX_ID_LEN 4U
#define DELAY_US_400MS 400000U
+#define DOSILICON_ID 0xE5U
#define ETRON_ID 0xD5U
+#define FMSH_ID 0xA1U
#define GIGADEVICE_ID 0xC8U
+#define GSTO_ID 0x52U
#define MACRONIX_ID 0xC2U
#define MICRON_ID 0x2CU
#define TOSHIBA_ID 0x98U
@@ -129,7 +132,10 @@ static int spi_nand_quad_enable(uint8_t
if (manufacturer_id != MACRONIX_ID &&
manufacturer_id != GIGADEVICE_ID &&
+ manufacturer_id != GSTO_ID &&
+ manufacturer_id != DOSILICON_ID &&
manufacturer_id != ETRON_ID &&
+ manufacturer_id != FMSH_ID &&
manufacturer_id != FORESEE_ID) {
return 0;
}
@@ -364,6 +370,10 @@ static int spi_nand_check_pp(struct para
INFO("PP COPY %d CRC read: 0x%x, compute: 0x%x\n",
i, crc, crc_compute);
+ // Integrity CRC (bytes 254-255) on FMSH was reversed
+ if (crc != crc_compute)
+ crc = htobe16(pp->integrity_crc);
+
if (crc != crc_compute) {
ret = -EBADMSG;
continue;
@@ -400,8 +410,9 @@ static int spi_nand_check_pp(struct para
return ret;
}
-static int spi_nand_read_pp(struct parameter_page *pp, uint8_t *sel)
+static int spi_nand_read_pp(uint8_t *id, struct parameter_page *pp, uint8_t *sel)
{
+ const bool is_dosilicon = (id[1] == DOSILICON_ID);
uint8_t status;
uint8_t cfg_reg;
int ret, op_ret;
@@ -413,7 +424,7 @@ static int spi_nand_read_pp(struct param
return ret;
}
- ret = spi_nand_write_reg(SPI_NAND_REG_CFG, cfg_reg | BIT(6));
+ ret = spi_nand_write_reg(SPI_NAND_REG_CFG, is_dosilicon ? BIT(6) : (cfg_reg | BIT(6)));
if (ret != 0) {
return ret;
}
@@ -449,7 +460,7 @@ out:
ERROR("Parameter page read failed\n");
}
- ret = spi_nand_write_reg(SPI_NAND_REG_CFG, cfg_reg);
+ ret = spi_nand_write_reg(SPI_NAND_REG_CFG, is_dosilicon ? 0x10 : cfg_reg);
if (ret != 0) {
return ret;
}
@@ -589,12 +600,15 @@ int spi_nand_init(unsigned long long *si
return ret;
}
- ret = spi_nand_read_pp(pp, &sel);
+ ret = spi_nand_read_id(id);
+ if (ret != 0) {
+ ERROR("SPI_NAND Read ID failed.\n");
+ return ret;
+ }
+
+ ret = spi_nand_read_pp(id, pp, &sel);
if (ret != 0) {
ERROR("Parameter page read fail, fallback to read ID.\n");
- ret = spi_nand_read_id(id);
- if (ret != 0)
- return ret;
spi_nand_set_data_via_id(&spinand_dev, id, &vendor_id);
} else {
vendor_id = pp[sel].manufactuere_id;
@@ -0,0 +1,64 @@
#
# Copyright (C) 2024 Bootlin
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_VERSION:=2.10.17
PKG_RELEASE:=1
PKG_LTS:=1
PKG_HASH:=2558b2579dd1c45db6de89c49e647c109022d45da03eb74e0f6123c294295099
PKG_MAINTAINER:=Thomas Richard <thomas.richard@bootlin.com>
include $(INCLUDE_DIR)/kernel.mk
include $(INCLUDE_DIR)/trusted-firmware-a.mk
include $(INCLUDE_DIR)/package.mk
define Trusted-Firmware-A/Default
BUILD_TARGET:=stm32
BUILD_DEVICES:=$(1)
DEPENDS:=+u-boot-$(1) +optee-os-$(1)
endef
define Trusted-Firmware-A/stm32mp1
BUILD_SUBTARGET:=stm32mp1
PLAT:=stm32mp1
MAKE_ARGS += BL32_EXTRA2=$(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)-tee-pageable_v2.bin \
STM32MP_USB_PROGRAMMER=1 \
STM32MP1_OPTEE_IN_SYSRAM=1 \
ARM_ARCH_MAJOR=7
endef
define Trusted-Firmware-A/stm32mp135f-dk
$(call Trusted-Firmware-A/stm32mp1)
NAME:=STM32MP135F-DK
DTB_FILE_NAME=stm32mp135f-dk.dtb
endef
TFA_TARGETS := stm32mp135f-dk
TFA_MAKE_FLAGS += \
ARCH=aarch32 AARCH32_SP=optee \
BL32=$(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)-tee-header_v2.bin \
BL32_EXTRA1=$(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)-tee-pager_v2.bin \
BL33=$(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)-u-boot.bin \
BL33_CFG=$(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)-u-boot.dtb \
DTB_FILE_NAME=$(DTB_FILE_NAME) \
STM32MP_SDMMC=1 \
TARGET_BOARD="" \
$(MAKE_ARGS) \
all fip
define Package/trusted-firmware-a/install
$(INSTALL_DIR) $(STAGING_DIR_IMAGE)
$(CP) $(PKG_BUILD_DIR)/build/$(PLAT)/release/tf-a-$(BUILD_VARIANT).stm32 \
$(STAGING_DIR_IMAGE)/tf-a-$(BUILD_VARIANT).stm32
$(CP) $(PKG_BUILD_DIR)/build/$(PLAT)/release/fip.bin \
$(STAGING_DIR_IMAGE)/fip-$(BUILD_VARIANT).bin
endef
$(eval $(call BuildPackage/Trusted-Firmware-A))
+5
View File
@@ -201,4 +201,9 @@ define Build/Compile
CROSS_COMPILE=$(TARGET_CROSS)
endef
define Build/InstallDev
$(INSTALL_DIR) $(STAGING_DIR_IMAGE)
$(INSTALL_DATA) $(PKG_BUILD_DIR)/$(BINARIES_DIR)/at91bootstrap.bin $(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)-at91bootstrap.bin
endef
$(eval $(call BuildPackage/AT91Bootstrap))
+49
View File
@@ -0,0 +1,49 @@
#
# Copyright (C) 2024 Bootlin
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_VERSION:=4.3.0
PKG_RELEASE:=1
PKG_HASH:=390b271905c828d6def9fa6a77bbaa425f3b434d733c8eb18f582ccbc6896096
PKG_MAINTAINER:=Thomas Richard <thomas.richard@bootlin.com>
OPTEE_USE_INTREE_DTC:=1
include $(INCLUDE_DIR)/kernel.mk
include $(INCLUDE_DIR)/optee-os.mk
include $(INCLUDE_DIR)/package.mk
define Optee-os/Default
BUILD_TARGET:=stm32
endef
define Optee-os/stm32mp1
BUILD_SUBTARGET:=stm32mp1
PLAT:=stm32mp1
endef
define Optee-os/stm32mp135f-dk
$(call Optee-os/stm32mp1)
NAME:=STM32MP135F-DK
PLAT_FLAVOR:=135F_DK
endef
OPTEE_TARGETS := stm32mp135f-dk
define Package/optee-os/install/default
endef
define Build/InstallDev
$(INSTALL_DIR) $(STAGING_DIR_IMAGE)
$(foreach img,$(OPTEE_IMAGE), \
$(CP) $(PKG_BUILD_DIR)/out/arm-plat-$(PLAT)/core/$(img) $(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)-$(img); \
)
endef
$(eval $(call BuildPackage/Optee-os))
+1
View File
@@ -43,6 +43,7 @@ endef
define Trusted-Firmware-A/Default
BUILD_TARGET:=layerscape
BUILD_SUBTARGET:=armv8_64b
BUILD_DEVICES:=fsl_$(1)
DEPENDS:=+layerscape-rcw +u-boot-fsl_$(1)
endef
+94
View File
@@ -0,0 +1,94 @@
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_VERSION:=2025.07
PKG_HASH:=0f933f6c5a426895bf306e93e6ac53c60870e4b54cda56d95211bec99e63bec7
PKG_BUILD_DEPENDS:=arm-trusted-firmware-tools/host
UBOOT_USE_INTREE_DTC:=1
include $(INCLUDE_DIR)/u-boot.mk
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/host-build.mk
define U-Boot/Default
BUILD_TARGET:=airoha
FIP_COMPRESS:=1
endef
define U-Boot/an7581_rfb
NAME:=AN7581 Reference Board
UBOOT_CONFIG:=an7581_evb
BUILD_DEVICES:=airoha_an7581-evb
BUILD_SUBTARGET:=an7581
UBOOT_IMAGE:=u-boot.fip
BL2_IMAGE:=an7581-bl2.bin
BL31_IMAGE:=an7581-bl31.bin
endef
define U-Boot/an7583_rfb
NAME:=AN7583 Reference Board
UBOOT_CONFIG:=an7583_evb
BUILD_DEVICES:=airoha_an7583-evb
BUILD_SUBTARGET:=an7583
UBOOT_IMAGE:=u-boot.fip
BL2_IMAGE:=an7583-bl2.bin
BL31_IMAGE:=an7583-bl31.bin
endef
UBOOT_TARGETS := \
an7581_rfb \
an7583_rfb
UBOOT_CUSTOMIZE_CONFIG := \
--disable TOOLS_KWBIMAGE \
--disable TOOLS_LIBCRYPTO \
--disable TOOLS_MKEFICAPSULE \
--enable SERIAL_RX_BUFFER \
--set-val SERIAL_RX_BUFFER_SIZE 256
define Build/fip-image-bl2
$(STAGING_DIR_HOST)/bin/fiptool create \
--tb-fw files/$(BL2_IMAGE) \
$(PKG_BUILD_DIR)/bl2.fip
endef
define Build/fip-image
$(if $(FIP_COMPRESS), $(STAGING_DIR_HOST)/bin/lzma e \
$(PKG_BUILD_DIR)/u-boot.bin \
$(PKG_BUILD_DIR)/u-boot.bin.lzma)
$(if $(FIP_COMPRESS), $(STAGING_DIR_HOST)/bin/lzma e \
files/$(BL31_IMAGE) \
$(PKG_BUILD_DIR)/bl31.bin.lzma)
$(STAGING_DIR_HOST)/bin/fiptool create \
--soc-fw $(PKG_BUILD_DIR)/bl31.bin$(if $(FIP_COMPRESS),.lzma) \
--nt-fw $(PKG_BUILD_DIR)/u-boot.bin$(if $(FIP_COMPRESS),.lzma) \
$(PKG_BUILD_DIR)/u-boot.fip
endef
define Build/Configure
$(call Build/Configure/U-Boot)
sed -i 's/CONFIG_TOOLS_LIBCRYPTO=y/# CONFIG_TOOLS_LIBCRYPTO is not set/' $(PKG_BUILD_DIR)/.config
endef
define Build/Compile
$(call Build/Compile/U-Boot)
ifeq ($(UBOOT_IMAGE),u-boot.fip)
$(call Build/fip-image-bl2)
$(call Build/fip-image)
endif
endef
# don't stage files to bindir, let target/linux/airoha/image/*.mk do that
define Package/u-boot/install
endef
define Build/InstallDev
$(INSTALL_DIR) $(STAGING_DIR_IMAGE)
ifeq ($(UBOOT_IMAGE),u-boot.fip)
$(INSTALL_DATA) $(PKG_BUILD_DIR)/bl2.fip $(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)-bl2.fip
$(INSTALL_DATA) $(PKG_BUILD_DIR)/u-boot.fip $(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)-bl31-u-boot.fip
endif
endef
$(eval $(call BuildPackage/U-Boot))
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,55 @@
From 4f1fcf5281ee4e22b1e89a62bd0417878bcbeca5 Mon Sep 17 00:00:00 2001
From: Christian Marangi <ansuelsmth@gmail.com>
Date: Tue, 3 Jun 2025 10:41:18 +0200
Subject: [PATCH 1/2] linux/bitfield.h: import FIELD_PREP_CONST macro from
Linux Kernel
Import FIELD_PREP_CONST macro from Linux Kernel to permit usage of
FIELD_PREP with scenario where a constant value is needed.
Refer to commit e2192de59e45 ("bitfield: add FIELD_PREP_CONST()") in
Linux kernel for extensive explaination of why this is useful.
This is also to better align with the Linux Kernel for easier porting of
driver.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
---
include/linux/bitfield.h | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
--- a/include/linux/bitfield.h
+++ b/include/linux/bitfield.h
@@ -90,6 +90,32 @@
((typeof(_mask))(_val) << __bf_shf(_mask)) & (_mask); \
})
+#define __BF_CHECK_POW2(n) BUILD_BUG_ON_ZERO(((n) & ((n) - 1)) != 0)
+
+/**
+ * FIELD_PREP_CONST() - prepare a constant bitfield element
+ * @_mask: shifted mask defining the field's length and position
+ * @_val: value to put in the field
+ *
+ * FIELD_PREP_CONST() masks and shifts up the value. The result should
+ * be combined with other fields of the bitfield using logical OR.
+ *
+ * Unlike FIELD_PREP() this is a constant expression and can therefore
+ * be used in initializers. Error checking is less comfortable for this
+ * version, and non-constant masks cannot be used.
+ */
+#define FIELD_PREP_CONST(_mask, _val) \
+ ( \
+ /* mask must be non-zero */ \
+ BUILD_BUG_ON_ZERO((_mask) == 0) + \
+ /* check if value fits */ \
+ BUILD_BUG_ON_ZERO(~((_mask) >> __bf_shf(_mask)) & (_val)) + \
+ /* check if mask is contiguous */ \
+ __BF_CHECK_POW2((_mask) + (1ULL << __bf_shf(_mask))) + \
+ /* and create the value */ \
+ (((typeof(_mask))(_val) << __bf_shf(_mask)) & (_mask)) \
+ )
+
/**
* FIELD_GET() - extract a bitfield element
* @_mask: shifted mask defining the field's length and position
@@ -0,0 +1,56 @@
From 00e8038b8be74d599f7bc8078731cc2505832f57 Mon Sep 17 00:00:00 2001
From: Christian Marangi <ansuelsmth@gmail.com>
Date: Tue, 3 Jun 2025 10:47:15 +0200
Subject: [PATCH 2/2] mtd: spinand: winbond: add Winbond W25N04KV flash support
Add Winbond W25N04KV flash support that use a different value to detect
ECC bitflip.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
---
drivers/mtd/nand/spi/winbond.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
--- a/drivers/mtd/nand/spi/winbond.c
+++ b/drivers/mtd/nand/spi/winbond.c
@@ -11,6 +11,7 @@
#include <linux/device.h>
#include <linux/kernel.h>
#endif
+#include <linux/bitfield.h>
#include <linux/bug.h>
#include <linux/mtd/spinand.h>
@@ -18,6 +19,8 @@
#define WINBOND_CFG_BUF_READ BIT(3)
+#define W25N04KV_STATUS_ECC_5_8_BITFLIPS FIELD_PREP_CONST(STATUS_ECC_MASK, 0x3)
+
static SPINAND_OP_VARIANTS(read_cache_variants,
SPINAND_PAGE_READ_FROM_CACHE_QUADIO_OP(0, 2, NULL, 0),
SPINAND_PAGE_READ_FROM_CACHE_X4_OP(0, 1, NULL, 0),
@@ -121,6 +124,7 @@ static int w25n02kv_ecc_get_status(struc
return -EBADMSG;
case STATUS_ECC_HAS_BITFLIPS:
+ case W25N04KV_STATUS_ECC_5_8_BITFLIPS:
/*
* Let's try to retrieve the real maximum number of bitflips
* in order to avoid forcing the wear-leveling layer to move
@@ -169,6 +173,15 @@ static const struct spinand_info winbond
NAND_ECCREQ(8, 512),
SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
&write_cache_variants,
+ &update_cache_variants),
+ 0,
+ SPINAND_ECCINFO(&w25n02kv_ooblayout, w25n02kv_ecc_get_status)),
+ SPINAND_INFO("W25N04KV",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xaa, 0x23),
+ NAND_MEMORG(1, 2048, 128, 64, 4096, 40, 2, 1, 1),
+ NAND_ECCREQ(8, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
+ &write_cache_variants,
&update_cache_variants),
0,
SPINAND_ECCINFO(&w25n02kv_ooblayout, w25n02kv_ecc_get_status)),
@@ -0,0 +1,729 @@
From 0ee8053a17e6f4d6dbde0828e775309cba38c171 Mon Sep 17 00:00:00 2001
From: Christian Marangi <ansuelsmth@gmail.com>
Date: Tue, 29 Apr 2025 13:06:59 +0200
Subject: [PATCH 1/3] airoha: add support for Airoha AN7583 SoC
Add support for Airoha AN7583 SoC. This adds the Kconfig and Makefile
entry for the SoC, DTSI and initial config for it. Also add the code for
CPU and RAM initialization. Everything is mostly based on AN7581 that
share lots of common piece.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
---
arch/arm/dts/an7583-evb.dts | 67 +++++
arch/arm/dts/an7583.dtsi | 387 +++++++++++++++++++++++++++
arch/arm/mach-airoha/Kconfig | 14 +
arch/arm/mach-airoha/Makefile | 1 +
arch/arm/mach-airoha/an7583/Makefile | 3 +
arch/arm/mach-airoha/an7583/init.c | 47 ++++
board/airoha/an7583/MAINTAINERS | 5 +
board/airoha/an7583/Makefile | 3 +
board/airoha/an7583/an7583_rfb.c | 16 ++
configs/an7583_evb_defconfig | 83 ++++++
include/configs/an7583.h | 19 ++
11 files changed, 645 insertions(+)
create mode 100644 arch/arm/dts/an7583-evb.dts
create mode 100644 arch/arm/dts/an7583.dtsi
create mode 100644 arch/arm/mach-airoha/an7583/Makefile
create mode 100644 arch/arm/mach-airoha/an7583/init.c
create mode 100644 board/airoha/an7583/MAINTAINERS
create mode 100644 board/airoha/an7583/Makefile
create mode 100644 board/airoha/an7583/an7583_rfb.c
create mode 100644 configs/an7583_evb_defconfig
create mode 100644 include/configs/an7583.h
--- /dev/null
+++ b/arch/arm/dts/an7583-evb.dts
@@ -0,0 +1,67 @@
+// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+/dts-v1/;
+
+/* Bootloader installs ATF here */
+/memreserve/ 0x80000000 0x200000;
+
+#include <dt-bindings/leds/common.h>
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+#include "an7583.dtsi"
+
+/ {
+ model = "Airoha AN7583 Evaluation Board";
+ compatible = "airoha,an7583-evb", "airoha,an7583", "airoha,en7583";
+
+ aliases {
+ serial0 = &uart1;
+ };
+
+ chosen {
+ bootargs = "console=ttyS0,115200 earlycon";
+ stdout-path = "serial0:115200n8";
+ linux,usable-memory-range = <0x0 0x80200000 0x0 0x1fe00000>;
+ };
+
+ /* When running as a first-stage bootloader this isn't filled in automatically */
+ memory@80000000 {
+ device_type = "memory";
+ reg = <0x0 0x80000000 0x0 0x20000000>;
+ };
+};
+
+&an7583_pinctrl {
+ pcie0_rst_pins: pcie0-rst-pins {
+ conf {
+ pins = "pcie_reset0";
+ drive-open-drain = <1>;
+ };
+ };
+
+ pcie1_rst_pins: pcie1-rst-pins {
+ conf {
+ pins = "pcie_reset1";
+ drive-open-drain = <1>;
+ };
+ };
+};
+
+&pcie0 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pcie0_rst_pins>;
+ status = "okay";
+};
+
+&pcie1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pcie1_rst_pins>;
+ status = "okay";
+};
+
+&i2c0 {
+ status = "okay";
+};
+
+&snfi {
+ status = "okay";
+};
--- /dev/null
+++ b/arch/arm/dts/an7583.dtsi
@@ -0,0 +1,387 @@
+// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/clock/en7523-clk.h>
+#include <dt-bindings/reset/airoha,an7583-reset.h>
+#include <dt-bindings/leds/common.h>
+#include <dt-bindings/thermal/thermal.h>
+
+/ {
+ interrupt-parent = <&gic>;
+ #address-cells = <2>;
+ #size-cells = <2>;
+
+ reserved-memory {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+
+ atf-reserved-memory@80000000 {
+ no-map;
+ reg = <0x0 0x80000000 0x0 0x40000>;
+ };
+
+ npu-binary@84000000 {
+ no-map;
+ reg = <0x0 0x84000000 0x0 0xa00000>;
+ };
+
+ npu-flag@84b0000 {
+ no-map;
+ reg = <0x0 0x84b00000 0x0 0x100000>;
+ };
+
+ npu-pkt@85000000 {
+ no-map;
+ reg = <0x0 0x85000000 0x0 0x1a00000>;
+ };
+
+ npu-phyaddr@86b00000 {
+ no-map;
+ reg = <0x0 0x86b00000 0x0 0x100000>;
+ };
+
+ npu-rxdesc@86d00000 {
+ no-map;
+ reg = <0x0 0x86d00000 0x0 0x100000>;
+ };
+ };
+
+ psci {
+ compatible = "arm,psci-1.0";
+ method = "smc";
+ };
+
+ cpus {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ cpu-map {
+ cluster0 {
+ core0 {
+ cpu = <&cpu0>;
+ };
+
+ core1 {
+ cpu = <&cpu1>;
+ };
+ };
+ };
+
+ cpu0: cpu@0 {
+ device_type = "cpu";
+ compatible = "arm,cortex-a53";
+ reg = <0x0>;
+ enable-method = "psci";
+ next-level-cache = <&l2>;
+ #cooling-cells = <2>;
+ };
+
+ cpu1: cpu@1 {
+ device_type = "cpu";
+ compatible = "arm,cortex-a53";
+ reg = <0x1>;
+ enable-method = "psci";
+ next-level-cache = <&l2>;
+ #cooling-cells = <2>;
+ };
+
+ l2: l2-cache {
+ compatible = "cache";
+ cache-size = <0x80000>;
+ cache-line-size = <64>;
+ cache-level = <2>;
+ cache-unified;
+ };
+ };
+
+ timer {
+ compatible = "arm,armv8-timer";
+ interrupt-parent = <&gic>;
+ interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
+ <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
+ <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
+ <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;
+ };
+
+ soc {
+ compatible = "simple-bus";
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+
+ gic: interrupt-controller@9000000 {
+ compatible = "arm,gic-v3";
+ interrupt-controller;
+ #interrupt-cells = <3>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ reg = <0x0 0x09000000 0x0 0x20000>,
+ <0x0 0x09080000 0x0 0x80000>,
+ <0x0 0x09400000 0x0 0x2000>,
+ <0x0 0x09500000 0x0 0x2000>,
+ <0x0 0x09600000 0x0 0x20000>;
+ interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_LOW>;
+ };
+
+ chip_scu: syscon@1fa20000 {
+ compatible = "airoha,en7581-chip-scu", "syscon";
+ reg = <0x0 0x1fa20000 0x0 0x388>;
+ };
+
+ syscon@1fbe3400 {
+ compatible = "airoha,en7581-pbus-csr", "syscon";
+ reg = <0x0 0x1fbe3400 0x0 0xff>;
+ };
+
+ system-controller@1fa20000 {
+ compatible = "syscon", "simple-mfd";
+ reg = <0x0 0x1fb00000 0x0 0x970>;
+
+ scuclk: scuclk {
+ compatible = "airoha,an7583-scu";
+ #clock-cells = <1>;
+ #reset-cells = <1>;
+ };
+
+ mdio_0: mdio-0 {
+ compatible = "airoha,an7583-mdio";
+ resets = <&scuclk AN7583_MDIO0>;
+
+ airoha,bus-id = <0>;
+ };
+
+ mdio_1: mdio-1 {
+ compatible = "airoha,an7583-mdio";
+ resets = <&scuclk AN7583_MDIO1>;
+
+ airoha,bus-id = <1>;
+ };
+ };
+
+ system-controller@1fbf0200 {
+ compatible = "syscon", "simple-mfd";
+ reg = <0x0 0x1fbf0200 0x0 0xc0>;
+
+ an7583_pinctrl: pinctrl {
+ compatible = "airoha,en7583-pinctrl";
+
+ interrupt-parent = <&gic>;
+ interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
+
+ gpio-controller;
+ #gpio-cells = <2>;
+
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
+ };
+
+ i2cclock: i2cclock@0 {
+ #clock-cells = <0>;
+ compatible = "fixed-clock";
+
+ /* 20 MHz */
+ clock-frequency = <20000000>;
+ };
+
+ i2c0: i2c0@1fbf8000 {
+ compatible = "mediatek,mt7621-i2c";
+ reg = <0x0 0x1fbf8000 0x0 0x100>;
+
+ clocks = <&i2cclock>;
+
+ /* 100 kHz */
+ clock-frequency = <100000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ status = "disable";
+ };
+
+ i2c1: i2c1@1fbf8100 {
+ compatible = "mediatek,mt7621-i2c";
+ reg = <0x0 0x1fbf8100 0x0 0x100>;
+
+ clocks = <&i2cclock>;
+
+ /* 100 kHz */
+ clock-frequency = <100000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ status = "disable";
+ };
+
+ snfi: spi@1fa10000 {
+ compatible = "airoha,en7581-snand";
+ reg = <0x0 0x1fa10000 0x0 0x140>,
+ <0x0 0x1fa11000 0x0 0x600>;
+
+ clocks = <&scuclk EN7523_CLK_SPI>;
+ clock-names = "spi";
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ status = "disabled";
+
+ spi_nand: nand@0 {
+ compatible = "spi-nand";
+ reg = <0>;
+ spi-max-frequency = <50000000>;
+ spi-tx-bus-width = <1>;
+ spi-rx-bus-width = <2>;
+ };
+ };
+
+ uart1: serial@1fbf0000 {
+ compatible = "ns16550";
+ reg = <0x0 0x1fbf0000 0x0 0x30>;
+ reg-io-width = <4>;
+ reg-shift = <2>;
+ interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
+ clock-frequency = <1843200>;
+ bootph-all;
+ };
+
+ uart2: serial@1fbf0300 {
+ compatible = "airoha,en7523-uart";
+ reg = <0x0 0x1fbf0300 0x0 0x30>;
+ reg-io-width = <4>;
+ reg-shift = <2>;
+ interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
+ clock-frequency = <7372800>;
+
+ status = "disabled";
+ };
+
+ hsuart3: serial@1fbe1000 {
+ compatible = "airoha,en7523-uart";
+ reg = <0x0 0x1fbe1000 0x0 0x40>;
+ reg-io-width = <4>;
+ reg-shift = <2>;
+ interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
+ clock-frequency = <7372800>;
+
+ status = "disabled";
+ };
+
+ uart4: serial@1fbf0600 {
+ compatible = "airoha,en7523-uart";
+ reg = <0x0 0x1fbf0600 0x0 0x30>;
+ reg-io-width = <4>;
+ reg-shift = <2>;
+ interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
+ clock-frequency = <7372800>;
+
+ status = "disabled";
+ };
+
+ uart5: serial@1fbf0700 {
+ compatible = "airoha,en7523-uart";
+ reg = <0x0 0x1fbf0700 0x0 0x30>;
+ reg-io-width = <4>;
+ reg-shift = <2>;
+ interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
+ clock-frequency = <7372800>;
+
+ status = "disabled";
+ };
+
+ pciephy: phy@1fa5a000 {
+ compatible = "airoha,en7581-pcie-phy";
+ reg = <0x0 0x1fa5a000 0x0 0xfff>,
+ <0x0 0x1fa5b000 0x0 0xfff>,
+ <0x0 0x1fa5c000 0x0 0xfff>,
+ <0x0 0x1fc10044 0x0 0x4>,
+ <0x0 0x1fc30044 0x0 0x4>,
+ <0x0 0x1fc15030 0x0 0x104>;
+ reg-names = "csr-2l", "pma0", "pma1",
+ "p0-xr-dtime", "p1-xr-dtime",
+ "rx-aeq";
+ #phy-cells = <0>;
+ };
+
+ pcie0: pcie@1fc00000 {
+ compatible = "airoha,an7583-pcie";
+ device_type = "pci";
+ linux,pci-domain = <0>;
+ #address-cells = <3>;
+ #size-cells = <2>;
+
+ reg = <0x0 0x1fc20000 0x0 0x1670>;
+ reg-names = "pcie-mac";
+
+ clocks = <&scuclk EN7523_CLK_PCIE>;
+ clock-names = "sys-ck";
+
+ phys = <&pciephy>;
+ phy-names = "pcie-phy";
+
+ ranges = <0x02000000 0 0x20000000 0x0 0x20000000 0 0x4000000>;
+
+ resets = <&scuclk AN7583_PCIE0_RST>,
+ <&scuclk AN7583_PCIE1_RST>;
+ reset-names = "phy-lane0", "phy-lane1";
+
+ interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
+ bus-range = <0x00 0xff>;
+ #interrupt-cells = <1>;
+ interrupt-map-mask = <0 0 0 7>;
+ interrupt-map = <0 0 0 1 &pcie_intc0 0>,
+ <0 0 0 2 &pcie_intc0 1>,
+ <0 0 0 3 &pcie_intc0 2>,
+ <0 0 0 4 &pcie_intc0 3>;
+
+ status = "disabled";
+
+ pcie_intc0: interrupt-controller {
+ interrupt-controller;
+ #address-cells = <0>;
+ #interrupt-cells = <1>;
+ };
+ };
+
+ pcie1: pcie@1fc20000 {
+ compatible = "airoha,an7583-pcie";
+ device_type = "pci";
+ linux,pci-domain = <1>;
+ #address-cells = <3>;
+ #size-cells = <2>;
+
+ reg = <0x0 0x1fa92000 0x0 0x1670>;
+ reg-names = "pcie-mac";
+
+ clocks = <&scuclk EN7523_CLK_PCIE>;
+ clock-names = "sys-ck";
+
+ phys = <&pciephy>;
+ phy-names = "pcie-phy";
+
+ ranges = <0x02000000 0 0x24000000 0x0 0x24000000 0 0x4000000>;
+
+ resets = <&scuclk AN7583_PCIE0_RST>,
+ <&scuclk AN7583_PCIE1_RST>;
+ reset-names = "phy-lane0", "phy-lane1";
+
+ interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
+ bus-range = <0x00 0xff>;
+ #interrupt-cells = <1>;
+ interrupt-map-mask = <0 0 0 7>;
+ interrupt-map = <0 0 0 1 &pcie_intc1 0>,
+ <0 0 0 2 &pcie_intc1 1>,
+ <0 0 0 3 &pcie_intc1 2>,
+ <0 0 0 4 &pcie_intc1 3>;
+
+ status = "disabled";
+
+ pcie_intc1: interrupt-controller {
+ interrupt-controller;
+ #address-cells = <0>;
+ #interrupt-cells = <1>;
+ };
+ };
+ };
+};
--- a/arch/arm/mach-airoha/Kconfig
+++ b/arch/arm/mach-airoha/Kconfig
@@ -17,16 +17,30 @@ config TARGET_AN7581
Peripherals include Gigabit Ethernet, switch, USB3.0 and OTG, PCIe,
I2S, PCM, S/PDIF, UART, SPI, I2C, IR TX/RX, and PWM.
+config TARGET_AN7583
+ bool "Airoha AN7583 SoC"
+ select ARM64
+ help
+ The Airoha AN7583 is a ARM-based SoC with a quad-core Cortex-A7
+ including NEON and GPU, Mali-450 graphics, several DDR3 options,
+ crypto engine, built-in Wi-Fi / Bluetooth combo chip, JPEG decoder,
+ video interfaces supporting HDMI and MIPI, and video codec support.
+ Peripherals include Gigabit Ethernet, switch, USB3.0 and OTG, PCIe,
+ I2S, PCM, S/PDIF, UART, SPI, I2C, IR TX/RX, and PWM.
+
endchoice
config SYS_SOC
default "an7581" if TARGET_AN7581
+ default "an7583" if TARGET_AN7583
config SYS_BOARD
default "an7581" if TARGET_AN7581
+ default "an7583" if TARGET_AN7583
config SYS_CONFIG_NAME
default "an7581" if TARGET_AN7581
+ default "an7583" if TARGET_AN7583
endif
--- a/arch/arm/mach-airoha/Makefile
+++ b/arch/arm/mach-airoha/Makefile
@@ -3,3 +3,4 @@
obj-y += cpu.o
obj-$(CONFIG_TARGET_AN7581) += an7581/
+obj-$(CONFIG_TARGET_AN7583) += an7583/
--- /dev/null
+++ b/arch/arm/mach-airoha/an7583/Makefile
@@ -0,0 +1,3 @@
+# SPDX-License-Identifier: GPL-2.0
+
+obj-y += init.o
--- /dev/null
+++ b/arch/arm/mach-airoha/an7583/init.c
@@ -0,0 +1,47 @@
+// SPDX-License-Identifier: GPL-2.0
+
+#include <fdtdec.h>
+#include <init.h>
+#include <asm/armv8/mmu.h>
+#include <asm/system.h>
+
+int print_cpuinfo(void)
+{
+ printf("CPU: Airoha AN7583\n");
+ return 0;
+}
+
+int dram_init(void)
+{
+ return fdtdec_setup_mem_size_base();
+}
+
+int dram_init_banksize(void)
+{
+ return fdtdec_setup_memory_banksize();
+}
+
+void reset_cpu(ulong addr)
+{
+ psci_system_reset();
+}
+
+static struct mm_region an7583_mem_map[] = {
+ {
+ /* DDR */
+ .virt = 0x80000000UL,
+ .phys = 0x80000000UL,
+ .size = 0x80000000UL,
+ .attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) | PTE_BLOCK_OUTER_SHARE,
+ }, {
+ .virt = 0x00000000UL,
+ .phys = 0x00000000UL,
+ .size = 0x20000000UL,
+ .attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
+ PTE_BLOCK_NON_SHARE |
+ PTE_BLOCK_PXN | PTE_BLOCK_UXN
+ }, {
+ 0,
+ }
+};
+struct mm_region *mem_map = an7583_mem_map;
--- /dev/null
+++ b/board/airoha/an7583/MAINTAINERS
@@ -0,0 +1,5 @@
+AN7581
+M: Christian Marangi <ansuelsmth@gmail.com>
+S: Maintained
+N: airoha
+N: an7583
--- /dev/null
+++ b/board/airoha/an7583/Makefile
@@ -0,0 +1,3 @@
+# SPDX-License-Identifier: GPL-2.0
+
+obj-y += an7583_rfb.o
--- /dev/null
+++ b/board/airoha/an7583/an7583_rfb.c
@@ -0,0 +1,16 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Author: Christian Marangi <ansuelsmth@gmail.com>
+ */
+
+#include <asm/global_data.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+int board_init(void)
+{
+ /* address of boot parameters */
+ gd->bd->bi_boot_params = CFG_SYS_SDRAM_BASE + 0x100;
+
+ return 0;
+}
--- /dev/null
+++ b/configs/an7583_evb_defconfig
@@ -0,0 +1,81 @@
+CONFIG_ARM=y
+CONFIG_ARCH_AIROHA=y
+CONFIG_TARGET_AN7583=y
+CONFIG_TEXT_BASE=0x81E00000
+CONFIG_SYS_MALLOC_F_LEN=0x4000
+CONFIG_NR_DRAM_BANKS=1
+CONFIG_ENV_SIZE=0x4000
+CONFIG_ENV_OFFSET=0x7c000
+CONFIG_DM_GPIO=y
+CONFIG_DEFAULT_DEVICE_TREE="an7583-evb"
+CONFIG_DM_RESET=y
+CONFIG_SYS_LOAD_ADDR=0x81800000
+CONFIG_BUILD_TARGET="u-boot.bin"
+# CONFIG_EFI_LOADER is not set
+CONFIG_FIT=y
+CONFIG_FIT_VERBOSE=y
+CONFIG_BOOTDELAY=3
+CONFIG_DEFAULT_FDT_FILE="an7583-evb"
+CONFIG_SYS_PBSIZE=1049
+CONFIG_SYS_CONSOLE_IS_IN_ENV=y
+# CONFIG_DISPLAY_BOARDINFO is not set
+CONFIG_HUSH_PARSER=y
+CONFIG_SYS_PROMPT="U-Boot> "
+CONFIG_SYS_MAXARGS=8
+CONFIG_CMD_BOOTZ=y
+CONFIG_CMD_BOOTMENU=y
+# CONFIG_CMD_ELF is not set
+# CONFIG_CMD_XIMG is not set
+CONFIG_CMD_BIND=y
+CONFIG_CMD_GPIO=y
+CONFIG_CMD_MMC=y
+CONFIG_CMD_MTD=y
+CONFIG_CMD_SF_TEST=y
+CONFIG_CMD_SPI=y
+# CONFIG_CMD_SETEXPR is not set
+CONFIG_CMD_PING=y
+CONFIG_CMD_EXT4=y
+CONFIG_CMD_FAT=y
+CONFIG_CMD_FS_GENERIC=y
+CONFIG_CMD_MTDPARTS=y
+CONFIG_CMD_LOG=y
+CONFIG_ENV_OVERWRITE=y
+CONFIG_ENV_IS_IN_MMC=y
+CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
+CONFIG_NET_RANDOM_ETHADDR=y
+CONFIG_REGMAP=y
+CONFIG_SYSCON=y
+CONFIG_CLK=y
+CONFIG_DMA=y
+CONFIG_LED=y
+CONFIG_LED_GPIO=y
+CONFIG_MMC_HS200_SUPPORT=y
+CONFIG_MTD=y
+CONFIG_DM_MTD=y
+CONFIG_MTD_SPI_NAND=y
+CONFIG_DM_SPI_FLASH=y
+CONFIG_SPI_FLASH_EON=y
+CONFIG_SPI_FLASH_GIGADEVICE=y
+CONFIG_SPI_FLASH_ISSI=y
+CONFIG_SPI_FLASH_MACRONIX=y
+CONFIG_SPI_FLASH_SPANSION=y
+CONFIG_SPI_FLASH_STMICRO=y
+CONFIG_SPI_FLASH_WINBOND=y
+CONFIG_SPI_FLASH_MTD=y
+CONFIG_PHYLIB=y
+CONFIG_PHY=y
+CONFIG_PINCTRL=y
+CONFIG_PINCONF=y
+CONFIG_POWER_DOMAIN=y
+CONFIG_DM_REGULATOR=y
+CONFIG_DM_REGULATOR_FIXED=y
+CONFIG_RAM=y
+CONFIG_DM_SERIAL=y
+CONFIG_SYS_NS16550=y
+CONFIG_SPI=y
+CONFIG_DM_SPI=y
+CONFIG_SHA512=y
+CONFIG_AIROHA_ETH=y
+CONFIG_MMC_MTK=y
+CONFIG_AIROHA_SNFI_SPI=y
--- /dev/null
+++ b/include/configs/an7583.h
@@ -0,0 +1,19 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Configuration for Airoha AN7583
+ */
+
+#ifndef __AN7583_H
+#define __AN7583_H
+
+#include <linux/sizes.h>
+
+#define CFG_SYS_UBOOT_BASE CONFIG_TEXT_BASE
+
+#define CFG_SYS_INIT_RAM_ADDR CONFIG_TEXT_BASE
+#define CFG_SYS_INIT_RAM_SIZE SZ_2M
+
+/* DRAM */
+#define CFG_SYS_SDRAM_BASE 0x80000000
+
+#endif
@@ -0,0 +1,171 @@
From 62ab067847b30d73d4f661bdc99e9f32ff03f338 Mon Sep 17 00:00:00 2001
From: Christian Marangi <ansuelsmth@gmail.com>
Date: Tue, 29 Apr 2025 13:19:11 +0200
Subject: [PATCH] clk: airoha: add support for Airoha AN7583 SoC clock
Add support for Airoha AN7583 SoC clock that implement more base values
for clocks compared to AN7581.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
---
drivers/clk/airoha/clk-airoha.c | 131 ++++++++++++++++++++++++++++++++
1 file changed, 131 insertions(+)
--- a/drivers/clk/airoha/clk-airoha.c
+++ b/drivers/clk/airoha/clk-airoha.c
@@ -73,6 +73,14 @@ static const u32 bus7581_base[] = { 6000
static const u32 npu7581_base[] = { 800000000, 750000000, 720000000, 600000000 };
static const u32 crypto_base[] = { 540000000, 480000000 };
static const u32 emmc7581_base[] = { 200000000, 150000000 };
+/* AN7583 */
+static const u32 gsw7583_base[] = { 540672000, 270336000, 400000000, 200000000 };
+static const u32 emi7583_base[] = { 540672000, 480000000, 400000000, 300000000 };
+static const u32 bus7583_base[] = { 600000000, 540672000, 480000000, 400000000 };
+static const u32 spi7583_base[] = { 100000000, 12500000 };
+static const u32 npu7583_base[] = { 666000000, 800000000, 720000000, 600000000 };
+static const u32 crypto7583_base[] = { 540672000, 400000000 };
+static const u32 emmc7583_base[] = { 150000000, 200000000 };
static const struct airoha_clk_desc en7581_base_clks[EN7581_MAX_CLKS] = {
[EN7523_CLK_GSW] = {
@@ -186,6 +194,121 @@ static const struct airoha_clk_desc en75
}
};
+static const struct airoha_clk_desc an7583_base_clks[EN7581_MAX_CLKS] = {
+ [EN7523_CLK_GSW] = {
+ .id = EN7523_CLK_GSW,
+ .name = "gsw",
+
+ .base_reg = REG_GSW_CLK_DIV_SEL,
+ .base_bits = 2,
+ .base_shift = 8,
+ .base_values = gsw7583_base,
+ .n_base_values = ARRAY_SIZE(gsw7583_base),
+
+ .div_bits = 3,
+ .div_shift = 0,
+ .div_step = 1,
+ .div_offset = 1,
+ },
+ [EN7523_CLK_EMI] = {
+ .id = EN7523_CLK_EMI,
+ .name = "emi",
+
+ .base_reg = REG_EMI_CLK_DIV_SEL,
+ .base_bits = 2,
+ .base_shift = 8,
+ .base_values = emi7583_base,
+ .n_base_values = ARRAY_SIZE(emi7583_base),
+
+ .div_bits = 3,
+ .div_shift = 0,
+ .div_step = 1,
+ .div_offset = 1,
+ },
+ [EN7523_CLK_BUS] = {
+ .id = EN7523_CLK_BUS,
+ .name = "bus",
+
+ .base_reg = REG_BUS_CLK_DIV_SEL,
+ .base_bits = 2,
+ .base_shift = 8,
+ .base_values = bus7583_base,
+ .n_base_values = ARRAY_SIZE(bus7583_base),
+
+ .div_bits = 3,
+ .div_shift = 0,
+ .div_step = 1,
+ .div_offset = 1,
+ },
+ [EN7523_CLK_SLIC] = {
+ .id = EN7523_CLK_SLIC,
+ .name = "slic",
+
+ .base_reg = REG_SPI_CLK_FREQ_SEL,
+ .base_bits = 1,
+ .base_shift = 0,
+ .base_values = slic_base,
+ .n_base_values = ARRAY_SIZE(slic_base),
+
+ .div_reg = REG_SPI_CLK_DIV_SEL,
+ .div_bits = 5,
+ .div_shift = 24,
+ .div_val0 = 20,
+ .div_step = 2,
+ },
+ [EN7523_CLK_SPI] = {
+ .id = EN7523_CLK_SPI,
+ .name = "spi",
+
+ .base_reg = REG_SPI_CLK_FREQ_SEL,
+ .base_bits = 1,
+ .base_shift = 1,
+ .base_values = spi7583_base,
+ .n_base_values = ARRAY_SIZE(spi7583_base),
+
+ .div_reg = REG_SPI_CLK_DIV_SEL,
+ .div_bits = 5,
+ .div_shift = 8,
+ .div_val0 = 40,
+ .div_step = 2,
+ },
+ [EN7523_CLK_NPU] = {
+ .id = EN7523_CLK_NPU,
+ .name = "npu",
+
+ .base_reg = REG_NPU_CLK_DIV_SEL,
+ .base_bits = 2,
+ .base_shift = 9,
+ .base_values = npu7583_base,
+ .n_base_values = ARRAY_SIZE(npu7583_base),
+
+ .div_bits = 3,
+ .div_shift = 0,
+ .div_step = 1,
+ .div_offset = 1,
+ },
+ [EN7523_CLK_CRYPTO] = {
+ .id = EN7523_CLK_CRYPTO,
+ .name = "crypto",
+
+ .base_reg = REG_CRYPTO_CLKSRC2,
+ .base_bits = 1,
+ .base_shift = 0,
+ .base_values = crypto7583_base,
+ .n_base_values = ARRAY_SIZE(crypto7583_base),
+ },
+ [EN7581_CLK_EMMC] = {
+ .id = EN7581_CLK_EMMC,
+ .name = "emmc",
+
+ .base_reg = REG_CRYPTO_CLKSRC2,
+ .base_bits = 1,
+ .base_shift = 13,
+ .base_values = emmc7583_base,
+ .n_base_values = ARRAY_SIZE(emmc7583_base),
+ }
+};
+
static u32 airoha_clk_get_base_rate(const struct airoha_clk_desc *desc, u32 val)
{
if (!desc->base_bits)
@@ -436,10 +559,18 @@ static const struct airoha_clk_soc_data
.descs = en7581_base_clks,
};
+static const struct airoha_clk_soc_data an7583_data = {
+ .num_clocks = ARRAY_SIZE(an7583_base_clks),
+ .descs = an7583_base_clks,
+};
+
static const struct udevice_id airoha_clk_ids[] = {
{ .compatible = "airoha,en7581-scu",
.data = (ulong)&en7581_data,
},
+ { .compatible = "airoha,an7583-scu",
+ .data = (ulong)&an7583_data,
+ },
{ }
};
@@ -0,0 +1,90 @@
From 7daf0565460e548eb766a0bcc171c34e02dd6eba Mon Sep 17 00:00:00 2001
From: Christian Marangi <ansuelsmth@gmail.com>
Date: Mon, 19 May 2025 14:22:55 +0200
Subject: [PATCH 3/6] reset: airoha: convert to regmap API
In preparation for support for Airoha AN7583, convert the driver to
regmap API. This is needed as Airoha AN7583 will use syscon to access
reset registers.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
---
drivers/reset/reset-airoha.c | 35 ++++++++++++++++++-----------------
1 file changed, 18 insertions(+), 17 deletions(-)
--- a/drivers/reset/reset-airoha.c
+++ b/drivers/reset/reset-airoha.c
@@ -10,6 +10,7 @@
#include <dm.h>
#include <linux/io.h>
#include <reset-uclass.h>
+#include <regmap.h>
#include <dt-bindings/reset/airoha,en7581-reset.h>
@@ -21,7 +22,7 @@
struct airoha_reset_priv {
const u16 *bank_ofs;
const u16 *idx_map;
- void __iomem *base;
+ struct regmap *map;
};
static const u16 en7581_rst_ofs[] = {
@@ -90,17 +91,11 @@ static const u16 en7581_rst_map[] = {
static int airoha_reset_update(struct airoha_reset_priv *priv,
unsigned long id, bool assert)
{
- void __iomem *addr = priv->base + priv->bank_ofs[id / RST_NR_PER_BANK];
- u32 val;
-
- val = readl(addr);
- if (assert)
- val |= BIT(id % RST_NR_PER_BANK);
- else
- val &= ~BIT(id % RST_NR_PER_BANK);
- writel(val, addr);
+ u16 offset = priv->bank_ofs[id / RST_NR_PER_BANK];
- return 0;
+ return regmap_update_bits(priv->map, offset,
+ BIT(id % RST_NR_PER_BANK),
+ assert ? BIT(id % RST_NR_PER_BANK) : 0);
}
static int airoha_reset_assert(struct reset_ctl *reset_ctl)
@@ -123,11 +118,16 @@ static int airoha_reset_status(struct re
{
struct airoha_reset_priv *priv = dev_get_priv(reset_ctl->dev);
int id = reset_ctl->id;
- void __iomem *addr;
+ u16 offset;
+ u32 val;
+ int ret;
- addr = priv->base + priv->bank_ofs[id / RST_NR_PER_BANK];
+ offset = priv->bank_ofs[id / RST_NR_PER_BANK];
+ ret = regmap_read(priv->map, offset, &val);
+ if (ret)
+ return ret;
- return !!(readl(addr) & BIT(id % RST_NR_PER_BANK));
+ return !!(val & BIT(id % RST_NR_PER_BANK));
}
static int airoha_reset_xlate(struct reset_ctl *reset_ctl,
@@ -153,10 +153,11 @@ static struct reset_ops airoha_reset_ops
static int airoha_reset_probe(struct udevice *dev)
{
struct airoha_reset_priv *priv = dev_get_priv(dev);
+ int ret;
- priv->base = dev_remap_addr(dev);
- if (!priv->base)
- return -ENOMEM;
+ ret = regmap_init_mem(dev_ofnode(dev), &priv->map);
+ if (ret)
+ return ret;
priv->bank_ofs = en7581_rst_ofs;
priv->idx_map = en7581_rst_map;
@@ -0,0 +1,225 @@
From 23031ad51d55361be507b83307f55995e0204188 Mon Sep 17 00:00:00 2001
From: Christian Marangi <ansuelsmth@gmail.com>
Date: Tue, 29 Apr 2025 13:33:35 +0200
Subject: [PATCH 4/6] reset: airoha: Add support for Airoha AN7583 reset
Adapt the Airoha reset driver to support Airoha AN7583 node structure.
In AN7583 the register is exposed by the parent syscon hence a different
logic needs to be applied. Also the reset line differ from AN7581 hence
a dedicated table is needed.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
---
drivers/reset/reset-airoha.c | 94 ++++++++++++++++++-
.../dt-bindings/reset/airoha,an7583-reset.h | 61 ++++++++++++
2 files changed, 153 insertions(+), 2 deletions(-)
create mode 100644 include/dt-bindings/reset/airoha,an7583-reset.h
--- a/drivers/reset/reset-airoha.c
+++ b/drivers/reset/reset-airoha.c
@@ -11,8 +11,10 @@
#include <linux/io.h>
#include <reset-uclass.h>
#include <regmap.h>
+#include <syscon.h>
#include <dt-bindings/reset/airoha,en7581-reset.h>
+#include <dt-bindings/reset/airoha,an7583-reset.h>
#define RST_NR_PER_BANK 32
@@ -22,6 +24,7 @@
struct airoha_reset_priv {
const u16 *bank_ofs;
const u16 *idx_map;
+ int num_rsts;
struct regmap *map;
};
@@ -88,6 +91,59 @@ static const u16 en7581_rst_map[] = {
[EN7581_XPON_MAC_RST] = RST_NR_PER_BANK + 31,
};
+static const u16 an7583_rst_map[] = {
+ /* RST_CTRL2 */
+ [AN7583_XPON_PHY_RST] = 0,
+ [AN7583_GPON_OLT_RST] = 1,
+ [AN7583_CPU_TIMER2_RST] = 2,
+ [AN7583_HSUART_RST] = 3,
+ [AN7583_UART4_RST] = 4,
+ [AN7583_UART5_RST] = 5,
+ [AN7583_I2C2_RST] = 6,
+ [AN7583_XSI_MAC_RST] = 7,
+ [AN7583_XSI_PHY_RST] = 8,
+ [AN7583_NPU_RST] = 9,
+ [AN7583_TRNG_MSTART_RST] = 12,
+ [AN7583_DUAL_HSI0_RST] = 13,
+ [AN7583_DUAL_HSI1_RST] = 14,
+ [AN7583_DUAL_HSI0_MAC_RST] = 16,
+ [AN7583_DUAL_HSI1_MAC_RST] = 17,
+ [AN7583_WDMA_RST] = 19,
+ [AN7583_WOE0_RST] = 20,
+ [AN7583_HSDMA_RST] = 22,
+ [AN7583_TDMA_RST] = 24,
+ [AN7583_EMMC_RST] = 25,
+ [AN7583_SOE_RST] = 26,
+ [AN7583_XFP_MAC_RST] = 28,
+ [AN7583_MDIO0] = 30,
+ [AN7583_MDIO1] = 31,
+ /* RST_CTRL1 */
+ [AN7583_PCM1_ZSI_ISI_RST] = RST_NR_PER_BANK + 0,
+ [AN7583_FE_PDMA_RST] = RST_NR_PER_BANK + 1,
+ [AN7583_FE_QDMA_RST] = RST_NR_PER_BANK + 2,
+ [AN7583_PCM_SPIWP_RST] = RST_NR_PER_BANK + 4,
+ [AN7583_CRYPTO_RST] = RST_NR_PER_BANK + 6,
+ [AN7583_TIMER_RST] = RST_NR_PER_BANK + 8,
+ [AN7583_PCM1_RST] = RST_NR_PER_BANK + 11,
+ [AN7583_UART_RST] = RST_NR_PER_BANK + 12,
+ [AN7583_GPIO_RST] = RST_NR_PER_BANK + 13,
+ [AN7583_GDMA_RST] = RST_NR_PER_BANK + 14,
+ [AN7583_I2C_MASTER_RST] = RST_NR_PER_BANK + 16,
+ [AN7583_PCM2_ZSI_ISI_RST] = RST_NR_PER_BANK + 17,
+ [AN7583_SFC_RST] = RST_NR_PER_BANK + 18,
+ [AN7583_UART2_RST] = RST_NR_PER_BANK + 19,
+ [AN7583_GDMP_RST] = RST_NR_PER_BANK + 20,
+ [AN7583_FE_RST] = RST_NR_PER_BANK + 21,
+ [AN7583_USB_HOST_P0_RST] = RST_NR_PER_BANK + 22,
+ [AN7583_GSW_RST] = RST_NR_PER_BANK + 23,
+ [AN7583_SFC2_PCM_RST] = RST_NR_PER_BANK + 25,
+ [AN7583_PCIE0_RST] = RST_NR_PER_BANK + 26,
+ [AN7583_PCIE1_RST] = RST_NR_PER_BANK + 27,
+ [AN7583_CPU_TIMER_RST] = RST_NR_PER_BANK + 28,
+ [AN7583_PCIE_HB_RST] = RST_NR_PER_BANK + 29,
+ [AN7583_XPON_MAC_RST] = RST_NR_PER_BANK + 31,
+};
+
static int airoha_reset_update(struct airoha_reset_priv *priv,
unsigned long id, bool assert)
{
@@ -135,7 +191,7 @@ static int airoha_reset_xlate(struct res
{
struct airoha_reset_priv *priv = dev_get_priv(reset_ctl->dev);
- if (args->args[0] >= ARRAY_SIZE(en7581_rst_map))
+ if (args->args[0] >= priv->num_rsts)
return -EINVAL;
reset_ctl->id = priv->idx_map[args->args[0]];
@@ -150,7 +206,7 @@ static struct reset_ops airoha_reset_ops
.rst_status = airoha_reset_status,
};
-static int airoha_reset_probe(struct udevice *dev)
+static int an7581_reset_probe(struct udevice *dev)
{
struct airoha_reset_priv *priv = dev_get_priv(dev);
int ret;
@@ -161,10 +217,44 @@ static int airoha_reset_probe(struct ude
priv->bank_ofs = en7581_rst_ofs;
priv->idx_map = en7581_rst_map;
+ priv->num_rsts = ARRAY_SIZE(en7581_rst_map);
return 0;
}
+static int an7583_reset_probe(struct udevice *dev)
+{
+ struct airoha_reset_priv *priv = dev_get_priv(dev);
+ ofnode pnode, scu_node = dev_ofnode(dev);
+
+ pnode = ofnode_get_parent(scu_node);
+ if (!ofnode_valid(pnode))
+ return -EINVAL;
+
+ priv->map = syscon_node_to_regmap(pnode);
+ if (IS_ERR(priv->map))
+ return PTR_ERR(priv->map);
+
+ priv->bank_ofs = en7581_rst_ofs;
+ priv->idx_map = an7583_rst_map;
+ priv->num_rsts = ARRAY_SIZE(an7583_rst_map);
+
+ return 0;
+}
+
+static int airoha_reset_probe(struct udevice *dev)
+{
+ if (ofnode_device_is_compatible(dev_ofnode(dev),
+ "airoha,en7581-scu"))
+ return an7581_reset_probe(dev);
+
+ if (ofnode_device_is_compatible(dev_ofnode(dev),
+ "airoha,an7583-scu"))
+ return an7583_reset_probe(dev);
+
+ return -ENODEV;
+}
+
U_BOOT_DRIVER(airoha_reset) = {
.name = "airoha-reset",
.id = UCLASS_RESET,
--- /dev/null
+++ b/include/dt-bindings/reset/airoha,an7583-reset.h
@@ -0,0 +1,61 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Copyright (c) 2024 AIROHA Inc
+ * Author: Christian Marangi <ansuelsmth@gmail.com>
+ */
+
+#ifndef __DT_BINDINGS_RESET_CONTROLLER_AIROHA_AN7583_H_
+#define __DT_BINDINGS_RESET_CONTROLLER_AIROHA_AN7583_H_
+
+/* RST_CTRL2 */
+#define AN7583_XPON_PHY_RST 0
+#define AN7583_GPON_OLT_RST 1
+#define AN7583_CPU_TIMER2_RST 2
+#define AN7583_HSUART_RST 3
+#define AN7583_UART4_RST 4
+#define AN7583_UART5_RST 5
+#define AN7583_I2C2_RST 6
+#define AN7583_XSI_MAC_RST 7
+#define AN7583_XSI_PHY_RST 8
+#define AN7583_NPU_RST 9
+#define AN7583_TRNG_MSTART_RST 10
+#define AN7583_DUAL_HSI0_RST 11
+#define AN7583_DUAL_HSI1_RST 12
+#define AN7583_DUAL_HSI0_MAC_RST 13
+#define AN7583_DUAL_HSI1_MAC_RST 14
+#define AN7583_WDMA_RST 15
+#define AN7583_WOE0_RST 16
+#define AN7583_HSDMA_RST 17
+#define AN7583_TDMA_RST 18
+#define AN7583_EMMC_RST 19
+#define AN7583_SOE_RST 20
+#define AN7583_XFP_MAC_RST 21
+#define AN7583_MDIO0 22
+#define AN7583_MDIO1 23
+/* RST_CTRL1 */
+#define AN7583_PCM1_ZSI_ISI_RST 24
+#define AN7583_FE_PDMA_RST 25
+#define AN7583_FE_QDMA_RST 26
+#define AN7583_PCM_SPIWP_RST 27
+#define AN7583_CRYPTO_RST 28
+#define AN7583_TIMER_RST 29
+#define AN7583_PCM1_RST 30
+#define AN7583_UART_RST 31
+#define AN7583_GPIO_RST 32
+#define AN7583_GDMA_RST 33
+#define AN7583_I2C_MASTER_RST 34
+#define AN7583_PCM2_ZSI_ISI_RST 35
+#define AN7583_SFC_RST 36
+#define AN7583_UART2_RST 37
+#define AN7583_GDMP_RST 38
+#define AN7583_FE_RST 39
+#define AN7583_USB_HOST_P0_RST 40
+#define AN7583_GSW_RST 41
+#define AN7583_SFC2_PCM_RST 42
+#define AN7583_PCIE0_RST 43
+#define AN7583_PCIE1_RST 44
+#define AN7583_CPU_TIMER_RST 45
+#define AN7583_PCIE_HB_RST 46
+#define AN7583_XPON_MAC_RST 47
+
+#endif /* __DT_BINDINGS_RESET_CONTROLLER_AIROHA_AN7583_H_ */
@@ -0,0 +1,279 @@
From 289503869e5580658035e82d91b02a43c775f1a1 Mon Sep 17 00:00:00 2001
From: Christian Marangi <ansuelsmth@gmail.com>
Date: Mon, 19 May 2025 14:29:53 +0200
Subject: [PATCH 1/4] net: airoha: add support for Airoha AN7583
Add support for Ethernet controller present in Airoha AN7583. This
follow the same implementation of Airoha AN7581 with the only difference
of having a different reset number and a different logic to reach the
SCU node.
Generalize the driver for these 2 part to account for these minor
difference.
The switch init part also required some care as the Switch Internal PHY
enable BMCR_PDOWN by default and tweak to GEPHY_CONN_CFG is also needed.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
---
drivers/net/airoha_eth.c | 168 ++++++++++++++++++++++++++++++++++-----
1 file changed, 147 insertions(+), 21 deletions(-)
--- a/drivers/net/airoha_eth.c
+++ b/drivers/net/airoha_eth.c
@@ -20,6 +20,7 @@
#include <linux/dma-mapping.h>
#include <linux/io.h>
#include <linux/iopoll.h>
+#include <linux/mii.h>
#include <linux/time.h>
#define AIROHA_MAX_NUM_GDM_PORTS 1
@@ -27,6 +28,11 @@
#define AIROHA_MAX_NUM_RSTS 3
#define AIROHA_MAX_NUM_XSI_RSTS 4
+#define AIROHA_MAX_NUM_SWITCH_PORT 4
+#define AIROHA_MAX_PBUS_TRY 10
+#define AIROHA_PBUS_SLEEP 100
+#define AIROHA_PBUS_C22_MASK 0x800000
+
#define AIROHA_MAX_PACKET_SIZE 2048
#define AIROHA_NUM_TX_RING 1
#define AIROHA_NUM_RX_RING 1
@@ -77,6 +83,19 @@
#define SWITCH_PHY_PRE_EN BIT(15)
#define SWITCH_PHY_END_ADDR GENMASK(12, 8)
#define SWITCH_PHY_ST_ADDR GENMASK(4, 0)
+#define SWITCH_GEPHY_CONN_CFG 0x7c14
+#define SWITCH_DPHY_CKIN_SEL BIT(31)
+#define SWITCH_PHY_CORE_REG_CLK_SEL BIT(30)
+#define SWITCH_ETHER_AFE_PWD GENMASK(28, 24)
+#define SWITCH_PBUS_PHY_IAC 0x7c20
+#define SWITCH_PBUS_PHY_START BIT(31)
+#define SWITCH_PBUS_PHY_CMD BIT(30)
+#define SWITCH_PBUS_PHY_CMD_READ FIELD_PREP(SWITCH_PBUS_PHY_CMD, 0x0)
+#define SWITCH_PBUS_PHY_CMD_WRITE FIELD_PREP(SWITCH_PBUS_PHY_CMD, 0x1)
+#define SWITCH_PBUS_PHY_PORTADDR GENMASK(28, 24)
+#define SWITCH_PBUS_PHY_REGADDR GENMASK(23, 0)
+#define SWITCH_PBUS_PHY_IAWD 0x7c24
+#define SWITCH_PBUS_PHY_IARD 0x7c28
/* FE */
#define PSE_BASE 0x0100
@@ -311,6 +330,26 @@ struct airoha_eth {
struct airoha_gdm_port *ports[AIROHA_MAX_NUM_GDM_PORTS];
};
+struct airoha_eth_soc_data {
+ int num_xsi_rsts;
+ const char * const *xsi_rsts_names;
+ ofnode (*get_scu_node)(struct udevice *dev);
+ const char *switch_compatible;
+};
+
+static const char * const en7581_xsi_rsts_names[] = {
+ "hsi0-mac",
+ "hsi1-mac",
+ "hsi-mac",
+ "xfp-mac",
+};
+
+static const char * const an7583_xsi_rsts_names[] = {
+ "hsi0-mac",
+ "hsi1-mac",
+ "xfp-mac",
+};
+
static u32 airoha_rr(void __iomem *base, u32 offset)
{
return readl(base + offset);
@@ -351,8 +390,12 @@ static u32 airoha_rmw(void __iomem *base
#define airoha_qdma_clear(qdma, offset, val) \
airoha_rmw((qdma)->regs, (offset), (val), 0)
+#define airoha_switch_rr(eth, offset) \
+ airoha_rr((eth)->switch_regs, (offset))
#define airoha_switch_wr(eth, offset, val) \
airoha_wr((eth)->switch_regs, (offset), (val))
+#define airoha_switch_rmw(eth, offset, mask, val) \
+ airoha_rmw((eth)->switch_regs, (offset), (mask), (val))
static void airoha_fe_maccr_init(struct airoha_eth *eth)
{
@@ -652,10 +695,12 @@ static int airoha_hw_init(struct udevice
static int airoha_switch_init(struct udevice *dev, struct airoha_eth *eth)
{
+ struct airoha_eth_soc_data *data = (void *)dev_get_driver_data(dev);
ofnode switch_node;
fdt_addr_t addr;
- switch_node = ofnode_by_compatible(ofnode_null(), "airoha,en7581-switch");
+ switch_node = ofnode_by_compatible(ofnode_null(),
+ data->switch_compatible);
if (!ofnode_valid(switch_node))
return -EINVAL;
@@ -687,17 +732,71 @@ static int airoha_switch_init(struct ude
FIELD_PREP(SWITCH_PHY_END_ADDR, 0xc) |
FIELD_PREP(SWITCH_PHY_ST_ADDR, 0x8));
+ /* AN7583 require tweak to GEPHY_CONN_CFG and clear PHY BMCR_PDOWN */
+ if (!strcmp(data->switch_compatible, "airoha,an7583-switch")) {
+ int i;
+
+ airoha_switch_rmw(eth, SWITCH_GEPHY_CONN_CFG,
+ SWITCH_DPHY_CKIN_SEL |
+ SWITCH_PHY_CORE_REG_CLK_SEL |
+ SWITCH_ETHER_AFE_PWD,
+ SWITCH_DPHY_CKIN_SEL |
+ SWITCH_PHY_CORE_REG_CLK_SEL |
+ FIELD_PREP(SWITCH_ETHER_AFE_PWD, 0));
+
+ /* Disable BMCR_PDOWN for every PHY */
+ for (i = 0; i < AIROHA_MAX_NUM_SWITCH_PORT; i++) {
+ int try;
+ u32 val;
+
+ airoha_switch_wr(eth, SWITCH_PBUS_PHY_IAC,
+ SWITCH_PBUS_PHY_START |
+ SWITCH_PBUS_PHY_CMD_READ |
+ FIELD_PREP(SWITCH_PBUS_PHY_PORTADDR, i) |
+ FIELD_PREP(SWITCH_PBUS_PHY_REGADDR,
+ AIROHA_PBUS_C22_MASK | MII_BMCR));
+
+ for (try = 0; try < AIROHA_MAX_PBUS_TRY; try++) {
+ val = airoha_switch_rr(eth, SWITCH_PBUS_PHY_IAC);
+ if (!(val & SWITCH_PBUS_PHY_START))
+ break;
+
+ udelay(AIROHA_PBUS_SLEEP);
+ }
+
+ val = airoha_switch_rr(eth, SWITCH_PBUS_PHY_IARD);
+ val &= ~BMCR_PDOWN;
+
+ airoha_switch_wr(eth, SWITCH_PBUS_PHY_IAWD, val);
+ airoha_switch_wr(eth, SWITCH_PBUS_PHY_IAC,
+ SWITCH_PBUS_PHY_START |
+ SWITCH_PBUS_PHY_CMD_WRITE |
+ FIELD_PREP(SWITCH_PBUS_PHY_PORTADDR, i) |
+ FIELD_PREP(SWITCH_PBUS_PHY_REGADDR,
+ AIROHA_PBUS_C22_MASK | MII_BMCR));
+
+ for (try = 0; try < AIROHA_MAX_PBUS_TRY; try++) {
+ val = airoha_switch_rr(eth, SWITCH_PBUS_PHY_IAC);
+ if (!(val & SWITCH_PBUS_PHY_START))
+ break;
+
+ udelay(AIROHA_PBUS_SLEEP);
+ }
+ }
+ }
+
return 0;
}
static int airoha_eth_probe(struct udevice *dev)
{
+ struct airoha_eth_soc_data *data = (void *)dev_get_driver_data(dev);
struct airoha_eth *eth = dev_get_priv(dev);
struct regmap *scu_regmap;
ofnode scu_node;
- int ret;
+ int i, ret;
- scu_node = ofnode_by_compatible(ofnode_null(), "airoha,en7581-scu");
+ scu_node = data->get_scu_node(dev);
if (!ofnode_valid(scu_node))
return -EINVAL;
@@ -721,11 +820,11 @@ static int airoha_eth_probe(struct udevi
return -ENOMEM;
eth->rsts.count = AIROHA_MAX_NUM_RSTS;
- eth->xsi_rsts.resets = devm_kcalloc(dev, AIROHA_MAX_NUM_XSI_RSTS,
+ eth->xsi_rsts.resets = devm_kcalloc(dev, data->num_xsi_rsts,
sizeof(struct reset_ctl), GFP_KERNEL);
if (!eth->xsi_rsts.resets)
return -ENOMEM;
- eth->xsi_rsts.count = AIROHA_MAX_NUM_XSI_RSTS;
+ eth->xsi_rsts.count = data->num_xsi_rsts;
ret = reset_get_by_name(dev, "fe", &eth->rsts.resets[0]);
if (ret)
@@ -739,21 +838,12 @@ static int airoha_eth_probe(struct udevi
if (ret)
return ret;
- ret = reset_get_by_name(dev, "hsi0-mac", &eth->xsi_rsts.resets[0]);
- if (ret)
- return ret;
-
- ret = reset_get_by_name(dev, "hsi1-mac", &eth->xsi_rsts.resets[1]);
- if (ret)
- return ret;
-
- ret = reset_get_by_name(dev, "hsi-mac", &eth->xsi_rsts.resets[2]);
- if (ret)
- return ret;
-
- ret = reset_get_by_name(dev, "xfp-mac", &eth->xsi_rsts.resets[3]);
- if (ret)
- return ret;
+ for (i = 0; i < data->num_xsi_rsts; i++) {
+ ret = reset_get_by_name(dev, data->xsi_rsts_names[i],
+ &eth->xsi_rsts.resets[i]);
+ if (ret)
+ return ret;
+ }
ret = airoha_hw_init(dev, eth);
if (ret)
@@ -924,8 +1014,44 @@ static int arht_eth_write_hwaddr(struct
return 0;
}
+
+static ofnode en7581_get_scu_node(struct udevice *dev)
+{
+ return ofnode_by_compatible(ofnode_null(), "airoha,en7581-scu");
+}
+
+static ofnode an7583_get_scu_node(struct udevice *dev)
+{
+ ofnode scu_node;
+
+ scu_node = ofnode_by_compatible(ofnode_null(), "airoha,an7583-scu");
+ if (!ofnode_valid(scu_node))
+ return scu_node;
+
+ return ofnode_get_parent(scu_node);
+}
+
+static const struct airoha_eth_soc_data en7581_data = {
+ .xsi_rsts_names = en7581_xsi_rsts_names,
+ .num_xsi_rsts = ARRAY_SIZE(en7581_xsi_rsts_names),
+ .get_scu_node = en7581_get_scu_node,
+ .switch_compatible = "airoha,en7581-switch",
+};
+
+static const struct airoha_eth_soc_data an7583_data = {
+ .xsi_rsts_names = an7583_xsi_rsts_names,
+ .num_xsi_rsts = ARRAY_SIZE(an7583_xsi_rsts_names),
+ .get_scu_node = an7583_get_scu_node,
+ .switch_compatible = "airoha,an7583-switch",
+};
+
static const struct udevice_id airoha_eth_ids[] = {
- { .compatible = "airoha,en7581-eth" },
+ { .compatible = "airoha,en7581-eth",
+ .data = (ulong)&en7581_data,
+ },
+ { .compatible = "airoha,an7583-eth",
+ .data = (ulong)&an7583_data,
+ },
};
static const struct eth_ops airoha_eth_ops = {
@@ -0,0 +1,45 @@
From 613d695d0939cbbe6b66933267e3a4be263e1c7b Mon Sep 17 00:00:00 2001
From: Christian Marangi <ansuelsmth@gmail.com>
Date: Mon, 19 May 2025 14:31:59 +0200
Subject: [PATCH 2/4] airoha: add Ethernet node in AN7583 dtsi
Add Ethernet node in AN7583 dtsi to add support for the integrated
Ethernet Controller.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
---
arch/arm/dts/an7583.dtsi | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
--- a/arch/arm/dts/an7583.dtsi
+++ b/arch/arm/dts/an7583.dtsi
@@ -130,6 +130,29 @@
reg = <0x0 0x1fa20000 0x0 0x388>;
};
+ eth: ethernet@1fb50000 {
+ compatible = "airoha,an7583-eth";
+ reg = <0 0x1fb50000 0 0x2600>,
+ <0 0x1fb54000 0 0x2000>,
+ <0 0x1fb56000 0 0x2000>;
+ reg-names = "fe", "qdma0", "qdma1";
+
+ resets = <&scuclk AN7583_FE_RST>,
+ <&scuclk AN7583_FE_PDMA_RST>,
+ <&scuclk AN7583_FE_QDMA_RST>,
+ <&scuclk AN7583_DUAL_HSI0_MAC_RST>,
+ <&scuclk AN7583_DUAL_HSI1_MAC_RST>,
+ <&scuclk AN7583_XFP_MAC_RST>;
+ reset-names = "fe", "pdma", "qdma",
+ "hsi0-mac", "hsi1-mac",
+ "xfp-mac";
+ };
+
+ switch: switch@1fb58000 {
+ compatible = "airoha,an7583-switch";
+ reg = <0 0x1fb58000 0 0x8000>;
+ };
+
syscon@1fbe3400 {
compatible = "airoha,en7581-pbus-csr", "syscon";
reg = <0x0 0x1fbe3400 0x0 0xff>;
@@ -0,0 +1,65 @@
From 1a3039c1e3a194b3f1e72b4506f8bdcd5b10fbbf Mon Sep 17 00:00:00 2001
From: Christian Marangi <ansuelsmth@gmail.com>
Date: Mon, 19 May 2025 14:52:26 +0200
Subject: [PATCH] airoha: add MMC node for Airoha AN7583
Add MMC node for Airoha AN7583. These follow the same node of Airoha
AN7581.
Similar to Airoha AN7581, add the fixed regulator and fixed clock for
MMC.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
---
arch/arm/dts/an7583.dtsi | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)
--- a/arch/arm/dts/an7583.dtsi
+++ b/arch/arm/dts/an7583.dtsi
@@ -105,6 +105,21 @@
<GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;
};
+ clk25m: oscillator {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <25000000>;
+ clock-output-names = "clkxtal";
+ };
+
+ vmmc_3v3: regulator-vmmc-3v3 {
+ compatible = "regulator-fixed";
+ regulator-name = "vmmc";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-always-on;
+ };
+
soc {
compatible = "simple-bus";
#address-cells = <2>;
@@ -259,6 +274,24 @@
};
};
+ mmc0: mmc@1fa0e000 {
+ compatible = "mediatek,mt7622-mmc";
+ reg = <0x0 0x1fa0e000 0x0 0x1000>,
+ <0x0 0x1fa0c000 0x0 0x60>;
+ interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&scuclk EN7581_CLK_EMMC>, <&clk25m>;
+ clock-names = "source", "hclk";
+ bus-width = <4>;
+ max-frequency = <52000000>;
+ vmmc-supply = <&vmmc_3v3>;
+ disable-wp;
+ cap-mmc-highspeed;
+ non-removable;
+
+ assigned-clocks = <&scuclk EN7581_CLK_EMMC>;
+ assigned-clock-rates = <200000000>;
+ };
+
uart1: serial@1fbf0000 {
compatible = "ns16550";
reg = <0x0 0x1fbf0000 0x0 0x30>;
@@ -0,0 +1,133 @@
From 0343b5c2a754ca20f5155a8f3c6d58e887b9dd4f Mon Sep 17 00:00:00 2001
From: Christian Marangi <ansuelsmth@gmail.com>
Date: Tue, 20 May 2025 16:32:31 +0200
Subject: [PATCH] net: airoha: Fix spurious Airoha Ethernet stall
It was reported that sometimes the Airoha Ethernet driver stall and a
reset is needed to actually receive packet.
This seems to be related in the logic with how the CPU and DMA counter
are handled for the RX path. The problem seems to be more evident when
multiple device are connected to the Ethernet port.
To handle this, drop local tracking of the current CPU/DMA counter and
base everything on the current register by reading them and using the
descriptor directly.
Fixes: ee0f4afa982e ("net: airoha: Add Airoha Ethernet driver")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
---
drivers/net/airoha_eth.c | 32 +++++++++++++++++---------------
1 file changed, 17 insertions(+), 15 deletions(-)
--- a/drivers/net/airoha_eth.c
+++ b/drivers/net/airoha_eth.c
@@ -286,7 +286,6 @@ struct airoha_qdma_fwd_desc {
struct airoha_queue {
struct airoha_qdma_desc *desc;
- u16 head;
int ndesc;
};
@@ -452,7 +451,6 @@ static int airoha_qdma_init_rx_queue(str
unsigned long dma_addr;
q->ndesc = ndesc;
- q->head = 0;
q->desc = dma_alloc_coherent(q->ndesc * sizeof(*q->desc), &dma_addr);
if (!q->desc)
@@ -471,7 +469,7 @@ static int airoha_qdma_init_rx_queue(str
airoha_qdma_rmw(qdma, REG_RX_CPU_IDX(qid), RX_RING_CPU_IDX_MASK,
FIELD_PREP(RX_RING_CPU_IDX_MASK, q->ndesc - 1));
airoha_qdma_rmw(qdma, REG_RX_DMA_IDX(qid), RX_RING_DMA_IDX_MASK,
- FIELD_PREP(RX_RING_DMA_IDX_MASK, q->head));
+ FIELD_PREP(RX_RING_DMA_IDX_MASK, 0));
return 0;
}
@@ -499,7 +497,6 @@ static int airoha_qdma_init_tx_queue(str
unsigned long dma_addr;
q->ndesc = size;
- q->head = 0;
q->desc = dma_alloc_coherent(q->ndesc * sizeof(*q->desc), &dma_addr);
if (!q->desc)
@@ -510,9 +507,9 @@ static int airoha_qdma_init_tx_queue(str
airoha_qdma_wr(qdma, REG_TX_RING_BASE(qid), dma_addr);
airoha_qdma_rmw(qdma, REG_TX_CPU_IDX(qid), TX_RING_CPU_IDX_MASK,
- FIELD_PREP(TX_RING_CPU_IDX_MASK, q->head));
+ FIELD_PREP(TX_RING_CPU_IDX_MASK, 0));
airoha_qdma_rmw(qdma, REG_TX_DMA_IDX(qid), TX_RING_DMA_IDX_MASK,
- FIELD_PREP(TX_RING_DMA_IDX_MASK, q->head));
+ FIELD_PREP(TX_RING_DMA_IDX_MASK, 0));
return 0;
}
@@ -898,8 +895,10 @@ static int airoha_eth_send(struct udevic
qid = 0;
q = &qdma->q_tx[qid];
- desc = &q->desc[q->head];
- index = (q->head + 1) % q->ndesc;
+
+ index = airoha_qdma_rr(qdma, REG_TX_CPU_IDX(qid));
+ desc = &q->desc[index];
+ index = (index + 1) % q->ndesc;
fport = 1;
@@ -934,7 +933,6 @@ static int airoha_eth_send(struct udevic
if (!(desc->ctrl & QDMA_DESC_DONE_MASK))
return -EAGAIN;
- q->head = index;
airoha_qdma_rmw(qdma, REG_IRQ_CLEAR_LEN(0),
IRQ_CLEAR_LEN_MASK, 1);
@@ -947,12 +945,15 @@ static int airoha_eth_recv(struct udevic
struct airoha_qdma *qdma = &eth->qdma[0];
struct airoha_qdma_desc *desc;
struct airoha_queue *q;
+ int qid, index;
u16 length;
- int qid;
qid = 0;
q = &qdma->q_rx[qid];
- desc = &q->desc[q->head];
+
+ index = airoha_qdma_rr(qdma, REG_RX_CPU_IDX(qid));
+ index = (index + 1) % q->ndesc;
+ desc = &q->desc[index];
dma_unmap_single(virt_to_phys(desc), sizeof(*desc),
DMA_FROM_DEVICE);
@@ -974,7 +975,7 @@ static int arht_eth_free_pkt(struct udev
struct airoha_eth *eth = dev_get_priv(dev);
struct airoha_qdma *qdma = &eth->qdma[0];
struct airoha_queue *q;
- int qid;
+ int qid, index;
if (!packet)
return 0;
@@ -984,11 +985,12 @@ static int arht_eth_free_pkt(struct udev
dma_map_single(packet, length, DMA_TO_DEVICE);
- airoha_qdma_reset_rx_desc(q, q->head, packet);
+ index = airoha_qdma_rr(qdma, REG_RX_DMA_IDX(qid));
+ airoha_qdma_reset_rx_desc(q, index, packet);
+ index = (index + 1) % q->ndesc;
airoha_qdma_rmw(qdma, REG_RX_CPU_IDX(qid), RX_RING_CPU_IDX_MASK,
- FIELD_PREP(RX_RING_CPU_IDX_MASK, q->head));
- q->head = (q->head + 1) % q->ndesc;
+ FIELD_PREP(RX_RING_CPU_IDX_MASK, index));
return 0;
}
@@ -0,0 +1,113 @@
From 28a72d957b897e7f7212c11f99052a32b0f6abc4 Mon Sep 17 00:00:00 2001
From: Christian Marangi <ansuelsmth@gmail.com>
Date: Wed, 28 May 2025 03:10:53 +0200
Subject: [PATCH 1/2] airoha: enable UBI support and define default partition
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
---
arch/arm/dts/an7581-u-boot.dtsi | 16 ++++++++++++++++
arch/arm/dts/an7583-evb.dts | 22 ++++++++++++++++++++++
configs/an7581_evb_defconfig | 16 ++++++++++++++++
configs/an7583_evb_defconfig | 16 ++++++++++++++++
4 files changed, 70 insertions(+)
--- a/arch/arm/dts/an7581-u-boot.dtsi
+++ b/arch/arm/dts/an7581-u-boot.dtsi
@@ -76,6 +76,22 @@
spi-max-frequency = <50000000>;
spi-tx-bus-width = <1>;
spi-rx-bus-width = <2>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ bl2@0 {
+ label = "bl2";
+ reg = <0x0 0x20000>;
+ };
+
+ ubi@20000 {
+ label = "ubi";
+ reg = <0x20000 0x0>;
+ };
+ };
};
};
--- a/arch/arm/dts/an7583-evb.dts
+++ b/arch/arm/dts/an7583-evb.dts
@@ -46,6 +46,28 @@
};
};
+&snfi {
+ status = "okay";
+};
+
+&spi_nand {
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ bl2@0 {
+ label = "bl2";
+ reg = <0x0 0x20000>;
+ };
+
+ ubi@20000 {
+ label = "ubi";
+ reg = <0x20000 0x0>;
+ };
+ };
+};
+
&pcie0 {
pinctrl-names = "default";
pinctrl-0 = <&pcie0_rst_pins>;
--- a/configs/an7581_evb_defconfig
+++ b/configs/an7581_evb_defconfig
@@ -77,3 +77,19 @@ CONFIG_SPI=y
CONFIG_DM_SPI=y
CONFIG_AIROHA_SNFI_SPI=y
CONFIG_SHA512=y
+CONFIG_CMD_UBI=y
+# CONFIG_CMD_UBI_RENAME is not set
+CONFIG_CMD_UBIFS=y
+CONFIG_ENV_IS_IN_UBI=y
+CONFIG_ENV_UBI_PART="ubi"
+CONFIG_ENV_UBI_VOLUME="ubootenv"
+CONFIG_ENV_UBI_VOLUME_REDUND="ubootenv2"
+CONFIG_ENV_UBI_VID_OFFSET=0
+CONFIG_MTD_UBI=y
+CONFIG_MTD_UBI_MODULE=y
+CONFIG_MTD_UBI_WL_THRESHOLD=4096
+CONFIG_MTD_UBI_BEB_LIMIT=20
+# CONFIG_MTD_UBI_FASTMAP is not set
+CONFIG_UBI_BLOCK=y
+# CONFIG_UBIFS_SILENCE_MSG is not set
+# CONFIG_UBIFS_SILENCE_DEBUG_DUMP is not set
--- a/configs/an7583_evb_defconfig
+++ b/configs/an7583_evb_defconfig
@@ -79,3 +79,19 @@ CONFIG_SHA512=y
CONFIG_AIROHA_ETH=y
CONFIG_MMC_MTK=y
CONFIG_AIROHA_SNFI_SPI=y
+CONFIG_CMD_UBI=y
+# CONFIG_CMD_UBI_RENAME is not set
+CONFIG_CMD_UBIFS=y
+CONFIG_ENV_IS_IN_UBI=y
+CONFIG_ENV_UBI_PART="ubi"
+CONFIG_ENV_UBI_VOLUME="ubootenv"
+CONFIG_ENV_UBI_VOLUME_REDUND="ubootenv2"
+CONFIG_ENV_UBI_VID_OFFSET=0
+CONFIG_MTD_UBI=y
+CONFIG_MTD_UBI_MODULE=y
+CONFIG_MTD_UBI_WL_THRESHOLD=4096
+CONFIG_MTD_UBI_BEB_LIMIT=20
+# CONFIG_MTD_UBI_FASTMAP is not set
+CONFIG_UBI_BLOCK=y
+# CONFIG_UBIFS_SILENCE_MSG is not set
+# CONFIG_UBIFS_SILENCE_DEBUG_DUMP is not set
@@ -0,0 +1,45 @@
From f85e675d7be222d88246bfdb42a1faac92f1eb63 Mon Sep 17 00:00:00 2001
From: Christian Marangi <ansuelsmth@gmail.com>
Date: Wed, 28 May 2025 03:18:32 +0200
Subject: [PATCH 2/2] airoha: add default configuration
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
---
configs/an7581_evb_defconfig | 2 ++
configs/an7583_evb_defconfig | 2 ++
defenvs/an7581_rfb_env | 3 +++
defenvs/an7583_rfb_env | 3 +++
4 files changed, 10 insertions(+)
create mode 100644 defenvs/an7581_rfb_env
create mode 100644 defenvs/an7583_rfb_env
--- a/configs/an7581_evb_defconfig
+++ b/configs/an7581_evb_defconfig
@@ -93,3 +93,5 @@ CONFIG_MTD_UBI_BEB_LIMIT=20
CONFIG_UBI_BLOCK=y
# CONFIG_UBIFS_SILENCE_MSG is not set
# CONFIG_UBIFS_SILENCE_DEBUG_DUMP is not set
+CONFIG_USE_DEFAULT_ENV_FILE=y
+CONFIG_DEFAULT_ENV_FILE="defenvs/an7581_rfb_env"
--- a/configs/an7583_evb_defconfig
+++ b/configs/an7583_evb_defconfig
@@ -95,3 +95,5 @@ CONFIG_MTD_UBI_BEB_LIMIT=20
CONFIG_UBI_BLOCK=y
# CONFIG_UBIFS_SILENCE_MSG is not set
# CONFIG_UBIFS_SILENCE_DEBUG_DUMP is not set
+CONFIG_USE_DEFAULT_ENV_FILE=y
+CONFIG_DEFAULT_ENV_FILE="defenvs/an7583_rfb_env"
--- /dev/null
+++ b/defenvs/an7581_rfb_env
@@ -0,0 +1,4 @@
+loadaddr=0x81800000
+ipaddr=192.168.1.1
+serverip=192.168.1.10
+bootargs=ubi.mtd=ubi root=/dev/ubiblock0_5 rootwait
--- /dev/null
+++ b/defenvs/an7583_rfb_env
@@ -0,0 +1,4 @@
+loadaddr=0x81800000
+ipaddr=192.168.1.1
+serverip=192.168.1.10
+bootargs=ubi.mtd=ubi root=/dev/ubiblock0_5 rootwait
+5
View File
@@ -179,4 +179,9 @@ define Build/Compile
$(UBOOT_MAKE_FLAGS)
endef
define Build/InstallDev
$(INSTALL_DIR) $(STAGING_DIR_IMAGE)
$(INSTALL_DATA) $(PKG_BUILD_DIR)/$(UBOOT_IMAGE) $(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)-$(UBOOT_IMAGE)
endef
$(eval $(call BuildPackage/U-Boot))
+5 -5
View File
@@ -30,7 +30,7 @@ define U-Boot/dongshan_nezha_stu
OPENSBI:=generic
DEPENDS:=+opensbi_generic
UBOOT_DTS:=sun20i-d1-dongshan-nezha-stu.dtb
BUILD_DEVICES:=dongshan_nezha_stu
BUILD_DEVICES:=100ask_dongshan-nezha-stu
endef
define U-Boot/lichee_rv_dock
@@ -38,7 +38,7 @@ define U-Boot/lichee_rv_dock
OPENSBI:=generic
DEPENDS:=+opensbi_generic
UBOOT_DTS:=sun20i-d1-lichee-rv-dock.dtb
BUILD_DEVICES:=lichee_rv_dock
BUILD_DEVICES:=sipeed_lichee-rv-dock
endef
define U-Boot/mangopi_mq_pro
@@ -46,7 +46,7 @@ define U-Boot/mangopi_mq_pro
OPENSBI:=generic
DEPENDS:=+opensbi_generic
UBOOT_DTS:=sun20i-d1-mangopi-mq-pro.dtb
BUILD_DEVICES:=mangopi_mq_pro
BUILD_DEVICES:=widora_mangopi-mq-pro
endef
define U-Boot/nezha
@@ -54,7 +54,7 @@ define U-Boot/nezha
OPENSBI:=generic
DEPENDS:=+opensbi_generic
UBOOT_DTS:=sun20i-d1-nezha.dtb
BUILD_DEVICES:=nezha
BUILD_DEVICES:=allwinner_d1-nezha
endef
UBOOT_TARGETS := \
@@ -74,7 +74,7 @@ endef
define Build/InstallDev
$(INSTALL_DIR) $(STAGING_DIR_IMAGE)
$(INSTALL_BIN) $(PKG_BUILD_DIR)/$(DTS_DIR)/$(UBOOT_DTS) $(STAGING_DIR_IMAGE)/$(UBOOT_DTS)
$(INSTALL_BIN) $(PKG_BUILD_DIR)/$(UBOOT_IMAGE) $(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)-$(UBOOT_IMAGE)
$(INSTALL_BIN) $(PKG_BUILD_DIR)/$(UBOOT_IMAGE) $(STAGING_DIR_IMAGE)/$(BUILD_DEVICES)-$(UBOOT_IMAGE)
mkimage -C none -A riscv -T script -d uEnv-$(UENV).txt \
$(STAGING_DIR_IMAGE)/$(BUILD_DEVICES)-boot.scr
endef
@@ -0,0 +1,57 @@
From a63456b9191fae2fe49f4b121e025792022e3950 Mon Sep 17 00:00:00 2001
From: Markus Volk <f_l_k@t-online.de>
Date: Wed, 30 Oct 2024 06:07:16 +0100
Subject: [PATCH] scripts/dtc/pylibfdt/libfdt.i_shipped: Use SWIG_AppendOutput
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Swig has changed language specific AppendOutput functions. The helper
macro SWIG_AppendOutput remains unchanged. Use that instead
of SWIG_Python_AppendOutput, which would require an extra parameter
since swig 4.3.0.
/home/flk/poky/build-test/tmp/work/qemux86_64-poky-linux/u-boot/2024.10/git/arch/x86/cpu/u-boot-64.lds
| scripts/dtc/pylibfdt/libfdt_wrap.c: In function _wrap_fdt_next_node:
| scripts/dtc/pylibfdt/libfdt_wrap.c:5581:17: error: too few arguments to function SWIG_Python_AppendOutput
| 5581 | resultobj = SWIG_Python_AppendOutput(resultobj, val);
| | ^~~~~~~~~~~~~~~~~~~~~~~~
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Reported-by: Rudi Heitbaum <rudi@heitbaum.com>
Link: https://github.com/dgibson/dtc/pull/154
---
scripts/dtc/pylibfdt/libfdt.i_shipped | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/scripts/dtc/pylibfdt/libfdt.i_shipped b/scripts/dtc/pylibfdt/libfdt.i_shipped
index 56cc5d48f4f9..e4659489a96a 100644
--- a/scripts/dtc/pylibfdt/libfdt.i_shipped
+++ b/scripts/dtc/pylibfdt/libfdt.i_shipped
@@ -1037,7 +1037,7 @@ typedef uint32_t fdt32_t;
fdt_string(fdt1, fdt32_to_cpu($1->nameoff)));
buff = PyByteArray_FromStringAndSize(
(const char *)($1 + 1), fdt32_to_cpu($1->len));
- resultobj = SWIG_Python_AppendOutput(resultobj, buff);
+ resultobj = SWIG_AppendOutput(resultobj, buff);
}
}
@@ -1076,7 +1076,7 @@ typedef uint32_t fdt32_t;
%typemap(argout) int *depth {
PyObject *val = Py_BuildValue("i", *arg$argnum);
- resultobj = SWIG_Python_AppendOutput(resultobj, val);
+ resultobj = SWIG_AppendOutput(resultobj, val);
}
%apply int *depth { int *depth };
@@ -1092,7 +1092,7 @@ typedef uint32_t fdt32_t;
if (PyTuple_GET_SIZE(resultobj) == 0)
resultobj = val;
else
- resultobj = SWIG_Python_AppendOutput(resultobj, val);
+ resultobj = SWIG_AppendOutput(resultobj, val);
}
}
+3
View File
@@ -28,6 +28,7 @@ asus,rt-ac59u-v2|\
asus,zenwifi-cd6n|\
asus,zenwifi-cd6r|\
buffalo,bhr-4grv2|\
buffalo,wzr-450hp2|\
devolo,magic-2-wifi|\
engenius,eap300-v2|\
engenius,eap350-v1|\
@@ -84,6 +85,7 @@ yuncore,a930|\
yuncore,xd3200|\
yuncore,xd4200|\
ziking,cpe46b|\
zte,e8820|\
zyxel,nbg6616)
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x10000" "0x10000"
;;
@@ -163,6 +165,7 @@ ruckus,zf7372)
ubootenv_add_uci_config "/dev/mtd2" "0x0" "0x40000" "0x10000"
;;
sophos,ap15|\
sophos,ap15c|\
sophos,ap55|\
sophos,ap55c|\
sophos,ap100|\
@@ -0,0 +1,21 @@
[ -e /etc/config/ubootenv ] && exit 0
touch /etc/config/ubootenv
. /lib/uboot-envtools.sh
. /lib/functions.sh
board=$(board_name)
case "$board" in
gw,imx8m*|\
gateworks,imx8m*)
# board boots from emmc boot0 hardware partition
ubootenv_add_uci_config /dev/mmcblk2boot0 0x3f0000 0x8000
ubootenv_add_uci_config /dev/mmcblk2boot0 0x3f8000 0x8000
esac
config_load ubootenv
config_foreach ubootenv_add_app_config ubootenv
exit 0
@@ -35,14 +35,22 @@ ubootenv_add_ubi_default() {
case "$board" in
abt,asr3000|\
cetron,ct3003-ubootmod|\
cmcc,a10|\
cmcc,a10-ubootmod|\
cudy,tr3000-v1-ubootmod|\
h3c,magic-nx30-pro|\
imou,lc-hx3001|\
jcg,q30-pro|\
livinet,zr-3020-ubootmod|\
mercusys,mr90x-v1-ubi|\
netcore,n60|\
netcore,n60-pro|\
netis,nx31|\
nokia,ea0326gmp|\
qihoo,360t7|\
routerich,ax3000-ubootmod|\
tplink,tl-7dr7230-v1|\
tplink,tl-7dr7230-v2|\
tplink,tl-7dr7250-v1|\
tplink,tl-xdr4288|\
tplink,tl-xdr6086|\
tplink,tl-xdr6088|\
@@ -53,6 +61,17 @@ xiaomi,redmi-router-ax6000-ubootmod|\
zyxel,ex5601-t0-ubootmod)
ubootenv_add_ubi_default
;;
acer,predator-w6|\
acer,predator-w6d|\
acer,vero-w6m|\
glinet,gl-mt2500|\
glinet,gl-mt6000|\
glinet,gl-x3000|\
glinet,gl-xe3000|\
huasifei,wh3000-emmc)
local envdev=$(find_mmc_part "u-boot-env")
ubootenv_add_uci_config "$envdev" "0x0" "0x80000"
;;
asus,rt-ax59u)
ubootenv_add_uci_config "/dev/mtd0" "0x100000" "0x20000" "0x20000"
;;
@@ -61,6 +80,7 @@ bananapi,bpi-r3-mini|\
bananapi,bpi-r4|\
bananapi,bpi-r4-poe|\
cmcc,rax3000m|\
cmcc,rax3000me|\
jdcloud,re-cp-03|\
konka,komi-a31)
. /lib/upgrade/fit.sh
@@ -81,6 +101,7 @@ konka,komi-a31)
cetron,ct3003|\
edgecore,eap111|\
h3c,magic-nx30-pro-nmbm|\
livinet,zr-3020|\
netgear,wax220|\
zbtlink,zbt-z8102ax|\
zbtlink,zbt-z8103ax)
@@ -89,24 +110,20 @@ zbtlink,zbt-z8103ax)
comfast,cf-e393ax)
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x20000" "0x80000"
;;
dlink,aquila-pro-ai-m30-a1)
dlink,aquila-pro-ai-m30-a1|\
dlink,aquila-pro-ai-m60-a1)
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x40000" "0x40000"
;;
glinet,gl-x3000|\
glinet,gl-xe3000|\
glinet,gl-mt2500|\
glinet,gl-mt6000)
local envdev=$(find_mmc_part "u-boot-env")
ubootenv_add_uci_config "$envdev" "0x0" "0x80000"
gatonetworks,gdsp)
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x10000" "0x10000"
;;
glinet,gl-mt3000)
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x80000" "0x20000"
;;
livinet,zr-3020)
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x20000" "0x20000" "1"
;;
mercusys,mr80x-v3|\
mercusys,mr90x-v1|\
routerich,ax3000|\
routerich,ax3000-v1|\
tplink,re6000xd)
local envdev=/dev/mtd$(find_mtd_index "u-boot-env")
ubootenv_add_uci_config "$envdev" "0x0" "0x20000" "0x20000" "1"
@@ -124,6 +141,9 @@ smartrg,sdg-8734)
local envdev=$(find_mmc_part "u-boot-env" "mmcblk0")
ubootenv_add_uci_config "$envdev" "0x0" "0x8000" "0x8000"
;;
tplink,archer-ax80-v1)
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x20000" "0x20000" "8"
;;
ubnt,unifi-6-plus)
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x80000" "0x10000"
;;
@@ -30,6 +30,11 @@ zte,mf269)
[ -n "$idx" ] && \
ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x10000" "0x20000"
;;
linksys,homewrk)
idx="$(find_mtd_index 0:appsblenv)"
[ -n "$idx" ] && \
ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x40000" "0x40000"
;;
linksys,mx4200v1|\
linksys,mx4200v2|\
linksys,mx5300|\
@@ -38,6 +43,11 @@ linksys,mx8500)
[ -n "$idx" ] && \
ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x40000" "0x20000" "2"
;;
linksys,mx4300)
idx="$(find_mtd_index u_env)"
[ -n "$idx" ] && \
ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x40000" "0x40000" "1"
;;
netgear,sxr80|\
netgear,sxs80|\
tplink,eap660hd-v1)
@@ -49,7 +59,8 @@ redmi,ax6|\
redmi,ax6-stock|\
xiaomi,ax3600|\
xiaomi,ax3600-stock|\
xiaomi,ax9000)
xiaomi,ax9000|\
xiaomi,ax9000-stock)
idx="$(find_mtd_index 0:appsblenv)"
[ -n "$idx" ] && \
ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x10000" "0x20000"
+7 -1
View File
@@ -19,8 +19,10 @@ alfa-network,r36m-e4g|\
alfa-network,tube-e4g|\
engenius,epg600|\
engenius,esr600h|\
hongdian,h8922-v30|\
linksys,re7000|\
meig,slt866|\
qding,qc202|\
sitecom,wlr-4100-v1-002|\
zyxel,keenetic-lite-iii-a)
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x1000" "0x1000"
@@ -29,6 +31,7 @@ alfa-network,ax1800rm|\
allnet,all0256n-4m|\
allnet,all0256n-8m|\
allnet,all5002|\
huasifei,shf283|\
jdcloud,re-cp-02|\
yuncore,ax820)
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x10000" "0x10000"
@@ -63,6 +66,7 @@ kroks,kndrt31r19|\
mediatek,linkit-smart-7688|\
samknows,whitebox-v8|\
xiaomi,mi-router-4c|\
xiaomi,miwifi-3a|\
xiaomi,miwifi-nano|\
zbtlink,zbt-wg2626|\
zte,mf283plus)
@@ -71,6 +75,7 @@ zte,mf283plus)
asus,rt-ax53u|\
asus,rt-ax54|\
belkin,rt1800|\
c-life,xg1|\
elecom,wrc-x1800gs|\
h3c,tx1800-plus|\
h3c,tx1801-plus|\
@@ -148,7 +153,8 @@ xiaomi,mi-router-cr6608|\
xiaomi,mi-router-cr6609)
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x10000" "0x20000"
;;
dna,valokuitu-plus-ex400)
dna,valokuitu-plus-ex400|\
genexis,pulse-ex400)
ubootenv_add_uci_config "/dev/ubi0_0" "0x0" "0x1f000" "0x1f000" "1"
ubootenv_add_uci_config "/dev/ubi0_1" "0x0" "0x1f000" "0x1f000" "1"
;;
@@ -28,6 +28,7 @@ zyxel,gs1900-10hp|\
zyxel,gs1900-16|\
zyxel,gs1900-24-v1|\
zyxel,gs1900-24e|\
zyxel,gs1900-24ep|\
zyxel,gs1900-24hp-v1|\
zyxel,gs1900-24hp-v2)
idx="$(find_mtd_index u-boot-env)"
+186 -3
View File
@@ -246,7 +246,7 @@ endef
define U-Boot/mt7981_cmcc_a10
NAME:=CMCC A10
BUILD_SUBTARGET:=filogic
BUILD_DEVICES:=cmcc_a10
BUILD_DEVICES:=cmcc_a10-ubootmod
UBOOT_CONFIG:=mt7981_cmcc_a10
UBOOT_IMAGE:=u-boot.fip
BL2_BOOTDEV:=spim-nand
@@ -279,6 +279,65 @@ define U-Boot/mt7981_cmcc_rax3000m-nand
DEPENDS:=+trusted-firmware-a-mt7981-spim-nand-ddr4
endef
define U-Boot/mt7981_cmcc_rax3000me-emmc-ddr3
NAME:=CMCC RAX3000Me
BUILD_SUBTARGET:=filogic
BUILD_DEVICES:=cmcc_rax3000me
UBOOT_CONFIG:=mt7981_cmcc_rax3000me-emmc-ddr3
UBOOT_IMAGE:=u-boot.fip
BL2_BOOTDEV:=emmc
BL2_SOC:=mt7981
BL2_DDRTYPE:=ddr3-1866mhz
DEPENDS:=+trusted-firmware-a-mt7981-emmc-ddr3-1866mhz
endef
define U-Boot/mt7981_cmcc_rax3000me-emmc-ddr4
NAME:=CMCC RAX3000Me
BUILD_SUBTARGET:=filogic
BUILD_DEVICES:=cmcc_rax3000me
UBOOT_CONFIG:=mt7981_cmcc_rax3000me-emmc-ddr4
UBOOT_IMAGE:=u-boot.fip
BL2_BOOTDEV:=emmc
BL2_SOC:=mt7981
BL2_DDRTYPE:=ddr4
DEPENDS:=+trusted-firmware-a-mt7981-emmc-ddr4
endef
define U-Boot/mt7981_cmcc_rax3000me-nand-ddr3
NAME:=CMCC RAX3000Me
BUILD_SUBTARGET:=filogic
BUILD_DEVICES:=cmcc_rax3000me
UBOOT_CONFIG:=mt7981_cmcc_rax3000me-nand-ddr3
UBOOT_IMAGE:=u-boot.fip
BL2_BOOTDEV:=spim-nand
BL2_SOC:=mt7981
BL2_DDRTYPE:=ddr3-1866mhz
DEPENDS:=+trusted-firmware-a-mt7981-spim-nand-ddr3-1866mhz
endef
define U-Boot/mt7981_cmcc_rax3000me-nand-ddr4
NAME:=CMCC RAX3000Me
BUILD_SUBTARGET:=filogic
BUILD_DEVICES:=cmcc_rax3000me
UBOOT_CONFIG:=mt7981_cmcc_rax3000me-nand-ddr4
UBOOT_IMAGE:=u-boot.fip
BL2_BOOTDEV:=spim-nand
BL2_SOC:=mt7981
BL2_DDRTYPE:=ddr4
DEPENDS:=+trusted-firmware-a-mt7981-spim-nand-ddr4
endef
define U-Boot/mt7981_cudy_tr3000-v1
NAME:=Cudy TR3000 v1
BUILD_SUBTARGET:=filogic
BUILD_DEVICES:=cudy_tr3000-v1-ubootmod
UBOOT_CONFIG:=mt7981_cudy_tr3000-v1
UBOOT_IMAGE:=u-boot.fip
BL2_BOOTDEV:=cudy-tr3000-v1
BL2_SOC:=mt7981
DEPENDS:=+trusted-firmware-a-mt7981-cudy-tr3000-v1
endef
define U-Boot/mt7981_glinet_gl-x3000
NAME:=GL.iNet GL-X3000
BUILD_SUBTARGET:=filogic
@@ -388,6 +447,18 @@ define U-Boot/mt7981_livinet_zr-3020
DEPENDS:=+trusted-firmware-a-mt7981-spim-nand-ddr3
endef
define U-Boot/mt7981_netis_nx31
NAME:=netis NX31
BUILD_SUBTARGET:=filogic
BUILD_DEVICES:=netis_nx31
UBOOT_CONFIG:=mt7981_netis_nx31
UBOOT_IMAGE:=u-boot.fip
BL2_BOOTDEV:=spim-nand
BL2_SOC:=mt7981
BL2_DDRTYPE:=ddr3
DEPENDS:=+trusted-firmware-a-mt7981-spim-nand-ddr3
endef
define U-Boot/mt7981_nokia_ea0326gmp
NAME:=Nokia EA0326GMP
BUILD_SUBTARGET:=filogic
@@ -449,13 +520,26 @@ define U-Boot/mt7981_rfb-emmc
DEPENDS:=+trusted-firmware-a-mt7981-emmc-ddr3
endef
define U-Boot/mt7981_gatonetworks_gdsp
NAME:=GatoNetworks GDSP
BUILD_SUBTARGET:=filogic
BUILD_DEVICES:=gatonetworks_gdsp
UBOOT_CONFIG:=mt7981_gatonetworks_gdsp
UBOOT_IMAGE:=u-boot.fip
BL2_BOOTDEV:=nor
BL2_SOC:=mt7981
BL2_DDRTYPE:=ddr3
DEPENDS:=+trusted-firmware-a-mt7981-nor-ddr3
FIP_COMPRESS:=1
endef
define U-Boot/mt7981_rfb-nor
NAME:=MT7981 Reference Board
BUILD_SUBTARGET:=filogic
BUILD_DEVICES:=mediatek_mt7981-rfb
UBOOT_CONFIG:=mt7981_nor_rfb
UBOOT_IMAGE:=u-boot.fip
BL2_BOOTDEV:=spim-nand
BL2_BOOTDEV:=nor
BL2_SOC:=mt7981
BL2_DDRTYPE:=ddr3
DEPENDS:=+trusted-firmware-a-mt7981-nor-ddr3
@@ -485,6 +569,18 @@ define U-Boot/mt7981_rfb-snfi
DEPENDS:=+trusted-firmware-a-mt7981-snand-ddr3
endef
define U-Boot/mt7981_routerich_ax3000
NAME:=Routerich AX3000
BUILD_SUBTARGET:=filogic
BUILD_DEVICES:=routerich_ax3000-ubootmod
UBOOT_CONFIG:=mt7981_routerich_ax3000
UBOOT_IMAGE:=u-boot.fip
BL2_BOOTDEV:=spim-nand
BL2_SOC:=mt7981
BL2_DDRTYPE:=ddr3
DEPENDS:=+trusted-firmware-a-mt7981-spim-nand-ddr3
endef
define U-Boot/mt7981_qihoo_360t7
NAME:=Qihoo 360T7
BUILD_SUBTARGET:=filogic
@@ -630,6 +726,18 @@ define U-Boot/mt7986_jdcloud_re-cp-03
DEPENDS:=+trusted-firmware-a-mt7986-emmc-ddr4
endef
define U-Boot/mt7986_mercusys_mr90x-v1
NAME:=MERCUSYS MR90X v1
BUILD_SUBTARGET:=filogic
BUILD_DEVICES:=mercusys_mr90x-v1-ubi
UBOOT_CONFIG:=mt7986_mercusys_mr90x-v1
UBOOT_IMAGE:=u-boot.fip
BL2_BOOTDEV:=spim-nand-ubi
BL2_SOC:=mt7986
BL2_DDRTYPE:=ddr3
DEPENDS:=+trusted-firmware-a-mt7986-spim-nand-ubi-ddr3
endef
define U-Boot/mt7986_netcore_n60
NAME:=Netcore N60
BUILD_SUBTARGET:=filogic
@@ -642,6 +750,18 @@ define U-Boot/mt7986_netcore_n60
DEPENDS:=+trusted-firmware-a-mt7986-spim-nand-ddr3
endef
define U-Boot/mt7986_netcore_n60-pro
NAME:=Netcore N60 Pro
BUILD_SUBTARGET:=filogic
BUILD_DEVICES:=netcore_n60-pro
UBOOT_CONFIG:=mt7986_netcore_n60-pro
UBOOT_IMAGE:=u-boot.fip
BL2_BOOTDEV:=spim-nand
BL2_SOC:=mt7986
BL2_DDRTYPE:=ddr4
DEPENDS:=+trusted-firmware-a-mt7986-spim-nand-ddr4
endef
define U-Boot/mt7986_tplink_tl-xdr4288
NAME:=TP-LINK TL-XDR4288
BUILD_SUBTARGET:=filogic
@@ -714,6 +834,18 @@ define U-Boot/mt7986_zyxel_ex5601-t0
DEPENDS:=+trusted-firmware-a-mt7986-spim-nand-4k-ddr4
endef
define U-Boot/mt7988_arcadyan_mozart
NAME:=Arcadyan Mozart
BUILD_SUBTARGET:=filogic
BUILD_DEVICES:=arcadyan_mozart
UBOOT_CONFIG:=mt7988a_arcadyan_mozart
UBOOT_IMAGE:=u-boot.fip
BL2_BOOTDEV:=emmc
BL2_SOC:=mt7988
BL2_DDRTYPE:=comb
DEPENDS:=+trusted-firmware-a-mt7988-emmc-comb
endef
define U-Boot/mt7988_bananapi_bpi-r4-emmc
NAME:=BananaPi BPi-R4
BUILD_SUBTARGET:=filogic
@@ -786,6 +918,42 @@ define U-Boot/mt7988_bananapi_bpi-r4-poe-snand
DEPENDS:=+trusted-firmware-a-mt7988-spim-nand-ubi-comb
endef
define U-Boot/mt7988_tplink_tl-7dr7230-v1
NAME:=TP-Link TL-7DR7230 v1
BUILD_SUBTARGET:=filogic
BUILD_DEVICES:=tplink_tl-7dr7230-v1
UBOOT_CONFIG:=mt7988d_tplink_tl-7dr7230-v1
UBOOT_IMAGE:=u-boot.fip
BL2_BOOTDEV:=spim-nand
BL2_SOC:=mt7988
BL2_DDRTYPE:=ddr4
DEPENDS:=+trusted-firmware-a-mt7988-spim-nand-ddr4
endef
define U-Boot/mt7988_tplink_tl-7dr7230-v2
NAME:=TP-Link TL-7DR7230 v2
BUILD_SUBTARGET:=filogic
BUILD_DEVICES:=tplink_tl-7dr7230-v2
UBOOT_CONFIG:=mt7988d_tplink_tl-7dr7230-v2
UBOOT_IMAGE:=u-boot.fip
BL2_BOOTDEV:=spim-nand
BL2_SOC:=mt7988
BL2_DDRTYPE:=ddr3
DEPENDS:=+trusted-firmware-a-mt7988-spim-nand-ddr3
endef
define U-Boot/mt7988_tplink_tl-7dr7250-v1
NAME:=TP-Link TL-7DR7250 v1
BUILD_SUBTARGET:=filogic
BUILD_DEVICES:=tplink_tl-7dr7250-v1
UBOOT_CONFIG:=mt7988d_tplink_tl-7dr7250-v1
UBOOT_IMAGE:=u-boot.fip
BL2_BOOTDEV:=spim-nand
BL2_SOC:=mt7988
BL2_DDRTYPE:=ddr4
DEPENDS:=+trusted-firmware-a-mt7988-spim-nand-ddr4
endef
define U-Boot/mt7988_rfb-spim-nand
NAME:=MT7988 Reference Board
BUILD_SUBTARGET:=filogic
@@ -872,6 +1040,12 @@ UBOOT_TARGETS := \
mt7981_cmcc_a10 \
mt7981_cmcc_rax3000m-emmc \
mt7981_cmcc_rax3000m-nand \
mt7981_cmcc_rax3000me-emmc-ddr3 \
mt7981_cmcc_rax3000me-emmc-ddr4 \
mt7981_cmcc_rax3000me-nand-ddr3 \
mt7981_cmcc_rax3000me-nand-ddr4 \
mt7981_cudy_tr3000-v1 \
mt7981_gatonetworks_gdsp \
mt7981_glinet_gl-x3000 \
mt7981_glinet_gl-xe3000 \
mt7981_h3c_magic-nx30-pro \
@@ -881,6 +1055,7 @@ UBOOT_TARGETS := \
mt7981_konka_komi-a31-emmc \
mt7981_konka_komi-a31-nor \
mt7981_livinet_zr-3020 \
mt7981_netis_nx31 \
mt7981_nokia_ea0326gmp \
mt7981_openwrt_one-snand \
mt7981_openwrt_one-nor \
@@ -889,6 +1064,7 @@ UBOOT_TARGETS := \
mt7981_rfb-nor \
mt7981_rfb-sd \
mt7981_rfb-snfi \
mt7981_routerich_ax3000 \
mt7981_qihoo_360t7 \
mt7981_xiaomi_mi-router-ax3000t \
mt7981_xiaomi_mi-router-wr30u \
@@ -900,7 +1076,9 @@ UBOOT_TARGETS := \
mt7986_bananapi_bpi-r3-mini-snand \
mt7986_glinet_gl-mt6000 \
mt7986_jdcloud_re-cp-03 \
mt7986_mercusys_mr90x-v1 \
mt7986_netcore_n60 \
mt7986_netcore_n60-pro \
mt7986_tplink_tl-xdr4288 \
mt7986_tplink_tl-xdr6086 \
mt7986_tplink_tl-xdr6088 \
@@ -908,12 +1086,16 @@ UBOOT_TARGETS := \
mt7986_xiaomi_redmi-router-ax6000 \
mt7986_zyxel_ex5601-t0 \
mt7986_rfb \
mt7988_arcadyan_mozart \
mt7988_bananapi_bpi-r4-emmc \
mt7988_bananapi_bpi-r4-sdmmc \
mt7988_bananapi_bpi-r4-snand \
mt7988_bananapi_bpi-r4-poe-emmc \
mt7988_bananapi_bpi-r4-poe-sdmmc \
mt7988_bananapi_bpi-r4-poe-snand \
mt7988_tplink_tl-7dr7230-v1 \
mt7988_tplink_tl-7dr7230-v2 \
mt7988_tplink_tl-7dr7250-v1 \
mt7988_rfb-spim-nand \
mt7988_rfb-snand \
mt7988_rfb-nor \
@@ -923,7 +1105,8 @@ UBOOT_TARGETS := \
UBOOT_CUSTOMIZE_CONFIG := \
--disable TOOLS_KWBIMAGE \
--disable TOOLS_LIBCRYPTO \
--disable TOOLS_MKEFICAPSULE
--disable TOOLS_MKEFICAPSULE \
--enable SERIAL_RX_BUFFER
ifdef CONFIG_TARGET_mediatek
UBOOT_MAKE_FLAGS += $(UBOOT_IMAGE:.fip=.bin)
@@ -0,0 +1,55 @@
From a63456b9191fae2fe49f4b121e025792022e3950 Mon Sep 17 00:00:00 2001
From: Markus Volk <f_l_k@t-online.de>
Date: Wed, 30 Oct 2024 06:07:16 +0100
Subject: [PATCH] scripts/dtc/pylibfdt/libfdt.i_shipped: Use SWIG_AppendOutput
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Swig has changed language specific AppendOutput functions. The helper
macro SWIG_AppendOutput remains unchanged. Use that instead
of SWIG_Python_AppendOutput, which would require an extra parameter
since swig 4.3.0.
/home/flk/poky/build-test/tmp/work/qemux86_64-poky-linux/u-boot/2024.10/git/arch/x86/cpu/u-boot-64.lds
| scripts/dtc/pylibfdt/libfdt_wrap.c: In function _wrap_fdt_next_node:
| scripts/dtc/pylibfdt/libfdt_wrap.c:5581:17: error: too few arguments to function SWIG_Python_AppendOutput
| 5581 | resultobj = SWIG_Python_AppendOutput(resultobj, val);
| | ^~~~~~~~~~~~~~~~~~~~~~~~
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Reported-by: Rudi Heitbaum <rudi@heitbaum.com>
Link: https://github.com/dgibson/dtc/pull/154
---
scripts/dtc/pylibfdt/libfdt.i_shipped | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
--- a/scripts/dtc/pylibfdt/libfdt.i_shipped
+++ b/scripts/dtc/pylibfdt/libfdt.i_shipped
@@ -1037,7 +1037,7 @@ typedef uint32_t fdt32_t;
fdt_string(fdt1, fdt32_to_cpu($1->nameoff)));
buff = PyByteArray_FromStringAndSize(
(const char *)($1 + 1), fdt32_to_cpu($1->len));
- resultobj = SWIG_Python_AppendOutput(resultobj, buff);
+ resultobj = SWIG_AppendOutput(resultobj, buff);
}
}
@@ -1076,7 +1076,7 @@ typedef uint32_t fdt32_t;
%typemap(argout) int *depth {
PyObject *val = Py_BuildValue("i", *arg$argnum);
- resultobj = SWIG_Python_AppendOutput(resultobj, val);
+ resultobj = SWIG_AppendOutput(resultobj, val);
}
%apply int *depth { int *depth };
@@ -1092,7 +1092,7 @@ typedef uint32_t fdt32_t;
if (PyTuple_GET_SIZE(resultobj) == 0)
resultobj = val;
else
- resultobj = SWIG_Python_AppendOutput(resultobj, val);
+ resultobj = SWIG_AppendOutput(resultobj, val);
}
}
@@ -0,0 +1,63 @@
From 72b4ba8417d33516b8489bac3c90dbbbf781a3d2 Mon Sep 17 00:00:00 2001
From: Weijie Gao <weijie.gao@mediatek.com>
Date: Tue, 29 Oct 2024 17:47:10 +0800
Subject: [PATCH 1/3] menu: fix the logic checking whether ESC key is pressed
It's observed that the bootmenu on a serial console sometimes
incorrectly quitted with superfluous characters filled to command
line input:
> *** U-Boot Boot Menu ***
>
> 1. Startup system (Default)
> 2. Upgrade firmware
> 3. Upgrade ATF BL2
> 4. Upgrade ATF FIP
> 5. Load image
> 0. U-Boot console
>
>
> Press UP/DOWN to move, ENTER to select, ESC to quit
>MT7988> [B
Analysis shows it was caused by the wrong logic of bootmenu_loop:
At first the bootmenu_loop received the first ESC char correctly.
However, during the second call to bootmenu_loop, there's no data
in the UART Rx FIFO. Due to the low baudrate, the second char of
the down array key sequence hasn't be fully received.
But bootmenu_loop just did a mdelay(10), and then treated it as a
single ESC key press event. It didn't even try tstc() again after
the 10ms timeout.
This patch fixes this issue by letting bootmenu_loop check tstc()
twice.
Tested-By: E Shattow <lucent@gmail.com>
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
---
common/menu.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
--- a/common/menu.c
+++ b/common/menu.c
@@ -525,14 +525,15 @@ enum bootmenu_key bootmenu_loop(struct b
struct cli_ch_state *cch)
{
enum bootmenu_key key;
- int c;
+ int c, errchar = 0;
c = cli_ch_process(cch, 0);
if (!c) {
while (!c && !tstc()) {
schedule();
mdelay(10);
- c = cli_ch_process(cch, -ETIMEDOUT);
+ c = cli_ch_process(cch, errchar);
+ errchar = -ETIMEDOUT;
}
if (!c) {
c = getchar();
@@ -0,0 +1,112 @@
From f1cbdd3330f0055dfbff0ef7d86276c4cc3cff2a Mon Sep 17 00:00:00 2001
From: Weijie Gao <weijie.gao@mediatek.com>
Date: Tue, 29 Oct 2024 17:47:16 +0800
Subject: [PATCH 2/3] menu: add support to check if menu needs to be reprinted
This patch adds a new callback named need_reprint for menu.
The need_reprint will be called before printing the menu. If the
callback exists and returns FALSE, menu printing will be canceled.
This is very useful if the menu was not changed. It can save time
for serial-based menu to handle more input data.
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
---
boot/pxe_utils.c | 2 +-
cmd/bootmenu.c | 2 +-
cmd/eficonfig.c | 2 +-
common/menu.c | 11 +++++++++++
include/menu.h | 1 +
5 files changed, 15 insertions(+), 3 deletions(-)
--- a/boot/pxe_utils.c
+++ b/boot/pxe_utils.c
@@ -1449,7 +1449,7 @@ static struct menu *pxe_menu_to_menu(str
* Create a menu and add items for all the labels.
*/
m = menu_create(cfg->title, DIV_ROUND_UP(cfg->timeout, 10),
- cfg->prompt, NULL, label_print, NULL, NULL);
+ cfg->prompt, NULL, label_print, NULL, NULL, NULL);
if (!m)
return NULL;
--- a/cmd/bootmenu.c
+++ b/cmd/bootmenu.c
@@ -506,7 +506,7 @@ static enum bootmenu_ret bootmenu_show(i
menu = menu_create(NULL, bootmenu->delay, 1, menu_display_statusline,
bootmenu_print_entry, bootmenu_choice_entry,
- bootmenu);
+ NULL, bootmenu);
if (!menu) {
bootmenu_destroy(bootmenu);
return BOOTMENU_RET_FAIL;
--- a/cmd/eficonfig.c
+++ b/cmd/eficonfig.c
@@ -443,7 +443,7 @@ efi_status_t eficonfig_process_common(st
efi_menu->menu_desc = menu_desc;
menu = menu_create(NULL, 0, 1, display_statusline, item_data_print,
- item_choice, efi_menu);
+ item_choice, NULL, efi_menu);
if (!menu)
return EFI_INVALID_PARAMETER;
--- a/common/menu.c
+++ b/common/menu.c
@@ -43,6 +43,7 @@ struct menu {
void (*display_statusline)(struct menu *);
void (*item_data_print)(void *);
char *(*item_choice)(void *);
+ bool (*need_reprint)(void *);
void *item_choice_data;
struct list_head items;
int item_cnt;
@@ -117,6 +118,11 @@ static inline void *menu_item_destroy(st
*/
static inline void menu_display(struct menu *m)
{
+ if (m->need_reprint) {
+ if (!m->need_reprint(m->item_choice_data))
+ return;
+ }
+
if (m->title) {
puts(m->title);
putc('\n');
@@ -362,6 +368,9 @@ int menu_item_add(struct menu *m, char *
* item. Returns a key string corresponding to the chosen item or NULL if
* no item has been selected.
*
+ * need_reprint - If not NULL, will be called before printing the menu.
+ * Returning FALSE means the menu does not need reprint.
+ *
* item_choice_data - Will be passed as the argument to the item_choice function
*
* Returns a pointer to the menu if successful, or NULL if there is
@@ -371,6 +380,7 @@ struct menu *menu_create(char *title, in
void (*display_statusline)(struct menu *),
void (*item_data_print)(void *),
char *(*item_choice)(void *),
+ bool (*need_reprint)(void *),
void *item_choice_data)
{
struct menu *m;
@@ -386,6 +396,7 @@ struct menu *menu_create(char *title, in
m->display_statusline = display_statusline;
m->item_data_print = item_data_print;
m->item_choice = item_choice;
+ m->need_reprint = need_reprint;
m->item_choice_data = item_choice_data;
m->item_cnt = 0;
--- a/include/menu.h
+++ b/include/menu.h
@@ -13,6 +13,7 @@ struct menu *menu_create(char *title, in
void (*display_statusline)(struct menu *),
void (*item_data_print)(void *),
char *(*item_choice)(void *),
+ bool (*need_reprint)(void *),
void *item_choice_data);
int menu_default_set(struct menu *m, char *item_key);
int menu_get_choice(struct menu *m, void **choice);
@@ -0,0 +1,75 @@
From 702752cfae954648d6133bdff19283343b3339ef Mon Sep 17 00:00:00 2001
From: Weijie Gao <weijie.gao@mediatek.com>
Date: Tue, 29 Oct 2024 17:47:22 +0800
Subject: [PATCH 3/3] bootmenu: add reprint check
Record the last active menu item and check if it equals to the
current selected item before reprint.
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
---
cmd/bootmenu.c | 16 +++++++++++++++-
include/menu.h | 1 +
2 files changed, 16 insertions(+), 1 deletion(-)
--- a/cmd/bootmenu.c
+++ b/cmd/bootmenu.c
@@ -103,11 +103,13 @@ static char *bootmenu_choice_entry(void
switch (key) {
case BKEY_UP:
+ menu->last_active = menu->active;
if (menu->active > 0)
--menu->active;
/* no menu key selected, regenerate menu */
return NULL;
case BKEY_DOWN:
+ menu->last_active = menu->active;
if (menu->active < menu->count - 1)
++menu->active;
/* no menu key selected, regenerate menu */
@@ -133,6 +135,17 @@ static char *bootmenu_choice_entry(void
return NULL;
}
+static bool bootmenu_need_reprint(void *data)
+{
+ struct bootmenu_data *menu = data;
+ bool need_reprint;
+
+ need_reprint = menu->last_active != menu->active;
+ menu->last_active = menu->active;
+
+ return need_reprint;
+}
+
static void bootmenu_destroy(struct bootmenu_data *menu)
{
struct bootmenu_entry *iter = menu->first;
@@ -332,6 +345,7 @@ static struct bootmenu_data *bootmenu_cr
menu->delay = delay;
menu->active = 0;
+ menu->last_active = -1;
menu->first = NULL;
default_str = env_get("bootmenu_default");
@@ -506,7 +520,7 @@ static enum bootmenu_ret bootmenu_show(i
menu = menu_create(NULL, bootmenu->delay, 1, menu_display_statusline,
bootmenu_print_entry, bootmenu_choice_entry,
- NULL, bootmenu);
+ bootmenu_need_reprint, bootmenu);
if (!menu) {
bootmenu_destroy(bootmenu);
return BOOTMENU_RET_FAIL;
--- a/include/menu.h
+++ b/include/menu.h
@@ -40,6 +40,7 @@ int menu_show(int bootdelay);
struct bootmenu_data {
int delay; /* delay for autoboot */
int active; /* active menu entry */
+ int last_active; /* last active menu entry */
int count; /* total count of menu entries */
struct bootmenu_entry *first; /* first menu entry */
};
@@ -0,0 +1,45 @@
From 6e45549f4dac42748d66462e04f940ef6737289d Mon Sep 17 00:00:00 2001
From: Weijie Gao <weijie.gao@mediatek.com>
Date: Tue, 17 Dec 2024 16:39:16 +0800
Subject: [PATCH 01/10] clk: mediatek: mt7629: fix parent clock of some top
clock muxes
According to the mt7629 programming guide, the CLK_TOP_F10M_REF_SEL
shares the same parent selection with CLK_TOP_IRRX_SEL, while the
present parent selection for CLK_TOP_F10M_REF_SEL is actually used
for CLK_TOP_SGMII_REF_1_SEL.
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
---
drivers/clk/mediatek/clk-mt7629.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
--- a/drivers/clk/mediatek/clk-mt7629.c
+++ b/drivers/clk/mediatek/clk-mt7629.c
@@ -186,7 +186,7 @@ static const int pwm_parents[] = {
CLK_TOP_UNIVPLL2_D4
};
-static const int f10m_ref_parents[] = {
+static const int sgmii_ref_1_parents[] = {
CLK_XTAL,
CLK_TOP_SGMIIPLL_D2
};
@@ -369,7 +369,7 @@ static const struct mtk_composite top_mu
/* CLK_CFG_1 */
MUX_GATE(CLK_TOP_PWM_SEL, pwm_parents, 0x50, 0, 2, 7),
- MUX_GATE(CLK_TOP_F10M_REF_SEL, f10m_ref_parents, 0x50, 8, 1, 15),
+ MUX_GATE(CLK_TOP_F10M_REF_SEL, irrx_parents, 0x50, 8, 1, 15),
MUX_GATE(CLK_TOP_NFI_INFRA_SEL, nfi_infra_parents, 0x50, 16, 4, 23),
MUX_GATE(CLK_TOP_FLASH_SEL, flash_parents, 0x50, 24, 3, 31),
@@ -412,7 +412,7 @@ static const struct mtk_composite top_mu
/* CLK_CFG_8 */
MUX_GATE(CLK_TOP_CRYPTO_SEL, crypto_parents, 0xC0, 0, 3, 7),
- MUX_GATE(CLK_TOP_SGMII_REF_1_SEL, f10m_ref_parents, 0xC0, 8, 1, 15),
+ MUX_GATE(CLK_TOP_SGMII_REF_1_SEL, sgmii_ref_1_parents, 0xC0, 8, 1, 15),
MUX_GATE(CLK_TOP_10M_SEL, gpt10m_parents, 0xC0, 16, 1, 23),
};
@@ -0,0 +1,28 @@
From ba365c3d23411620d86b5baf621c8f5a4000ab33 Mon Sep 17 00:00:00 2001
From: Weijie Gao <weijie.gao@mediatek.com>
Date: Tue, 17 Dec 2024 16:39:20 +0800
Subject: [PATCH 02/10] arm: dts: mt7629: fix sgmii clock selection for
ethernet
Setup correct parent of clock CLK_TOP_SGMII_REF_1_SEL to allow
sgmiisys1 work correctly.
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
---
arch/arm/dts/mt7629.dtsi | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
--- a/arch/arm/dts/mt7629.dtsi
+++ b/arch/arm/dts/mt7629.dtsi
@@ -314,8 +314,10 @@
"sgmii2_cdr_ref", "sgmii2_cdr_fb",
"sgmii_ck", "eth2pll";
assigned-clocks = <&topckgen CLK_TOP_ETH_SEL>,
- <&topckgen CLK_TOP_F10M_REF_SEL>;
+ <&topckgen CLK_TOP_F10M_REF_SEL>,
+ <&topckgen CLK_TOP_SGMII_REF_1_SEL>;
assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL1_D2>,
+ <&topckgen CLK_TOP_SYSPLL4_D16>,
<&topckgen CLK_TOP_SGMIIPLL_D2>;
power-domains = <&scpsys MT7629_POWER_DOMAIN_ETHSYS>;
resets = <&ethsys ETHSYS_FE_RST>;
@@ -0,0 +1,64 @@
From 0d4d8e6f47ef22ea6b3041b4c0cb27b4ed4bf188 Mon Sep 17 00:00:00 2001
From: Weijie Gao <weijie.gao@mediatek.com>
Date: Tue, 17 Dec 2024 16:39:23 +0800
Subject: [PATCH 03/10] net: mediatek: use correct register field for SGMII
speed selection
The register field for SGMII speed selection is a 2-bit field with
value 0 for 1Gbps and 1 for 2.5Gbps (2/3 are reserved).
So it's necessary to set both bits instead of just setting/clearing
only the lower bit.
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
---
drivers/net/mtk_eth.c | 12 ++++++------
drivers/net/mtk_eth.h | 3 ++-
2 files changed, 8 insertions(+), 7 deletions(-)
--- a/drivers/net/mtk_eth.c
+++ b/drivers/net/mtk_eth.c
@@ -835,8 +835,8 @@ static int mt7531_port_sgmii_init(struct
}
/* Set SGMII GEN2 speed(2.5G) */
- mt753x_reg_rmw(priv, MT7531_PHYA_CTRL_SIGNAL3(port),
- SGMSYS_SPEED_2500, SGMSYS_SPEED_2500);
+ mt753x_reg_rmw(priv, MT7531_PHYA_CTRL_SIGNAL3(port), SGMSYS_SPEED_MASK,
+ FIELD_PREP(SGMSYS_SPEED_MASK, SGMSYS_SPEED_2500));
/* Disable SGMII AN */
mt753x_reg_rmw(priv, MT7531_PCS_CONTROL_1(port),
@@ -1281,8 +1281,7 @@ static int mtk_phy_probe(struct udevice
static void mtk_sgmii_an_init(struct mtk_eth_priv *priv)
{
/* Set SGMII GEN1 speed(1G) */
- clrsetbits_le32(priv->sgmii_base + priv->soc->ana_rgc3,
- SGMSYS_SPEED_2500, 0);
+ clrbits_le32(priv->sgmii_base + priv->soc->ana_rgc3, SGMSYS_SPEED_MASK);
/* Enable SGMII AN */
setbits_le32(priv->sgmii_base + SGMSYS_PCS_CONTROL_1,
@@ -1305,8 +1304,9 @@ static void mtk_sgmii_an_init(struct mtk
static void mtk_sgmii_force_init(struct mtk_eth_priv *priv)
{
/* Set SGMII GEN2 speed(2.5G) */
- setbits_le32(priv->sgmii_base + priv->soc->ana_rgc3,
- SGMSYS_SPEED_2500);
+ clrsetbits_le32(priv->sgmii_base + priv->soc->ana_rgc3,
+ SGMSYS_SPEED_MASK,
+ FIELD_PREP(SGMSYS_SPEED_MASK, SGMSYS_SPEED_2500));
/* Disable SGMII AN */
clrsetbits_le32(priv->sgmii_base + SGMSYS_PCS_CONTROL_1,
--- a/drivers/net/mtk_eth.h
+++ b/drivers/net/mtk_eth.h
@@ -108,7 +108,8 @@ enum mkt_eth_capabilities {
#define SGMSYS_GEN2_SPEED 0x2028
#define SGMSYS_GEN2_SPEED_V2 0x128
-#define SGMSYS_SPEED_2500 BIT(2)
+#define SGMSYS_SPEED_MASK GENMASK(3, 2)
+#define SGMSYS_SPEED_2500 1
/* USXGMII subsystem config registers */
/* Register to control USXGMII XFI PLL digital */
@@ -0,0 +1,78 @@
From 7562da9454c1a6eff3db3b41c183e03039e855e6 Mon Sep 17 00:00:00 2001
From: Weijie Gao <weijie.gao@mediatek.com>
Date: Tue, 17 Dec 2024 16:39:27 +0800
Subject: [PATCH 04/10] net: mediatek: correct register name of ethsys syscfg1
The SYSCFG0 should be SYSCFG1 according to the programming guide.
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
---
drivers/net/mtk_eth.c | 14 +++++++-------
drivers/net/mtk_eth.h | 12 ++++++------
2 files changed, 13 insertions(+), 13 deletions(-)
--- a/drivers/net/mtk_eth.c
+++ b/drivers/net/mtk_eth.c
@@ -1450,8 +1450,8 @@ static void mtk_mac_init(struct mtk_eth_
}
ge_mode = GE_MODE_RGMII;
- mtk_ethsys_rmw(priv, ETHSYS_SYSCFG0_REG, SYSCFG0_SGMII_SEL_M,
- SYSCFG0_SGMII_SEL(priv->gmac_id));
+ mtk_ethsys_rmw(priv, ETHSYS_SYSCFG1_REG, SYSCFG1_SGMII_SEL_M,
+ SYSCFG1_SGMII_SEL(priv->gmac_id));
if (priv->phy_interface == PHY_INTERFACE_MODE_SGMII)
mtk_sgmii_an_init(priv);
else
@@ -1469,9 +1469,9 @@ static void mtk_mac_init(struct mtk_eth_
}
/* set the gmac to the right mode */
- mtk_ethsys_rmw(priv, ETHSYS_SYSCFG0_REG,
- SYSCFG0_GE_MODE_M << SYSCFG0_GE_MODE_S(priv->gmac_id),
- ge_mode << SYSCFG0_GE_MODE_S(priv->gmac_id));
+ mtk_ethsys_rmw(priv, ETHSYS_SYSCFG1_REG,
+ SYSCFG1_GE_MODE_M << SYSCFG1_GE_MODE_S(priv->gmac_id),
+ ge_mode << SYSCFG1_GE_MODE_S(priv->gmac_id));
if (priv->force_mode) {
mcr = (IPG_96BIT_WITH_SHORT_IPG << IPG_CFG_S) |
@@ -1527,8 +1527,8 @@ static void mtk_xmac_init(struct mtk_eth
}
/* Set GMAC to the correct mode */
- mtk_ethsys_rmw(priv, ETHSYS_SYSCFG0_REG,
- SYSCFG0_GE_MODE_M << SYSCFG0_GE_MODE_S(priv->gmac_id),
+ mtk_ethsys_rmw(priv, ETHSYS_SYSCFG1_REG,
+ SYSCFG1_GE_MODE_M << SYSCFG1_GE_MODE_S(priv->gmac_id),
0);
if (priv->phy_interface == PHY_INTERFACE_MODE_USXGMII &&
--- a/drivers/net/mtk_eth.h
+++ b/drivers/net/mtk_eth.h
@@ -65,11 +65,11 @@ enum mkt_eth_capabilities {
/* Ethernet subsystem registers */
-#define ETHSYS_SYSCFG0_REG 0x14
-#define SYSCFG0_GE_MODE_S(n) (12 + ((n) * 2))
-#define SYSCFG0_GE_MODE_M 0x3
-#define SYSCFG0_SGMII_SEL_M (0x3 << 8)
-#define SYSCFG0_SGMII_SEL(gmac) ((!(gmac)) ? BIT(9) : BIT(8))
+#define ETHSYS_SYSCFG1_REG 0x14
+#define SYSCFG1_GE_MODE_S(n) (12 + ((n) * 2))
+#define SYSCFG1_GE_MODE_M 0x3
+#define SYSCFG1_SGMII_SEL_M (0x3 << 8)
+#define SYSCFG1_SGMII_SEL(gmac) ((!(gmac)) ? BIT(9) : BIT(8))
#define ETHSYS_CLKCFG0_REG 0x2c
#define ETHSYS_TRGMII_CLK_SEL362_5 BIT(11)
@@ -84,7 +84,7 @@ enum mkt_eth_capabilities {
#define QPHY_SEL_MASK 0x3
#define SGMII_QPHY_SEL 0x2
-/* SYSCFG0_GE_MODE: GE Modes */
+/* SYSCFG1_GE_MODE: GE Modes */
#define GE_MODE_RGMII 0
#define GE_MODE_MII 1
#define GE_MODE_MII_PHY 2
@@ -0,0 +1,90 @@
From 82f05bc48821f3709f22f3d1f6e45290547f74be Mon Sep 17 00:00:00 2001
From: Weijie Gao <weijie.gao@mediatek.com>
Date: Tue, 17 Dec 2024 16:39:41 +0800
Subject: [PATCH 05/10] net: mediatek: fix sgmii selection for mt7622
Unlike other platforms, mt7622 has only one SGMII and it can be
attached to either gmac1 or gmac2. So the register field of the
sgmii selection differs from other platforms as newer platforms can
control each sgmii individually.
This patch adds a new capability for mt7622 to handle this case.
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
---
drivers/net/mtk_eth.c | 10 ++++++++--
drivers/net/mtk_eth.h | 8 ++++++--
2 files changed, 14 insertions(+), 4 deletions(-)
--- a/drivers/net/mtk_eth.c
+++ b/drivers/net/mtk_eth.c
@@ -1434,7 +1434,7 @@ static void mtk_usxgmii_an_init(struct m
static void mtk_mac_init(struct mtk_eth_priv *priv)
{
- int i, ge_mode = 0;
+ int i, sgmii_sel_mask = 0, ge_mode = 0;
u32 mcr;
switch (priv->phy_interface) {
@@ -1450,8 +1450,13 @@ static void mtk_mac_init(struct mtk_eth_
}
ge_mode = GE_MODE_RGMII;
- mtk_ethsys_rmw(priv, ETHSYS_SYSCFG1_REG, SYSCFG1_SGMII_SEL_M,
+
+ if (MTK_HAS_CAPS(priv->soc->caps, MTK_ETH_PATH_MT7622_SGMII))
+ sgmii_sel_mask = SYSCFG1_SGMII_SEL_M;
+
+ mtk_ethsys_rmw(priv, ETHSYS_SYSCFG1_REG, sgmii_sel_mask,
SYSCFG1_SGMII_SEL(priv->gmac_id));
+
if (priv->phy_interface == PHY_INTERFACE_MODE_SGMII)
mtk_sgmii_an_init(priv);
else
@@ -2112,6 +2117,7 @@ static const struct mtk_soc_data mt7623_
};
static const struct mtk_soc_data mt7622_data = {
+ .caps = MT7622_CAPS,
.ana_rgc3 = 0x2028,
.gdma_count = 2,
.pdma_base = PDMA_V1_BASE,
--- a/drivers/net/mtk_eth.h
+++ b/drivers/net/mtk_eth.h
@@ -23,6 +23,7 @@ enum mkt_eth_capabilities {
/* PATH BITS */
MTK_ETH_PATH_GMAC1_TRGMII_BIT,
MTK_ETH_PATH_GMAC2_SGMII_BIT,
+ MTK_ETH_PATH_MT7622_SGMII_BIT,
};
#define MTK_TRGMII BIT(MTK_TRGMII_BIT)
@@ -36,6 +37,7 @@ enum mkt_eth_capabilities {
#define MTK_ETH_PATH_GMAC1_TRGMII BIT(MTK_ETH_PATH_GMAC1_TRGMII_BIT)
#define MTK_ETH_PATH_GMAC2_SGMII BIT(MTK_ETH_PATH_GMAC2_SGMII_BIT)
+#define MTK_ETH_PATH_MT7622_SGMII BIT(MTK_ETH_PATH_MT7622_SGMII_BIT)
#define MTK_GMAC1_TRGMII (MTK_ETH_PATH_GMAC1_TRGMII | MTK_TRGMII)
@@ -45,6 +47,8 @@ enum mkt_eth_capabilities {
#define MT7621_CAPS (MTK_GMAC1_TRGMII | MTK_TRGMII_MT7621_CLK)
+#define MT7622_CAPS (MTK_ETH_PATH_MT7622_SGMII)
+
#define MT7623_CAPS (MTK_GMAC1_TRGMII)
#define MT7981_CAPS (MTK_GMAC2_U3_QPHY | MTK_NETSYS_V2)
@@ -68,8 +72,8 @@ enum mkt_eth_capabilities {
#define ETHSYS_SYSCFG1_REG 0x14
#define SYSCFG1_GE_MODE_S(n) (12 + ((n) * 2))
#define SYSCFG1_GE_MODE_M 0x3
-#define SYSCFG1_SGMII_SEL_M (0x3 << 8)
-#define SYSCFG1_SGMII_SEL(gmac) ((!(gmac)) ? BIT(9) : BIT(8))
+#define SYSCFG1_SGMII_SEL_M GENMASK(9, 8)
+#define SYSCFG1_SGMII_SEL(gmac) BIT(9 - (gmac))
#define ETHSYS_CLKCFG0_REG 0x2c
#define ETHSYS_TRGMII_CLK_SEL362_5 BIT(11)
@@ -0,0 +1,73 @@
From d8d7e566545f836dd49611cafbf44eef56434e08 Mon Sep 17 00:00:00 2001
From: Weijie Gao <weijie.gao@mediatek.com>
Date: Tue, 17 Dec 2024 16:39:46 +0800
Subject: [PATCH 06/10] net: mediatek: fix gmac2 usability for mt7629
MT7629 need extra setting for gmac2 to work. So additional
capability is added for mt7629 to handle this case.
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
---
drivers/net/mtk_eth.c | 6 ++++++
drivers/net/mtk_eth.h | 7 +++++++
2 files changed, 13 insertions(+)
--- a/drivers/net/mtk_eth.c
+++ b/drivers/net/mtk_eth.c
@@ -1437,6 +1437,11 @@ static void mtk_mac_init(struct mtk_eth_
int i, sgmii_sel_mask = 0, ge_mode = 0;
u32 mcr;
+ if (MTK_HAS_CAPS(priv->soc->caps, MTK_ETH_PATH_MT7629_GMAC2)) {
+ mtk_infra_rmw(priv, MT7629_INFRA_MISC2_REG,
+ INFRA_MISC2_BONDING_OPTION, priv->gmac_id);
+ }
+
switch (priv->phy_interface) {
case PHY_INTERFACE_MODE_RGMII_RXID:
case PHY_INTERFACE_MODE_RGMII:
@@ -2101,6 +2106,7 @@ static const struct mtk_soc_data mt7981_
};
static const struct mtk_soc_data mt7629_data = {
+ .caps = MT7629_CAPS,
.ana_rgc3 = 0x128,
.gdma_count = 2,
.pdma_base = PDMA_V1_BASE,
--- a/drivers/net/mtk_eth.h
+++ b/drivers/net/mtk_eth.h
@@ -24,6 +24,7 @@ enum mkt_eth_capabilities {
MTK_ETH_PATH_GMAC1_TRGMII_BIT,
MTK_ETH_PATH_GMAC2_SGMII_BIT,
MTK_ETH_PATH_MT7622_SGMII_BIT,
+ MTK_ETH_PATH_MT7629_GMAC2_BIT,
};
#define MTK_TRGMII BIT(MTK_TRGMII_BIT)
@@ -38,6 +39,7 @@ enum mkt_eth_capabilities {
#define MTK_ETH_PATH_GMAC2_SGMII BIT(MTK_ETH_PATH_GMAC2_SGMII_BIT)
#define MTK_ETH_PATH_MT7622_SGMII BIT(MTK_ETH_PATH_MT7622_SGMII_BIT)
+#define MTK_ETH_PATH_MT7629_GMAC2 BIT(MTK_ETH_PATH_MT7629_GMAC2_BIT)
#define MTK_GMAC1_TRGMII (MTK_ETH_PATH_GMAC1_TRGMII | MTK_TRGMII)
@@ -51,6 +53,8 @@ enum mkt_eth_capabilities {
#define MT7623_CAPS (MTK_GMAC1_TRGMII)
+#define MT7629_CAPS (MTK_ETH_PATH_MT7629_GMAC2 | MTK_INFRA)
+
#define MT7981_CAPS (MTK_GMAC2_U3_QPHY | MTK_NETSYS_V2)
#define MT7986_CAPS (MTK_NETSYS_V2)
@@ -88,6 +92,9 @@ enum mkt_eth_capabilities {
#define QPHY_SEL_MASK 0x3
#define SGMII_QPHY_SEL 0x2
+#define MT7629_INFRA_MISC2_REG 0x70c
+#define INFRA_MISC2_BONDING_OPTION GENMASK(15, 0)
+
/* SYSCFG1_GE_MODE: GE Modes */
#define GE_MODE_RGMII 0
#define GE_MODE_MII 1
@@ -0,0 +1,147 @@
From ad0c47109e4c9f6297aa247d8bbf7131438bc435 Mon Sep 17 00:00:00 2001
From: Weijie Gao <weijie.gao@mediatek.com>
Date: Tue, 17 Dec 2024 16:39:50 +0800
Subject: [PATCH 07/10] net: mediatek: add support for 10GBASE-R
This patch adds support for 10GBASE-R interface mode
Signed-off-by: Bo-Cun Chen <bc-bocun.chen@mediatek.com>
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
---
drivers/net/mtk_eth.c | 83 +++++++++++++++++++++++++++++++++++++++++--
1 file changed, 81 insertions(+), 2 deletions(-)
--- a/drivers/net/mtk_eth.c
+++ b/drivers/net/mtk_eth.c
@@ -1246,6 +1246,7 @@ static int mtk_phy_start(struct mtk_eth_
if (!priv->force_mode) {
if (priv->phy_interface == PHY_INTERFACE_MODE_USXGMII ||
+ priv->phy_interface == PHY_INTERFACE_MODE_10GBASER ||
priv->phy_interface == PHY_INTERFACE_MODE_XGMII)
mtk_xphy_link_adjust(priv);
else
@@ -1425,6 +1426,71 @@ static void mtk_usxgmii_setup_phya_an_10
udelay(400);
}
+static void mtk_usxgmii_setup_phya_force_10000(struct mtk_eth_priv *priv)
+{
+ regmap_write(priv->usxgmii_regmap, 0x810, 0x000FFE6C);
+ regmap_write(priv->usxgmii_regmap, 0x818, 0x07B1EC7B);
+ regmap_write(priv->usxgmii_regmap, 0x80C, 0xB0000000);
+ ndelay(1020);
+ regmap_write(priv->usxgmii_regmap, 0x80C, 0x90000000);
+ ndelay(1020);
+
+ regmap_write(priv->xfi_pextp_regmap, 0x9024, 0x00C9071C);
+ regmap_write(priv->xfi_pextp_regmap, 0x2020, 0xAA8585AA);
+ regmap_write(priv->xfi_pextp_regmap, 0x2030, 0x0C020707);
+ regmap_write(priv->xfi_pextp_regmap, 0x2034, 0x0E050F0F);
+ regmap_write(priv->xfi_pextp_regmap, 0x2040, 0x00140032);
+ regmap_write(priv->xfi_pextp_regmap, 0x50F0, 0x00C014AA);
+ regmap_write(priv->xfi_pextp_regmap, 0x50E0, 0x3777C12B);
+ regmap_write(priv->xfi_pextp_regmap, 0x506C, 0x005F9CFF);
+ regmap_write(priv->xfi_pextp_regmap, 0x5070, 0x9D9DFAFA);
+ regmap_write(priv->xfi_pextp_regmap, 0x5074, 0x27273F3F);
+ regmap_write(priv->xfi_pextp_regmap, 0x5078, 0xA7883C68);
+ regmap_write(priv->xfi_pextp_regmap, 0x507C, 0x11661166);
+ regmap_write(priv->xfi_pextp_regmap, 0x5080, 0x0E000AAF);
+ regmap_write(priv->xfi_pextp_regmap, 0x5084, 0x08080D0D);
+ regmap_write(priv->xfi_pextp_regmap, 0x5088, 0x02030909);
+ regmap_write(priv->xfi_pextp_regmap, 0x50E4, 0x0C0C0000);
+ regmap_write(priv->xfi_pextp_regmap, 0x50E8, 0x04040000);
+ regmap_write(priv->xfi_pextp_regmap, 0x50EC, 0x0F0F0C06);
+ regmap_write(priv->xfi_pextp_regmap, 0x50A8, 0x506E8C8C);
+ regmap_write(priv->xfi_pextp_regmap, 0x6004, 0x18190000);
+ regmap_write(priv->xfi_pextp_regmap, 0x00F8, 0x01423342);
+ regmap_write(priv->xfi_pextp_regmap, 0x00F4, 0x80201F20);
+ regmap_write(priv->xfi_pextp_regmap, 0x0030, 0x00050C00);
+ regmap_write(priv->xfi_pextp_regmap, 0x0070, 0x02002800);
+ ndelay(1020);
+ regmap_write(priv->xfi_pextp_regmap, 0x30B0, 0x00000020);
+ regmap_write(priv->xfi_pextp_regmap, 0x3028, 0x00008A01);
+ regmap_write(priv->xfi_pextp_regmap, 0x302C, 0x0000A884);
+ regmap_write(priv->xfi_pextp_regmap, 0x3024, 0x00083002);
+ regmap_write(priv->xfi_pextp_regmap, 0x3010, 0x00022220);
+ regmap_write(priv->xfi_pextp_regmap, 0x5064, 0x0F020A01);
+ regmap_write(priv->xfi_pextp_regmap, 0x50B4, 0x06100600);
+ regmap_write(priv->xfi_pextp_regmap, 0x3048, 0x47684100);
+ regmap_write(priv->xfi_pextp_regmap, 0x3050, 0x00000000);
+ regmap_write(priv->xfi_pextp_regmap, 0x3054, 0x00000000);
+ regmap_write(priv->xfi_pextp_regmap, 0x306C, 0x00000F00);
+ if (priv->gmac_id == 2)
+ regmap_write(priv->xfi_pextp_regmap, 0xA008, 0x0007B400);
+ regmap_write(priv->xfi_pextp_regmap, 0xA060, 0x00040000);
+ regmap_write(priv->xfi_pextp_regmap, 0x90D0, 0x00000001);
+ regmap_write(priv->xfi_pextp_regmap, 0x0070, 0x0200E800);
+ udelay(150);
+ regmap_write(priv->xfi_pextp_regmap, 0x0070, 0x0200C111);
+ ndelay(1020);
+ regmap_write(priv->xfi_pextp_regmap, 0x0070, 0x0200C101);
+ udelay(15);
+ regmap_write(priv->xfi_pextp_regmap, 0x0070, 0x0202C111);
+ ndelay(1020);
+ regmap_write(priv->xfi_pextp_regmap, 0x0070, 0x0202C101);
+ udelay(100);
+ regmap_write(priv->xfi_pextp_regmap, 0x30B0, 0x00000030);
+ regmap_write(priv->xfi_pextp_regmap, 0x00F4, 0x80201F00);
+ regmap_write(priv->xfi_pextp_regmap, 0x3040, 0x30000000);
+ udelay(400);
+}
+
static void mtk_usxgmii_an_init(struct mtk_eth_priv *priv)
{
mtk_xfi_pll_enable(priv);
@@ -1432,6 +1498,13 @@ static void mtk_usxgmii_an_init(struct m
mtk_usxgmii_setup_phya_an_10000(priv);
}
+static void mtk_10gbaser_init(struct mtk_eth_priv *priv)
+{
+ mtk_xfi_pll_enable(priv);
+ mtk_usxgmii_reset(priv);
+ mtk_usxgmii_setup_phya_force_10000(priv);
+}
+
static void mtk_mac_init(struct mtk_eth_priv *priv)
{
int i, sgmii_sel_mask = 0, ge_mode = 0;
@@ -1532,6 +1605,9 @@ static void mtk_xmac_init(struct mtk_eth
case PHY_INTERFACE_MODE_USXGMII:
mtk_usxgmii_an_init(priv);
break;
+ case PHY_INTERFACE_MODE_10GBASER:
+ mtk_10gbaser_init(priv);
+ break;
default:
break;
}
@@ -1541,7 +1617,8 @@ static void mtk_xmac_init(struct mtk_eth
SYSCFG1_GE_MODE_M << SYSCFG1_GE_MODE_S(priv->gmac_id),
0);
- if (priv->phy_interface == PHY_INTERFACE_MODE_USXGMII &&
+ if ((priv->phy_interface == PHY_INTERFACE_MODE_USXGMII ||
+ priv->phy_interface == PHY_INTERFACE_MODE_10GBASER) &&
priv->gmac_id == 1) {
mtk_infra_rmw(priv, TOPMISC_NETSYS_PCS_MUX,
NETSYS_PCS_MUX_MASK, MUX_G2_USXGMII_SEL);
@@ -1843,6 +1920,7 @@ static int mtk_eth_probe(struct udevice
/* Set MAC mode */
if (priv->phy_interface == PHY_INTERFACE_MODE_USXGMII ||
+ priv->phy_interface == PHY_INTERFACE_MODE_10GBASER ||
priv->phy_interface == PHY_INTERFACE_MODE_XGMII)
mtk_xmac_init(priv);
else
@@ -1977,7 +2055,8 @@ static int mtk_eth_of_to_plat(struct ude
/* Upstream linux use mediatek,pnswap instead of pn_swap */
priv->pn_swap = ofnode_read_bool(args.node, "pn_swap") ||
ofnode_read_bool(args.node, "mediatek,pnswap");
- } else if (priv->phy_interface == PHY_INTERFACE_MODE_USXGMII) {
+ } else if (priv->phy_interface == PHY_INTERFACE_MODE_USXGMII ||
+ priv->phy_interface == PHY_INTERFACE_MODE_10GBASER) {
/* get corresponding usxgmii phandle */
ret = dev_read_phandle_with_args(dev, "mediatek,usxgmiisys",
NULL, 0, 0, &args);
@@ -0,0 +1,144 @@
From 5ac929fd1ab1d0dc77b9167952aea7cafdb8619f Mon Sep 17 00:00:00 2001
From: Weijie Gao <weijie.gao@mediatek.com>
Date: Tue, 17 Dec 2024 16:39:55 +0800
Subject: [PATCH 08/10] net: mediatek: make sgmii/usxgmii optional
Not all platforms supports sgmii and/or usxgmii. So we add Kconfig
options for these features and enable them only for supported
platforms.
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
---
drivers/net/Kconfig | 12 ++++++++++++
drivers/net/mtk_eth.c | 39 +++++++++++++++++++++++++++++----------
2 files changed, 41 insertions(+), 10 deletions(-)
--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
@@ -921,6 +921,18 @@ config MEDIATEK_ETH
This Driver support MediaTek Ethernet GMAC
Say Y to enable support for the MediaTek Ethernet GMAC.
+if MEDIATEK_ETH
+
+config MTK_ETH_SGMII
+ bool
+ default y if ARCH_MEDIATEK && !TARGET_MT7623
+
+config MTK_ETH_XGMII
+ bool
+ default y if TARGET_MT7987 || TARGET_MT7988
+
+endif # MEDIATEK_ETH
+
config HIFEMAC_ETH
bool "HiSilicon Fast Ethernet Controller"
select DM_CLK
--- a/drivers/net/mtk_eth.c
+++ b/drivers/net/mtk_eth.c
@@ -1505,7 +1505,7 @@ static void mtk_10gbaser_init(struct mtk
mtk_usxgmii_setup_phya_force_10000(priv);
}
-static void mtk_mac_init(struct mtk_eth_priv *priv)
+static int mtk_mac_init(struct mtk_eth_priv *priv)
{
int i, sgmii_sel_mask = 0, ge_mode = 0;
u32 mcr;
@@ -1522,13 +1522,16 @@ static void mtk_mac_init(struct mtk_eth_
break;
case PHY_INTERFACE_MODE_SGMII:
case PHY_INTERFACE_MODE_2500BASEX:
+ if (!IS_ENABLED(CONFIG_MTK_ETH_SGMII)) {
+ printf("Error: SGMII is not supported on this platform\n");
+ return -ENOTSUPP;
+ }
+
if (MTK_HAS_CAPS(priv->soc->caps, MTK_GMAC2_U3_QPHY)) {
mtk_infra_rmw(priv, USB_PHY_SWITCH_REG, QPHY_SEL_MASK,
SGMII_QPHY_SEL);
}
- ge_mode = GE_MODE_RGMII;
-
if (MTK_HAS_CAPS(priv->soc->caps, MTK_ETH_PATH_MT7622_SGMII))
sgmii_sel_mask = SYSCFG1_SGMII_SEL_M;
@@ -1539,6 +1542,8 @@ static void mtk_mac_init(struct mtk_eth_
mtk_sgmii_an_init(priv);
else
mtk_sgmii_force_init(priv);
+
+ ge_mode = GE_MODE_RGMII;
break;
case PHY_INTERFACE_MODE_MII:
case PHY_INTERFACE_MODE_GMII:
@@ -1595,12 +1600,19 @@ static void mtk_mac_init(struct mtk_eth_
RX_RST | RXC_DQSISEL);
mtk_gmac_rmw(priv, GMAC_TRGMII_RCK_CTRL, RX_RST, 0);
}
+
+ return 0;
}
-static void mtk_xmac_init(struct mtk_eth_priv *priv)
+static int mtk_xmac_init(struct mtk_eth_priv *priv)
{
u32 force_link = 0;
+ if (!IS_ENABLED(CONFIG_MTK_ETH_XGMII)) {
+ printf("Error: 10Gb interface is not supported on this platform\n");
+ return -ENOTSUPP;
+ }
+
switch (priv->phy_interface) {
case PHY_INTERFACE_MODE_USXGMII:
mtk_usxgmii_an_init(priv);
@@ -1633,6 +1645,8 @@ static void mtk_xmac_init(struct mtk_eth
/* Force GMAC link down */
mtk_gmac_write(priv, GMAC_PORT_MCR(priv->gmac_id), FORCE_MODE);
+
+ return 0;
}
static void mtk_eth_fifo_init(struct mtk_eth_priv *priv)
@@ -1922,9 +1936,12 @@ static int mtk_eth_probe(struct udevice
if (priv->phy_interface == PHY_INTERFACE_MODE_USXGMII ||
priv->phy_interface == PHY_INTERFACE_MODE_10GBASER ||
priv->phy_interface == PHY_INTERFACE_MODE_XGMII)
- mtk_xmac_init(priv);
+ ret = mtk_xmac_init(priv);
else
- mtk_mac_init(priv);
+ ret = mtk_mac_init(priv);
+
+ if (ret)
+ return ret;
/* Probe phy if switch is not specified */
if (priv->sw == SW_NONE)
@@ -2032,8 +2049,9 @@ static int mtk_eth_of_to_plat(struct ude
}
}
- if (priv->phy_interface == PHY_INTERFACE_MODE_SGMII ||
- priv->phy_interface == PHY_INTERFACE_MODE_2500BASEX) {
+ if ((priv->phy_interface == PHY_INTERFACE_MODE_SGMII ||
+ priv->phy_interface == PHY_INTERFACE_MODE_2500BASEX) &&
+ IS_ENABLED(CONFIG_MTK_ETH_SGMII)) {
/* get corresponding sgmii phandle */
ret = dev_read_phandle_with_args(dev, "mediatek,sgmiisys",
NULL, 0, 0, &args);
@@ -2055,8 +2073,9 @@ static int mtk_eth_of_to_plat(struct ude
/* Upstream linux use mediatek,pnswap instead of pn_swap */
priv->pn_swap = ofnode_read_bool(args.node, "pn_swap") ||
ofnode_read_bool(args.node, "mediatek,pnswap");
- } else if (priv->phy_interface == PHY_INTERFACE_MODE_USXGMII ||
- priv->phy_interface == PHY_INTERFACE_MODE_10GBASER) {
+ } else if ((priv->phy_interface == PHY_INTERFACE_MODE_USXGMII ||
+ priv->phy_interface == PHY_INTERFACE_MODE_10GBASER) &&
+ IS_ENABLED(CONFIG_MTK_ETH_XGMII)) {
/* get corresponding usxgmii phandle */
ret = dev_read_phandle_with_args(dev, "mediatek,usxgmiisys",
NULL, 0, 0, &args);
@@ -0,0 +1,36 @@
From b9dfb5636bc5eb9b783b88b8388dc7d1f41d6498 Mon Sep 17 00:00:00 2001
From: Weijie Gao <weijie.gao@mediatek.com>
Date: Tue, 17 Dec 2024 16:39:59 +0800
Subject: [PATCH 09/10] net: mediatek: don't enable GDMA cpu bridge
unconditionally for NETSYSv3
Enable GDMA cpu bridge only when 10Gb interface is enabled for GMAC other
than GMAC0, or when MT7988 internal switch is used.
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
---
drivers/net/mtk_eth.c | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
--- a/drivers/net/mtk_eth.c
+++ b/drivers/net/mtk_eth.c
@@ -1762,10 +1762,16 @@ static int mtk_eth_start(struct udevice
if (priv->sw == SW_MT7988 && priv->gmac_id == 0) {
mtk_gdma_write(priv, priv->gmac_id, GDMA_IG_CTRL_REG,
GDMA_BRIDGE_TO_CPU);
- }
- mtk_gdma_write(priv, priv->gmac_id, GDMA_EG_CTRL_REG,
- GDMA_CPU_BRIDGE_EN);
+ mtk_gdma_write(priv, priv->gmac_id, GDMA_EG_CTRL_REG,
+ GDMA_CPU_BRIDGE_EN);
+ } else if ((priv->phy_interface == PHY_INTERFACE_MODE_USXGMII ||
+ priv->phy_interface == PHY_INTERFACE_MODE_10GBASER ||
+ priv->phy_interface == PHY_INTERFACE_MODE_XGMII) &&
+ priv->gmac_id != 0) {
+ mtk_gdma_write(priv, priv->gmac_id, GDMA_EG_CTRL_REG,
+ GDMA_CPU_BRIDGE_EN);
+ }
}
udelay(500);
@@ -0,0 +1,37 @@
From c949686e558e00cbb8c38f7c060701006d70cea8 Mon Sep 17 00:00:00 2001
From: Weijie Gao <weijie.gao@mediatek.com>
Date: Tue, 17 Dec 2024 16:40:03 +0800
Subject: [PATCH 10/10] net: mediatek: fix usability with wget command
The wget command currently cannot work correctly with mtk_eth driver.
This patch fixed this by increase DMA ring size and invalidate ring data
after use.
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
---
drivers/net/mtk_eth.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
--- a/drivers/net/mtk_eth.c
+++ b/drivers/net/mtk_eth.c
@@ -29,8 +29,8 @@
#include "mtk_eth.h"
-#define NUM_TX_DESC 24
-#define NUM_RX_DESC 24
+#define NUM_TX_DESC 32
+#define NUM_RX_DESC 32
#define TX_TOTAL_BUF_SIZE (NUM_TX_DESC * PKTSIZE_ALIGN)
#define RX_TOTAL_BUF_SIZE (NUM_RX_DESC * PKTSIZE_ALIGN)
#define TOTAL_PKT_BUF_SIZE (TX_TOTAL_BUF_SIZE + RX_TOTAL_BUF_SIZE)
@@ -1897,6 +1897,9 @@ static int mtk_eth_free_pkt(struct udevi
rxd = priv->rx_ring_noc + idx * priv->soc->rxd_size;
+ invalidate_dcache_range((ulong)rxd->rxd1,
+ (ulong)rxd->rxd1 + PKTSIZE_ALIGN);
+
if (MTK_HAS_CAPS(priv->soc->caps, MTK_NETSYS_V2) ||
MTK_HAS_CAPS(priv->soc->caps, MTK_NETSYS_V3))
rxd->rxd2 = PDMA_V2_RXD2_PLEN0_SET(PKTSIZE_ALIGN);
@@ -0,0 +1,63 @@
From fe106f2093733b8bd61946372945dfea552b4755 Mon Sep 17 00:00:00 2001
From: Weijie Gao <weijie.gao@mediatek.com>
Date: Fri, 10 Jan 2025 16:41:20 +0800
Subject: [PATCH 2/3] net: mediatek: add support for MediaTek MT7987 SoC
This patch adds support for MediaTek MT7987.
MT7987 features MediaTek NETSYS v3, similar to MT7988, features three GMACs
which support 2.5Gb HSGMII. One 2.5Gb PHY is also embedded an can be
connected to a dedicated GMAC.
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
---
drivers/net/mtk_eth/Kconfig | 4 ++--
drivers/net/mtk_eth/mtk_eth.c | 10 ++++++++++
2 files changed, 12 insertions(+), 2 deletions(-)
--- a/drivers/net/mtk_eth/Kconfig
+++ b/drivers/net/mtk_eth/Kconfig
@@ -16,7 +16,7 @@ config MTK_ETH_SGMII
config MTK_ETH_XGMII
bool
- default y if TARGET_MT7988
+ default y if TARGET_MT7987 || TARGET_MT7988
config MTK_ETH_SWITCH_MT7530
bool "Support for MediaTek MT7530 ethernet switch"
@@ -25,7 +25,7 @@ config MTK_ETH_SWITCH_MT7530
config MTK_ETH_SWITCH_MT7531
bool "Support for MediaTek MT7531 ethernet switch"
default y if TARGET_MT7622 || TARGET_MT7629 || TARGET_MT7981 || \
- TARGET_MT7986
+ TARGET_MT7986 || TARGET_MT7987
config MTK_ETH_SWITCH_MT7988
bool "Support for MediaTek MT7988 built-in ethernet switch"
--- a/drivers/net/mtk_eth/mtk_eth.c
+++ b/drivers/net/mtk_eth/mtk_eth.c
@@ -1477,6 +1477,15 @@ static const struct mtk_soc_data mt7988_
.rxd_size = sizeof(struct mtk_rx_dma_v2),
};
+static const struct mtk_soc_data mt7987_data = {
+ .caps = MT7987_CAPS,
+ .ana_rgc3 = 0x128,
+ .gdma_count = 3,
+ .pdma_base = PDMA_V3_BASE,
+ .txd_size = sizeof(struct mtk_tx_dma_v2),
+ .rxd_size = sizeof(struct mtk_rx_dma_v2),
+};
+
static const struct mtk_soc_data mt7986_data = {
.caps = MT7986_CAPS,
.ana_rgc3 = 0x128,
@@ -1531,6 +1540,7 @@ static const struct mtk_soc_data mt7621_
static const struct udevice_id mtk_eth_ids[] = {
{ .compatible = "mediatek,mt7988-eth", .data = (ulong)&mt7988_data },
+ { .compatible = "mediatek,mt7987-eth", .data = (ulong)&mt7987_data },
{ .compatible = "mediatek,mt7986-eth", .data = (ulong)&mt7986_data },
{ .compatible = "mediatek,mt7981-eth", .data = (ulong)&mt7981_data },
{ .compatible = "mediatek,mt7629-eth", .data = (ulong)&mt7629_data },
@@ -0,0 +1,26 @@
From dc495442ba610b190775122a31f958ad74229262 Mon Sep 17 00:00:00 2001
From: Weijie Gao <weijie.gao@mediatek.com>
Date: Tue, 8 Jul 2025 17:53:48 +0800
Subject: [PATCH] net: mediatek: correct the AN8855 TPID value in port
isolation settings
The TPID value should be 0x9100 instead of 0x8100 according to the
datasheet.
Fixes: cedafee9ff3 (net: mediatek: add support for Airoha AN8855 ethernet switch)
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
---
drivers/net/mtk_eth/an8855.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/drivers/net/mtk_eth/an8855.c
+++ b/drivers/net/mtk_eth/an8855.c
@@ -909,7 +909,7 @@ static void an8855_port_isolation(struct
/* Set port mode to user port */
an8855_reg_write(priv, AN8855_PVC(i),
- (0x8100 << AN8855_STAG_VPID_S) |
+ (0x9100 << AN8855_STAG_VPID_S) |
(VLAN_ATTR_USER << AN8855_VLAN_ATTR_S));
}
}
@@ -35,7 +35,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
}
switch (key) {
@@ -112,6 +113,12 @@ static char *bootmenu_choice_entry(void
@@ -114,6 +115,12 @@ static char *bootmenu_choice_entry(void
++menu->active;
/* no menu key selected, regenerate menu */
return NULL;
@@ -48,7 +48,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
case BKEY_SELECT:
iter = menu->first;
for (i = 0; i < menu->active; ++i)
@@ -169,6 +176,9 @@ static int prepare_bootmenu_entry(struct
@@ -182,6 +189,9 @@ static int prepare_bootmenu_entry(struct
unsigned short int i = *index;
struct bootmenu_entry *entry = NULL;
struct bootmenu_entry *iter = *current;
@@ -58,7 +58,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
while ((option = bootmenu_getoption(i))) {
@@ -183,11 +193,24 @@ static int prepare_bootmenu_entry(struct
@@ -196,11 +206,24 @@ static int prepare_bootmenu_entry(struct
if (!entry)
return -ENOMEM;
@@ -84,15 +84,15 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
entry->command = strdup(sep + 1);
if (!entry->command) {
@@ -333,6 +356,7 @@ static struct bootmenu_data *bootmenu_cr
menu->delay = delay;
@@ -347,6 +370,7 @@ static struct bootmenu_data *bootmenu_cr
menu->active = 0;
menu->last_active = -1;
menu->first = NULL;
+ menu->last_choiced = false;
default_str = env_get("bootmenu_default");
if (default_str)
@@ -368,9 +392,9 @@ static struct bootmenu_data *bootmenu_cr
@@ -382,9 +406,9 @@ static struct bootmenu_data *bootmenu_cr
/* Add Quit entry if exiting bootmenu is disabled */
if (!IS_ENABLED(CONFIG_BOOTMENU_DISABLE_UBOOT_CONSOLE))
@@ -106,7 +106,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
free(entry);
--- a/common/menu.c
+++ b/common/menu.c
@@ -48,6 +48,33 @@ struct menu {
@@ -49,6 +49,33 @@ struct menu {
int item_cnt;
};
@@ -140,7 +140,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
/*
* An iterator function for menu items. callback will be called for each item
* in m, with m, a pointer to the item, and extra being passed to callback. If
@@ -426,7 +453,7 @@ int menu_destroy(struct menu *m)
@@ -437,7 +464,7 @@ int menu_destroy(struct menu *m)
}
enum bootmenu_key bootmenu_autoboot_loop(struct bootmenu_data *menu,
@@ -149,7 +149,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
{
enum bootmenu_key key = BKEY_NONE;
int i, c;
@@ -461,6 +488,19 @@ enum bootmenu_key bootmenu_autoboot_loop
@@ -472,6 +499,19 @@ enum bootmenu_key bootmenu_autoboot_loop
break;
default:
key = BKEY_NONE;
@@ -169,7 +169,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
break;
}
break;
@@ -481,7 +521,8 @@ enum bootmenu_key bootmenu_autoboot_loop
@@ -492,7 +532,8 @@ enum bootmenu_key bootmenu_autoboot_loop
return key;
}
@@ -179,7 +179,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
{
enum bootmenu_key key;
@@ -513,6 +554,20 @@ enum bootmenu_key bootmenu_conv_key(int
@@ -524,6 +565,20 @@ enum bootmenu_key bootmenu_conv_key(int
case ' ':
key = BKEY_SPACE;
break;
@@ -200,15 +200,16 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
default:
key = BKEY_NONE;
break;
@@ -522,11 +577,16 @@ enum bootmenu_key bootmenu_conv_key(int
@@ -533,11 +588,17 @@ enum bootmenu_key bootmenu_conv_key(int
}
enum bootmenu_key bootmenu_loop(struct bootmenu_data *menu,
- struct cli_ch_state *cch)
+ struct cli_ch_state *cch, int *choice)
+ struct cli_ch_state *cch,
+ int *choice)
{
enum bootmenu_key key;
int c;
int c, errchar = 0;
+ if (menu->last_choiced) {
+ menu->last_choiced = false;
@@ -218,7 +219,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
c = cli_ch_process(cch, 0);
if (!c) {
while (!c && !tstc()) {
@@ -540,7 +600,7 @@ enum bootmenu_key bootmenu_loop(struct b
@@ -552,7 +613,7 @@ enum bootmenu_key bootmenu_loop(struct b
}
}
@@ -238,7 +239,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
struct cli_ch_state;
struct menu;
@@ -19,6 +21,8 @@ int menu_get_choice(struct menu *m, void
@@ -20,6 +22,8 @@ int menu_get_choice(struct menu *m, void
int menu_item_add(struct menu *m, char *item_key, void *item_data);
int menu_destroy(struct menu *m);
int menu_default_choice(struct menu *m, void **choice);
@@ -247,15 +248,15 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
/**
* menu_show() Show a boot menu
@@ -41,6 +45,7 @@ struct bootmenu_data {
int active; /* active menu entry */
@@ -43,6 +47,7 @@ struct bootmenu_data {
int last_active; /* last active menu entry */
int count; /* total count of menu entries */
struct bootmenu_entry *first; /* first menu entry */
+ bool last_choiced;
};
/** enum bootmenu_key - keys that can be returned by the bootmenu */
@@ -51,6 +56,7 @@ enum bootmenu_key {
@@ -53,6 +58,7 @@ enum bootmenu_key {
BKEY_SELECT,
BKEY_QUIT,
BKEY_SAVE,
@@ -263,7 +264,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
/* 'extra' keys, which are used by menus but not cedit */
BKEY_PLUS,
@@ -81,7 +87,7 @@ enum bootmenu_key {
@@ -83,7 +89,7 @@ enum bootmenu_key {
* anything else: KEY_NONE
*/
enum bootmenu_key bootmenu_autoboot_loop(struct bootmenu_data *menu,
@@ -272,7 +273,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
/**
* bootmenu_loop() - handle waiting for a keypress when autoboot is disabled
@@ -107,7 +113,7 @@ enum bootmenu_key bootmenu_autoboot_loop
@@ -109,7 +115,7 @@ enum bootmenu_key bootmenu_autoboot_loop
* Space: BKEY_SPACE
*/
enum bootmenu_key bootmenu_loop(struct bootmenu_data *menu,
@@ -281,7 +282,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
/**
* bootmenu_conv_key() - Convert a U-Boot keypress into a menu key
@@ -115,6 +121,7 @@ enum bootmenu_key bootmenu_loop(struct b
@@ -117,6 +123,7 @@ enum bootmenu_key bootmenu_loop(struct b
* @ichar: Keypress to convert (ASCII, including control characters)
* Returns: Menu key that corresponds to @ichar, or BKEY_NONE if none
*/
@@ -225,12 +225,11 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
+};
--- a/drivers/mtd/nand/spi/gigadevice.c
+++ b/drivers/mtd/nand/spi/gigadevice.c
@@ -43,6 +43,24 @@ static SPINAND_OP_VARIANTS(read_cache_va
@@ -43,6 +43,22 @@ static SPINAND_OP_VARIANTS(read_cache_va
SPINAND_PAGE_READ_FROM_CACHE_OP_3A(true, 0, 1, NULL, 0),
SPINAND_PAGE_READ_FROM_CACHE_OP_3A(false, 0, 0, NULL, 0));
+/* Q5 1Gb */
+static SPINAND_OP_VARIANTS(dummy2_read_cache_variants,
+static SPINAND_OP_VARIANTS(read_cache_variants_1gq5,
+ SPINAND_PAGE_READ_FROM_CACHE_QUADIO_OP(0, 2, NULL, 0),
+ SPINAND_PAGE_READ_FROM_CACHE_X4_OP(0, 1, NULL, 0),
+ SPINAND_PAGE_READ_FROM_CACHE_DUALIO_OP(0, 1, NULL, 0),
@@ -238,8 +237,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
+ SPINAND_PAGE_READ_FROM_CACHE_OP(true, 0, 1, NULL, 0),
+ SPINAND_PAGE_READ_FROM_CACHE_OP(false, 0, 1, NULL, 0));
+
+/* Q5 2Gb & 4Gb */
+static SPINAND_OP_VARIANTS(dummy4_read_cache_variants,
+static SPINAND_OP_VARIANTS(read_cache_variants_2gq5,
+ SPINAND_PAGE_READ_FROM_CACHE_QUADIO_OP(0, 4, NULL, 0),
+ SPINAND_PAGE_READ_FROM_CACHE_X4_OP(0, 1, NULL, 0),
+ SPINAND_PAGE_READ_FROM_CACHE_DUALIO_OP(0, 2, NULL, 0),
@@ -250,7 +248,7 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
static SPINAND_OP_VARIANTS(write_cache_variants,
SPINAND_PROG_LOAD_X4(true, 0, NULL, 0),
SPINAND_PROG_LOAD(true, 0, NULL, 0));
@@ -268,7 +286,45 @@ static int gd5fxgq4ufxxg_ecc_get_status(
@@ -268,7 +284,45 @@ static int gd5fxgq4ufxxg_ecc_get_status(
return -EINVAL;
}
@@ -281,47 +279,27 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
+static const struct mtd_ooblayout_ops esmt_1_ooblayout = {
+ .ecc = esmt_1_ooblayout_ecc,
+ .rfree = esmt_1_ooblayout_free,
+ };
+};
+
static const struct spinand_info gigadevice_spinand_table[] = {
+ SPINAND_INFO("F50L1G41LB",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_ADDR, 0x01),
+ NAND_MEMORG(1, 2048, 64, 64, 1024, 20, 1, 1, 1),
+ NAND_ECCREQ(8, 512),
+ SPINAND_INFO_OP_VARIANTS(&dummy2_read_cache_variants,
+ &write_cache_variants,
+ &update_cache_variants),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants_1gq5,
+ &write_cache_variants,
+ &update_cache_variants),
+ 0,
+ SPINAND_ECCINFO(&esmt_1_ooblayout, NULL)),
SPINAND_INFO("GD5F1GQ4xA",
SPINAND_ID(SPINAND_READID_METHOD_OPCODE_ADDR, 0xf1),
NAND_MEMORG(1, 2048, 64, 64, 1024, 20, 1, 1, 1),
@@ -349,6 +405,87 @@ static const struct spinand_info gigadev
@@ -329,6 +383,36 @@ static const struct spinand_info gigadev
SPINAND_HAS_QE_BIT,
SPINAND_ECCINFO(&gd5fxgqx_variant2_ooblayout,
gd5fxgq5xexxg_ecc_get_status)),
+ SPINAND_INFO("GD5F2GQ5UExxG",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_ADDR, 0x52),
+ NAND_MEMORG(1, 2048, 128, 64, 2048, 40, 1, 1, 1),
+ NAND_ECCREQ(4, 512),
+ SPINAND_INFO_OP_VARIANTS(&dummy4_read_cache_variants,
+ &write_cache_variants,
+ &update_cache_variants),
+ SPINAND_HAS_QE_BIT,
+ SPINAND_ECCINFO(&gd5fxgqx_variant2_ooblayout,
+ gd5fxgq5xexxg_ecc_get_status)),
+ SPINAND_INFO("GD5F4GQ6UExxG",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_ADDR, 0x55),
+ NAND_MEMORG(1, 2048, 128, 64, 4096, 80, 1, 1, 1),
+ NAND_ECCREQ(4, 512),
+ SPINAND_INFO_OP_VARIANTS(&dummy4_read_cache_variants,
+ &write_cache_variants,
+ &update_cache_variants),
+ SPINAND_HAS_QE_BIT,
+ SPINAND_ECCINFO(&gd5fxgqx_variant2_ooblayout,
+ gd5fxgq5xexxg_ecc_get_status)),
+ SPINAND_INFO("GD5F1GM7UExxG",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_ADDR, 0x91),
gd5fxgq4uexxg_ecc_get_status)),
+ SPINAND_INFO("GD5F1GQ4RExxG",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_ADDR, 0xc1),
+ NAND_MEMORG(1, 2048, 128, 64, 1024, 20, 1, 1, 1),
+ NAND_ECCREQ(8, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
@@ -330,57 +308,180 @@ Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
+ SPINAND_HAS_QE_BIT,
+ SPINAND_ECCINFO(&gd5fxgqx_variant2_ooblayout,
+ gd5fxgq4uexxg_ecc_get_status)),
+ SPINAND_INFO("GD5F2GM7UExxG",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_ADDR, 0x92),
+ NAND_MEMORG(1, 2048, 128, 64, 2048, 40, 1, 1, 1),
+ NAND_ECCREQ(8, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
+ SPINAND_INFO("GD5F2GQ4UExxG",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_ADDR, 0xd2),
+ NAND_MEMORG(1, 2048, 128, 64, 2048, 40, 1, 1, 1),
+ NAND_ECCREQ(8, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
+ &write_cache_variants,
+ &update_cache_variants),
+ SPINAND_HAS_QE_BIT,
+ SPINAND_ECCINFO(&gd5fxgqx_variant2_ooblayout,
+ SPINAND_HAS_QE_BIT,
+ SPINAND_ECCINFO(&gd5fxgqx_variant2_ooblayout,
+ gd5fxgq4uexxg_ecc_get_status)),
+ SPINAND_INFO("GD5F2GQ4RExxG",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_ADDR, 0xc2),
+ NAND_MEMORG(1, 2048, 128, 64, 2048, 40, 1, 1, 1),
+ NAND_ECCREQ(8, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
+ &write_cache_variants,
+ &update_cache_variants),
+ SPINAND_HAS_QE_BIT,
+ SPINAND_ECCINFO(&gd5fxgqx_variant2_ooblayout,
+ gd5fxgq4uexxg_ecc_get_status)),
SPINAND_INFO("GD5F1GQ4UFxxG",
SPINAND_ID(SPINAND_READID_METHOD_OPCODE, 0xb1, 0x48),
NAND_MEMORG(1, 2048, 128, 64, 1024, 20, 1, 1, 1),
@@ -343,12 +427,152 @@ static const struct spinand_info gigadev
SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x51),
NAND_MEMORG(1, 2048, 128, 64, 1024, 20, 1, 1, 1),
NAND_ECCREQ(4, 512),
- SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants_1gq5,
+ &write_cache_variants,
+ &update_cache_variants),
+ SPINAND_HAS_QE_BIT,
+ SPINAND_ECCINFO(&gd5fxgqx_variant2_ooblayout,
+ gd5fxgq5xexxg_ecc_get_status)),
+ SPINAND_INFO("GD5F1GQ5RExxG",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x41),
+ NAND_MEMORG(1, 2048, 128, 64, 1024, 20, 1, 1, 1),
+ NAND_ECCREQ(4, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants_1gq5,
+ &write_cache_variants,
+ &update_cache_variants),
+ SPINAND_HAS_QE_BIT,
+ SPINAND_ECCINFO(&gd5fxgqx_variant2_ooblayout,
+ gd5fxgq5xexxg_ecc_get_status)),
+ SPINAND_INFO("GD5F2GQ5UExxG",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x52),
+ NAND_MEMORG(1, 2048, 128, 64, 2048, 40, 1, 1, 1),
+ NAND_ECCREQ(4, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants_2gq5,
+ &write_cache_variants,
+ &update_cache_variants),
+ SPINAND_HAS_QE_BIT,
+ SPINAND_ECCINFO(&gd5fxgqx_variant2_ooblayout,
+ gd5fxgq5xexxg_ecc_get_status)),
+ SPINAND_INFO("GD5F2GQ5RExxG",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x42),
+ NAND_MEMORG(1, 2048, 128, 64, 2048, 40, 1, 1, 1),
+ NAND_ECCREQ(4, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants_2gq5,
+ &write_cache_variants,
+ &update_cache_variants),
+ SPINAND_HAS_QE_BIT,
+ SPINAND_ECCINFO(&gd5fxgqx_variant2_ooblayout,
+ gd5fxgq5xexxg_ecc_get_status)),
+ SPINAND_INFO("GD5F4GQ6UExxG",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x55),
+ NAND_MEMORG(1, 2048, 128, 64, 2048, 40, 1, 2, 1),
+ NAND_ECCREQ(4, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants_2gq5,
+ &write_cache_variants,
+ &update_cache_variants),
+ SPINAND_HAS_QE_BIT,
+ SPINAND_ECCINFO(&gd5fxgqx_variant2_ooblayout,
+ gd5fxgq5xexxg_ecc_get_status)),
+ SPINAND_INFO("GD5F4GQ6RExxG",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x45),
+ NAND_MEMORG(1, 2048, 128, 64, 2048, 40, 1, 2, 1),
+ NAND_ECCREQ(4, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants_2gq5,
&write_cache_variants,
&update_cache_variants),
SPINAND_HAS_QE_BIT,
SPINAND_ECCINFO(&gd5fxgqx_variant2_ooblayout,
gd5fxgq5xexxg_ecc_get_status)),
+ SPINAND_INFO("GD5F1GM7UExxG",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x91),
+ NAND_MEMORG(1, 2048, 128, 64, 1024, 20, 1, 1, 1),
+ NAND_ECCREQ(8, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants_1gq5,
+ &write_cache_variants,
+ &update_cache_variants),
+ SPINAND_HAS_QE_BIT,
+ SPINAND_ECCINFO(&gd5fxgqx_variant2_ooblayout,
+ gd5fxgq4uexxg_ecc_get_status)),
+ SPINAND_INFO("GD5F1GM7RExxG",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x81),
+ NAND_MEMORG(1, 2048, 128, 64, 1024, 20, 1, 1, 1),
+ NAND_ECCREQ(8, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants_1gq5,
+ &write_cache_variants,
+ &update_cache_variants),
+ SPINAND_HAS_QE_BIT,
+ SPINAND_ECCINFO(&gd5fxgqx_variant2_ooblayout,
+ gd5fxgq4uexxg_ecc_get_status)),
+ SPINAND_INFO("GD5F2GM7UExxG",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x92),
+ NAND_MEMORG(1, 2048, 128, 64, 2048, 40, 1, 1, 1),
+ NAND_ECCREQ(8, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants_1gq5,
+ &write_cache_variants,
+ &update_cache_variants),
+ SPINAND_HAS_QE_BIT,
+ SPINAND_ECCINFO(&gd5fxgqx_variant2_ooblayout,
+ gd5fxgq4uexxg_ecc_get_status)),
+ SPINAND_INFO("GD5F2GM7RExxG",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x82),
+ NAND_MEMORG(1, 2048, 128, 64, 2048, 40, 1, 1, 1),
+ NAND_ECCREQ(8, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants_1gq5,
+ &write_cache_variants,
+ &update_cache_variants),
+ SPINAND_HAS_QE_BIT,
+ SPINAND_ECCINFO(&gd5fxgqx_variant2_ooblayout,
+ gd5fxgq4uexxg_ecc_get_status)),
+ SPINAND_INFO("GD5F4GM8UExxG",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_ADDR, 0x95),
+ NAND_MEMORG(1, 2048, 128, 64, 4096, 80, 1, 1, 1),
+ NAND_ECCREQ(8, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x95),
+ NAND_MEMORG(1, 2048, 128, 64, 4096, 80, 1, 1, 1),
+ NAND_ECCREQ(8, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants_1gq5,
+ &write_cache_variants,
+ &update_cache_variants),
+ SPINAND_HAS_QE_BIT,
+ SPINAND_ECCINFO(&gd5fxgqx_variant2_ooblayout,
+ SPINAND_HAS_QE_BIT,
+ SPINAND_ECCINFO(&gd5fxgqx_variant2_ooblayout,
+ gd5fxgq4uexxg_ecc_get_status)),
+ SPINAND_INFO("GD5F1GQ5UExxH",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x31),
+ NAND_MEMORG(1, 2048, 64, 64, 1024, 20, 1, 1, 1),
+ NAND_ECCREQ(4, 512),
+ SPINAND_INFO_OP_VARIANTS(&dummy2_read_cache_variants,
+ SPINAND_INFO("GD5F4GM8RExxG",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x85),
+ NAND_MEMORG(1, 2048, 128, 64, 4096, 80, 1, 1, 1),
+ NAND_ECCREQ(8, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants_1gq5,
+ &write_cache_variants,
+ &update_cache_variants),
+ SPINAND_HAS_QE_BIT,
+ SPINAND_ECCINFO(&gd5fxgqx_variant2_ooblayout,
+ gd5fxgq5xexxg_ecc_get_status)),
+ SPINAND_INFO("GD5F2GQ5UExxH",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x32),
+ NAND_MEMORG(1, 2048, 64, 64, 2048, 40, 1, 1, 1),
+ NAND_ECCREQ(4, 512),
+ SPINAND_INFO_OP_VARIANTS(&dummy4_read_cache_variants,
+ SPINAND_HAS_QE_BIT,
+ SPINAND_ECCINFO(&gd5fxgqx_variant2_ooblayout,
+ gd5fxgq4uexxg_ecc_get_status)),
+ SPINAND_INFO("GD5F2GQ5xExxH",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x22),
+ NAND_MEMORG(1, 2048, 64, 64, 2048, 40, 1, 1, 1),
+ NAND_ECCREQ(4, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants_2gq5,
+ &write_cache_variants,
+ &update_cache_variants),
+ SPINAND_HAS_QE_BIT,
+ SPINAND_ECCINFO(&gd5fxgqx_variant2_ooblayout,
+ gd5fxgq5xexxg_ecc_get_status)),
+ SPINAND_INFO("GD5F4GQ6UExxH",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x35),
+ NAND_MEMORG(1, 2048, 64, 64, 4096, 40, 1, 1, 1),
+ NAND_ECCREQ(4, 512),
+ SPINAND_INFO_OP_VARIANTS(&dummy4_read_cache_variants,
+ SPINAND_HAS_QE_BIT,
+ SPINAND_ECCINFO(&gd5fxgqx_variant2_ooblayout,
+ gd5fxgq4uexxg_ecc_get_status)),
+ SPINAND_INFO("GD5F1GQ5RExxH",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x21),
+ NAND_MEMORG(1, 2048, 64, 64, 1024, 20, 1, 1, 1),
+ NAND_ECCREQ(4, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants_1gq5,
+ &write_cache_variants,
+ &update_cache_variants),
+ SPINAND_HAS_QE_BIT,
+ SPINAND_ECCINFO(&gd5fxgqx_variant2_ooblayout,
+ gd5fxgq5xexxg_ecc_get_status)),
+
+ SPINAND_HAS_QE_BIT,
+ SPINAND_ECCINFO(&gd5fxgqx_variant2_ooblayout,
+ gd5fxgq4uexxg_ecc_get_status)),
+ SPINAND_INFO("GD5F1GQ4RExxH",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xc9),
+ NAND_MEMORG(1, 2048, 64, 64, 1024, 20, 1, 1, 1),
+ NAND_ECCREQ(4, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants_1gq5,
+ &write_cache_variants,
+ &update_cache_variants),
+ SPINAND_HAS_QE_BIT,
+ SPINAND_ECCINFO(&gd5fxgqx_variant2_ooblayout,
+ gd5fxgq4uexxg_ecc_get_status)),
};
static const struct spinand_manufacturer_ops gigadevice_spinand_manuf_ops = {
@@ -0,0 +1,149 @@
From 49c8e854869d673df8452f24dfa8989cd0f615a8 Mon Sep 17 00:00:00 2001
From: Martin Kurbanov <mmkurbanov@salutedevices.com>
Date: Mon, 2 Oct 2023 17:04:58 +0300
Subject: [PATCH] mtd: spinand: add support for FORESEE F35SQA002G
Add support for FORESEE F35SQA002G SPI NAND.
Datasheet:
https://www.longsys.com/uploads/LM-00006FORESEEF35SQA002GDatasheet_1650183701.pdf
Signed-off-by: Martin Kurbanov <mmkurbanov@salutedevices.com>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/20231002140458.147605-1-mmkurbanov@salutedevices.com
---
drivers/mtd/nand/spi/Makefile | 2 +-
drivers/mtd/nand/spi/core.c | 1 +
drivers/mtd/nand/spi/foresee.c | 95 ++++++++++++++++++++++++++++++++++
include/linux/mtd/spinand.h | 1 +
4 files changed, 98 insertions(+), 1 deletion(-)
create mode 100644 drivers/mtd/nand/spi/foresee.c
--- a/drivers/mtd/nand/spi/Makefile
+++ b/drivers/mtd/nand/spi/Makefile
@@ -1,5 +1,5 @@
# SPDX-License-Identifier: GPL-2.0
-spinand-objs := core.o esmt.o etron.o gigadevice.o macronix.o micron.o paragon.o
+spinand-objs := core.o esmt.o foresee.o etron.o gigadevice.o macronix.o micron.o paragon.o
spinand-objs += toshiba.o winbond.o xtx.o
obj-$(CONFIG_MTD_SPI_NAND) += spinand.o
--- a/drivers/mtd/nand/spi/core.c
+++ b/drivers/mtd/nand/spi/core.c
@@ -834,6 +834,7 @@ static const struct spinand_manufacturer
&toshiba_spinand_manufacturer,
&winbond_spinand_manufacturer,
&esmt_c8_spinand_manufacturer,
+ &foresee_spinand_manufacturer,
&xtx_spinand_manufacturer,
};
--- /dev/null
+++ b/drivers/mtd/nand/spi/foresee.c
@@ -0,0 +1,97 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (c) 2023, SberDevices. All Rights Reserved.
+ *
+ * Author: Martin Kurbanov <mmkurbanov@salutedevices.com>
+ */
+
+#ifndef __UBOOT__
+#include <linux/device.h>
+#include <linux/kernel.h>
+#endif
+#include <linux/mtd/spinand.h>
+
+#define SPINAND_MFR_FORESEE 0xCD
+
+static SPINAND_OP_VARIANTS(read_cache_variants,
+ SPINAND_PAGE_READ_FROM_CACHE_X4_OP(0, 1, NULL, 0),
+ SPINAND_PAGE_READ_FROM_CACHE_X2_OP(0, 1, NULL, 0),
+ SPINAND_PAGE_READ_FROM_CACHE_OP(true, 0, 1, NULL, 0),
+ SPINAND_PAGE_READ_FROM_CACHE_OP(false, 0, 1, NULL, 0));
+
+static SPINAND_OP_VARIANTS(write_cache_variants,
+ SPINAND_PROG_LOAD_X4(true, 0, NULL, 0),
+ SPINAND_PROG_LOAD(true, 0, NULL, 0));
+
+static SPINAND_OP_VARIANTS(update_cache_variants,
+ SPINAND_PROG_LOAD_X4(false, 0, NULL, 0),
+ SPINAND_PROG_LOAD(false, 0, NULL, 0));
+
+static int f35sqa002g_ooblayout_ecc(struct mtd_info *mtd, int section,
+ struct mtd_oob_region *region)
+{
+ return -ERANGE;
+}
+
+static int f35sqa002g_ooblayout_free(struct mtd_info *mtd, int section,
+ struct mtd_oob_region *region)
+{
+ if (section)
+ return -ERANGE;
+
+ /* Reserve 2 bytes for the BBM. */
+ region->offset = 2;
+ region->length = 62;
+
+ return 0;
+}
+
+static const struct mtd_ooblayout_ops f35sqa002g_ooblayout = {
+ .ecc = f35sqa002g_ooblayout_ecc,
+ .rfree = f35sqa002g_ooblayout_free,
+};
+
+static int f35sqa002g_ecc_get_status(struct spinand_device *spinand, u8 status)
+{
+ struct nand_device *nand = spinand_to_nand(spinand);
+
+ switch (status & STATUS_ECC_MASK) {
+ case STATUS_ECC_NO_BITFLIPS:
+ return 0;
+
+ case STATUS_ECC_HAS_BITFLIPS:
+ return 1;
+
+ default:
+ break;
+ }
+
+ /* More than 1-bit error was detected in one or more sectors and
+ * cannot be corrected.
+ */
+ return -EBADMSG;
+}
+
+static const struct spinand_info foresee_spinand_table[] = {
+ SPINAND_INFO("F35SQA002G",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x72, 0x72),
+ NAND_MEMORG(1, 2048, 64, 64, 2048, 40, 1, 1, 1),
+ NAND_ECCREQ(1, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
+ &write_cache_variants,
+ &update_cache_variants),
+ SPINAND_HAS_QE_BIT,
+ SPINAND_ECCINFO(&f35sqa002g_ooblayout,
+ f35sqa002g_ecc_get_status)),
+};
+
+static const struct spinand_manufacturer_ops foresee_spinand_manuf_ops = {
+};
+
+const struct spinand_manufacturer foresee_spinand_manufacturer = {
+ .id = SPINAND_MFR_FORESEE,
+ .name = "FORESEE",
+ .chips = foresee_spinand_table,
+ .nchips = ARRAY_SIZE(foresee_spinand_table),
+ .ops = &foresee_spinand_manuf_ops,
+};
--- a/include/linux/mtd/spinand.h
+++ b/include/linux/mtd/spinand.h
@@ -252,6 +252,7 @@ extern const struct spinand_manufacturer
extern const struct spinand_manufacturer toshiba_spinand_manufacturer;
extern const struct spinand_manufacturer winbond_spinand_manufacturer;
extern const struct spinand_manufacturer esmt_c8_spinand_manufacturer;
+extern const struct spinand_manufacturer foresee_spinand_manufacturer;
extern const struct spinand_manufacturer xtx_spinand_manufacturer;
/**
@@ -0,0 +1,38 @@
From ae461cde5c559675fc4c0ba351c7c31ace705f56 Mon Sep 17 00:00:00 2001
From: Bohdan Chubuk <chbgdn@gmail.com>
Date: Sun, 10 Nov 2024 22:50:47 +0200
Subject: [PATCH] mtd: spinand: add support for FORESEE F35SQA001G
Add support for FORESEE F35SQA001G SPI NAND.
Similar to F35SQA002G, but differs in capacity.
Datasheet:
- https://cdn.ozdisan.com/ETicaret_Dosya/704795_871495.pdf
Tested on Xiaomi AX3000T flashed with OpenWRT.
Signed-off-by: Bohdan Chubuk <chbgdn@gmail.com>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
---
drivers/mtd/nand/spi/foresee.c | 10 ++++++++++
1 file changed, 10 insertions(+)
--- a/drivers/mtd/nand/spi/foresee.c
+++ b/drivers/mtd/nand/spi/foresee.c
@@ -83,6 +83,16 @@ static const struct spinand_info foresee
SPINAND_HAS_QE_BIT,
SPINAND_ECCINFO(&f35sqa002g_ooblayout,
f35sqa002g_ecc_get_status)),
+ SPINAND_INFO("F35SQA001G",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x71, 0x71),
+ NAND_MEMORG(1, 2048, 64, 64, 1024, 20, 1, 1, 1),
+ NAND_ECCREQ(1, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
+ &write_cache_variants,
+ &update_cache_variants),
+ SPINAND_HAS_QE_BIT,
+ SPINAND_ECCINFO(&f35sqa002g_ooblayout,
+ f35sqa002g_ecc_get_status)),
};
static const struct spinand_manufacturer_ops foresee_spinand_manuf_ops = {
@@ -0,0 +1,19 @@
Force update_cache_variants to use reset for Foresee NAND with bad blocks
Tested on Xiaomi AX3000T + F35SQA001G with bad blocks and without bad blocks
Signed-off-by: Dim Fish <dimfish@gmail.com>
--- a/drivers/mtd/nand/spi/foresee.c
+++ b/drivers/mtd/nand/spi/foresee.c
@@ -24,8 +24,8 @@ static SPINAND_OP_VARIANTS(write_cache_v
SPINAND_PROG_LOAD(true, 0, NULL, 0));
static SPINAND_OP_VARIANTS(update_cache_variants,
- SPINAND_PROG_LOAD_X4(false, 0, NULL, 0),
- SPINAND_PROG_LOAD(false, 0, NULL, 0));
+ SPINAND_PROG_LOAD_X4(true, 0, NULL, 0),
+ SPINAND_PROG_LOAD(true, 0, NULL, 0));
static int f35sqa002g_ooblayout_ecc(struct mtd_info *mtd, int section,
struct mtd_oob_region *region)
@@ -0,0 +1,68 @@
Subject: [PATCH] mtd: spinand: esmt: add support for F50L1G41LC
This adds support for ESMT F50L1G41LC, which appears to be an updated
version of the already supported F50L1G41LB.
Add esmt_8c SPI_NAND manufacturer to account for the newly used vendor
ID with support for the ESMT F50L1G41LC chip.
--- a/drivers/mtd/nand/spi/core.c
+++ b/drivers/mtd/nand/spi/core.c
@@ -834,6 +834,7 @@ static const struct spinand_manufacturer
&toshiba_spinand_manufacturer,
&winbond_spinand_manufacturer,
&esmt_c8_spinand_manufacturer,
+ &esmt_8c_spinand_manufacturer,
&foresee_spinand_manufacturer,
&xtx_spinand_manufacturer,
};
--- a/drivers/mtd/nand/spi/esmt.c
+++ b/drivers/mtd/nand/spi/esmt.c
@@ -13,6 +13,7 @@
/* ESMT uses GigaDevice 0xc8 JECDEC ID on some SPI NANDs */
#define SPINAND_MFR_ESMT_C8 0xc8
+#define SPINAND_MFR_ESMT_8C 0x8c
static SPINAND_OP_VARIANTS(read_cache_variants,
SPINAND_PAGE_READ_FROM_CACHE_X4_OP(0, 1, NULL, 0),
@@ -104,6 +105,18 @@ static const struct mtd_ooblayout_ops f5
.rfree = f50l1g41lb_ooblayout_free,
};
+static const struct spinand_info esmt_8c_spinand_table[] = {
+ SPINAND_INFO("F50L1G41LC",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_ADDR, 0x2C),
+ NAND_MEMORG(1, 2048, 64, 64, 1024, 20, 1, 1, 1),
+ NAND_ECCREQ(1, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
+ &write_cache_variants,
+ &update_cache_variants),
+ 0,
+ SPINAND_ECCINFO(&f50l1g41lb_ooblayout, NULL)),
+};
+
static const struct spinand_info esmt_c8_spinand_table[] = {
SPINAND_INFO("F50L1G41LB",
SPINAND_ID(SPINAND_READID_METHOD_OPCODE_ADDR, 0x01),
@@ -135,3 +148,11 @@ const struct spinand_manufacturer esmt_c
.nchips = ARRAY_SIZE(esmt_c8_spinand_table),
.ops = &esmt_spinand_manuf_ops,
};
+
+const struct spinand_manufacturer esmt_8c_spinand_manufacturer = {
+ .id = SPINAND_MFR_ESMT_8C,
+ .name = "ESMT",
+ .chips = esmt_8c_spinand_table,
+ .nchips = ARRAY_SIZE(esmt_8c_spinand_table),
+ .ops = &esmt_spinand_manuf_ops,
+};
--- a/include/linux/mtd/spinand.h
+++ b/include/linux/mtd/spinand.h
@@ -252,6 +252,7 @@ extern const struct spinand_manufacturer
extern const struct spinand_manufacturer toshiba_spinand_manufacturer;
extern const struct spinand_manufacturer winbond_spinand_manufacturer;
extern const struct spinand_manufacturer esmt_c8_spinand_manufacturer;
+extern const struct spinand_manufacturer esmt_8c_spinand_manufacturer;
extern const struct spinand_manufacturer foresee_spinand_manufacturer;
extern const struct spinand_manufacturer xtx_spinand_manufacturer;
@@ -1,6 +1,6 @@
--- a/cmd/bootmenu.c
+++ b/cmd/bootmenu.c
@@ -451,7 +451,11 @@ static void menu_display_statusline(stru
@@ -465,7 +465,11 @@ static void menu_display_statusline(stru
printf(ANSI_CURSOR_POSITION, 1, 1);
puts(ANSI_CLEAR_LINE);
printf(ANSI_CURSOR_POSITION, 2, 3);
@@ -13,7 +13,7 @@
puts(ANSI_CLEAR_LINE_TO_END);
printf(ANSI_CURSOR_POSITION, 3, 1);
puts(ANSI_CLEAR_LINE);
@@ -536,6 +540,7 @@ static enum bootmenu_ret bootmenu_show(i
@@ -550,6 +554,7 @@ static enum bootmenu_ret bootmenu_show(i
return BOOTMENU_RET_FAIL;
}
@@ -23,8 +23,8 @@
goto cleanup;
--- a/include/menu.h
+++ b/include/menu.h
@@ -45,6 +45,7 @@ struct bootmenu_data {
int active; /* active menu entry */
@@ -47,6 +47,7 @@ struct bootmenu_data {
int last_active; /* last active menu entry */
int count; /* total count of menu entries */
struct bootmenu_entry *first; /* first menu entry */
+ char *mtitle; /* custom menu title */
@@ -0,0 +1,329 @@
From cead43cc5781492f2706eeed1157c8986a216bc9 Mon Sep 17 00:00:00 2001
From: Jon Lin <jon.lin@rock-chips.com>
Date: Sun, 17 Oct 2021 09:51:39 +0800
Subject: [PATCH] mtd: spinand: Support dosilicon
DS35X1GA, DS35Q2GA, DS35M1GA, DS35M2GA, DS35Q2GB, DS35M1GB
Change-Id: I5aeb0219f01dbe98d36b398e66b94ab31b07788e
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
---
drivers/mtd/nand/spi/Makefile | 2 +-
drivers/mtd/nand/spi/core.c | 1 +
drivers/mtd/nand/spi/dosilicon.c | 187 +++++++++++++++++++++++++++++++
include/linux/mtd/spinand.h | 1 +
4 files changed, 190 insertions(+), 1 deletion(-)
create mode 100644 drivers/mtd/nand/spi/dosilicon.c
--- a/drivers/mtd/nand/spi/Makefile
+++ b/drivers/mtd/nand/spi/Makefile
@@ -1,5 +1,6 @@
# SPDX-License-Identifier: GPL-2.0
spinand-objs := core.o esmt.o foresee.o etron.o gigadevice.o macronix.o micron.o paragon.o
+spinand-objs += dosilicon.o
spinand-objs += toshiba.o winbond.o xtx.o
obj-$(CONFIG_MTD_SPI_NAND) += spinand.o
--- a/drivers/mtd/nand/spi/core.c
+++ b/drivers/mtd/nand/spi/core.c
@@ -826,6 +826,7 @@ static const struct nand_ops spinand_ops
};
static const struct spinand_manufacturer *spinand_manufacturers[] = {
+ &dosilicon_spinand_manufacturer,
&etron_spinand_manufacturer,
&gigadevice_spinand_manufacturer,
&macronix_spinand_manufacturer,
--- /dev/null
+++ b/drivers/mtd/nand/spi/dosilicon.c
@@ -0,0 +1,280 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2020 Rockchip Electronics Co., Ltd.
+ */
+
+#ifndef __UBOOT__
+#include <linux/device.h>
+#include <linux/kernel.h>
+#endif
+#include <linux/mtd/spinand.h>
+
+#define SPINAND_MFR_DOSILICON 0xE5
+
+#define DOSICON_STATUS_ECC_MASK GENMASK(6, 4)
+#define DOSICON_STATUS_ECC_NO_BITFLIPS (0 << 4)
+#define DOSICON_STATUS_ECC_1TO3_BITFLIPS (1 << 4)
+#define DOSICON_STATUS_ECC_4TO6_BITFLIPS (3 << 4)
+#define DOSICON_STATUS_ECC_7TO8_BITFLIPS (5 << 4)
+
+static SPINAND_OP_VARIANTS(read_cache_variants,
+ SPINAND_PAGE_READ_FROM_CACHE_X4_OP(0, 1, NULL, 0),
+ SPINAND_PAGE_READ_FROM_CACHE_OP(true, 0, 1, NULL, 0),
+ SPINAND_PAGE_READ_FROM_CACHE_OP(false, 0, 1, NULL, 0));
+
+static SPINAND_OP_VARIANTS(write_cache_variants,
+ SPINAND_PROG_LOAD_X4(true, 0, NULL, 0),
+ SPINAND_PROG_LOAD(true, 0, NULL, 0));
+
+static SPINAND_OP_VARIANTS(update_cache_variants,
+ SPINAND_PROG_LOAD_X4(true, 0, NULL, 0),
+ SPINAND_PROG_LOAD(true, 0, NULL, 0));
+
+static int ds35xxga_ooblayout_ecc(struct mtd_info *mtd, int section,
+ struct mtd_oob_region *region)
+{
+ if (section > 3)
+ return -ERANGE;
+
+ region->offset = (16 * section) + 8;
+ region->length = 8;
+
+ return 0;
+}
+
+static int ds35xxga_ooblayout_free(struct mtd_info *mtd, int section,
+ struct mtd_oob_region *region)
+{
+ if (section > 3)
+ return -ERANGE;
+
+ region->offset = (16 * section) + 2;
+ region->length = 6;
+
+ return 0;
+}
+
+static const struct mtd_ooblayout_ops ds35xxga_ooblayout = {
+ .ecc = ds35xxga_ooblayout_ecc,
+ .rfree = ds35xxga_ooblayout_free,
+};
+
+static int ds35xxgb_ooblayout_ecc(struct mtd_info *mtd, int section,
+ struct mtd_oob_region *region)
+{
+ if (section)
+ return -ERANGE;
+
+ region->offset = 64;
+ region->length = 64;
+
+ return 0;
+}
+
+static int ds35xxgb_ooblayout_free(struct mtd_info *mtd, int section,
+ struct mtd_oob_region *region)
+{
+ if (section)
+ return -ERANGE;
+
+ /* Reserve 1 bytes for the BBM. */
+ region->offset = 1;
+ region->length = 63;
+
+ return 0;
+}
+
+static const struct mtd_ooblayout_ops ds35xxgb_ooblayout = {
+ .ecc = ds35xxgb_ooblayout_ecc,
+ .rfree = ds35xxgb_ooblayout_free,
+};
+
+static int ds35xxgb_ecc_get_status(struct spinand_device *spinand,
+ u8 status)
+{
+ switch (status & DOSICON_STATUS_ECC_MASK) {
+ case STATUS_ECC_NO_BITFLIPS:
+ return 0;
+
+ case STATUS_ECC_UNCOR_ERROR:
+ return -EBADMSG;
+
+ case DOSICON_STATUS_ECC_1TO3_BITFLIPS:
+ return 3;
+
+ case DOSICON_STATUS_ECC_4TO6_BITFLIPS:
+ return 6;
+
+ case DOSICON_STATUS_ECC_7TO8_BITFLIPS:
+ return 8;
+
+ default:
+ break;
+ }
+
+ return -EINVAL;
+}
+
+static const struct spinand_info dosilicon_spinand_table[] = {
+ SPINAND_INFO("DS35X1GA",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x71),
+ NAND_MEMORG(1, 2048, 64, 64, 1024, 20, 1, 1, 1),
+ NAND_ECCREQ(4, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
+ &write_cache_variants,
+ &update_cache_variants),
+ SPINAND_HAS_QE_BIT,
+ SPINAND_ECCINFO(&ds35xxga_ooblayout, NULL)),
+ SPINAND_INFO("DS35Q2GA",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x72),
+ NAND_MEMORG(1, 2048, 64, 64, 2048, 40, 2, 1, 1),
+ NAND_ECCREQ(4, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
+ &write_cache_variants,
+ &update_cache_variants),
+ SPINAND_HAS_QE_BIT,
+ SPINAND_ECCINFO(&ds35xxga_ooblayout, NULL)),
+ SPINAND_INFO("DS35M1GA",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x21),
+ NAND_MEMORG(1, 2048, 64, 64, 1024, 20, 1, 1, 1),
+ NAND_ECCREQ(4, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
+ &write_cache_variants,
+ &update_cache_variants),
+ SPINAND_HAS_QE_BIT,
+ SPINAND_ECCINFO(&ds35xxga_ooblayout, NULL)),
+ SPINAND_INFO("DS35M2GA",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x22),
+ NAND_MEMORG(1, 2048, 64, 64, 2048, 40, 2, 1, 1),
+ NAND_ECCREQ(4, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
+ &write_cache_variants,
+ &update_cache_variants),
+ SPINAND_HAS_QE_BIT,
+ SPINAND_ECCINFO(&ds35xxga_ooblayout, NULL)),
+ SPINAND_INFO("DS35Q2GB",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xF2),
+ NAND_MEMORG(1, 2048, 128, 64, 2048, 40, 2, 1, 1),
+ NAND_ECCREQ(8, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
+ &write_cache_variants,
+ &update_cache_variants),
+ SPINAND_HAS_QE_BIT,
+ SPINAND_ECCINFO(&ds35xxgb_ooblayout,
+ ds35xxgb_ecc_get_status)),
+ SPINAND_INFO("DS35M1GB",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xA1),
+ NAND_MEMORG(1, 2048, 128, 64, 1024, 20, 1, 1, 1),
+ NAND_ECCREQ(8, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
+ &write_cache_variants,
+ &update_cache_variants),
+ SPINAND_HAS_QE_BIT,
+ SPINAND_ECCINFO(&ds35xxgb_ooblayout,
+ ds35xxgb_ecc_get_status)),
+ SPINAND_INFO("DS35Q1GB",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xF1),
+ NAND_MEMORG(1, 2048, 128, 64, 1024, 20, 1, 1, 1),
+ NAND_ECCREQ(8, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
+ &write_cache_variants,
+ &update_cache_variants),
+ SPINAND_HAS_QE_BIT,
+ SPINAND_ECCINFO(&ds35xxgb_ooblayout,
+ ds35xxgb_ecc_get_status)),
+ SPINAND_INFO("DS35Q4GM",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xF4),
+ NAND_MEMORG(1, 2048, 128, 64, 4096, 80, 2, 1, 1),
+ NAND_ECCREQ(8, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
+ &write_cache_variants,
+ &update_cache_variants),
+ SPINAND_HAS_QE_BIT,
+ SPINAND_ECCINFO(&ds35xxgb_ooblayout,
+ ds35xxgb_ecc_get_status)),
+ SPINAND_INFO("DS35Q12B",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xF5),
+ NAND_MEMORG(1, 2048, 128, 64, 512, 10, 1, 1, 1),
+ NAND_ECCREQ(8, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
+ &write_cache_variants,
+ &update_cache_variants),
+ SPINAND_HAS_QE_BIT,
+ SPINAND_ECCINFO(&ds35xxgb_ooblayout,
+ ds35xxgb_ecc_get_status)),
+ SPINAND_INFO("DS35M12B",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xA5),
+ NAND_MEMORG(1, 2048, 128, 64, 512, 10, 1, 1, 1),
+ NAND_ECCREQ(8, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
+ &write_cache_variants,
+ &update_cache_variants),
+ SPINAND_HAS_QE_BIT,
+ SPINAND_ECCINFO(&ds35xxgb_ooblayout,
+ ds35xxgb_ecc_get_status)),
+ SPINAND_INFO("DS35Q1GD-IB",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x51),
+ NAND_MEMORG(1, 2048, 128, 64, 1024, 20, 1, 1, 1),
+ NAND_ECCREQ(8, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
+ &write_cache_variants,
+ &update_cache_variants),
+ SPINAND_HAS_QE_BIT,
+ SPINAND_ECCINFO(&ds35xxgb_ooblayout, ds35xxgb_ecc_get_status)),
+ SPINAND_INFO("DS35M4GB-IB",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x64),
+ NAND_MEMORG(1, 2048, 128, 64, 4096, 40, 1, 1, 1),
+ NAND_ECCREQ(8, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
+ &write_cache_variants,
+ &update_cache_variants),
+ SPINAND_HAS_QE_BIT,
+ SPINAND_ECCINFO(&ds35xxgb_ooblayout, ds35xxgb_ecc_get_status)),
+ SPINAND_INFO("DS35Q4GB-IB",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xB4),
+ NAND_MEMORG(1, 2048, 128, 64, 4096, 40, 1, 1, 1),
+ NAND_ECCREQ(8, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
+ &write_cache_variants,
+ &update_cache_variants),
+ SPINAND_HAS_QE_BIT,
+ SPINAND_ECCINFO(&ds35xxgb_ooblayout, ds35xxgb_ecc_get_status)),
+ SPINAND_INFO("DS35Q12C-IB",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x75),
+ NAND_MEMORG(1, 2048, 128, 64, 512, 10, 1, 1, 1),
+ NAND_ECCREQ(8, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
+ &write_cache_variants,
+ &update_cache_variants),
+ SPINAND_HAS_QE_BIT,
+ SPINAND_ECCINFO(&ds35xxgb_ooblayout, ds35xxgb_ecc_get_status)),
+ SPINAND_INFO("DS35M12C-IB",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x25),
+ NAND_MEMORG(1, 2048, 128, 64, 512, 10, 1, 1, 1),
+ NAND_ECCREQ(8, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
+ &write_cache_variants,
+ &update_cache_variants),
+ SPINAND_HAS_QE_BIT,
+ SPINAND_ECCINFO(&ds35xxgb_ooblayout, ds35xxgb_ecc_get_status)),
+ SPINAND_INFO("DS35Q2GBS",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xB2),
+ NAND_MEMORG(1, 2048, 128, 64, 2048, 40, 1, 1, 1),
+ NAND_ECCREQ(8, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
+ &write_cache_variants,
+ &update_cache_variants),
+ SPINAND_HAS_QE_BIT,
+ SPINAND_ECCINFO(&ds35xxgb_ooblayout, ds35xxgb_ecc_get_status)),
+};
+
+static const struct spinand_manufacturer_ops dosilicon_spinand_manuf_ops = {
+};
+
+const struct spinand_manufacturer dosilicon_spinand_manufacturer = {
+ .id = SPINAND_MFR_DOSILICON,
+ .name = "dosilicon",
+ .chips = dosilicon_spinand_table,
+ .nchips = ARRAY_SIZE(dosilicon_spinand_table),
+ .ops = &dosilicon_spinand_manuf_ops,
+};
--- a/include/linux/mtd/spinand.h
+++ b/include/linux/mtd/spinand.h
@@ -244,6 +244,7 @@ struct spinand_manufacturer {
};
/* SPI NAND manufacturers */
+extern const struct spinand_manufacturer dosilicon_spinand_manufacturer;
extern const struct spinand_manufacturer etron_spinand_manufacturer;
extern const struct spinand_manufacturer gigadevice_spinand_manufacturer;
extern const struct spinand_manufacturer macronix_spinand_manufacturer;
@@ -0,0 +1,327 @@
From 205a24e34751220c3ba04f0ac6ecc734e56ed225 Mon Sep 17 00:00:00 2001
From: Jon Lin <jon.lin@rock-chips.com>
Date: Sun, 17 Oct 2021 09:59:10 +0800
Subject: [PATCH] mtd: spinand: Support fmsh
FM25S01A, FM25S02A, FM25S01
Change-Id: I7e0ceec39c57dc591d77a4ebde599ad326cf25b7
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
---
drivers/mtd/nand/spi/Makefile | 2 +-
drivers/mtd/nand/spi/core.c | 1 +
drivers/mtd/nand/spi/fmsh.c | 122 ++++++++++++++++++++++++++++++++++
include/linux/mtd/spinand.h | 1 +
4 files changed, 125 insertions(+), 1 deletion(-)
create mode 100644 drivers/mtd/nand/spi/fmsh.c
--- a/drivers/mtd/nand/spi/Makefile
+++ b/drivers/mtd/nand/spi/Makefile
@@ -1,6 +1,6 @@
# SPDX-License-Identifier: GPL-2.0
spinand-objs := core.o esmt.o foresee.o etron.o gigadevice.o macronix.o micron.o paragon.o
-spinand-objs += dosilicon.o
+spinand-objs += dosilicon.o fmsh.o
spinand-objs += toshiba.o winbond.o xtx.o
obj-$(CONFIG_MTD_SPI_NAND) += spinand.o
--- a/drivers/mtd/nand/spi/core.c
+++ b/drivers/mtd/nand/spi/core.c
@@ -828,6 +828,7 @@ static const struct nand_ops spinand_ops
static const struct spinand_manufacturer *spinand_manufacturers[] = {
&dosilicon_spinand_manufacturer,
&etron_spinand_manufacturer,
+ &fmsh_spinand_manufacturer,
&gigadevice_spinand_manufacturer,
&macronix_spinand_manufacturer,
&micron_spinand_manufacturer,
--- /dev/null
+++ b/drivers/mtd/nand/spi/fmsh.c
@@ -0,0 +1,277 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2020-2021 Rockchip Electronics Co., Ltd.
+ *
+ * Author: Dingqiang Lin <jon.lin@rock-chips.com>
+ */
+
+#ifndef __UBOOT__
+#include <linux/device.h>
+#include <linux/kernel.h>
+#endif
+#include <linux/mtd/spinand.h>
+
+#define SPINAND_MFR_FMSH 0xA1
+
+static SPINAND_OP_VARIANTS(read_cache_variants,
+ SPINAND_PAGE_READ_FROM_CACHE_QUADIO_OP(0, 2, NULL, 0),
+ SPINAND_PAGE_READ_FROM_CACHE_X4_OP(0, 1, NULL, 0),
+ SPINAND_PAGE_READ_FROM_CACHE_DUALIO_OP(0, 1, NULL, 0),
+ SPINAND_PAGE_READ_FROM_CACHE_X2_OP(0, 1, NULL, 0),
+ SPINAND_PAGE_READ_FROM_CACHE_OP(true, 0, 1, NULL, 0),
+ SPINAND_PAGE_READ_FROM_CACHE_OP(false, 0, 1, NULL, 0));
+
+static SPINAND_OP_VARIANTS(write_cache_variants,
+ SPINAND_PROG_LOAD_X4(true, 0, NULL, 0),
+ SPINAND_PROG_LOAD(true, 0, NULL, 0));
+
+static SPINAND_OP_VARIANTS(update_cache_variants,
+ SPINAND_PROG_LOAD_X4(false, 0, NULL, 0),
+ SPINAND_PROG_LOAD(false, 0, NULL, 0));
+
+static int fm25s01a_ooblayout_ecc(struct mtd_info *mtd, int section,
+ struct mtd_oob_region *region)
+{
+ return -ERANGE;
+}
+
+static int fm25s01a_ooblayout_free(struct mtd_info *mtd, int section,
+ struct mtd_oob_region *region)
+{
+ if (section)
+ return -ERANGE;
+
+ region->offset = 2;
+ region->length = 62;
+
+ return 0;
+}
+
+static const struct mtd_ooblayout_ops fm25s01a_ooblayout = {
+ .ecc = fm25s01a_ooblayout_ecc,
+ .rfree = fm25s01a_ooblayout_free,
+};
+
+static int fm25s01_ooblayout_ecc(struct mtd_info *mtd, int section,
+ struct mtd_oob_region *region)
+{
+ if (section)
+ return -ERANGE;
+
+ region->offset = 64;
+ region->length = 64;
+
+ return 0;
+}
+
+static int fm25s01_ooblayout_free(struct mtd_info *mtd, int section,
+ struct mtd_oob_region *region)
+{
+ if (section)
+ return -ERANGE;
+
+ region->offset = 2;
+ region->length = 62;
+
+ return 0;
+}
+
+static const struct mtd_ooblayout_ops fm25s01_ooblayout = {
+ .ecc = fm25s01_ooblayout_ecc,
+ .rfree = fm25s01_ooblayout_free,
+};
+
+/*
+ * ecc bits: 0xC0[4,6]
+ * [0b000], No bit errors were detected;
+ * [0b001] and [0b011], 1~6 Bit errors were detected and corrected. Not
+ * reach Flipping Bits;
+ * [0b101], Bit error count equals the bit flip
+ * detection threshold
+ * [0b010], Multiple bit errors were detected and
+ * not corrected.
+ * others, Reserved.
+ */
+static int fm25s01bi3_ecc_ecc_get_status(struct spinand_device *spinand,
+ u8 status)
+{
+ struct nand_device *nand = spinand_to_nand(spinand);
+ u8 eccsr = (status & GENMASK(6, 4)) >> 4;
+
+ if (eccsr <= 1 || eccsr == 3)
+ return eccsr;
+ else if (eccsr == 5)
+ return nand->eccreq.strength;
+ else
+ return -EBADMSG;
+}
+
+static int fm25g0xd_ooblayout_ecc(struct mtd_info *mtd, int section,
+ struct mtd_oob_region *region)
+{
+ if (section)
+ return -ERANGE;
+
+ region->offset = 64;
+ region->length = 64;
+
+ return 0;
+}
+
+static int fm25g0xd_ooblayout_free(struct mtd_info *mtd, int section,
+ struct mtd_oob_region *region)
+{
+ if (section)
+ return -ERANGE;
+
+ /* Reserve 2 bytes for the BBM. */
+ region->offset = 2;
+ region->length = 62;
+
+ return 0;
+}
+
+static const struct mtd_ooblayout_ops fm25g0xd_ooblayout = {
+ .ecc = fm25g0xd_ooblayout_ecc,
+ .rfree = fm25g0xd_ooblayout_free,
+};
+
+/*
+ * ecc bits: 0xC0[4,6]
+ * [0x0], No bit errors were detected;
+ * [0x001, 0x011], Bit errors were detected and corrected. Not
+ * reach Flipping Bits;
+ * [0x100], Bit error count equals the bit flip
+ * detectionthreshold
+ * [0x101, 0x110], Reserved;
+ * [0x111], Multiple bit errors were detected and
+ * not corrected.
+ */
+static int fm25g0xd_ecc_get_status(struct spinand_device *spinand,
+ u8 status)
+{
+ struct nand_device *nand = spinand_to_nand(spinand);
+ u8 eccsr = (status & GENMASK(6, 4)) >> 4;
+
+ if (eccsr <= 3)
+ return 0;
+ else if (eccsr == 4)
+ return nand->eccreq.strength;
+ else
+ return -EBADMSG;
+}
+
+static int fm25g02b_ooblayout_ecc(struct mtd_info *mtd, int section,
+ struct mtd_oob_region *region)
+{
+ if (section >= 8)
+ return -ERANGE;
+
+ region->offset = 64 + section * 8;
+ region->length = 8;
+
+ return 0;
+}
+
+static int fm25g02b_ooblayout_free(struct mtd_info *mtd, int section,
+ struct mtd_oob_region *region)
+{
+ if (section)
+ return -ERANGE;
+
+ region->offset = 2;
+ region->length = 62;
+
+ return 0;
+}
+
+static const struct mtd_ooblayout_ops fm25g02b_ooblayout = {
+ .ecc = fm25g02b_ooblayout_ecc,
+ .rfree = fm25g02b_ooblayout_free,
+};
+
+static const struct spinand_info fmsh_spinand_table[] = {
+ SPINAND_INFO("FM25S01A",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xE4),
+ NAND_MEMORG(1, 2048, 64, 64, 1024, 20, 1, 1, 1),
+ NAND_ECCREQ(1, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
+ &write_cache_variants,
+ &update_cache_variants),
+ 0,
+ SPINAND_ECCINFO(&fm25s01a_ooblayout, NULL)),
+ SPINAND_INFO("FM25S02A",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xE5),
+ NAND_MEMORG(1, 2048, 64, 64, 2048, 40, 2, 1, 1),
+ NAND_ECCREQ(1, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
+ &write_cache_variants,
+ &update_cache_variants),
+ SPINAND_HAS_QE_BIT,
+ SPINAND_ECCINFO(&fm25s01a_ooblayout, NULL)),
+ SPINAND_INFO("FM25S01",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xA1),
+ NAND_MEMORG(1, 2048, 128, 64, 1024, 20, 1, 1, 1),
+ NAND_ECCREQ(1, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
+ &write_cache_variants,
+ &update_cache_variants),
+ 0,
+ SPINAND_ECCINFO(&fm25s01_ooblayout, NULL)),
+ SPINAND_INFO("FM25LS01",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xA5),
+ NAND_MEMORG(1, 2048, 128, 64, 1024, 20, 1, 1, 1),
+ NAND_ECCREQ(1, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
+ &write_cache_variants,
+ &update_cache_variants),
+ 0,
+ SPINAND_ECCINFO(&fm25s01_ooblayout, NULL)),
+ SPINAND_INFO("FM25S01BI3",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xD4),
+ NAND_MEMORG(1, 2048, 128, 64, 1024, 20, 1, 1, 1),
+ NAND_ECCREQ(8, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
+ &write_cache_variants,
+ &update_cache_variants),
+ SPINAND_HAS_QE_BIT,
+ SPINAND_ECCINFO(&fm25s01_ooblayout, fm25s01bi3_ecc_ecc_get_status)),
+ SPINAND_INFO("FM25S02BI3-DND-A-G3",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xD6),
+ NAND_MEMORG(1, 2048, 128, 64, 1024, 20, 1, 1, 1),
+ NAND_ECCREQ(8, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
+ &write_cache_variants,
+ &update_cache_variants),
+ SPINAND_HAS_QE_BIT,
+ SPINAND_ECCINFO(&fm25s01_ooblayout, fm25s01bi3_ecc_ecc_get_status)),
+ SPINAND_INFO("FM25G02B",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xD2),
+ NAND_MEMORG(1, 2048, 128, 64, 2048, 40, 1, 1, 1),
+ NAND_ECCREQ(8, 528),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
+ &write_cache_variants,
+ &update_cache_variants),
+ SPINAND_HAS_QE_BIT,
+ SPINAND_ECCINFO(&fm25g02b_ooblayout, NULL)),
+ SPINAND_INFO("FM25G02D",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xF2),
+ NAND_MEMORG(1, 2048, 64, 64, 2048, 40, 1, 1, 1),
+ NAND_ECCREQ(4, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
+ &write_cache_variants,
+ &update_cache_variants),
+ SPINAND_HAS_QE_BIT,
+ SPINAND_ECCINFO(&fm25g0xd_ooblayout, fm25g0xd_ecc_get_status)),
+};
+
+static const struct spinand_manufacturer_ops fmsh_spinand_manuf_ops = {
+};
+
+const struct spinand_manufacturer fmsh_spinand_manufacturer = {
+ .id = SPINAND_MFR_FMSH,
+ .name = "Fudan Micro",
+ .chips = fmsh_spinand_table,
+ .nchips = ARRAY_SIZE(fmsh_spinand_table),
+ .ops = &fmsh_spinand_manuf_ops,
+};
--- a/include/linux/mtd/spinand.h
+++ b/include/linux/mtd/spinand.h
@@ -246,6 +246,7 @@ struct spinand_manufacturer {
/* SPI NAND manufacturers */
extern const struct spinand_manufacturer dosilicon_spinand_manufacturer;
extern const struct spinand_manufacturer etron_spinand_manufacturer;
+extern const struct spinand_manufacturer fmsh_spinand_manufacturer;
extern const struct spinand_manufacturer gigadevice_spinand_manufacturer;
extern const struct spinand_manufacturer macronix_spinand_manufacturer;
extern const struct spinand_manufacturer micron_spinand_manufacturer;
@@ -0,0 +1,189 @@
From 1e5200d59e21c8a8fa63badf415becb2301e78a4 Mon Sep 17 00:00:00 2001
From: Jon Lin <jon.lin@rock-chips.com>
Date: Thu, 27 Apr 2023 22:00:04 +0800
Subject: [PATCH] mtd: spinand: gsto: Add code
GSS01GSAK1, GSS02GSAK1
Change-Id: I7ee9048d934694803d6d081cb7d0cdc56f114e79
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
---
drivers/mtd/nand/spi/Makefile | 2 +-
drivers/mtd/nand/spi/core.c | 1 +
drivers/mtd/nand/spi/gsto.c | 90 +++++++++++++++++++++++++++++++++++
include/linux/mtd/spinand.h | 1 +
4 files changed, 93 insertions(+), 1 deletion(-)
create mode 100644 drivers/mtd/nand/spi/gsto.c
--- a/drivers/mtd/nand/spi/Makefile
+++ b/drivers/mtd/nand/spi/Makefile
@@ -1,6 +1,6 @@
# SPDX-License-Identifier: GPL-2.0
spinand-objs := core.o esmt.o foresee.o etron.o gigadevice.o macronix.o micron.o paragon.o
-spinand-objs += dosilicon.o fmsh.o
+spinand-objs += dosilicon.o fmsh.o gsto.o
spinand-objs += toshiba.o winbond.o xtx.o
obj-$(CONFIG_MTD_SPI_NAND) += spinand.o
--- a/drivers/mtd/nand/spi/core.c
+++ b/drivers/mtd/nand/spi/core.c
@@ -830,6 +830,7 @@ static const struct spinand_manufacturer
&etron_spinand_manufacturer,
&fmsh_spinand_manufacturer,
&gigadevice_spinand_manufacturer,
+ &gsto_spinand_manufacturer,
&macronix_spinand_manufacturer,
&micron_spinand_manufacturer,
&paragon_spinand_manufacturer,
--- /dev/null
+++ b/drivers/mtd/nand/spi/gsto.c
@@ -0,0 +1,139 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2023 Rockchip Electronics Co., Ltd.
+ *
+ * Authors:
+ * Dingqiang Lin <jon.lin@rock-chips.com>
+ */
+
+#ifndef __UBOOT__
+#include <linux/device.h>
+#include <linux/kernel.h>
+#endif
+#include <linux/mtd/spinand.h>
+
+#define SPINAND_MFR_GSTO 0x52
+
+static SPINAND_OP_VARIANTS(read_cache_variants,
+ SPINAND_PAGE_READ_FROM_CACHE_QUADIO_OP(0, 2, NULL, 0),
+ SPINAND_PAGE_READ_FROM_CACHE_X4_OP(0, 1, NULL, 0),
+ SPINAND_PAGE_READ_FROM_CACHE_DUALIO_OP(0, 1, NULL, 0),
+ SPINAND_PAGE_READ_FROM_CACHE_X2_OP(0, 1, NULL, 0),
+ SPINAND_PAGE_READ_FROM_CACHE_OP(true, 0, 1, NULL, 0),
+ SPINAND_PAGE_READ_FROM_CACHE_OP(false, 0, 1, NULL, 0));
+
+static SPINAND_OP_VARIANTS(write_cache_variants,
+ SPINAND_PROG_LOAD_X4(true, 0, NULL, 0),
+ SPINAND_PROG_LOAD(true, 0, NULL, 0));
+
+static SPINAND_OP_VARIANTS(update_cache_variants,
+ SPINAND_PROG_LOAD_X4(false, 0, NULL, 0),
+ SPINAND_PROG_LOAD(false, 0, NULL, 0));
+
+static int gss0xgsak1_ooblayout_ecc(struct mtd_info *mtd, int section,
+ struct mtd_oob_region *region)
+{
+ if (section)
+ return -ERANGE;
+
+ region->offset = 32;
+ region->length = 32;
+
+ return 0;
+}
+
+static int gss0xgsak1_ooblayout_free(struct mtd_info *mtd, int section,
+ struct mtd_oob_region *region)
+{
+ if (section)
+ return -ERANGE;
+
+ region->offset = 2;
+ region->length = 30;
+
+ return 0;
+}
+
+static const struct mtd_ooblayout_ops gss0xgsak1_ooblayout = {
+ .ecc = gss0xgsak1_ooblayout_ecc,
+ .rfree = gss0xgsak1_ooblayout_free,
+};
+
+static int gss0xgsax1_ooblayout_ecc(struct mtd_info *mtd, int section,
+ struct mtd_oob_region *region)
+{
+ if (section)
+ return -ERANGE;
+
+ region->offset = 64;
+ region->length = 64;
+
+ return 0;
+}
+
+static int gss0xgsax1_ooblayout_free(struct mtd_info *mtd, int section,
+ struct mtd_oob_region *region)
+{
+ if (section)
+ return -ERANGE;
+
+ region->offset = 2;
+ region->length = 62;
+
+ return 0;
+}
+
+static const struct mtd_ooblayout_ops gss0xgsax1_ooblayout = {
+ .ecc = gss0xgsax1_ooblayout_ecc,
+ .rfree = gss0xgsax1_ooblayout_free,
+};
+
+static const struct spinand_info gsto_spinand_table[] = {
+ SPINAND_INFO("GSS01GSAK1",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xBA, 0x13),
+ NAND_MEMORG(1, 2048, 64, 64, 1024, 10, 1, 1, 1),
+ NAND_ECCREQ(4, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
+ &write_cache_variants,
+ &update_cache_variants),
+ 0,
+ SPINAND_ECCINFO(&gss0xgsak1_ooblayout, NULL)),
+ SPINAND_INFO("GSS02GSAK1",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xBA, 0x23),
+ NAND_MEMORG(1, 2048, 64, 64, 2048, 20, 1, 1, 1),
+ NAND_ECCREQ(4, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
+ &write_cache_variants,
+ &update_cache_variants),
+ 0,
+ SPINAND_ECCINFO(&gss0xgsax1_ooblayout, NULL)),
+ SPINAND_INFO("GSS02GSAX1",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xCA, 0x23),
+ NAND_MEMORG(1, 2048, 128, 64, 2048, 40, 1, 1, 1),
+ NAND_ECCREQ(8, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
+ &write_cache_variants,
+ &update_cache_variants),
+ 0,
+ SPINAND_ECCINFO(&gss0xgsax1_ooblayout, NULL)),
+ SPINAND_INFO("GSS01GSAX1",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xCA, 0x13),
+ NAND_MEMORG(1, 2048, 128, 64, 1024, 20, 1, 1, 1),
+ NAND_ECCREQ(8, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
+ &write_cache_variants,
+ &update_cache_variants),
+ 0,
+ SPINAND_ECCINFO(&gss0xgsax1_ooblayout, NULL)),
+};
+
+static const struct spinand_manufacturer_ops gsto_spinand_manuf_ops = {
+};
+
+const struct spinand_manufacturer gsto_spinand_manufacturer = {
+ .id = SPINAND_MFR_GSTO,
+ .name = "GSTO",
+ .chips = gsto_spinand_table,
+ .nchips = ARRAY_SIZE(gsto_spinand_table),
+ .ops = &gsto_spinand_manuf_ops,
+};
--- a/include/linux/mtd/spinand.h
+++ b/include/linux/mtd/spinand.h
@@ -248,6 +248,7 @@ extern const struct spinand_manufacturer
extern const struct spinand_manufacturer etron_spinand_manufacturer;
extern const struct spinand_manufacturer fmsh_spinand_manufacturer;
extern const struct spinand_manufacturer gigadevice_spinand_manufacturer;
+extern const struct spinand_manufacturer gsto_spinand_manufacturer;
extern const struct spinand_manufacturer macronix_spinand_manufacturer;
extern const struct spinand_manufacturer micron_spinand_manufacturer;
extern const struct spinand_manufacturer paragon_spinand_manufacturer;
@@ -187,13 +187,12 @@
leds {
compatible = "gpio-leds";
@@ -109,6 +122,19 @@
@@ -109,6 +122,18 @@
};
};
+ key_pins_a: keys-alt {
+ mux {
+ function = "gpio";
+ groups = "msdc3";
+ };
+
@@ -538,13 +538,12 @@
+_bootmenu_update_title=setenv _bootmenu_update_title ; setenv bootmenu_title "$bootmenu_title $ver"
--- /dev/null
+++ b/cmcc_rax3000m-nand_env
@@ -0,0 +1,57 @@
@@ -0,0 +1,56 @@
+ipaddr=192.168.1.1
+serverip=192.168.1.254
+loadaddr=0x46000000
+console=earlycon=uart8250,mmio32,0x11002000 console=ttyS0
+bootconf=config-1#mt7981b-cmcc-rax3000m-nand
+bootargs=root=/dev/fit0 rootwait
+bootcmd=if pstore check ; then run boot_recovery ; else run boot_ubi ; fi
+bootdelay=0
+bootfile=immortalwrt-mediatek-filogic-cmcc_rax3000m-initramfs-recovery.itb
@@ -179,7 +179,7 @@
+ status = "okay";
+ mediatek,gmac-id = <0>;
+ phy-mode = "2500base-x";
+ mediatek,switch = "mt7531";
+ mediatek,switch = "auto";
+ reset-gpios = <&gpio 39 GPIO_ACTIVE_HIGH>;
+
+ fixed-link {
@@ -503,7 +503,7 @@
+ compatible = "ethernet-phy-id03a2.a411";
+ reg = <14>;
+
+ airoha,rx-pol-reverse;
+ airoha,pnswap-rx;
+
+ reset-gpios = <&gpio 49 GPIO_ACTIVE_LOW>;
+ reset-assert-us = <10000>;
@@ -0,0 +1,330 @@
--- /dev/null
+++ b/configs/mt7981_cudy_tr3000-v1_defconfig
@@ -0,0 +1,107 @@
+CONFIG_ARM=y
+CONFIG_SYS_HAS_NONCACHED_MEMORY=y
+CONFIG_POSITION_INDEPENDENT=y
+CONFIG_ARCH_MEDIATEK=y
+CONFIG_TEXT_BASE=0x41e00000
+CONFIG_SYS_MALLOC_F_LEN=0x4000
+CONFIG_NR_DRAM_BANKS=1
+CONFIG_DEFAULT_DEVICE_TREE="mt7981-cudy-tr3000-v1"
+CONFIG_OF_LIBFDT_OVERLAY=y
+CONFIG_TARGET_MT7981=y
+CONFIG_PRE_CON_BUF_ADDR=0x4007EF00
+CONFIG_DEBUG_UART_BASE=0x11002000
+CONFIG_DEBUG_UART_CLOCK=40000000
+CONFIG_SYS_LOAD_ADDR=0x46000000
+CONFIG_DEBUG_UART=y
+CONFIG_FIT=y
+CONFIG_BOOTDELAY=30
+CONFIG_AUTOBOOT_KEYED=y
+CONFIG_AUTOBOOT_MENU_SHOW=y
+CONFIG_DEFAULT_FDT_FILE="mediatek/mt7981-cudy-tr3000-v1.dtb"
+CONFIG_LOGLEVEL=7
+CONFIG_PRE_CONSOLE_BUFFER=y
+CONFIG_LOG=y
+CONFIG_BOARD_LATE_INIT=y
+CONFIG_HUSH_PARSER=y
+CONFIG_SYS_PROMPT="MT7981> "
+CONFIG_CMD_CPU=y
+CONFIG_CMD_LICENSE=y
+CONFIG_CMD_BOOTMENU=y
+CONFIG_CMD_ASKENV=y
+CONFIG_CMD_ERASEENV=y
+CONFIG_CMD_ENV_FLAGS=y
+CONFIG_CMD_STRINGS=y
+CONFIG_CMD_DM=y
+CONFIG_CMD_GPIO=y
+CONFIG_CMD_GPT=y
+CONFIG_CMD_MTD=y
+CONFIG_CMD_PART=y
+CONFIG_CMD_DHCP=y
+CONFIG_CMD_TFTPSRV=y
+CONFIG_CMD_RARP=y
+CONFIG_CMD_PING=y
+CONFIG_CMD_CDP=y
+CONFIG_CMD_SNTP=y
+CONFIG_CMD_DNS=y
+CONFIG_CMD_LINK_LOCAL=y
+CONFIG_CMD_PXE=y
+CONFIG_CMD_CACHE=y
+CONFIG_CMD_PSTORE=y
+CONFIG_CMD_PSTORE_MEM_ADDR=0x42ff0000
+CONFIG_CMD_UUID=y
+CONFIG_CMD_HASH=y
+CONFIG_CMD_SMC=y
+CONFIG_CMD_UBI=y
+CONFIG_CMD_UBI_RENAME=y
+CONFIG_OF_EMBED=y
+CONFIG_ENV_OVERWRITE=y
+CONFIG_ENV_IS_IN_UBI=y
+CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
+CONFIG_ENV_UBI_PART="ubi"
+CONFIG_ENV_UBI_VOLUME="ubootenv"
+CONFIG_ENV_UBI_VOLUME_REDUND="ubootenv2"
+CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_DEFAULT_ENV_FILE=y
+CONFIG_DEFAULT_ENV_FILE="cudy_tr3000-v1_env"
+CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
+CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RANDOM_ETHADDR=y
+CONFIG_NETCONSOLE=y
+CONFIG_USE_IPADDR=y
+CONFIG_IPADDR="192.168.1.1"
+CONFIG_USE_SERVERIP=y
+CONFIG_SERVERIP="192.168.1.254"
+CONFIG_REGMAP=y
+CONFIG_SYSCON=y
+CONFIG_BUTTON=y
+CONFIG_BUTTON_GPIO=y
+CONFIG_CLK=y
+CONFIG_GPIO_HOG=y
+CONFIG_LED=y
+CONFIG_LED_BLINK=y
+CONFIG_LED_GPIO=y
+# CONFIG_MMC is not set
+CONFIG_MTD=y
+CONFIG_DM_MTD=y
+CONFIG_MTD_SPI_NAND=y
+CONFIG_MTD_UBI_FASTMAP=y
+CONFIG_PHY_FIXED=y
+CONFIG_MEDIATEK_ETH=y
+CONFIG_PHY=y
+CONFIG_PINCTRL=y
+CONFIG_PINCONF=y
+CONFIG_PINCTRL_MT7981=y
+CONFIG_POWER_DOMAIN=y
+CONFIG_MTK_POWER_DOMAIN=y
+CONFIG_DM_REGULATOR=y
+CONFIG_DM_REGULATOR_FIXED=y
+CONFIG_DM_REGULATOR_GPIO=y
+CONFIG_RAM=y
+CONFIG_DM_SERIAL=y
+CONFIG_MTK_SERIAL=y
+CONFIG_SPI=y
+CONFIG_DM_SPI=y
+CONFIG_MTK_SPIM=y
+CONFIG_ZSTD=y
+CONFIG_HEXDUMP=y
+CONFIG_LMB_MAX_REGIONS=64
--- /dev/null
+++ b/arch/arm/dts/mt7981-cudy-tr3000-v1.dts
@@ -0,0 +1,160 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+/dts-v1/;
+#include "mt7981.dtsi"
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/linux-event-codes.h>
+
+/ {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ model = "Cudy TR3000 v1";
+ compatible = "mediatek,mt7981", "mediatek,mt7981-rfb";
+
+ chosen {
+ stdout-path = &uart0;
+ tick-timer = &timer0;
+ };
+
+ memory@40000000 {
+ device_type = "memory";
+ reg = <0x40000000 0x20000000>;
+ };
+
+ gpio-keys {
+ compatible = "gpio-keys";
+
+ button-reset {
+ label = "reset";
+ linux,code = <KEY_RESTART>;
+ gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
+ };
+
+ button-mode {
+ label = "mode";
+ linux,code = <EV_SW>;
+ linux,input-type = <BTN_0>;
+ gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
+ debounce-interval = <60>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ led_status: led-0 {
+ label = "red:power";
+ gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
+ default-state = "on";
+ };
+
+ led-1 {
+ label = "white:status";
+ gpios = <&gpio 10 GPIO_ACTIVE_LOW>;
+ default-state = "off";
+ };
+ };
+};
+
+&eth {
+ status = "okay";
+ mediatek,gmac-id = <1>;
+ phy-mode = "gmii";
+ phy-handle = <&phy0>;
+
+ mdio {
+ phy0: ethernet-phy@0 {
+ compatible = "ethernet-phy-id03a2.9461";
+ reg = <0x0>;
+ phy-mode = "gmii";
+ };
+ };
+};
+
+&pinctrl {
+ spi_flash_pins: spi0-pins-func-1 {
+ mux {
+ function = "flash";
+ groups = "spi0", "spi0_wp_hold";
+ };
+
+ conf-pu {
+ pins = "SPI0_CS", "SPI0_HOLD", "SPI0_WP";
+ drive-strength = <MTK_DRIVE_8mA>;
+ bias-pull-up = <MTK_PUPD_SET_R1R0_00>;
+ };
+
+ conf-pd {
+ pins = "SPI0_CLK", "SPI0_MOSI", "SPI0_MISO";
+ drive-strength = <MTK_DRIVE_8mA>;
+ bias-pull-down = <MTK_PUPD_SET_R1R0_00>;
+ };
+ };
+};
+
+&spi0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&spi_flash_pins>;
+ status = "okay";
+ must_tx;
+ enhance_timing;
+ dma_ext;
+ ipm_design;
+ support_quad;
+ tick_dly = <2>;
+ sample_sel = <0>;
+
+ spi_nand@0 {
+ compatible = "spi-nand";
+ reg = <0>;
+ spi-max-frequency = <52000000>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "bl2";
+ reg = <0x0 0x100000>;
+ };
+
+ partition@100000 {
+ label = "u-boot-env";
+ reg = <0x100000 0x80000>;
+ };
+
+ partition@180000 {
+ label = "factory";
+ reg = <0x180000 0x200000>;
+ };
+
+ partition@380000 {
+ label = "bdinfo";
+ reg = <0x380000 0x40000>;
+ };
+
+ partition@3c0000 {
+ label = "fip";
+ reg = <0x3c0000 0x200000>;
+ };
+
+ partition@5c0000 {
+ label = "ubi";
+ reg = <0x5c0000 0x7a40000>;
+ compatible = "linux,ubi";
+ };
+ };
+ };
+};
+
+&uart0 {
+ mediatek,force-highspeed;
+ status = "okay";
+};
+
+&watchdog {
+ status = "disabled";
+};
--- /dev/null
+++ b/cudy_tr3000-v1_env
@@ -0,0 +1,54 @@
+ipaddr=192.168.1.1
+serverip=192.168.1.254
+loadaddr=0x46000000
+console=earlycon=uart8250,mmio32,0x11002000 console=ttyS0
+bootcmd=if pstore check ; then run boot_recovery ; else run boot_ubi ; fi
+bootconf=config-1
+bootdelay=0
+bootfile=immortalwrt-mediatek-filogic-cudy_tr3000-v1-ubootmod-initramfs-recovery.itb
+bootfile_bl2=immortalwrt-mediatek-filogic-cudy_tr3000-v1-ubootmod-preloader.bin
+bootfile_fip=immortalwrt-mediatek-filogic-cudy_tr3000-v1-ubootmod-bl31-uboot.fip
+bootfile_upg=immortalwrt-mediatek-filogic-cudy_tr3000-v1-ubootmod-squashfs-sysupgrade.itb
+bootled_pwr=red:power
+bootled_rec=white:status
+bootmenu_confirm_return=askenv - Press ENTER to return to menu ; bootmenu 60
+bootmenu_default=0
+bootmenu_delay=0
+bootmenu_title= ( ( ( OpenWrt ) ) )
+bootmenu_0=Initialize environment.=run _firstboot
+bootmenu_0d=Run default boot command.=run boot_default
+bootmenu_1=Boot system via TFTP.=run boot_tftp ; run bootmenu_confirm_return
+bootmenu_2=Boot production system from NAND.=run boot_production ; run bootmenu_confirm_return
+bootmenu_3=Boot recovery system from NAND.=run boot_recovery ; run bootmenu_confirm_return
+bootmenu_4=Load production system via TFTP then write to NAND.=setenv noboot 1 ; setenv replacevol 1 ; run boot_tftp_production ; setenv noboot ; setenv replacevol ; run bootmenu_confirm_return
+bootmenu_5=Load recovery system via TFTP then write to NAND.=setenv noboot 1 ; setenv replacevol 1 ; run boot_tftp_recovery ; setenv noboot ; setenv replacevol ; run bootmenu_confirm_return
+bootmenu_6=Load BL31+U-Boot FIP via TFTP then write to NAND.=run boot_tftp_write_fip ; run bootmenu_confirm_return
+bootmenu_7=Load BL2 preloader via TFTP then write to NAND.=run boot_tftp_write_bl2 ; run bootmenu_confirm_return
+bootmenu_8=Reboot.=reset
+bootmenu_9=Reset all settings to factory defaults.=run reset_factory ; reset
+boot_first=if button reset ; then led $bootled_rec on ; run boot_tftp_recovery ; setenv flag_recover 1 ; run boot_default ; fi ; bootmenu
+boot_default=if env exists flag_recover ; then else run bootcmd ; fi ; run boot_recovery ; setenv replacevol 1 ; run boot_tftp_forever
+boot_production=led $bootled_pwr on ; run ubi_read_production && bootm $loadaddr#$bootconf ; led $bootled_pwr off
+boot_recovery=led $bootled_rec on ; run ubi_read_recovery && bootm $loadaddr#$bootconf ; led $bootled_rec off
+boot_ubi=run boot_production ; run boot_recovery ; run boot_tftp_forever
+boot_tftp_forever=led $bootled_rec on ; while true ; do run boot_tftp_recovery ; sleep 1 ; done
+boot_tftp_production=tftpboot $loadaddr $bootfile_upg && env exists replacevol && iminfo $loadaddr && run ubi_write_production ; if env exists noboot ; then else bootm $loadaddr#$bootconf ; fi
+boot_tftp_recovery=tftpboot $loadaddr $bootfile && env exists replacevol && iminfo $loadaddr && run ubi_write_recovery ; if env exists noboot ; then else bootm $loadaddr#$bootconf ; fi
+boot_tftp=tftpboot $loadaddr $bootfile && bootm $loadaddr#$bootconf
+boot_tftp_write_fip=tftpboot $loadaddr $bootfile_fip && run mtd_write_fip && run reset_factory
+boot_tftp_write_bl2=tftpboot $loadaddr $bootfile_bl2 && run mtd_write_bl2
+reset_factory=ubi part ubi ; mw $loadaddr 0x0 0x800 ; ubi write $loadaddr ubootenv 0x800 ; ubi write $loadaddr ubootenv2 0x800
+mtd_write_fip=mtd erase fip && mtd write fip $loadaddr
+mtd_write_bl2=mtd erase bl2 && mtd write bl2 $loadaddr
+ubi_create_env=ubi check ubootenv || ubi create ubootenv 0x100000 dynamic || run ubi_format ; ubi check ubootenv2 || ubi create ubootenv2 0x100000 dynamic || run ubi_format
+ubi_format=ubi detach ; mtd erase ubi && ubi part ubi ; reset
+ubi_prepare_rootfs=if ubi check rootfs_data ; then else if env exists rootfs_data_max ; then ubi create rootfs_data $rootfs_data_max dynamic || ubi create rootfs_data - dynamic ; else ubi create rootfs_data - dynamic ; fi ; fi
+ubi_read_production=ubi read $loadaddr fit && iminfo $loadaddr && run ubi_prepare_rootfs
+ubi_read_recovery=ubi check recovery && ubi read $loadaddr recovery
+ubi_remove_rootfs=ubi check rootfs_data && ubi remove rootfs_data
+ubi_write_production=ubi check fit && ubi remove fit ; run ubi_remove_rootfs ; ubi create fit $filesize dynamic && ubi write $loadaddr fit $filesize
+ubi_write_recovery=ubi check recovery && ubi remove recovery ; run ubi_remove_rootfs ; ubi create recovery $filesize dynamic && ubi write $loadaddr recovery $filesize
+_init_env=setenv _init_env ; run ubi_create_env ; saveenv ; saveenv
+_firstboot=setenv _firstboot ; run _switch_to_menu ; run _init_env ; run boot_first
+_switch_to_menu=setenv _switch_to_menu ; setenv bootdelay 3 ; setenv bootmenu_delay 3 ; setenv bootmenu_0 $bootmenu_0d ; setenv bootmenu_0d ; run _bootmenu_update_title
+_bootmenu_update_title=setenv _bootmenu_update_title ; setenv bootmenu_title "$bootmenu_title $ver"
@@ -0,0 +1,334 @@
--- /dev/null
+++ b/configs/mt7981_netis_nx31_defconfig
@@ -0,0 +1,106 @@
+CONFIG_ARM=y
+CONFIG_SYS_HAS_NONCACHED_MEMORY=y
+CONFIG_POSITION_INDEPENDENT=y
+CONFIG_ARCH_MEDIATEK=y
+CONFIG_TEXT_BASE=0x41e00000
+CONFIG_SYS_MALLOC_F_LEN=0x4000
+CONFIG_NR_DRAM_BANKS=1
+CONFIG_DEFAULT_DEVICE_TREE="mt7981-netis_nx31"
+CONFIG_OF_LIBFDT_OVERLAY=y
+CONFIG_TARGET_MT7981=y
+CONFIG_SYS_LOAD_ADDR=0x46000000
+CONFIG_PRE_CON_BUF_ADDR=0x4007ef00
+CONFIG_DEBUG_UART_BASE=0x11002000
+CONFIG_DEBUG_UART_CLOCK=40000000
+CONFIG_DEBUG_UART=y
+CONFIG_FIT=y
+CONFIG_BOOTDELAY=30
+CONFIG_AUTOBOOT_KEYED=y
+CONFIG_AUTOBOOT_MENU_SHOW=y
+CONFIG_DEFAULT_FDT_FILE="mediatek/mt7981-netis_nx31.dtb"
+CONFIG_LOGLEVEL=7
+CONFIG_PRE_CONSOLE_BUFFER=y
+CONFIG_LOG=y
+CONFIG_BOARD_LATE_INIT=y
+CONFIG_HUSH_PARSER=y
+CONFIG_SYS_PROMPT="MT7981> "
+CONFIG_CMD_CPU=y
+CONFIG_CMD_LICENSE=y
+CONFIG_CMD_BOOTMENU=y
+CONFIG_CMD_ASKENV=y
+CONFIG_CMD_ERASEENV=y
+CONFIG_CMD_ENV_FLAGS=y
+CONFIG_CMD_STRINGS=y
+CONFIG_CMD_DM=y
+CONFIG_CMD_GPIO=y
+CONFIG_CMD_GPT=y
+CONFIG_CMD_MTD=y
+CONFIG_CMD_PART=y
+CONFIG_CMD_TFTPSRV=y
+CONFIG_CMD_RARP=y
+CONFIG_CMD_CDP=y
+CONFIG_CMD_SNTP=y
+CONFIG_CMD_LINK_LOCAL=y
+CONFIG_CMD_DHCP=y
+CONFIG_CMD_DNS=y
+CONFIG_CMD_PING=y
+CONFIG_CMD_PXE=y
+CONFIG_CMD_CACHE=y
+CONFIG_CMD_PSTORE=y
+CONFIG_CMD_PSTORE_MEM_ADDR=0x42ff0000
+CONFIG_CMD_UUID=y
+CONFIG_CMD_HASH=y
+CONFIG_CMD_SMC=y
+CONFIG_CMD_UBI=y
+CONFIG_CMD_UBI_RENAME=y
+CONFIG_OF_EMBED=y
+CONFIG_ENV_OVERWRITE=y
+CONFIG_ENV_IS_IN_UBI=y
+CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
+CONFIG_ENV_UBI_PART="ubi"
+CONFIG_ENV_UBI_VOLUME="ubootenv"
+CONFIG_ENV_UBI_VOLUME_REDUND="ubootenv2"
+CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_DEFAULT_ENV_FILE=y
+CONFIG_DEFAULT_ENV_FILE="defenvs/netis_nx31_env"
+CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
+CONFIG_VERSION_VARIABLE=y
+CONFIG_NETCONSOLE=y
+CONFIG_USE_IPADDR=y
+CONFIG_IPADDR="192.168.1.1"
+CONFIG_USE_SERVERIP=y
+CONFIG_SERVERIP="192.168.1.254"
+CONFIG_NET_RANDOM_ETHADDR=y
+CONFIG_BUTTON=y
+CONFIG_BUTTON_GPIO=y
+CONFIG_CLK=y
+CONFIG_GPIO_HOG=y
+CONFIG_LED=y
+CONFIG_LED_BLINK=y
+CONFIG_LED_GPIO=y
+# CONFIG_MMC is not set
+CONFIG_MTD=y
+CONFIG_DM_MTD=y
+CONFIG_MTD_SPI_NAND=y
+CONFIG_MTD_UBI_FASTMAP=y
+CONFIG_PHY_FIXED=y
+CONFIG_MEDIATEK_ETH=y
+CONFIG_PHY=y
+CONFIG_PHY_MTK_TPHY=y
+CONFIG_PINCTRL=y
+CONFIG_PINCONF=y
+CONFIG_PINCTRL_MT7981=y
+CONFIG_POWER_DOMAIN=y
+CONFIG_MTK_POWER_DOMAIN=y
+CONFIG_DM_REGULATOR=y
+CONFIG_DM_REGULATOR_FIXED=y
+CONFIG_DM_REGULATOR_GPIO=y
+CONFIG_RAM=y
+CONFIG_DM_SERIAL=y
+CONFIG_SERIAL_RX_BUFFER=y
+CONFIG_MTK_SERIAL=y
+CONFIG_SPI=y
+CONFIG_DM_SPI=y
+CONFIG_MTK_SPIM=y
+CONFIG_ZSTD=y
+CONFIG_HEXDUMP=y
--- /dev/null
+++ b/arch/arm/dts/mt7981-netis_nx31.dts
@@ -0,0 +1,162 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2025
+ * Author: Mikhail Zhilkin <csharper2005@gmail.com>
+ */
+
+/dts-v1/;
+#include "mt7981.dtsi"
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/linux-event-codes.h>
+
+/ {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ model = "netis NX31";
+ compatible = "netis,nx31", "mediatek,mt7981";
+
+ chosen {
+ stdout-path = &uart0;
+ tick-timer = &timer0;
+ };
+
+ memory@40000000 {
+ device_type = "memory";
+ reg = <0x40000000 0x10000000>;
+ };
+
+ keys {
+ compatible = "gpio-keys";
+
+ button-0 {
+ label = "mesh";
+ linux,code = <BTN_0>;
+ gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
+ };
+
+ button-1 {
+ label = "reset";
+ linux,code = <KEY_RESTART>;
+ gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ led-0 {
+ label = "blue:wlan2g";
+ gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
+ };
+
+ led-1 {
+ label = "blue:status";
+ gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
+ };
+
+ led-2 {
+ label = "blue:wan";
+ gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
+ };
+
+ led-3 {
+ label = "blue:wlan5g";
+ gpios = <&gpio 34 GPIO_ACTIVE_LOW>;
+ };
+ };
+};
+
+&uart0 {
+ mediatek,force-highspeed;
+ status = "okay";
+};
+
+&eth {
+ status = "okay";
+ mediatek,gmac-id = <0>;
+ phy-mode = "2500base-x";
+ mediatek,switch = "mt7531";
+ reset-gpios = <&gpio 39 GPIO_ACTIVE_HIGH>;
+
+ fixed-link {
+ speed = <2500>;
+ full-duplex;
+ };
+};
+
+&pinctrl {
+ spi_flash_pins: spi0-pins-func-1 {
+ mux {
+ function = "flash";
+ groups = "spi0", "spi0_wp_hold";
+ };
+
+ conf-pu {
+ pins = "SPI0_CS", "SPI0_HOLD", "SPI0_WP";
+ drive-strength = <MTK_DRIVE_8mA>;
+ bias-pull-up = <MTK_PUPD_SET_R1R0_11>;
+ };
+
+ conf-pd {
+ pins = "SPI0_CLK", "SPI0_MOSI", "SPI0_MISO";
+ drive-strength = <MTK_DRIVE_8mA>;
+ bias-pull-down = <MTK_PUPD_SET_R1R0_11>;
+ };
+ };
+};
+
+&spi0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&spi_flash_pins>;
+ status = "okay";
+ must_tx;
+ enhance_timing;
+ dma_ext;
+ ipm_design;
+ support_quad;
+ tick_dly = <2>;
+ sample_sel = <0>;
+
+ spi_nand@0 {
+ compatible = "spi-nand";
+ reg = <0>;
+ spi-max-frequency = <52000000>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "BL2";
+ reg = <0x0 0x100000>;
+ };
+
+ partition@100000 {
+ label = "u-boot-env (unused)";
+ reg = <0x100000 0x80000>;
+ };
+
+ partition@160000 {
+ label = "Factory";
+ reg = <0x180000 0x200000>;
+ };
+
+ partition@380000 {
+ label = "FIP";
+ reg = <0x380000 0x200000>;
+ };
+
+ partition@580000 {
+ label = "ubi";
+ reg = <0x580000 0x7a80000>;
+ };
+ };
+ };
+};
+
+&watchdog {
+ status = "disabled";
+};
--- /dev/null
+++ b/defenvs/netis_nx31_env
@@ -0,0 +1,57 @@
+ipaddr=192.168.1.1
+serverip=192.168.1.254
+loadaddr=0x46000000
+console=earlycon=uart8250,mmio32,0x11002000 console=ttyS0
+bootcmd=run check_buttons ; if pstore check ; then run boot_recovery ; else run boot_ubi ; fi
+bootconf=config-1
+bootdelay=0
+bootfile=immortalwrt-mediatek-filogic-netis_nx31-initramfs-recovery.itb
+bootfile_bl2=immortalwrt-mediatek-filogic-netis_nx31-preloader.bin
+bootfile_fip=immortalwrt-mediatek-filogic-netis_nx31-bl31-uboot.fip
+bootfile_upg=immortalwrt-mediatek-filogic-netis_nx31-squashfs-sysupgrade.itb
+bootled_status=blue:status
+bootmenu_confirm_return=askenv - Press ENTER to return to menu ; bootmenu 60
+bootmenu_default=0
+bootmenu_delay=0
+bootmenu_title= ( ( ( OpenWrt ) ) )
+bootmenu_0=Initialize environment.=run _firstboot
+bootmenu_0d=Run default boot command.=run boot_default
+bootmenu_1=Boot system via TFTP.=run boot_tftp ; run bootmenu_confirm_return
+bootmenu_2=Boot production system from NAND.=run boot_production ; run bootmenu_confirm_return
+bootmenu_3=Boot recovery system from NAND.=run boot_recovery ; run bootmenu_confirm_return
+bootmenu_4=Load production system via TFTP then write to NAND.=setenv noboot 1 ; setenv replacevol 1 ; run boot_tftp_production ; setenv noboot ; setenv replacevol ; run bootmenu_confirm_return
+bootmenu_5=Load recovery system via TFTP then write to NAND.=setenv noboot 1 ; setenv replacevol 1 ; run boot_tftp_recovery ; setenv noboot ; setenv replacevol ; run bootmenu_confirm_return
+bootmenu_6=Load BL31+U-Boot FIP via TFTP then write to NAND.=run boot_tftp_write_fip ; run bootmenu_confirm_return
+bootmenu_7=Load BL2 preloader via TFTP then write to NAND.=run boot_tftp_write_bl2 ; run bootmenu_confirm_return
+bootmenu_8=Reboot.=reset
+bootmenu_9=Reset all settings to factory defaults.=run reset_factory ; reset
+boot_first=if button reset ; then led $bootled_status on ; run boot_default ; fi ; bootmenu
+boot_default=if env exists flag_recover ; then else run bootcmd ; fi ; run boot_recovery ; setenv replacevol 1 ; run boot_tftp_forever
+boot_production=led $bootled_status on ; run ubi_read_production && bootm $loadaddr#$bootconf ; led bootled_status off
+boot_recovery=led $bootled_status on ; run ubi_read_recovery && bootm $loadaddr#$bootconf ; led bootled_status off
+boot_ubi=run boot_production ; run boot_recovery ; run boot_tftp_forever
+boot_tftp_forever=led $bootled_status on ; while true ; do run boot_tftp ; sleep 1 ; done
+boot_tftp_production=tftpboot $loadaddr $bootfile_upg && env exists replacevol && iminfo $loadaddr && run ubi_write_production ; if env exists noboot ; then else bootm $loadaddr#$bootconf ; fi
+boot_tftp_recovery=tftpboot $loadaddr $bootfile && env exists replacevol && iminfo $loadaddr && run ubi_write_recovery ; if env exists noboot ; then else bootm $loadaddr#$bootconf ; fi
+boot_tftp=tftpboot $loadaddr $bootfile && bootm $loadaddr#$bootconf
+boot_tftp_write_fip=tftpboot $loadaddr $bootfile_fip && run mtd_write_fip && run reset_factory
+boot_tftp_write_bl2=tftpboot $loadaddr $bootfile_bl2 && run mtd_write_bl2
+check_buttons=if button reset ; then run boot_tftp ; fi
+ethaddr_factory=mtd read Factory 0x40080000 0x1e0000 0x20000 && env readmem -b ethaddr 0x4009ef20 0x6 ; setenv ethaddr_factory
+part_default=production
+part_recovery=recovery
+reset_factory=ubi part ubi ; mw $loadaddr 0x0 0x800 ; ubi write $loadaddr ubootenv 0x800 ; ubi write $loadaddr ubootenv2 0x800
+mtd_write_fip=mtd erase FIP && mtd write FIP $loadaddr
+mtd_write_bl2=mtd erase BL2 && mtd write BL2 $loadaddr
+ubi_create_env=ubi check ubootenv || ubi create ubootenv 0x100000 dynamic || run ubi_format ; ubi check ubootenv2 || ubi create ubootenv2 0x100000 dynamic || run ubi_format
+ubi_format=ubi detach ; mtd erase ubi && ubi part ubi ; reset
+ubi_prepare_rootfs=if ubi check rootfs_data ; then else if env exists rootfs_data_max ; then ubi create rootfs_data $rootfs_data_max dynamic || ubi create rootfs_data - dynamic ; else ubi create rootfs_data - dynamic ; fi ; fi
+ubi_read_production=ubi read $loadaddr fit && iminfo $loadaddr && run ubi_prepare_rootfs
+ubi_read_recovery=ubi check recovery && ubi read $loadaddr recovery
+ubi_remove_rootfs=ubi check rootfs_data && ubi remove rootfs_data
+ubi_write_production=ubi check fit && ubi remove fit ; run ubi_remove_rootfs ; ubi create fit $filesize dynamic && ubi write $loadaddr fit $filesize
+ubi_write_recovery=ubi check recovery && ubi remove recovery ; run ubi_remove_rootfs ; ubi create recovery $filesize dynamic && ubi write $loadaddr recovery $filesize
+_init_env=setenv _init_env ; run ubi_create_env ; saveenv ; saveenv
+_firstboot=setenv _firstboot ; run ethaddr_factory ; run _switch_to_menu ; run _init_env ; run boot_first
+_switch_to_menu=setenv _switch_to_menu ; setenv bootdelay 3 ; setenv bootmenu_delay 3 ; setenv bootmenu_0 $bootmenu_0d ; setenv bootmenu_0d ; run _bootmenu_update_title
+_bootmenu_update_title=setenv _bootmenu_update_title ; setenv bootmenu_title "$bootmenu_title $ver"
@@ -278,10 +278,10 @@
+bootcmd=if pstore check ; then run boot_recovery ; else run boot_ubi ; fi
+bootconf=config-1
+bootdelay=0
+bootfile=immortalwrt-mediatek-filogic-cmcc_a10-initramfs-recovery.itb
+bootfile_bl2=immortalwrt-mediatek-filogic-cmcc_a10-preloader.bin
+bootfile_fip=immortalwrt-mediatek-filogic-cmcc_a10-bl31-uboot.fip
+bootfile_upg=immortalwrt-mediatek-filogic-cmcc_a10-squashfs-sysupgrade.itb
+bootfile=immortalwrt-mediatek-filogic-cmcc_a10-ubootmod-initramfs-recovery.itb
+bootfile_bl2=immortalwrt-mediatek-filogic-cmcc_a10-ubootmod-preloader.bin
+bootfile_fip=immortalwrt-mediatek-filogic-cmcc_a10-ubootmod-bl31-uboot.fip
+bootfile_upg=immortalwrt-mediatek-filogic-cmcc_a10-ubootmod-squashfs-sysupgrade.itb
+bootled_pwr=red:status
+bootled_rec=blue:status
+bootmenu_confirm_return=askenv - Press ENTER to return to menu ; bootmenu 60

Some files were not shown because too many files have changed in this diff Show More