E.Raevskii // check BIO
'open' on 'SerialPort': Failed to open serial port
индзэец
ok-home
так же как и в принтф
https://stackoverflow.com/questions/111928/is-there-a-printf-converter-to-print-in-binary-format
Ruslan
Ruslan
Mikhail
Что делает прошивка?
Считывает данные с 3 датчиков давления, по таблице пересчитывает, выводит поправочные коэффициенты
Ruslan
Mikhail
А потом?
Цикл:
Считывание данных с датчиков давления, расчёт коэффициентов, отправка на плату насоса, тот качает до нужного давления, открывается клапан или форсунка, либо цикл на N открытий, дальше вроде завершается цикл.
Mikhail
Вот таблица с поправками и алгоритм расчёта это наработка товарища за лет 5 , и он хочет защитить от копирования.
Остальное ну как бы не секрет как работает
Mikhail
Можно было сделать на чем то другом, но тут уже сделана веб морда и OTA, так что ищу решение для esp32c3 devkitm 1
Ruslan
Если ОТА работает, то просто включаешь защиту и от фанатов гайвера прошивка закрыта
Mikhail
Поэтому и был вопрос выше
Max
Ruslan
Ruslan
Mikhail
Mikhail
После стм32 даж как то непривычно, что столько сложностей
Max
После стм32 даж как то непривычно, что столько сложностей
Ключевое слово - непривычно.
Вот тут - https://docs.espressif.com/projects/esp-idf/en/v5.0.3/esp32s2/security/flash-encryption.html - например, ничего не сказано про то, ардуино оно или не ардуино. Думаю, можно в эту сторону глянуть.
Mikhail
Коллеги, ну я же не спроста спросил
Как оказалось, можно настроить read out protection/encryption только для idf
Для Дуни это не предусмотрено, но несколько товарищей на зарубежных форумах подменяли бутлодер и работало шифрование.
Вот тут хотел найти, кто это проделывал
Andy
Max
Коллеги, ну я же не спроста спросил
Как оказалось, можно настроить read out protection/encryption только для idf
Для Дуни это не предусмотрено, но несколько товарищей на зарубежных форумах подменяли бутлодер и работало шифрование.
Вот тут хотел найти, кто это проделывал
А тут, увы, только так. Ардуина же формирует такую же прошивку, как и idf.
Соответственно, чисто теоретически, ее можно зашифровать и положить в устройство (как те подменятели бутлоадеров с зарубежных форумов).
Только вот шанс, что кто-то такое делал здесь - очень небольшой, Ардуина этож презираемый серьезными чуваками инструмент))
ok-home
Max
Max
https://github.com/espressif/arduino-esp32/issues/5645#issuecomment-924006154
Max
Впрочем, с подменой бутлоадера тоже рецепт есть, но он еще более стремный.
Ruslan
я пока засяду за WDG, надо с этим окончательно разобраться
E.Raevskii // check BIO
Ничего не помогает((
Ruslan
я чёта не помню, чтобы роджер заносил за рекламу
Ruslan
E.Raevskii // check BIO
У меня есть Kali Linux
E.Raevskii // check BIO
Пойдет?
Ruslan
итак, что имеем:
Panic behaviour='print registers and reboot'
CONFIG_ESP_INT_WDT=yes
CONFIG_ESP_INT_WDT_TIMEOUT_MS=300
CONFIG_ESP_TASK_WDT=yes
CONFIG_ESP_TASK_WDT_TIMEOUT_S=5
CONFIG_ESP_TASK_WDT_PANIC=no
CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=no
CONFIG_ESP_PANIC_HANDLER_IRAM=no
CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL=5
#xkee #watchdog #blog
Ruslan
мысли вслух, таки получается, что если бы девайс вис в freertos, то IWDT его бы пересбрасывал, но раз он виснет и ничего не помогает, значит дело в TWDT, который как раз не вызывает панику
Ruslan
помещать панику в IRAM нет особого смысла, т.к. я не пишу во флеш во время работы железки
Ruslan
вижу два действия, которые надо попробовать:
1. включить панику для TWDT
2. отслеживать idle task
чё думаете?
Andy
Ruslan
похоже вот в чём причина...
Ruslan
проблема то в чем?
да некоторые железки на фрунзенской, а там МинОбороны, видимо чёта включают, последний месяц куча зависаний
Ruslan
Andy
не понял вопрос
разбить таску mqtt... или wdt... на более мелкие кусочки
Ruslan
как пел дима билан, невозможное возможно (с)
Ruslan
картина вырисовывается такая, эта таска внутри себя запускает функцию mqtt_connect (предварительно проведя работу с сертификатами, а там может быть всякое, вплоть до перегенерации сертификата), которая собственно запускает весь mqtt блек джек
Ruslan
вангую, РЭБ ебашит, связь падает, а при восстановлении оно где-то зависает в этой функции, а там TWDT отключен и абзац
Ruslan
так же норм включать?
esp_task_wdt_add(xTaskGetIdleTaskHandle());
Max
Мож проще интервалом собачки играться, а не таски гробить?
Ruslan
ключ может минуты генерироваться
Ruslan
Max
Max
Ну шож, остается передать привет кооперативной многозадачности.
Ruslan
ну ок, для начала можно заебенить таймаут на 5 минут и включить панику для TWDT и посмотреть, херово то, что проблема воспроизводится только на объекте, мне похоже теперь жить там )
Max
Дрона пошли, МО оценит
Ruslan
Ruslan
я лучше отключу таймер на время генерации
Max
Ruslan
на ней оно не виснет, это легко воспроизводится без РЭБ дома и я это вылизал год назад
Andy
Max
Ruslan
забавно, я вынес все тяжёлые операции на старт прошивки, после чего запускаю TWDT, но забыл убрать отключение собаки при старте соединения...
Ruslan
индзэец
E.Raevskii // check BIO
E.Raevskii // check BIO
Гугл видит же
индзэец
мб модуль говно
alex...
Павел
Привет всем. Подскажите, за что отвечает кнопка en?) помните я писал что коротнул пины, так вот плата оживает если я зажму кнопку en
Павел
И пока держу её все вроде живое даж
ㅤ
ну чо вы тут
ㅤ
ㅤ
Max
Зеленый, нам тебя не хватало.
Max
А то нубы приходят, а Руслан только матерится. Вразумлять некому