• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

SDK 1.4.0 (18/09/2015)

pvvx

Активный участник сообщества
Периодическое пропадание AP модуля может происходить по этой же причине? Наблюдаю такую проблему, есть 3 модуля, на одном ESP-01 всё работает, а на другом ESP-01 и ещё одном ESP-07 нет, точка постоянно отваливается, но бывает что и долго работает.
При разных установках калибровок у меня на модулях вообще бардак. Сказать точно что будет нет возможности, т.к. возникает полная стихия у WiFi и куча китайских сообщений из его кода... По этому пока эти опции в esp_init_data_default.bin[114]=2 и т.д. не трогаю, а для быстрого коннекта через deep-sleep подходит только режим deep-sleep 1. В других полная неопределенность или очень долгое время инициализации...
 

pvvx

Активный участник сообщества
Очередная китайская багофича:
При переключении STATIONAP_MODE в STATION_MODE происходит WiFi event(6): EVENT_SOFTAPMODE_STADISCONNECTED
В нем кол-во подключенных клиентов = 0, но wifi_station_get_connect_status() = STATION_CONNECTING, а не STATION_GOT_IP (хотя соединение есть)!
И данное якобы отключение не сопровождается WiFi event(1): EVENT_STAMODE_DISCONNECTED и последующим WiFi event(3):EVENT_STAMODE_GOT_IP !
Чтобы узнать, что можно все UDP и TCP соединения отключить (для примера чтобы уснуть или перейти в энергосберегающий режим, т.к. нет соединения) требуется производить целое расследование - типа когда и после чего вдруг появляются кривые данные у разных китайских процедур... Espressif программеры = идиоты.
 
Последнее редактирование:

pvvx

Активный участник сообщества
При включении wifi_set_opmode(STATIONAP_MODE) и если не подключаться к внешней AP (wifi_station_set_auto_connect(false) и не давать wifi_station_connect(), или если она уже отсоединилась, или хотим соединится потом с другой, или дали wifi_station_disconnect())
то AP работает 10 секунд, потом не работает 10 секунд и т.д. в цикле!
В логе китайцы выводят:
chg_A3:0 -> поле этого AP работает 10 секунд до
chg_A3:-180 -> тут тайм-аут 10 сек и AP не работает
chg_A3:0 -> поле этого AP опять работает 10 секунд и т.д.
Код:
12:20:00.273> chg_A3:-180
12:20:10.570> chg_A3:0
12:20:20.868> chg_A3:-180
12:20:31.161> chg_A3:0
12:20:41.460> chg_A3:-180
12:20:51.755> chg_A3:0
12:21:02.052> chg_A3:-180
12:21:12.347> chg_A3:0
12:21:22.641> chg_A3:-180
12:21:32.940> chg_A3:0
12:21:43.235> chg_A3:-180
12:21:53.594> chg_A3:0
12:22:03.890> chg_A3:-180
12:22:14.186> chg_A3:0
12:22:29.597> chg_A3:-180
12:22:39.893> chg_A3:0
12:22:50.191> chg_A3:-180
12:23:00.486> chg_A3:0
12:23:10.844> chg_A3:-180
Год прошел, как китайцы отлаживают SDK! Espressif = шарашкина контора.
 
Последнее редактирование:

Tomahawk

New member
pvvx, причём у меня в версии 1.3.0 данный глюк работал более устойчивей, т.е. при пропадании внешней АР цикл пропаданий начинался не сразу, но когда-нибудь всё равно начинался. Вот я и думаю теперь: одно исправляют, другое калечат...
 

pvvx

Активный участник сообщества
pvvx, причём у меня в версии 1.3.0 данный глюк работал более устойчивей, т.е. при пропадании внешней АР цикл пропаданий начинался не сразу, но когда-нибудь всё равно начинался. Вот я и думаю теперь: одно исправляют, другое калечат...
Победил. Нашел обход, с помощью лазания в потроха структур закрытой части китай-SDK :mad: (скоро скину в web-свалке).
Прибавил понижение питание, а то когда ST модуля ищет свою AP, то жрет 75 mA. С паузой ReConnect time, задаваемой в Web-свалке теперь так:
PowerWebReConnect.gif
Режим wifi_fpm_sleep = LIGHT_SLEEP_T и wifi_opmode = NULL_MODE со счетом времени (wifi_fpm_do_sleep(time_us)) жрет 15.5mA на ESP-01
wifi_fpm_sleep = MODEM_SLEEP_T на 1 mA больше.
wifi_fpm_sleep = LIGHT_SLEEP_T без времени, с просыпанием по ногам где-то пару mA (не записал и забыл, потом...)
Но никакие sleep не работают, когда модуль в режиме AP или AP+ST.
И как итог - в режиме ST модуль жрет больше, если не подключен к AP, а ищет её. Равно вечные 75mA, если не применить кучу издевательств над китай-алго в SDK :)
 
Последнее редактирование:

pvvx

Активный участник сообщества
Вышел [SDK Patch] esp_iot_sdk_v1.4.1_15_10_27 ...
Исправления:
1. Некоторые устройства могут иметь проблемы подключения к ESP8266 softAP;
2. Проблема отправки UDP данные на несколько устройств.
Извините за неудобства.
Спасибо за ваш интерес в ESP8266!
dhcps_lease испоганена никчемным bool enable:
Код:
struct dhcps_lease {
    bool enable;
    struct ip_addr start_ip;
    struct ip_addr end_ip;
};
Но это уже тянется с их Open source LWIP for ESP_IOT_SDK_V1.4.0.
 
Последнее редактирование:

Vitaly

Member
не догнал, это типа чтоб можно было сделать ап, а адреса давать не будем, руками ставить будете?
 

pvvx

Активный участник сообщества
не догнал, это типа чтоб можно было сделать ап, а адреса давать не будем, руками ставить будете?
Это как и всё чисто китайское очень сложно понять. :(
Это флаг, что типа ip не заданы... и при старте AP "Лизу" установят по ip AP. Иначе проверят и если не понравиться, то изменят флаг и установят по ip AP.
В web-свалке это всё выкинуто (и переворачивание "Лизы" к верх ногами тоже) - иначе возникает неконтролируемый бардак.
Флаг был вынесен, раньше он жил сам по себе и если был изменен, то изменить "Лизу" было незя, да другие заморочки. Но этим выносом флага проблемы не решились, а только увеличились, т.к. менять "Лизу" у китайцев можно только в определенных сложно-запутанных условиях, т.е. совершив сотни никому ненужных переключений режимов WiFi :) Возник он по началу (историческая справка :) ) от того, что китайцам нравиться переворачивание "Лизы" к верх ногами.

Ошибку в system_deep_sleep_local_2 не убрали. После deep-sleep старт опять будет по exception :) Патч актуален.

Из главных блоков (без всяких espconn и т.д.) увеличились по размеру или bss:
wdev.o
esf_buf.o
ieee80211_hostap.o
ieee80211_scan.o
ieee80211_sta.o
if_hwctrl.o
pm_for_bcn_only_mode.o
pp.o
user_interface.o

Единственный pm.o - уменьшился на пару байт.
(итого: bss +240, iram -48, flash +192 байт)
 
Последнее редактирование:
Сверху Снизу