Обновление прошивки контроллеров Wiren Board 7.2…7.3
Общая информация
Совместимость
Инструкции на этой странице подходят для контроллеров Wiren Board 7.2…7.3. Инструкцию по обновлению Wiren Board 6.x и 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 7: ERRWB73011.
Важно! В релизе 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, а также для перехода со stable на testing.
При обновлении сохраняются пользовательские файлы и настройки только в /mnt/data
, но стороннее ПО будет удалено. Рекомендуем сделать резервную копию.
Скачивание прошивки
Вам понадобится fit-файл прошивки для вашей версии контроллера:
Другие версии ПО вы найдёте в нашем репозитории.
Также в свежих релизах FIT-файл можно скачать по ссылке в веб-интерфейсе: Настройки → Система
Процесс
Если у вас на контроллере релиз wb-2307 и новее, а на самом контроллере корневой раздел 1 Гбайт, то его можно увеличить.
Для изменения настроек контроллера вам нужен уровень доступа Администратор, который можно выставить в разделе Настройки → Права доступа.
После завершения настроек рекомендуем поставить уровень доступа Пользователь или Оператор — это поможет не совершить случайных ошибок при ежедневной работе с веб-интерфейсом.
При обновлении сохраняются пользовательские файлы и настройки только в /mnt/data
, но стороннее ПО будет удалено. Рекомендуем сделать резервную копию.
Чтобы обновить прошивку контроллера:
- Скачайте fit-файл прошивки на компьютер.
- Зайдите в веб-интерфейс контроллера и перейдите в раздел Настройки → Система.
- Нажмите кнопку Выбрать файл и выберите скачанный ранее fit-файл.
- Файл с прошивкой загрузится на контроллер и начнётся обновление, которое длится 5-10 минут. Не закрывайте страницу и не выключайте контроллер до завершения.
- После обновления контроллер перезагрузится.
После завершения обновления подключитесь к контроллеру заново и обновите страницу веб-интерфейса в браузере со сбросом кэша (Ctrl+F5 для Chrome), чтобы загрузилась обновленная версия. Проверьте версию прошивки на странице Устройства → System.
Прошивка через Debug Network
О способе
В контроллере есть разъём Debug Network, который можно использовать для обновления прошивки или удаления всех данных и настроек.
При обновлении сохраняются пользовательские настройки и файлы в разделе /mnt/data
, но стороннее ПО будет удалено. Если обновить с удалением пользовательских данных — будут стёрты пользовательские настройки и файлы, а так же установленное ПО. Рекомендуем сделать резервную копию.
Подготовка файла прошивки
Вам понадобится fit-файл прошивки для вашей версии контроллера:
Другие версии ПО вы найдёте в нашем репозитории.
Также в свежих релизах FIT-файл можно скачать по ссылке в веб-интерфейсе: Настройки → Система
Переименуйте загруженный файл в wb_update.fit
— для обновления, или в wb_update_FACTORYRESET.fit
— для удаления данных и сброса к заводским настройкам. Обратите внимание, что .fit — расширение файла, если у вас Windows и отключен показ расширений, то скаченный файл будет без него — не надо его добавлять, просто замените имя до точки.
Процесс
Вам понадобятся компьютер и кабель USB-C с возможностью передачи данных. Весь процесс займёт не больше пяти минут.
Для наглядности можно подключиться к Debug Console, где контроллер будет несколько раз запрашивать в подтверждение тех или иных действий и писать сообщения о ходе процесса.
В инструкции мы будем ориентироваться на звуковые сигналы и подтверждать все запросы:
- Выключите контроллер кнопкой и дождитесь, пока индикатор возле кнопки включения потухнет.
- Подключите к разъёму Debug Network кабель USB-C и обязательно сразу переведите кнопку включения в положение ВКЛ.
- Переведите контроллер в режим прошивки, для этого в течение 5-6 секунд после подключения кабеля нажмите кнопку FW и держите её до короткого звукового сигнала. Кнопку можно отпустить. В Debug Console в этот момент будут строки:
Press FW button to enter firmware update mode # <здесь вы нажали кнопку> Entering firmware update mode.
- Через несколько секунд на компьютере обнаружится накопитель WB UPDATE, откройте его. В Debug Console в это время будет сообщение:
Waiting for USB gadget to connect to host PC Copy .fit file to virtual USB drive
- Скопируйте подготовленный .fit-файл на этот накопитель — контроллер каждую секунду будет следить за процессом.
- Когда файл полностью скопируется, контроллер автоматически отключит накопитель, издаст два коротких звуковых сигнала и начнет прошивку. В Debug Console при этом будет сообщение вида:
Will use wb_update.fit from virtual USB drive # или, если вы выбрали удаление данных Will use wb_update_FACTORYRESET.fit from virtual USB drive
- Через пару минут контроллер перезагрузится и его индикатор станет равномерно мигать зелёным, а в Debug Console появится приглашение входа:
wirenboard-XXXXXXXX login:
.
Если в имени файла есть FACTORYRESET
, то контроллер издаст продолжительный звуковой сигнал — запрос подтверждения удаления всех данных. В Debug Console будет сообщение: FACTORY RESET REQUESTED
. Нажмите и держите кнопку FW, пока контроллер не издаст по очереди четыре коротких звуковых сигнала. Кнопку можно отпустить. Если вы передумали удалять данные — просто выключите контроллер.
Прошивка с помощью USB-флешки или карты Micro-SD
О способе
Для обновления прошивки или удаления данных и настроек можно воспользоваться USB-флешкой или картой памяти Micro SD.
Способ удобен, если на компьютере нет интернета и вы используете только встроенное в контроллер ПО.
При обновлении сохраняются пользовательские настройки и файлы в разделе /mnt/data
, но стороннее ПО будет удалено. Если обновить с удалением пользовательских данных — будут стёрты пользовательские настройки и файлы, а так же установленное ПО. Рекомендуем сделать резервную копию.
Подготовка файла прошивки
Вам понадобится fit-файл прошивки для вашей версии контроллера:
Другие версии ПО вы найдёте в нашем репозитории.
Также в свежих релизах FIT-файл можно скачать по ссылке в веб-интерфейсе: Настройки → Система
Переименуйте загруженный файл в wb_update.fit
— для обновления, или в wb_update_FACTORYRESET.fit
— для удаления данных и сброса к заводским настройкам. Обратите внимание, что .fit — расширение файла, если у вас Windows и отключен показ расширений, то скаченный файл будет без него — не надо его добавлять, просто замените имя до точки.
Процесс
Для наглядности можно подключиться к Debug Console, где контроллер будет несколько раз запрашивать подтверждение тех или иных действий и писать сообщения о ходе процесса. Если вы используете Debug Console в контроллере ревизии 7.3, то он автоматически включится при подключении провода.
Контроллер переводится в режим прошивки нажатием на кнопку FW в течение первых 5-6 секунд после включения.
В инструкции мы будем ориентироваться на звуковые сигналы и подтверждать все запросы:
- Выключите контроллер кнопкой и дождитесь, пока индикатор возле кнопки включения потухнет.
- Скопируйте подготовленный файл прошивки на флешку или карту памяти и вставьте её в контроллер.
- Включите контроллер и переведите контроллер в режим прошивки, для этого в течение 5-6 секунд после включения нажмите кнопку FW и держите её до короткого звукового сигнала. Кнопку можно отпустить. В Debug Console в этот момент будут строки:
Press FW button to enter firmware update mode # <здесь вы нажали кнопку> Entering firmware update mode.
- Контроллер попробует найти на подключённой флешке или карте памяти fit-файлы с прошивкой. В Debug Console при этом будут выводится строки:
Looking for update .fit on /dev/sda... Looking for update .fit on /dev/sda1...
- Если файл будет найден — контроллер издаст два коротких сигнала и перейдёт в режим прошивки. В Debug Console при этом будет сообщение вида:
Will use wb_update.fit from virtual USB drive # или, если вы выбрали удаление данных Will use wb_update_FACTORYRESET.fit from virtual USB drive
- Если в имени файла есть
FACTORYRESET
, то контроллер издаст продолжительный звуковой сигнал — запрос подтверждения удаления всех данных. В Debug Console будет сообщение:FACTORY RESET REQUESTED
. Нажмите и держите кнопку FW, пока контроллер не издаст по очереди четыре коротких звуковых сигнала. Кнопку можно отпустить. Если вы передумали удалять данные, то просто выключите контроллер.
- Через пару минут контроллер перезагрузится и его индикатор станет равномерно мигать зелёным, а в Debug Console появится приглашение входа:
wirenboard-XXXXXXXX login:
.
Массовая прошивка контроллеров
Если вам надо прошить сразу несколько контроллеров одной флешкой, воспользуйтесь специальным режимом, в котором на флешку сохраняются логи процесса и список контроллеров, а в конце обновления контроллер издаёт характерный сигнал об окончании процедуры.
Версия установленного на контроллере ПО не важна, но fit-файл для обновления нужно взять свежий.
Работает это так:
- Подготовьте флешку с нужной прошивкой по инструкции выше.
- Создайте на этой флешке файл
install_update.flags
с текстом--mass-update
— это включит режим массовой прошивки. - Вставьте флешку в контроллер и прошейте его обычным способом.
- На флешке будет создана папка logs с файлами:
- wb-mass-update.log, в который добавится строчка с серийным номером контроллера, данными о fit-файле (релиз, дата сборки) и сути операции (update/factory reset).
- wb-console.XXXXXXXX.log, где XXXXXXXX — серийной номер контроллера. В этот файл будет записан полный лог процедуры прошивки.
- В конце прошивки контроллер издаст характерный сигнал (тили-ли-ли) — флешку можно извлекать.
Если флешку переставить в другой контроллер и прошить его — в файл wb-mass-update.log будет добавлена новая строчка с серийным номером, а также создастся ещё один файл с логом прошивки контроллера.
Удаление данных и возврат заводских настроек
Wbincludes:USB Wiren Board 6 Firmware Update
Удаление данных и возврат заводских настроек с обновлением ПО
О способе
Процедура удаляет все данные и установленное ПО! Убедитесь, что у вас останется доступ к контроллеру. Процедура удаляет на контроллере все данные: установленное ПО, настройки, пользовательские файлы и восстанавливает заводскую конфигурацию настроек — сделайте резервную копию ваших файлов и настроек. В отличие от аналогичного способа с кнопкой FW, происходит обновление ПО контроллера до версии, которая используется в выбранном вами fit-файле.
Подготовка файла прошивки
Функция пока доступна только для fit-образов с testing-релизом.
Вам понадобится fit-файл прошивки для вашей версии контроллера:
Другие версии ПО вы найдёте в нашем репозитории.
Также в свежих релизах FIT-файл можно скачать по ссылке в веб-интерфейсе: Настройки → Система
Процесс
Чтобы удалить все данные, сбросить настройки и обновить версии ПО на контроллере:
- Скачайте fit-файл по инструкции выше.
- Откройте веб-интерфейс контроллера.
- Перейдите Настройки → Система.
- Загрузите fit-файл с прошивкой в разделе Удаление данных и сброс настроек (Factory reset) и дождитесь окончания процедуры.
- Перезагрузите контроллер.
Заметим, что процедура не заменяет встроенный образ заводского ПО, поэтому вы всегда можете откатиться к нему с помощью кнопки FW. Это позволит вам вернуть заводскую прошивку контроллера, на которой он проходил тесты на стенде и точно стабильно работал.