]> granicus.if.org Git - esp-idf/commit
Wifi: bugfix of two sceanrio may cause no disconnect event report
authorDeng Xin <dengxin@espressif.com>
Thu, 20 Sep 2018 04:09:03 +0000 (12:09 +0800)
committerbot <bot@espressif.com>
Fri, 21 Sep 2018 06:22:20 +0000 (06:22 +0000)
commit7186475d94db3020d7f9097eb355d513deeaaa9b
tree554eb52b2435b35cb1553d116e6596cd2f85e653
parent2e6e87816c35e2e590f6ad26bde1a1b53273ebfa
Wifi: bugfix of two sceanrio may cause no disconnect event report

Problem Description
set some of routers as the same ssid in the same channel, when 32 in the fast scan connect mode, there may no disconnect event report in that two sceanrio:
1. set the correct password and connect, if target router didn't report 32's auth req before timeout, the state machine change to init but no disconnect event report
2. set a wrong password, if router send disassoc or deauth after run, rather than wait 4 way handshake timeout, the state machine change to init but no disconnect event report

Root Cause
Because the routers are in the same channel, all of them are matched the ssid, so all of them can be instore in the rc list wait for connect, when the first one want to connect fail at auth or receive
disassoc or deauth when password wrong, the rc list is not empty, it can not send disconnect event because rc is not empty

Solution
1. put the fail the router in the blacklist
2. Judge whether there is another router can be connect, if it has, try to connect with the next one

VNC MR 561
components/esp32/lib