On 2/24/26 04:40, Mark Webb-Johnson via OvmsDev wrote:
OK, I have just committed this. The two new commands are:
* ota partitions list
* ota partitions upgrade [-noconfirm]
Rollback is via:
* wget http://api.openvehicles.com/firmware/ota/v3.1/main/
partitions.bin <http://api.openvehicles.com/firmware/ota/v3.1/main/
partitions.bin>
* esptool.py -p <path-to-usb> write_flash 0x8000 partitions.bin General approach to manual upgrade:
1. Upgrade to firmware supporting this feature (3.3.005-711-g4feca695
or later)
2. Copy running ota firmware to factory
3. Set to boot from flash and reboot
4. Use âota partitions upgradeâ to upgrade
5. Reboot
Items still to be addressed:
* Documentation (including rollback procedure).
* Modify partitions.csv to use this new format (when ready for
production).
* Web interface (in particular concept of factory vs ota), if
necessary (havenât checked this).
* OTA flash builds. We will need a way to support 6MB builds for those
that can use them. I suggest to change GetOVMSProduct() to return
v3.5 for these modules that are running this new 6MB capable
partition table. Then on server we can build a production release
final 4MB firmware including this support, and then use v3.5 tree to
build future 6MB only builds. The âota flashâ system would
automatically support that and give people time to upgrade (as well
as new users with 4MB partition modules for many months).
* Investigate any simple way to make this a simple one-command
(current ota->factory, boot factory, reboot, partitions upgrade,
reboot).
For the moment, please try this out and let me know if you find any problems. We can then decide on the items still to be addressed.
I took a run at this with my dev module:
OVMS# ota
Hardware: OVMS WIFI BLE BT cores=2 rev=ESP32/3; MODEM SIM7600
Firmware: 3.3.005-711-g4feca695-dirty/ota_1/main (build idf v3.3.4-854-g9063c8662 Feb 24 2026 15:08:43)
Partition type: v3-f12 (factory, ota1, ota2)
Partition table: 0x8000
Running partition: ota_1
Boot partition: ota_1
Factory image: 3.3.005-20-g60be058e
OTA_O image: 3.3.005-700-g0a804e40-dirty
OTA_1 image: 3.3.005-711-g4feca695-dirty
OVMS# ota copy ota_1 factory
OTA copy ota_1 (08454144) -> factory (00010000) size 4194304
Error: ESP32 error #258 starting OTA operation
OVMS#
I couldn't find 258 so I internet searched it and learned that it is ESP_ERR_NOT_SUPPORTED (from components/esp32/include/esp_err.h, might be worth displaying in hex given that's how it's defined).
I checked and my esp-idf is up to date.
Craig
sea 12 % pwd
/home/sea/u0/leres/esp/esp-idf
sea 13 % git log | head
commit 9063c8662ca5d67b5490c1503bd4377b380feed3
Author: Michael Balzer <balzer@expeedo.de>
Date: Tue Jan 27 17:34:34 2026 +0100
Fix mutex priority inheritance bug in spi_flash component:
backport of esp-idf commit aea2fe08162e1ba86ad0189178c1f1cf29238bbd,
see https://github.com/espressif/esp-idf/issues/5116
and https://github.com/espressif/esp-idf/issues/7580
commit 75bdad1e05dbbfe2ef79e8398749ff6aaa7deb92
sea 17 % pwd
/home/sea/u0/leres/src/OVMS.V3
sea 18 % git log | head
commit 4feca695d922f26b5f3864fe43c6855b8f223675
Author: Mark Webb-Johnson <mark@webb-johnson.net>
Date: Tue Feb 24 20:21:30 2026 +0800
Support for ota 0+1 partition table format, and 6MB firmware
commit 1241912b48628e89947e1600f86365b4b174c6c8
Merge: 92f93554 141bad50
Author: Michael Balzer <dexter@dexters-web.de>
Date: Sun Feb 22 15:57:13 2026 +0100