Wiren Board 5 Firmware Update: различия между версиями

Материал из Wiren Board
(не показано 27 промежуточных версий 2 участников)
Строка 1: Строка 1:
{{DISPLAYTITLE: Wiren Board 5: Обновление прошивки}}
{{DISPLAYTITLE: Обновление прошивки контроллера Wiren Board 5}}
== Общая информация ==
== Общая информация ==
Контроллер Wiren Board 5 снят с производства и с сентября 2022 года новые версии ПО для него не выпускаются. Последний доступный релиз wb-2207, список изменений можно посмотреть по [https://wirenboard.com/statics/release-changelogs/wb-2207/changelog.html ссылке].
{{note|info|Описанные в этой статье способы не подходят для обновления прошивок старше 0.38-20180710, используйте [[#Сброс к заводским настройкам | сброс контроллера к заводским настройкам]].}}


Контроллеры Wiren Board 5.x с версией прошивки 0.46-20190613 можно обновить только через [[Wiren_Board_5:_Восстановление_прошивки |восстановление прошивки]].
Прошивку контроллера Wiren Board 5 можно обновить через менеджер пакетов '''apt''' или через '''fit-файл'''. Иногда, при обновлении через apt может возникнуть проблема с открытыми ключами к репозиторию Debian Linux, смотрите решение в разделе [[#Решение проблем | Решение проблем]].


=== Совместимость ===
Также контроллер можно сбросить к заводским настройкам и удалить пользовательские данные.
{{Wbincludes:Update Compatibility
|model =Wiren Board 5
|link= Wiren Board 5
}}


== Проверка обновлений ==
== Новый репозиторий Wiren Board ==
{{Anchor|checking-updates}}
{{Wbincludes:Transition to releases}}
Чтобы проверить обновления:
# Подключитесь к контроллеру через [[SSH]].
# Выполните команду:
#:<syntaxhighlight lang="bash" >
apt update
</syntaxhighlight>
# Если есть пакеты для обновления, то можете посмотреть их список:
#:<syntaxhighlight lang="bash">
apt list --upgradable
</syntaxhighlight>
== Обновление ==
=== В консоли через apt ===
{{Anchor|apt}}
[[Image: Dialog.png |400px|thumb|right| Окно ''Modified configuration Files'']]
{{note|note|Рекомендуемый способ. Если последний раз ПО контроллера обновлялось до апреля 2021 года, то сперва вам нужно перейти на релизы, для этого [[New_repository_April_2021 | смените репозиторий]].}}
Apt — это менеджер пакетов операционной системы Debian, который обновляет изменившиеся пакеты и устанавливает новые, если это необходимо. Для работы нужен интернет или [https://wiki.debian.org/ru/CreateLocalRepo локальное зеркало] apt-репозитория Wiren Board.
 
При обновлении сохраняются установленные программы, пользовательские файлы и настройки.
 
Чтобы обновить прошивку контроллера:
# Подключитесь к нему по [[SSH]].
# Выполните команды:
#:<syntaxhighlight lang="bash">
apt update && apt upgrade
</syntaxhighlight>
 
В процессе обновления может появиться запрос на действие с файлами конфигурации. Если не знаете, что выбрать — оставьте значение по умолчанию '''keep the local version currently installed''', так вы сохраните свои настройки.
 
Так же в консоль будут выводиться служебные сообщения и запросы на действия, которые могут повредить систему или удалить пользовательские настройки — внимательно читайте вопросы перед тем, как ввести <code>Y</code>.
===  Через веб-интерфейс ===
{{Anchor|web-ui}}
 
Вам понадобится fit-файл прошивки для вашей версии контроллера.
 
Последнюю доступную стабильную версию wb-2207 можно скачать по ссылкам:
* [http://fw-releases.wirenboard.com/fit_image/stable/5/latest_stretch.fit Wiren Board 5.3];
* [http://fw-releases.wirenboard.com/fit_image/stable/55/latest_stretch.fit Wiren Board 5.6.x], [http://fw-releases.wirenboard.com/fit_image/stable/58/latest_stretch.fit Wiren Board 5.8.x–5.9].
 
Более старые образы лежат [http://fw-releases.wirenboard.com/?prefix=fit_image/stable/ общей папке в нашем репозитории].
 
{{Wbincludes:WebUI Change Access Level}}


{{Wbincludes:Firmware Update Fit Save Data}}
{{Wbincludes:WebUI Wiren Board Releases}}


Чтобы обновить прошивку контроллера:
== Обновление через apt ==
# Скачайте fit-файл прошивки на компьютер.
{{Wbincludes:Wiren Board Apt firmware update}}
# Зайдите в [[Wiren Board Web Interface | веб-интерфейс]] контроллера и перейдите в раздел '''Settings''' → '''System'''. В старых версиях WebUI кнопка ''Select file'' находится в разделе '''Settings'''.
# Нажмите кнопку '''Select File''' и выберите скачанный ранее fit-файл.
# Файл с прошивкой загрузится на контроллер и начнётся обновление, которое длится 5-10 минут. Не закрывайте страницу и не выключайте контроллер до завершения.
# После обновления контроллер перезагрузится и на странице появится надпись '''Firmware update complete''' — обновление завершено.
# Закройте страницу.


== Решение проблем при обновлении через apt==
=== Решение проблем ===
Если вы давно не обновляли программное обеспечение контроллера, то у вас может возникнуть ошибка GPG-ключей:
Если вы давно не обновляли программное обеспечение контроллера, то у вас может возникнуть ошибка GPG-ключей:
<syntaxhighlight lang="console" highlight="2">
<syntaxhighlight lang="console" highlight="2">
Строка 101: Строка 51:
После импорта новых ключей, запустите процедуру обновления с самого начала.
После импорта новых ключей, запустите процедуру обновления с самого начала.


== Удаление данных и возврат к заводским настройкам ==
== Обновление через fit-файл ==
Fit-файл — это образ прошивки контроллера Wiren Board, который можно скачать в [http://fw-releases.wirenboard.com/?prefix=fit_image/stable/ нашем репозитории]
 
Загрузить текущий stable-релиз можно по прямым ссылкам:
* [http://fw-releases.wirenboard.com/fit_image/stable/5/latest_stretch.fit Wiren Board 5.3].
* [http://fw-releases.wirenboard.com/fit_image/stable/55/latest_stretch.fit Wiren Board 5.6.x].
* [http://fw-releases.wirenboard.com/fit_image/stable/58/latest_stretch.fit Wiren Board 5.8.x-5.9].
 
=== Пользовательские файлы и настройки ===
{{Wbincludes:WebUI Wiren Board Firmware Update Fit Save Data}}
 
=== Обновление через веб-интерфейс ===
{{Wbincludes:WebUI Wiren Board Firmware Update}}
 
== Сброс к заводским настройкам ==
Процедура сброса к заводским настройкам описана в статье [[Wiren Board 5: Восстановление прошивки]]. Дополнительную информацию можно найти на нашем форуме в теме [https://support.wirenboard.com/t/pri-proshivke-wb5-oshibka/7130/44 Если не получается обновить Wiren Board 5.5].
Процедура сброса к заводским настройкам описана в статье [[Wiren Board 5: Восстановление прошивки]]. Дополнительную информацию можно найти на нашем форуме в теме [https://support.wirenboard.com/t/pri-proshivke-wb5-oshibka/7130/44 Если не получается обновить Wiren Board 5.5].
== Журнал изменений в релизах ==
{{Wbincludes:Release Log}}

Версия 18:30, 29 сентября 2021

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

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

Прошивку контроллера Wiren Board 5 можно обновить через менеджер пакетов apt или через fit-файл. Иногда, при обновлении через apt может возникнуть проблема с открытыми ключами к репозиторию Debian Linux, смотрите решение в разделе Решение проблем.

Также контроллер можно сбросить к заводским настройкам и удалить пользовательские данные.

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

Wbincludes:Transition to releases

Внимание: Отображаемое название «Программное обеспечение контроллеров Wiren Board» переопределяет ранее заданное отображаемое название «Обновление прошивки контроллера Wiren Board 5».

Как устроено ПО Wiren Board

Структура ПО контроллера. В центре очередь сообщений MQTT, которая используется для обмена информацией между разными частями ПО

Wiren Board работает под управлением Debian Linux. Для архитектуры используемого процессора есть официальный порт, поэтому любое стандартное Linux-приложение можно установить из репозитория одной командой apt install имя_пакета.

Все сервисы контроллера общаются между собой по общей «шине», в роли которой выступает Очередь сообщений MQTT.

По умолчанию установлены Веб-интерфейс Wiren Board, Движок правил wb-rules, а также драйвера и вспомогательные утилиты.

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

Разработка своих решений

Вы можете разрабатывать своё ПО для контроллеров Wiren Board или собрать собственный образ прошивки с нужными вам настройками, лицензиями и пакетами. Свой образ прошивки можно установить в контроллеры самостоятельно штатными средствами, или мы можем делать это сразу на производстве при заказе отдельной партии.

Исходный код программного обеспечения контроллера доступен на GitHub. Там можно почерпнуть примеры для разработки собственного ПО.

Статьи:

Обновление прошивки и релизный цикл

Кратко о релизах

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

Программное обеспечение контроллеров Wiren Board состоит из множества пакетов, которые мы объединяем в релизы:

  • Stable — стабильный релиз: обновление пакетов раз в три месяца и исправления критических ошибок. Рекомендуем для инсталляций, которые делает интегратор и которые работают сейчас.
  • Testing — тестовый релиз: свежие версии пакетов с новыми функциями и исправлениями, но возможно и с новыми ошибками. Рекомендуем для активных пользователей (DIY), для инсталляций на стадии стройки и проектирования.

Стабильные релизы имеют номер вида wb-YYMM, где YY — год, а MM — месяц выпуска. Например, wb-2104 — релиз, выпущенный в апреле 2021 года.

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

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

Какой релиз на вашем контроллере

Версия ПО в веб-интерфейсе контроллера
WebUIDevicesSystem

С завода на контроллерах Wiren Board установлен актуальный на момент производства стабильный релиз.

Узнать версию релиза можно в веб-интерфейсе контроллера в разделе Устройства в карточке устройства System или в консоли командой wb-release.

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

Между релизами можно переключаться вручную. Сделайте резервную копию настроек, подключитесь к контроллеру через SSH и выполните одну из команд:

  • Переход со стабильного на тестовый:
    wb-release -t testing
    
  • Переход с тестового на стабильный:
    wb-release -t stable
    

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

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

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

Прошивку контроллера можно обновить или вернуть его к заводскому состоянию с удалением всех данных.

Все ревизии контроллера можно обновить через менеджер пакетов apt или веб-интерфейс, а в относительно свежих добавилась возможность обновления с флеш-накопителя и через Debug Network.

Инструкции:

Список сервисов и их назначение

Список сервисов, запущенных на контроллере, их статус и описание можно получить командой:

systemctl list-units --type=service

Про управление сервисами читайте в статье Диагностика ошибок в работе контроллера.

Имя сервиса Описание
avahi-daemon.service Avahi mDNS/DNS-SD Stack
bluetooth.service Bluetooth service
cgmanager.service Cgroup management daemon
cron.service Regular background program processing daemon
dbus.service D-Bus System Message Bus
dnsmasq.service dnsmasq - A lightweight DHCP and caching DNS server
getty@tty1.service Getty on tty1
hostapd.service LSB: Advanced IEEE 802.11 management daemon
kmod-static-nodes.service Create list of required static device nodes for the current kernel
knxd.service KNX Daemon
mosquitto.service Mosquitto MQTT v3.1/v3.1.1 Broker
netplug.service LSB: Brings up/down network automatically
networking.service Raise network interfaces
nginx.service A high performance web server and a reverse proxy server
ntp.service LSB: Start NTP daemon
rsyslog.service System Logging Service
serial-getty@ttymxc0.service Serial Getty on ttymxc0
ssh.service OpenBSD Secure Shell server
systemd-fsck-root.service File System Check on Root Device
systemd-fsck@dev-mmcblk0p6.service File System Check on /dev/mmcblk0p6
systemd-journal-flush.service Flush Journal to Persistent Storage
systemd-journald.service Journal Service
systemd-logind.service Login Service
systemd-modules-load.service Load Kernel Modules
systemd-random-seed.service Load/Save Random Seed
systemd-modules-load.service Load Kernel Modules
systemd-random-seed.service Load/Save Random Seed
systemd-remount-fs.service Remount Root and Kernel File Systems
systemd-sysctl.service Apply Kernel Variables
systemd-tmpfiles-setup-dev.service Create Static Device Nodes in /dev
systemd-tmpfiles-setup.service Create Volatile Files and Directories
systemd-udev-trigger.service udev Coldplug all Devices
systemd-udevd.service udev Kernel Device Manager
systemd-update-utmp.service Update UTMP about System Boot/Shutdown
systemd-user-sessions.service Permit User Sessions
user@0.service User Manager for UID 0
watchdog.service watchdog daemon
wb-configs-early.service prepare mounts and symlinks to config files
wb-configs.service watch config files
wb-gsm-rtc.service LSB: initscript to use GSM modem integrated RTC
wb-homa-ism-radio.service LSB: MQTT driver for WB HomA for RFM69 ISM radio
wb-hwconf-manager.service LSB: Hardware configuration with Device Tree overlays
wb-init.service LSB: board-specific initscript
wb-mqtt-adc.service MQTT Driver for ADC
wb-mqtt-confed.service LSB: Configuration Editor Backend
wb-mqtt-db.service Wiren Board database logger
wb-mqtt-gpio.service MQTT Driver for GPIO-controlled switches
wb-mqtt-knx.service LSB: : Wiren Board MQTT KNX bridge
wb-mqtt-logs.service Wiren Board journald to MQTT gateway
wb-mqtt-mbgate.service Wiren Board MQTT to Modbus TCP gateway
wb-mqtt-opcua.service Wiren Board MQTT to OPC UA gateway
wb-mqtt-serial.service MQTT Driver for serial devices
wb-mqtt-w1.service Kernel 1-Wire MQTT driver for WB-HomA
wb-prepare.service initialize filesystems at first boot
wb-repart.service prepare partitions at first boot
wb-rules.service MQTT Rule engine for Wiren Board
wb-systime-adjust.service Compensation of systime in PPM from value, stored in device-tree (with opposite sign)
wb-watch-update.service LSB: Firmware update monitor

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

Wbincludes:Wiren Board Apt firmware update

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

Если вы давно не обновляли программное обеспечение контроллера, то у вас может возникнуть ошибка 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)

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

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

Fit-файл — это образ прошивки контроллера Wiren Board, который можно скачать в нашем репозитории

Загрузить текущий stable-релиз можно по прямым ссылкам:

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

Wbincludes:WebUI Wiren Board Firmware Update Fit Save Data

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

Wbincludes:WebUI Wiren Board Firmware Update

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

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

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

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