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.

SIMPLELINK-WIFI-CC3120-SDK-PLUGIN: Never return from sl_Stop

Part Number: SIMPLELINK-WIFI-CC3120-SDK-PLUGIN

Hi TI experts,

It does not return from sl_Stop under the following conditions.
Could you give me some advice?
-SDK Version: 2.40.00.22 (simplelink_sdk_wifi_plugin_2_40_00_22.exe)
-Service Pack: 3.11.1.0_2.0.0.0_2.2.0.6 (CC3x20ServicePack-3.11.1.0_2.0.0.0_2.2.0.6-windows-installer(2.40.00.22).exe)
-Station mode
-Enable DHCP Client
-DHCP server does not provide default GW address.
-Communicate using 3 or more UDP sockets
-Execute sl_Select from multiple threads

In the system test, when the AP power is turned off from this situation, the STA side Host MCU calls sl_Stop.
At this time, it could not get out of the following processing of sl_Stop.

  #ifdef SL_PLATFORM_MULTI_THREADED
    / * Do not continue until all sync object deleted (in relevant context) * /
    while (g_pCB-> NumOfDeletedSyncObj <MAX_CONCURRENT_ACTIONS)
    {
        osDelay (100); / * usleep (100000); * /
    }
  #endif

This NumOfDeletedSyncObj is 8 and MAX_CONCURRENT_ACTIONS is 10.
The Action ID of the ObjPool that has not been released here is 0x12(sl_Select).

Would you please give me some advice to solve this problem?

Best Regards,

Yojiro

  • Hi Yojiro,

    There is a known issue with sl_Select unable to release objects in SDK 2.40. Can you update to the host driver and servicepack in the latest version 4.20?

    Best regards,

    Sarah

  • Hi Sarah-san,

    Thank you for your reply.

    I got it. I will report  your reply to my customer.

    It is a known issue.

    Is there any other known issue that is not documented of v2.40?

    Could you provide a known issue list of v2.40?

    Since my customer is just before mass production, updating to the latest version has a large impact.

    Thank you.

    Best Regards,
    Yojiro

  • Hi Yojiro,

    The latest Wi-Fi plugin release was to sync with the latest CC32xx SDK release, as they share the host driver and servicepack. Since the CC32xx SDK is on a quarterly release cadence, there have been multiple releases since version 2.40. Unfortunately, it doesn't look like the release notes pulled all of the details in correctly, but they are available from the CC32xx SDK release notes.

    The important thing for your customer is that there should not have been any compatibility breaks to the host driver APIs. They should be able to take the contents of the source\ti\drivers\net\wifi folder, replace the porting folder with their porting layer, and use it as-is with the latest servicepack. What is the host MCU?

    The actual fix to the sync object issue was released in the host driver version with CC32xx SDK v3.30. If your customer prefers to update to an older version of the host driver, they can update based on these guidelines: https://e2e.ti.com/support/wireless-connectivity/wifi/f/968/t/877682

    Best regards,

    Sarah

  • Hi Sarah-san,

    I would like to get known issues from past release notes of CC32xx SDK.

    Sarah P said:
    What is the host MCU?


    They are using Renesas  RZ/A1H as the host MCU. and the OS is RTX v1.

    In the latest version of plugin, the count is acquired under the control of TxSyncObj.
    However, RTXv1 does not support the API to get the semaphore count. 

    For now,  I would like to ask them to update to the latest version of plugin.

    Thank you.

    Best Regards,
    Yojiro

  • Hi Yojiro,

    You can find all the CC32xx SDK release notes on the SDK download page from the View Release Notes button. For older SDK versions, see the Recent History section. Host driver changes are in the SDK Change Log and servicepack changes are in the NWP Service Pack Release Notes.

    https://www.ti.com/tool/download/SIMPLELINK-CC32XX-SDK

    The current version of RTX has osSemaphoreGetCount(), but it may not be in earlier versions. You also have the option to create a function in the adaptation layer (cc_pal.c) that calls wait and release to increment and decrement the count. osSemaphoreWait() returns the number of available tokens.

    Best regards,

    Sarah