过几个小时再连接ap时 没有网络 (AEGHB-503)
qq547176052 opened this issue · comments
使用的是 wired_nic 项目
打开ap后手机连接是有网络的
过一段时间后再来连接就没有网络了
下面是代码
/*
* SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <string.h>
#include "nvs.h"
#include "nvs_flash.h"
#include "esp_netif.h"
#include "esp_event.h"
#include "esp_bridge.h"
#include "esp_wifi.h"
static esp_err_t esp_storage_init(void)
{
esp_err_t ret = nvs_flash_init();
if (ret == ESP_ERR_NVS_NO_FREE_PAGES || ret == ESP_ERR_NVS_NEW_VERSION_FOUND) {
// NVS partition was truncated and needs to be erased
// Retry nvs_flash_init
ESP_ERROR_CHECK(nvs_flash_erase());
ret = nvs_flash_init();
}
return ret;
}
void app_main(void)
{
esp_storage_init();
/* Init and register system/core components */
ESP_ERROR_CHECK(esp_netif_init());
ESP_ERROR_CHECK(esp_event_loop_create_default());
esp_bridge_create_all_netif();
wifi_config_t wifi_cfg = {
.ap = {
.ssid = "111",
.password = "12345678",
}
};
esp_bridge_wifi_set_config(WIFI_IF_AP, &wifi_cfg);
}
能否在示例里面增加一个定时 ping 的操作,如果以太网 netif 能够正常访问互联网,softap 理论上来说也是没问题的。
根据上面打印的信息是softap没有分配ip给手机
idf 里面有个 dhcpserver.c 文件,可以将 DHCPS_DEBUG 宏打开之后看一下,如果能抓空中包,可以配合抓包看下。
听您的描述是分配 ip 出了问题,那么您应该将 dhcps 的 debug 打开(https://github.com/espressif/esp-idf/blob/master/components/lwip/apps/dhcpserver/dhcpserver.c#L66)。
wired_nic.zip
这是我的项目 你能帮我看下是不是配置的问题吗
可以打印下内存确认下是否是内存不足了,
printf("free_heap_size:%d\r\n", esp_get_free_heap_size());
printf("free_internal_heap_size:%d\r\n", esp_get_free_internal_heap_size());
printf("minimum_free_heap_size:%d\r\n\r\n", esp_get_minimum_free_heap_size());