How does the WICED device decide which AP to join when there are multiple AP with the same SSID around?

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
AxLi_1746341
Level 7
Level 7
10 comments on KBA 5 comments on KBA First comment on KBA

Will the WICED device join the one with strongest RSSI?

If not, what is the logic to decide which AP to join?

0 Likes
1 Solution

Which channel the 4 APs used ?

As my previous experience on 43362, It will try to join the first probe response from air. not according the signal !

Cause scan always start from channel 1,  so always is connected to lower channel one.

We solved this by change the scan response callback , reply the scan result sort via signal strength !

Then join AP with specific BSSID, not SSID only.

But if you used another wifi chip maybe it used different algorithm to choice AP to join,

Which is handle by F/W of wifi chip!?

View solution in original post

8 Replies
Murali_R
Moderator
Moderator
Moderator
250 sign-ins 250 replies posted 100 solutions authored

Hi,

There is a structure wiced_ap_info_t defined under /43xxx_Wi-Fi/WICED/WWD/include/wwd_structures.h

There are parameters defined in this structure on which the connection of the WICED device to an AP would depend upon.

Thanks,

0 Likes

I checked that file but don't quite understand your meaning.

Could you tell which parameters of which structure control the join AP behavior?

e.g. How to make it join the AP with strongest RSSI?

Also, what is the default behavior of join AP with multiple APs of the same SSID.

0 Likes

Let me put the question this way:

If you look at the 43xxx_Wi-Fi/WICED/internal/wifi.c wiced_join_ap_specific(),

you will find the comments below:

/* Try join AP with last know specific details */

This simply calls wwd_wifi_join_specific().

/* If join-specific failed, try scan and join AP */

This simply calls wwd_wifi_join().

So my question is for the "try scan and join AP" case, what is the logic to decide which AP to join

if there are multiple AP with the same SSID around. The wwd_wifi_join() function does not tell the logic,

it looks like undocumented but this is a FAQ.

0 Likes

Hi,

I checked this out by defining multiple SSID's (with/without the same name) in the wifi_dct_config.h

At the outset the device tries to connect to the AP defined first, i.e, the device tries to connect to

CLIENT_AP_SSID at the beginning. If not possible, it connects tries to connect to

CLIENT_AP_2_SSID and the process continues till no more SSID's are defined.

Thanks

0 Likes

I think you misunderstand my question.

I'm not asking to set CLIENT_AP_SSID and CLIENT_AP_2_SSID.

When only set CLIENT_AP_SSID, e.g. TARGET_TEST_AP

and there are 4 access points with the same SSID "TARGET_TEST_AP" in

different places around the WICED device, how the WICED device decides which AP to join?

The comment says "try scan and join AP", but it does not tell the logic to choose which one to join.

Will it always choose the best signal one? Or just random select?

0 Likes

Which channel the 4 APs used ?

As my previous experience on 43362, It will try to join the first probe response from air. not according the signal !

Cause scan always start from channel 1,  so always is connected to lower channel one.

We solved this by change the scan response callback , reply the scan result sort via signal strength !

Then join AP with specific BSSID, not SSID only.

But if you used another wifi chip maybe it used different algorithm to choice AP to join,

Which is handle by F/W of wifi chip!?

JoYi_1844281 wrote:

We solved this by change the scan response callback , reply the scan result sort via signal strength !

Then join AP with specific BSSID, not SSID only.

I thought the wwd_wifi_join() will try scan and join a select AP.

So you implement your own join code rather than use wiced_join_ap()?

0 Likes
JoYi_1844281
Level 6
Level 6
100 sign-ins 100 replies posted 50 likes received

Yes,

We get the SSID and passphrase from DCT,

Then scan air get AP list via customize scan callback (AP list sort with signal strength).

but join the AP with specific BSSID (which have best signal strength)!

0 Likes