diff --git a/libraries/WiFi/src/WiFiGeneric.cpp b/libraries/WiFi/src/WiFiGeneric.cpp index d96d9d52b31..b5a7e27e7dd 100644 --- a/libraries/WiFi/src/WiFiGeneric.cpp +++ b/libraries/WiFi/src/WiFiGeneric.cpp @@ -91,6 +91,11 @@ esp_err_t set_esp_interface_ip(esp_interface_t interface, IPAddress local_ip=IPA info.gw.addr = static_cast(gateway); info.netmask.addr = static_cast(subnet); + log_v("Configuring %s static IP: " IPSTR ", MASK: " IPSTR ", GW: " IPSTR, + interface == ESP_IF_WIFI_STA ? "Station" : + interface == ESP_IF_WIFI_AP ? "SoftAP" : "Ethernet", + IP2STR(&info.ip), IP2STR(&info.netmask), IP2STR(&info.gw)); + esp_err_t err = ESP_OK; if(interface != ESP_IF_WIFI_AP){ err = esp_netif_dhcpc_get_status(esp_netif, &status); @@ -99,7 +104,7 @@ esp_err_t set_esp_interface_ip(esp_interface_t interface, IPAddress local_ip=IPA return err; } err = esp_netif_dhcpc_stop(esp_netif); - if(err){ + if(err && err != ESP_ERR_ESP_NETIF_DHCP_ALREADY_STOPPED){ log_e("DHCPC Stop Failed! 0x%04x", err); return err; } @@ -122,7 +127,7 @@ esp_err_t set_esp_interface_ip(esp_interface_t interface, IPAddress local_ip=IPA return err; } err = esp_netif_dhcps_stop(esp_netif); - if(err){ + if(err && err != ESP_ERR_ESP_NETIF_DHCP_ALREADY_STOPPED){ log_e("DHCPS Stop Failed! 0x%04x", err); return err; } diff --git a/libraries/WiFi/src/WiFiSTA.cpp b/libraries/WiFi/src/WiFiSTA.cpp index 49b49761e03..037cf23ae19 100644 --- a/libraries/WiFi/src/WiFiSTA.cpp +++ b/libraries/WiFi/src/WiFiSTA.cpp @@ -308,6 +308,7 @@ bool WiFiSTAClass::config(IPAddress local_ip, IPAddress gateway, IPAddress subne if(err == ESP_OK){ err = set_esp_interface_dns(ESP_IF_WIFI_STA, dns1, dns2); } + _useStaticIp = err == ESP_OK; return err == ESP_OK; }