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:SlNetSock_recv 返回-300

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1394987/cc3220sf-slnetsock_recv-return--300

器件型号:CC3220SF

工具与软件:

您好!  

我有一个基于 FreeRTOS 实现的应用、该应用程序在名为 sockets_Recv 的函数中调用函数 SlNetSock_recv、该函数返回错误-300 2 (共10次)、因此由于该错误、我的应用需要重新连接。 您能向我提供修复此问题的信息或提示吗? 套接字配置如下所示

enableTls -真

maxFragmentLength = 0

disableSni = false

sendTimeoutMS = 200

recvTimeout = 200

pAllpnProtos =空

pRootCa ="到根 ca 的路径"

rootCaSize = sizeof (root ca)

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

    您好!

    很难直接从描述中看出什么会导致该错误。

    该问题是直接在插座连接结束后发生、还是在一段时间后发生?

    您是否有可以共享的空中嗅探器?

    此致、

    Shlomi

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

    这种情况有时会随机发生、你能否分享一下在 来自 TCP 堆栈或其他东西的 SlNetSock_recv 中使用了哪些资源?

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

    "你说什么? 所有这些都在内部进行管理、我无法分享太多信息。

    如果我们想要尝试并了解它的来源(客户端或服务器是否发送此警报)、我们将需要一些日志。

    空气嗅探器是一个很好的起点、但 NWP 日志更好。

    这里有一个关于如何获取这些日志的指南。  您可在 NWP 编程人员指南中找到该过程、 请参阅。 第20章我是谁 记录器引脚为 PIN_62、

    此致、

    Shlomi

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

    Shlomi、您好!

    我做了一些分析、这里是我的一些观察结果。 一般而言、与 MQTT 建立连接是可行的。 当网关建立连接时、它会尝试通过 MQTT 订阅某些主题并发布、我们不时从该函数收到-300

    lTIRetCode =  SlNetSock_recv (pxSocketContext->sSocketDescriptor、pvBuffer、(_u32) xBufferLength、(_u32) 0);

    IoT_secure_socket.c 中的第772行

    发送 MQTT 消息的任务在单独的线程中运行、并且我们将 TI SDK 与 LWIP 结合使用。 我们已经尝试了规则

    1) 1)堆栈溢出问题

    2)堆分配因堆不足而失败

    目前怀疑 LWIP/Simplelink 任务可能是 CPU 时间是不够的。 我已将 NWP 日志附加到 heree2e.ti.com/.../ZOC2408_5F00_localhost0107.log

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

    感谢您的更新。

    我明天会深入研究并提供反馈。

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

    您好!

    日志已损坏。

    您能否确保它是在二进制模式下捕获的、而不对流进行任何修改?

    正如完整性检查一样、当捕获可读文本(如/sys/servicepack.ucf)时、前面需要有0x27、0xCA (而不仅仅是0x27)。

    此致、

    Shlomi