espressif / esp-idf

Espressif IoT Development Framework. Official development framework for Espressif SoCs.
Apache License 2.0
13.59k stars 7.27k forks source link

Connection Range Issue with Wi-Fi Mesh in SDK 5.3 vs. 5.1.4 (IDFGH-13754) #14616

Open ismaia opened 4 weeks ago

ismaia commented 4 weeks ago

Answers checklist.

General issue report

I encountered an issue while running the mesh lite example (no_router)[https://github.com/espressif/esp-mesh-lite/tree/master/examples/no_router]. When building and running both the root and node firmware using SDK 5.3, the node's connection range to the root significantly decreases compared to when the root and node are built using SDK 5.1.4. I performed multiple tests, and all of them consistently showed the same results: Wi-Fi Mesh with SDK 5.3 has a noticeably shorter range than with SDK 5.1.4. The only configuration change between builds was the ROOT/NODE selection in menuconfig.

I'm using two ESP32-DevKitC boards with built-in PCB antennas

tswen commented 4 weeks ago

Hello, were the testing environments consistent when using SDK 5.1.4 and SDK 5.3? Environmental differences and other external interference may cause some impact. Also, were you testing the maximum distance at which a stable connection could be formed between the two devices?

ismaia commented 3 weeks ago

Hello, were the testing environments consistent when using SDK 5.1.4 and SDK 5.3? Environmental differences and other external interference may cause some impact. Also, were you testing the maximum distance at which a stable connection could be formed between the two devices?

I have separate SDK environments, each with its own tools folder, and I use different load scripts for each one.

I conducted the tests on different days and at least twice a day. For all tests I erased the entire flash: idf.py clean build erase-flash flash monitor

and checked SDK version on ESP32 init logs on every test: ESP-IDF v5.3-dirty 2nd stage bootloader ESP-IDF v5.1.4-dirty 2nd stage bootloader

The tests were as follows: one ESP32(root) was in a fixed location, and a second ESP32(node) was connected to my PC, with messages being displayed in the terminal as I moved. The path and points were the same.

The first test consisted of taking small steps very slowly until losing the connection (disconnect event). The second test involved stopping at fixed points spaced 1 meter apart and turning on the ESP32 to see if it could connect. In both cases, the results were the same: the SDK version 5.1.4 achieved much better communication range than SDK 5.3.

tswen commented 1 week ago

Hello, are the 5.1.4 and 5.3 SDK firmware being used on different hardware, or are they on the same hardware? Could you rule out the possibility of hardware being a contributing factor?

ismaia commented 1 week ago

Hi @tswen , Yes I conducted all the tests on the exact same hardware: one ESP32 for the node and another ESP32 for the root. Both were flashed with the same firmware, with the only difference being the SDK version.

tswen commented 23 hours ago

In theory, this can also be reproduced using the station and softap demos under IDF, because mesh lite is just an application based on the standard 802.11. Have you tested these two different IDF demos? Do you observe the same issue with the station and softap demos in different versions of IDF