Skip to content

host_performs_slave_ota: Failed to activate OTA (using partition-method) (EHM-116) #113

@Justin08784

Description

@Justin08784

Checklist

  • Checked the issue tracker for similar issues to ensure this is not a duplicate
  • Read the documentation to confirm the issue is not addressed there and your configuration is set correctly
  • Tested with the latest version to ensure the issue hasn't been fixed

How often does this bug occurs?

always

Expected behavior

c6 should boot into the newest firmware (esp_hosted slave example v2.6.0) that has been conveyed via OTA (using the partition-method in the "host_performs_slave_ota" example).

Actual behavior (suspected bug)

c6 does NOT boot into the newest firmware that has been conveyed via OTA.

The following RPC fails ret = esp_hosted_slave_ota_activate();, resulting in the following error message in the log: E (12843) host_performs_slave_ota: Failed to activate OTA: ESP_ERR_NOT_SUPPORTED.

HW: Firebeetle 2 (esp32p4 with esp32c6 wifi coprocessor)

Error logs or terminal output

Uh what happened? Did the slave activate the new fw? (2.6.0)

Leaving...
Hard resetting via RTS pin...
Executing action: monitor
Running idf_monitor in directory /Users/shinej/umich-cs/eecs473/host_performs_slave_ota
Executing "/Users/shinej/.espressif/python_env/idf5.5_py3.13_env/bin/python /Users/shinej/umich-cs/eecs473/esp-idf-v5.5.1/tools/idf_monitor.py -p /dev/cu.usbmodem1401 -b 115200 --toolchain-prefix riscv32-esp-elf- --target esp32p4 --revision 1 --decode-panic backtrace /Users/shinej/umich-cs/eecs473/host_performs_slave_ota/build/host_performs_slave_ota.elf /Users/shinej/umich-cs/eecs473/host_performs_slave_ota/build/bootloader/bootloader.elf -m '/Users/shinej/.espressif/python_env/idf5.5_py3.13_env/bin/python' '/Users/shinej/umich-cs/eecs473/esp-idf-v5.5.1/tools/idf.py'"...
--- esp-idf-monitor 1.8.0 on /dev/cu.usbmodem1401 115200
--- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H
I (299) app_init: CompiESP-ROM:esp32p4-eco2-20240710
Build:Jul 10 2024
rst:0x17 (CHIP_USB_UART_RESET),boot:0xc (SPI_FAST_FLASH_BOOT)
Core0 Saved PC:0x4fc1c31c
Core1 Saved PC:0x4fc012ca
SPI mode:DIO, clock div:1
load:0x4ff33ce0,len:0x164c
load:0x4ff29ed0,len:0xdfc
--- 0x4ff29ed0: esp_bootloader_get_description at /Users/shinej/umich-cs/eecs473/esp-idf-v5.5.1/components/esp_bootloader_format/esp_bootloader_desc.c:39
load:0x4ff2cbd0,len:0x336c
--- 0x4ff2cbd0: esp_flash_encryption_enabled at /Users/shinej/umich-cs/eecs473/esp-idf-v5.5.1/components/bootloader_support/src/flash_encrypt.c:89
entry 0x4ff29eda
--- 0x4ff29eda: call_start_cpu0 at /Users/shinej/umich-cs/eecs473/esp-idf-v5.5.1/components/bootloader/subproject/main/bootloader_start.c:25
I (27) boot: ESP-IDF v5.5.1 2nd stage bootloader
I (28) boot: compile time Oct 16 2025 06:42:03
I (28) boot: Multicore bootloader
I (29) boot: chip revision: v1.0
I (30) boot: efuse block revision: v0.3
I (34) boot.esp32p4: SPI Speed      : 80MHz
I (38) boot.esp32p4: SPI Mode       : DIO
I (42) boot.esp32p4: SPI Flash Size : 8MB
I (45) boot: Enabling RNG early entropy source...
I (50) boot: Partition Table:
I (52) boot: ## Label            Usage          Type ST Offset   Length
I (59) boot:  0 nvs              WiFi data        01 02 00009000 00004000
I (65) boot:  1 otadata          OTA data         01 00 0000d000 00002000
I (72) boot:  2 phy_init         RF data          01 01 0000f000 00001000
I (78) boot:  3 ota_0            OTA app          00 10 00010000 00200000
I (85) boot:  4 ota_1            OTA app          00 11 00210000 00200000
I (91) boot:  5 storage          Unknown data     01 83 00410000 001e0000
I (98) boot:  6 slave_fw         Unknown data     01 40 005f0000 00200000
I (105) boot: End of partition table
I (109) esp_image: segment 0: paddr=00010020 vaddr=40050020 size=2c704h (182020) map
I (141) esp_image: segment 1: paddr=0003c72c vaddr=30100000 size=00044h (    68) load
I (143) esp_image: segment 2: paddr=0003c778 vaddr=4ff00000 size=038a0h ( 14496) load
I (148) esp_image: segment 3: paddr=00040020 vaddr=40000020 size=4f22ch (324140) map
I (198) esp_image: segment 4: paddr=0008f254 vaddr=4ff038a0 size=0d1a8h ( 53672) load
I (209) esp_image: segment 5: paddr=0009c404 vaddr=4ff10a80 size=02750h ( 10064) load
I (215) boot: Loaded app from partition at offset 0x10000
I (216) boot: Disabling RNG early entropy source...
I (229) cpu_start: Multicore app
--- Error: read failed: [Errno 6] Device not configured
--- Waiting for the device to reconnect
I (1635) sdio_wrapper: SDIO master: Slot 1, Data-Lines: 4-bit Freq(KHz)[40000 KHz]
I (1635) sdio_wrapper: GPIOs: CLK[18] CMD[19] D0[14] D1[15] D2[16] D3[17] Slave_Reset[54]
I (1639) sdio_wrapper: Queues: Tx[20] Rx[20] SDIO-Rx-Mode[1]
Name:
Type: SDIO
Speed: 40.00 MHz (limit: 40.00 MHz)
Size: 0MB
CSD: ver=1, sector_size=0, capacity=0 read_bl_len=0
SCR: sd_spec=0, bus_width=0
TUPLE: DEVICE, size: 3: D9 01 FF
TUPLE: MANFID, size: 4
  MANF: 0092, CARD: 6666
TUPLE: FUNCID, size: 2: 0C 00
TUPLE: FUNCE, size: 4: 00 00 02 32
TUPLE: CONFIG, size: 5: 01 01 00 02 07
TUPLE: CFTABLE_ENTRY, size: 8
  INDX: C1, Intface: 1, Default: 1, Conf-Entry-Num: 1
  IF: 41
  FS: 30, misc: 0, mem_space: 1, irq: 1, io_space: 0, timing: 0, power: 0
  IR: 30, mask: 1,   IRQ: FF FF
  LEN: FFFF
TUPLE: END
I (1717) sdio_wrapper: Function 0 Blocksize: 512
I (1721) sdio_wrapper: Function 1 Blocksize: 512
I (1725) H_SDIO_DRV: Card init success, TRANSPORT_RX_ACTIVE
I (1731) transport: set_transport_state: 1
I (1734) transport: Waiting for esp_hosted slave to be ready
I (1804) H_SDIO_DRV: SDIO Host operating in STREAMING MODE
I (1804) H_SDIO_DRV: Open data path at slave
I (1804) H_SDIO_DRV: Starting SDIO process rx task
I (1832) H_SDIO_DRV: Received ESP_PRIV_IF type message
I (1832) transport: Received INIT event from ESP32 peripheral
I (1832) transport: EVENT: 12
I (1834) transport: Identified slave [esp32c6]
I (1838) transport: EVENT: 11
I (1840) transport: capabilities: 0xd
I (1844) transport: Features supported are:
I (1848) transport: 	 * WLAN
I (1850) transport: 	   - HCI over SDIO
I (1854) transport: 	   - BLE only
I (1857) transport: EVENT: 13
W (1860) transport: === ESP-Hosted Version Warning ===
Version on Host is NEWER than version on co-processor
RPC requests sent by host may encounter timeout errors
or may not be supported by co-processor
W (1878) transport: === ESP-Hosted Version Warning ===
I (1883) transport: ESP board type is : 13

I (1887) transport: Base transport is set-up, TRANSPORT_TX_ACTIVE
I (1893) H_API: Transport active
I (1896) transport: Slave chip Id[12]
I (1899) transport: raw_tp_dir[-], flow_ctrl: low[60] high[80]
I (1904) transport: transport_delayed_init
I (1908) esp_cli: Remove any existing deep_sleep cmd in cli
I (1914) esp_cli: Registering command: crash
I (1918) esp_cli: Registering command: reboot
I (1922) esp_cli: Registering command: mem-dump
I (1926) esp_cli: Registering command: task-dump
I (1930) esp_cli: Registering command: cpu-dump
I (1934) esp_cli: Registering command: heap-trace
I (1939) esp_cli: Registering command: sock-dump
I (1943) esp_cli: Registering command: host-power-save
I (1948) hci_stub_drv: Host BT Support: Disabled
I (1952) H_SDIO_DRV: Received INIT event
I (1956) H_SDIO_DRV: Event type: 0x22
I (1959) H_SDIO_DRV: Write thread started
I (1963) host_performs_slave_ota: ESP-Hosted initialized successfully
I (2407) host_performs_slave_ota: Host firmware version: 2.6.0
I (2407) host_performs_slave_ota: Slave firmware version: 2.5.12
W (2408) host_performs_slave_ota: === ESP-Hosted Version Warning ===
Version on Host is NEWER than version on co-processor
RPC requests sent by host may encounter timeout errors
or may not be supported by co-processor
W (2427) host_performs_slave_ota: === ESP-Hosted Version Warning ===
I (2433) host_performs_slave_ota: Using Partition OTA method
I (2438) ota_partition: Starting Partition OTA from partition: slave_fw
I (2445) ota_partition: Found partition: slave_fw, size: 2097152 bytes
I (2451) ota_partition: Image header: magic=0xe9, segment_count=5, hash_appended=1
I (2458) ota_partition: Segment 0: data_len=305556, load_addr=0x420e0020
I (2465) ota_partition: Found app description: version='2.6.0', project_name='network_adapter'
I (2473) ota_partition: Segment 1: data_len=22108, load_addr=0x40800000
I (2479) ota_partition: Segment 2: data_len=893192, load_addr=0x42000020
I (2486) ota_partition: Segment 3: data_len=112024, load_addr=0x4080565c
I (2492) ota_partition: Segment 4: data_len=14524, load_addr=0x40820c00
I (2499) ota_partition: Total image size: 1347505 bytes
I (2503) ota_partition: Firmware verified - Size: 1347505 bytes, Version: 2.6.0
I (2512) ota_partition: Current slave firmware version: 2.5.12
I (2516) ota_partition: New slave firmware version: 2.6.0
I (2521) ota_partition: Version differs - proceeding with OTA from 2.5.12 to 2.6.0
I (2528) ota_partition: Proceeding with OTA - Firmware size: 1347505 bytes
E (12829) rpc_rsp: OTA write failed
I (12829) ota_partition: Partition OTA completed successfully - Sent 1347505 bytes
I (12830) host_performs_slave_ota: OTA completed successfully
E (12843) host_performs_slave_ota: Failed to activate OTA: ESP_ERR_NOT_SUPPORTED
I (12844) main_task: Returned from app_main()

Steps to reproduce the behavior

Get c6 firmware: idf.py create-project-from-example "espressif/esp_hosted=2.6.0:slave"
Get host_performs_slave_ota example: idf.py create-project-from-example "espressif/esp_hosted:host_performs_slave_ota"

Move slave "network_adapter.bin" into host_performs_slave_ota/... and follow the steps for partition method exactly.

Project release version

latest

System architecture

ARM 64-bit (Apple M1/M2, Raspberry Pi 4/5)

Operating system

MacOS

Operating system version

Sequoia 15.3.1

Shell

ZSH

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions