From: John Crispin Date: Mon, 15 Jun 2026 08:50:16 +0000 (+0200) Subject: wifi-scripts: fix EAP STA support in supplicant config generation X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c92ded2f6e7a31f807a653b9fc5cda930ca4b945;p=thirdparty%2Fopenwrt.git wifi-scripts: fix EAP STA support in supplicant config generation The supplicant config generator read eap_type and auth from UCI for internal logic but never wrote the corresponding eap= and phase2= directives to the wpa_supplicant config. Fix by: - Generating eap= and phase2= from eap_type/auth for PEAP/TTLS/FAST/TLS - Adding eap and phase2 to the network_append_vars output list Signed-off-by: John Crispin Signed-off-by: Felix Fietkau --- 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 7104357f395..7f0effadd8c 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 @@ -155,11 +155,16 @@ function setup_sta(data, config) { if (config.ca_cert_usesystem && fs.stat('/etc/ssl/certs/ca-certificates.crt')) config.ca_cert = '/etc/ssl/certs/ca-certificates.crt'; + const eap_method_map = { fast: 'FAST', peap: 'PEAP', ttls: 'TTLS', tls: 'TLS' }; + if (eap_method_map[config.eap_type]) + config.eap = eap_method_map[config.eap_type]; + switch(config.eap_type) { case 'fast': case 'peap': case 'ttls': set_default(config, 'auth', 'MSCHAPV2'); + config.phase2 = `"auth=${config.auth}"`; if (config.auth == 'EAP-TLS') { if (config.ca_cert2_usesystem && fs.stat('/etc/ssl/certs/ca-certificates.crt')) config.ca_cert2 = '/etc/ssl/certs/ca-certificates.crt'; @@ -205,7 +210,7 @@ function setup_sta(data, config) { 'disable_ht', 'disable_ht40', 'disable_vht', 'vht', 'max_oper_chwidth', 'ht40', 'beacon_int', 'ieee80211w', 'rates', 'mesh_basic_rates', 'mcast_rate', 'altsubject_match', 'domain_match', 'domain_suffix_match', - 'bssid_blacklist', 'bssid_whitelist', 'erp', + 'bssid_blacklist', 'bssid_whitelist', 'erp', 'eap', 'phase2', 'dpp_connector', 'dpp_csign', 'dpp_netaccesskey', ]); }