• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Не могу подключиться к AP ESP-а

dmitryc

New member
Начал разбираться с ESP8285.
Первое, что решил попробовать - создать точку доступа и подключиться к ней.
Точка создается, видна другим устройствам, определяется тип шифрования, но подключения не происходит.
В отладке лезут события EVENT_SOFTAPMODE_PROBEREQRECVED (MAC подключающегося определяет) и на этом всё.
При попытке подключения с Linux:
Код:
Warning: mt7601u_mcu_wait_resp retrying
...
Error: mt7601u_mcu_wait_resp timed out
С оригинальной AT-прошивкой всё работает. Подключается, получает IP-адрес...
Сравнивал настройки AT со своими - всё абсолютно одинаково.

Использую официальный Non-OS SDK 2.1.0
Код:
Код:
void ICACHE_FLASH_ATTR user_init(void)
{
    wifi_set_phy_mode(PHY_MODE_11G);
   
    wifi_set_opmode(SOFTAP_MODE);
    char ssid[] = "MyWiFi";
    //char password[] = "qwertykk";
    struct softap_config APcfg;
   
    os_memcpy(&APcfg.ssid, ssid, sizeof ssid);
    //os_memcpy(&APcfg.password, password, sizeof password);
    APcfg.ssid_len = sizeof ssid;
    APcfg.channel = 1;
    APcfg.authmode = AUTH_OPEN; //AUTH_WPA2_PSK;
    //APcfg.ssid_hidden = 0;
    wifi_softap_set_config_current(&APcfg);
   
    // MAC
    //char ap_macaddr[6] = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05};
    //wifi_set_macaddr(SOFTAP_IF, ap_macaddr);
    // DHCP
    //struct ip_info myip_info;
    //struct dhcps_lease dhcp_lease;

    //IP4_ADDR(&dhcp_lease.start_ip, 192, 168, 5, 2);
    //IP4_ADDR(&dhcp_lease.end_ip, 192, 168, 5, 100);
    //IP4_ADDR(&myip_info.ip, 192, 168, 5, 1);
    //IP4_ADDR(&myip_info.gw, 192, 168, 5, 1);
    //IP4_ADDR(&myip_info.netmask, 255, 255, 255, 0);
   
    //wifi_softap_dhcps_stop();
    //wifi_set_ip_info(SOFTAP_IF, &myip_info);
    //wifi_softap_set_dhcps_lease(&dhcp_lease);
    //wifi_softap_dhcps_start();
           
    system_init_done_cb(init_done_cb);   
    wifi_set_event_handler_cb(wifi_handle_event_cb);   
}
Что делаю не так?

Пробовал:
Ставить свои настройки DHCP, IP, MAC (закомментировано в коде)
Разные режимы (b/g/n). По умолчанию там стоял N, в документации сказано, что в этом режиме точка доступа не работает. Разницы с G не увидел.
Включал режим SoftAP + Station вместо SoftAP.
 

dmitryc

New member
Нашел ошибку. Весь Flash перерыл, сравнивая с оригинальной прошивкой.
ssid_len оказался на единицу больше, т.к. sizeof возвращает длину строки с завершающим \0
 
Сверху Снизу