WiFi Access Point Config on WICED

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

cross mob
lock attach
Attachments are accessible only for community members.
dpugaz
Level 1
Level 1
5 sign-ins First reply posted First question asked

We are currently using WICED WiFi Drivers for a product we are developing, however there is a quirk in their driver implementation which basically forces the WIFI to connect to the first detected Access Point rather than the one with the best RSSI.

That being said, we would like to know if anyone has attempted or encountered any  modification for this, since it is a change that would affect their wwd_wifi.c file. Within this file we are looking at two functions:

1) wwd_wifi_join()
2) wwd_wifi_join_specific()

We know that the second function is to connect to the pre-loaded AP in wifi_config_dct.h. However, if this is not available it will then run wwd_wifi_join() to connect to another AP which is referenced to in memory. That being said, we would like to modify wwd_wifi_join() to allow us to connect to the strongest AP with our SSID. So, it is essentially connecting to a specific BSSID.

We are currently stuck in modifying line 1042-1054 within the wwd_wifi_join() function:

The end goal here is for the WIFI module to establish a connection to the SSID with the best RSSI and not simply the first SSID that matches with our saved one.

Please advise. Thank you.

0 Likes
1 Solution
Aditi_B
Moderator
Moderator
Moderator
500 replies posted 5 questions asked 250 replies posted

Hi,

I assume from your response that you've different APs in your network but with the same SSID name and with the help of this API - wwd_wifi_join(), you want to connect to the strongest AP. But just to assure, do you have all APs with the same SSID name?

For your use case, I would recommend that you can add the code for scanning in this function wwd_wifi_join(), you can go through the example code of snip.scan in WICED. Location:

43xxx_Wi-Fi\apps\snip\scan

The scan results displays the RSSI values. You can then accordingly choose which AP you want to connect to and can pass the SSID name and length to the ssid_params structure and can then join the respective AP.

Thanks

Aditi

View solution in original post

0 Likes
1 Reply
Aditi_B
Moderator
Moderator
Moderator
500 replies posted 5 questions asked 250 replies posted

Hi,

I assume from your response that you've different APs in your network but with the same SSID name and with the help of this API - wwd_wifi_join(), you want to connect to the strongest AP. But just to assure, do you have all APs with the same SSID name?

For your use case, I would recommend that you can add the code for scanning in this function wwd_wifi_join(), you can go through the example code of snip.scan in WICED. Location:

43xxx_Wi-Fi\apps\snip\scan

The scan results displays the RSSI values. You can then accordingly choose which AP you want to connect to and can pass the SSID name and length to the ssid_params structure and can then join the respective AP.

Thanks

Aditi

0 Likes