-
Notifications
You must be signed in to change notification settings - Fork 12
Description
Thank you for making this great library! I meet some problem when performing an ota update,
using
ota.update.from_file("http://192.168.0.88:8000/ESP32_GENERIC-OTA-git-16MB-resize=vfs.bin", reboot=True)
I got
Writing new micropython image to OTA partition 'ota_1'...
Device capacity: 384 x 4096 byte blocks.
Opening firmware file http://192.168.0.88:8000/ESP32_GENERIC-OTA-git-16MB-resize=vfs.bin...
BLOCK 376 + 1376 bytes
Verifying SHA of the written data...Passed.
SHA256=fea0dab2c5f1e5c799e243e6d16a7749bb14675673442e587a724b80393be838
OTA Partition 'ota_1' updated successfully.
Micropython will boot from 'ota_1' partition on next boot.
Remember to call ota.rollback.cancel() after successful reboot.
Rebooting in 1 seconds (ctrl-C to cancel)
ets Jul 29 2019 12:21:46
rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0030,len:4112
load:0x40078000,len:15084
load:0x40080400,len:4
load:0x40080404,len:3332
entry 0x400805ac
E (91) esp_image: Segment 0 0x3fff0030-0x3fff1040 invalid: overlaps bootloader data
E (91) boot: OTA app partition slot 1 is not bootable
Note that Segment 0 0x3fff0030-0x3fff1040 invalid: overlaps bootloader data, after reboot, the firmware did not update.
The firmware I'm using is a custom build micropython, the build script is make BOARD=ESP32_GENERIC BOARD_VARIANT=OTA, the board I'm
using is esp32-wroom-32e with 16Mb flash, so I'm using your another tool mp-image-tool-esp32 firmware.bin -f 16M --resize vfs=0 to create a suitable firmware, and the problem occured.
Here is the board info
ota.status.status()
Micropython v1.26.0-preview.1587.df421577a1 has booted from partition 'ota_0'.
Will boot from partition 'ota_1' on next reboot.
The next OTA partition for update is 'ota_1'.
The / filesystem is mounted from partition 'vfs'.
Partition table:
# Name Type SubType Offset Size (bytes)
nvs data nvs 0x9000 0x4000 16,384
otadata data ota 0xd000 0x2000 8,192
phy_init data phy 0xf000 0x1000 4,096
ota_0 app ota_0 0x10000 0x180000 1,572,864
ota_1 app ota_1 0x190000 0x180000 1,572,864
vfs data fat 0x310000 0xcf0000 13,565,952
OTA record: state=PENDING, seq=2, crc=1442199412, valid=False
OTA record is PENDING.
OTA record: state=ABORTED, seq=2, crc=1442199412, valid=False
OTA record is ABORTED.
Next boot is 'ota_0'.
Extra info
The firmware I build is able to flash using esptool, so I don't think it's a firmware problem.