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

From Wiren Board
(Redirected from Software Releases)

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

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

Инструкции в этой статье работают только на контроллере Wiren Board 6, если у вас другая ревизия контроллера, смотрите раздел Обновление прошивки контроллеров старых ревизий.

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

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

Для обновления через веб-интерфейс или с USB-флешки вам понадобится 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.

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

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

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

Изменить его можно в разделе 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. Закройте страницу.

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

Порт USB 1 и кнопка FW на контроллере Wiren Board 6.7
Сброс Wiren Board 6 к заводским настройкам

Некоторые ревизии контроллера не видят USB-накопитель (флешку) при определённых условиях, если вы столкнулись с такой ситуацией — смотрите инструкции в WB_6:_Errata.

Мы не рекомендуем для обновления прошивки использовать внешние жесткие диски — может не хватить мощности USB-порта.

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

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

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

Чтобы обновить прошивку или сбросить контроллер к заводским настройкам:

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

Если обновление или сброс завершаются с ошибкой, подключитесь к Debug-консоли контроллера и повторите шаги. Если увидите ошибку FAT: Misaligned buffer address — смените накопитель на другой.

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

При обновлении через 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-релиза можете в Журнале изменений релизах.

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

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

Для переключения используйте утилиту 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

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