First edition of openthread for aqi!
authorjweigele <jweigele@local>
Tue, 5 Sep 2023 05:34:15 +0000 (22:34 -0700)
committerjweigele <jweigele@local>
Tue, 5 Sep 2023 05:34:15 +0000 (22:34 -0700)
 * Connects through the same MQTT path as wifi
 * Lots of weirdly named and structured functions to support
 * Only uses the default "nvs" partition right now

However!
 * Reconnect works fine both taking down the BR and restarting rabbitmq
 * All the normal update functions work by default (because same as
   wifi)

aqi/dependencies.lock
aqi/hookups.txt [new file with mode: 0644]
aqi/main/Kconfig
aqi/main/aqi.c
aqi/main/aqi.h
aqi/main/idf_component.yml
aqi/partitions.csv
aqi/sdkconfig

index 63d300ce11bea5c7adf425c2362ff1e5154f0241..cf48a8eeaba3ba818a2df377d9ed042124413cde 100644 (file)
@@ -1,16 +1,4 @@
 dependencies:
-  espressif/esp-zboss-lib:
-    component_hash: 8c214bc75cae20c6583f98971d249e2f05a56c82539b0399b5dbb59cb3c38326
-    source:
-      service_url: https://api.components.espressif.com/
-      type: service
-    version: 0.5.4
-  espressif/esp-zigbee-lib:
-    component_hash: 4a84a2f19ad6077278d6b20d809158b9939afcc540702e57d53084fe26adc69e
-    source:
-      service_url: https://api.components.espressif.com/
-      type: service
-    version: 0.7.4
   espressif/led_strip:
     component_hash: 7e92a0c8a2e35b40904f88e88ce3c0dffff504a2763f70fba7ef4787cf2eec83
     source:
@@ -28,6 +16,6 @@ dependencies:
     source:
       type: idf
     version: 5.1.1
-manifest_hash: a38aaee041b50633069a2b3b73fab6a06e0ac769824d1e24f51de3d63b42b66b
-target: esp32c6
+manifest_hash: c508d657d00fb5d33458883128bb78142b4390c1d3213d706d801da9056c9657
+target: esp32h2
 version: 1.0.0
diff --git a/aqi/hookups.txt b/aqi/hookups.txt
new file mode 100644 (file)
index 0000000..ebcfc62
--- /dev/null
@@ -0,0 +1,14 @@
+c6:
+wifi: enabled
+aqimonitor/aqimonitorpwd
+zigbee: disabled
+temp: disabled
+led: enabled
+
+UART RX: GPIO 5
+UART TX: GPIO 14 (NC)
+GPIO Erase: 23
+BRIGHTNESS: 01
+TEMP GPIO: 2 (NC)
+LED CLK: 3
+LED DIO: 2
index 80d5840df8c2e4d9d5d987308d583b208df27d2b..6bd4b2b50977a8d31cfe1cfff1ed7b1259eebda0 100644 (file)
@@ -21,6 +21,11 @@ config WIFI_ENABLED
     default n
     help
       Gets passed and used later for includes
+config OT_ENABLED
+    bool "Are we using openthread and MQTT"
+    default n
+    help
+      Used for later includes etc
 config LED_ENABLED
     bool "Are we using LCD functions for display?"
     default n
index 8149cd19938fe65b2a2cf50dd1c464c2dcb8fcbd..77c9116c6422748add88598c4946937aa327ca8c 100644 (file)
@@ -16,7 +16,6 @@
 #include "esp_log.h"
 #include "freertos/FreeRTOS.h"
 #include "freertos/task.h"
-#include "ha/esp_zigbee_ha_standard.h"
 #include "aqi.h"
 #include "math.h"
 
@@ -61,8 +60,9 @@ static bool init_connected = false;
 #ifdef CONFIG_ZIG_ENABLED
 static bool zig_connected = false;
 #endif
-#ifdef CONFIG_WIFI_ENABLED
-static bool wifi_connected =  false;
+
+#if defined(CONFIG_WIFI_ENABLED) || defined(CONFIG_OT_ENABLED)
+static bool netif_connected = false;
 static bool mqtt_was_reinit = true;
 static bool mqtt_connected = false;
 #endif
@@ -75,6 +75,180 @@ static aqi_data_t pmbuffer[PMBUFFERSIZE];
 static int pmbufferindex = 0;
 
 
+// openthread functions
+#ifdef CONFIG_OT_ENABLED
+void handleNetifStateChanged(uint32_t aFlags, void *aContext)
+{
+   if ((aFlags & OT_CHANGED_THREAD_ROLE) != 0)
+   {
+       otDeviceRole changedRole = otThreadGetDeviceRole(aContext);
+
+       switch (changedRole)
+       {
+       case OT_DEVICE_ROLE_LEADER:
+       case OT_DEVICE_ROLE_ROUTER:
+       case OT_DEVICE_ROLE_CHILD:
+           netif_connected = true;
+           init_connected = true;
+           ESP_LOGI(TAG, "is_connected = true");
+           init_mqtt();
+           break;
+
+       case OT_DEVICE_ROLE_DETACHED:
+       case OT_DEVICE_ROLE_DISABLED:
+           netif_connected = false;
+           init_connected = false;
+           ESP_LOGI(TAG, "is_connected = false");
+           break;
+        }
+    }
+}
+
+/**
+ * Override default network settings, such as panid, so the devices can join a
+ network
+ */
+void setNetworkConfiguration(otInstance *aInstance)
+{
+    static char          aNetworkName[] = "OMGOT";
+    otOperationalDataset aDataset;
+
+    memset(&aDataset, 0, sizeof(otOperationalDataset));
+
+    /*
+     * Fields that can be configured in otOperationDataset to override defaults:
+     *     Network Name, Mesh Local Prefix, Extended PAN ID, PAN ID, Delay Timer,
+     *     Channel, Channel Mask Page 0, Network Key, PSKc, Security Policy
+     */
+    aDataset.mActiveTimestamp.mSeconds             = 1;
+    aDataset.mActiveTimestamp.mTicks               = 0;
+    aDataset.mActiveTimestamp.mAuthoritative       = false;
+    aDataset.mComponents.mIsActiveTimestampPresent = true;
+
+    /* Set Channel to 15 */
+    aDataset.mChannel                      = 26;
+    aDataset.mComponents.mIsChannelPresent = true;
+
+    /* Set Pan ID to 1234 */
+    aDataset.mPanId                      = (otPanId)0x1234;
+    aDataset.mComponents.mIsPanIdPresent = true;
+
+    /* Set Extended Pan ID to C0DE1AB5C0DE1AB5 */
+    uint8_t extPanId[OT_EXT_PAN_ID_SIZE] = {0x11, 0x11, 0x11, 0x11, 0x22, 0x22, 0x22, 0x22};
+    memcpy(aDataset.mExtendedPanId.m8, extPanId, sizeof(aDataset.mExtendedPanId));
+    aDataset.mComponents.mIsExtendedPanIdPresent = true;
+
+    /* Set network key to 1234C0DE1AB51234C0DE1AB51234C0DE */
+    uint8_t key[OT_NETWORK_KEY_SIZE] = {0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF};
+    memcpy(aDataset.mNetworkKey.m8, key, sizeof(aDataset.mNetworkKey));
+    aDataset.mComponents.mIsNetworkKeyPresent = true;
+
+    /* Set Network Name to OTCodelab */
+    size_t length = strlen(aNetworkName);
+    assert(length <= OT_NETWORK_NAME_MAX_SIZE);
+    memcpy(aDataset.mNetworkName.m8, aNetworkName, length);
+    aDataset.mComponents.mIsNetworkNamePresent = true;
+
+    otDatasetSetActive(aInstance, &aDataset);
+}
+
+static void create_config_network(otInstance *instance)
+{
+    otLinkModeConfig linkMode = { 0 };
+
+    linkMode.mRxOnWhenIdle = true;
+    linkMode.mDeviceType = false;
+    linkMode.mNetworkData = false;
+
+    if (otLinkSetPollPeriod(instance, CONFIG_OPENTHREAD_NETWORK_POLLPERIOD_TIME) != OT_ERROR_NONE) {
+        ESP_LOGE(TAG, "Failed to set OpenThread pollperiod.");
+        abort();
+    }
+
+    if (otThreadSetLinkMode(instance, linkMode) != OT_ERROR_NONE) {
+        ESP_LOGE(TAG, "Failed to set OpenThread linkmode.");
+        abort();
+    }
+
+    /* Register Thread state change handler */
+    otSetStateChangedCallback(instance, handleNetifStateChanged, instance);
+
+    ESP_ERROR_CHECK(esp_openthread_auto_start(NULL));
+
+    /* Override default network credentials */
+    setNetworkConfiguration(instance);
+
+    /* Start the Thread network interface (CLI cmd > ifconfig up) */
+    otIp6SetEnabled(instance, true);
+
+    /* Start the Thread stack (CLI cmd > thread start) */
+    otThreadSetEnabled(instance, true);
+}
+static esp_netif_t *init_openthread_netif(const esp_openthread_platform_config_t *config)
+{
+    esp_netif_config_t cfg = ESP_NETIF_DEFAULT_OPENTHREAD();
+    esp_netif_t *netif = esp_netif_new(&cfg);
+    assert(netif != NULL);
+    ESP_ERROR_CHECK(esp_netif_attach(netif, esp_openthread_netif_glue_init(config)));
+
+    return netif;
+}
+
+static esp_err_t ot_power_save_init(void)
+{
+    esp_err_t rc = ESP_OK;
+#ifdef CONFIG_PM_ENABLE
+    int cur_cpu_freq_mhz = CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ;
+
+    esp_pm_config_t pm_config = {
+        .max_freq_mhz = cur_cpu_freq_mhz,
+        .min_freq_mhz = cur_cpu_freq_mhz,
+#if CONFIG_FREERTOS_USE_TICKLESS_IDLE
+        .light_sleep_enable = true
+#endif
+    };
+
+    rc = esp_pm_configure(&pm_config);
+#endif 
+    return rc;
+}   
+
+static void ot_task_worker(void *aContext)
+{
+    esp_openthread_platform_config_t config = {
+        .radio_config = ESP_OPENTHREAD_DEFAULT_RADIO_CONFIG(),
+        .host_config = ESP_OPENTHREAD_DEFAULT_HOST_CONFIG(),
+        .port_config = ESP_OPENTHREAD_DEFAULT_PORT_CONFIG(),
+    };
+
+    // Initialize the OpenThread stack
+    ESP_ERROR_CHECK(esp_openthread_init(&config));
+
+#if CONFIG_OPENTHREAD_LOG_LEVEL_DYNAMIC
+    // The OpenThread log level directly matches ESP log level
+    (void)otLoggingSetLevel(CONFIG_LOG_DEFAULT_LEVEL);
+#endif
+    esp_netif_t *openthread_netif;
+    // Initialize the esp_netif bindings
+    openthread_netif = init_openthread_netif(&config);
+    esp_netif_set_default_netif(openthread_netif);
+
+    create_config_network(esp_openthread_get_instance());
+
+    // Run the main loop
+    esp_openthread_launch_mainloop();
+
+    // Clean up
+    esp_netif_destroy(openthread_netif);
+    esp_openthread_netif_glue_deinit();
+
+    esp_vfs_eventfd_unregister();
+    vTaskDelete(NULL);
+}
+
+
+#endif
+
 void blink_that_shit(void* discard){
     for (;;){
         if (way_too_funky == true ){
@@ -110,6 +284,7 @@ void erase_data_hook(void){
         xTaskCreate(blink_that_shit, "blink_that_shit", 2048, NULL, 9, NULL);
 #endif
         ESP_LOGW(TAG, "would erase flash here!!!");
+        ESP_ERROR_CHECK(nvs_flash_erase_partition(CONFIG_NVS_OT_PARTITION));
         // we don't want to erase a factory partition since it also contains the apps
         if (strcmp(CONFIG_NVS_WIFI_PARTITION, "factory") != 0){
             ESP_LOGW(TAG, "erasing wifi partition at %s", CONFIG_NVS_WIFI_PARTITION);
@@ -325,7 +500,7 @@ void init_uart(void) {
 }
 
 
-#ifdef CONFIG_WIFI_ENABLED
+#if defined(CONFIG_WIFI_ENABLED) || defined(CONFIG_OT_ENABLED)
 static void send_report_wifi(uint16_t pm10, uint16_t pm25, float aqi, uint16_t temperature){
     ESP_LOGI(TAG, "send_report_wifi was called!");
     cJSON *root;
@@ -342,7 +517,7 @@ static void send_report_wifi(uint16_t pm10, uint16_t pm25, float aqi, uint16_t t
     //const char *my_json_string = cJSON_Print(root);
     char *mqtt_string = cJSON_Print(root);
     ESP_LOGI(TAG, "sending mqtt_string:\n%s",mqtt_string);
-    if (wifi_connected == true && mqtt_connected == true){
+    if (netif_connected == true && mqtt_connected == true){
         int msg_id = esp_mqtt_client_publish(mqtt_client, "esp32/sensor_info", mqtt_string, 0, 1, 0);
         ESP_LOGI(TAG, "sent publish successful, msg_id=%d", msg_id);
     } else {
@@ -453,12 +628,12 @@ short temp_avg = 0;
     int64_t remaining_time = 0;
     uint8_t* data = (uint8_t*) malloc(RX_BUF_SIZE+1);
     int length = 0;
-#ifdef CONFIG_WIFI_ENABLED
+#if defined(CONFIG_WIFI_ENABLED) || defined(CONFIG_OT_ENABLED)
     esp_mqtt_client_handle_t queue_item;
 #endif
     for(;;){
 
-#ifdef CONFIG_WIFI_ENABLED
+#if defined(CONFIG_WIFI_ENABLED) || defined(CONFIG_OT_ENABLED)
         // receive an event we need to deal with from elsewhere, right now just reconnect related
         if (xQueueReceive(event_queue, &queue_item, 0 )){
             ESP_LOGW(TAG, "received a queue event in main monitoring loop! %p", queue_item);
@@ -557,7 +732,7 @@ short temp_avg = 0;
 #endif // TEMP
 
 
-#ifdef CONFIG_WIFI_ENABLED
+#if defined(CONFIG_WIFI_ENABLED) || defined(CONFIG_OT_ENABLED)
         // one BIG report for wifi
         send_report_wifi(cur_pm.pm10, cur_pm.pm25, cur_aqi_pm25, temp_avg);
 #endif
@@ -746,7 +921,7 @@ static void esp_zb_task(void *pvParameters)
 }
 #endif
 
-#ifdef CONFIG_WIFI_ENABLED
+#if defined(CONFIG_WIFI_ENABLED) || defined(CONFIG_OT_ENABLED)
 
 static void log_error_if_nonzero(const char *message, int error_code)
 {
@@ -852,12 +1027,15 @@ void init_mqtt(){
     esp_mqtt_client_start(client);
 }
 
+#endif
+
+#ifdef CONFIG_WIFI_ENABLED
 // wifi connection nuked callbak
 // wifi connection ok callback
 void wifi_connection_bad(void* pvParameter){
     //ip_event_got_ip_t* param = (ip_event_got_ip_t*)pvParameter;
     ESP_LOGW(TAG, "wifi connection got dropped! just gonna set stuff down and hope for the best");
-    wifi_connected = false;
+    netif_connected = false;
     init_connected = false;
     mqtt_connected = false;
 }
@@ -865,7 +1043,7 @@ void wifi_connection_bad(void* pvParameter){
 
 // wifi connection ok callback
 void wifi_connection_ok(void* pvParameter){
-    wifi_connected = true;
+    netif_connected = true;
     init_connected = true;
     ip_event_got_ip_t* param = (ip_event_got_ip_t*)pvParameter;
 
@@ -900,7 +1078,7 @@ void app_main(void)
 #endif*/
 
     ESP_ERROR_CHECK(nvs_flash_init());
-#ifdef CONFIG_WIFI_ENABLED
+#if defined(CONFIG_WIFI_ENABLED) || defined(CONFIG_OT_ENABLED)
     event_queue = xQueueCreate(5, sizeof(esp_mqtt_client_handle_t));
 #endif
     //indicator light
@@ -943,6 +1121,18 @@ void app_main(void)
     //light_driver_init(LIGHT_DEFAULT_OFF);
     xTaskCreate(esp_zb_task, "Zigbee_main", 4096, NULL, 5, NULL);
 #endif
+#ifdef CONFIG_OT_ENABLED
+    esp_vfs_eventfd_config_t eventfd_config = {
+        .max_fds = 3,
+    };
+
+    ESP_ERROR_CHECK(esp_event_loop_create_default());
+    ESP_ERROR_CHECK(esp_netif_init());
+    ESP_ERROR_CHECK(esp_vfs_eventfd_register(&eventfd_config));
+    ESP_ERROR_CHECK(ot_power_save_init());
+
+    xTaskCreate(ot_task_worker, "ot_power_save_main", 4096, NULL, 5, NULL);
+#endif
 #ifdef CONFIG_WIFI_ENABLED
 //    ESP_ERROR_CHECK(esp_tls_set_global_ca_store(ca_cert, strlen((char*)ca_cert)));
     /* start the wifi manager */
index e18c7ca8f47ee3f6fb5a2cedacedb4f9d9db7184..2cbb319970ce4e2c806c1898b4f6daa1107091d7 100644 (file)
 // used only for formatting
 #include "esp_vfs_fat.h"
 
+#define CONFIG_NVS_OT_PARTITION "nvs"
+#ifdef CONFIG_PM_ENABLE
+#include "esp_pm.h"
+#endif
+#ifdef CONFIG_OT_ENABLED
+
+// openthread includes
+#include "esp_openthread_types.h"
+#include "esp_openthread.h"
+#include "esp_openthread_netif_glue.h"
+#include "esp_vfs_eventfd.h"
+#include "openthread/logging.h"
+#include "openthread/thread.h"
+
+
+# define CONFIG_OPENTHREAD_NETWORK_POLLPERIOD_TIME 3000
+
+#define ESP_OPENTHREAD_DEFAULT_RADIO_CONFIG()              \
+    {                                                      \
+        .radio_mode = RADIO_MODE_NATIVE,                   \
+    }
+
+#define ESP_OPENTHREAD_DEFAULT_HOST_CONFIG()                    \
+    {                                                           \
+        .host_connection_mode = HOST_CONNECTION_MODE_CLI_UART,  \
+        .host_uart_config = {                                   \
+            .port = 0,                                          \
+            .uart_config =                                      \
+                {                                               \
+                    .baud_rate = 115200,                        \
+                    .data_bits = UART_DATA_8_BITS,              \
+                    .parity = UART_PARITY_DISABLE,              \
+                    .stop_bits = UART_STOP_BITS_1,              \
+                    .flow_ctrl = UART_HW_FLOWCTRL_DISABLE,      \
+                    .rx_flow_ctrl_thresh = 0,                   \
+                    .source_clk = UART_SCLK_DEFAULT,            \
+                },                                              \
+            .rx_pin = UART_PIN_NO_CHANGE,                       \
+            .tx_pin = UART_PIN_NO_CHANGE,                       \
+        },                                                      \
+    }
+
+#define ESP_OPENTHREAD_DEFAULT_PORT_CONFIG()    \
+    {                                           \
+        .storage_partition_name = "nvs", \
+        .netif_queue_size = 10,                 \
+        .task_queue_size = 10,                  \
+    }
+
+#endif
+
 
 #ifdef CONFIG_WIFI_ENABLED
 #include <esp_wifi.h>
 #include "wifi_manager.h"
+#endif
+
+#if defined(CONFIG_WIFI_ENABLED) || defined(CONFIG_OT_ENABLED)
 #include <lwip/ip4_addr.h>
 #include <esp_netif.h>
 #include <esp_tls.h>
@@ -34,10 +88,6 @@ void init_mqtt();
 #endif
 
 #include "esp_system.h"
-
-//#include "light_driver.h"
-
-
 #include "driver/uart.h"
 #include "string.h"
 #include "driver/gpio.h"
@@ -50,7 +100,7 @@ static const char *TAG = "aqi";
 #define AQI_INDICATOR_BRIGHTNESS 0.01
 
 #ifdef CONFIG_TEMP_ENABLED
-#define TEMP_GPIO 22
+#define TEMP_GPIO 
 #include "onewire.h"
 #define MIN_TEMP_VALUE -5500
 #define MAX_TEMP_VALUE 12500
@@ -62,12 +112,12 @@ static const char *TAG = "aqi";
 #ifdef CONFIG_LED_ENABLED
 //#include "tm1637_hw.h"
 #include "tm1637.h"
-#define LED_GPIO_CLK (GPIO_NUM_3)
-#define LED_GPIO_DIO (GPIO_NUM_2)
+#define LED_GPIO_CLK (GPIO_NUM_0)
+#define LED_GPIO_DIO (GPIO_NUM_1)
 #endif
 
 #define MAXDEVS 1
-#define UART_RX_GPIO (GPIO_NUM_5)
+#define UART_RX_GPIO (GPIO_NUM_12)
 #define UART_TX_GPIO (GPIO_NUM_14)
 
 // ten second loop
index 382de85c2ce63095c6ca24b96e650ee4c0d352b7..80154e4127e34de703a817ff6131bf7f7cf630a1 100644 (file)
@@ -1,7 +1,7 @@
 ## IDF Component Manager Manifest File
 dependencies:
-  espressif/esp-zboss-lib: "~0.5.0"
-  espressif/esp-zigbee-lib: "~0.7.0"
+  #  espressif/esp-zboss-lib: "~0.5.0"
+  #  espressif/esp-zigbee-lib: "~0.7.0"
   espressif/led_strip: "~2.0.0"
   espressif/mdns: "^1.1.0"
   ## Required IDF version
index 2d18cd1b7bd87031870b36bbf817620846297de9..42af556e1c9b7057799817d00e6de5a117850990 100644 (file)
@@ -2,7 +2,8 @@
 # Note: if you have increased the bootloader size, make sure to update the offsets to avoid overlap
 nvs,        data, nvs,      0x9000,  0x6000,
 phy_init,   data, phy,      0xf000,  0x1000,
-factory,    app,  factory,  0x10000, 1520K,
+factory,    app,  factory,  0x10000, 1504K,
+ot_storage, data, nvs,      0x188000, 16K, encrypted,
 wifi_storage, data, nvs,    0x18c000, 16K,  encrypted,
 zb_storage, data, fat,      0x190000, 16K,  encrypted,
 zb_fct,     data, fat,      0x194000, 1K,   encrypted,
index 381a4ff7858385205a8c0b5a4c643465b0335d6a..d4ffda52290452e0e28e0dfae855ae31e974aaff 100644 (file)
@@ -3,52 +3,50 @@
 # Espressif IoT Development Framework (ESP-IDF) 5.1.1 Project Configuration
 #
 CONFIG_SOC_ADC_SUPPORTED=y
+CONFIG_SOC_ANA_CMPR_SUPPORTED=y
 CONFIG_SOC_DEDICATED_GPIO_SUPPORTED=y
 CONFIG_SOC_UART_SUPPORTED=y
 CONFIG_SOC_GDMA_SUPPORTED=y
-CONFIG_SOC_GPTIMER_SUPPORTED=y
+CONFIG_SOC_ASYNC_MEMCPY_SUPPORTED=y
 CONFIG_SOC_PCNT_SUPPORTED=y
 CONFIG_SOC_MCPWM_SUPPORTED=y
 CONFIG_SOC_TWAI_SUPPORTED=y
-CONFIG_SOC_ETM_SUPPORTED=y
-CONFIG_SOC_PARLIO_SUPPORTED=y
 CONFIG_SOC_BT_SUPPORTED=y
+CONFIG_SOC_GPTIMER_SUPPORTED=y
 CONFIG_SOC_IEEE802154_SUPPORTED=y
-CONFIG_SOC_ASYNC_MEMCPY_SUPPORTED=y
+CONFIG_SOC_IEEE802154_BLE_ONLY=y
 CONFIG_SOC_USB_SERIAL_JTAG_SUPPORTED=y
 CONFIG_SOC_TEMP_SENSOR_SUPPORTED=y
-CONFIG_SOC_WIFI_SUPPORTED=y
 CONFIG_SOC_SUPPORTS_SECURE_DL_MODE=y
-CONFIG_SOC_ULP_SUPPORTED=y
-CONFIG_SOC_LP_CORE_SUPPORTED=y
 CONFIG_SOC_EFUSE_KEY_PURPOSE_FIELD=y
 CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y
 CONFIG_SOC_RTC_MEM_SUPPORTED=y
 CONFIG_SOC_I2S_SUPPORTED=y
-CONFIG_SOC_RMT_SUPPORTED=y
 CONFIG_SOC_SDM_SUPPORTED=y
+CONFIG_SOC_ETM_SUPPORTED=y
+CONFIG_SOC_RMT_SUPPORTED=y
+CONFIG_SOC_PARLIO_SUPPORTED=y
 CONFIG_SOC_GPSPI_SUPPORTED=y
 CONFIG_SOC_LEDC_SUPPORTED=y
 CONFIG_SOC_I2C_SUPPORTED=y
 CONFIG_SOC_SYSTIMER_SUPPORTED=y
-CONFIG_SOC_SUPPORT_COEXISTENCE=y
 CONFIG_SOC_AES_SUPPORTED=y
 CONFIG_SOC_MPI_SUPPORTED=y
 CONFIG_SOC_SHA_SUPPORTED=y
 CONFIG_SOC_HMAC_SUPPORTED=y
 CONFIG_SOC_DIG_SIGN_SUPPORTED=y
 CONFIG_SOC_ECC_SUPPORTED=y
+CONFIG_SOC_ECC_EXTENDED_MODES_SUPPORTED=y
+CONFIG_SOC_ECDSA_SUPPORTED=y
 CONFIG_SOC_FLASH_ENC_SUPPORTED=y
 CONFIG_SOC_SECURE_BOOT_SUPPORTED=y
-CONFIG_SOC_SDIO_SLAVE_SUPPORTED=y
 CONFIG_SOC_BOD_SUPPORTED=y
 CONFIG_SOC_APM_SUPPORTED=y
 CONFIG_SOC_PMU_SUPPORTED=y
-CONFIG_SOC_PAU_SUPPORTED=y
 CONFIG_SOC_LP_TIMER_SUPPORTED=y
-CONFIG_SOC_LP_AON_SUPPORTED=y
-CONFIG_SOC_LP_I2C_SUPPORTED=y
-CONFIG_SOC_XTAL_SUPPORT_40M=y
+CONFIG_SOC_PAU_SUPPORTED=y
+CONFIG_SOC_CLK_TREE_SUPPORTED=y
+CONFIG_SOC_XTAL_SUPPORT_32M=y
 CONFIG_SOC_AES_SUPPORT_DMA=y
 CONFIG_SOC_AES_GDMA=y
 CONFIG_SOC_AES_SUPPORT_AES_128=y
@@ -58,7 +56,7 @@ CONFIG_SOC_ADC_DIG_IIR_FILTER_SUPPORTED=y
 CONFIG_SOC_ADC_MONITOR_SUPPORTED=y
 CONFIG_SOC_ADC_DMA_SUPPORTED=y
 CONFIG_SOC_ADC_PERIPH_NUM=1
-CONFIG_SOC_ADC_MAX_CHANNEL_NUM=7
+CONFIG_SOC_ADC_MAX_CHANNEL_NUM=5
 CONFIG_SOC_ADC_ATTEN_NUM=4
 CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM=1
 CONFIG_SOC_ADC_PATT_LEN_MAX=8
@@ -72,9 +70,6 @@ CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=83333
 CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=611
 CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=12
 CONFIG_SOC_ADC_RTC_MAX_BITWIDTH=12
-CONFIG_SOC_ADC_CALIBRATION_V1_SUPPORTED=y
-CONFIG_SOC_ADC_SELF_HW_CALI_SUPPORTED=y
-CONFIG_SOC_ADC_CALIB_CHAN_COMPENS_SUPPORTED=y
 CONFIG_SOC_ADC_TEMPERATURE_SHARE_INTR=y
 CONFIG_SOC_BROWNOUT_RESET_SUPPORTED=y
 CONFIG_SOC_SHARED_IDCACHE_SUPPORTED=y
@@ -88,6 +83,10 @@ CONFIG_SOC_CPU_WATCHPOINTS_NUM=4
 CONFIG_SOC_CPU_WATCHPOINT_SIZE=0x80000000
 CONFIG_SOC_CPU_HAS_PMA=y
 CONFIG_SOC_CPU_IDRAM_SPLIT_USING_PMP=y
+CONFIG_SOC_MMU_PAGE_SIZE_CONFIGURABLE=y
+CONFIG_SOC_MMU_PERIPH_NUM=1
+CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=1
+CONFIG_SOC_MMU_DI_VADDR_SHARED=y
 CONFIG_SOC_DS_SIGNATURE_MAX_BIT_LEN=3072
 CONFIG_SOC_DS_KEY_PARAM_MD_IV_LENGTH=16
 CONFIG_SOC_DS_KEY_CHECK_MAX_WAIT_US=1100
@@ -97,43 +96,40 @@ CONFIG_SOC_GDMA_SUPPORT_ETM=y
 CONFIG_SOC_ETM_GROUPS=1
 CONFIG_SOC_ETM_CHANNELS_PER_GROUP=50
 CONFIG_SOC_GPIO_PORT=1
-CONFIG_SOC_GPIO_PIN_COUNT=31
+CONFIG_SOC_GPIO_PIN_COUNT=28
 CONFIG_SOC_GPIO_SUPPORT_PIN_GLITCH_FILTER=y
+CONFIG_SOC_GPIO_SUPPORT_PIN_HYS_FILTER=y
 CONFIG_SOC_GPIO_FLEX_GLITCH_FILTER_NUM=8
 CONFIG_SOC_GPIO_SUPPORT_ETM=y
 CONFIG_SOC_GPIO_ETM_EVENTS_PER_GROUP=8
 CONFIG_SOC_GPIO_ETM_TASKS_PER_GROUP=8
-CONFIG_SOC_GPIO_SUPPORT_RTC_INDEPENDENT=y
 CONFIG_SOC_GPIO_SUPPORT_DEEPSLEEP_WAKEUP=y
 CONFIG_SOC_GPIO_DEEP_SLEEP_WAKE_VALID_GPIO_MASK=0
-CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0x000000007FFFFF00
+CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0x000000000FFF807F
 CONFIG_SOC_GPIO_SUPPORT_FORCE_HOLD=y
 CONFIG_SOC_GPIO_SUPPORT_HOLD_SINGLE_IO_IN_DSLP=y
-CONFIG_SOC_RTCIO_PIN_COUNT=8
-CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED=y
-CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y
-CONFIG_SOC_RTCIO_WAKE_SUPPORTED=y
 CONFIG_SOC_DEDIC_GPIO_OUT_CHANNELS_NUM=8
 CONFIG_SOC_DEDIC_GPIO_IN_CHANNELS_NUM=8
 CONFIG_SOC_DEDIC_PERIPH_ALWAYS_ENABLE=y
-CONFIG_SOC_I2C_NUM=1
+CONFIG_SOC_ANA_CMPR_NUM=1
+CONFIG_SOC_I2C_NUM=2
 CONFIG_SOC_I2C_FIFO_LEN=32
 CONFIG_SOC_I2C_CMD_REG_NUM=8
 CONFIG_SOC_I2C_SUPPORT_SLAVE=y
 CONFIG_SOC_I2C_SUPPORT_HW_CLR_BUS=y
 CONFIG_SOC_I2C_SUPPORT_XTAL=y
 CONFIG_SOC_I2C_SUPPORT_RTC=y
-CONFIG_SOC_LP_I2C_NUM=1
-CONFIG_SOC_LP_I2C_FIFO_LEN=16
 CONFIG_SOC_I2S_NUM=1
 CONFIG_SOC_I2S_HW_VERSION_2=y
 CONFIG_SOC_I2S_SUPPORTS_XTAL=y
-CONFIG_SOC_I2S_SUPPORTS_PLL_F160M=y
+CONFIG_SOC_I2S_SUPPORTS_PLL_F96M=y
+CONFIG_SOC_I2S_SUPPORTS_PLL_F64M=y
 CONFIG_SOC_I2S_SUPPORTS_PCM=y
 CONFIG_SOC_I2S_SUPPORTS_PDM=y
 CONFIG_SOC_I2S_SUPPORTS_PDM_TX=y
 CONFIG_SOC_I2S_PDM_MAX_TX_LINES=2
 CONFIG_SOC_I2S_SUPPORTS_TDM=y
+CONFIG_SOC_I2S_TDM_FULL_DATA_WIDTH=y
 CONFIG_SOC_LEDC_SUPPORT_PLL_DIV_CLOCK=y
 CONFIG_SOC_LEDC_SUPPORT_XTAL_CLOCK=y
 CONFIG_SOC_LEDC_CHANNEL_NUM=6
@@ -142,10 +138,6 @@ CONFIG_SOC_LEDC_SUPPORT_FADE_STOP=y
 CONFIG_SOC_LEDC_GAMMA_CURVE_FADE_SUPPORTED=y
 CONFIG_SOC_LEDC_GAMMA_CURVE_FADE_RANGE_MAX=16
 CONFIG_SOC_LEDC_FADE_PARAMS_BIT_WIDTH=10
-CONFIG_SOC_MMU_PAGE_SIZE_CONFIGURABLE=y
-CONFIG_SOC_MMU_PERIPH_NUM=1
-CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=1
-CONFIG_SOC_MMU_DI_VADDR_SHARED=y
 CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000
 CONFIG_SOC_MPU_REGIONS_MAX_NUM=8
 CONFIG_SOC_PCNT_GROUPS=1
@@ -183,9 +175,11 @@ CONFIG_SOC_MCPWM_CAPTURE_CLK_FROM_GROUP=y
 CONFIG_SOC_PARLIO_GROUPS=1
 CONFIG_SOC_PARLIO_TX_UNITS_PER_GROUP=1
 CONFIG_SOC_PARLIO_RX_UNITS_PER_GROUP=1
-CONFIG_SOC_PARLIO_TX_UNIT_MAX_DATA_WIDTH=16
-CONFIG_SOC_PARLIO_RX_UNIT_MAX_DATA_WIDTH=16
-CONFIG_SOC_PARLIO_TX_RX_SHARE_INTERRUPT=y
+CONFIG_SOC_PARLIO_TX_UNIT_MAX_DATA_WIDTH=8
+CONFIG_SOC_PARLIO_RX_UNIT_MAX_DATA_WIDTH=8
+CONFIG_SOC_PARLIO_TX_CLK_SUPPORT_GATING=y
+CONFIG_SOC_PARLIO_TRANS_BIT_ALIGN=y
+CONFIG_SOC_RTCIO_PIN_COUNT=0
 CONFIG_SOC_RSA_MAX_BIT_LEN=3072
 CONFIG_SOC_SHA_DMA_MAX_BUFFER_SIZE=3968
 CONFIG_SOC_SHA_SUPPORT_DMA=y
@@ -196,7 +190,7 @@ CONFIG_SOC_SHA_SUPPORT_SHA224=y
 CONFIG_SOC_SHA_SUPPORT_SHA256=y
 CONFIG_SOC_SDM_GROUPS=1
 CONFIG_SOC_SDM_CHANNELS_PER_GROUP=4
-CONFIG_SOC_SDM_CLK_SUPPORT_PLL_F80M=y
+CONFIG_SOC_SDM_CLK_SUPPORT_PLL_F48M=y
 CONFIG_SOC_SDM_CLK_SUPPORT_XTAL=y
 CONFIG_SOC_SPI_PERIPH_NUM=2
 CONFIG_SOC_SPI_MAX_CS_NUM=6
@@ -207,7 +201,7 @@ CONFIG_SOC_SPI_SUPPORT_CD_SIG=y
 CONFIG_SOC_SPI_SUPPORT_CONTINUOUS_TRANS=y
 CONFIG_SOC_SPI_SUPPORT_SLAVE_HD_VER2=y
 CONFIG_SOC_SPI_SUPPORT_CLK_XTAL=y
-CONFIG_SOC_SPI_SUPPORT_CLK_PLL_F80M=y
+CONFIG_SOC_SPI_SUPPORT_CLK_PLL_F48M=y
 CONFIG_SOC_SPI_SUPPORT_CLK_RC_FAST=y
 CONFIG_SOC_MEMSPI_IS_INDEPENDENT=y
 CONFIG_SOC_SPI_MAX_PRE_DIVIDER=16
@@ -218,9 +212,10 @@ CONFIG_SOC_SPI_MEM_SUPPORT_IDLE_INTR=y
 CONFIG_SOC_SPI_MEM_SUPPORT_SW_SUSPEND=y
 CONFIG_SOC_SPI_MEM_SUPPORT_CHECK_SUS=y
 CONFIG_SOC_SPI_MEM_SUPPORT_WRAP=y
-CONFIG_SOC_MEMSPI_SRC_FREQ_80M_SUPPORTED=y
-CONFIG_SOC_MEMSPI_SRC_FREQ_40M_SUPPORTED=y
-CONFIG_SOC_MEMSPI_SRC_FREQ_20M_SUPPORTED=y
+CONFIG_SOC_MEMSPI_SRC_FREQ_64M_SUPPORTED=y
+CONFIG_SOC_MEMSPI_SRC_FREQ_32M_SUPPORTED=y
+CONFIG_SOC_MEMSPI_SRC_FREQ_16M_SUPPORTED=y
+CONFIG_SOC_MEMSPI_CLOCK_IS_INDEPENDENT=y
 CONFIG_SOC_SYSTIMER_COUNTER_NUM=2
 CONFIG_SOC_SYSTIMER_ALARM_NUM=3
 CONFIG_SOC_SYSTIMER_BIT_WIDTH_LO=32
@@ -239,12 +234,11 @@ CONFIG_SOC_TIMER_GROUP_SUPPORT_XTAL=y
 CONFIG_SOC_TIMER_GROUP_SUPPORT_RC_FAST=y
 CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=2
 CONFIG_SOC_TIMER_SUPPORT_ETM=y
-CONFIG_SOC_TWAI_CONTROLLER_NUM=2
+CONFIG_SOC_TWAI_CONTROLLER_NUM=y
 CONFIG_SOC_TWAI_CLK_SUPPORT_XTAL=y
 CONFIG_SOC_TWAI_BRP_MIN=2
 CONFIG_SOC_TWAI_BRP_MAX=32768
 CONFIG_SOC_TWAI_SUPPORTS_RX_STATUS=y
-CONFIG_SOC_EFUSE_DIS_DOWNLOAD_ICACHE=y
 CONFIG_SOC_EFUSE_DIS_PAD_JTAG=y
 CONFIG_SOC_EFUSE_DIS_USB_JTAG=y
 CONFIG_SOC_EFUSE_DIS_DIRECT_BOOT=y
@@ -263,7 +257,6 @@ CONFIG_SOC_CRYPTO_DPA_PROTECTION_SUPPORTED=y
 CONFIG_SOC_UART_NUM=2
 CONFIG_SOC_UART_FIFO_LEN=128
 CONFIG_SOC_UART_BITRATE_MAX=5000000
-CONFIG_SOC_UART_SUPPORT_PLL_F80M_CLK=y
 CONFIG_SOC_UART_SUPPORT_RTC_CLK=y
 CONFIG_SOC_UART_SUPPORT_XTAL_CLK=y
 CONFIG_SOC_UART_SUPPORT_WAKEUP_INT=y
@@ -271,11 +264,7 @@ CONFIG_SOC_UART_SUPPORT_FSM_TX_WAIT_SEND=y
 CONFIG_SOC_COEX_HW_PTI=y
 CONFIG_SOC_EXTERNAL_COEX_ADVANCE=y
 CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21
-CONFIG_SOC_WIFI_LIGHT_SLEEP_CLK_WIDTH=12
-CONFIG_SOC_PM_SUPPORT_WIFI_WAKEUP=y
-CONFIG_SOC_PM_SUPPORT_BEACON_WAKEUP=y
 CONFIG_SOC_PM_SUPPORT_BT_WAKEUP=y
-CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP=y
 CONFIG_SOC_PM_SUPPORT_CPU_PD=y
 CONFIG_SOC_PM_SUPPORT_MODEM_PD=y
 CONFIG_SOC_PM_SUPPORT_XTAL32K_PD=y
@@ -283,44 +272,34 @@ CONFIG_SOC_PM_SUPPORT_RC32K_PD=y
 CONFIG_SOC_PM_SUPPORT_RC_FAST_PD=y
 CONFIG_SOC_PM_SUPPORT_VDDSDIO_PD=y
 CONFIG_SOC_PM_SUPPORT_TOP_PD=y
-CONFIG_SOC_PM_SUPPORT_HP_AON_PD=y
-CONFIG_SOC_PM_SUPPORT_MAC_BB_PD=y
-CONFIG_SOC_PM_SUPPORT_RTC_PERIPH_PD=y
-CONFIG_SOC_PM_SUPPORT_PMU_MODEM_STATE=y
-CONFIG_SOC_PM_SUPPORT_DEEPSLEEP_CHECK_STUB_ONLY=y
+CONFIG_SOC_PM_PAU_LINK_NUM=4
 CONFIG_SOC_PM_CPU_RETENTION_BY_SW=y
 CONFIG_SOC_PM_MODEM_RETENTION_BY_REGDMA=y
+CONFIG_SOC_PM_SUPPORT_DEEPSLEEP_CHECK_STUB_ONLY=y
+CONFIG_SOC_PM_RETENTION_HAS_REGDMA_POWER_BUG=y
 CONFIG_SOC_PM_RETENTION_HAS_CLOCK_BUG=y
-CONFIG_SOC_PM_PAU_LINK_NUM=4
 CONFIG_SOC_CLK_RC_FAST_SUPPORT_CALIBRATION=y
-CONFIG_SOC_MODEM_CLOCK_IS_INDEPENDENT=y
 CONFIG_SOC_CLK_XTAL32K_SUPPORTED=y
 CONFIG_SOC_CLK_OSC_SLOW_SUPPORTED=y
 CONFIG_SOC_CLK_RC32K_SUPPORTED=y
+CONFIG_SOC_CLK_LP_FAST_SUPPORT_LP_PLL=y
+CONFIG_SOC_MODEM_CLOCK_IS_INDEPENDENT=y
 CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_FAST_RC=y
 CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_XTAL=y
 CONFIG_SOC_TEMPERATURE_SENSOR_INTR_SUPPORT=y
-CONFIG_SOC_WIFI_HW_TSF=y
-CONFIG_SOC_WIFI_GCMP_SUPPORT=y
-CONFIG_SOC_WIFI_WAPI_SUPPORT=y
-CONFIG_SOC_WIFI_CSI_SUPPORT=y
-CONFIG_SOC_WIFI_MESH_SUPPORT=y
-CONFIG_SOC_WIFI_HE_SUPPORT=y
 CONFIG_SOC_BLE_SUPPORTED=y
 CONFIG_SOC_BLE_MESH_SUPPORTED=y
 CONFIG_SOC_ESP_NIMBLE_CONTROLLER=y
 CONFIG_SOC_BLE_50_SUPPORTED=y
 CONFIG_SOC_BLE_DEVICE_PRIVACY_SUPPORTED=y
 CONFIG_SOC_BLE_POWER_CONTROL_SUPPORTED=y
-CONFIG_SOC_BLUFI_SUPPORTED=y
 CONFIG_SOC_BLE_MULTI_CONN_OPTIMIZATION=y
-CONFIG_SOC_BLE_USE_WIFI_PWR_CLK_WORKAROUND=y
 CONFIG_IDF_CMAKE=y
 CONFIG_IDF_TARGET_ARCH_RISCV=y
 CONFIG_IDF_TARGET_ARCH="riscv"
-CONFIG_IDF_TARGET="esp32c6"
-CONFIG_IDF_TARGET_ESP32C6=y
-CONFIG_IDF_FIRMWARE_CHIP_ID=0x000D
+CONFIG_IDF_TARGET="esp32h2"
+CONFIG_IDF_TARGET_ESP32H2=y
+CONFIG_IDF_FIRMWARE_CHIP_ID=0x0010
 
 #
 # Build type
@@ -388,20 +367,17 @@ CONFIG_APP_RETRIEVE_LEN_ELF_SHA=16
 
 CONFIG_ESP_ROM_HAS_CRC_LE=y
 CONFIG_ESP_ROM_HAS_CRC_BE=y
-CONFIG_ESP_ROM_HAS_JPEG_DECODE=y
 CONFIG_ESP_ROM_UART_CLK_IS_XTAL=y
 CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=3
 CONFIG_ESP_ROM_HAS_RETARGETABLE_LOCKING=y
 CONFIG_ESP_ROM_GET_CLK_FREQ=y
-CONFIG_ESP_ROM_HAS_RVFPLIB=y
 CONFIG_ESP_ROM_HAS_HAL_WDT=y
 CONFIG_ESP_ROM_HAS_HAL_SYSTIMER=y
 CONFIG_ESP_ROM_HAS_HEAP_TLSF=y
 CONFIG_ESP_ROM_HAS_LAYOUT_TABLE=y
 CONFIG_ESP_ROM_HAS_SPI_FLASH=y
-CONFIG_ESP_ROM_HAS_REGI2C_BUG=y
-CONFIG_ESP_ROM_HAS_NEWLIB_NORMAL_FORMAT=y
-CONFIG_ESP_ROM_REV0_HAS_NO_ECDSA_INTERFACE=y
+CONFIG_ESP_ROM_WITHOUT_REGI2C=y
+CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT=y
 CONFIG_ESP_ROM_WDT_INIT_PATCH=y
 CONFIG_ESP_ROM_NEEDS_SET_CACHE_MMU_SIZE=y
 CONFIG_ESP_ROM_RAM_APP_NEEDS_MMU_INIT=y
@@ -425,11 +401,10 @@ CONFIG_ESPTOOLPY_FLASHMODE_DIO=y
 # CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set
 CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_STR=y
 CONFIG_ESPTOOLPY_FLASHMODE="dio"
-CONFIG_ESPTOOLPY_FLASHFREQ_80M=y
-# CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set
-# CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set
-CONFIG_ESPTOOLPY_FLASHFREQ_80M_DEFAULT=y
-CONFIG_ESPTOOLPY_FLASHFREQ="80m"
+CONFIG_ESPTOOLPY_FLASHFREQ_64M=y
+# CONFIG_ESPTOOLPY_FLASHFREQ_32M is not set
+# CONFIG_ESPTOOLPY_FLASHFREQ_16M is not set
+CONFIG_ESPTOOLPY_FLASHFREQ="48m"
 # CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set
 CONFIG_ESPTOOLPY_FLASHSIZE_2MB=y
 # CONFIG_ESPTOOLPY_FLASHSIZE_4MB is not set
@@ -472,8 +447,7 @@ CONFIG_COMPILER_OPTIMIZATION_DEFAULT=y
 CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y
 # CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set
 # CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE is not set
-# CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB is not set
-CONFIG_COMPILER_FLOAT_LIB_FROM_RVFPLIB=y
+CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB=y
 CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL=2
 # CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT is not set
 CONFIG_COMPILER_HIDE_PATHS_MACROS=y
@@ -569,6 +543,14 @@ CONFIG_SPI_SLAVE_ISR_IN_IRAM=y
 # CONFIG_SDM_ENABLE_DEBUG_LOG is not set
 # end of Sigma Delta Modulator Configuration
 
+#
+# Analog Comparator Configuration
+#
+# CONFIG_ANA_CMPR_ISR_IRAM_SAFE is not set
+# CONFIG_ANA_CMPR_CTRL_FUNC_IN_IRAM is not set
+# CONFIG_ANA_CMPR_ENABLE_DEBUG_LOG is not set
+# end of Analog Comparator Configuration
+
 #
 # GPTimer Configuration
 #
@@ -615,6 +597,7 @@ CONFIG_SPI_SLAVE_ISR_IN_IRAM=y
 #
 # USB Serial/JTAG Configuration
 #
+# CONFIG_USJ_NO_AUTO_LS_ON_CONNECTION is not set
 # end of USB Serial/JTAG Configuration
 
 #
@@ -655,7 +638,6 @@ CONFIG_ESP_TLS_SKIP_SERVER_CERT_VERIFY=y
 #
 # Wireless Coexistence
 #
-CONFIG_ESP_COEX_SW_COEXIST_ENABLE=y
 # CONFIG_ESP_COEX_EXTERNAL_COEXIST_ENABLE is not set
 # end of Wireless Coexistence
 
@@ -730,30 +712,27 @@ CONFIG_HTTPD_PURGE_BUF_LEN=32
 #
 # Chip revision
 #
-CONFIG_ESP32C6_REV_MIN_0=y
-# CONFIG_ESP32C6_REV_MIN_1 is not set
-CONFIG_ESP32C6_REV_MIN_FULL=0
+CONFIG_ESP32H2_REV_MIN_0=y
+# CONFIG_ESP32H2_REV_MIN_1 is not set
+# CONFIG_ESP32H2_REV_MIN_2 is not set
+CONFIG_ESP32H2_REV_MIN_FULL=0
 CONFIG_ESP_REV_MIN_FULL=0
 
 #
-# Maximum Supported ESP32-C6 Revision (Rev v0.99)
+# Maximum Supported ESP32-H2 Revision (Rev v0.99)
 #
-CONFIG_ESP32C6_REV_MAX_FULL=99
+CONFIG_ESP32H2_REV_MAX_FULL=99
 CONFIG_ESP_REV_MAX_FULL=99
 # end of Chip revision
 
 #
 # MAC Config
 #
-CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_STA=y
-CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_AP=y
 CONFIG_ESP_MAC_ADDR_UNIVERSE_BT=y
-CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y
 CONFIG_ESP_MAC_ADDR_UNIVERSE_IEEE802154=y
-CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR=y
-# CONFIG_ESP32C6_UNIVERSAL_MAC_ADDRESSES_TWO is not set
-CONFIG_ESP32C6_UNIVERSAL_MAC_ADDRESSES_FOUR=y
-CONFIG_ESP32C6_UNIVERSAL_MAC_ADDRESSES=4
+CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_TWO=y
+CONFIG_ESP32H2_UNIVERSAL_MAC_ADDRESSES_TWO=y
+CONFIG_ESP32H2_UNIVERSAL_MAC_ADDRESSES=2
 # end of MAC Config
 
 #
@@ -797,8 +776,8 @@ CONFIG_PERIPH_CTRL_FUNC_IN_IRAM=y
 #
 # Main XTAL Config
 #
-CONFIG_XTAL_FREQ_40=y
-CONFIG_XTAL_FREQ=40
+CONFIG_XTAL_FREQ_32=y
+CONFIG_XTAL_FREQ=32
 # end of Main XTAL Config
 
 #
@@ -849,7 +828,6 @@ CONFIG_ESP_NETIF_USES_TCPIP_WITH_BSD_API=y
 # PHY
 #
 CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE=y
-# CONFIG_ESP_PHY_INIT_DATA_IN_PARTITION is not set
 CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=20
 CONFIG_ESP_PHY_MAX_TX_POWER=20
 # CONFIG_ESP_PHY_REDUCE_TX_POWER is not set
@@ -863,9 +841,15 @@ CONFIG_ESP_PHY_CALIBRATION_MODE=0
 #
 # Power Management
 #
-# CONFIG_PM_ENABLE is not set
+CONFIG_PM_ENABLE=y
+# CONFIG_PM_DFS_INIT_AUTO is not set
+# CONFIG_PM_PROFILING is not set
+# CONFIG_PM_TRACE is not set
+# CONFIG_PM_SLP_IRAM_OPT is not set
+# CONFIG_PM_RTOS_IDLE_OPT is not set
+CONFIG_PM_SLP_DISABLE_GPIO=y
 CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=y
-# CONFIG_PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP is not set
+CONFIG_PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP=y
 # end of Power Management
 
 #
@@ -881,10 +865,10 @@ CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=y
 #
 # ESP System Settings
 #
-# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_80 is not set
-# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_120 is not set
-CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160=y
-CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=160
+# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_48 is not set
+# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_64 is not set
+CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_96=y
+CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=96
 # CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT is not set
 CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y
 # CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set
@@ -892,8 +876,6 @@ CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y
 # CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME is not set
 CONFIG_ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS=0
 CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE=y
-CONFIG_ESP_SYSTEM_RTC_FAST_MEM_AS_HEAP_DEPCHECK=y
-CONFIG_ESP_SYSTEM_ALLOW_RTC_FAST_MEM_AS_HEAP=y
 # CONFIG_ESP_SYSTEM_USE_EH_FRAME is not set
 
 #
@@ -925,7 +907,7 @@ CONFIG_ESP_TASK_WDT_EN=y
 CONFIG_ESP_TASK_WDT_INIT=y
 # CONFIG_ESP_TASK_WDT_PANIC is not set
 CONFIG_ESP_TASK_WDT_TIMEOUT_S=5
-# CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0 is not set
+CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y
 # CONFIG_ESP_PANIC_HANDLER_IRAM is not set
 # CONFIG_ESP_DEBUG_STUBS_ENABLE is not set
 CONFIG_ESP_DEBUG_OCDAWARE=y
@@ -973,14 +955,12 @@ CONFIG_ESP_TIMER_IMPL_SYSTIMER=y
 #
 # Wi-Fi
 #
-CONFIG_ESP_WIFI_ENABLED=y
 CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=10
 CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=32
 # CONFIG_ESP_WIFI_STATIC_TX_BUFFER is not set
 CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER=y
 CONFIG_ESP_WIFI_TX_BUFFER_TYPE=1
 CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER_NUM=32
-# CONFIG_ESP_WIFI_CSI_ENABLED is not set
 CONFIG_ESP_WIFI_AMPDU_TX_ENABLED=y
 CONFIG_ESP_WIFI_TX_BA_WIN=6
 CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=y
@@ -996,23 +976,18 @@ CONFIG_ESP_WIFI_SOFTAP_SAE_SUPPORT=y
 CONFIG_ESP_WIFI_ENABLE_WPA3_OWE_STA=y
 # CONFIG_ESP_WIFI_SLP_IRAM_OPT is not set
 CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE=y
-# CONFIG_ESP_WIFI_GCMP_SUPPORT is not set
 # CONFIG_ESP_WIFI_GMAC_SUPPORT is not set
 CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y
 # CONFIG_ESP_WIFI_SLP_BEACON_LOST_OPT is not set
 CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=7
-CONFIG_ESP_WIFI_ENABLE_WIFI_TX_STATS=y
 CONFIG_ESP_WIFI_MBEDTLS_CRYPTO=y
 CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT=y
-# CONFIG_ESP_WIFI_WAPI_PSK is not set
 # CONFIG_ESP_WIFI_SUITE_B_192 is not set
 # CONFIG_ESP_WIFI_11KV_SUPPORT is not set
 # CONFIG_ESP_WIFI_MBO_SUPPORT is not set
 # CONFIG_ESP_WIFI_DPP_SUPPORT is not set
 # CONFIG_ESP_WIFI_11R_SUPPORT is not set
 # CONFIG_ESP_WIFI_WPS_SOFTAP_REGISTRAR is not set
-CONFIG_ESP_WIFI_ENABLE_WIFI_RX_STATS=y
-CONFIG_ESP_WIFI_ENABLE_WIFI_RX_MU_STATS=y
 
 #
 # WPS Configuration Options
@@ -1099,6 +1074,8 @@ CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0
 CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES=1
 # CONFIG_FREERTOS_USE_TRACE_FACILITY is not set
 # CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is not set
+CONFIG_FREERTOS_USE_TICKLESS_IDLE=y
+CONFIG_FREERTOS_IDLE_TIME_BEFORE_SLEEP=3
 # end of Kernel
 
 #
@@ -1168,6 +1145,7 @@ CONFIG_IEEE802154_CCA_THRESHOLD=-60
 CONFIG_IEEE802154_PENDING_TABLE_SIZE=20
 # CONFIG_IEEE802154_MULTI_PAN_ENABLE is not set
 # CONFIG_IEEE802154_TIMING_OPTIMIZATION is not set
+CONFIG_IEEE802154_SLEEP_ENABLE=y
 # CONFIG_IEEE802154_DEBUG is not set
 # end of IEEE 802.15.4
 
@@ -1240,7 +1218,7 @@ CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8
 CONFIG_LWIP_IPV4=y
 CONFIG_LWIP_IPV6=y
 # CONFIG_LWIP_IPV6_AUTOCONFIG is not set
-CONFIG_LWIP_IPV6_NUM_ADDRESSES=3
+CONFIG_LWIP_IPV6_NUM_ADDRESSES=8
 # CONFIG_LWIP_IPV6_FORWARD is not set
 # CONFIG_LWIP_NETIF_STATUS_CALLBACK is not set
 CONFIG_LWIP_NETIF_LOOPBACK=y
@@ -1284,7 +1262,7 @@ CONFIG_LWIP_UDP_RECVMBOX_SIZE=6
 CONFIG_LWIP_CHECKSUM_CHECK_ICMP=y
 # end of Checksums
 
-CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=3072
+CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=4096
 CONFIG_LWIP_TCPIP_TASK_AFFINITY_NO_AFFINITY=y
 # CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0 is not set
 CONFIG_LWIP_TCPIP_TASK_AFFINITY=0x7FFFFFFF
@@ -1297,7 +1275,7 @@ CONFIG_LWIP_IPV6_ND6_NUM_NEIGHBORS=5
 # ICMP
 #
 CONFIG_LWIP_ICMP=y
-# CONFIG_LWIP_MULTICAST_PING is not set
+CONFIG_LWIP_MULTICAST_PING=y
 # CONFIG_LWIP_BROADCAST_PING is not set
 # end of ICMP
 
@@ -1333,8 +1311,8 @@ CONFIG_LWIP_HOOK_ND6_GET_GW_NONE=y
 CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_NONE=y
 # CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_DEFAULT is not set
 # CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_CUSTOM is not set
-CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_NONE=y
-# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_DEFAULT is not set
+# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_NONE is not set
+CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_DEFAULT=y
 # CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_CUSTOM is not set
 CONFIG_LWIP_HOOK_IP6_INPUT_NONE=y
 # CONFIG_LWIP_HOOK_IP6_INPUT_DEFAULT is not set
@@ -1392,6 +1370,8 @@ CONFIG_MBEDTLS_CMAC_C=y
 CONFIG_MBEDTLS_HARDWARE_ECC=y
 CONFIG_MBEDTLS_ECC_OTHER_CURVES_SOFT_FALLBACK=y
 CONFIG_MBEDTLS_ROM_MD5=y
+# CONFIG_MBEDTLS_HARDWARE_ECDSA_SIGN is not set
+CONFIG_MBEDTLS_HARDWARE_ECDSA_VERIFY=y
 # CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set
 # CONFIG_MBEDTLS_ATCA_HW_ECDSA_VERIFY is not set
 CONFIG_MBEDTLS_HAVE_TIME=y
@@ -1518,7 +1498,8 @@ CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC_HRT=y
 #
 # OpenThread
 #
-# CONFIG_OPENTHREAD_ENABLED is not set
+CONFIG_OPENTHREAD_ENABLED=y
+CONFIG_OPENTHREAD_LOG_LEVEL_DYNAMIC=y
 
 #
 # Thread Operational Dataset
@@ -1530,6 +1511,28 @@ CONFIG_OPENTHREAD_NETWORK_EXTPANID="dead00beef00cafe"
 CONFIG_OPENTHREAD_NETWORK_MASTERKEY="00112233445566778899aabbccddeeff"
 CONFIG_OPENTHREAD_NETWORK_PSKC="104810e2315100afd6bc9215a6bfac53"
 # end of Thread Operational Dataset
+
+CONFIG_OPENTHREAD_RADIO_NATIVE=y
+# CONFIG_OPENTHREAD_RADIO_SPINEL_UART is not set
+# CONFIG_OPENTHREAD_RADIO_SPINEL_SPI is not set
+CONFIG_OPENTHREAD_FTD=y
+# CONFIG_OPENTHREAD_MTD is not set
+# CONFIG_OPENTHREAD_RADIO is not set
+CONFIG_OPENTHREAD_CLI=y
+CONFIG_OPENTHREAD_DIAG=y
+# CONFIG_OPENTHREAD_COMMISSIONER is not set
+# CONFIG_OPENTHREAD_JOINER is not set
+CONFIG_OPENTHREAD_SRP_CLIENT=y
+CONFIG_OPENTHREAD_DNS_CLIENT=y
+# CONFIG_OPENTHREAD_BORDER_ROUTER is not set
+CONFIG_OPENTHREAD_NUM_MESSAGE_BUFFERS=65
+CONFIG_OPENTHREAD_DNS64_CLIENT=y
+CONFIG_OPENTHREAD_DNS_SERVER_ADDR="10.246.246.246"
+CONFIG_OPENTHREAD_UART_BUFFER_SIZE=256
+# CONFIG_OPENTHREAD_LINK_METRICS is not set
+# CONFIG_OPENTHREAD_MACFILTER_ENABLE is not set
+# CONFIG_OPENTHREAD_CSL_ENABLE is not set
+# CONFIG_OPENTHREAD_DUA_ENABLE is not set
 # end of OpenThread
 
 #
@@ -1648,12 +1651,6 @@ CONFIG_WS_BUFFER_SIZE=1024
 # end of Websocket
 # end of TCP Transport
 
-#
-# Ultra Low Power (ULP) Co-processor
-#
-# CONFIG_ULP_COPROC_ENABLED is not set
-# end of Ultra Low Power (ULP) Co-processor
-
 #
 # Unity unit testing library
 #
@@ -1709,15 +1706,16 @@ CONFIG_WIFI_PROV_STA_ALL_CHANNEL_SCAN=y
 #
 # AQI Program Configuration
 #
-# CONFIG_TEMP_ENABLED is not set
+CONFIG_TEMP_ENABLED=y
 # CONFIG_LIGHT_SLEEP_ENABLED is not set
 # CONFIG_ZIG_ENABLED is not set
-CONFIG_WIFI_ENABLED=y
+# CONFIG_WIFI_ENABLED is not set
+CONFIG_OT_ENABLED=y
 CONFIG_LED_ENABLED=y
-CONFIG_INDICATOR_ENABLED=y
-CONFIG_BROKER_URL="mqtts://esp32:sensorauth@rabbitmq.hexthepla.net"
-CONFIG_LOCATION="West Seattle"
-CONFIG_GPIO_ERASE_PIN=23
+# CONFIG_INDICATOR_ENABLED is not set
+CONFIG_BROKER_URL="mqtts://esp32:sensorauth@rabbitmq"
+CONFIG_LOCATION="Indoor AQI Monitor"
+CONFIG_GPIO_ERASE_PIN=25
 # end of AQI Program Configuration
 
 #
@@ -1734,10 +1732,10 @@ CONFIG_WIFI_MANAGER_RETRY_TIMER=5000
 CONFIG_WIFI_MANAGER_MAX_RETRY_START_AP=3
 CONFIG_WIFI_MANAGER_SHUTDOWN_AP_TIMER=60000
 CONFIG_WEBAPP_LOCATION="/"
-CONFIG_DEFAULT_AP_SSID="aqimonitor"
-CONFIG_DEFAULT_AP_PASSWORD="aqimonitorpwd"
+CONFIG_DEFAULT_AP_SSID="esp32"
+CONFIG_DEFAULT_AP_PASSWORD="esp32pwd"
 CONFIG_DEFAULT_AP_CHANNEL=1
-CONFIG_NVS_WIFI_PARTITION="wifi_storage"
+CONFIG_NVS_WIFI_PARTITION="factory"
 CONFIG_DEFAULT_AP_IP="10.10.0.1"
 CONFIG_DEFAULT_AP_GATEWAY="10.10.0.1"
 CONFIG_DEFAULT_AP_NETMASK="255.255.255.0"
@@ -1745,17 +1743,6 @@ CONFIG_DEFAULT_AP_MAX_CONNECTIONS=4
 CONFIG_DEFAULT_AP_BEACON_INTERVAL=100
 # end of Wifi Manager Configuration
 
-#
-# Zigbee
-#
-CONFIG_ZB_ENABLED=y
-# CONFIG_ZB_ZCZR is not set
-CONFIG_ZB_ZED=y
-# CONFIG_ZB_RCP is not set
-CONFIG_ZB_RADIO_NATIVE=y
-# CONFIG_ZB_RADIO_MACSPLIT_UART is not set
-# end of Zigbee
-
 #
 # mDNS
 #
@@ -1821,9 +1808,6 @@ CONFIG_STACK_CHECK_NONE=y
 CONFIG_ESP32_APPTRACE_DEST_NONE=y
 CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y
 # CONFIG_MCPWM_ISR_IN_IRAM is not set
-CONFIG_SW_COEXIST_ENABLE=y
-CONFIG_ESP32_WIFI_SW_COEXIST_ENABLE=y
-CONFIG_ESP_WIFI_SW_COEXIST_ENABLE=y
 # CONFIG_EXTERNAL_COEX_ENABLE is not set
 # CONFIG_ESP_WIFI_EXTERNAL_COEXIST_ENABLE is not set
 # CONFIG_EVENT_LOOP_PROFILING is not set
@@ -1832,7 +1816,6 @@ CONFIG_POST_EVENTS_FROM_IRAM_ISR=y
 # CONFIG_OTA_ALLOW_HTTP is not set
 # CONFIG_ESP_SYSTEM_PD_FLASH is not set
 CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y
-# CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION is not set
 CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20
 CONFIG_ESP32_PHY_MAX_TX_POWER=20
 # CONFIG_REDUCE_PHY_TX_POWER is not set
@@ -1854,7 +1837,7 @@ CONFIG_TASK_WDT=y
 CONFIG_ESP_TASK_WDT=y
 # CONFIG_TASK_WDT_PANIC is not set
 CONFIG_TASK_WDT_TIMEOUT_S=5
-# CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0 is not set
+CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=y
 # CONFIG_ESP32_DEBUG_STUBS_ENABLE is not set
 CONFIG_BROWNOUT_DET=y
 CONFIG_BROWNOUT_DET_LVL_SEL_7=y
@@ -1866,14 +1849,12 @@ CONFIG_BROWNOUT_DET_LVL_SEL_7=y
 CONFIG_BROWNOUT_DET_LVL=7
 CONFIG_IPC_TASK_STACK_SIZE=1024
 CONFIG_TIMER_TASK_STACK_SIZE=3584
-CONFIG_ESP32_WIFI_ENABLED=y
 CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10
 CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32
 # CONFIG_ESP32_WIFI_STATIC_TX_BUFFER is not set
 CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER=y
 CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=1
 CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM=32
-# CONFIG_ESP32_WIFI_CSI_ENABLED is not set
 CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y
 CONFIG_ESP32_WIFI_TX_BA_WIN=6
 CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y
@@ -1889,7 +1870,6 @@ CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE=y
 CONFIG_ESP32_WIFI_ENABLE_WPA3_OWE_STA=y
 CONFIG_WPA_MBEDTLS_CRYPTO=y
 CONFIG_WPA_MBEDTLS_TLS_CLIENT=y
-# CONFIG_WPA_WAPI_PSK is not set
 # CONFIG_WPA_SUITE_B_192 is not set
 # CONFIG_WPA_11KV_SUPPORT is not set
 # CONFIG_WPA_MBO_SUPPORT is not set
@@ -1923,7 +1903,7 @@ CONFIG_TCP_OVERSIZE_MSS=y
 # CONFIG_TCP_OVERSIZE_QUARTER_MSS is not set
 # CONFIG_TCP_OVERSIZE_DISABLE is not set
 CONFIG_UDP_RECVMBOX_SIZE=6
-CONFIG_TCPIP_TASK_STACK_SIZE=3072
+CONFIG_TCPIP_TASK_STACK_SIZE=4096
 CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY=y
 # CONFIG_TCPIP_TASK_AFFINITY_CPU0 is not set
 CONFIG_TCPIP_TASK_AFFINITY=0x7FFFFFFF