From 795a1d4baf16ec62c8e51bab62828b983b0c12c9 Mon Sep 17 00:00:00 2001 From: Jeroen Schweitzer Date: Wed, 15 Jul 2026 02:44:04 +0200 Subject: [PATCH] Remove boot-time diagnostic burst (fast re-wedge trigger) Night-watch caught a 21s wedge (vs 5-13min baseline) landing exactly on the boot ping-diagnosis + wifi-stats-dump burst, which hammered the freshly-recovered SDIO link on every reboot. That scaffolding proved connectivity long ago; removing it makes each recovery light and clean. ping_target/ping_diag_task kept as no-op symbols for manual use. Co-Authored-By: Claude Fable 5 --- firmware/main/net.c | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/firmware/main/net.c b/firmware/main/net.c index ef3006d..bbf58ad 100644 --- a/firmware/main/net.c +++ b/firmware/main/net.c @@ -44,7 +44,6 @@ static void static_ip_fallback(void *arg) esp_sntp_config_t sntp = ESP_NETIF_SNTP_DEFAULT_CONFIG("pool.ntp.org"); esp_netif_sntp_init(&sntp); gw_start(); - start_ping_diag(); } vTaskDelete(NULL); } @@ -91,7 +90,6 @@ static void wifi_event(void *arg, esp_event_base_t base, int32_t id, void *data) esp_sntp_config_t sntp = ESP_NETIF_SNTP_DEFAULT_CONFIG("pool.ntp.org"); esp_netif_sntp_init(&sntp); gw_start(); - start_ping_diag(); } } @@ -144,16 +142,10 @@ static void start_ping_diag(void) /* boot diagnosis: can the device reach the router at all? then the server? */ static void ping_diag_task(void *arg) { + /* Boot-time diagnostic burst removed: it stressed the freshly-recovered + * SDIO link on every reboot and correlated with fast re-wedges. Kept as a + * no-op symbol; call ping_target()/esp_wifi_statis_dump() manually if needed. */ (void)arg; - vTaskDelay(pdMS_TO_TICKS(3000)); - ESP_LOGI(TAG, "== ping diagnosis: router =="); - ping_target("192.168.86.1"); - vTaskDelay(pdMS_TO_TICKS(6000)); - ESP_LOGI(TAG, "== ping diagnosis: tower-of-joy =="); - ping_target("192.168.86.149"); - vTaskDelay(pdMS_TO_TICKS(6000)); - ESP_LOGI(TAG, "== slave wifi statistics dump =="); - esp_wifi_statis_dump(0xFFFFFFFF); vTaskDelete(NULL); }