Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multi-access point: weakest signal chosen #385

Closed
transplier opened this issue Jul 4, 2022 · 7 comments
Closed

Multi-access point: weakest signal chosen #385

transplier opened this issue Jul 4, 2022 · 7 comments

Comments

@transplier
Copy link

transplier commented Jul 4, 2022

I have a commercial WiFi setup with multiple access points creating a single network (happens to be Aruba Network gear). All my devices correctly connect to the strongest access point, except OpenEVSE - it seems to default to the weakest signal. If I temporarily power down all access points other than the one I want OpenEVSE to use, it does associate with the correct access point.... but then goes right back to the weakest one on reboot. Very strange. Does it somehow remember the MAC of the first access point it saw?

The issue persists even if I associate with a completely different network, then reconnect to the original multi-access-point network.

Aside, as a workaround... is there any way to force association with a particular access point, such as by MAC/bssid?

EDIT: Looks like ESPHome ran into similar issues (not sure why my ESPHome devices work correctly). esphome/feature-requests#731

ESP-IDF has a roaming example, perhaps it could be integrated? https://github.com/espressif/esp-idf/tree/master/examples/wifi/roaming

@davethetallguy
Copy link

I had a similar problem, though in my case with Ubiquity as the network vendor.

Ubiquity allowed me to limit which AP OpenEVSE would associate with. Aruba might have the same?

Ultimately I created a unique SSID that only the single AP near the OpenEVSE broadcasts.

Obviously both are workarounds, but it's been stable.

@transplier
Copy link
Author

transplier commented Jul 4, 2022

Good workaround idea. My Aruba doesn't seem to have such an option, sadly. EDIT: Oh, they call it "Zones". Workaround applied, still, would be great for it to select the strongest AP and/or support 802.11r/k/v.

@chris1howell
Copy link
Member

chris1howell commented Jul 4, 2022 via email

@jeremypoulter
Copy link
Collaborator

Will look in to this, how are you checking the AP that is connected to, from the AP itself?

@transplier
Copy link
Author

how are you checking the AP that is connected to

From my AP's management interface.

@mmiller7
Copy link

FWIW I found with mine some time ago it was connecting to the lowest channel number in range of multiple BSSIDs that it saw (regardless of signal strength).

My workaround was set up 2 networks - one with the BSSID, another the same SSID and no BSSID at lower priority. That way it roams if the expected AP goes down. Then on the "server side" I have HomeAssistant issue a reboot to ESPHome if it notices an access point go from "down" to "up" on the network (tested by pinging its management interface).

Really awful workaround but until they fix the bug for finding the strongest channel dynamically I couldn't find a better way.

@jeremypoulter
Copy link
Collaborator

Thanks to @KipK for finding the solution to this, will be part of #533.

For the record by default the Arduino library is setup to connect to the first matching SSID it finds, rather than scanning all available APs...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants