From: Rany Hany Date: Fri, 14 Nov 2025 16:22:08 +0000 (+0000) Subject: wifi-scripts: ucode: create wpa_psk_file and sae_password_file when needed X-Git-Tag: v25.12.0-rc1~539 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6df060ba4acdcc85308b0d9ec09a4ccdd69f1f3a;p=thirdparty%2Fopenwrt.git wifi-scripts: ucode: create wpa_psk_file and sae_password_file when needed This handles the case when 'wpad' or 'wpad-mini' package is used which is missing WPA3 support. This makes it impossible to use ucode wifi-scripts on such APs as it will raise an error: daemon.err hostapd: Line 87: unknown configuration item 'sae_password_file' This also achieves parity with what is currently happening with old wifi-scripts. The behavior now matches. Fixes: https://github.com/openwrt/openwrt/issues/20781 Signed-off-by: Rany Hany Link: https://github.com/openwrt/openwrt/pull/20784 Signed-off-by: Robert Marko --- 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 9c165063bea..1f1e27dbee2 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 @@ -135,11 +135,15 @@ function iface_auth_type(config) { netifd.setup_failed('INVALID_WPA_PSK'); } - set_default(config, 'wpa_psk_file', `/var/run/hostapd-${config.ifname}.psk`); - touch_file(config.wpa_psk_file); + if (config.auth_type in [ 'psk', 'psk-sae' ]) { + set_default(config, 'wpa_psk_file', `/var/run/hostapd-${config.ifname}.psk`); + touch_file(config.wpa_psk_file); + } - set_default(config, 'sae_password_file', `/var/run/hostapd-${config.ifname}.sae`); - touch_file(config.sae_password_file); + if (config.auth_type in [ 'sae', 'psk-sae' ]) { + set_default(config, 'sae_password_file', `/var/run/hostapd-${config.ifname}.sae`); + touch_file(config.sae_password_file); + } break; case 'eap': @@ -464,9 +468,6 @@ function iface_interworking(config) { export function generate(interface, data, config, vlans, stas, phy_features) { config.ctrl_interface = '/var/run/hostapd'; - iface_wpa_stations(config, stas); - iface_sae_stations(config, stas); - config.start_disabled = data.ap_start_disabled; iface_setup(config); @@ -478,6 +479,11 @@ export function generate(interface, data, config, vlans, stas, phy_features) { config.auth_type = 'eap2'; } + if (config.auth_type in [ 'psk', 'psk-sae' ]) + iface_wpa_stations(config, stas); + if (config.auth_type in [ 'sae', 'psk-sae' ]) + iface_sae_stations(config, stas); + iface_auth_type(config); iface_accounting_server(config);