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.

CC3235MODSF: Triggered roaming

Part Number: CC3235MODSF

Hi, 

I am trying to use the triggered roaming function, to switch from one AP to another with the same SSID.

To do this I have :

To initialise the function    
/***** Init *****/    
    _i16 StatusRoam ;
    SlWlanNetworkAssistedRoaming_t roamingTriggeringEnable;
    roamingTriggeringEnable.Enable = 1;
    roamingTriggeringEnable.rssiThreshold = -63;
    
    StatusRoam=sl_WlanSet(SL_WLAN_STA_NETWORK_ASSISTED_ROAMING, SL_WLAN_ROAMING_TRIGGERING_ENABLE, sizeof(SlWlanNetworkAssistedRoaming_t ), (_u8 *)&roamingTriggeringEnable );
    UART_PRINT("[Provisioning task ConfigureDefaultState] roamingTriggering Status:%i ; Enable %i ; RSSI Threshold %i :\n\r",StatusRoam,roamingTriggeringEnable.Enable, roamingTriggeringEnable.rssiThreshold);
    



To detect roaming search events :
/******* Event ********** / 


    case SL_WLAN_EVENT_LINK_QUALITY_TRIGGER:
    {
        UART_PRINT("[WLAN EVENT] RSSI Data=%d\r\n",(int8_t)pWlanEvent->Data.LinkQualityTrigger.Data);
        UART_PRINT("[WLAN EVENT] RSSI Trigger ID=%d\r\n",(int8_t)pWlanEvent->Data.LinkQualityTrigger.TriggerId);

        SlWlanNetworkEntry_t netEntries[10];
        _u8 i;
        _i16 resultsCount = sl_WlanGetNetworkList(0,10,&netEntries[0]);
        for(i=0; i< resultsCount; i++)
        {
            UART_PRINT("%d. ", i + 1);
            UART_PRINT("SSID: %.32s        ", netEntries[i].Ssid);
            UART_PRINT("BSSID: %x:%x:%x:%x:%x:%x    ", netEntries[i].Bssid[0], netEntries[i].Bssid[1], netEntries[i].Bssid[2], netEntries[i].Bssid[3], netEntries[i].Bssid[4], netEntries[i].Bssid[5]);
            UART_PRINT("Channel: %d    ", netEntries[i].Channel);
            UART_PRINT("RSSI: %d    ", netEntries[i].Rssi);
            UART_PRINT("Security type: %d    \r\n", SL_WLAN_SCAN_RESULT_SEC_TYPE_BITMAP(netEntries[i].SecurityInfo));
//            printf("Group Cipher: %d    ", SL_WLAN_SCAN_RESULT_GROUP_CIPHER(netEntries[i].SecurityInfo));
//            printf("Unicast Cipher bitmap: %d    ", SL_WLAN_SCAN_RESULT_UNICAST_CIPHER_BITMAP(netEntries[i].SecurityInfo));
//            printf("Key Mgmt suites bitmap: %d    ", SL_WLAN_SCAN_RESULT_KEY_MGMT_SUITES_BITMAP(netEntries[i].SecurityInfo));
//            printf("Hidden SSID: %d    ", SL_WLAN_SCAN_RESULT_HIDDEN_SSID(netEntries[i].SecurityInfo));
//            printf("PMF Enable: %d    ", SL_WLAN_SCAN_RESULT_PMF_ENABLE(netEntries[i].SecurityInfo));
//            printf("PMF Required: %d\r\n", SL_WLAN_SCAN_RESULT_PMF_REQUIRED(netEntries[i].SecurityInfo));
        }
        if(resultsCount==0){
            UART_PRINT("ResultsCount = 0, No Wifi detected");
        }

    }

As a result I have :

First connection :

[WLAN EVENT] STA Connected to the AP: XXX_SMART_TOOL ,BSSID: 96:e2:ac:e2:43:c
[NETAPP EVENT] IP Acquired: IP=192.168.45.114 , Gateway=192.168.45.148

When the AP becomes faraway : 

1. SSID: M18 BSSID: fe:99:f:68:84:97 Channel: 7 RSSI: -60 Security type: 4
2. SSID: XXX_SMART_TOOL BSSID: 96:e2:ac:e2:43:c Channel: 2 RSSI: -58 Security type: 4
3. SSID: EZCast2-BF8AC123 BSSID: d2:c0:bf:8a:c1:23 Channel: 11 RSSI: -70 Security type: 4
[WLAN EVENT] RSSI Data=-72
[WLAN EVENT] RSSI Trigger ID=1
1. SSID: M18 BSSID: fe:99:f:68:84:97 Channel: 7 RSSI: -61 Security type: 4
2. SSID: XXX_SMART_TOOL BSSID: 96:e2:ac:e2:43:c Channel: 2 RSSI: -58 Security type: 4
3. SSID: EZCast2-BF8AC123 BSSID: d2:c0:bf:8a:c1:23 Channel: 11 RSSI: -71 Security type: 4
[WLAN EVENT] RSSI Data=-74
[WLAN EVENT] RSSI Trigger ID=1
1. SSID: MatureX18 BSSID: fe:99:f:68:84:97 Channel: 7 RSSI: -62 Security type: 4
2. SSID: EZCast2-BF8AC123 BSSID: d2:c0:bf:8a:c1:23 Channel: 11 RSSI: -70 Security type: 4

When I activate a new AP with the same SSID : 

[WLAN EVENT]Device disconnected from the AP: SAM_SMART_TOOL, BSSID: 96:e2:ac:e2:43:c on application's request
[WLAN EVENT]Device disconnected from the AP: SAM_SMART_TOOL, BSSID: 96:e2:ac:e2:43:c on application's request

I can see that the module detects an AP and disconnects from the weak AP but after this event I have nothing? shouldn't the module automatically manage the reconnection? 

Do you have any idea of the problem?

Do the two APs with the same SSID have to belong to the same network for it to work? 

Sincerly, 

Maxime