Page 1 of 2

ESP32 roam behaviour

Posted: Mon Dec 11, 2017 12:42 am
by frackers
Is roaming (connecting to one of multiple Access Points with the same SSID) configurable for strongest signal or does it default to lowest channel number like the ESP8266.

Is this facility (if currently hard coded) accessible or is it buried in the closed RF code of the IDF? 'grep'ing through the IDF source tree doesn't look promising.

Experiments so far indicate that in STA mode the connection has to all but totally drop out before it looks for another AP and this compromises throughput, especially when 3-4 APs are being used to keep connectivity to 40-50 moving STA reliable.

Re: ESP32 roam behaviour

Posted: Wed Dec 13, 2017 2:11 am
by frackers
I'm astonished that nobody seems to know about a basic operation of the ESP32, or least admitting to knowing!

Guess I'll have to advise that we use another device for our next product (or stick with Lantronix who at least will talk to us).

Re: ESP32 roam behaviour

Posted: Thu Dec 14, 2017 8:50 am
by ESP_Sprite
Fyi, the forums here are best-effort; if someone passes along who knows the answer, you may get a quick response; if the devs are all busy and no one else knows the answer, it may take longer or sometimes will be missed. If you're planning on making a product in any significant numbers, I suggest you talk to our sales team (email them at sales at espressif.com) directly.

Re: ESP32 roam behaviour

Posted: Fri Dec 15, 2017 2:31 am
by markwj
Maybe this is relevant:

https://github.com/espressif/esp-idf/releases
Support for all-channel scan, which can find best AP out of APs with same SSID

Re: ESP32 roam behaviour

Posted: Wed Apr 24, 2019 3:50 pm
by Lateralus
I'm just wondering if there are any news regarding WiFi roaming?
Is this still down to programmatically scanning SSIDs and deciding upon the RSSI value if I want to switch to another AP?

Re: ESP32 roam behaviour

Posted: Wed Apr 24, 2019 4:41 pm
by fly135
Lateralus wrote:
Wed Apr 24, 2019 3:50 pm
I'm just wondering if there are any news regarding WiFi roaming?
Is this still down to programmatically scanning SSIDs and deciding upon the RSSI value if I want to switch to another AP?
I doubt there is more news. You can assign a specific AP by using the BSSID. We did that by letting the phone app select the strongest AP and send the BSSID to the ESP32. But that proved to be a bad solution because BSSIDs can change. We assumed they were fixed. So yeah, scanning on boot for the strongest is still the only way I know.

John A

Re: ESP32 roam behaviour

Posted: Thu Apr 25, 2019 2:13 pm
by Lateralus
This might get tricky if I want to continously send data over WiFi and also have to think about roaming.

If I have to do an esp_wifi_scan_start() every 1-5s, just to see if there is maybe an AP with the same SSID but with a better RSSI in reach, I'd assume that I can't send any data while the scan is running. So I'm wondering if there is any clever way, besides esp_wifi_scan_start() to continously check the RSSI of the current active connection?
That way I could start the scanning for better APs only if my current connection is below a certain RSSI threshold.

Re: ESP32 roam behaviour

Posted: Thu Jun 08, 2023 4:17 pm
by realogics
I too am interested in ROAMING capability.

I am using Arduino-ESP32 2.0.9 release on an Adafruit ESP32 HUZZA ESP32 board. I have attempted to run the roaming example found at: https://github.com/espressif/esp-idf/bl ... _example.c

However, there are several ESP functions which result in "undefined reference":
esp_rrm_is_rrm_supported_connection()
esp_wnm_is_btm_supported_connection()
esp_wnm_send_bss_transition_mgmt_query()
esp_rrm_send_neighbor_rep_request()

The functions can be found in 2.0.9 headers, but apparently the code objects are not.

Has anyone gotten this code to work, and if so, what build environment did you use?

Re: ESP32 roam behaviour

Posted: Tue Jun 27, 2023 12:10 am
by realogics
Does anyone have suggestions on how to resolve the issues mentioned in my post above?

Re: ESP32 roam behaviour

Posted: Thu Feb 08, 2024 9:05 pm
by zachtos
I'm in the same boat, really need a seamless way to transition ESP32 (ESP32s3 for me) to a different BSSID with same SSID when signal is low. Losing data while scanning / reconnecting is a DO NOT PUT INTO PRODUCTION issue for us.