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.

CC3220MODA: RSSI trigger setup call fails

Part Number: CC3220MODA
Other Parts Discussed in Thread: CC3220SF, UNIFLASH, CC3220S,

Hi,

I have a CC3220SF eval board using

simplelink_cc32xx_sdk_2_40_01_01

I am finding when I call :

result = sl_WlanSet(SL_WLAN_CFG_GENERAL_PARAM_ID, SL_WLAN_GENERAL_PARAM_REGISTER_LINK_QUALITY_EVENT,
                                 sizeof(SlWlanRegisterLinkQualityEvents_t), (uint8_t*)&stationRssiMonitor);

It always fails.

According to the 2_40 release notes the NWP is at 3.10.0.5 which was a requirement if the pdf notes:

4.3.5 RSSI Trigger

Is there a reason why this call fails?

Regards,

  • What is the error code you are getting?

  • Hi,

    The error code was -14338 : SL_ERROR_INVALID_PARAM

    The struct used in the call was :

        SlWlanRegisterLinkQualityEvents_t  stationRssiMonitor;

        stationRssiMonitor.Enable     =  1;

        stationRssiMonitor.Pacing     = 15000;

        stationRssiMonitor.Threshold  =  LowRssiThresholdLevel;

        stationRssiMonitor.Hysteresis =  3;
        
    And the fixed values for a CC3220:

        stationRssiMonitor.TriggerId  =  0;

        stationRssiMonitor.Metric     =  SL_WLAN_METRIC_EVENT_RSSI_BEACON;

        stationRssiMonitor.Direction  =  SL_WLAN_RSSI_EVENT_DIR_LOW;

        stationRssiMonitor.Type       =  SL_WLAN_RX_QUALITY_EVENT_LEVEL;

    The values came from an example in the sdk and all seem ok according to the documentation but the failure remains.
    I did trace it during a debug run and a message goes to the NWP which returns the error so it hard to see why the NWP rejected the call.


    Regards,

  • What is the actual value LowRssiThresholdLevel here?

  • Hi,

    The RSSI value was:

    int32_t LowRssiThresholdLevel = -58;

    which according to the Programmers Guide section 4.3.5 should be ok.

    Just to clarify, as I didn't explicitly mention it, the rssi call is being made from the station end not the AP.

    Regards,

  • Are you able to flash the latest service pack through Uniflash? Also, please update to the latest SDK so we can have a common starting point.
    http://www.ti.com/tool/download/SIMPLELINK-CC32XX-SDK

    -Aaron

  • Aaron,

    I realize I could try it at a later SDK but when I had a separate problem before I did try the later 3_10 SDK but the codec I2S interface had changed giving compiler errors.

    So, ideally, we wanted to try to get things work at 2_10 first. The documentation seems to say it should work at 2_10, is it correct?

    Regards,

    Tunstal_user

  • Hi Tunstal_user,

    Sorry if I'm missing this, but can you clarify that you are using one of the updated servicepacks (v3.10.0.5 or later)? You flashed this as part of using the 2_40 SDK, correct?

    I just tested with the CC3220S and the v3.10.0.5 SP and the call succeeds with the values you are using for me.

    SlWlanRegisterLinkQualityEvents_t RegisterLinkQuality;
    
    RegisterLinkQuality.Enable = 1;
    RegisterLinkQuality.Pacing = 15000;
    RegisterLinkQuality.Threshold = -58;
    RegisterLinkQuality.Hysteresis = 3;
    RegisterLinkQuality.TriggerId = 0;
    RegisterLinkQuality.Metric = SL_WLAN_METRIC_EVENT_RSSI_BEACON;
    RegisterLinkQuality.Direction = SL_WLAN_RSSI_EVENT_DIR_LOW;
    RegisterLinkQuality.Type = SL_WLAN_RX_QUALITY_EVENT_LEVEL;

    Best Regards,
    Ben M

  • Ben,

    I did flash the sp_3.10.0.5_2.0.0.0_2.2.0.6.bin file using uniflash and then flashed the code.

    Now after what you said I did try to flash both at the same time ie in one programming session and the rssi set did work and generated the expected triggers.

    So that was a bit of misunderstanding on my part on how to use uniflash.

    There is one problem though, when I flash both my code and the service pack the AP fails after approx 90 seconds even though the rssi is enabled only on the station. A station does exist that connects to my AP.

    I tried this with another CC3220SF board with working code from a few days back and the same thing happens, every time. The only time the AP stays up is when I don't include the service pack with the code when I use uniflash but then the rssi doesn't work.

    All this is repeatable.

    So am I using uniflash incorrectly?

    Regards,

    Tunstall_user

  • I did run into the same problem and after flashing the latest sp_3.12.0.1_2.0.0.0_2.2.0.6.bin I was able to get the SL_WLAN_EVENT_LINK_QUALITY_TRIGGER event with my LAUNCHCC3220MODASF. Thanks for that hint!

    According to http://www.ti.com/lit/ug/swru455h/swru455h.pdf table 1-1 in chapter 1.2, the CC3220 should not support RSSI Triggers (but it does), therefore I'm wondering if the CC3220 might even support Soft Roaming allthough it shouldn't according to the previously mentioned table.

    However, setting 

        RegisterLinkQuality.TriggerId = 1;
    

    still triggers the quality event, but does not seem to soft roam for my C3220. Is there any plan to support soft roaming for the C3220 or should i do that manually?

  • Michael,

    I think that table just has an error in it.

    If you look at Section 4.3.5 Table 4-5 of the same document it says the CC3220 supports RSSI triggers but not soft roaming. I can confirm the rssi trigger works.

  • Michael,

    Yes, that does appear to be an error in the table. I'll submit a request to have it corrected. Soft roaming is not supported on CC3x20 and there aren't plans to add it.

    Tunstall_user,

    You mean that if you set the roaming trigger option (with the updated SP) and configure the device in AP mode, then it will just eventually run into an error? Can you describe the error a bit more?

    If you can collect NWP logs of the scenario, I'd be interested in reviewing them: http://processors.wiki.ti.com/index.php/CC3120_%26_CC3220_Capture_NWP_Logs

    Best Regards,

    Ben M

  • Hi Tunstall_user,

    I haven't heard back from you in a while so I am assuming you were able to resolve your issue. If you haven't resolved it, please post a reply to this message and include any additional details you have now using the button below. If the thread locks before you are able to post a follow-up response, use the "Ask a related question" button above to post a new thread with additional details that references this topic.

    Thanks!

    Ben M