-
Notifications
You must be signed in to change notification settings - Fork 7.8k
Closed
Labels
Type: QuestionOnly questionOnly question
Description
Board
ESP 32 Dev Module
Device Description
Custom Board
Hardware Configuration
None
Version
latest master (checkout manually)
IDE Name
Arduino IDE
Operating System
Window 11
Flash frequency
80 Mhz
PSRAM enabled
no
Upload speed
115200
Description
I test this code in example with github archive release in https://raw.githubusercontent.com/duyle1402/TestOTAWithGithub/main/Baremetal.ino.bin, and cant work https://github.com/espressif/arduino-esp32/blob/master/libraries/Update/examples/HTTPS_OTA_Update/HTTPS_OTA_Update.ino
Sketch
// This sketch provide the functionality of OTA Firmware Upgrade
#include "WiFi.h"
#include "HttpsOTAUpdate.h"
// This sketch shows how to implement HTTPS firmware update Over The Air.
// Please provide your WiFi credentials, https URL to the firmware image and the server certificate.
static const char *ssid = "mywifi"; // your network SSID (name of wifi network)
static const char *password = "mypassword"; // your network password
static const char *url = "https://raw.githubusercontent.com/duyle1402/TestOTAWithGithub/main/Baremetal.ino.bin"; //state url of your firmware image
static const char *server_certificate = "-----BEGIN CERTIFICATE-----\n"
"MIIEkjCCA3qgAwIBAgIQCgFBQgAAAVOFc2oLheynCDANBgkqhkiG9w0BAQsFADA/\n"
"MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT\n"
"DkRTVCBSb290IENBIFgzMB4XDTE2MDMxNzE2NDA0NloXDTIxMDMxNzE2NDA0Nlow\n"
"SjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUxldCdzIEVuY3J5cHQxIzAhBgNVBAMT\n"
"GkxldCdzIEVuY3J5cHQgQXV0aG9yaXR5IFgzMIIBIjANBgkqhkiG9w0BAQEFAAOC\n"
"AQ8AMIIBCgKCAQEAnNMM8FrlLke3cl03g7NoYzDq1zUmGSXhvb418XCSL7e4S0EF\n"
"q6meNQhY7LEqxGiHC6PjdeTm86dicbp5gWAf15Gan/PQeGdxyGkOlZHP/uaZ6WA8\n"
"SMx+yk13EiSdRxta67nsHjcAHJyse6cF6s5K671B5TaYucv9bTyWaN8jKkKQDIZ0\n"
"Z8h/pZq4UmEUEz9l6YKHy9v6Dlb2honzhT+Xhq+w3Brvaw2VFn3EK6BlspkENnWA\n"
"a6xK8xuQSXgvopZPKiAlKQTGdMDQMc2PMTiVFrqoM7hD8bEfwzB/onkxEz0tNvjj\n"
"/PIzark5McWvxI0NHWQWM6r6hCm21AvA2H3DkwIDAQABo4IBfTCCAXkwEgYDVR0T\n"
"AQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwfwYIKwYBBQUHAQEEczBxMDIG\n"
"CCsGAQUFBzABhiZodHRwOi8vaXNyZy50cnVzdGlkLm9jc3AuaWRlbnRydXN0LmNv\n"
"bTA7BggrBgEFBQcwAoYvaHR0cDovL2FwcHMuaWRlbnRydXN0LmNvbS9yb290cy9k\n"
"c3Ryb290Y2F4My5wN2MwHwYDVR0jBBgwFoAUxKexpHsscfrb4UuQdf/EFWCFiRAw\n"
"VAYDVR0gBE0wSzAIBgZngQwBAgEwPwYLKwYBBAGC3xMBAQEwMDAuBggrBgEFBQcC\n"
"ARYiaHR0cDovL2Nwcy5yb290LXgxLmxldHNlbmNyeXB0Lm9yZzA8BgNVHR8ENTAz\n"
"MDGgL6AthitodHRwOi8vY3JsLmlkZW50cnVzdC5jb20vRFNUUk9PVENBWDNDUkwu\n"
"Y3JsMB0GA1UdDgQWBBSoSmpjBH3duubRObemRWXv86jsoTANBgkqhkiG9w0BAQsF\n"
"AAOCAQEA3TPXEfNjWDjdGBX7CVW+dla5cEilaUcne8IkCJLxWh9KEik3JHRRHGJo\n"
"uM2VcGfl96S8TihRzZvoroed6ti6WqEBmtzw3Wodatg+VyOeph4EYpr/1wXKtx8/\n"
"wApIvJSwtmVi4MFU5aMqrSDE6ea73Mj2tcMyo5jMd6jmeWUHK8so/joWUoHOUgwu\n"
"X4Po1QYz+3dszkDqMp4fklxBwXRsW10KXzPMTZ+sOPAveyxindmjkW8lGy+QsRlG\n"
"PfZ+G6Z6h7mjem0Y+iWlkYcV4PIWL1iwBi8saCbGS5jN2p8M+X+Q7UNKEkROb3N6\n"
"KOqkqm57TH2H3eDJAkSnh6/DNFu0Qg==\n"
"-----END CERTIFICATE-----";
static HttpsOTAStatus_t otastatus;
void HttpEvent(HttpEvent_t *event) {
switch (event->event_id) {
case HTTP_EVENT_ERROR: Serial.println("Http Event Error"); break;
case HTTP_EVENT_ON_CONNECTED: Serial.println("Http Event On Connected"); break;
case HTTP_EVENT_HEADER_SENT: Serial.println("Http Event Header Sent"); break;
case HTTP_EVENT_ON_HEADER: Serial.printf("Http Event On Header, key=%s, value=%s\n", event->header_key, event->header_value); break;
case HTTP_EVENT_ON_DATA: break;
case HTTP_EVENT_ON_FINISH: Serial.println("Http Event On Finish"); break;
case HTTP_EVENT_DISCONNECTED: Serial.println("Http Event Disconnected"); break;
case HTTP_EVENT_REDIRECT: Serial.println("Http Event Redirect"); break;
}
}
void setup() {
Serial.begin(115200);
Serial.print("Attempting to connect to SSID: ");
WiFi.begin(ssid, password);
// attempt to connect to Wifi network:
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(1000);
}
Serial.print("Connected to ");
Serial.println(ssid);
HttpsOTA.onHttpEvent(HttpEvent);
Serial.println("Starting OTA");
HttpsOTA.begin(url, server_certificate);
Serial.println("Please Wait it takes some time ...");
}
void loop() {
otastatus = HttpsOTA.status();
if (otastatus == HTTPS_OTA_SUCCESS) {
Serial.println("Firmware written successfully. To reboot device, call API ESP.restart() or PUSH restart button on device");
} else if (otastatus == HTTPS_OTA_FAIL) {
Serial.println("Firmware Upgrade Fail");
}
delay(1000);
}Debug Message
14:34:44.719 -> ..[ 3340][V][NetworkInterface.cpp:78] _onIpEvent(): sta Got New IP: 192.168.1.19 MASK: 255.255.255.0 GW: 192.168.1.1
14:34:46.183 -> [ 3351][V][NetworkEvents.cpp:119] checkForEvent(): Network Event: 16 - STA_GOT_IP
14:34:46.183 -> [ 3358][V][STA.cpp:110] _onStaArduinoEvent(): Arduino STA Event: 16 - STA_GOT_IP
14:34:46.219 -> [ 3365][V][STA.cpp:169] _onStaArduinoEvent(): STA IP: 192.168.1.19, MASK: 255.255.255.0, GW: 192.168.1.1
14:34:46.736 -> Connected to mywifi
14:34:46.736 -> Starting OTA
14:34:46.736 -> Please Wait it takes some time ...
14:34:46.736 -> =========== After Setup Start ============
14:34:46.736 -> INTERNAL Memory Info:
14:34:46.736 -> ------------------------------------------
14:34:46.736 -> Total Size : 339400 B ( 331.4 KB)
14:34:46.769 -> Free Bytes : 242636 B ( 236.9 KB)
14:34:46.769 -> Allocated Bytes : 86100 B ( 84.1 KB)
14:34:46.769 -> Minimum Free Bytes: 242592 B ( 236.9 KB)
14:34:46.769 -> Largest Free Block: 110580 B ( 108.0 KB)
14:34:46.769 -> ------------------------------------------
14:34:46.769 -> GPIO Info:
14:34:46.769 -> ------------------------------------------
14:34:46.769 -> GPIO : BUS_TYPE[bus/unit][chan]
14:34:46.769 -> --------------------------------------
14:34:46.803 -> 1 : UART_TX[0]
14:34:46.803 -> 3 : UART_RX[0]
14:34:46.803 -> ============ After Setup End =============
14:34:47.349 -> E (4322) esp-tls-mbedtls: mbedtls_ssl_handshake returned -0x2700
14:34:47.349 -> E (4322) esp-tls: Failed to open new connection
14:34:47.349 -> E (4322) transport_base: Failed to open a new connection
14:34:47.349 -> E (4327) HTTP_CLIENT: Connection failed, sock < 0
14:34:47.383 -> Http Event Error
14:34:47.383 -> E (4341) esp_https_ota: Failed to open HTTP connection: ESP_ERR_HTTP_CONNECT
14:34:47.383 -> E (4341) esp_https_ota: Failed to establish HTTP connection
14:34:47.383 -> Http Event Disconnected
14:34:47.383 -> Http Event Disconnected
14:34:47.841 -> Firmware Upgrade Fail
14:34:48.843 -> Firmware Upgrade Fail
14:34:49.831 -> Firmware Upgrade Fail
14:34:50.833 -> Firmware Upgrade Fail
14:34:51.801 -> Firmware Upgrade Fail
14:34:52.833 -> Firmware Upgrade Fail
14:34:53.832 -> Firmware Upgrade Fail
14:34:54.827 -> Firmware Upgrade Fail
Other Steps to Reproduce
I also try skip_cert_common_name_check set to true and false. false gives mbedtls_ssl_handshake returned -0x2700,
I have checked existing issues, online documentation and the Troubleshooting Guide
- I confirm I have checked existing issues, online documentation and Troubleshooting guide.
Metadata
Metadata
Assignees
Labels
Type: QuestionOnly questionOnly question