Обновление прошивки контроллера Wiren Board 5

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

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

Описанные в этой статье способы не подходят для обновления прошивок старше 0.46-20190613, используйте сброс контроллера к заводским настройкам.

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

Прошивку контроллера Wiren Board можно обновить с помощью apt через консоль или через веб-интерфейс. Также контроллер можно сбросить к заводским настройкам и удалить пользовательские данные.

Для обновления через веб-интерфейс вам понадобится fit-файл прошивки, который можно скачать в нашем репозитории или по прямым ссылкам на stable-релиз:

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

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

  1. Подключитесь к контроллеру через SSH.
  2. Выполните команду apt update:
    # apt update
    Ign:1 http://deb.debian.org/debian stretch InRelease
    Get:2 http://security.debian.org stretch/updates InRelease [53.0 kB]
    Hit:3 http://deb.debian.org/debian stretch-updates InRelease
    Hit:4 http://deb.debian.org/debian stretch Release
    Get:5 http://deb.wirenboard.com/wb6/stretch testing InRelease [3960 B]
    Get:6 http://cdn-fastly.deb.debian.org/debian stretch-backports InRelease [91.8 kB]
    Get:7 http://security.debian.org stretch/updates/main armhf Packages [687 kB]
    Get:9 http://deb.wirenboard.com/wb6/stretch testing/main armhf Packages [59.5 kB]
    Fetched 895 kB in 10s (82.9 kB/s)
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    2 packages can be upgraded. Run 'apt list --upgradable' to see them.
    
    в конце вывода будет показано, какие пакеты нуждаются в обновлении.
  3. Если есть пакеты для обновления, то можете посмотреть их список с помощью команды apt list --upgradable:
    # apt list --upgradable
    Listing... Done
    wb-hwconf-manager/testing 1.40.1 all [upgradable from: 1.40.0]
    wb-release-info/testing 1.0-testing~wb6+stretch~20210831210334 all [upgradable from: 1.0-testing~wb6+stretch~20210830090128]
    
    в примере доступны обновления пакетов wb-hwconf-manager и wb-release-info.

Обновление с помощью apt через консоль

Apt — это менеджер пакетов операционной системы Debian, который обновляет только изменившиеся пакеты и устанавливает новые, если это необходимо.

Для работы нужен интернет или локальное зеркало apt-репозитория Wiren Board. Про сохранение настроек читайте в разделе Сохранение пользовательских файлов и настроек.

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

  1. Подключитесь к нему по SSH.
  2. Выполните команды:
    apt update && apt upgrade
    

В процессе обновления в консоль будут выводиться служебные сообщения и запросы на действия, которые могут повредить систему или удалить пользовательские настройки — внимательно читайте вопросы перед тем, как ввести Y.

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

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

Err:5 http://cdn-fastly.deb.debian.org/debian stretch-backports InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 648ACFD622F3D138 NO_PUBKEY 0E98404D386FA1D9
Reading package lists... Done
W: GPG error: http://cdn-fastly.deb.debian.org/debian stretch-backports InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 648ACFD622F3D138 NO_PUBKEY 0E98404D386FA1D9
E: The repository 'http://http.debian.net/debian stretch-backports InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

Чтобы её решить, нужно импортировать недостающие открытые ключи репозитория Debian Linux командой:

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys <16_символов_нужного_ключа>

В примере выше система не находит ключи 648ACFD622F3D138 и 0E98404D386FA1D9, добавим их по очереди:

# apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 648ACFD622F3D138
Executing: /tmp/apt-key-gpghome.vC3ooyXKIW/gpg.1.sh --keyserver keyserver.ubuntu.com --recv-keys 648ACFD622F3D138
gpg: requesting key 22F3D138 from hkp server keyserver.ubuntu.com
gpg: key 3CBBABEE: public key "Debian Archive Automatic Signing Key (10/buster) <ftpmaster@debian.org>" imported
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)

# apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0E98404D386FA1D9
Executing: /tmp/apt-key-gpghome.WRBpErnaDP/gpg.1.sh --keyserver keyserver.ubuntu.com --recv-keys 0E98404D386FA1D9
gpg: requesting key 386FA1D9 from hkp server keyserver.ubuntu.com
gpg: key 8DD47936: public key "Debian Archive Automatic Signing Key (11/bullseye) <ftpmaster@debian.org>" imported
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)

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

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

Включение уровня доступа «Администратор»

Для изменения настроек контроллера у вас должен быть уровень доступа «Администратор».

Изменить его можно в разделе SettingsChange access level.

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

Про сохранение настроек читайте в разделе Сохранение пользовательских файлов и настроек.

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

  1. Скачайте fit-файл прошивки на компьютер.
  2. Зайдите в веб-интерфейс контроллера и перейдите в раздел SettingsSystem. В старых версиях WebUI кнопка Select file находится в разделе Settings.
  3. Нажмите кнопку Select File и выберите скачанный ранее fit-файл.
  4. Файл с прошивкой загрузится на контроллер и начнётся процесс обновления, который длится 5-10 минут. Не закрывайте страницу и не выключайте контроллер до завершения обновления.
  5. После обновления контроллер перезагрузится и на странице появится надпись Firmware update complete — обновление завершено.
  6. Закройте страницу.

Сброс к заводским настройкам

Процедура сброса к заводским настройкам описана в статье Wiren Board 5: Восстановление прошивки. Дополнительную информацию можно найти на нашем форуме в теме Если не получается обновить Wiren Board 5.5.

Про сохранение настроек читайте в разделе Сохранение пользовательских файлов и настроек.

Сохранение пользовательских файлов и настроек

При обновлении через Apt

Окно Modified configuration Files

Apt сохраняет пользовательские файлы и установленные программы, но может запросить перезапись файлов конфигурации с помощью окна Modified configuration Files, в котором нужно выбрать один из пунктов:

  • install the packade maintainer`s version — заменить версией из обновляемого пакета и потерять ваши настройки.
  • keep the local version currently installed — не заменять файл и сохранить ваши настройки.
  • show the differences between the versions — посмотреть различия между версиями.
  • show a side-by-side difference between the versions — посмотреть различия между версиями и оба варианта файла настроек.
  • start a new shell to examine the situation — открыть командную строку, чтобы разобраться в ситуации.

При обновлении через fit-файл

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

При обновлении сохраняется раздел /mnt/data, в котором по адресу /mnt/data/etc находятся настройки:

  • системные: сеть, часовой пояс, пароль к веб-интерфейсу;
  • устройств, подключенных по RS-485 — wb-mqtt-serial.conf;
  • модулей ввода-вывода и расширения — wb-hardware.conf;
  • универсальных входов/выходов A1-A4 — 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.

Также будут сохранены пользовательские скрипты в папке /etc/wb-rules/ и модули в папке /etc/wb-rules-modules.

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

При сбросе контроллера к заводским настройкам

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

Репозиторий ПО и ветки релизов

Новый репозиторий ПО Wiren Board

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

На старых контроллерах (до мая 2021 года) для перехода на работу с релизами надо сделать пару шагов:

Если на контроллере есть интернет, то выполните команды:

apt update && apt dist-upgrade
в систему будет установлен пакет wb-configs, а сама система обновится.

После обновления выполните эти команды ещё раз:

apt update && apt dist-upgrade
ПО контроллера переключится на текущий релиз stable и обновится, или на релиз testing, если ранее вы включали репозиторий unstable.

Если на контроллере нет интернета, то можете обновить контроллер через веб-интерфейс и fit-файл.

Релизы

Testing — нестабильная ветка: свежие версии пакетов с новыми функциями, исправленными и новыми ошибками.

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

На третий месяц testing-ветка «замораживается» и ей присваивается имя будущего stable. Во время заморозки новые функции не добавляются, а только исправляются найденные ошибки. В конце месяца релиз сливается со stable, а testing «размораживается» и продолжается публикация пакетов с новыми функциями.

Будем рады помощи сообщества в тестировании пакетов — переключайтесь на testing-ветку на неответственных инсталляциях.

Stable — стабильная ветка: обновление пакетов раз в три месяца и исправления критических ошибок.

Публикуемые в ней пакеты прошли тестирование пользователями testing-ветки, поэтому мы рекомендуем использовать stable в ответственных инсталляциях.

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

Релизы имеют номер вида wb-YYMM, где YY — год, а MM — месяц выпуска. Например, wb-2104 — релиз, выпущенный в апреле 2021 года. Узнать о выходе очередного stable-релиза можете в Журнале изменений релизах.

Переключение между релизами

Для переключения используйте утилиту wb-release с флагом -t:

На testing:

wb-release -t testing

На stable:

wb-release -t stable

Для заморозки на определенном релизе укажите версию stable-релиза:

wb-release -t wb-2104

Но мы не рекомендуем это делать — вы останетесь без обновлений. Для разморозки переключитесь на одну из веток.

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

Если в процессе работы утилиты произошел сбой, то она постарается вернуть настройки apt.

Как узнать версию установленного ПО

Версия ПО в веб-интерфейсе для testing

Посмотреть текущую версию ПО можно:

  • В веб-интерфейсе. В разделке Devices, устройство System.
  • В консоли. При подключении к консоли контроллера выводится баннер, в котором указана используемая ветка и номер релиза.
  • В консоли командой wb-release:
# wb-release
Wirenboard release wb-2104 (as stable), target wb6/stretch

You can get this info in scripts from /usr/lib/wb-release.

Журнал изменений в релизах

Релизы ПО
Ветка Имя
stable wb-2110wb-2108 • wb-2104
testing rolling release