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.

[参考译文] CC3100MOD:未知错误- sl_Socket 上的 SL_SOC_ERROR

Guru**** 2551370 points
Other Parts Discussed in Thread: CC3100MOD

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/565502/cc3100mod-unknown-error---sl_soc_error-on-sl_socket

器件型号:CC3100MOD

大家好、

我们在产品中使用 CC3100MOD 大约2年、完全没有问题。 它用于物联网应用、以便与 SMTP 服务器和 HTTP 服务器进行通信。

在产品运行的特定部分期间 ,软件首先调用 sl_Start(),然后调用 sl_WlanConnect()。 等待两条异步消息(sl_WLAN_CONNECT_EVENT 和 SL_NetApp_IPV4_IPACQUIRED_EVENT)后,将 按如下方式创建套接字:SL_Socket (AF_iNet、SOCK_STREAM、IPPROTO_TCP)

我们现在遇到了 sl_Socket ()函数的问题-  它在将智能手机用作热点时返回成功的句柄(>0),但在使用我们公司的 WiFi 接入点时返回-1 (sl_SOC_ERROR)。  此问题仅在最近才出现。

问题是:

当任一接入点被使用时、CC3100MOD 成功连接至它们并且接收异步消息。  成功 连接到 AP 后、sl_Socket (AF_iNet、SOCK_STREAM、IPPROTO_TCP)的运行方式会有所不同?

导致 SL_SOC_ERROR 的确切原因是什么?

是否有任何可查询的扩展错误信息?

与接入点建立连接的速度是否会对后续套接字创建产生影响?

如果有任何帮助,将不胜感激。

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

    尊敬的 Mike:

    我不希望 sl_Socket ()返回 sl_SOC_ERROR。 您能否再次检查这是否是 sl_Socket ()的返回代码?

    通过调用此 API 打开套接字并接收套接字句柄只要求网络子系统具有适当的资源。 连接到不同网络时、行为不应改变。

    您最近是否更新了系统所基于的 SDK 版本或 Service Pack?

    http://www.ti.com/tool/cc3100sdk

    此致、

    本·M

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

    我已双重选中。 如果 sl_Socket 返回任何<0的值、我将其输出、并且它是-1。
    我一定会听到您的声音、我看到连接到不同 AP 的方法无法改变 sl_Socket 获取句柄的方式。
    我唯一能想到的是(而且它的取值相当远)、它是一个时序问题。 在建立连接后、我对 sl_Socket 的调用是否可能太快? 假设一个 AP 连接速度更快,这样当检测到连接并且调用 sl_Socket 时,资源还不可用? 您说过"调用此 API 只需要网络子系统拥有适当的资源"。 也许这些资源还不可用? 如果在不首先调用 sl_Start()和 sl_WlanConnect()的情况下调用此函数,是否会出现相同的错误?

    此问题发生在我们的客户站点之一。 我们无法在其他任何地方复制它。

    我最近没有更新 SDK 或 Service Pack。 该软件(使用1.0.0.10版主机驱动程序)是稳定的软件、使用时间超过1年、至今没有任何问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Mike:

    如果在 sl_Start()之前调用,我会期望执行会滞留在 sl_Socket ()中,如果在连接到 WLAN 之前调用,则执行会成功返回。

    是否可以使用新的 Service Pack 对系统进行更新和测试? 这可能会改变您看到的行为。 新的 Service Pack 旨在向后兼容以前的主机驱动程序版本、因此这不会成为问题。

    此致、
    本·M