Chat freely about anything...

User avatar
By Stefan73
#14015 I got a WiFi network using two access-points running on the same SSID and different channels. It seems that the ESP8266 does not select the strongest network but rather the one with the lowest channel number.
In other words: If the access-point with the lower channel number is more far away, the ESP seems to always connect to the weaker WiFi signal.
Tried this with the AT firmware, nodemcu as well as the latest Arduino IDE for ESP. Seems to come from the base SDK.

Can this be fixed?
Is there any method to fix the ESP8266 to a certain channel?
User avatar
By bubba198
#14201 I've noticed the same thing; I think it's hard coded into their library as you suspected at the core SDK.. may never be fixed :(

It's probably scanning from (min--max) channel and as soon as SSID match occurs it connects; the entire process of determining signal strength may not even be available at the radio level even if one could copy all the channel # where SSID match occurs and then decide which channel to connect to there still has to be the dBi signal criteria to persuade a choice of channel
User avatar
By Stefan73
#14222 Thanks a lot for confirming.
I guess fix should be quite feasible. E.g. in the nodemcu firmware the function wifi.sta.getap() lists the received signal strength (rssi) of each AP. Similarly does AT+CWLAP for the AT firmware.

And I guess that Espressif hopefully will fix it as this bug will have issues in any professional environment. There is no company WiFi that does not have multiple APs. This bug will make the ESP8266 fail here.