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.

[参考译文] CC3235SF:在进入配置模式后卡住、国家/地区代码设置为全球("00")

Guru**** 2580125 points
Other Parts Discussed in Thread: CC3235SF, UNIFLASH

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1016598/cc3235sf-stuck-after-entering-in-provisioning-mode-with-country-code-set-to-world-wide-00

器件型号:CC3235SF
主题中讨论的其他器件: UNIFLASH

因此、正如标题所述、我们的应用滞留在上电->引导->调用 sl_Start ->重置" 循环中。 如果我在配置状态下断开电路板电源、就会发生这种情况。 在以前版本的代码中、不会发生这种行为。 我可以跟踪此行为、它是在我添加呼叫以设置国家/地区代码、设置为"00"后开始的。 如果设置为"BR"(巴西、其中我是)、则在配置模式下、如果我复位、代码不会卡住。 我有什么问题吗? 您是否可以尝试重现此问题? 我目前使用的是 SDK 3.30.01.02和服务包"sp_4.10.0.1_3.7.0.1_3.1.0.26"。

_u8  Str[] = "00";
Status = sl_WlanSet(SL_WLAN_CFG_GENERAL_PARAM_ID, SL_WLAN_GENERAL_PARAM_OPT_COUNTRY_CODE, 2, Str);
if( Status )
{  
    UART_PRINT("Failed set AP Country. Error: %d\n\r", Status);
}


sl_Start 的返回错误为-2005 (sl_api_aborted)、由调用1分钟后的超时事件引起。 之后、代码当前调用"ProcessRestorartMcu"、因此我们进入循环持续重置。

谢谢你

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

    您好 、Elder Tramontin、

    您是否启用了5GHz、是否在基站或 AP 模式下开始配置? 您是否使用 SDK 中的配置示例看到了问题、以便我可以复制?

    此致、

    Sarah

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

    您好、Sarah、

    感谢您的回答。 我启用了5GHz。 我将尝试配置示例并不断更新、但我直到星期一才更新。

    此致、

    较旧

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

    您好、Sarah、

    我能够通过 Simplelink 3.30.01.02中的配置示例(ti/simplelink_cc32xx_sdk_3_30_01_02/examples/rtos/CC3235SF_LAUNCHXL/demos/provisions/tirtos/CCS)重现此行为。 唯一需要的修改是在 sl_Start()调用之后的第1647行中将以下行添加到 Provisioning.c 中:


        if ( (SECURED_AP_ENABLE) || (status != SECURED_AP_ENABLE))
        /*Will enter only if previous and present Secure AP are different or Secure AP is 1*/ 
        {
            SetSecuredAP(SECURED_AP_ENABLE);
            if (ROLE_AP == gRole)
            {
                /* Reset device to start secured AP */
                sl_Stop(SL_STOP_TIMEOUT);
                gRole = sl_Start(NULL, NULL, NULL);
            }
        }
    
    //  -----------------  new: ------------------------
        _i16 Status;
        _u8  Str[] = "00";
        Status = sl_WlanSet(SL_WLAN_CFG_GENERAL_PARAM_ID, SL_WLAN_GENERAL_PARAM_OPT_COUNTRY_CODE, 2, Str);
        if( Status )
        {
            UART_PRINT("Failed set AP Country. Error: %d\n\r", Status);
        }


    我使用了 Uniflash 6.3、其中"cc3235sf_out_of _box_tirtos"项目也来自 SDK 3.30.1.2。 如果将行"00"更改为其他国家/地区、则代码为"EU"、"BR"、"JP"、则代码有效。 否则、代码会按预期首次启动、但如果您断电或复位、则第二次在调用 sl_Start 时会卡住。


    我这次在 Uniflash 上看到的奇怪现象是、在 Uniflash "Advanced"(高级)>"System setting>" Role Settings"(角色设置)>"General Settings"(常规设置)下的"Ccountry Code"(国家代码)字段中搜索"worldwide"。 返回的代码为"WW"、与 SWRU455附录 C 中规定的"00"不同。我认为这种差异只是在用户看来、代码内部配置正确、但我认为值得提及。 无论如何、看到这种情况后、我更改了 Provisioning.c 中的代码以尝试使用"WW"、但此代码返回"sl_error_WLAN_INVALID_COUNTERY_CODE"错误。

    请告诉我是否需要提供有关如何重现此行为的更多信息。 谢谢!

    此致、
    较旧。

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

    您好、Elder、

    为了澄清这一点,sl_Start()只有在配置期间复位时才会挂起?

    您能否使用最新 CC32xx SDK 中的配置示例测试您的设置? 这将有助于 确定问题是否在主机驱动程序中。 如果您在最新 SDK 上看到相同问题、请捕获 NWP 日志(请参阅 NWP 指南第20.1节)。

    此致、

    Sarah