• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе 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
 
Сверху Снизу