Problem Description
The reporduce steps are as follows:
1.This issue can be reproduced with 4 ESP32 devices, 2 for stations (STA1, STA2) and 2 for soft-AP (AP1, AP2)
2.Configure AP1/AP2 to the same SSID (ssid_xxx)
3.The max allowed WiFi connections of AP1 is configured to 1 and STA1 connects to AP1
4.The AP1 is close to STA2 while AP2 is far away from STA2 (but the STA2 can find the AP2 via scan)
5.STA2 connects ssid_xxx with all scan method
6.The problem will happen on STA2 because it fails to connec AP1 and never connects AP2
Phenmenon
STA fail to connect after send auth or assoc with a wrong status code, but no disconnect event report and can not connect the next one in the envrionment
Root Cause
Because there are some same ssid APs in the evnrionment, when do all channel scan, it will collect all the matched AP in rc list, because rc list is not empty, so it would send disconnect event, however, we didn't do other step such as connect to other one
VNC MR 575
closes https://github.com/espressif/esp-idf/issues/2323
fix the bug following:
1. after disable bluetooth controller, wifi cannot TX/RX any packets.
2. when software coexist working, there's a little ratio cause wifi task
watchdog timeout
3. when software coexist working, there's a little ratio cause bluetooth
cannot receive anything.
feature:
1. add libbtdm_app.a git commit local and remote checking
Known issues:
1. there's still a bug occurs with a very very low ratio cause bluetooth
cannot receive anything. The reproduce interval may great than 3days
~ 1week via 7x24 hours heavy testing.
1. suppport mesh type, mesh ID, router and IE crypt func&key at any time after mesh is initalized.
2. support modify parent at any time after mesh is configured.
3. modify manual networking example.
4. update header file.
5. fix issues in root conflicts handling.
6. add max length of beacon to menuconfig.
7. fix issue when received a beacon without DSSS.
Backport following WiFi fixes to v3.1:
1. Fix AMPDU RX sequence compitability bug
2. Optimize scan capability in all channel scan
3. Fix some modem sleep bugs
4. Update API to set CSI channel filter and HT_LTF data generating
The following commit rewrites the ESP-MESH docs. This commit includes
new diagrams and a structure approach to the mesh docs. Some mesh api references
have also been modified.
Some APs transmit AMPDU and MPDU by turns. Moreover, the sequence
numbers of AMPDU and MPDU are out of order, e.g. MPDU(1253) -
AMPDU(1251, 1252) - MPDU(1254) - AMPDU(1255, 1256). In order to
receive both AMPDU and MPDU in order, MPDU must be reordered with
AMPDU.
1. new APIs: esp_mesh_get_subnet_nodes_num() and esp_mesh_get_subnet_nodes_list().
2. fix hard to find the parent during connect.
3. disable Wi-Fi channel switch function.
4. fix a typo of MESH_EVENT_NO_PARENT_FOUND.
Fix following WiFi bugs:
1. Shouldn't scan when connect
2. Check beacon length in modem sleep
3. Fix the bug that AP may deauth wrong station when inactivity timer expires
4. Fix the bug that WiFi assert the system when receiving empty MCS in association response frame
1. modify parent switch mechanism.
2. fix non-root doesn't clear the layer value in nvs.
3. fix retransmit the remove announcement packets.
4. add API esp_mesh_flush_upstream_packets().
5. automatically adjust passsive scan time based on the change of beacon interval.
Backport following bug fixes to v3.1:
1. Bug fix of may connect to wrong AP in all channel scan
2. Station state machine change and fix ap loss
3. Add compatible to ccmp encryption
4. Update libphy.a to v3960:
4.1 Decrease phy_init time from 900us to 347us in sleep wakeup
4.2 Fix RX STBC initialization
4.3 Modify set_chan function to fix interrupt watchdog issue
5. Fix several wpa2 enterprise issues
5.1 Fix heap corrupted bug
5.2 Fix memory leak bug
5.3 Make wpa2 enterprise thread-safe
Closes https://github.com/espressif/esp-idf/issues/1569
6. Bugfix of coex wifi pm
This change adds a check for compatibility between the nvs version
found on nvs flash and the one assumed by running code during nvs
initialization. Any mismatch is reported to the user using new error
code ESP_ERR_NVS_NEW_VERSION_FOUND.
Since 94250e42a0, UART output is suspended when entering sleep mode
(deep or light sleep). This makes sense for light sleep, where sleep
normally takes small amount of time, and flushing the UART would add
a lot of latency. But this breaks existing behaviour for deep sleep,
where UART output was previously sent out before entering sleep mode.
Closes https://github.com/espressif/esp-idf/issues/2145
1. Move channel to the first row of the table.
2. Remove the condition of HT20/HT40 for they are determined by
secondary channel.
3. Clean up the CSI table.
INTERRUPT and CCOUNT registers will change outside of program control.
Making the inline assembly used to read these registers volatile
indicates this fact to the compiler.
Fixes https://github.com/espressif/esp-idf/issues/2127