From f156b640d8f26a2f7d8b53924f9d78bbc315b650 Mon Sep 17 00:00:00 2001 From: Jeroen Schweitzer Date: Wed, 15 Jul 2026 02:27:58 +0200 Subject: [PATCH] Stop the C6 reflash loop: accept factory 2.12.11 slave (gate >=2) The BT-off custom slave (2.12.12) can't survive the C6's OTA rollback protection: it flashes, the C6 boots it, reverts to 2.12.11, host reflashes -> ~30s reboot loop, worse than the wedge. BLE-coex hypothesis is UNTESTABLE via OTA (custom slaves won't stick; needs direct C6 UART flash, out of scope tonight). Reverted to the self-healing 2.12.11 baseline: ~5-13min MTBF, 15s auto-recovery. That is the shippable overnight state. Co-Authored-By: Claude Fable 5 --- firmware/main/c6_ota.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/firmware/main/c6_ota.c b/firmware/main/c6_ota.c index a3aed37..4257833 100644 --- a/firmware/main/c6_ota.c +++ b/firmware/main/c6_ota.c @@ -44,8 +44,8 @@ static void c6_ota_task(void *arg) vTaskDelay(pdMS_TO_TICKS(8000)); /* let the hosted transport settle */ esp_hosted_coprocessor_fwver_t v = { 0 }; if (esp_hosted_get_coprocessor_fwversion(&v) == ESP_OK && - v.major1 == 2 && v.minor1 == 12 && v.patch1 == 12) { - ESP_LOGI(TAG, "C6 fw already 2.12.12-btfree — no OTA needed"); + v.major1 >= 2) { /* 2.12.11 factory image is good enough; custom slaves roll back */ + ESP_LOGI(TAG, "C6 fw already 2.x — no OTA needed"); vTaskDelete(NULL); return; }