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.

[参考译文] CC3200MOD:WiFi 配置文件现场故障

Guru**** 2553450 points
Other Parts Discussed in Thread: UNIFLASH, CODECOMPOSER, CC3200

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/887176/cc3200mod-wifi-profile-field-failures

器件型号:CC3200MOD
主题中讨论的其他器件:UNIFLASHCODECMOSERCC3200

您好!

我有一个使用 CC3200MODR1M2AMOBR 的设计已投入生产几年。  我们发现、返回的设备中有一小部分原本运行良好、但在一段时间后停止连接以连接到 WiFi 网络。  当器件返回进行测试时、我确实能够设置信息并查看保存后列出的配置文件、但器件不会获得连接(请注意、我们使用的是 AP 配置)。  

在先前对该故障的测试中、我发现器件回流焊可使其恢复使用、但我在这里有一个器件、在我进行回流焊之前、我想请求支持以了解发生故障的原因。  我已确认能够从 uniflash 运行"列表文件系统"和"获取版本"命令。  在这里、我看到引导程序版本2.1.4.0、芯片组版本16。  请注意、我们使用的是 SDK 1.3.0。 我是否可以收集任何数据来提供更多调试信息、以了解器件未配置的原因?

我对闪存写入的一个很满意、因为这是一个电池供电的器件、一位客户注意到电池在问题开始之前已经完全耗尽。  我们使用 sl_FsGetInfo、sl_FsOpen 和 sl_FsWrite 写入闪存。  我已经测试并确认我们的应用程序闪存写入正常工作、并且这些命令不会生成错误。  这可能是一种误导性的做法、但由于配置是我的应用程序的黑盒、我想询问是否可能由于低电压而发生潜在损坏(注意、如上所述、此问题在重新编程之前一直与器件有关)。

我期待您在调试此质量问题时提供帮助。

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

    您好!

    是的、我可以帮助查看这里。 您能否从器件捕获 NWP 日志?  https://processors.wiki.ti.com/index.php/CC3100_%26_CC3200_Capture_NWP_Logs

    BR、

    Vince  

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

    谢谢 Vince。  

    我担心的是、在执行此操作时、我必须重新编程固件、我担心固件会解决问题。  也许这个问题只会在完全格式/重新编程时消失、但是我想检查在重新编程之前是否有任何步骤可以执行、或者是否有任何特定的重新编程方式来最大限度地减少它的更改、从而解决这个问题。

    请注意、我的设计已设置为使用 UART0、但已配置为 PinTypeUART (PIN_55、PIN_MODE_3);

    我期待您在这里提出建议。

    -Jon

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

    您好、Jon、

    您可以看到您是否从任何回调或函数返回任何错误、但除此之外、我认为 NWP 是我们的最佳选择。

    BR、

    Vince

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

    谢谢 Vince。  我在几乎所有函数调用上都有调试打印输出、并确认我在所有功能(包括闪存、设置配置信息和尝试连接)中没有看到任何错误。  

    您对刷写设备是否有任何建议、以便将影响降至最低?  我肯定不会执行"格式"操作、但不确定是否还有其他我应该知道的内容。  尝试通过 CodeComposer 进行编程与 Uniflash 进行编程是否有区别?

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

    您好、Jon、

    是的、存在差异。 我们的器件使用外部串行闪存。 当通过 Uniflash 进行刷写时、会覆盖外部串行闪存中的数据。 当您使用 Code Composer 进行"调试"时、这只会将 MCU 映像放置在器件的内部存储器中、并且永远不会接触外部串行闪存。

    复位时、我们的器件将运行保存在外部串行闪存中的任何内容。  

    对于您的情况、如果您知道器件尝试连接到哪个 AP、则可以设置同名的接入点、并让器件尝试连接到该接入点。 在执行此操作时、您可以捕获无线流量的嗅探器、这可能会为我们提供有关正在发生的情况的线索。

    不过、理想情况下、我们需要 NWP 日志来了解故障。

    BR、

    Vince

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

    Vince、很抱歉耽误你的时间。  您说得对、我可以进入调试器模式、而不会影响问题的出现。  

    我要在这里附加 NWP 日志;我让器件运行大约一分钟、在此期间、它应该尝试连接到保存的网络"乌龟"。  e2e.ti.com/.../2020.02.06_5F00_Failure-NWP-log.log

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

    您好、Jon、

    感谢您提供 NWP 日志。 我看到您在执行一些 Wifi 策略集和 WLAN cfg、然后添加/检查您的配置文件-在此之后、设备开始扫描、但从未看到 Turtle AP。

    在扫描中、我看到我们仅在通道1上进行扫描。 您能否确认 Turtle 不在通道1上、并测试如果您将该 AP 移至通道1、您是否能够进行连接?

    您是否会使扫描参数掩码变得混乱、只能在一个信道上搜索?

    BR、

    Vince

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

    Vince、

    我不确定哪个 API 会强制仅扫描通道1。  我很有信心这不在代码中、但是如果您告诉我具体的 API、我将会再次检查。  供参考以下是我们使用的策略设置:

       无符号短整型 PolicyBuff[4]={0、0、2000、0};// PolicyBuff[2]是以 msec 为单位的最大睡眠时间

       sl_WlanPolicySet (sl_policy_PM、sl_long_sleep_interval_policy、(unsigned char *)&PolicyBuff[0]、sizeof (PolicyBuff));

       #define SCAN_INTERVE_SEC 30
       _u8 IntervalVal = SCAN_INTERVAL;   //扫描时间(以秒为单位)(默认为10分钟)
       sl_WlanPolicySet (sl_policy_scan、1、IntervalVal、sizeof (IntervalVal));


       sl_WlanPolicySet (sl_policy_connection、sl_connection_policy (启用? 1:0)、0、0、0、0)、 空,0);

    关于测试、我确认我的网络("乌龟")位于通道6上。  我已将路由器设置调整为通道1、但仍发现设备未连接。

    请告诉我信道设置策略的 API 是什么进行确认、并告诉我可以执行哪些其他测试来帮助您解决问题。

    谢谢、
    -Jon

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

    谢谢 Jon。

    让我们尝试修改代码以执行 wlan_connect()。 使用此方法、您是否能够进行连接?

    BR、

    Vince

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

    感谢 Vince 的建议。

    我相信您所指的函数是 sl_WlanConnect。  我设置代码以避免前面提到的所有 WlanPolicySet 调用、并设置手动连接至硬编码 SSID/密码。  我确认此软件已连接到已知良好的设备。  当我尝试使用坏设备时、我发现没有连接。  我已附上 NWP 日志供您参考。

    为了向您提供更多调试信息、我还通过 sl_WlanGetNetworkList 运行扫描; 我发现在好的器件上、范围内有7个、我的网络(海龟)的 RSSI 为-36dBm。  坏设备未返回任何网络。  我也附上了此 NWP 日志。

    e2e.ti.com/.../2020.04.07_5F00_Network-Scan-Test.log

    e2e.ti.com/.../2020.04.07_5F00_Manual-Connect-Test.log

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

    您好、Vince、您是否根据我上周的更新收到任何反馈?

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

    您好、Jon、

    看起来这些日志以某种方式损坏、我无法解析它们。

    您是否有监听器可用? 您能否查看器件是否正在发送探测请求以查找您的 AP?

    BR、

    Vince  

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

    Vince、如果您认为这些日志有用、我可以重新收集这些日志。  我没有监听器、但有多个 CC3200器件运行良好(包括 Launchpad)。  请告诉我要执行的测试。

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

    您好、Jon、

    是的、这会很有帮助。 我还在与我们的研发团队一起查看日志、看看他们是否能够发现我错过的问题。

    BR、

    Vince  

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

    您好、Vince、有更新吗?  请告诉我您希望我执行哪些测试。

    -Jon

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

    您好、Jon、

    我仍在与研发部进行这方面的调查 您可以尝试的测试是在调用 wlan_Connect()之前删除 wlan_set(),以查看问题是否消失。

    不过、串行闪存可能由于低电压而损坏、这很难进一步调试。

    BR、

    Vince  

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

    您好、Jon、

    您能否运行 uniflash 并获取文件系统的内容、以查看 phy.cal 是否是内部的文件?

    BR、

    Vince

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

    Vince、在实施手动 SL_WlanConnect 方法时、我已经完成并删除了所有 SL_WlanPolicySet 调用。

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

    谢谢 Vince。  我运行了"List File System"、确实看到了 phy.cal 文件。  以下是完整的报告供参考:


    [15:45:26]信息:串行闪存块大小:   4096字节
    [15:45:26]信息:串行闪存容量:      256个块

    [15:45:26]信息:   文件   起始   大小   失败   总大小   文件名
    [15:45:26]信息:   索引   块   [blks]   安全   [blks]
    [15:45:26]信息:-------------------------------------------------------
    [15:45:26]信息:   不适用   0   5   不适用   5      FATFS
    [15:45:26]信息:   0   81   50   是   100      /sys/mcuimg.bin
    [15:45:26]信息:   4   5      5是   10      /tmp/phy.cal
    [15:45:26]信息:   6   15   33   是   66      /sys/servicepack.ucf
    [15:45:26]信息:   7   181   2   是   4      /sys/pref.net
    [15:45:26]信息:   8   185   1   是   2      /sys/stacfg.ini
    [15:45:26]信息:   9   187   1   NO   1      /cert/ca.der
    [15:45:26]信息:   10   188   1   NO   1      /cert/cert.der
    [15:45:26]信息:   11   189   1   NO   1      /cert/key.der
    [15:45:26]信息:   12   190   3   NO   3      www./index.html
    [15:45:26]信息:   13   193   1   NO   1      www. param_config.html
    [15:45:26]信息:   14   194   1   NO   1      www.js/com.ti.tokenpoller.js
    [15:45:26]信息:   15   195   24   NO   24      www.js/jquery -1.8.3.min.js
    [15:45:26]信息:   16   219   1   是   2      /tmp/table.arp
    [15:45:26]信息:   17   221   1   是   2      /sys/ipcfg.ini
    [15:45:26]信息:   18   223   1   是   2      /sys/pmcfg.ini
    [15:45:26]信息:   19   225   1   是   2      /sys/ap.cfg
    [15:45:26]信息:   20   227   1   是   2      /sys/devname.cfg
    [15:45:26]信息:   21   229   1   是   2      nvmvars.txt
    [15:45:26]信息:   22   231   1   是   2      /sys/mode.cfg
    [15:45:26]信息:


    [15:45:26]信息:   闪存使用
    [15:45:26]信息:--------------
    [15:45:26]信息:已用空间:   233个块
    [15:45:26]信息:可用空间:   23个块
    [15:45:26]信息:存储器孔:   [233-255]

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

    您好、Jon、

    谢谢。 看起来串行闪存正常、但可能有些文件已损坏。

    我们还能抓取此问题的 Mac 日志吗? 您需要将以下行添加到您的代码 中-  

    MAP_PinTypeUART (PIN_60、PIN_MODE_1);  

    为 NWP 日志添加的位置相同。 可以在引脚60上捕获 MAC 日志。


    BR、

    Vince  

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

    Vince、

    我已根据您的请求从 PIN_60捕获日志。  请注意、我使用了921600波特、这是 NWP 捕获的详细信息、但由于我无法确认文件、我不确定这是否正确。  请告诉我这是否有用、或者我是否需要使用不同的波特率进行捕获。

    e2e.ti.com/.../2020.05.15_5F00_MAC-Log-of-manual-connection-attempt.log

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

    遗憾的是、无法解析日志。 这些应该是正确的设置。

    也许我们可以通过另一种方式继续调试。 您是否愿意向我发送一个测试设置、其中包含一些引脚已断开以进行测试的问题? 如果可能、我需要通过一些导线断开 MAC、NWP、GND、JTAG 和 UART。

    如果您可以、请给我发送私人邮件、我可以给您提供收货地址。

    BR、

    Vince

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

    Vince、我在我的私人邮件中没有听到您的回复、希望确保您收到了该邮件、以便我们可以将该邮件发送给您。

    谢谢、
    -Jon

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

    Jon、

    已向您发送答复、现在让我们处理该邮件中的此邮件。

    BR、

    Vince