Hello Nordic team,
I am reporting an Azure FOTA issue where firmware download works from one Azure Blob endpoint and fails from another.
Setup summary:
- Device: nRF9160
- nRF Connect SDK: 2.7.0
- Modem firmware: 1.3.7
- IoT Hub and Blob storage are managed by another company
Observed behavior:
- Device receives the FOTA job.
- FOTA download fails during connect step for production endpoint.
- Error log:
download_client: Unable to connect, errno 111 fota_download: Download client failed to connect to server azure_fota: FOTA download failed azure_iot_hub: AZURE_FOTA_EVT_ERROR
What works vs what fails:
Working case:
- TLS chain observed:
- DigiCert Global Root G2
- Microsoft Azure RSA TLS Issuing CA 04
- *.blob.core.windows.net
- FOTA download succeeds
Failing case:
- TLS chain observed:
- DigiCert Global Root G2
- Microsoft TLS RSA Root G2 (cross-signed by DigiCert)
- Microsoft TLS G2 RSA CA OCSP 02
- *.blob.core.windows.net
- FOTA download fails with errno 111
What I have already tested:
- Security tag testing
I have added some debug logs to validate that the correct cert is used for FOTA, and that shows the DigiCert.
- Certificate/chain testing:
With a suspicion that error was caused by the extra intermediate cert, i tried to load the Microsoft TLS RSA Root G2 to use for FOTA, but this gives the same error.
- URL accessibility:
I have confirmed by pasting the URL in my browser, that the firmware is available from the link.
I would like help identifying the root cause and what's needed to fix it.
Thanks.