std-training icon indicating copy to clipboard operation
std-training copied to clipboard

Avoid bailing while connecting or waiting for ip

Open marcelbuesing opened this issue 3 years ago • 2 comments

So basically had the issue that the status was ClientStatus::Started(ClientConnectionStatus::Connecting) and then later ClientStatus::Started(ClientConnectionStatus::Connected(ClientIpStatus::Waiting)) both leading to bailing and then basically ending up with the anyhow::bail!("could not connect to Wi-Fi network: {:?}", err) in the main. Not sure what a reasonable delay is between the status checks.

marcelbuesing avatar May 05 '22 20:05 marcelbuesing

Log output now looks like this for me:

I (3248) esp_idf_svc::wifi: Configuration set
I (3248) esp32_c3_dkc02_bsc::wifi: getting Wifi status
I (3258) esp_idf_svc::wifi: Providing status: Status(Started(Connecting), Stopped)
I (3268) esp32_c3_dkc02_bsc::wifi: Client status connecting...
I (3268) wifi:state: auth -> assoc (0)
I (3278) wifi:state: assoc -> init (2c0)
I (3278) wifi:new:<1,0>, old:<1,0>, ap:<255,255>, sta:<1,0>, prof:1
I (3288) esp_idf_svc::wifi: Got wifi event: StaDisconnected
I (3288) esp_idf_svc::wifi: Reconnecting
I (3298) esp_idf_svc::wifi: STA event StaDisconnected handled, set status: Status(Started(Connecting), Stopped)
I (3808) esp_idf_svc::wifi: Providing status: Status(Started(Connecting), Stopped)
I (3808) esp32_c3_dkc02_bsc::wifi: Client status connecting...
I (4308) esp_idf_svc::wifi: Providing status: Status(Started(Connecting), Stopped)
I (4308) esp32_c3_dkc02_bsc::wifi: Client status connecting...
I (4808) esp_idf_svc::wifi: Providing status: Status(Started(Connecting), Stopped)
I (4808) esp32_c3_dkc02_bsc::wifi: Client status connecting...
I (5308) esp_idf_svc::wifi: Providing status: Status(Started(Connecting), Stopped)
I (5308) esp32_c3_dkc02_bsc::wifi: Client status connecting...
I (5338) esp_idf_svc::wifi: Got wifi event: StaDisconnected
I (5338) esp_idf_svc::wifi: Reconnecting
I (5338) esp_idf_svc::wifi: STA event StaDisconnected handled, set status: Status(Started(Connecting), Stopped)
I (5348) wifi:new:<1,0>, old:<1,0>, ap:<255,255>, sta:<1,0>, prof:1
I (5358) wifi:state: init -> auth (b0)
I (5358) wifi:state: auth -> assoc (0)
I (5418) wifi:state: assoc -> run (10)
I (5428) wifi:connected with xxx, aid = 1, channel 1, BW20, bssid = xxx
I (5438) wifi:pm start, type: 1
I (5438) wifi:set rx beacon pti, rx_bcn_pti: 0, bcn_timeout: 0, mt_pti: 25000, mt_time: 10000
I (5448) esp_idf_svc::wifi: Got wifi event: StaConnected
I (5448) esp_idf_svc::wifi: STA event StaConnected handled, set status: Status(Started(Connected(Waiting)), Stopped)
I (5458) wifi:BcnInt:102400, DTIM:3
I (5808) esp_idf_svc::wifi: Providing status: Status(Started(Connected(Waiting)), Stopped)
I (5808) esp32_c3_dkc02_bsc::wifi: Client status connected waiting for IP...
I (6308) esp_idf_svc::wifi: Providing status: Status(Started(Connected(Waiting)), Stopped)
I (6308) esp32_c3_dkc02_bsc::wifi: Client status connected waiting for IP...
...
I (6808) esp32_c3_dkc02_bsc::wifi: Wifi connected!

marcelbuesing avatar May 05 '22 20:05 marcelbuesing

I was having similar issues and this code fixed it for me.

kieselai avatar May 08 '22 22:05 kieselai

This also fixed it for me.

Ambriage avatar Aug 24 '22 18:08 Ambriage

Fixed by #99

Dajamante avatar Sep 06 '22 09:09 Dajamante