Обновление прошивки контроллеров Wiren Board 6.x

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

Общая информация

Обновление ПО контроллера Wiren Board 7

Совместимость

Инструкции на этой странице подходят для контроллеров Wiren Board 6. Инструкции для других версий.

Как всё устроено

Структура eMMC и способы обновления

Контроллер работает под управлением Debian Linux, поэтому вы можете обновлять ПО с помощью штатного пакетного менеджера apt — нужен интернет на контроллере, зато сохраняются системные настройки, а также установленное пользователем стороннее ПО и его файлы конфигурации.

Кроме этого, для контроллеров Wiren Board выпускаются прошивки в виде fit-файлов — это образ корневого раздела rootfs, который можно прошить с USB-флешки, карты памяти, через Debug Network или из веб-интерфейса контроллера. Интернет на контроллере не нужен. Сохранятся настройки, сделанные из веб-интерфейса контроллера, а установленное стороннее ПО будет удалено вместе с файлами конфигурации.

Также вы можете удалить все файлы и настройки с контроллера, получив чистое устройство с заводской версией ПО и настройками по умолчанию.

Релизы

Релизный цикл ПО Wiren Board

Программное обеспечение контроллеров Wiren Board состоит из множества пакетов, которые мы объединяем в релизы stable — стоит на новых контроллерах и testing — rolling-релиз с самыми свежими версиями пакетов.

Мы будем рады, если вы сможете присоединиться к использованию testing, ведь кроме получения новых фич вы поможете уменьшить количество ошибок в stable. Подробнее о релизах и переключении между ними на странице Программное обеспечение контроллера.

Журналы изменений в релизах
Ветка Имя
stable wb-2404wb-2401wb-2310wb-2307wb-2304wb-2207wb-2204wb-2201wb-2110wb-2108 • wb-2104
testing скользящий релиз, изменения

Пользовательские настройки и файлы

Где хранятся настройки

Файлы настроек, которые сохраняются при обновлении через fit-файл

eMMC контроллера Wiren Board разбита на несколько разделов, пользователю важно знать два из них, которые монтируются в папки:

  1. / или rootfs — корневой раздел с файлами операционной системы, ссылками на системные настройки, установленным сторонним ПО и его файлами конфигурациями.
  2. /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.

Проверка обновлений

В контроллере нет механизма, который сообщит пользователю о доступном обновлении, поэтому о выходе новых версий вы можете узнать из новостей в наших социальных сетях или в консоли контроллера:

  1. Подключитесь к контроллеру через SSH.
  2. Выполните команду:
    apt update
    
  3. Если есть пакеты для обновления, то можете посмотреть их список:
    apt list --upgradable
    

Обновление в консоли через apt

Окно Modified configuration Files

Рекомендуемый способ. Если последний раз ПО контроллера обновлялось до апреля 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 учитывает систему релизов — следуя инструкции, вы полностью перейдёте на новый релиз, а не только обновите отдельные пакеты.

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

Чтобы обновить прошивку контроллера:

  1. Подключитесь к нему по SSH.
  2. Выполните команды:
    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 — у вас всё может сломаться, поэтому надо:

  1. Перед обновлением сохранить папку /root/zigbee2mqtt/data
  2. Установить специальную версию для этого адаптера:
    apt update && apt install zigbee2mqtt-1.18.1
    
  3. Восстановить данные из скопированной ранее папки.

Всё, больше этот пакет у вас обновляться не будет, а значит и ломаться будет нечему.

Обновление через веб-интерфейс

Этим способом можно обновить текущий релиз более новым, или перейти со stable на testing. Для перехода на старый релиз используйте процедуру удаления данных, описанную в конце этой страницы.

Скачивание прошивки

Cсылка для скачивания FIT-файлов в веб-интерфейсе контроллера Wiren Board

Вам понадобится 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, но стороннее ПО будет удалено. Рекомендуем сделать резервную копию.

Чтобы обновить прошивку контроллера:

  1. Скачайте fit-файл прошивки на компьютер.
  2. Зайдите в веб-интерфейс контроллера и перейдите в раздел НастройкиСистема.
  3. Нажмите кнопку Выбрать файл и выберите скачанный ранее fit-файл.
  4. Файл с прошивкой загрузится на контроллер и начнётся обновление, которое длится 5-10 минут. Не закрывайте страницу и не выключайте контроллер до завершения.
  5. После обновления контроллер перезагрузится.

После завершения обновления подключитесь к контроллеру заново и обновите страницу веб-интерфейса в браузере со сбросом кэша (Ctrl+F5 для Chrome), чтобы загрузилась обновленная версия. Проверьте версию прошивки на странице УстройстваSystem.

Прошивка с помощью USB-флешки

Для обновления прошивки или удаления данных и настроек можно воспользоваться USB-флешкой или картой памяти Micro SD.

Способ удобен, если на компьютере нет интернета и вы используете только встроенное в контроллер ПО.

При обновлении сохраняются пользовательские настройки и файлы в разделе /mnt/data, но стороннее ПО будет удалено. Если обновить с удалением пользовательских данных — будут стёрты пользовательские настройки и файлы, а так же установленное ПО. Рекомендуем сделать резервную копию.

Подготовка файла прошивки

Cсылка для скачивания FIT-файлов в веб-интерфейсе контроллера Wiren Board

Вам понадобится fit-файл прошивки для вашей версии контроллера, свежие образы stable-релиза находятся по ссылкам: Wiren Board 6.3–6.6.0, Wiren Board 6.7.x–6.9.x;

Образы testing и старые версии ПО вы найдёте в нашем репозитории.

Начиная с релиза wb-2304 ссылка для скачивания FIT-файлов доступна в веб-интерфейсе в разделе НастройкиСистема.

Подготовьте флеш-накопитель:

  1. Отформатируйте флешку в FAT32.
  2. Скачайте fit-файл прошивки на компьютер.
  3. Скопируйте скачанный .fit-файл в корень флешки и убедитесь, что размер файла не равен нулю.
  4. Переименуйте файл на флешке в wb6_update.fit — для обновления, или в wb6_update_FACTORYRESET.fit — для удаления данных и сброса к заводским настройкам.

Процесс

Порт USB 1 и кнопка FW на контроллере Wiren Board 6.7

В процессе контроллер будет несколько раз запрашивать в Debug-консоли подтверждение тех или иных действий, но чтобы не подключаться к ней, мы будем ориентироваться по светодиоду и звуковым сигналам. Действия подтверждаются нажатием на кнопку FW.

Чтобы обновить прошивку:

  1. Подключите к контроллеру внешнее питание.
  2. Выключите контроллер кнопкой.
  3. Подключите флешку с файлом прошивки к порту USB 1.
  4. Включите кнопкой контроллер.
  5. В течение первых 5 секунд зажмите кнопку FW, которая находится возле антенны Wi-Fi.
  6. Дождитесь, пока контроллер не пикнет один раз и отпустите кнопку.
  7. Следующий шаг зависит от того, с каким именем файл вы положили на флешку:
    • wb6_update.fit, контроллер два раза пикнет и начнёт прошивку.
    • wb6_update_FACTORYRESET.fit,
      1. Контроллер два раза пикнет и потом издаст продолжительный писк, а индикатор загорится красным.
      2. Зажмите кнопку FW и держите, пока контроллер не пикнет коротко четыре раза. После кнопку можно отпустить.
    • Если никакой файл не будет найден — контроллер загрузит текущую операционную систему.
  8. В процессе индикатор будет несколько раз менять свой цвет.

Процедура продлится 5–10 минут, в конце контроллер перезагрузится в рабочий режим, а индикатор на нём замигает зелёным — флешку можно извлечь.

Решение проблем

Если возникнут проблемы с обновлением, подключитесь к Debug Console контроллера и повторите обновление. Если увидите ошибку FAT: Misaligned buffer address — возможно следует попробовать другой накопитель. Для контроллеров если происходит перезагрузка в процессе обновления 6.7-6.9 может потребоваться обновление загрузчика командой u-boot-install-wb Так же можно посмотреть в WB_6:_Errata, так как в некоторых ревизиях контроллера была проблема с определением флешки.

Также обратите внимание, что .fit в имени файла прошивки — это расширение. Если файл не находится, то проверьте, что у вас он верно назван.

Массовая прошивка контроллеров

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

Версия установленного на контроллере ПО не важна, но fit-файл для обновления нужно взять свежий.

Работает это так:

  1. Подготовьте флешку с нужной прошивкой по инструкции выше.
  2. Создайте на этой флешке файл install_update.flags с текстом --mass-update — это включит режим массовой прошивки.
  3. Вставьте флешку в контроллер и прошейте его обычным способом.
  4. На флешке будет создана папка logs с файлами:
    • wb-mass-update.log, в который добавится строчка с серийным номером контроллера, данными о fit-файле (релиз, дата сборки) и сути операции (update/factory reset).
    • wb-console.XXXXXXXX.log, где XXXXXXXX — серийной номер контроллера. В этот файл будет записан полный лог процедуры прошивки.
  5. В конце прошивки контроллер издаст характерный сигнал (тили-ли-ли) — флешку можно извлекать.

Если флешку переставить в другой контроллер и прошить его — в файл wb-mass-update.log будет добавлена новая строчка с серийным номером, а также создастся ещё один файл с логом прошивки контроллера.

Удаление данных и возврат заводских настроек с обновлением ПО

О способе

Процедура удаляет все данные и установленное ПО! Убедитесь, что у вас останется доступ к контроллеру. Процедура удаляет на контроллере все данные: установленное ПО, настройки, пользовательские файлы и восстанавливает заводскую конфигурацию настроек — сделайте резервную копию ваших файлов и настроек.

Подготовка файла прошивки

Функция пока доступна только для fit-образов с testing-релизом.

Cсылка для скачивания FIT-файлов в веб-интерфейсе контроллера Wiren Board

Вам понадобится fit-файл прошивки для вашей версии контроллера, свежие образы stable-релиза находятся по ссылкам: Wiren Board 6.3–6.6.0, Wiren Board 6.7.x–6.9.x;

Образы testing и старые версии ПО вы найдёте в нашем репозитории.

Начиная с релиза wb-2304 ссылка для скачивания FIT-файлов доступна в веб-интерфейсе в разделе НастройкиСистема.

Процесс

Страница системных настроек в веб-интерфейсе контроллера

Чтобы удалить все данные, сбросить настройки и обновить версии ПО на контроллере:

  1. Скачайте fit-файл по инструкции выше.
  2. Откройте веб-интерфейс контроллера.
  3. Перейдите НастройкиСистема.
  4. Загрузите fit-файл с прошивкой в разделе Удаление данных и сброс настроек (Factory reset) и дождитесь окончания процедуры.
  5. Перезагрузите контроллер.