openwrt/staging/blocktrron.git
15 months agohostapd: fix more AP+STA issues
Felix Fietkau [Thu, 14 Sep 2023 17:08:34 +0000 (19:08 +0200)]
hostapd: fix more AP+STA issues

When STA is disconnected, ensure that the interface is in a cleanly stopped
state:
 - if in regular enable/disable state, stop beacons if necessary
 - in any other state, disable the interface

When the STA is up, ignore repeated start commands for the same channel, in
order to avoid unnecessary AP restarts

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agohostapd: fix more dynamic reload issues
Felix Fietkau [Thu, 14 Sep 2023 11:35:17 +0000 (13:35 +0200)]
hostapd: fix more dynamic reload issues

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agomac80211: fix AP reconfiguration on DFS channels in non-ETSI regdomain
Felix Fietkau [Thu, 14 Sep 2023 11:28:14 +0000 (13:28 +0200)]
mac80211: fix AP reconfiguration on DFS channels in non-ETSI regdomain

Allow grace period for DFS available after shutting down beacons on the channel

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agohostapd: add missing return statement
Felix Fietkau [Wed, 13 Sep 2023 20:57:47 +0000 (22:57 +0200)]
hostapd: add missing return statement

Avoids crash due to uninitialized stack/register garbage

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agomac80211: only add the mbssid option to the config when set
Felix Fietkau [Wed, 13 Sep 2023 09:00:53 +0000 (11:00 +0200)]
mac80211: only add the mbssid option to the config when set

This avoids errors when the feature is not built into the hostapd binary

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agohostapd: do not modify hapd->started when stopping an AP
Felix Fietkau [Wed, 13 Sep 2023 15:07:17 +0000 (17:07 +0200)]
hostapd: do not modify hapd->started when stopping an AP

It can cause cleanup to be skipped on wifi restart, which can lead to
use-after-free bugs

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agohostapd: update to the latest version
Felix Fietkau [Wed, 13 Sep 2023 09:00:53 +0000 (11:00 +0200)]
hostapd: update to the latest version

8e6485a1bcb0 PEAP client: Update Phase 2 authentication requirements
de9a11f4dde9 TTLS client: Support phase2_auth=2
b2a1e7fe7ab9 tests: PEAP and TTLS phase2_auth behavior
518ae8c7cca8 P2P: Do not print control characters in debug
a4c133ea73c7 WPS: Optimize attribute parsing workaround
7a37a94eaa0d Check whether element parsing has failed
f80d83368818 ACS: Remove invalid debug print
fb2b7858a728 FILS: Fix HE MCS field initialization
50ee26fc7044 P2P: Check p2p_channel_select() return value
a50d1ea6a2b3 Add QCA vendor attributes for user defined power save parameters
4636476b7f22 Set RRM used config if the (Re)Association Request frame has RRM IE
e53d44ac63e8 AP MLD: Use STA assoc link address in external auth status to the driver
99a96b2f9df7 AP MLD: OWE when SME is offloaded to the driver
96deacf5d710 nl80211: Skip STA MLO link channel switch handling in AP mode
d320692d918a AP MLD: Handle new STA event when using SME offload to the driver
faee8b99e928 tests: Fix eht_mld_sae_legacy_client to restore sae_pwe
c3f465c56c94 wlantest: Handle variable length MIC field in EAPOL-Key with OWE
605034240e0c wlantest: Support multiple input files
053bd8af8ed2 Recognize FTE MLO subelements
43b5f11d969a Defragmentation of FTE
3973300b8ded FTE protected element check for MLO Reassociation Response frame
74e4a0a6f1e4 wlantest: Learn AP MLD MAC address from Beacon frames
a5a0b2cf7b1b wlantest: Find non-AP MLD only from affiliated BSSs of the AP MLD
74472758584d wlantest: Recognize non-AP MLD based on any link address for decryption
1ffabd697c67 wlantest: Learn non-AP MLD MAC address from (Re)Association Request frames
4e8e515f92b9 wlantest: Use MLO search for the STA in reassociation
49bf9f2df95a wlantest: Use the MLD MAC address as well for matching STA entries
5434a42ec69c wlantest: Search for FT Target AP using MLD MAC address as well
a19fcf685cae wlantest: Include the MLD MAC address of the AP MLD in new-STA prints
709d46da73da wlantest: Do not claim update to AP MD MAC address if no change
770760454f9e wlantest: Do not update BSS entries for other AP MLDs in PTK cloning
084745ffc508 Add QCA vendor attributes for NDP setup
bf9cbb462fd9 Fix writing of BIGTK in FT protocol
011775af9443 tests: Check for beacon loss when using beacon protection
8f148d51322f Fix a compiler warning on prototype mismatch
b7db495ad9c9 AP: Fix ieee802_1x_ml_set_sta_authorized()
232667eafe0d Fix CCMP test vector issues
30771e6e05ed Include PTID in PV1 nonce construction for CCMP test vector
34841cfd9aba Minor formatting changes to CCMP test vectors
a685d84139e6 BSS coloring: Fix CCA with multiple BSS
bc0636841a70 wpa_supplicant: Fix configuration parsing error for tx_queue_*
2763d1d97e66 hostapd: Fix AID assignment in multiple BSSID
763a19286e2f AP: Add configuration option to specify the desired MLD address
bd209633eb10 AP: Use is_zero_ether_addr() to check if BSSID is NULL
bc0268d053b4 wlantest: Guess SAE/OWE group from EAPOL-Key length mismatch
a94ba5322803 EHT: Support puncturing for 320 MHz channel bandwidth
7e1f5c44c97e EHT: 320 MHz DFS support
6f293b32112a QCA vendor attributes for updating roaming AP BSSID info
5856373554eb Extend QCA vendor command to include more parameters for netdev events
e080930aa0a5 Define QCA vendor roam control RSSI attributes
fe72afe713ad Define QCA vendor attribute for high RSSI roam trigger threshold
47a65ccbfde2 P2P: Clean wpa_s->last_ssid when removing a temporary group network
884125ab7d21 tests: P2P autonomous GO and clearing of networking information
7637d0f25053 P2P: Do not filter pref_freq_list if the driver does not provide one
dd1330b502ff Fix hostapd interface cleanup with multiple interfaces
0a6842d5030e nl80211: Fix beacon rate configuration for legacy rates 36, 48, 54 Mbps
d606efe054d5 tests: Beacon rate configuration for 54 Mbps
f91d10c0e6aa tests: Update RSA 3k certificates
07d3c1177bbb tests: Make sae_proto_hostapd_status_* more robust
1085e3bdc6f6 Update iface->current_mode when fetching new hw_features
338a78846b44 Add a QCA vendor sub command for transmit latency statistics
9318db7c38bc wlantest: Use local variables for AA/SPA in FT Request/Response processing
628b9f10223d wlantest: Derive PMK-R1 and PTK using AA/SPA for MLO FT over-the-DS
104aa291e5c8 wlantest: Fix FT over-the-DS decryption
37c87efecfe3 wlantest: Search SPA using MLO aware find for FT Request/Response frame
19f33d7929e8 wlantest: Learn the Link ID for AP MLD affiliated BSSs
6ae43bb10323 wlantest: Learn link address for assoc link from (Re)Association Request
4c079dcc64da Increment hmac_sha*_vector() maximum num_elem value to 25
e6f64a8e1daf FT: FTE MIC calculation for MLO Reassociation Request frame
a83575df5994 wlantest: FTE MIC calculation for MLO Reassociation Request frames
ff02f734baf8 wlantest: Allow specific link BSS to be found with bss_find_mld()
7381c60db8f0 FT: Make FTE MIC calculation more flexible
ac9bf1cc2a4c Decrement hmac_sha*_vector() maximum num_elem value to 11
aa08d9d76803 Fix use of defragmented FTE information
78b153f90a74 Calculate defragmented FTE length during IE parsing
8cf919ffd5c4 wlantest: FTE MIC calculation for MLO Reassociation Response frame
d12a3dce82a9 wlantest: Store and check SNonce/ANonce for FT Authentication
20febfd7838d wlantest: Dump MLO association information in debug
609864d6a8a1 Add QCA vendor attribute to configure MLD ID in ML probe request
12154861e24a Add support for conversion to little endian for 24 bits
c437665041c0 Add Non EHT SCS Capability in (Re)Association Request frames
33da386553b7 SCS: Add support for QoS Characteristics in SCS request
edfca280cbe8 SCS: Add support for optional QoS Charateristics parameters
32dcec9529ec Send actual MFP configuration when driver takes care of BSS selection
123d16d860fa Update hw_mode when CSA finishes
b3d852560bda Change QCA vendor configure attribution name of peer MAC address
12fabc4765c2 Add QCA vendor attribute for configuring max A-MPDU aggregation count
f6eaa7b729cb Add QCA vendor attribute for TTLM negotiation support type
f6dcd326fea7 wlantest: Indicate ToDS/FromDS values for BSS DATA entries
6ce745bb87d4 wlantest: MLO support for decrypting 4-address frames
850dc1482953 wlantest: Remove duplicated A1/A2/A3 override detection for MLO
770e5a808fbb wlantest: Determine whether A1 points to STA once in rx_data_bss_prot()
377d617b574a Define new BSS command info mask for AP MLD address
d3ab6e001f62 wlantest: Use non-AP MLD's MLD MAC address in FT over-the-air derivation
a845601ffe32 wlantest: Derive PTK in MLO using MLD MAC addresses for FT over-the-air
0cd2bfc8a402 wlantest: Fix FTE MIC calculation for MLO Reassociation Response frames
528abdeb673b wlantest: Learn group keys from MLO FT Reassociation Response frames
990600753dd9 wlantest: Defragment Basic MLE before processing
de043ec01ab5 wlantest: Defragment the Per-STA Profile subelement
bae1ec693c44 wlantest: Minimal parsing of Basic MLE STA Profile
ba1579f3bf7c Clear BIGTK values from wpa_supplicant state machine when not needed
b46c4b9a916a tests: Beacon protection and reconnection
3e71516936b7 Document per-ESS MAC address (mac_addr=3 and mac_value)
f85b2b2dee3b Extend wpa_parse_kde_ies() to include EHT capabilities
e3a68081bc1e driver: Add option for link ID to be specified for send_tdls_mgmt()
c7561502f2e8 nl80211: Use a QCA vendor command to set the link for TDLS Discovery Response
a41c8dbdd84e TDLS: Copy peer's EHT capabilities
626501434be1 TDLS: Learn MLD link ID from TDLS Discovery Response
5f30f62eead7 TDLS: Reply to Discovery Request on the link with matching BSSID
940ef9a05c0f TDLS: Use link-specific BSSID instead of sm->bssid for MLO cases
f429064189c3 TDLS: Set EHT/MLO information for TDLS STA into the driver
dd25885a9daa Remove space-before-tab in QCA vendor related definitions
af6e0306b2a9 Fix typos in QCA vendor related definitions
4c9af238c1e4 Fix inconsistent whitespace use in QCA vendor related definitions
e5ccbfc69ecf Split long comment lines in QCA vendor related definitions

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agohostapd: rework reload support and MAC address handling
Felix Fietkau [Sat, 9 Sep 2023 15:07:09 +0000 (17:07 +0200)]
hostapd: rework reload support and MAC address handling

MAC address and interface name assigned by mac80211.sh depend on the order in
which interfaces are brought up. This order changes when interfaces get added
or removed, which can cause unnecessary reload churn.

One part of the fix it making MAC address allocation more dynamic in both
wpa_supplicant and hostapd, by ignoring the provided MAC address using
the next available one, whenever the config does not explicitly specify one.

The other part is making use of support for renaming netdevs at runtime and
preserving the MAC address for renamed netdevs.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agomac80211: add multiple BSSID support
Felix Fietkau [Thu, 7 Sep 2023 20:11:18 +0000 (22:11 +0200)]
mac80211: add multiple BSSID support

This advertises multiple BSS interfaces in a single set of beacons

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agomac80211: add support for configuring number of globally allocated MAC addresses
Felix Fietkau [Thu, 7 Sep 2023 19:45:11 +0000 (21:45 +0200)]
mac80211: add support for configuring number of globally allocated MAC addresses

When a device has more than one reserved mac address, they can be used for
virtual interfaces without the local bit in the first byte

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agohostapd: move mac address allocation from mac80211.sh to wdev.uc
Felix Fietkau [Wed, 6 Sep 2023 14:58:09 +0000 (16:58 +0200)]
hostapd: move mac address allocation from mac80211.sh to wdev.uc

Preparation for upcoming hostapd reload improvements

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agohostapd: add internal API for renaming AP interfaces
Felix Fietkau [Wed, 6 Sep 2023 08:33:30 +0000 (10:33 +0200)]
hostapd: add internal API for renaming AP interfaces

Will be used for improving reload support

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agohostapd: fix AP+STA configuration with autochannel enabled
Felix Fietkau [Wed, 13 Sep 2023 10:36:15 +0000 (12:36 +0200)]
hostapd: fix AP+STA configuration with autochannel enabled

Properly disable the interface when requested
Disable ACS when bringing it back up on the new channel

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agomac80211: disable automatically created sta interfaces
Felix Fietkau [Wed, 13 Sep 2023 09:56:20 +0000 (11:56 +0200)]
mac80211: disable automatically created sta interfaces

They are not useful for anything on the system and are annoying when a PHY
is disabled in the config

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agohostapd: update interface/bss list after set_config calls
Felix Fietkau [Wed, 13 Sep 2023 08:47:34 +0000 (10:47 +0200)]
hostapd: update interface/bss list after set_config calls

set_config causes the ucode bss resource to be re-created and because of that
the bss list needs to be updated as well

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agomac80211: add missing kernel modules for brcmfmac
Felix Fietkau [Wed, 13 Sep 2023 05:53:39 +0000 (07:53 +0200)]
mac80211: add missing kernel modules for brcmfmac

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agoath11k-firmware: update to stable WLAN.HK.2.9.0.1-01890
Michał Kwiatek [Thu, 24 Aug 2023 10:18:02 +0000 (12:18 +0200)]
ath11k-firmware: update to stable WLAN.HK.2.9.0.1-01890

Changelog from quic:

Bug fixes, stability improvements from previous releases
are present. There are no backward comatibility issues
with this release.

Known issues:
IPV6 connectivity problem, see: https://github.com/openwrt/openwrt/pull/13203#issuecomment-1666947749

Tested-by: Michał Kwiatek <michal@kwiatek.it> # Xiaomi AX3600
Signed-off-by: Michał Kwiatek <michal@kwiatek.it>
15 months agoipq806x: Correct OnHub sysupgrade config logic
Brian Norris [Sun, 10 Sep 2023 21:10:50 +0000 (14:10 -0700)]
ipq806x: Correct OnHub sysupgrade config logic

There's a typo in here: board_name is a function, not a variable. This
issue was pointed out on the OpenWrt forum.

Closes: #13409
Reviewed-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
15 months agomac80211: fix mesh id corruption on 32 bit systems
Felix Fietkau [Tue, 12 Sep 2023 13:17:23 +0000 (15:17 +0200)]
mac80211: fix mesh id corruption on 32 bit systems

increase size of ifmsh->mbss_changed

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agoramips: add support for mtk eip93 crypto engine
Aviana Cruz [Mon, 20 Jun 2022 13:55:45 +0000 (21:55 +0800)]
ramips: add support for mtk eip93 crypto engine

Mediatek EIP93 Crypto engine is a crypto accelerator which
is available in the Mediatek MT7621 SoC.

Signed-off-by: Aviana Cruz <gwencroft@proton.me>
Co-authored-by: Richard van Schagen <vschagen@icloud.com>
Co-authored-by: Chukun Pan <amadeus@jmu.edu.cn>
15 months agobase-files: sysupgrade: Add 2 sec sleep into process KILL loop
Hannu Nyman [Fri, 8 Sep 2023 16:47:01 +0000 (19:47 +0300)]
base-files: sysupgrade: Add 2 sec sleep into process KILL loop

Add 2 seconds sleep after each forcibly killed/tried-to-kill process
in the final process termination loop in sysupgrade stage2.

This is needed especially for qualcommax/ipq807x, where ath11k
wireless driver may have a long 10-20 seconds delay after termination
before actually getting killed. This often breaks sysupgrade.

The current KILL loop in kill_remaining does all 10 kill attempts
consecutively without any delay, as evidenced here in a failing sysupgrade.
It does not allow any time for the process to finalize its internal
termination.

Sat Sep  2 19:05:56 EEST 2023 upgrade: Sending TERM to remaining processes ...
Sat Sep  2 19:05:56 EEST 2023 upgrade: Sending signal TERM to hostapd (2122)
Sat Sep  2 19:05:56 EEST 2023 upgrade: Sending signal TERM to hostapd (2138)
Sat Sep  2 19:06:00 EEST 2023 upgrade: Sending KILL to remaining processes ...
Sat Sep  2 19:06:00 EEST 2023 upgrade: Sending signal KILL to hostapd (2122)
Sat Sep  2 19:06:00 EEST 2023 upgrade: Sending signal KILL to hostapd (2138)
Sat Sep  2 19:06:00 EEST 2023 upgrade: Sending signal KILL to hostapd (2138)
Sat Sep  2 19:06:00 EEST 2023 upgrade: Sending signal KILL to hostapd (2138)
Sat Sep  2 19:06:00 EEST 2023 upgrade: Sending signal KILL to hostapd (2138)
Sat Sep  2 19:06:00 EEST 2023 upgrade: Sending signal KILL to hostapd (2138)
Sat Sep  2 19:06:00 EEST 2023 upgrade: Sending signal KILL to hostapd (2138)
Sat Sep  2 19:06:00 EEST 2023 upgrade: Sending signal KILL to hostapd (2138)
Sat Sep  2 19:06:00 EEST 2023 upgrade: Sending signal KILL to hostapd (2138)
Sat Sep  2 19:06:00 EEST 2023 upgrade: Sending signal KILL to hostapd (2138)
Sat Sep  2 19:06:00 EEST 2023 upgrade: Sending signal KILL to hostapd (2138)
Sat Sep  2 19:06:00 EEST 2023 upgrade: Failed to kill all processes.
sysupgrade aborted with return code: 256

The change in this commit adds a 2 seconds delay after each kill attempt
in order to allow some processes to more gracefully handle their
internal termination.

The result is like this:

Sun Sep  3 11:15:10 EEST 2023 upgrade: Sending TERM to remaining processes ...
Sun Sep  3 11:15:10 EEST 2023 upgrade: Sending signal TERM to hostapd (2309)
Sun Sep  3 11:15:10 EEST 2023 upgrade: Sending signal TERM to hostapd (2324)
Sun Sep  3 11:15:14 EEST 2023 upgrade: Sending KILL to remaining processes ...
Sun Sep  3 11:15:14 EEST 2023 upgrade: Sending signal KILL to hostapd (2309)
[  699.827521] br-lan: port 7(hn5wpa2r) entered disabled state
[  699.908673] device hn5wpa2r left promiscuous mode
[  699.908721] br-lan: port 7(hn5wpa2r) entered disabled state
[  701.038029] br-lan: port 6(hn5wpa3) entered disabled state
Sun Sep  3 11:15:16 EEST 2023 upgrade: Sending signal KILL to hostapd (2324)
[  702.058256] br-lan: port 5(hn2wlan) entered disabled state
[  709.250063] stage2 (8237): drop_caches: 3
Sun Sep  3 11:15:25 EEST 2023 upgrade: Switching to ramdisk...

The delay introduced here only kicks in if there is some process that
does not get terminated by the first TERM call. Then there is at least
one 2 sec wait after the first KILL loop round.

This commit is related to discussion in PRs #12235 and #12632

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Reviewed-by: Robert Marko <robimarko@gmail.com>
15 months agohostapd: fix bringing up AP in AP+mesh configurations
Felix Fietkau [Tue, 12 Sep 2023 12:09:26 +0000 (14:09 +0200)]
hostapd: fix bringing up AP in AP+mesh configurations

Pass the correct frequency + secondary channel offset to hostapd

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agohostapd: clear ucode interface/bss resource pointers
Felix Fietkau [Tue, 12 Sep 2023 11:32:40 +0000 (13:32 +0200)]
hostapd: clear ucode interface/bss resource pointers

Avoids potential use-after-free bugs

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agohostapd: fix applying gratuitous ARP settings with bridge-vlan
Felix Fietkau [Tue, 12 Sep 2023 10:57:52 +0000 (12:57 +0200)]
hostapd: fix applying gratuitous ARP settings with bridge-vlan

The arp_accept setting needs to be applied to the snoop_iface

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agomac80211: add missing dependency for iwlwifi
Felix Fietkau [Tue, 12 Sep 2023 09:18:35 +0000 (11:18 +0200)]
mac80211: add missing dependency for iwlwifi

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agox86: geode: fix hwrng register accesses
Jonas Gorski [Sat, 9 Sep 2023 10:44:42 +0000 (12:44 +0200)]
x86: geode: fix hwrng register accesses

When the membase and pci_dev pointer were moved to a new struct in priv,
the actual membase users were left untouched, and they started reading
out arbitrary memory behind the struct instead of registers. This
unfortunately turned the RNG into a constant number generator, depending
on the content of what was at that offset.

To fix this, update geode_rng_data_{read,present}() to also get the
membase via amd_geode_priv, and properly read from the right addresses
again.

Closes #13417.

Reported-by: Timur I. Davletshin <timur.davletshin@gmail.com>
Tested-by: Timur I. Davletshin <timur.davletshin@gmail.com>
Suggested-by: Jo-Philipp Wich <jo@mein.io>
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
15 months agomac80211: fix build regressions on linux 6.1
Felix Fietkau [Mon, 11 Sep 2023 16:54:04 +0000 (18:54 +0200)]
mac80211: fix build regressions on linux 6.1

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agokernel: backport two fixes for MediaTek Ethernet driver
Daniel Golle [Mon, 11 Sep 2023 11:50:38 +0000 (12:50 +0100)]
kernel: backport two fixes for MediaTek Ethernet driver

Fix PSE port assignment for 3rd GMAC on MT7988 and make sure dma_addr
is always initialized to prevent potentially accessing uninitialized
stack memory in the error path.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
15 months agomac80211: update to version 6.5
Felix Fietkau [Wed, 30 Aug 2023 10:31:44 +0000 (12:31 +0200)]
mac80211: update to version 6.5

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agouboot-envtools: ramips: add support for ALFA Network AX1800RM
Piotr Dymacz [Fri, 28 Jul 2023 10:21:49 +0000 (12:21 +0200)]
uboot-envtools: ramips: add support for ALFA Network AX1800RM

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
15 months agoramips: add support for ALFA Network AX1800RM
Piotr Dymacz [Fri, 28 Jul 2023 09:41:14 +0000 (11:41 +0200)]
ramips: add support for ALFA Network AX1800RM

ALFA Network AX1800RM (FCC ID: 2AB877621) is a dual-band Wi-Fi 6
(AX1800) router, based on MediaTek MT7621A + MT79x5D platform.

Specifications:

- SOC:      MT7621A (880 MHz)
- DRAM:     DDR3 256 MiB (Nanya NT5CC128M16JR-EK)
- Flash:    16 MiB SPI NOR (EN25QH128A-104HIP)
- Ethernet: 4x 10/100/1000 Mbps (SOC's built-in switch)
- Wi-Fi:    2x2:2 2.4/5 GHz (MT7905DAN + MT7975DN)
            (MT7905DAN doesn't support background DFS scan/BT)
- LED:      6x green, 1x green/red
- Buttons:  2x (reset, WPS)
- Antenna:  4x external, non-detachable omnidirectional
- UART:     1x 4-pin (2.54 mm pitch, J4, not populated)
- Power:    12 V DC/1 A (DC jack)

MAC addresses:

LAN:     00:c0:ca:xx:xx:4e (factory 0x4, +2)
WAN:     00:c0:ca:xx:xx:4f (factory 0x4, +3)
2.4 GHz: 00:c0:ca:xx:xx:4c (factory 0x4, device's label)
5 GHz:   00:c0:ca:xx:xx:4c (factory 0xa)

Flash instructions for web-based U-Boot recovery:

1. Power the device with WPS button pressed and wait around 10 seconds.
2. Setup static IP 192.168.1.2/24 on your PC.
3. Go to 192.168.1.1 in browser and upload 'recovery' image.

The device runs LEDE 17.01 (kernel 4.4.x) based firmware with 'failsafe'
mode available which allows alternative upgrade method:

1. Run device in 'failsafe' mode and change password for default user.
2. SSH to the device, transfer 'sysupgrade' image and perform upgrade
   in forced mode, without preserving settings: 'sysupgrade -n -F ...'.

Other notes:

If you own early version of this device, the vendor firmware might
refuse OpenWrt image because of missing custom header. In that case,
ask vendor's customer support for stock firmware without custom header
support/requirement.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
15 months agoarm-trusted-firmware-mediatek: fix hang on reboot on MT7622
Daniel Golle [Sun, 10 Sep 2023 22:39:33 +0000 (23:39 +0100)]
arm-trusted-firmware-mediatek: fix hang on reboot on MT7622

With recent updates of TF-A the previously already fixed bug slipped
back into the source tree. Again, reorder bl2 init for MT7622 and
initialize WDT only after DRAM init has completed to avoid the
notorious hang.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
15 months agouboot-mediatek: sync mtk-snand driver with SDK
Daniel Golle [Fri, 1 Sep 2023 23:54:40 +0000 (00:54 +0100)]
uboot-mediatek: sync mtk-snand driver with SDK

Sync SPI-NAND/ECC controller driver for MT7622, MT7981, MT7986 and MT7988:
 * Platform data for MT7981 was actually missing and is now added.
 * Add support for Winbond W25N01KV 1Gbit chip.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
15 months agoRevert "ath79: use kernel 6.1 as default"
David Bauer [Sat, 9 Sep 2023 06:42:04 +0000 (08:42 +0200)]
Revert "ath79: use kernel 6.1 as default"

This reverts commit c94383de018c561355c5e239524fbefca4aee3aa.

THis commit was not meant to be pushed to main yet.

Signed-off-by: David Bauer <mail@david-bauer.net>
15 months agokernel: bump 6.1 to 6.1.52
John Audia [Thu, 7 Sep 2023 10:07:43 +0000 (06:07 -0400)]
kernel: bump 6.1 to 6.1.52

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

All patches automatically rebased.

Build system: x86/64
Build-tested: x86/64/AMD Cezanne
Run-tested: x86/64/AMD Cezanne

Signed-off-by: John Audia <therealgraysky@proton.me>
15 months agomvebu: cortexa72: enable USB PHY
Tomasz Maciej Nowak [Thu, 7 Sep 2023 15:06:29 +0000 (17:06 +0200)]
mvebu: cortexa72: enable USB PHY

Since kernel 5.13 this is needed to enable USB ports on all devices in
subtarget. Previously TF-A and COMPHY driver might have set up this PHY,
but not anymore.

Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
Tested-by: Robert Marko <robimarko@gmail.com>
15 months agomvebu: refresh 6.1 configs
Tomasz Maciej Nowak [Thu, 7 Sep 2023 15:06:28 +0000 (17:06 +0200)]
mvebu: refresh 6.1 configs

This should be a part of kernel major bump. Fortunately it didn't stall
compilation, so no fixes tag.

Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
15 months agomediatek: add support for Cetron CT3003
Patricia Lee [Wed, 30 Aug 2023 11:50:54 +0000 (19:50 +0800)]
mediatek: add support for Cetron CT3003

**Hardware specification:**

- SoC: MediaTek MT7981B 2x A53
- Flash: ESMT F50L1G41LB 128MB
- RAM: Nanya NT5CC128M16JR-EK 256MB
- Ethernet: 4 x 10/100/1000 Mbps
- Switch: MediaTek MT7531AE
- WiFi: MediaTek MT7976C
- Button: Reset, Mesh
- Power: DC 12V 1A
- UART: 3.3v, 115200n8
  | Layout:   |
  | :-------- |
  | <Antenna> |
  | VCC       |
  | GND       |
  | Tx        |
  | Rx        |

**Flash instructions:**

1. Rename `openwrt-mediatek-filogic-cetron_ct3003-squashfs-factory.bin` to `factory.bin`.
2. Upload the `factory.bin` using the device's Web interface.
3. Click the upgrade button and wait for the process to finish.
4. Access the OpenWrt interface using the same password.
5. Use the 'Restore' function to reset the firmware to its initial state.

**Notes:**

If you plan to recovery the stock firmware in the future, it's advisable
to connect the device via the serial port and enter failsafe mode to
back up all the MTD partitions before proceeding the steps above.

Signed-off-by: Patricia Lee <patricialee320@gmail.com>
15 months agokernel: bump 5.15 to 5.15.131
John Audia [Thu, 7 Sep 2023 10:55:41 +0000 (06:55 -0400)]
kernel: bump 5.15 to 5.15.131

Changelog: https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.15.131

All patches automatically rebased.

Build system: x86_64
Build-tested: ramips/tplink_archer-a6-v3
Run-tested: ramips/tplink_archer-a6-v3

Signed-off-by: John Audia <therealgraysky@proton.me>
15 months agoath79: use kernel 6.1 as default
David Bauer [Fri, 8 Sep 2023 19:00:23 +0000 (21:00 +0200)]
ath79: use kernel 6.1 as default

Signed-off-by: David Bauer <mail@david-bauer.net>
15 months agoath79: enable variable sector size erasure for generic subtarget
Shiji Yang [Tue, 30 May 2023 08:50:09 +0000 (16:50 +0800)]
ath79: enable variable sector size erasure for generic subtarget

Make use of minor sector size (4k) erasure on supported flash chips
to improve spi read/write performance.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
15 months agoath79: backport gpio immutable irq_chip support
Shiji Yang [Sun, 28 May 2023 01:17:34 +0000 (09:17 +0800)]
ath79: backport gpio immutable irq_chip support

This patch converts the driver to immutable irq-chip, which can
silence some gpio warnings.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
15 months agoath79: ignore the abused interrupt-map on PCIe node
Shiji Yang [Wed, 31 May 2023 00:31:18 +0000 (08:31 +0800)]
ath79: ignore the abused interrupt-map on PCIe node

ath79 PCIe interrupt controller has stopped working correctly. This
is because the DT exposing a non-sensical interrupt-map property,
and their drivers relying on the kernel ignoring this property[1].

This patch fixes the PCIe init error:
ath9k 0000:00:00.0: of_irq_parse_pci: failed with rc=-14

Notice:
This is just a workaround, not a fix. PCIe driver and related dts
node need to be rewritten.

[1] https://lore.kernel.org/all/20211201114102.13446-1-maz@kernel.org/

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
15 months agoath79: fix ethernet driver build errors on kernel 6.1
Shiji Yang [Thu, 25 May 2023 10:35:20 +0000 (18:35 +0800)]
ath79: fix ethernet driver build errors on kernel 6.1

Some net APIs have changed on the new kernel. Update them to fix
compile errors.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
15 months agoath79: refresh patches and configs to introduce kernel 6.1 support
Shiji Yang [Wed, 31 May 2023 03:14:04 +0000 (11:14 +0800)]
ath79: refresh patches and configs to introduce kernel 6.1 support

All kernel configs are refreshed by
'make kernel_oldconfig CONFIG_TARGET=target' and
'make kernel_oldconfig CONFIG_TARGET=subtarget'.

upstreamed patches:
010-v5.17-spi-ar934x-fix-transfer-and-word-delays.patch
011-v5.17-spi-ar934x-fix-transfer-size.patch
020-v5.18-spi-ath79-Implement-the-spi_mem-interface.patch
030-v5.18-ath79-add-support-for-booting-QCN550x.patch

build and run tested on:
ath79/generic/ar7241
ath79/generic/qca9563
ath79/nand/ar9344

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
15 months agoath79: copy patches and kernel config from 5.15 to 6.1
Shiji Yang [Wed, 24 May 2023 11:26:37 +0000 (11:26 +0000)]
ath79: copy patches and kernel config from 5.15 to 6.1

This is preparation for kernel 6.1 support.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
15 months agoath79: rename and sort patches by OpenWrt naming rules
Shiji Yang [Wed, 31 May 2023 02:50:04 +0000 (10:50 +0800)]
ath79: rename and sort patches by OpenWrt naming rules

The patches in the ath79 target have not been sorted for a long time
and they are very chaotic now. This patch sorts them again according
to the OpenWrt naming rules[1], so that we can better manage them.

[1] https://openwrt.org/docs/guide-developer/toolchain/use-patches-with-buildsystem#naming_patches

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
15 months agoath79: add missing symbols by refreshing kernel configs
Shiji Yang [Tue, 30 May 2023 07:05:06 +0000 (15:05 +0800)]
ath79: add missing symbols by refreshing kernel configs

Some symbols are outdated or missing due to daily kernel bumps. It's
better to re-add them. All configs are automatically refreshed by
'make kernel_oldconfig CONFIG_TARGET=taget' and
'make kernel_oldconfig CONFIG_TARGET=subtarget'

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
15 months agokernel: switch back to fw_devlink=permissive
Rafał Miłecki [Tue, 19 Jul 2022 04:22:31 +0000 (06:22 +0200)]
kernel: switch back to fw_devlink=permissive

This reverts commit 5356462ce54734afd32fce83ad118c58cfeb2a55.

Kernel switching to fw_devlink=on as default broke probing some devices.
Revert it until we get a proper fix.

It seemed that mtd OF_POPULATED hack resolved probing issues but
apparently not all of them. We got reports about reading MAC using NVMEM
not working and USB controllers not working.

Ref: #10232
Fixes: #13412
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
15 months agomediatek: fix the name of buswidth to bus-width
Chen Minqiang [Fri, 25 Aug 2023 22:38:18 +0000 (06:38 +0800)]
mediatek: fix the name of buswidth to bus-width

Fix the issue of dts buswidth cannot be applied properly with spi driver.
Fix the name of buswidth to bus-width in dts in order to fit the format
in linux spi kernel[1] so that spi-tx-bus-width & spi-rx-bus-width can be
parsed properly.

[1] Documentation/devicetree/bindings/spi/spi-controller.yaml

Signed-off-by: Chen Minqiang <ptpt52@gmail.com>
15 months agorockchip: add support for Radxa ROCK Pi E
Jayantajit Gogoi [Tue, 29 Aug 2023 18:23:30 +0000 (18:23 +0000)]
rockchip: add support for Radxa ROCK Pi E
This adds support for Radxa ROCK Pi E, rockchip rk3328 board.

Specification:

- CPU: Rockchip RK3328 64-bit Quad-core
- RAM: DDR3 256MB ~ 2GB
- Network:
    1 x 10/100/1000M Ethernet
    1 x 10/100M Ethernet
- Storage:
    1 x MicroSD Slot
    1 x eMMC Module Slot
- USB Host/OTG:
    1 x USB3.0 Type A HOST
    1 x USB2.0 HOST (40-pin pin-header)
- Wireless
    RTL8723DU/RTL8821CU
- Debug Serial:
    1500000 baud at UART2 ( 40-pin pin-header)
- Power Supply:
    Type-C 5V
    Optionally PoE

Installation:
- Write image to SD Card or EMMC with dd
- Boot ROCK Pi E from the SD Card

Signed-off-by: Jayantajit Gogoi <jayanta.gogoi525@gmail.com>
15 months agouboot-rockchip: add suport for Radxa ROCK Pi E
Jayantajit Gogoi [Tue, 29 Aug 2023 15:12:28 +0000 (15:12 +0000)]
uboot-rockchip: add suport for Radxa ROCK Pi E

Add uboot support for Radxa ROCK Pi E, rockchip rk3328 board.
Add pre-built files to fix swig dependencies.

Specification:

- CPU: Rockchip RK3328 64-bit Quad-core
- RAM: DDR3 256MB ~ 2GB
- Network:
    1 x 10/100/1000M Ethernet
    1 x 10/100M Ethernet
- USB Host:
    1 x USB3.0 Type A HOST
    1 x USB2.0 OTG (40-pin pin-header)
- Wireless:
    RTL8723DU/RTL8821CU
- Power Supply: Type-C 5V

Installation:
- Write image to SD Card or EMMC with dd
- Boot ROCK Pi E from the SD Card

Signed-off-by: Jayantajit Gogoi <jayanta.gogoi525@gmail.com>
15 months agokernel: backport support for renaming netdevs while up
Felix Fietkau [Mon, 4 Sep 2023 13:28:59 +0000 (15:28 +0200)]
kernel: backport support for renaming netdevs while up

Will be used in upcoming hostapd changes

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agoipq40xx: compress kernel for Magic 2 WiFi next
Thomas Bong [Thu, 31 Aug 2023 08:43:15 +0000 (10:43 +0200)]
ipq40xx: compress kernel for Magic 2 WiFi next

The bootcmd limits the kernel to 4 MiB which is
exceeded when using Device/FitImage. Device/FitzImage
reduces the size to around 3 MiB.

Reviewed-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: Thomas Bong <thomas.bong@devolo.de>
15 months agoipq40xx: convert devolo Magic 2 WiFi next to DSA
Thomas Bong [Thu, 31 Aug 2023 05:39:24 +0000 (07:39 +0200)]
ipq40xx: convert devolo Magic 2 WiFi next to DSA

Renamed the interfaces to match the other devices.
Name the interface connected to the builtin G.hn chip 'ghn'.
This might toggle at runtime while the G.hn chip is in the
bootloader.

Reviewed-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: Thomas Bong <thomas.bong@devolo.de>
15 months agotools/cmake: update to 3.27.4
Hannu Nyman [Sat, 2 Sep 2023 07:12:40 +0000 (10:12 +0300)]
tools/cmake: update to 3.27.4

Update cmake to 3.27.4
No patch refresh needed.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
15 months agowireless-regdb: update to 2023.09.01
Yuu Toriyama [Sat, 2 Sep 2023 07:21:09 +0000 (16:21 +0900)]
wireless-regdb: update to 2023.09.01

Changes:
    9dc0800 wireless-regdb: Update regulatory rules for Philippines (PH)
    111ba89 wireless-regdb: Update regulatory rules for Egypt (EG) from March 2022 guidelines
    ae1421f wireless-regdb: Update regulatory info for Türkiye (TR)
    20e5b73 wireless-regdb: Update regulatory rules for Australia (AU) for June 2023
    991b1ef wireless-regdb: update regulatory database based on preceding changes

Signed-off-by: Yuu Toriyama <PascalCoffeeLake@gmail.com>
15 months agomvebu: add reset delays of PHYs for Fortinet FortiGate 50E
INAGAKI Hiroshi [Sat, 2 Sep 2023 14:06:20 +0000 (23:06 +0900)]
mvebu: add reset delays of PHYs for Fortinet FortiGate 50E

Add reset-(de)assert-us to ethernet PHYs on Fortinet FortiGate 50E to
solve instability after HW resetting of PHYs. (ex.: restarting "network"
service, etc...)

Fixes: #13391
Fixes: 102dc5a62506 ("mvebu: add support for Fortinet FortiGate 50E")
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
15 months agokernel: bump 6.1 to 6.1.51
John Audia [Sat, 2 Sep 2023 11:32:29 +0000 (07:32 -0400)]
kernel: bump 6.1 to 6.1.51

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

No patches needed a rebased.  Update to checksum only.

Build system: x86/64
Build-tested: x86/64/AMD Cezanne
Run-tested: x86/64/AMD Cezanne

Signed-off-by: John Audia <therealgraysky@proton.me>
15 months agokernel: bump 5.15 to 5.15.130
John Audia [Sat, 2 Sep 2023 12:42:48 +0000 (08:42 -0400)]
kernel: bump 5.15 to 5.15.130

Changelog: https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.15.130

No patches needed a rebased. Update to checksum only.

Build system: x86_64
Build-tested: ramips/tplink_archer-a6-v3
Run-tested: ramips/tplink_archer-a6-v3

Signed-off-by: John Audia <therealgraysky@proton.me>
15 months agohostapd: allow adding initial AP without breaking STA interface connection
Felix Fietkau [Sun, 3 Sep 2023 07:51:28 +0000 (09:51 +0200)]
hostapd: allow adding initial AP without breaking STA interface connection

When switching from a STA-only configuration to AP+STA on the same phy, the
STA was previously restarted in order to notify hostapd of the new frequency,
which might not match the AP configuration.
Fix the STA restart by querying the operating frequency from within hostapd
when bringing up the AP.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agohostapd: fix config change detection on boolean values
Felix Fietkau [Sun, 3 Sep 2023 07:51:08 +0000 (09:51 +0200)]
hostapd: fix config change detection on boolean values

Check for null instead of truish value

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agohostapd: fix parsing HT secondary channel offset
Felix Fietkau [Sat, 2 Sep 2023 17:36:21 +0000 (19:36 +0200)]
hostapd: fix parsing HT secondary channel offset

It returned the wrong value when using HT40-

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agohostapd: reset center_seg0_idx for 2.4 GHz
Felix Fietkau [Sat, 2 Sep 2023 17:19:56 +0000 (19:19 +0200)]
hostapd: reset center_seg0_idx for 2.4 GHz

Fixes 40 MHz channel bandwidth on 2.4 GHz AP+STA

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agohostapd: use proper helper functions for setting seg0/seg1 idx and chwidth
Felix Fietkau [Fri, 1 Sep 2023 18:39:15 +0000 (20:39 +0200)]
hostapd: use proper helper functions for setting seg0/seg1 idx and chwidth

Simplifies code and removes #ifdef statements

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agomediatek: fix sysupgrade error for WR30U
Hank Moretti [Mon, 28 Aug 2023 15:45:05 +0000 (15:45 +0000)]
mediatek: fix sysupgrade error for WR30U

The NMBM-Enabled layout did not use fit image,
it just need default process. So it was been removed in platform.sh.

It will fix sysupgrade error for xiaomi,mi-router-wr30u-112m-nmbm.

Signed-off-by: Hank Moretti <mchank9999@gmail.com>
15 months agoscripts/download.pl: remove stale GNOME download sites
Hannu Nyman [Fri, 1 Sep 2023 15:56:49 +0000 (18:56 +0300)]
scripts/download.pl: remove stale GNOME download sites

Remove stale sites from @GNOME alias:
* remove 2 sites that have stale 3 years old content
* remove 2 sites that have dropped GNOME
* convert 2 sites from FTP to HTTP

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
15 months agokernel: bump 6.1 to 6.1.50
John Audia [Wed, 30 Aug 2023 17:45:50 +0000 (13:45 -0400)]
kernel: bump 6.1 to 6.1.50

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

All patches automatically rebased.

Build system: x86/64
Build-tested: x86/64/AMD Cezanne, filogic/xiaomi_redmi-router-ax6000-ubootmod, ipq806x/R7800
Run-tested: x86/64/AMD Cezanne, filogic/xiaomi_redmi-router-ax6000-ubootmod, ipq806x/R7800

Signed-off-by: John Audia <therealgraysky@proton.me>
15 months agokernel: bump 5.15 to 5.15.129
John Audia [Wed, 30 Aug 2023 18:44:05 +0000 (14:44 -0400)]
kernel: bump 5.15 to 5.15.129

Changelog: https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.15.129

All patches automatically rebased.

Build system: x86_64
Build-tested: ramips/tplink_archer-a6-v3
Run-tested: ramips/tplink_archer-a6-v3

Signed-off-by: John Audia <therealgraysky@proton.me>
15 months agoscripts/package-metadata.pl: strip already selected conditions from dependencies
Felix Fietkau [Fri, 1 Sep 2023 17:26:29 +0000 (19:26 +0200)]
scripts/package-metadata.pl: strip already selected conditions from dependencies

When a dependency is pulled in via conditional depends, and the condition
is already selected earlier in the chain, drop the condition.
This avoids some corner cases that trigger recursive dependencies.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agoRevert "scripts/package-metadata.pl: fix handling transitive conditional dependencies"
Felix Fietkau [Fri, 1 Sep 2023 16:34:36 +0000 (18:34 +0200)]
Revert "scripts/package-metadata.pl: fix handling transitive conditional dependencies"

This reverts commit 6c3eff9dd8bb8d0f268e8a0dbedbc6a33bdac796.
This appears to cause some regressions in generated config.
Will be replaced with a fixed version later

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agoscripts/package-metadata.pl: sort dependency keys
Felix Fietkau [Fri, 1 Sep 2023 16:15:30 +0000 (18:15 +0200)]
scripts/package-metadata.pl: sort dependency keys

This makes it easier to keep track of changes in the generated output,
when the script is modified

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agofirewall4: update to the latest version
Felix Fietkau [Fri, 1 Sep 2023 12:00:47 +0000 (14:00 +0200)]
firewall4: update to the latest version

23a434d0d15d tests: fix expected test output
840ccdeeabce fw4: avoid emitting invalid rule jump targets
20da9933fd7e fw4: fix another instance of invalid rule jump targets
598d9fbb5179 fw4: remove special cases around hw flow offloading

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agokernel: allow adding devices without hw offload to a hw flowtable
Felix Fietkau [Fri, 1 Sep 2023 10:43:09 +0000 (12:43 +0200)]
kernel: allow adding devices without hw offload to a hw flowtable

This allows supporting a mix of devices with or without hw offloading support

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agoscripts/package-metadata.pl: fix handling transitive conditional dependencies
Felix Fietkau [Fri, 1 Sep 2023 10:14:26 +0000 (12:14 +0200)]
scripts/package-metadata.pl: fix handling transitive conditional dependencies

When a package foo depends on PACKAGE_foo:bar (in order to make build
dependencies conditional), tracking transitive dependencies can fail because
the internal seen flag is checked/set before eliminating the fake conditional
dependency. This can show up as a depends on not properly turned into a
select further down in the dependency chain

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agohostapd: remove cfg80211 dependency
Felix Fietkau [Fri, 1 Sep 2023 08:35:00 +0000 (10:35 +0200)]
hostapd: remove cfg80211 dependency

Always enable nl80211 driver support

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agobcm53xx: store a copy of NVRAM content in NVMEM driver
Rafał Miłecki [Fri, 1 Sep 2023 09:35:29 +0000 (11:35 +0200)]
bcm53xx: store a copy of NVRAM content in NVMEM driver

This stops NVMEM driver from using MMIO access past booting and messing
with NAND controller state.

Link: https://forum.openwrt.org/t/asus-rt-ac88u-hw-a6-broken-in-22-03-3/147882
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
15 months agonetifd: update to latest git HEAD
Daniel Golle [Fri, 1 Sep 2023 00:02:06 +0000 (01:02 +0100)]
netifd: update to latest git HEAD

1a07f1dff32b make_ethtool_modes_h.sh: apply anti-bashism

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
15 months agonetifd: update to latest git HEAD
Daniel Golle [Thu, 31 Aug 2023 20:47:56 +0000 (21:47 +0100)]
netifd: update to latest git HEAD

f429bd94f99e system-linux: switch to new ETHTOOL_xLINKSETTINGS API

Fixes AN announcement for speeds beyond 1 GBit/s.
Adds new UCI options for Ethernet devices:
 - autoneg: switch on or off auto-negotiation
 - pause: if set to 0, do not announce symmetric flow control capability
 - asym_pause: if set to 0, do not announce asymmetric flow control
               capability.
 - rxpause: if set overrides AN and forces RX pause accordingly
 - txpause: if set overrides AN and forces TX pause accordingly

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
15 months agomediatek: mt7622: set DEVICE_DTC_ADDR for BPi-R64
Daniel Golle [Thu, 31 Aug 2023 18:20:49 +0000 (19:20 +0100)]
mediatek: mt7622: set DEVICE_DTC_ADDR for BPi-R64

Relocating the device tree is required for being apply to apply
device tree overylay at boot.

Fixes: 34bb33094a ("mediatek: use updated device tree overlay mechanism for BPi-R64")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
15 months agohostapd: select libopenssl-legacy for openssl variants
Felix Fietkau [Thu, 31 Aug 2023 11:12:23 +0000 (13:12 +0200)]
hostapd: select libopenssl-legacy for openssl variants

Without it, a lot of authentication modes fail without obvious error messages

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agohostapd: remove eap-eap192 auth type value
Felix Fietkau [Thu, 31 Aug 2023 11:04:19 +0000 (13:04 +0200)]
hostapd: remove eap-eap192 auth type value

It is no longer used

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agonetifd: update to the latest version
Felix Fietkau [Thu, 31 Aug 2023 11:02:00 +0000 (13:02 +0200)]
netifd: update to the latest version

db3934d2f740 scripts/netifd-wireless.sh: properly fix WPA3 Enterprise support

Support the following values for the different WPA3 Enterprise modes:

- wpa3-mixed: WPA3 Enterprise transitional mode
This supports EAP with both SHA1 and SHA-256, with optional MFP
- wpa3: WPA3 Enterprise only mode
This supports only SHA256 with mandatory MFP
- wpa3-192: WPA3 Enterprise with mandatory 192 bit support
This uses only GCMP-256 ciphers

Disable 192 bit support and GCMP-256 ciphers for the regular "wpa3" mode.
It seems that even leaving in optional 192 bit support breaks auth on some
clients, including iOS devices.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agohostapd: support eap-eap2 and eap2 auth_type values
Felix Fietkau [Thu, 31 Aug 2023 09:16:42 +0000 (11:16 +0200)]
hostapd: support eap-eap2 and eap2 auth_type values

WPA3 Enterprise-transitional requires optional MFP support and SHA1+SHA256
WPA3 Enterprise-only requires SHA1 support disabled and mandatory MFP.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agohostapd: fix FILS key mgmt type for WPA3 Enterprise 192 bit
Felix Fietkau [Thu, 31 Aug 2023 09:16:04 +0000 (11:16 +0200)]
hostapd: fix FILS key mgmt type for WPA3 Enterprise 192 bit

Use the SHA384 variant to account for longer keys with more security

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agokernel: add unset CONFIG_INPUT_IBM_PANEL symbol to config-6.1
Rafał Miłecki [Sat, 26 Aug 2023 16:07:54 +0000 (18:07 +0200)]
kernel: add unset CONFIG_INPUT_IBM_PANEL symbol to config-6.1

This symbol was added by commit 2e6f34faa7e0 ("Input: Add IBM Operation
Panel driver") to v6.1. It depends on I2C so it's available to limited
amount of targets. It needs to be specified thought to allow kernel
configuration.

For bcm53xx this fixes:
IBM Operation Panel driver (INPUT_IBM_PANEL) [N/m/?] (NEW)

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
15 months agokernel: backport v6.6 nvmem changes
Rafał Miłecki [Wed, 30 Aug 2023 22:28:58 +0000 (00:28 +0200)]
kernel: backport v6.6 nvmem changes

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
15 months agomac80211: remove non-upstream antenna gain configuration patch
Felix Fietkau [Wed, 30 Aug 2023 10:27:04 +0000 (12:27 +0200)]
mac80211: remove non-upstream antenna gain configuration patch

It seems that this was not functioning properly and was likely completely unused.
Keeping this out of tree also introduced some annoying churn when updating, because
of the iw nl80211.h sync patch.
If this is needed, it will be reintroduced when/if it is added upstream

Signed-off-by: Felix Fietkau <nbd@nbd.name>
15 months agokernel: ensure VFIO related suboptions are disabled
Mathew McBride [Sun, 6 Aug 2023 21:21:58 +0000 (21:21 +0000)]
kernel: ensure VFIO related suboptions are disabled

These suboptions (PLATFORM, FSL_MC and MLX5_VFIO_PCI)
may be prompted for when VFIO is enabled, regardless of
architecture.

These are not related to the main vfio use case
(passthrough of PCIe devices)

Signed-off-by: Mathew McBride <matt@traverse.com.au>
15 months agokernel: enable vfio and vfio-pci for armsr-armv8
Mathew McBride [Sun, 6 Aug 2023 21:19:44 +0000 (21:19 +0000)]
kernel: enable vfio and vfio-pci for armsr-armv8

Arm platforms with the right hardware blocks (such as
GICv3.0+ interrupt controller and SMMU/IOMMU) are
able to use vfio-pci to pass through PCI devices
to a VM.

Signed-off-by: Mathew McBride <matt@traverse.com.au>
15 months agokernel: vfio: remove unneeded enable_unsafe_noiommu_mode parameter
Mathew McBride [Fri, 25 Aug 2023 06:00:40 +0000 (06:00 +0000)]
kernel: vfio: remove unneeded enable_unsafe_noiommu_mode parameter

The vfio module only exposes the enable_unsafe_noiommu_mode parameter
if CONFIG_VFIO_NOIOMMU is enabled. When it isn't, the module
will complain about an unknown parameter:

vfio: unknown parameter 'enable_unsafe_noiommu_mode' ignored

As CONFIG_VFIO_NOIOMMU is disabled by the module package,
we can remove the module loading parameter.

Signed-off-by: Mathew McBride <matt@traverse.com.au>
15 months agokernel: bump 6.1 to 6.1.49
John Audia [Mon, 28 Aug 2023 17:25:36 +0000 (13:25 -0400)]
kernel: bump 6.1 to 6.1.49

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

All no patches automatically rebased, just update to checksum for new version.

Build system: x86/64
Build-tested: x86/64/AMD Cezanne
Run-tested: x86/64/AMD Cezanne

Signed-off-by: John Audia <therealgraysky@proton.me>
15 months agoarm-trusted-firmware-mediatek: enable built-in 2.5G PHY on MT7988
Daniel Golle [Mon, 28 Aug 2023 22:44:52 +0000 (23:44 +0100)]
arm-trusted-firmware-mediatek: enable built-in 2.5G PHY on MT7988

Always enable built-in 2.5G PHY on MT7988 for now, so that it can be
used. In future it would be nice to be able to switch power and MDIO
access via address 0 at run-time in Linux, both, to be able to use
external PHYs at address 0 and to reduce power consumption on systems
not using the built-in 2.5G PHY.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
15 months agouboot-mediatek: fix dependency on TF-A for MT7988 RFB (sdmmc)
Daniel Golle [Mon, 28 Aug 2023 22:41:43 +0000 (23:41 +0100)]
uboot-mediatek: fix dependency on TF-A for MT7988 RFB (sdmmc)

The U-Boot build for the MT7988 reference board booting from SD card
wrongly depended on the 'ddr4' variant of the ARM TrustedFirmware-A build
even though the 'comb' variant is used. Fix that dependency.

Fixes: 572ea68070 ("uboot-mediatek: add patches for MT7988 and builds for RFB")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
15 months agotools/mpfr: update to 4.2.1
Linhui Liu [Sat, 26 Aug 2023 05:56:53 +0000 (13:56 +0800)]
tools/mpfr: update to 4.2.1

Changes from version 4.2.0 to version 4.2.1:
- Bug fixes (see <https://www.mpfr.org/mpfr-4.2.0/#fixed> and/or the
  ChangeLog file).
- Improved MPFR manual.
- Configure tests: replaced the test of the link with GMP, in order to
  avoid the use of a function without a prototype (Autoconf issue), as
  this is obsolescent in ISO C. The new test should be more robust.

Signed-off-by: Linhui Liu <liulinhui36@gmail.com>
15 months agomediatek: filogic: remove stray quote
Daniel Golle [Mon, 28 Aug 2023 20:54:02 +0000 (21:54 +0100)]
mediatek: filogic: remove stray quote

When adapting the network configuration for MT7988 RFB a stray quote
was left in a script. Remove it to fix generating the default network
configuration.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
15 months agogeneric: sync MediaTek Ethernet driver with upstream
Daniel Golle [Sat, 26 Aug 2023 01:19:18 +0000 (02:19 +0100)]
generic: sync MediaTek Ethernet driver with upstream

Import commits from upstream Linux replacing some downstream patches.
Move accepted patches from pending-{5.15,6.1} to backport-{5.15,6.1}.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
15 months agomediatek: add support for Ubiquiti UniFi 6 LR v3
Daniel Golle [Sun, 27 Aug 2023 23:14:10 +0000 (00:14 +0100)]
mediatek: add support for Ubiquiti UniFi 6 LR v3

Some recent models of the Ubiquiti Networks UniFi 6 LR access point
come with a RealTek RTL8211FS 1000M/100M/10M PHY instead of the
Aquantia AQR112 2500M/1000M/100M/10M PHY used in both v1 and v2. Add
build for this variant so we can support Ethernet with the PHY.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
15 months agouboot-mediatek: add builds for UniFi 6 LR v2 and v3
Daniel Golle [Sun, 27 Aug 2023 23:13:05 +0000 (00:13 +0100)]
uboot-mediatek: add builds for UniFi 6 LR v2 and v3

While the v2 is nearly identical to v1, v3 uses a different PHY and
needs a different build for Ethernet to work in U-Boot.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
15 months agomediatek: generate bootloader artifacts for mt7988_rfb
Daniel Golle [Fri, 25 Aug 2023 03:09:28 +0000 (04:09 +0100)]
mediatek: generate bootloader artifacts for mt7988_rfb

Switch to OpenWrt uImage.FIT bootmethod and include various bootloader
artifacts with the generated binaries.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>