WiFi stop and restart doesn't allow re-connect

dparkinson
Posts: 7
Joined: Tue Aug 08, 2017 12:28 pm

WiFi stop and restart doesn't allow re-connect

Postby dparkinson » Wed Feb 14, 2018 9:03 pm

I need to turn the WiFi on and off based on commands received from other peripheral interfaces. I added some debug function to an existing program to make sure turning the WiFi on/off worked before I worried about commanding it via external peripherals. In this test program, the WiFi starts okay and I can connect to it with my device and access the test webpages via a browser. Then, it stops and restarts. After this, my device still connects to the esp32 WiFi, but the browser will no longer bring up the webpage. If I wait for the WiFi to turn off again and turn back on, then everything works again.
I've tried a work-around where I just turn the Wi-Fi off for 1 seconds, back on for 1 second, then back off before I wait to turn it on for real. But that doesn't seem to work.

Anyone have any suggestions?

only running in AP mode and not connecting the ESP32 to another network or anything.
using IDF v2.1.1
running only on a single core

Here is my basic code

Code: Select all


typedef enum McmWifiStateType
{
    e_mcmWifiOff   = 0,
    e_mcmWifiOn,
    e_mcmWifiStarting,
    e_mcmWifiStopping,
    e_mcmWifiEnd,
}McmWifiState_t;

static struct netbuf    *sg_pHttpInBuf;
static char             *sg_pHttpDataBuf;
static uint16_t          sg_httpDataBufLen;
static struct netconn   *sg_pHttpConn;
static QueueHandle_t sg_wifiStateQHandle = NULL;

#if (1 == DBG_WIFI_MCM)  
#define DBG_WIFI_TIME_ON_MS (1 * 20000u)
static uint32_t sg_nextOnTimeMs = 0;
#endif 


void app_main()
{
    esp_err_t err = nvs_flash_init();
    initialize_gpio_values();

    xTaskCreatePinnedToCore(ServerTask, "ServerTask", 4096, NULL, 5, NULL, PRO_CPU_NUM); 

    while (1)
    {
        esp_task_wdt_feed(); 
        __asm__ __volatile__("nop;nop;nop;nop;nop;nop;nop;"); // Bug workaround (I found this snippet somewhere in this forum)
        vTaskDelay(pdMS_TO_TICKS(MAX_TASK_WAIT_MS));
    }
}

/***  initialize_wifi *****************************************************/
/**************************************************************************/
void initialize_wifi(void)
{
    // initialize other module variables.
    sg_pHttpInBuf = NULL;
    sg_pHttpDataBuf = NULL;
    sg_httpDataBufLen = 0;
    sg_pHttpConn = NULL;

    // setup notification Queue for signalling when to turn Wi-Fi On & off.
    sg_wifiStateQHandle = xQueueCreate(2, sizeof(McmWifiState_t));
 
    
    tcpip_adapter_init();
    tcpip_adapter_ip_info_t info;
    memset(&info, 0, sizeof(info));
    IP4_ADDR(&info.ip, 192, 168, 10, 1);
    IP4_ADDR(&info.gw, 192, 168, 10, 1);
    IP4_ADDR(&info.netmask, 255, 255, 255, 0);
    ESP_ERROR_CHECK(tcpip_adapter_dhcps_stop(TCPIP_ADAPTER_IF_AP));
    ESP_ERROR_CHECK(tcpip_adapter_set_ip_info(TCPIP_ADAPTER_IF_AP, &info));
    ESP_ERROR_CHECK(tcpip_adapter_dhcps_start(TCPIP_ADAPTER_IF_AP));
    ESP_ERROR_CHECK(esp_event_loop_init(event_handler, NULL));
    
    wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
    ESP_ERROR_CHECK(esp_wifi_init(&cfg));

} //initialize_wifi

/***  ServerTask *****************************************************/
/************************************************************************/
void ServerTask(void *pvParameters)
{
    initialize_wifi();  // initialize parameters used by Wi-Fi
    struct netconn *conn = NULL;
    err_t err = ERR_OK;
    nextWifiState = e_mcmWifiOff;   // Turn Wi-Fi off, if it was on for some reason.
    // task's infinite-loop 
    for (;;)
    {   
        esp_task_wdt_feed();  
        // if need to turn off Wi-Fi
        if ((e_mcmWifiStopping == nextWifiState)
            || (e_mcmWifiOff == nextWifiState)) // 2nd clause just in case
        {
            StopWifi();
            esp_task_wdt_delete(); // unsubscribe task since going to block indefinitely
#if (1 == DBG_WIFI_MCM)  
            sg_nextOnTimeMs = GET_TIMESTAMP_MS() + DBG_WIFI_TIME_ON_MS;
            while ((GET_TIMESTAMP_MS() < sg_nextOnTimeMs)
                   && (pdFALSE != xQueueIsQueueEmptyFromISR(sg_wifiStateQHandle)))
            {
#if (1 == DBG_MCM_HEAP)
                ESP_LOGD("ServerTask", "heap Size, %u", xPortGetFreeHeapSizeCaps(MALLOC_CAP_8BIT));
#endif
                ESP_LOGD("ServerTask", "WiFi Off Time remaining: %u Seconds", (sg_nextOnTimeMs - GET_TIMESTAMP_MS())/1000);
                vTaskDelay(pdMS_TO_TICKS(9000));
            }
            ChangeWiFiState(e_mcmWifiStarting);   // put what WiFi should be into queue to change it.
#endif             
            /* Block indefinitely (without a timeout) to wait for next change to wifi */
            xQueueReceive(sg_wifiStateQHandle, &nextWifiState, portMAX_DELAY);     // check next request;
            if((e_mcmWifiStarting == nextWifiState)
                   || (e_mcmWifiOn == nextWifiState)) // 2nd clause just in case
            {
                StartWifi();
                nextWifiState = e_mcmWifiOn;
#if (1 == DBG_WIFI_MCM)  
                sg_nextOnTimeMs = GET_TIMESTAMP_MS() + DBG_WIFI_TIME_ON_MS;
#endif 
            }
        } // end if need to turn wi-fi off

        conn = netconn_new(NETCONN_TCP);
        netconn_bind(conn, NULL, 80);
        netconn_listen(conn);
        if (NULL != conn)
        {
            conn->recv_timeout = MAX_TASK_WAIT_MS;
        }

        err = ERR_OK;
        // loop where work is done until an error or Wi-Fi needs to be turned off
        while((err == ERR_OK)
              && (e_mcmWifiStopping != nextWifiState)
              && (e_mcmWifiOff != nextWifiState)) 
        {
            esp_task_wdt_feed();
            err = netconn_accept(conn, &sg_pHttpConn);

            if (err == ERR_OK)
            {
                esp_task_wdt_feed(); 
                http_server_netconn_serve();
            }
            else if(err == ERR_TIMEOUT) // if timed out waiting
            {
                vTaskDelay(pdMS_TO_TICKS(10)); // delay a little to ensure round robin scheduler works and help with memory clean up
                err = ERR_OK;
            }
        
            // clean up old connection
            if (NULL != sg_pHttpConn)
            {
                netconn_delete(sg_pHttpConn);
                netconn_free(sg_pHttpConn);
                sg_pHttpConn = NULL;
            }

#if (1 == DBG_WIFI_MCM)              
            if (GET_TIMESTAMP_MS() < sg_nextOnTimeMs)
            {
                ESP_LOGD("ServerTask", "WiFi On Time remaining: %u Seconds", (sg_nextOnTimeMs - GET_TIMESTAMP_MS()) / 1000);
            }
            else
            {
                ChangeWiFiState(e_mcmWifiStopping);   
            }
#endif 
            
            // check if need to turn off Wi-Fi
            xQueueReceive(sg_wifiStateQHandle, &nextWifiState, 0);      // check next request. If no request, then don't need to turn off.
        
#if (1 == DBG_MCM_HEAP)
        ESP_LOGD("ServerTask", "heap Size, %u", xPortGetFreeHeapSizeCaps(MALLOC_CAP_8BIT));
#endif
        } // end while(err ==  ERR_OK &&  wifi is supposed to be on)
        
        // clean up and try to restart.
        if (NULL != conn)
        {
            netconn_close(conn);
            netconn_delete(conn);
            netconn_free(conn);
            conn = NULL;
        }

    } // end for(;;) infinite loop

} // ServerTask

/***  event_handler *****************************************************/
/************************************************************************/
static esp_err_t event_handler(void *ctx, system_event_t *event)
{
#if (1 == DBG_WIFI_MCM) 
    ESP_LOGD("event_handler","wifi event handler invoked");
#endif

    return ESP_OK;
 
}

/***  StartWifi *****************************************************/
/************************************************************************/
static void StartWifi(void)
{
#if (1 == DBG_WIFI_MCM) || (1 == DBG_MCM_HEAP)
    const char* TAG = "StartWifi";
    ESP_LOGD(TAG, "Starting WiFi");
#if (1 == DBG_MCM_HEAP)
    ESP_LOGD(TAG, "heap Size, %u", xPortGetFreeHeapSizeCaps(MALLOC_CAP_8BIT));
#endif  
#endif

    ESP_ERROR_CHECK(esp_wifi_set_storage(WIFI_STORAGE_RAM));
    
    wifi_config_t wifi_config;
    memset(&wifi_config, 0, sizeof(wifi_config));
    strcpy((char *)wifi_config.ap.ssid, "myWifi");
    wifi_config.ap.ssid_len = strlen((char *)wifi_config.ap.ssid);
    wifi_config.ap.max_connection = 4;
    
    ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_AP));
    ESP_ERROR_CHECK(esp_wifi_set_config(WIFI_IF_AP, &wifi_config));
    ESP_ERROR_CHECK(esp_wifi_start());
    
#if (1 == DBG_WIFI_MCM) || (1 == DBG_MCM_HEAP)
    ESP_LOGD(TAG, "Wi-Fi Started");
#if (1 == DBG_MCM_HEAP)
    ESP_LOGD(TAG, "heap Size, %u", xPortGetFreeHeapSizeCaps(MALLOC_CAP_8BIT));
#endif      
#endif
} // StartWifi

/***  StopWifi *****************************************************/
/***********************************************************************/
static void StopWifi(void)
{
#if (1 == DBG_WIFI_MCM) || (1 == DBG_MCM_HEAP) 
    const char* TAG = "StopWifi";
    ESP_LOGD(TAG, "Stopping WiFi");
#if (1 == DBG_MCM_HEAP)
    ESP_LOGD(TAG, "heap Size, %u", xPortGetFreeHeapSizeCaps(MALLOC_CAP_8BIT));
#endif 
#endif   

    esp_err_t err = ESP_OK;
    
    if (err == ESP_OK)
    {
        err = esp_wifi_stop();
#if (1 == DBG_WIFI_MCM)
        ESP_LOGD(TAG, "esp_wifi_stop() err=0x%04X", err);
#endif 
    }
    
    if (err == ESP_OK)
    {
        err = esp_wifi_set_mode(WIFI_MODE_NULL);
#if (1 == DBG_WIFI_MCM)
        ESP_LOGD(TAG, "esp_wifi_set_mode(WIFI_MODE_NULL) err=0x%04X", err);
#endif         
    }
   
    if ((err != ESP_ERR_WIFI_NOT_INIT) 
        && (err != ESP_OK))
    {
        ESP_ERROR_CHECK(err);
    }

#if (1 == DBG_WIFI_MCM) || (1 == DBG_MCM_HEAP)
    ESP_LOGD(TAG, "Wi-Fi Stopped");
#if (1 == DBG_MCM_HEAP)
    ESP_LOGD(TAG, "heap Size, %u", xPortGetFreeHeapSizeCaps(MALLOC_CAP_8BIT));
#endif     
#endif
} // StopWifi

/***  ChangeWiFiState *****************************************************/
/**
 * @brief   Short Description of Function                                \n
 *                                                                       \n
 * This description should describe the function completely from a high-
 * level standpoint.  It should also tell how this function is intended to
 * be used in the calling environment.
 *
 * @param    arg1   Description of arg1
 * @param    arg2   Description of arg2
 *
 * @returns  Description of the return value
 *
 *************************************************************************/
esp_err_t ChangeWiFiState(McmWifiState_t nextWifiState)
{
    esp_err_t err = ESP_OK;
     // send task request to change wifi state.
     if (pdTRUE != xQueueSend(sg_wifiStateQHandle, 
                              &nextWifiState, 
                              pdMS_TO_TICKS(10)))  
     {
         err =  ESP_ERR_TIMEOUT;
     }
    
    return (err);
} //ChangeWiFiState

/***  http_server_netconn_serve *****************************************************/
/*************************************************************************/
static void http_server_netconn_serve(void)
{
    err_t netErr;
    
#if (1 == DBG_MCM_HEAP)
    const char * TAG = "http_server_netconn_serve";
    ESP_LOGD(TAG, "ENTRY heap Size, %u", xPortGetFreeHeapSizeCaps(MALLOC_CAP_8BIT));
#endif
    
    netErr = netconn_recv(sg_pHttpConn, &sg_pHttpInBuf);
    
#if (1 == DBG_MCM_HEAP)
    ESP_LOGD(TAG, "after netconn_recv heap Size, %u", xPortGetFreeHeapSizeCaps(MALLOC_CAP_8BIT));
#endif    
    
    esp_task_wdt_feed(); 
    if (netErr == ERR_OK)
    {
	    // get the data from the net connection
        netbuf_data(sg_pHttpInBuf, (void**)&sg_pHttpDataBuf, &sg_httpDataBufLen);
       /***
        *  DO STUFF WITH THE DATA...
        *  - send back requested webpages,
        *  - etc.
        */

    } // end if (netErr == ERR_OK)
#if (1 == DBG_WIFI_MCM)
    else if(netErr == ERR_TIMEOUT)
    {
        ESP_LOGD(TAG, "netconn_recv TIMEOUT Error: %i\n", netErr); 
    }   
    else
    {
        printf("netconn_recv Error: %i\n", netErr);
    }
#endif
#if (1 == DBG_MCM_HEAP) 
    ESP_LOGD(TAG, "after request done heap Size, %u", xPortGetFreeHeapSizeCaps(MALLOC_CAP_8BIT));
#endif   
    // close the connection and free the buffer
    netconn_close(sg_pHttpConn);
    netbuf_delete(sg_pHttpInBuf);
    sg_pHttpInBuf = NULL;
    sg_pHttpDataBuf = NULL;
    
#if (1 == DBG_MCM_HEAP)
    esp_task_wdt_feed();
    //vTaskDelay(pdMS_TO_TICKS(500));
    ESP_LOGD(TAG, "after netbuf_delete() heap Size, %u", xPortGetFreeHeapSizeCaps(MALLOC_CAP_8BIT));
#endif        
} // http_server_netconn_serve

Below is the log output of the program.

Code: Select all

rst:0x3 (SW_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0x00
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0008,len:8
load:0x3fff0010,len:4372
load:0x40078000,len:11072
ho 0 tail 12 room 4
load:0x40080000,len:252
entry 0x40080034
I (47) boot: ESP-IDF v2.1 2nd stage bootloader
I (48) boot: compile time 13:42:24
I (48) boot: Enabling RNG early entropy source...
I (61) boot: SPI Speed      : 40MHz
I (74) boot: SPI Mode       : DIO
I (86) boot: SPI Flash Size : 4MB
I (98) boot: Partition Table:
I (110) boot: ## Label            Usage          Type ST Offset   Length
I (132) boot:  0 nvs              WiFi data        01 02 00009000 00006000
I (155) boot:  1 phy_init         RF data          01 01 0000f000 00001000
I (179) boot:  2 factory          factory app      00 00 00010000 00100000
I (202) boot:  3 params           unknown          40 00 00110000 00050000
I (225) boot:  4 filestore        Unknown data     01 81 00200000 001f0000
I (249) boot: End of partition table
I (262) boot: Disabling RNG early entropy source...
I (279) boot: Loading app partition at offset 00010000
I (1491) boot: segment 0: paddr=0x00010018 vaddr=0x00000000 size=0x0ffe8 ( 65512) 
I (1492) boot: segment 1: paddr=0x00020008 vaddr=0x3f400010 size=0x38990 (231824) map
I (1508) boot: segment 2: paddr=0x000589a0 vaddr=0x3ffb0000 size=0x024ec (  9452) load
I (1539) boot: segment 3: paddr=0x0005ae94 vaddr=0x40080000 size=0x00400 (  1024) load
I (1562) boot: segment 4: paddr=0x0005b29c vaddr=0x40080400 size=0x123f8 ( 74744) load
I (1623) boot: segment 5: paddr=0x0006d69c vaddr=0x400c0000 size=0x00000 (     0) load
I (1624) boot: segment 6: paddr=0x0006d6a4 vaddr=0x00000000 size=0x02964 ( 10596) 
I (1646) boot: segment 7: paddr=0x00070010 vaddr=0x400d0018 size=0x70cdc (462044) map
I (1674) cpu_start: Pro cpu up.
I (1684) cpu_start: Single core mode
I (1698) heap_alloc_caps: Initializing. RAM available for dynamic allocation:
I (1721) heap_alloc_caps: At 3FFAE2A0 len 00001D60 (7 KiB): DRAM
I (1742) heap_alloc_caps: At 3FFCFCE0 len 00010320 (64 KiB): DRAM
I (1762) heap_alloc_caps: At 3FFE0440 len 00003BC0 (14 KiB): D/IRAM
I (1784) heap_alloc_caps: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (1805) heap_alloc_caps: At 400927F8 len 0000D808 (54 KiB): IRAM
I (1826) cpu_start: Pro cpu start user code
I (1883) cpu_start: Starting scheduler on PRO CPU.
D (1886) nvs: nvs_flash_init_custom start=9 count=6
D (1894) wl_flash: init - config ID=1, stored ID=1, access_count=0, block_size=4096, max_count=16, pos=0, move_count=1
D (1894) wl_flash: init starts: crc1=-852403191, crc2 = -852403191, this->state.crc=-852403191, state_copy->crc=-852403191
D (1905) wl_flash: init: crc1=-852403191, crc2 = -852403191, result=0
D (1917) wl_flash: recoverPos - this->state.pos=0x00000161, result=00000000
D (1918) vfs_fat_spiflash: using pdrv=0
D (6419) tcpip_adapter: check: local, if=1 fn=0x4013900c

D (6419) tcpip_adapter: dhcp server stop successfully
D (6420) tcpip_adapter: call api in lwip: ret=0x0, give sem
D (6425) tcpip_adapter: check: remote, if=1 fn=0x4013900c

D (6430) tcpip_adapter: check: local, if=1 fn=0x40139168

D (6436) tcpip_adapter: call api in lwip: ret=0x0, give sem
D (6441) tcpip_adapter: check: remote, if=1 fn=0x40139168

D (6447) tcpip_adapter: check: local, if=1 fn=0x40138f00

D (6453) tcpip_adapter: dhcp server re init
D (6457) tcpip_adapter: call api in lwip: ret=0x0, give sem
D (6463) tcpip_adapter: check: remote, if=1 fn=0x40138f00

D (6468) nvs: nvs_open misc 1
D (6471) nvs: nvs_get_str_or_blob log
I (6475) wifi: wifi firmware version: 407bb27
I (6479) wifi: config NVS flash: enabled
I (6483) wifi: config nano formating: disabled
I (6487) system_api: Base MAC address is not set, read default base MAC address from BLK0 of EFUSE
I (6496) system_api: Base MAC address is not set, read default base MAC address from BLK0 of EFUSE
D (6506) nvs: nvs_open nvs.net80211 1
D (6510) nvs: nvs_get opmode 1
D (6513) nvs: nvs_get country 1
D (6516) nvs: nvs_get_str_or_blob sta.ssid
D (6520) nvs: nvs_get_str_or_blob sta.mac
D (6525) nvs: nvs_get sta.authmode 1
D (6528) nvs: nvs_get_str_or_blob sta.pswd
D (6532) nvs: nvs_get_str_or_blob sta.pmk
D (6536) nvs: nvs_get sta.chan 1
D (6540) nvs: nvs_get auto.conn 1
D (6543) nvs: nvs_get bssid.set 1
D (6546) nvs: nvs_get_str_or_blob sta.bssid
D (6551) nvs: nvs_get sta.phym 1
D (6554) nvs: nvs_get sta.phybw 1
D (6557) nvs: nvs_get_str_or_blob sta.apsw
D (6562) nvs: nvs_get_str_or_blob sta.apinfo
D (6566) nvs: nvs_get_str_or_blob ap.ssid
D (6570) nvs: nvs_get_str_or_blob ap.mac
D (6574) nvs: nvs_get_str_or_blob ap.passwd
D (6578) nvs: nvs_get_str_or_blob ap.pmk
D (6582) nvs: nvs_get ap.chan 1
D (6585) nvs: nvs_get ap.authmode 1
D (6589) nvs: nvs_get ap.hidden 1
D (6592) nvs: nvs_get ap.max.conn 1
D (6596) nvs: nvs_get bcn.interval 2
D (6600) nvs: nvs_get ap.phym 1
D (6603) nvs: nvs_get ap.phybw 1
D (6606) nvs: nvs_get ap.sndchan 1
D (6610) nvs: nvs_set_blob sta.mac 6
D (6614) nvs: nvs_set_blob ap.mac 6
I (6617) wifi: Init dynamic tx buffer num: 32
I (6621) wifi: Init dynamic rx buffer num: 8
I (6625) wifi: Init static tx buffer num: 16
I (6630) wifi: wifi driver task: 3ffdfcf4, prio:23, stack:4096
I (6635) wifi: Init static rx buffer num: 10
I (6638) wifi: Init dynamic rx buffer num: 8
I (6642) wifi: Init rx ampdu len mblock:7
I (6646) wifi: Init lldesc rx ampdu entry mblock:4
I (6651) wifi: wifi power manager task: 0x3ffea188 prio: 21 stack: 2560
D (6657) ServerTask: heap Size, 89312
D (6661) ServerTask: WiFi Off Time remaining: 29 Seconds
D (15666) ServerTask: heap Size, 80308
D (15666) ServerTask: WiFi Off Time remaining: 20 Seconds

....

D (33666) ServerTask: WiFi Off Time remaining: 2 Seconds
D (42666) StartWifi: Starting WiFi
D (42666) StartWifi: heap Size, 80308
I (42710) wifi: wifi timer task: 3ffed520, prio:22, stack:3584
D (42710) nvs: nvs_open phy 0
D (42710) nvs: nvs_get cal_version 4
D (42711) nvs: nvs_get_str_or_blob cal_mac
D (42715) nvs: nvs_get_str_or_blob cal_data
D (42721) nvs: nvs_close 3
I (42735) phy: phy_version: 355.1, 59464c5, Jun 14 2017, 20:25:06, 0, 0
I (42736) wifi: mode : softAP (24:0a:c4:03:44:41)
D (42738) tcpip_adapter: check: local, if=1 fn=0x40138a0c
D (42743) tcpip_adapter: dhcp server start:(ip: 192.168.130.1, mask: 255.255.255.0, gw: 192.168.130.1)
D (42751) tcpip_adapter: call api in lwip: ret=0x0, give sem
D (42757) tcpip_adapter: check: remote, if=1 fn=0x40138a0c
D (42763) event_handler: wifi event handler invoked
D (42769) StartWifi: Wi-Fi Started
D (42809) StartWifi: heap Size, 73428
D (43823) ServerTask: WiFi On Time remaining: 58 Seconds
D (43823) ServerTask: heap Size, 72976

...

D (76143) ServerTask: WiFi On Time remaining: 26 Seconds
D (76143) ServerTask: heap Size, 72976
I (76946) wifi: n:1 0, o:1 0, ap:1 1, sta:255 255, prof:1
I (76946) wifi: station: e0:aa:96:da:25:7a join, AID=1, n, 20
D (76948) event_handler: wifi event handler invoked
D (77153) ServerTask: WiFi On Time remaining: 25 Seconds
D (77153) ServerTask: heap Size, 72368
D (78163) ServerTask: WiFi On Time remaining: 24 Seconds
D (78163) ServerTask: heap Size, 72368
D (79173) ServerTask: WiFi On Time remaining: 23 Seconds
D (79173) ServerTask: heap Size, 72368
D (80183) ServerTask: WiFi On Time remaining: 22 Seconds
D (80183) ServerTask: heap Size, 72368
D (81193) ServerTask: WiFi On Time remaining: 21 Seconds
D (81193) ServerTask: heap Size, 72320
D (81456) http_server_netconn_serve: ENTRY heap Size, 69928
D (81457) http_server_netconn_serve: after netconn_recv heap Size, 69888
D (81485) http_server_netconn_serve: after request done heap Size, 68292
D (81491) http_server_netconn_serve: after netbuf_delete() heap Size, 71752
D (81498) ServerTask: WiFi On Time remaining: 21 Seconds
D (81502) ServerTask: heap Size, 71824
D (81607) http_server_netconn_serve: ENTRY heap Size, 66320
D (81610) http_server_netconn_serve: after netconn_recv heap Size, 66280
D (81617) http_server_netconn_serve: after request done heap Size, 64676
D (81622) http_server_netconn_serve: after netbuf_delete() heap Size, 68136
D (81625) ServerTask: WiFi On Time remaining: 21 Seconds
D (81631) ServerTask: heap Size, 68344
D (81634) http_server_netconn_serve: ENTRY heap Size, 68344
D (81641) http_server_netconn_serve: after netconn_recv heap Size, 68304
D (81649) http_server_netconn_serve: after request done heap Size, 65092
D (81658) http_server_netconn_serve: after netbuf_delete() heap Size, 70168
D (81661) ServerTask: WiFi On Time remaining: 21 Seconds
D (81665) ServerTask: heap Size, 70228
D (81673) http_server_netconn_serve: ENTRY heap Size, 70364
D (81676) http_server_netconn_serve: after netconn_recv heap Size, 70324
D (81685) http_server_netconn_serve: after request done heap Size, 67132
D (81691) http_server_netconn_serve: after netbuf_delete() heap Size, 71036
D (81697) ServerTask: WiFi On Time remaining: 21 Seconds
D (81701) ServerTask: heap Size, 71232

...

D (101664) ServerTask: WiFi On Time remaining: 1 Seconds
D (101664) ServerTask: heap Size, 69984
D (102674) ServerTask: WiFi On Time remaining: 0 Seconds
D (102674) ServerTask: heap Size, 69984
D (103684) ServerTask: heap Size, 69984
D (103686) StopWifi: Stopping WiFi
D (103686) StopWifi: heap Size, 70336
I (103727) wifi: station: e0:aa:96:da:25:7a leave, AID = 1
I (103728) wifi: n:1 0, o:1 0, ap:1 1, sta:255 255, prof:1
D (103729) tcpip_adapter: check: local, if=0 fn=0x40138b5c
D (103732) tcpip_adapter: call api in lwip: ret=0x5001, give sem
D (103739) tcpip_adapter: check: remote, if=0 fn=0x40138b5c
D (103744) event_handler: wifi event handler invoked
D (103749) event_handler: wifi event handler invoked
D (103755) tcpip_adapter: check: local, if=1 fn=0x40138b5c
D (103760) tcpip_adapter: call api in lwip: ret=0x0, give sem
D (103766) tcpip_adapter: check: remote, if=1 fn=0x40138b5c
D (103772) event_handler: wifi event handler invoked
I (104778) wifi: lmac stop hw txq
D (104779) StopWifi: esp_wifi_stop() err=0x0000
D (104780) StopWifi: esp_wifi_set_mode(WIFI_MODE_NULL) err=0x0000
D (104823) StopWifi: Wi-Fi Stopped
D (104823) StopWifi: heap Size, 72560
D (104823) ServerTask: heap Size, 72584
D (104823) ServerTask: WiFi Off Time remaining: 30 Seconds
D (113829) ServerTask: heap Size, 76556
D (113829) ServerTask: WiFi Off Time remaining: 20 Seconds
D (122829) ServerTask: heap Size, 76556
D (122829) ServerTask: WiFi Off Time remaining: 11 Seconds
D (131829) ServerTask: heap Size, 76556
D (131829) ServerTask: WiFi Off Time remaining: 2 Seconds
D (140829) StartWifi: Starting WiFi
D (140829) StartWifi: heap Size, 76556
I (140874) wifi: wifi timer task: 3ffed538, prio:22, stack:3584
D (140874) nvs: nvs_open phy 0
D (140874) nvs: nvs_get cal_version 4
D (140876) nvs: nvs_get_str_or_blob cal_mac
D (140880) nvs: nvs_get_str_or_blob cal_data
D (140885) nvs: nvs_close 4
I (140888) wifi: mode : softAP (24:0a:c4:03:44:41)
D (140892) tcpip_adapter: check: local, if=1 fn=0x40138a0c
D (140899) tcpip_adapter: dhcp server start:(ip: 192.168.130.1, mask: 255.255.255.0, gw: 192.168.130.1)
D (140906) tcpip_adapter: call api in lwip: ret=0x0, give sem
D (140912) tcpip_adapter: check: remote, if=1 fn=0x40138a0c
D (140918) event_handler: wifi event handler invoked
D (140924) StartWifi: Wi-Fi Started
D (140964) StartWifi: heap Size, 71216
D (141977) ServerTask: WiFi On Time remaining: 58 Seconds
D (141977) ServerTask: heap Size, 70868
I (142434) wifi: n:1 0, o:1 0, ap:1 1, sta:255 255, prof:1
I (142435) wifi: station: e0:aa:96:da:25:7a join, AID=1, n, 20
D (142436) event_handler: wifi event handler invoked
D (142989) ServerTask: WiFi On Time remaining: 57 Seconds
D (142989) ServerTask: heap Size, 70204
D (143999) ServerTask: WiFi On Time remaining: 56 Seconds
D (143999) ServerTask: heap Size, 70204
D (145009) ServerTask: WiFi On Time remaining: 55 Seconds
D (145009) ServerTask: heap Size, 70076

... 

D (200560) ServerTask: WiFi On Time remaining: 0 Seconds
D (200560) ServerTask: heap Size, 70076
D (201570) ServerTask: heap Size, 70076
D (201572) StopWifi: Stopping WiFi
D (201572) StopWifi: heap Size, 70424
I (201613) wifi: station: e0:aa:96:da:25:7a leave, AID = 1
I (201614) wifi: n:1 0, o:1 0, ap:1 1, sta:255 255, prof:1
D (201615) tcpip_adapter: check: local, if=0 fn=0x40138b5c
D (201619) tcpip_adapter: call api in lwip: ret=0x5001, give sem
D (201625) tcpip_adapter: check: remote, if=0 fn=0x40138b5c
D (201631) event_handler: wifi event handler invoked
D (201636) event_handler: wifi event handler invoked
D (201641) tcpip_adapter: check: local, if=1 fn=0x40138b5c
D (201647) tcpip_adapter: call api in lwip: ret=0x0, give sem
D (201652) tcpip_adapter: check: remote, if=1 fn=0x40138b5c
D (201658) event_handler: wifi event handler invoked
I (202664) wifi: lmac stop hw txq
D (202665) StopWifi: esp_wifi_stop() err=0x0000
D (202666) StopWifi: esp_wifi_set_mode(WIFI_MODE_NULL) err=0x0000
D (202711) StopWifi: Wi-Fi Stopped
D (202711) StopWifi: heap Size, 73600
D (202711) ServerTask: heap Size, 73624
D (202711) ServerTask: WiFi Off Time remaining: 30 Seconds
D (211717) ServerTask: heap Size, 78660
D (211717) ServerTask: WiFi Off Time remaining: 20 Seconds
D (220717) ServerTask: heap Size, 78660
D (220717) ServerTask: WiFi Off Time remaining: 11 Seconds
D (229717) ServerTask: heap Size, 78660
D (229717) ServerTask: WiFi Off Time remaining: 2 Seconds
D (238717) StartWifi: Starting WiFi
D (238717) StartWifi: heap Size, 78660
I (238763) wifi: wifi timer task: 3ffed520, prio:22, stack:3584
D (238763) nvs: nvs_open phy 0
D (238763) nvs: nvs_get cal_version 4
D (238765) nvs: nvs_get_str_or_blob cal_mac
D (238769) nvs: nvs_get_str_or_blob cal_data
D (238774) nvs: nvs_close 5
I (238777) wifi: mode : softAP (24:0a:c4:03:44:41)
D (238781) tcpip_adapter: check: local, if=1 fn=0x40138a0c
D (238788) tcpip_adapter: dhcp server start:(ip: 192.168.130.1, mask: 255.255.255.0, gw: 192.168.130.1)
D (238795) tcpip_adapter: call api in lwip: ret=0x0, give sem
D (238801) tcpip_adapter: check: remote, if=1 fn=0x40138a0c
D (238807) event_handler: wifi event handler invoked
D (238852) StartWifi: Wi-Fi Started
D (238852) StartWifi: heap Size, 73328
D (239866) ServerTask: WiFi On Time remaining: 58 Seconds
D (239866) ServerTask: heap Size, 72976

...

D (247946) ServerTask: WiFi On Time remaining: 50 Seconds
D (247946) ServerTask: heap Size, 72976
D (248956) ServerTask: WiFi On Time remaining: 49 Seconds
D (248956) ServerTask: heap Size, 72976
I (249539) wifi: n:1 0, o:1 0, ap:1 1, sta:255 255, prof:1
I (249540) wifi: station: e0:aa:96:da:25:7a join, AID=1, n, 20
D (249541) event_handler: wifi event handler invoked
D (249966) ServerTask: WiFi On Time remaining: 48 Seconds
D (249966) ServerTask: heap Size, 72368

...

D (257036) ServerTask: WiFi On Time remaining: 41 Seconds
D (257036) ServerTask: heap Size, 72192
D (257676) http_server_netconn_serve: ENTRY heap Size, 69928
D (257677) http_server_netconn_serve: after netconn_recv heap Size, 69888
D (257714) http_server_netconn_serve: after request done heap Size, 68292
D (257721) http_server_netconn_serve: after netbuf_delete() heap Size, 71740
D (257728) ServerTask: WiFi On Time remaining: 41 Seconds
D (257731) ServerTask: heap Size, 71960
D (257793) http_server_netconn_serve: ENTRY heap Size, 70536
D (257797) http_server_netconn_serve: after netconn_recv heap Size, 68496
D (257802) http_server_netconn_serve: after request done heap Size, 65288
D (257809) http_server_netconn_serve: after netbuf_delete() heap Size, 67628
D (257813) ServerTask: WiFi On Time remaining: 41 Seconds
D (257819) ServerTask: heap Size, 69436
D (257822) http_server_netconn_serve: ENTRY heap Size, 69436
D (257829) http_server_netconn_serve: after netconn_recv heap Size, 69396
D (257837) http_server_netconn_serve: after request done heap Size, 66196
D (257842) http_server_netconn_serve: after netbuf_delete() heap Size, 68532
D (257851) ServerTask: WiFi On Time remaining: 41 Seconds
D (257853) ServerTask: heap Size, 70332
D (257858) http_server_netconn_serve: ENTRY heap Size, 70332
D (257865) http_server_netconn_serve: after netconn_recv heap Size, 70292
D (257873) http_server_netconn_serve: after request done heap Size, 67092
D (257881) http_server_netconn_serve: after netbuf_delete() heap Size, 69568
D (257885) ServerTask: WiFi On Time remaining: 40 Seconds
D (257889) ServerTask: heap Size, 71232
D (257920) http_server_netconn_serve: ENTRY heap Size, 70124
D (257921) http_server_netconn_serve: after netconn_recv heap Size, 70084
Unknown GET request: GET /favicon.ico HTTP/1.1
D (257948) http_server_netconn_serve: after request done heap Size, 68488
D (257952) http_server_netconn_serve: after netbuf_delete() heap Size, 70820
D (257955) ServerTask: WiFi On Time remaining: 40 Seconds
D (257957) ServerTask: heap Size, 71024

...

D (298347) ServerTask: WiFi On Time remaining: 0 Seconds
D (298347) ServerTask: heap Size, 69984
D (299357) ServerTask: heap Size, 69984
D (299359) StopWifi: Stopping WiFi
D (299359) StopWifi: heap Size, 70336
I (299400) wifi: station: e0:aa:96:da:25:7a leave, AID = 1
I (299401) wifi: n:1 0, o:1 0, ap:1 1, sta:255 255, prof:1
D (299402) tcpip_adapter: check: local, if=0 fn=0x40138b5c
D (299406) tcpip_adapter: call api in lwip: ret=0x5001, give sem
D (299412) tcpip_adapter: check: remote, if=0 fn=0x40138b5c
D (299418) event_handler: wifi event handler invoked
D (299423) event_handler: wifi event handler invoked
D (299428) tcpip_adapter: check: local, if=1 fn=0x40138b5c
D (299434) tcpip_adapter: call api in lwip: ret=0x0, give sem
D (299439) tcpip_adapter: check: remote, if=1 fn=0x40138b5c
D (299445) event_handler: wifi event handler invoked
I (300451) wifi: lmac stop hw txq
D (300452) StopWifi: esp_wifi_stop() err=0x0000
D (300453) StopWifi: esp_wifi_set_mode(WIFI_MODE_NULL) err=0x0000
D (300496) StopWifi: Wi-Fi Stopped
D (300496) StopWifi: heap Size, 72560
D (300496) ServerTask: heap Size, 72584
D (300496) ServerTask: WiFi Off Time remaining: 30 Seconds
D (309502) ServerTask: heap Size, 76556

...

Who is online

Users browsing this forum: Baidu [Spider] and 97 guests