Page 1 of 1

Https timeout -- will it co-exist with MQTT client?

Posted: Wed Nov 03, 2021 2:00 am
by KeithInAsia
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?

Re: Https timeout -- will it co-exist with MQTT client?

Posted: Wed Nov 03, 2021 4:42 am
by KeithInAsia
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.