Обновление прошивки контроллера Wiren Board
Общая информация
Эта статья описывает обновление прошивки контроллера Wiren Board 6 и контроллера Wiren Board 5 с версией прошивки 0.38-20180710 и выше, если у вас другой контроллер — читайте раздел Обновление прошивки контроллеров старых версий.
Прошивку контроллера Wiren Board можно обновить через менеджер пакетов apt или через fit-файл: с помощью флешки или через веб-интерфейс.
Также контроллер можно сбросить к заводским настройкам и удалить пользовательские данные.
Новый репозиторий Wiren Board
С апреля 2021 года программное обеспечение контроллера Wiren Board выпускается в формате периодических релизов, также изменился путь к основному репозиторию. Старый репозиторий больше не поддерживается, новых обновлений не будет.
На старых контроллерах (до мая 2021 года) для перехода на работу с релизами надо сделать пару шагов:
Если на контроллере есть интернет, то выполните команды:
apt update && apt dist-upgrade
- в систему будет установлен пакет
wb-configs
, а сама система обновится.
После обновления выполните эти команды ещё раз:
apt update && apt dist-upgrade
- ПО контроллера переключится на текущий релиз stable и обновится, или на релиз testing, если ранее вы включали репозиторий unstable.
Если на контроллере нет интернета, то можете обновить контроллер через .fit-файл прошивки.
Ветки релизов
Testing
Testing — нестабильная ветка: свежие версии пакетов с новыми функциями, исправленными и новыми ошибками.
В течение двух месяцев пакеты с новыми функциями публикуются сразу после предварительного автоматического тестирования, которое позволяет исключить публикацию сломанных пакетов.
На третий месяц testing-ветка «замораживается» и ей присваивается имя будущего stable. Во время заморозки новые функции не добавляются, а только исправляются найденные ошибки. В конце месяца релиз сливается со stable, а testing «размораживается» и продолжается публикация пакетов с новыми функциями.
Будем рады помощи сообщества в тестировании пакетов — переключайтесь на testing-ветку на неответственных инсталляциях.
Stable
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.
Как узнать версию установленного ПО
Посмотреть текущую версию ПО можно:
- В веб-интерфейсе. В разделке 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-релизе
- или в консоли контроллера.
Чтобы узнать о наличии обновлений из консоли контроллера, выполните команду apt update
:
- Подключитесь к контроллеру через SSH.
- Выполните команду
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.
- в конце вывода будет показано, какие пакеты нуждаются в обновлении.
- Если есть пакеты для обновления, то можете посмотреть их список с помощью команды
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 сохраняет пользовательские файлы и установленные программы, но может запросить перезапись файлов конфигурации с помощью окна 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 — открыть командную строку, чтобы разобраться в ситуации.
Обновление
Чтобы обновить прошивку контроллера:
- Подключитесь к нему по SSH.
- Выполните команды:
apt update && apt upgrade
В процессе обновления в консоль будут выводиться служебные сообщения и запросы на действия, которые могут повредить систему или удалить пользовательские настройки — внимательно читайте вопросы перед тем, как ввести Y
.
Обновление через fit-файл
Fit-файл — это образ прошивки контроллера Wiren Board, который можно скачать в нашем репозитории
Загрузить текущий stable-релиз можно по прямым ссылкам:
- Wiren Board 5.8.x-5.9 (только для обновления прошивок версий 0.38-20180710 и выше).
- Wiren Board 6.3-6.6.0
- Wiren Board 6.7.x-6.8.x
Пользовательские файлы и настройки
При обновлении сохраняется раздел /mnt/data
, в котором по адресу /mnt/data/etc
находятся настройки:
- системные: сеть, часовой пояс, пароль к веб-интерфейсу;
- устройств, подключенных по RS-485
wb-mqtt-serial.conf
; - модулей ввода-вывода и расширения
wb-hardware.conf
; - универсальных входов/выходов A1-A4
wb-homa-adc.conf
; - выводов GPIO контроллера
wb-homa-gpio.conf
; - Modbus TCP/Slave шлюза
wb-mqtt-mbgate.conf
.
Также будут сохранены пользовательские скрипты в папке /etc/wb-rules/
и модули в папке /etc/wb-rules-modules
.
Если вы устанавливали на контроллер сторонние программы, или хранили файлы вне папки /mnt/data
— они будут удалены. Подключите контроллер к компьютеру для просмотра файлов и скопируйте свои файлы на компьютер. Если вы хотите сохранить установленные программы, то используйте обновление через apt.
Обновление через веб-интерфейс
Для изменения настроек контроллера вам нужен уровень доступа Администратор, который можно выставить в разделе Настройки → Права доступа.
После завершения настроек рекомендуем поставить уровень доступа Пользователь или Оператор — это поможет не совершить случайных ошибок при ежедневной работе с веб-интерфейсом.
Чтобы обновить прошивку контроллера:
- Скачайте fit-файл прошивки на компьютер.
- Зайдите в веб-интерфейс контроллера и перейдите в раздел Settings → System.
- Нажмите кнопку Select File и выберите скачанный ранее fit-файл.
- Файл с прошивкой загрузится на контроллер и начнётся процесс обновления, который длится 5-10 минут. Не закрывайте страницу и не выключайте контроллер до завершения обновления.
- После обновления контроллер перезагрузится и на странице появится надпись Firmware update complete — обновление завершено.
- Закройте страницу.
Обновление с USB-накопителя и сброс к заводским настройкам
Некоторые ревизии контроллера не видят USB-накопитель (флешку) при определённых условиях, если вы столкнулись с такой ситуацией — смотрите инструкции в WB_6:_Errata.
Мы не рекомендуем для обновления прошивки использовать внешние жесткие диски — может не хватить мощности USB-порта.
Подготовьте флеш-накопитель:
- Отформатируйте флешку в FAT32.
- Скачайте fit-файл прошивки на компьютер.
- Скопируйте скачанный .fit-файл в корень флешки и убедитесь, что размер файла не равен нулю.
- Переименуйте файл на флешке:
- для обновления прошивки контроллера в
wb6_update.fit
, - для сброса контроллера к заводским настройкам и удаления всех данных в
wb6_update_FACTORYRESET.fit
.
- для обновления прошивки контроллера в
Если у вас контроллер Wiren Board 5, то замените в этой и других инструкциях имена файлов на wb5_update.fit
и wb5_update_FACTORYRESET.fit
.
Чтобы обновить прошивку или сбросить его к заводским настройкам:
- Выключите контроллер.
- Подключите флешку с файлом прошивки к порту USB 1 и включите контроллер.
- Если в корне флешки найден файл прошивки, то индикатор контроллера начнёт часто мигать оранжевым.
- В этот момент зажмите на одну секунду кнопку FW на плате контроллера.
- Дальнейшие шаги зависят от того, какой файл лежит на флешке:
wb6_update.fit
— индикатор загорится зелёным, потом мигнёт красным и замигает зелёным — это началась процедура обновления прошивки.wb6_update_FACTORYRESET.fit
:- Индикатор загорится зелёным, потом два раза мигнёт красным и ещё два раза зелёным.
- Контроллер начнёт пищать, а индикатор замигает красным — контроллер ждёт подтверждения.
- Подтвердите очистку контроллера, для этого нажмите кнопку FW и держите, пока контроллер не пискнет четыре раза, а индикатор не загорится зелёным — это началась процедура сброса настроек.
- Кнопку можно отпустить. В процессе индикатор будет мигать зелёным.
- Процедура продлится 5–10 минут, в конце контроллер перезагрузится в рабочий режим, а индикатор на нём замигает зелёным — флешку можно извлечь.
Если обновление или сброс завершаются с ошибкой, подключитесь к Debug-консоли контроллера и повторите шаги. Если увидите ошибку FAT: Misaligned buffer address
— смените накопитель на другой.
Журнал изменений в релизах
Ветка | Имя |
---|---|
stable | wb-2108 • wb-2104 |
testing | rolling release |
Обновление прошивки контроллеров старых версий
- Wiren Board 5 с версией прошивки старше 0.38-20180710 обновить можно только через восстановление прошивки, смотрите инструкцию в статье Wiren Board 5: Восстановление прошивки.
- Wiren Board 4 и старше прошиваются через карту Micro-SD, читайте инструкцию в статье Создание microSD-карты с образом