[WiFi] Support setting / enforcing 11AX explicitly (IDFGH-14395) #15178
Labels
Resolution: Done
Issue is done internally
Status: Done
Issue is done internally
Type: Feature Request
Feature request for IDF
Is your feature request related to a problem?
I need to enforce an 11ax connection because the project I'm working on is supposed to work in a congested environment, which is what 11ax was made for. As far as I can see, there is no way to enforce 11ax. I checked with the iperf example that was suggested:
As soon as you try to
esp_wifi_set_protocol(WIFI_IF_AP, WIFI_PROTOCOL_11AX);
you get the error
ESP_ERR_INVALID_ARG
.And
esp_wifi_set_protocols()
appears to also set the whole protocol family for 5G, and there seems no way to explicitly select only one of these.cmd_do_wifi_protocol()
from the iperf example also invokes only one of these two library functions.The documentation says "2. When WiFi band mode is 5G only, support 802.11a or 802.11an or 802.11anac or 802.11anacax".
Apparently, you need to set the whole family A, N, AC and AX, which is the default for 5G. And in this case the Wifi stack seems to scan the lower bits first, and choose the lowest one that succeeds, in this case N. It won't even try to select AX because N succeeds. (I'd really like to try and look this up in the source code of
libnet80211.a
but sadly, there's only the binary library.) This is different with my Wifi router which negotiates AX at least every other connection attempt.Describe the solution you'd like.
It should be possible to enforce 11ax because that is what you want in congested IoT environments.
Describe alternatives you've considered.
None. As I mentioned, my Wifi Router negotiates 11ax at least every now and then, but the ESP32 AP does not, and will always negotiate 11an.
Additional context.
No response
The text was updated successfully, but these errors were encountered: