ESP_Gargamel wrote: ↑Fri Jun 25, 2021 3:00 am
这是个问题。
另外,可尝试下 esp_wifi_stop + esp_wifi_deinit,在重新起 wifi。
最好能有可复现问题的最小工程,可做近一步 debug。
我尝试这么做了,主要代码如下:
esp_wifi_stop();
esp_wifi_deinit();
wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
ESP_ERROR_CHECK( esp_wifi_init(&cfg) );
ESP_ERROR_CHECK( esp_wifi_set_mode(WIFI_MODE_STA) );
ESP_ERROR_CHECK( esp_wifi_start() );
有的时候可以解决这个问题,有的时候会失败(接下去都会失败),日志如下。是否有办法检测到重启wifi失败?
W (43830617) wifi:TX Q not empty: 500, TXQ_BLOCK=0
W (43830617) wifi:force witi stop
I (43830617) wifi:flush txq
I (43830617) wifi:stop sw txq
I (43830617) wifi:lmac stop hw txq
W (43830617) wifi:sw tx 0 state not idle, potential error!
W (43830627) wifi:force sw tx 0 state to idle, ebuf flag=412
I (43830627) wifi:Deinit lldesc rx mblock:10
I (43831657) wifi:wifi driver task: 3ffbc274, prio:23, stack:6656, core=0
I (43831667) wifi:wifi firmware version: c7d0450
I (43831667) wifi:wifi certification version: v7.0
I (43831667) wifi:config NVS flash: enabled
I (43831667) wifi:config nano formating: disabled
I (43831677) wifi:Init data frame dynamic rx buffer num: 32
I (43831677) wifi:Init management frame dynamic rx buffer num: 32
I (43831687) wifi:Init management short buffer num: 32
I (43831687) wifi:Init dynamic tx buffer num: 32
I (43831697) wifi:Init static rx buffer size: 1600
I (43831697) wifi:Init static rx buffer num: 10
I (43831707) wifi:Init dynamic rx buffer num: 32
I (43831707) wifi_init: rx ba win: 6
I (43831717) wifi_init: tcpip mbox: 32
I (43831717) wifi_init: udp mbox: 6
I (43831727) wifi_init: tcp mbox: 6
I (43831727) wifi_init: tcp tx win: 5744
I (43831727) wifi_init: tcp rx win: 5744
I (43831737) wifi_init: tcp mss: 1440
I (43831737) wifi_init: WiFi IRAM OP enabled
I (43831747) wifi_init: WiFi RX IRAM OP enabled
I (43831757) wifi:mode : sta (c4:dd:57:c9:81:c4)
I (43831757) wifi:enable tsf
E (43831757) wifi:sta is connecting, return error
I (43834897) MQTT_SAMPLE: wifi disconnected
I (43838027) MQTT_SAMPLE: wifi disconnected
I (43841167) MQTT_SAMPLE: wifi disconnected
W (43843587) wifi:m f probe req l=0
I (43844307) MQTT_SAMPLE: wifi disconnected
W (43844307) wifi:m f probe req l=0
W (43844547) wifi:m f probe req l=0
W (43844787) wifi:m f probe req l=0
W (43845037) wifi:m f probe req l=0