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