Обновление прошивки контроллеров Wiren Board 6.x
Общая информация
Совместимость
Инструкции на этой странице подходят для контроллеров Wiren Board 6.x. Инструкцию по обновлению Wiren Board 7.2…7.3 и Wiren Board 7.4 смотрите на соответствующих страницах.
Как всё устроено
Контроллер работает под управлением Debian Linux, поэтому вы можете обновлять ПО с помощью штатного пакетного менеджера apt — нужен интернет на контроллере, зато сохраняются системные настройки, а также установленное пользователем стороннее ПО и его файлы конфигурации.
Кроме этого, для контроллеров Wiren Board выпускаются прошивки в виде fit-файлов — это образ корневого раздела rootfs, который можно прошить с USB-флешки, карты памяти, через Debug Network или из веб-интерфейса контроллера. Интернет на контроллере не нужен. Сохранятся настройки, сделанные из веб-интерфейса контроллера, а установленное стороннее ПО будет удалено вместе с файлами конфигурации.
Также вы можете удалить все файлы и настройки с контроллера, получив чистое устройство с заводской версией ПО и настройками по умолчанию.
Релизы
Программное обеспечение контроллеров Wiren Board состоит из множества пакетов, которые мы объединяем в релизы:
- Stable — стабильный релиз: обновление пакетов раз в три месяца и исправления критических ошибок. Рекомендуем для инсталляций, которые делает интегратор и которые работают сейчас.
- Testing — тестовый релиз: свежие версии пакетов с новыми функциями и исправлениями, но возможно и с новыми ошибками. Рекомендуем для активных пользователей (DIY), для инсталляций на стадии стройки и проектирования.
Стабильные релизы имеют номер вида wb-YYMM, где YY — год, а MM — месяц выпуска. Например, wb-2104 — релиз, выпущенный в апреле 2021 года.
Мы будем рады, если вы сможете присоединиться к использованию testing, ведь кроме получения новых фич вы поможете уменьшить количество ошибок в stable.
О переключении между релизами и другую информацию смотрите в статье Программное обеспечение Wiren Board.
Пользовательские настройки и файлы
Где хранятся настройки
eMMC контроллера Wiren Board разбита на несколько разделов, пользователю важно знать два из них, которые монтируются в папки:
- / или rootfs — корневой раздел с файлами операционной системы, ссылками на системные настройки, установленным сторонним ПО и его файлами конфигурациями.
- /mnt/data — большой раздел в несколько Гбайт с системными настройками и любыми пользовательскими файлами.
На большом разделе, по адресу /mnt/data/etc
находятся настройки:
В контроллере Wiren Board есть отдельный раздел, который монтируется в каталог /mnt/data
, в котором по адресу /mnt/data/etc
находятся настройки:
- системные: сеть, часовой пояс, пароль к веб-интерфейсу, mosquitto, nginx;
- устройств, подключенных по RS-485 — wb-mqtt-serial.conf
- дашборды, виджеты и настройки веб-интерфейса — wb-webui.conf;
- модулей ввода-вывода и расширения — wb-hardware.conf;
- универсальных входов/выходов A1-A4 (A1-A3, D1) — wb-mqtt-adc.conf;
- выводов GPIO контроллера — wb-mqtt-gpio.conf;
- настройки архива данных — wb-mqtt-db.conf;
- шлюза OPC UA — wb-mqtt-opcua.conf;
- шлюза Modbus TCP/Slave — wb-mqtt-mbgate.conf.
Кроме этого, по адресу /mnt/data/etc/
хранятся:
- wb-rules — пользовательские скрипты;
- wb-rules-module— модули, написанные на wb-rules;
- wb-mqtt-serial.conf.d/templates/ — пользовательские шаблоны.
В каталоге /etc
находятся симлинки на файлы и каталоги из /mnt/data/etc
.
Где хранятся настройки установленного стороннего ПО, уточняйте в его документации.
Резервное копирование
Чтобы сделать резервную копию настроек контроллера, скопируйте содержимое /mnt/data/etc
на компьютер. Программы, установленные в /mnt/data
также нужно сохранить на компьютер.
Если вы устанавливали на контроллер сторонние программы, или хранили файлы вне папки /mnt/data
— их нужно сохранить отдельно.
Кроме этого вы можете скачать образ корневой файловой системы — так вы сохраните настройки сторонних программ, которых хранят файлы в /etc
. Сделать это можно кнопкой в веб-интерфейсе Настройки → Система → Скачать архив с rootfs.
Проверка обновлений
В контроллере нет механизма, который сообщит пользователю о доступном обновлении, поэтому о выходе новых версий вы можете узнать из новостей в наших социальных сетях или в консоли контроллера:
- Подключитесь к контроллеру через SSH.
- Выполните команду:
apt update
- Если есть пакеты для обновления, то можете посмотреть их список:
apt list --upgradable
Увеличение корневого раздела
С выходом релиза wb-2307 можно увеличить корневой раздел rootfs для контроллеров Wiren Board 6 и Wiren Board 7 с 1 до 2 Гбайт — вдвое больше места для системных файлов и стороннего ПО.
Чтобы расширить rootfs, обновите прошивку контроллера с помощью последнего FIT-образа через веб-интерфейс.
После обновления станет доступна галочка Расширить rootfs, если прошивка поддерживает эту возможность — поставьте её и снова обновите прошивку контроллера через веб-интерфейс той же прошивкой, что и в первый раз.
Альтернативный метод — Factory Reset с удалением всех данных, инструкции: Wiren Board 6 Factory Reset, Wiren Board 7 Factory Reset и Wiren Board 7.4 Factory Reset.
После расширения rootfs нельзя устанавливать FIT-образы старых релизов.
Обновление в консоли через apt
Рекомендуемый способ. Если последний раз ПО контроллера обновлялось до апреля 2021 года, то сперва вам нужно перейти на релизы, для этого смените репозиторий.
Если вы обновляетесь с релиза wb-2207 и более раннего через apt, то прочитайте сперва описание известных проблем, с которыми вы столкнётесь: Wiren Board 6: ERRWB600022.
Важно! В релизе wb-2304 сменилась версия Debian, поэтому при переходе со старых релизов wb-21**/wb-22** надо ввести дополнительную команду (подробнее):
wb-release --update-debian-release
Apt — это менеджер пакетов операционной системы Debian, который обновляет изменившиеся пакеты и устанавливает новые, если это необходимо. Для работы нужен интернет или локальное зеркало apt-репозитория Wiren Board.
Обновление контроллера через apt учитывает систему релизов — следуя инструкции, вы полностью перейдёте на новый релиз, а не только обновите отдельные пакеты.
При обновлении сохраняются установленные программы, пользовательские файлы и настройки.
Чтобы обновить прошивку контроллера:
- Подключитесь к нему по SSH.
- Выполните команды:
apt update; apt upgrade
В процессе обновления может появиться запрос на действие с файлами конфигурации. Если не знаете, что выбрать — оставьте значение по умолчанию keep the local version currently installed, так вы сохраните свои настройки.
Так же в консоль будут выводиться служебные сообщения и запросы на действия, которые могут повредить систему или удалить пользовательские настройки — внимательно читайте вопросы перед тем, как ввести Y
.
Решение проблем при обновлении со Stretch на Bullseye
Если вы столкнулись с ошибками при переходе на новый дистрибутив, сообщите нам на портал поддержки.
Могут возникнуть проблемы с работой докер после обновления. Если докер был установлен до перехода, замените имя релиза со stretch на bullseye в файле /etc/apt/sources.list.d/docker.list
и повторно запустите команду его установки по инструкции.
Кроме этого, известно о проблемах с mosquitto и nginx, если их файлы конфигурации изменялись вручную. Обычно это происходит, если вы устанавливали защиту паролем на веб-интерфейс. В этом случае после обновления надо подключиться к контроллеру по SSH и повторно настроить защиту паролем по новой инструкции: Защита паролем веб-интерфейса контроллера в Debian Bullseye.
Если вы используете модуль расширения WBE2R-R-ZIGBEE v.1 со старой прошивкой, работающей только на версии zigbee2mqtt 1.18 — у вас всё может сломаться, поэтому надо:
- Перед обновлением сохранить папку
/root/zigbee2mqtt/data
- Установить специальную версию для этого адаптера:
apt update && apt install zigbee2mqtt-1.18.1
- Восстановить данные из скопированной ранее папки.
Всё, больше этот пакет у вас обновляться не будет, а значит и ломаться будет нечему.
Обновление через веб-интерфейс
Этим способом можно обновить текущий релиз более новым, или перейти со stable на testing. Для перехода на старый релиз используйте процедуру удаления данных, описанную в конце этой страницы.
Скачивание прошивки
Вам понадобится fit-файл прошивки для вашей версии контроллера, свежие образы stable-релиза находятся по ссылкам: Wiren Board 6.3–6.6.0, Wiren Board 6.7.x–6.9.x;
Образы testing и старые версии ПО вы найдёте в нашем репозитории.
Начиная с релиза wb-2304 ссылка для скачивания FIT-файлов доступна в веб-интерфейсе в разделе Настройки → Система.
Процесс
Если у вас на контроллере релиз wb-2307 и новее, а на самом контроллере корневой раздел 1 Гбайт, то его можно увеличить.
Для изменения настроек контроллера вам нужен уровень доступа Администратор, который можно выставить в разделе Настройки → Права доступа.
После завершения настроек рекомендуем поставить уровень доступа Пользователь или Оператор — это поможет не совершить случайных ошибок при ежедневной работе с веб-интерфейсом.
При обновлении сохраняются пользовательские файлы и настройки только в /mnt/data
, но стороннее ПО будет удалено. Рекомендуем сделать резервную копию.
Чтобы обновить прошивку контроллера:
- Скачайте fit-файл прошивки на компьютер.
- Зайдите в веб-интерфейс контроллера и перейдите в раздел Настройки → Система.
- Нажмите кнопку Выбрать файл и выберите скачанный ранее fit-файл.
- Файл с прошивкой загрузится на контроллер и начнётся обновление, которое длится 5-10 минут. Не закрывайте страницу и не выключайте контроллер до завершения.
- После обновления контроллер перезагрузится.
После завершения обновления подключитесь к контроллеру заново и обновите страницу веб-интерфейса в браузере со сбросом кэша (Ctrl+F5 для Chrome), чтобы загрузилась обновленная версия. Проверьте версию прошивки на странице Устройства → System.
Прошивка с помощью USB-флешки
Для обновления прошивки или удаления данных и настроек можно воспользоваться USB-флешкой или картой памяти Micro SD.
Способ удобен, если на компьютере нет интернета и вы используете только встроенное в контроллер ПО.
При обновлении сохраняются пользовательские настройки и файлы в разделе /mnt/data
, но стороннее ПО будет удалено. Если обновить с удалением пользовательских данных — будут стёрты пользовательские настройки и файлы, а так же установленное ПО. Рекомендуем сделать резервную копию.
Подготовка файла прошивки
Вам понадобится fit-файл прошивки для вашей версии контроллера, свежие образы stable-релиза находятся по ссылкам: Wiren Board 6.3–6.6.0, Wiren Board 6.7.x–6.9.x;
Образы testing и старые версии ПО вы найдёте в нашем репозитории.
Начиная с релиза wb-2304 ссылка для скачивания FIT-файлов доступна в веб-интерфейсе в разделе Настройки → Система.
Подготовьте флеш-накопитель:
- Отформатируйте флешку в FAT32.
- Скачайте fit-файл прошивки на компьютер.
- Скопируйте скачанный .fit-файл в корень флешки и убедитесь, что размер файла не равен нулю.
- Переименуйте файл на флешке в
wb6_update.fit
— для обновления, или вwb6_update_FACTORYRESET.fit
— для удаления данных и сброса к заводским настройкам.
Процесс
В процессе контроллер будет несколько раз запрашивать в Debug-консоли подтверждение тех или иных действий, но чтобы не подключаться к ней, мы будем ориентироваться по светодиоду и звуковым сигналам. Действия подтверждаются нажатием на кнопку FW.
Чтобы обновить прошивку:
- Подключите к контроллеру внешнее питание.
- Выключите контроллер кнопкой.
- Подключите флешку с файлом прошивки к порту USB 1.
- Включите кнопкой контроллер.
- В течение первых 5 секунд зажмите кнопку FW, которая находится возле антенны Wi-Fi.
- Дождитесь, пока контроллер не пикнет один раз и отпустите кнопку.
- Следующий шаг зависит от того, с каким именем файл вы положили на флешку:
wb6_update.fit
, контроллер два раза пикнет и начнёт прошивку.wb6_update_FACTORYRESET.fit
,- Контроллер два раза пикнет и потом издаст продолжительный писк, а индикатор загорится красным.
- Зажмите кнопку FW и держите, пока контроллер не пикнет коротко четыре раза. После кнопку можно отпустить.
- Если никакой файл не будет найден — контроллер загрузит текущую операционную систему.
- В процессе индикатор будет несколько раз менять свой цвет.
Процедура продлится 5–10 минут, в конце контроллер перезагрузится в рабочий режим, а индикатор на нём замигает зелёным — флешку можно извлечь.
Решение проблем
Если возникнут проблемы с обновлением, подключитесь к Debug Console контроллера и повторите обновление. Если увидите ошибку FAT: Misaligned buffer address
— возможно следует попробовать другой накопитель. Для контроллеров если происходит перезагрузка в процессе обновления 6.7-6.9 может потребоваться обновление загрузчика командой u-boot-install-wb
Так же можно посмотреть в WB_6:_Errata, так как в некоторых ревизиях контроллера была проблема с определением флешки.
Также обратите внимание, что .fit в имени файла прошивки — это расширение. Если файл не находится, то проверьте, что у вас он верно назван.
Массовая прошивка контроллеров
Если вам надо прошить сразу несколько контроллеров одной флешкой, воспользуйтесь специальным режимом, в котором на флешку сохраняются логи процесса и список контроллеров, а в конце обновления контроллер издаёт характерный сигнал об окончании процедуры.
Версия установленного на контроллере ПО не важна, но fit-файл для обновления нужно взять свежий.
Работает это так:
- Подготовьте флешку с нужной прошивкой по инструкции выше.
- Создайте на этой флешке файл
install_update.flags
с текстом--mass-update
— это включит режим массовой прошивки. - Вставьте флешку в контроллер и прошейте его обычным способом.
- На флешке будет создана папка logs с файлами:
- wb-mass-update.log, в который добавится строчка с серийным номером контроллера, данными о fit-файле (релиз, дата сборки) и сути операции (update/factory reset).
- wb-console.XXXXXXXX.log, где XXXXXXXX — серийной номер контроллера. В этот файл будет записан полный лог процедуры прошивки.
- В конце прошивки контроллер издаст характерный сигнал (тили-ли-ли) — флешку можно извлекать.
Если флешку переставить в другой контроллер и прошить его — в файл wb-mass-update.log будет добавлена новая строчка с серийным номером, а также создастся ещё один файл с логом прошивки контроллера.
Удаление данных и возврат заводских настроек с обновлением ПО
О способе
Процедура удаляет на контроллере все данные: установленное ПО, настройки, пользовательские файлы и восстанавливает заводскую конфигурацию настроек — сделайте резервную копию ваших файлов и настроек. В отличие от аналогичного способа с кнопкой FW, происходит обновление ПО контроллера до версии, которая используется в выбранном вами fit-файле.
Подготовка файла прошивки
Функция пока доступна только для fit-образов с testing-релизом.
Вам понадобится fit-файл прошивки для вашей версии контроллера, свежие образы stable-релиза находятся по ссылкам: Wiren Board 6.3–6.6.0, Wiren Board 6.7.x–6.9.x;
Образы testing и старые версии ПО вы найдёте в нашем репозитории.
Начиная с релиза wb-2304 ссылка для скачивания FIT-файлов доступна в веб-интерфейсе в разделе Настройки → Система.
Процесс
Чтобы удалить все данные, сбросить настройки и обновить версии ПО на контроллере:
- Скачайте fit-файл по инструкции выше.
- Откройте веб-интерфейс контроллера.
- Перейдите Настройки → Система.
- Загрузите fit-файл с прошивкой в разделе Удаление данных и сброс настроек (Factory reset) и дождитесь окончания процедуры.
- Перезагрузите контроллер.
Заметим, что процедура не заменяет встроенный образ заводского ПО, поэтому вы всегда можете откатиться к нему с помощью кнопки FW. Это позволит вам вернуть заводскую прошивку контроллера, на которой он проходил тесты на стенде и точно стабильно работал.