Closed
Description
Basic Infos
Hardware
Hardware: ESP-07
Core Version: 2.3.0
Description
I do an update just like in the examples, but sometimes, I get an error and the ESP reboots. Since it's not a permanent error, I think it might be a problem with the HTTPS connection.
By the way, I found another thing:
In Example Sketch httpUpdate.ino
, there is the Line //t_httpUpdate_return ret = ESPhttpUpdate.update("https://server/file.bin");
, but this won't work since there is no fingerprint given.
Settings in IDE
Module: Generic ESP8266 Module
Flash Size: 1 MB
CPU Frequency: 80 MHz
Flash Mode: DIO
Flash Frequency: ?40Mhz?
Upload Using: OTA
Reset Method: ?ck / nodemcu?
Sketch
#include <Arduino.h>
void setup() {
}
void loop() {
update("firmware.ino.bin");
}
void update(const String& filename) {
SPIFFS.end();
t_httpUpdate_return ret = ESPhttpUpdate.update(String ("https://") + cfg_otaHost + "/" + filename, getVersion(), cfg_sha1Fingerprint);
switch(ret) {
case HTTP_UPDATE_FAILED:
Serial.printf("Update fehlgeschlagen (%d): %s", ESPhttpUpdate.getLastError(), ESPhttpUpdate.getLastErrorString().c_str());
break;
case HTTP_UPDATE_NO_UPDATES:
Serial.println("Kein Update verfügbar.");
break;
case HTTP_UPDATE_OK:
Serial.println("HTTP_UPDATE_OK");
break;
}
SPIFFS.begin();
}
Debug Messages
Fatal exception 29(StoreProhibitedCause):
epc1=0x4000e1b2, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00000004, depc=0x00000000
Exception (29):
epc1=0x4000e1b2 epc2=0x00000000 epc3=0x00000000 excvaddr=0x00000004 depc=0x00000000
ctx: cont
sp: 3fff2340 end: 3fff2a20 offset: 01a0
>>>stack>>>
3fff24e0: 00000414 000010a5 000010a5 4023137f
...
Decoded Stack trace
0x4023137f: bi_int_multiply at /Users/igrokhotkov/e/axtls/e1/crypto/bigint.c line 353
0x40231518: regular_multiply at /Users/igrokhotkov/e/axtls/e1/crypto/bigint.c line 853
0x402317ca: bi_str_import at /Users/igrokhotkov/e/axtls/e1/crypto/bigint.c line 666
0x402107e8: SPIFFSFileImpl::name() const at /home/thomas/.arduino15/packages/esp8266/hardware/esp8266/2.3.0/cores/esp8266/spiffs_api.h line 365
0x40232326: bi_mod_power2 at /Users/igrokhotkov/e/axtls/e1/crypto/bigint.c line 1468
0x40232581: ax_hmac_sha1 at /Users/igrokhotkov/e/axtls/e1/crypto/hmac.c line 100
0x402313e4: bi_int_multiply at /Users/igrokhotkov/e/axtls/e1/crypto/bigint.c line 366 (discriminator 1)
0x4023360d: SHA256_Process at /Users/igrokhotkov/e/axtls/e1/crypto/sha256.c line 124
0x4022f718: process_server_hello_done at /Users/igrokhotkov/e/axtls/e1/ssl/tls1_clnt.c line 327
: (inlined by) do_clnt_handshake at /Users/igrokhotkov/e/axtls/e1/ssl/tls1_clnt.c line 97
0x4022fb19: send_server_hello at /Users/igrokhotkov/e/axtls/e1/ssl/tls1_svr.c line 324
: (inlined by) send_server_hello_sequence at /Users/igrokhotkov/e/axtls/e1/ssl/tls1_svr.c line 259
: (inlined by) do_svr_handshake at /Users/igrokhotkov/e/axtls/e1/ssl/tls1_svr.c line 80
0x4020a7ab: SSLContext::read(unsigned char*, unsigned int) at /home/thomas/.arduino15/packages/esp8266/hardware/esp8266/2.3.0/libraries/ESP8266WiFi/src/WiFiClientSecure.cpp line 517
: (inlined by) WiFiClientSecure::read(unsigned char*, unsigned int) at /home/thomas/.arduino15/packages/esp8266/hardware/esp8266/2.3.0/libraries/ESP8266WiFi/src/WiFiClientSecure.cpp line 311
0x4022f510: send_client_hello at /Users/igrokhotkov/e/axtls/e1/ssl/tls1_clnt.c line 245
: (inlined by) do_client_connect at /Users/igrokhotkov/e/axtls/e1/ssl/tls1_clnt.c line 153
0x4022f8b8: process_cert_verify at /Users/igrokhotkov/e/axtls/e1/ssl/tls1_svr.c line 480
0x401006f0: cont_run at /home/thomas/.arduino15/packages/esp8266/hardware/esp8266/2.3.0/cores/esp8266/cont.S line 75
0x4022f668: process_server_hello at /Users/igrokhotkov/e/axtls/e1/ssl/tls1_clnt.c line 281
: (inlined by) do_clnt_handshake at /Users/igrokhotkov/e/axtls/e1/ssl/tls1_clnt.c line 89
0x4020a58c: ClientContext::read(char*, unsigned int) at /home/thomas/.arduino15/packages/esp8266/hardware/esp8266/2.3.0/libraries/ESP8266WiFi/src/WiFiClientSecure.cpp line 517
0x4020ac4d: ax_port_read at /home/thomas/.arduino15/packages/esp8266/hardware/esp8266/2.3.0/libraries/ESP8266WiFi/src/WiFiClientSecure.cpp line 540
0x40209fb2: ClientContext::_error(signed char) at /home/thomas/.arduino15/packages/esp8266/hardware/esp8266/2.3.0/libraries/ESP8266WiFi/src/WiFiServer.cpp line 159
: (inlined by) ClientContext::_s_error(void*, signed char) at /home/thomas/.arduino15/packages/esp8266/hardware/esp8266/2.3.0/libraries/ESP8266WiFi/src/include/ClientContext.h line 324
0x4020afa1: WiFiServer::_s_accept(void*, tcp_pcb*, signed char) at /home/thomas/.arduino15/packages/esp8266/hardware/esp8266/2.3.0/libraries/ESP8266WiFi/src/WiFiServer.cpp line 159
0x4020b998: HTTPClient::sendHeader(char const*) at /home/thomas/.arduino15/packages/esp8266/hardware/esp8266/2.3.0/libraries/ESP8266HTTPClient/src/ESP8266HTTPClient.cpp line 197
0x4020fb7b: String::concat(char const*, unsigned int) at /home/thomas/.arduino15/packages/esp8266/hardware/esp8266/2.3.0/cores/esp8266/WString.cpp line 519
0x4020c160: HTTPClient::begin(String) at /home/thomas/.arduino15/packages/esp8266/hardware/esp8266/2.3.0/libraries/ESP8266HTTPClient/src/ESP8266HTTPClient.cpp line 197
0x4020fd25: operator+(StringSumHelper const&, char const*) at /home/thomas/.arduino15/packages/esp8266/hardware/esp8266/2.3.0/cores/esp8266/WString.cpp line 519
0x4021063c: fs::DirImpl::~DirImpl() at /home/thomas/.arduino15/packages/esp8266/hardware/esp8266/2.3.0/cores/esp8266/FSImpl.h line 56
0x4020b847: HTTPClient::connect() at ?? line ?
0x4020c20e: std::unique_ptr >::operator=(std::unique_ptr >&&) at /home/thomas/.arduino15/packages/esp8266/hardware/esp8266/2.3.0/libraries/ESP8266HTTPClient/src/ESP8266HTTPClient.cpp line 197
: (inlined by) HTTPClient::begin(String, String) at /home/thomas/.arduino15/packages/esp8266/hardware/esp8266/2.3.0/libraries/ESP8266HTTPClient/src/ESP8266HTTPClient.cpp line 112
0x4020905f: ESP8266HTTPUpdate::handleUpdate(HTTPClient&, String const&, bool) at /home/thomas/.arduino15/packages/esp8266/hardware/esp8266/2.3.0/libraries/ESP8266httpUpdate/src/ESP8266httpUpdate.cpp line 36
0x4010020c: _umm_free at /home/thomas/.arduino15/packages/esp8266/hardware/esp8266/2.3.0/cores/esp8266/umm_malloc/umm_malloc.c line 1287
0x401008e0: __subsf3 at /home/igrokhotkov/xtensa/crosstool-NG/.build/src/gcc-4.8.2/libgcc/config/xtensa/ieee754-sf.S line 412
0x4020f0b3: Stream::readStringUntil(char) at /home/thomas/.arduino15/packages/esp8266/hardware/esp8266/2.3.0/cores/esp8266/Stream.cpp line 248
0x40209365: ESP8266WiFiGenericClass::hostByName(char const*, IPAddress&) at /home/thomas/.arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/xtensa-lx106-elf/include/c++/4.8.2/functional line 1954
0x4020fbfe: String::concat(int) at /home/thomas/.arduino15/packages/esp8266/hardware/esp8266/2.3.0/cores/esp8266/WString.cpp line 519
0x402076ab: Updater::update(String const&) at /tmp/buildf5d0cc7b1861a0df8f215d76407bddf1.tmp/sketch/Updater.cpp line 20
0x40207e4b: loop at /tmp/buildf5d0cc7b1861a0df8f215d76407bddf1.tmp/sketch/main.cpp line 115
0x4020ebd1: Print::printNumber(unsigned long, unsigned char) at /home/thomas/.arduino15/packages/esp8266/hardware/esp8266/2.3.0/cores/esp8266/Print.cpp line 188
0x4010020c: _umm_free at /home/thomas/.arduino15/packages/esp8266/hardware/esp8266/2.3.0/cores/esp8266/umm_malloc/umm_malloc.c line 1287
0x401008e0: __subsf3 at /home/igrokhotkov/xtensa/crosstool-NG/.build/src/gcc-4.8.2/libgcc/config/xtensa/ieee754-sf.S line 412
0x4020fad0: String::init() at /home/thomas/.arduino15/packages/esp8266/hardware/esp8266/2.3.0/cores/esp8266/WString.cpp line 519
: (inlined by) String::String(double, unsigned char) at /home/thomas/.arduino15/packages/esp8266/hardware/esp8266/2.3.0/cores/esp8266/WString.cpp line 110
0x40207c46: setup at /tmp/buildf5d0cc7b1861a0df8f215d76407bddf1.tmp/sketch/main.cpp line 80
0x4021083c: SPIFFSFileImpl::write(unsigned char const*, unsigned int) at /home/thomas/.arduino15/packages/esp8266/hardware/esp8266/2.3.0/cores/esp8266/spiffs_api.h line 291
0x40100970: __mulsf3_aux at /home/igrokhotkov/xtensa/crosstool-NG/.build/src/gcc-4.8.2/libgcc/config/xtensa/ieee754-sf.S line 534