Dear Aghelan,
Thank you for your continued support.
We have now completed all the requested isolation tests and would like to share a consolidated update with evidence. Based on these results, the issue appears to be in the TLS session establishment on the module side.
1) TCP/8883 Reachability
We verified raw TCP connectivity to port 8883 using AT+QIOPEN. The module successfully establishes a TCP session, confirming that the operator/APN is not blocking port 8883.
Example result:
AT+QIOPEN=1,0,“”,8883,0,1
+QIOPEN: 0,0
+QIURC: “closed”,0
This confirms TCP reachability is OK.
2) CA Bundle Test (Intermediate + Root)
We created a CA bundle containing the intermediate and root CA in a single PEM file (Let’s Encrypt R12 + ISRG Root X1 for HiveMQ Cloud), uploaded it to UFS, and configured it as cacert.
Verification:
AT+QFLST=“UFS:*”
+QFLST: “UFS:cacert.pem”,3740
So the CA bundle is correctly stored and recognized by the module.
3) SSL Configuration Used
We configured server-authentication-only TLS (no client cert/key):
AT+QSSLCFG=“cacert”,2,“UFS:cacert.pem”
AT+QSSLCFG=“seclevel”,2,1
AT+QSSLCFG=“sslversion”,2,4
AT+QSSLCFG=“ignorelocaltime”,2,1
AT+QSSLCFG=“sni”,2,1
AT+QSSLCFG=“ciphersuite”,2,0xFFFF
AT+QMTCFG=“SSL”,0,1,2
All commands returned OK.
4) Broker TLS Details (from PC OpenSSL)
Using openssl s_client from a PC to the same endpoint:
• Server certificate type: RSA (2048-bit)
• Protocol negotiated: TLS 1.2
• Cipher: ECDHE-RSA-AES128-GCM-SHA256
• Verification: OK (full chain validated)
So the broker is not ECDSA-only and supports TLS 1.2.
5) MQTT SSL Open Attempt
Despite the above:
AT+QMTOPEN=0,“a3c53da1e061486a8b2e00ed4bb0d6e8.s1.eu.hivemq.cloud”,8883
+QMTOPEN: 0,5
We observe the same +QMTOPEN: 0,5 result across multiple public brokers.
6) Firmware Version
ATI reports:
EC200U
Revision: EC200UCNAAR03A03M08
(We can also provide AT+QGMR output if required.)
Conclusion
At this stage:
• TCP connectivity is confirmed
• Correct CA bundle is used
• Server-auth-only TLS is correctly configured
• Broker uses RSA and TLS 1.2
• Multiple cipher configurations were tried
• Same failure occurs across different brokers
Therefore, the remaining likely cause is TLS interoperability or limitation in the current EC200UCNAAR03A03M08 firmware TLS stack.
Additional Request
If possible, could you please try our broker configuration and endpoint on your reference EC200U-CN module and let us know whether it works on your side? This would help confirm whether the behavior is firmware-related or environment-specific.
Request
Could you please advise:
- Whether there are known TLS limitations in this firmware with Let’s Encrypt or GCM-based TLS 1.2 suites?
- If a newer firmware with improved TLS compatibility is available for EC200U-CN?
- Any validated SSL configuration known to work with public cloud MQTT brokers?
We are happy to run further tests if you suggest specific parameters.
Thank you for your guidance and support.
Best regards,
Piyush