Other Parts Discussed in Thread: UNIFLASH, CC3235SF
Recently I asked how the soft roaming should work and back then I thought the issues were caused by using the "Update" API instead of Delete/Add.
Now after a few measurements I'm thinking it wasn't the update API that caused my confusion.
So the issue is that I set up the link-quality trigger with id=1 (soft roaming) and set the trigger level to -65dB, hysteresis=1
I have a few SSIDs added to the profiles. ROUTERs are named "TEST_2G4" and "TEST_2G4_2", "TEST_5G" and "TEST_5G_2", profiles are setup accordingly.
Router #1 is located ~50meters from router #2 (SSID = "***_2")
In the "SimpleLinkWlanEventHandler" function whenever I receive a notification with "SL_WLAN_EVENT_LINK_QUALITY_TRIGGER" I print out the latest scan results returned by sl_WlanGetNetworkList to see the RSSI values.
And here it is where it gets confusing. The list confirms that the device sees the #2 router with much higher RSSI value yet it will not hop to that SSID.
When walking towards router #2 I get the following notifications:
[wifi] SimpleLinkWlanEventHandler SL_WLAN_EVENT_LINK_QUALITY_TRIGGER rssi=-66 TriggerId=1
[SCAN] Results 28:
01 -64 dB SSID: TEST_2G4
02 -87 dB SSID: TEST_5G
25 -74 dB SSID: TEST_2G4_2
[wifi] SimpleLinkWlanEventHandler SL_WLAN_EVENT_LINK_QUALITY_TRIGGER rssi=-70 TriggerId=1
[SCAN] Results 30:
01 -61 dB SSID: TEST_2G4
02 -87 dB SSID: TEST_5G
24 -71 dB SSID: TEST_2G4_2
[wifi] SimpleLinkWlanEventHandler SL_WLAN_EVENT_LINK_QUALITY_TRIGGER rssi=-69 TriggerId=1
[SCAN] Results 30:
01 -61 dB SSID: TEST_2G4
02 -87 dB SSID: TEST_5G
24 -71 dB SSID: TEST_2G4_2
[wifi] SimpleLinkWlanEventHandler SL_WLAN_EVENT_LINK_QUALITY_TRIGGER rssi=-72 TriggerId=1
[SCAN] Results 30:
01 -61 dB SSID: TEST_2G4
02 -87 dB SSID: TEST_5G
24 -71 dB SSID: TEST_2G4_2
[wifi] SimpleLinkWlanEventHandler SL_WLAN_EVENT_LINK_QUALITY_TRIGGER rssi=-75 TriggerId=1
[SCAN] Results 30:
01 -66 dB SSID: TEST_2G4
02 -87 dB SSID: TEST_5G
24 -66 dB SSID: TEST_2G4_2
[wifi] SimpleLinkWlanEventHandler SL_WLAN_EVENT_LINK_QUALITY_TRIGGER rssi=-76 TriggerId=1
[SCAN] Results 30:
01 -66 dB SSID: TEST_2G4
22 -66 dB SSID: TEST_2G4_2
[wifi] SimpleLinkWlanEventHandler SL_WLAN_EVENT_LINK_QUALITY_TRIGGER rssi=-78 TriggerId=1
[SCAN] Results 30:
01 -66 dB SSID: TEST_2G4
22 -66 dB SSID: TEST_2G4_2
[wifi] SimpleLinkWlanEventHandler SL_WLAN_EVENT_LINK_QUALITY_TRIGGER rssi=-79 TriggerId=1
[SCAN] Results 30:
01 -77 dB SSID: TEST_2G4
21 -63 dB SSID: TEST_2G4_2
[wifi] SimpleLinkWlanEventHandler SL_WLAN_EVENT_LINK_QUALITY_TRIGGER rssi=-82 TriggerId=1
[SCAN] Results 27:
01 -77 dB SSID: TEST_2G4
17 -63 dB SSID: TEST_2G4_2
27 -83 dB SSID: TEST_5G_2
[wifi] SimpleLinkWlanEventHandler SL_WLAN_EVENT_LINK_QUALITY_TRIGGER rssi=-83 TriggerId=1
[SCAN] Results 27:
01 -77 dB SSID: TEST_2G4
17 -63 dB SSID: TEST_2G4_2
27 -74 dB SSID: TEST_5G_2
[wifi] SimpleLinkWlanEventHandler SL_WLAN_EVENT_LINK_QUALITY_TRIGGER rssi=-86 TriggerId=1
[SCAN] Results 21:
01 -84 dB SSID: TEST_2G4
08 -58 dB SSID: TEST_2G4_2
16 -74 dB SSID: TEST_5G_2
[wifi] SimpleLinkWlanEventHandler SL_WLAN_EVENT_LINK_QUALITY_TRIGGER rssi=-86 TriggerId=1
[SCAN] Results 21:
01 -84 dB SSID: TEST_2G4
08 -58 dB SSID: TEST_2G4_2
16 -74 dB SSID: TEST_5G_2
[wifi] SimpleLinkWlanEventHandler SL_WLAN_EVENT_LINK_QUALITY_TRIGGER rssi=-83 TriggerId=1
[SCAN] Results 21:
01 -84 dB SSID: TEST_2G4
08 -58 dB SSID: TEST_2G4_2
16 -74 dB SSID: TEST_5G_2
[wifi] SimpleLinkWlanEventHandler SL_WLAN_EVENT_LINK_QUALITY_TRIGGER rssi=-81 TriggerId=1
[SCAN] Results 21:
01 -84 dB SSID: TEST_2G4
08 -58 dB SSID: TEST_2G4_2
16 -74 dB SSID: TEST_5G_2
Below RSSI -75 the data throughput using router #1 is extremely low, it would be nice to make this roaming work.
In another scenario when I configure #1 router to lower TX power with 5Ghz and switch of 2G4 network, have the device connected to 5Ghz.
Then I activate the 2G4 radio again and I get the notification from the device via the same linkquality callback that I got disconnected from 5Ghz and got reconnected to 2G4 reason=200.
This translates to "SL_WLAN_DISCONNECT_USER_INITIATED" I would maybe expect "SL_WLAN_DISCONNECT_ROAMING_TRIGGER_LOW_QUALITY"?
Questions:
1) What does the hysteresis configure in case the roaming feature is requested with the link-quality api?
2) What do we need to enable or setup/configure in addition to make the soft roaming work?
3) Why do I get reason=200 code when the roaming feature hops from 5G to 2G4?