From: Felix Fietkau Date: Sat, 31 Jan 2026 16:56:53 +0000 (+0000) Subject: wifi-scripts: fix ieee80211w override for psk-sae/sae-mixed X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1bbb60184d1f25b369b26802d199ac4c85af3111;p=thirdparty%2Fopenwrt.git wifi-scripts: fix ieee80211w override for psk-sae/sae-mixed The ucode wifi-scripts unconditionally set ieee80211w=1 for psk-sae and eap-eap2 auth types, ignoring any user-configured value. This caused ieee80211w=2 (MFP required) to be silently downgraded to 1 (MFP optional) when using sae-mixed encryption. Change the logic to only set the default of 1 when ieee80211w is not already configured by the user. Fixes: https://github.com/openwrt/openwrt/issues/21751 Signed-off-by: Felix Fietkau --- diff --git a/package/network/config/wifi-scripts/files-ucode/usr/share/ucode/wifi/ap.uc b/package/network/config/wifi-scripts/files-ucode/usr/share/ucode/wifi/ap.uc index 4585998d30e..5771e0e2df5 100644 --- a/package/network/config/wifi-scripts/files-ucode/usr/share/ucode/wifi/ap.uc +++ b/package/network/config/wifi-scripts/files-ucode/usr/share/ucode/wifi/ap.uc @@ -90,7 +90,8 @@ function iface_auth_type(config) { } if (config.auth_type in [ 'psk-sae', 'eap-eap2' ]) { - config.ieee80211w = 1; + if (!config.ieee80211w) + config.ieee80211w = 1; if (config.rsn_override) config.rsn_override_mfp = 2; config.sae_require_mfp = 1; diff --git a/package/network/config/wifi-scripts/files-ucode/usr/share/ucode/wifi/supplicant.uc b/package/network/config/wifi-scripts/files-ucode/usr/share/ucode/wifi/supplicant.uc index 6d65b5b248d..a1daf041a14 100644 --- a/package/network/config/wifi-scripts/files-ucode/usr/share/ucode/wifi/supplicant.uc +++ b/package/network/config/wifi-scripts/files-ucode/usr/share/ucode/wifi/supplicant.uc @@ -60,7 +60,7 @@ function setup_sta(data, config) { if (config.auth_type in [ 'sae', 'owe', 'eap2', 'eap192' ]) config.ieee80211w = 2; - else if (config.auth_type in [ 'psk-sae' ]) + else if (config.auth_type in [ 'psk-sae' ] && !config.ieee80211w) config.ieee80211w = 1; if ((wildcard(data.htmode, 'EHT*') || wildcard(data.htmode, 'HE*')) && config.rsn_override)