This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC3220SF:连接到 AWS 云时 TLS 事务失败

Guru**** 2540720 points
Other Parts Discussed in Thread: CC3220SF-LAUNCHXL

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1044643/cc3220sf-failure-in-tls-transaction-while-connecting-to-aws-cloud

器件型号:CC3220SF

您好!

我遇到随机问题、即由于 TLS 事务失败、设备偶尔无法连接到 AWS 服务器。  

该器件提供以下日志:

2021-10-04 17:55:44、443 -根- [串行] '[SimpleLinkSockEventHandler 错误]:握手失败-套接字1、原因:-722。'

2021-10-04 17:55:44、450 - root - [串行] 无法建立新连接。 套接字状态:-1002.'

2021-10-04 17:55:44、459 - ROOT - [串行] 'Failed to establish new MQTT connection、error network error.'(无法建立新的 MQTT 连接、错误网络错误。)

我还捕获了 Wireshark 日志以检查 TLS 事务、如下所示:


设备日志中的错误编号(-722)表示域 不匹配。 Wireshark 日志显示设备在出现提示时无法向服务器发送证书。

由于设备无法将证书发送到服务器、TLS 握手失败、因此无法连接到 AWS 服务器。

您能否告诉我这种行为的原因以及正确的解决方案?

谢谢、
Kishore。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Kishore、

    您使用什么来连接到 AWS (插件、仅 MQTT 库等)? 您使用的是什么域?

    此致、

    Sarah

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Sarah、

    我仅使用 AWS 库。 以下是使用的库版本:
      FreeRTOS MQTT v2.1.1
      用于 CC3220SF-LAUNCHXL V1.0.5的 FreeRTOS 安全套接字

    我们所使用的领域是 欧盟西部地区。

    谢谢、
    Kishore。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Kishore、

    您能否分享产生错误的代码片段以及如何传递参数?

    此外、错误发生的频率是多少? 刷写了什么服务包版本、以及 SDK/主机驱动程序版本是什么?

    此致、

    Sarah

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Sarah、

    我正在使用   SDK 的 IotMqt_Connect API 来传递所有必需的参数。 此 API 提供了错误。
    当使用相对较弱的网络时、该错误会在15次尝试中的3-4次出现。
    使用的服务包是  sp_3.15.0.1_2.0.0.0_2.2.0.7.bin。
    使用的主机驱动程序版本为  3.0.1.61.

    谢谢、
    Kishore。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Kishore、

    此连接问题是否仅在弱网络上发生? 您是否看到任何其他断开连接错误? 如果您重试、第二次尝试是否起作用?

    您是否还可以捕获成功连接的信息、以便我可以看到服务器所期望的响应?

    此致、

    Sarah

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Sarah、

    是的、这一问题主要出现在相对较弱的网络上。
    在代码中添加重试后、连接将建立。

    我实际上想知道这种情况的根本原因。

    我还附加了一个 Wireshark 捕获、并成功连接:


    谢谢、
    Kishore。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Kishore、

    感谢您的第二次观看。 其根本原因似乎是网络可靠性不佳。 在您的第一次捕获中、您可以看到服务器在短时间内发送了5个以上的 ACK、这似乎是不符合顺序的。 在良好的捕获中、 ACK 得到了正确处理。

    如果出现连接错误、您的应用程序应重试。 如果您需要这种类型的环境、则可能需要监控 AP 的 RSSI。

    您可能还希望更新到 最新的服务包版本(您可以在不更改主机驱动程序或 SDK 的情况下执行此操作)、因为我们不断改进互操作性和网络功能。

    此致、

    Sarah