Bootloader: Errata

From Wiren Board
This is the approved revision of this page, as well as being the most recent.

Описание

Список известных ошибок загрузчика Modbus-устройств Wiren Board, подробнее о загрузчике и как его обновлять, читайте на странице Загрузчик периферийных устройств Wiren Board.

ERRBOOT001: Не работают четность ODD и EVEN при переходе в загрузчик с пользовательскими настройками связи

Подверженные устройства

Все устройства с загрузчиком версии 1.3.0

Описание

Если прошивка работает с четностью ODD или EVEN, то при переходе в загрузчик с пользовательскими настройками связи, загрузчик не отвечает.

Причины и подробное описание

Ошибка в коде драйвера последовательного порта, неправильно настраивается четность приемопередатчика.

Запланированное исправление

Исправлено в загрузчике версии 1.4.0

Пути обхода

Не использовать четность или использовать дефолтные настройки связи

ERRBOOT002: Обновление загрузчика не принимает прошивку на пользовательских настройках связи

Подверженные устройства

Все устройства с загрузчиком версии 1.3.0

Описание

Если обновлять загрузчик на пользовательских настройках, то сначала отправляется файл загрузчика, а затем прошивка. При этом прошивка не принимается.

Причины и подробное описание

После перехода в загрузчик с сохранением пользовательских настроек связи (через регистр 131), загрузчик только один раз принимает прошивку на пользовательских настройках, далее переключается на дефолтные.

Запланированное исправление

Исправлено в загрузчике версии 1.4.0

После перехода в загрузчик с сохранением пользовательских настроек связи (через регистр 131), параметры связи не будут меняться, пока не будет произведен переход на дефолтных настройках ( через регистр 129), или пока устройство не будет пререзагружено по питанию

Пути обхода

Использовать дефолтные настройки связи

ERRBOOT003: После обновления прошивки устройство может остаться в загрузчике и не запускать прошивку

Подверженные устройства

Все устройства с загрузчиком версии 1.4.0

Описание

Если обновить прошивку и новая версия будет иметь больший размер в блоках, чем старая, то загрузчик не сможет загрузить прошивку целиком. У устройства будет неопределенное поведение. Скорее всего устройство не будет отвечать.

Причины и подробное описание

Все пространство после прошивки используется как файловая система, загрузчик не стирает файловую систему и конец загружаемой прошивки не записывается, если прошивка пересекается со страницами файловой системы. Ошибка в данной версии загрузчика отмечает такую прошивку как полностью записаную и передает ей управление. Каждый раз через 2 секунды после подачи питания на устройство.

Запланированное исправление

Исправлено в загрузчике версии 1.4.1 Обновление загрузчика продолжает работать, так как размер загрузчика сильно меньше прошивки.

Пути обхода

Использовать ключ -w в wb-mcu-fw-flasher для стирания файловой системы. Это приведет к корректной записи прошивки, однако настройки будут потеряны.

Возможные проблемы

Если в загрузчик 1.4.0 записать прошивку без ключа стирания файловой системы, то мы получаем неопределенное поведение и пропадание связи с устройством когда выполняется прошивка.

Единственный способ исправить положение - успеть связаться с загрузчиком за первые 2 секунды после подачи питания. Загрузчик отвечает первые 2 секундны на скорости 9600. К устройству можно обращаться по адресу 0. За эти 2 секунды нужно успеть запустить wb-mcu-fw-flasher с файлом обновления загрузчика 1.4.1. После передачи первого пакета данных загрузчик будет принимать прошивку и не переходить в прошивку. Таким образом устройство можно вернуть в исправное состояние.

Удобнее всего это делать если устройство запитано через VOUT контроллера. Можно собрать команду вида mosquitto_pub -t /devices/wb-gpio/controls/V_OUT/on -m 0; sleep 2; mosquitto_pub -t /devices/wb-gpio/controls/V_OUT/on -m 1; sleep 0.5; wb-mcu-fw-flasher -d /dev/ttyRS485-2 -a 0 -f wb-bootloader-updater_mrwl3G__1.4.1_master_e676613.wbfw


Чтобы не допускать потери связи, выполняя команду wb-mcu-fw-updater update-all нужно соглашаться на обновление загрузчика.

ERRBOOT004: Устройство перестаёт включаться, невозможно прошить прошивку

Подверженные устройства

WB-MWAC v.2 с загрузчиком версии до 1.4.6

Описание

Устройство перестаёт включаться, невозможно прошить прошивку, т.к. загрузчик становится полностью неработоспособным.

Причины и подробное описание

Проблема возникла из-за недоработки в программном коде. При запуске загрузчик читает содержимое файловой системы, и если в одной из ячеек возникла двойная ошибка ECC, выполнение кода загрузчика останавливается. Такая ошибка может возникнуть если во время записи во внутреннюю Flash память микроконтроллера произошла перезагрузка или возникли проблемы с питанием.

Как понять что устройство перестало включаться: при подаче питания не горит и не мигает зелёный светодиод статуса.

Запланированное исправление

Исправлено в загрузчике версии 1.4.6

Пути обхода

Замена по гарантии.

ERRBOOT005: При включении устройства, сразу происходит переход в прошивку

Подверженные устройства

WB-MWAC v.2 с загрузчиком версии до 1.4.5 включительно

Описание

При включении устройства, загрузчик должен работать 2 секунды и затем передать управление прошивке. Из-за программно-аппартной недоработки, при запуске без батарейки и с разряженным конденсатором по шине 3.3В, этого не происхоило.

Причины и подробное описание

Проблема возникла из-за недоработки в программном коде. Супервизор питания MAX809L, используемый для определения наличия питания, может выдавать сигнал о наличии с задержкой до 600 мс, в коде загрузчика это не учитывалось и он сразу проверял состояния пина, сигнализируюшего о наличии питания и переходил в прошивку.

Запланированное исправление

Исправлено в загрузчике версии 1.4.7

Пути обхода

Ничего предпринимать не требуется, если устройство используется с батарейкой. Если по какой-то причине устройство используется без батарейки, можно вручную выключить и включить устройство, либо выполнить перезагрузку через Modbus регистры.

ERRBOOT006: Разрядка батарейки при отключении питания

Подверженные устройства

WB-MWAC v.2 с загрузчиком версии от 1.4.6 до 1.4.8 включительно

Описание

Если отключить контакт "V+", иногда происходит разрядка батарейки током 2 - 5 мА.

Причины и подробное описание

Проблема возникла из-за недоработки в программном коде загрузчика. При отключении контакта "V+", трансивер RS485 паразитно запитывался через пин TX микроконтроллера, напряжение питания микроконтроллера падало ниже допустимого уровня, следовательно микроконтроллер не мог войти в режим сна и потреблял 2 - 5 мА до полного разряда батарейки.

Запланированное исправление

Исправлено в загрузчике версии 1.4.9. Пин TX находится в состоянии "логический 0" до первого ответа по Modbus.

Пути обхода

Нет.

ERRBOOT007: Зависание WB-MWAC v.2 после перезагрузки по питанию

Подверженные устройства

WB-MWAC v.2 с загрузчиком версии от 1.5.0 до 1.5.4 включительно:

  • Партии, для которых WB-MWAC v.2 выходили с производства с указанными загрузчиками: v2.2H, v2.2D/2, v2.2F/2, v2.2H/1.
  • Даты производства: 2025-06-18 07:31:01 - 2025-08-18 12:07:14

Описание

Из-за ошибки в коде загрузчика, при определенном расположении данных в файловой системе, может произойти зависание устройства при включении питания. При этом невозможно обновить прошивку или загрузчик.

Причины и подробное описание

Если данные в файловой системе расположились так, что последняя страница оказалась полностью занятой, то код загрузчика некорректно обрабатывал эту ситуацию и выходил за границы flash-памяти, что приводило к ошибке и бесконечной перезагрузке устройства.

Это происходит при перезагрузке устройства по питанию или через регистр 120.

При перезагрузке через регистры 129/131 (переход в загрузчик) происходит сжатие файловой системы и данная проблема не возникает.

При обновлении загрузчика важно не отключать питание, а перейти в загрузчик через регистр (это штатный способ, софт для обновления так и делает).

Запланированное исправление

Исправлено в загрузчике версии 1.5.5.

Пути обхода

Нет. Замена по гарантии.