ESP32 roam behaviour
ESP32 roam behaviour
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.
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.
Robin Down Under (or are you up over!)
Re: ESP32 roam behaviour
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).
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).
Robin Down Under (or are you up over!)
-
- Posts: 9759
- Joined: Thu Nov 26, 2015 4:08 am
Re: ESP32 roam behaviour
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
Maybe this is relevant:
https://github.com/espressif/esp-idf/releases
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
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?
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
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
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.
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
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?
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
Does anyone have suggestions on how to resolve the issues mentioned in my post above?
Re: ESP32 roam behaviour
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.
Who is online
Users browsing this forum: No registered users and 88 guests