From c17b212cd0ec574eea945ef73fd454f0c5bead36 Mon Sep 17 00:00:00 2001 From: boarchuz <46267286+boarchuz@users.noreply.github.com> Date: Wed, 17 Jul 2019 00:12:20 +1000 Subject: [PATCH] WPA2 connection fix (significant improvement to connection time) (#2989) * Config fix test * Also force config even if equal --- libraries/WiFi/src/WiFiSTA.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/libraries/WiFi/src/WiFiSTA.cpp b/libraries/WiFi/src/WiFiSTA.cpp index a3d40102..a9f6d649 100644 --- a/libraries/WiFi/src/WiFiSTA.cpp +++ b/libraries/WiFi/src/WiFiSTA.cpp @@ -162,6 +162,8 @@ wl_status_t WiFiSTAClass::begin(const char* ssid, const char *passphrase, int32_ esp_wifi_set_config(WIFI_IF_STA, &conf); } else if(status() == WL_CONNECTED){ return WL_CONNECTED; + } else { + esp_wifi_set_config(WIFI_IF_STA, &conf); } if(!_useStaticIp) { @@ -198,6 +200,12 @@ wl_status_t WiFiSTAClass::begin() return WL_CONNECT_FAILED; } + wifi_config_t current_conf; + if(esp_wifi_get_config(WIFI_IF_STA, ¤t_conf) != ESP_OK || esp_wifi_set_config(WIFI_IF_STA, ¤t_conf) != ESP_OK) { + log_e("config failed"); + return WL_CONNECT_FAILED; + } + if(!_useStaticIp) { if(tcpip_adapter_dhcpc_start(TCPIP_ADAPTER_IF_STA) == ESP_ERR_TCPIP_ADAPTER_DHCPC_START_FAILED){ log_e("dhcp client start failed!");