I'm trying to download a OTA firmware file off a non-public AWS S3 bucket. When I get to the point where I'm connecting to https -- I'm getting a timeout that looks like this:
HTTP_CLIENT: Begin connect to: https://ssll-iot-ota-alpha1.s3.us-west- ... ws.com:443
wifi:bcn_timout,ap_probe_send_start
esp-tls: Failed to open new connection in specified timeout
TRANS_SSL: Failed to open a new connection
I have MQTT connected already with subscriptions to topics -- pulling down a job designated for this OTA activity.
My memory looks like this just before the https timeout:
Free Heap 47944 bytes Minimum Free Heap 43368 bytes
Task Stack High Water Mark, 9604 bytes left
I do have 15 tasks running in my project and this task is at one of the highest priorities.
Project is on an ESP32-WROOM-32E running at 240MHz and has 16Mbytes of FLASH. Written in C/C++ ESP-IDF.
SHOULD I BE EXITING MQTT TO FREE UP RESOURCES?
The HTTPs link of the signed firmware that is retrieved from the job (through MQTT) was tested in a browser -- the download works.
I just can't get my connection to https going.
Does anyone have suggestions?
Https timeout -- will it co-exist with MQTT client?
-
- Posts: 29
- Joined: Thu Sep 26, 2019 5:44 am
-
- Posts: 29
- Joined: Thu Sep 26, 2019 5:44 am
Re: Https timeout -- will it co-exist with MQTT client?
This project is primarily written in C++ and sometimes I have discovered that default initialization of structs can be unexpectedly different from strict C implementations.
I'm going back now and filling in all the fields for the esp_http_client_config_t config (prior to the esp_https_ota(&config) call)
I'm seeing some clues that this structure isn't formulated enough for C++
All the published Github example show just a few fields manually populated -- but this appears to be insufficient in my case for my C++ project....????
For instance, I just populated "host" with "". I now have a new error which pre-empts my timeout error...
" couldn't get hostname for ::"
I'm not sure what the host name might be in other sample implementations. I need to study up on https protocol.
I'm going back now and filling in all the fields for the esp_http_client_config_t config (prior to the esp_https_ota(&config) call)
I'm seeing some clues that this structure isn't formulated enough for C++
All the published Github example show just a few fields manually populated -- but this appears to be insufficient in my case for my C++ project....????
For instance, I just populated "host" with "". I now have a new error which pre-empts my timeout error...
" couldn't get hostname for ::"
I'm not sure what the host name might be in other sample implementations. I need to study up on https protocol.
Who is online
Users browsing this forum: No registered users and 128 guests