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-LAUNCHXL:与 SimpleLink 堆栈之间的 Ping 交互

Guru**** 2589300 points


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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/889885/cc3220sf-launchxl-ping-interaction-with-the-simplelink-stack

器件型号:CC3220SF-LAUNCHXL

您好!

我们有一个基于 PC 的应用程序与我们的传感器进行交互。
应用程序会定期询问传感器以进行连接检查。
传感器返回 ping 响应后、应用程序会与传感器建立 TCP 连接。

传感器上的 WiFi 芯片运行的代码与 network_terminal 示例类似。
它当前运行的是最新的堆栈版本: simplelink_cc32xx_sdk_3_40_00_05。

我们发现、如果 WiFi 芯片 ping 开始之前已经初始化、WiFi 芯片将在大约5秒钟内响应 ping。
如果 ping 在 WiFi 初始化之前开始、则 ping 响应在5s 至100s 之间的任意位置发生变化

是否有任何关于为何过早启动 ping 会延迟响应时间的想法?
谢谢、Glenn。

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

    Glenn、

    您能给我一个 ping 代码的代码片段吗? 如果设备未初始化,如何在网络上对其执行 ping 操作? 要正确运行 ping、需要将器件连接到 AP 并提供 IP 地址。

    BR、

    Vince

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

    尊敬的 Vincent:

    我没有任何 ping 代码。
    我正在运行 ping -t 。  (从我的 Windows 笔记本电脑)。

    我希望收到"请求超时"。 直到 WiFi 芯片获得 IP。
    它如下所示:

    请求超时。
    请求超时。
    请求超时。
    从192.168.4.23回复:字节=32时间=109ms TTL=128   (wifi 芯片现在正在响应)
    从192.168.4.23回复:字节=32时间=24ms TTL=128
    从192.168.4.23回复:字节=32时间=33ms TTL=128....

    WiFi 芯片在获取其 IP 地址时向传感器报告、并 在发生这种情况时进行记录。
    然后、我们将测量 WiFi 芯片响应 ping 所需的时间。
    我们看到、从 WiFi 芯片获得其 IP 到它开始回复的时间、最多可能需要100秒。

    但只有我们在初始化之前开始对传感器执行 Ping 操作时、才会发生这种情况。
    如果我们在获取 IP 地址后等待立即 ping、WiFi 将在5秒内响应。
      (当然、这仅用于测试、应用程序不知道传感器何时会实际获得 IP。)

    如果在获取其 IP 之前发送了主机 ping 请求、则 WiFi 堆栈会延迟其对这些请求的响应。
    我想知道为什么 ping 请求的提前到达似乎会降低堆栈响应速度。

    格伦。

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

    Glenn、

    那么、在您的 PC 上、您会得到类似这样的东西吗?

    从192.168.4.23回复:字节=32时间=100000ms TTL=128?

    我不完全理解您是如何确定计时的。

    BR、

    Vince  

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

    尊敬的 Vince:

    我在调试器上安装了带 WiFi 芯片的传感器。
    它将 WiFi 消息记录到其命令控制台。

    在 DOS shell 中、我运行的是 ping -t

    我可以在命令控制台中看到传感器何时获得 IP。
    然后、我测量从 DOS shell 中的 WiFi 芯片获得第一个 ping 响应的时间。

    希望这会有所帮助。
    格伦。

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

    您能否捕获嗅探器对此的捕获? 我想这不是我们的器件的问题、而是 Windows PC 上的问题。

    BR、

    Vince

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

    尊敬的 Vince:

     我的 PC 极不可能。
    我们还有其他传感器、没有这款 TI 芯片、我可以使用我的 PC 及时对它们执行 ping 操作、而不会出现任何问题。
    此外、由于 WiFi 芯片的 ping 响应取决于 WiFi 芯片何时开始接收 ping 请求、因此很难将其归咎于 PC。

    此外、
    我们看到此芯片的其他网络问题可能与 ping 问题有关:

    *在无线路由器中、TI WiFi 芯片显示在其-ARP 列表中。 (所有其他器件都可以。)
    * WiFi 芯片的网关地址可以设置为任意地址。
     该地址被完全忽略、似乎仍然关注(以某种方式)实际的接入点网关。

    我们是否可能缺少一些配置设置来使这些功能正常工作?

    所连接的是对缓慢 ping (约45秒)的 Wireshark 捕获。
    PC IP:192.168.4.151、WiFi 芯片 IP:192.168.4.23

    谢谢、Glenn。

    e2e.ti.com/.../SlowPing.7z

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

    Glenn、

    从捕获中、您的 PC 会发送两个 ping 请求、但没有得到响应、然后等待将近一分钟、然后再发送它们。 它第二次得到响应。 我的假设是在前两次请求中、我们的器件未完全连接到网络、但 我无法判断、因为捕获结果似乎已过滤或未捕获 Wi-Fi 流量、而是桥接以太网流量。

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

    尊敬的 Vince:

    经过进一步调查后、AP 似乎参与了 ping 延迟的创建。
    我们想知道以下两个问题是否与此延迟有关:

    *在无线路由器(AP)中、TI WiFi 芯片  显示在 其-ARP 列表中。 (所有其他器件都可以。)
    * WiFi 芯片的网关地址可以设置为任意地址。
     该地址被完全忽略、似乎仍然关注(以某种方式)实际的接入点网关。

    您是否对上述两个问题的发生原因有任何见解?

    谢谢、Glenn。

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

    格伦

    如果设备未显示在 ARP 列表中、则 AP 将不知道如何引导流量。 这可能是延迟的原因。 我假设您一连接到 AP 并获取 IP 地址、就会发送报文。 是这样吗?

    您可以在将设备配置为静态 IP 模式时设置网关。 如果器件仍在使用 DHCP、则将忽略此设置。

    BR、

    Vince  

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

    尊敬的 Vince:

    WiFi SimpleLink 堆栈 在获得 IP 地址后是否应该发送免费的 ARP?

    谢谢、Glenn。

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

    尊敬的 Vince:

    如果 SimpleLink 堆栈未自动发送免费 ARP、
    我是否可以向 WiFi 芯片发送命令、让它在我拥有 IP 后执行 ARP?

    我看到执行 ping 操作的命令,但不看到 ARP。
    谢谢、Glenn。

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

    您好、Glenn、

    没有可立即发送 ARP 请求的 API。

    BR、

    Vince

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

    供参考、
    来自另一个线程:

    有一种方法可以触发手动 ARP 请求。
    您可以打开一个原始套接字、构建 ARP 请求、然后发出此 ARP 请求。
    我在下面的文章中详细介绍了该过程:

    https://e2e.ti.com/support/wireless-connectivity/wifi/f/968/p/845693/3134002#3134002

    您可以关闭此主题。