diff --git a/arduino/libraries/WiFi/src/WiFi.cpp b/arduino/libraries/WiFi/src/WiFi.cpp index e1580705..9bc7eeb2 100644 --- a/arduino/libraries/WiFi/src/WiFi.cpp +++ b/arduino/libraries/WiFi/src/WiFi.cpp @@ -32,6 +32,12 @@ #include #include "WiFi.h" +#include "mdns.h" + +// defines required from mdns service +#define LWIP_MDNS_RESPONDER 1 +#define LWIP_IGM 1 +#define LWIP_IPV4 1 WiFiClass::WiFiClass() : _initialized(false), @@ -697,6 +703,15 @@ void WiFiClass::handleSystemEvent(system_event_t* event) case SYSTEM_EVENT_AP_START: { struct netif* apNetif; + mdns_init(); + + if (strlen(_hostname) == 0) { + uint8_t mac[6]; + esp_wifi_get_mac(ESP_IF_WIFI_AP, mac); + sprintf(_hostname, "arduino-%.2x%.2x", mac[4], mac[5]); + } + tcpip_adapter_set_hostname(TCPIP_ADAPTER_IF_AP, _hostname); + if (tcpip_adapter_get_netif(TCPIP_ADAPTER_IF_AP, (void**)&apNetif) == ESP_OK) { if (apNetif->input != WiFiClass::apNetifInputHandler) { _apNetifInput = apNetif->input; @@ -705,6 +720,8 @@ void WiFiClass::handleSystemEvent(system_event_t* event) } } + mdns_hostname_set(_hostname); + wifi_config_t config; esp_wifi_get_config(ESP_IF_WIFI_AP, &config); @@ -722,7 +739,6 @@ void WiFiClass::handleSystemEvent(system_event_t* event) } else { tcpip_adapter_get_ip_info(TCPIP_ADAPTER_IF_AP, &_ipInfo); } - _status = WL_AP_LISTENING; xEventGroupSetBits(_eventGroup, BIT1); break; @@ -733,6 +749,7 @@ void WiFiClass::handleSystemEvent(system_event_t* event) memset(&_apRecord, 0x00, sizeof(_apRecord)); memset(&_ipInfo, 0x00, sizeof(_ipInfo)); xEventGroupClearBits(_eventGroup, BIT1); + mdns_free(); break; case SYSTEM_EVENT_AP_STACONNECTED: diff --git a/sdkconfig b/sdkconfig index 1e319800..1d64277c 100644 --- a/sdkconfig +++ b/sdkconfig @@ -206,6 +206,12 @@ CONFIG_EFUSE_MAX_BLK_LEN=192 # ESP32-specific # CONFIG_IDF_TARGET_ESP32=y +CONFIG_ESP32_REV_MIN_0=y +CONFIG_ESP32_REV_MIN_1= +CONFIG_ESP32_REV_MIN_2= +CONFIG_ESP32_REV_MIN_3= +CONFIG_ESP32_REV_MIN=0 +CONFIG_ESP32_DPORT_WORKAROUND=y CONFIG_ESP32_DEFAULT_CPU_FREQ_80=y CONFIG_ESP32_DEFAULT_CPU_FREQ_160= CONFIG_ESP32_DEFAULT_CPU_FREQ_240= @@ -339,6 +345,8 @@ CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=y CONFIG_HTTPD_MAX_REQ_HDR_LEN=512 CONFIG_HTTPD_MAX_URI_LEN=512 CONFIG_HTTPD_ERR_RESP_NO_DELAY=y +CONFIG_HTTPD_PURGE_BUF_LEN=32 +CONFIG_HTTPD_LOG_PURGE_DATA= # # ESP HTTPS OTA @@ -443,6 +451,8 @@ CONFIG_FREERTOS_USE_TRACE_FACILITY= CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS= CONFIG_FREERTOS_DEBUG_INTERNALS= CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER=y +CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER= +CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE= # # Heap memory debugging @@ -624,7 +634,7 @@ CONFIG_MBEDTLS_ECP_NIST_OPTIM=y # # mDNS # -CONFIG_MDNS_MAX_SERVICES=10 +CONFIG_MDNS_MAX_SERVICES=11 # # ESP-MQTT Configurations @@ -666,6 +676,9 @@ CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT="pthread" CONFIG_SPI_FLASH_VERIFY_WRITE= CONFIG_SPI_FLASH_ENABLE_COUNTERS= CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y +CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y +CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS= +CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED= CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=20 CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=1 @@ -728,3 +741,8 @@ CONFIG_SUPPORT_TERMIOS=y CONFIG_WL_SECTOR_SIZE_512= CONFIG_WL_SECTOR_SIZE_4096=y CONFIG_WL_SECTOR_SIZE=4096 + +# +# Wi-Fi Provisioning Manager +# +CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16