From 7186475d94db3020d7f9097eb355d513deeaaa9b Mon Sep 17 00:00:00 2001 From: Deng Xin Date: Thu, 20 Sep 2018 12:09:03 +0800 Subject: [PATCH] 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 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/esp32/lib b/components/esp32/lib index 8071dade6..05aa0f411 160000 --- a/components/esp32/lib +++ b/components/esp32/lib @@ -1 +1 @@ -Subproject commit 8071dade6e7a28117e2e03592127ac6044159ac6 +Subproject commit 05aa0f411d710a515db6f617b5f413cb3aa14ed1