MeshCore v1.17.1: Критические исправления и полировка после большого релиза 🚀
Версия 1.17.0 вышла 9 августа и принесла множество долгожданных функций. Однако всего пять дней спустя, 14 августа, разработчики выпустили патч 1.17.1. Причина такой молниеносной реакции вполне прозаична и одновременно отрадна: активное сообщество быстро нашло несколько неприятных проблем. Часть из них была косметической, но некоторые уже вполне могли повлиять на стабильную работу репитеров.
Этот быстрый релиз демонстрирует зрелость процесса разработки. Вместо того чтобы ждать следующего крупного обновления, команда оперативно закрывает регрессии. В этой статье мы разберем, что именно было исправлено, почему это важно для вашего железа и кому стоит обновиться в первую очередь.
Оглавление
- Heltec V4.3: Исправление сохранения внешнего LNA 🔧
- Причина и решение
- Heltec T096: Возвращение нормальной мощности передачи (TX) 📡
- Низкоуровневая ошибка в карте пинов
- Стабильность приема: radio.rxgain после сброса AGC ⚖️
- Качество жизни и полировка драйверов 🛠️
- T-Beam Supreme: Возвращение экрана
- LR2021: Доводка драйвера после дебюта
- Сетевая гигиена: Умная маршрутизация удаленного входа 🌐
- Мелкие, но важные исправления 🔩
- Что еще в работе (Известные проблемы) ⏳
- Итоговый вердикт: Кому обновляться прямо сейчас ✅
- Чек-лист для обновления
Heltec V4.3: Исправление сохранения внешнего LNA 🔧
Это та самая проблема, которая активно обсуждалась в комментариях к предыдущему релизу. На платах Heltec V4.3 пользователи могли выполнить команду отключения внешнего малошумящего усилителя:
set radio.fem.rxgain off
Внешний LNA действительно выключался, и шумовой пол (noise floor) падал. Однако после перезагрузки устройства настройка сбрасывалась, и усилитель снова оказывался включенным.
Причина и решение
Корень зла кроется в переходе на новый JSON-формат конфигурации в версии 1.17.0. Параметр fem_rxgain по ошибке считывался и сохранялся из другой, не той переменной. В версии 1.17.1 эта логическая ошибка исправлена.
[ Архитектура усиления приема Heltec V4.3 ] [ Антенна ] │ ▼ [ Внешний LNA (FEM) ] ← Управляется: radio.fem.rxgain │ (Теперь корректно сохраняется в JSON) ▼ [ Чип SX1262 ] ← Управляется: radio.rxgain │ (Внутреннее усиление приемника) ▼ [ Процессор nRF/ESP ]
⚠️ Важно: Сразу после выхода 1.17.0 появились отчеты владельцев V4.3 о том, что шумовой пол после обновления поднялся примерно с -115 до -85 dBm. После установки 1.17.1 настоятельно рекомендуется проверить оба значения командой get radio.fem.rxgain и get radio.rxgain и сравнить поведение в обоих режимах на вашей конкретной точке.
Heltec T096: Возвращение нормальной мощности передачи (TX) 📡
Это была самая неприятная регрессия релиза 1.17.0. После установки обновления несколько владельцев новой платы Heltec T096 обнаружили, что устройство передает сигнал крайне слабо, практически не пробивая стены. В трекере ошибок (issue) проблему быстро подтвердили на трех разных физических устройствах.
Низкоуровневая ошибка в карте пинов
Разработчики обнаружили, что из-за некорректного значения константы PIN_SPI1_MISO в коде, система читала данные за пределами таблицы пинов. Этот сбой памяти приводил к тому, что переставал нормально работать сигнал TX-enable для внешнего усилителя мощности.
В версии 1.17.1 карта пинов (pinmap) для T096 исправлена. Устройство снова работает на заявленной мощности 21 dBm. Если вы владелец T096 и отложили обновление 1.17.0 из-за этой проблемы, теперь можно смело обновляться.
Стабильность приема: radio.rxgain после сброса AGC ⚖️
В MeshCore функция сброса AGC (Automatic Gain Control) фактически выполняет полную переинициализацию радиочипа SX1262. Выяснилось, что после такого сброса пользовательская настройка RX Boosted Gain могла бесследно потеряться. Вместо нее радио получало значение по умолчанию, жестко заданное при сборке прошивки.
Для репитеров, установленных на шумных городских точках, это критично. Оператор может потратить часы на тонкую настройку приема, чтобы пробиться через помехи, а затем получить совершенно другое поведение радио просто после автоматического сброса AGC.
В 1.17.1 логика изменена: после переинициализации чипа теперь возвращается именно сохраненная настройка пользователя, а не дефолтное значение.
Качество жизни и полировка драйверов 🛠️
Помимо критических исправлений, релиз 1.17.1 содержит ряд важных точечных улучшений для конкретных устройств.
T-Beam Supreme: Возвращение экрана
После установки Companion версии 1.17.0 у части пользователей T-Beam Supreme OLED-дисплей оставался полностью пустым и не реагировал на действия. Откат на версию 1.16.0 решал проблему. В 1.17.1 исправление инициализации дисплея уже включено в основную ветку.
LR2021: Доводка драйвера после дебюта
Чипы LR2021 дебютировали в 1.17.0 с поддержкой Multi-SF. В версии 1.17.1 драйвер был дополнительно отполирован. В него добавили корректную обработку флага PREAMBLE_DETECTED и таймауты по IRQ (аппаратным прерываниям).
Проще говоря, логику обнаружения начала LoRa-пакета и ожидания его приема привели к той же отлаженной схеме, которая уже годами используется с чипами SX1262. Тестирование проводилось на устройстве SenseCAP MeshTracker X1.
Сетевая гигиена: Умная маршрутизация удаленного входа 🌐
Это исправление готовилось еще до выхода 1.17.0, но в стабильный релиз оно попало именно сейчас. Оно касается эффективности использования радиоэфира при удаленном управлении репитером.
Раньше, если клиент заходил на репитер по уже известному прямому маршруту (direct route), ответное сообщение от репитера почему-то все равно могло отправляться через широковещательный flood.
- При стандартной настройке
flood.max.unscoped=64это означало лишний служебный пакет, бесполезно гуляющий по mesh-сети. - Если администратор ужесточил настройки сети и поставил
flood.max.unscoped=0, ответ мог вообще погибнуть сразу после отправки, так как ему было запрещено использовать flood-канал.
Теперь при наличии известного обратного маршрута репитер использует именно его для отправки ответа. Это снижает нагрузку на эфир и повышает надежность удаленного управления.
Мелкие, но важные исправления 🔩
В список изменений также вошли следующие технические правки:
| Устройство / Компонент | Описание исправления |
|---|---|
| T-Echo Lite / T-Echo Card | Корректировка работы TCXO (термостабилизированного генератора) для лучшей стабильности частоты. |
| nRF52 (в целом) | Исправлена работа криптографического ускорителя CC310. |
| Система | Улучшена генерация случайных чисел (важно для криптографии и рандомизации задержек). |
| Сборки | Вернуты недостающие KISS radio builds для совместимости со специфическим софтом. |
Что еще в работе (Известные проблемы) ⏳
Разработчики честно признают, что 1.17.1 закрывает не все жалобы, появившиеся после большого релиза 1.17.0. На GitHub пока остаются открытыми следующие задачи:
- T1000-E: Проблемы со стабильностью соединения Bluetooth.
- nRF52: Неточности в сохранении времени на некоторых платах.
- Heltec V4-R8: Проблемы с переходом в режим hibernate (глубокого сна).
Работа над этими вопросами уже ведется и будет включена в следующие патчи.
Итоговый вердикт: Кому обновляться прямо сейчас ✅
Если ваше устройство уже стабильно работает на версии 1.17.0 и вы не сталкиваетесь с описанными проблемами, срочности в обновлении нет. Однако есть категории пользователей, для которых установка 1.17.1 является настоятельной рекомендацией.
Чек-лист для обновления
- Владельцы Heltec V4.3: Обязательно обновитесь, чтобы исправить сохранение настроек LNA и проверить реальный шумовой пол на вашей точке.
- Владельцы Heltec T096: Обновление критически важно для восстановления нормальной мощности передачи.
- Владельцы T-Beam Supreme: Обновитесь для восстановления работоспособности OLED-дисплея.
- Владельцы LR2021 (SenseCAP X1, W12): Рекомендуется для получения более стабильной работы драйвера и корректной обработки прерываний.
- Администраторы плотных сетей: Обновление улучшит маршрутизацию ответов при удаленном входе, сэкономив драгоценное время в эфире.
🔥 Помните: Быстрые патчи вроде 1.17.1 - это признак здоровой экосистемы, где обратная связь от пользователей напрямую влияет на качество кода. Скачивайте обновления через официальный флешер flasher.meshcore.io и делитесь результатами тестов с сообществом.