Перейти к содержанию

Навигация

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

 
(не показаны 42 промежуточные версии этого же участника)
Строка 1: Строка 1:
{{DISPLAYTITLE: Обновление прошивки контроллера Wiren Board 7.4}}
{{DISPLAYTITLE: Обновление прошивки контроллера Wiren Board 7.4}}
{{Draft}}
== Общая информация ==
== Общая информация ==
{{Anchor|info}}
{{Anchor|info}}
=== Как всё устроено ===
{{YouTube
Контроллер работает под управлением Debian Linux, поэтому вы можете обновлять ПО с помощью штатного пакетного менеджера apt — нужен интернет на контроллере, зато сохраняются системные настройки, а также установленное пользователем стороннее ПО и его файлы конфигурации.
|link=https://youtu.be/2XhPWDzYSmY
 
|text= Обновление ПО контроллера Wiren Board 7
Кроме этого, для контроллеров Wiren Board выпускаются прошивки в виде fit-файлов — это образ корневого раздела rootfs, который можно прошить с USB-флешки, карты памяти, через Debug Network или из веб-интерфейса контроллера. Интернет на контроллере не нужен, но сохранятся только настройки, сделанные из веб-интерфейса контроллера — установленное стороннее ПО будет удалено вместе с файлами конфигурации.
|list= PL-yKQAXd5Un_fQfrVVgMt1Em5Qb1f-v6l
 
}}
Также вы можете удалить все файлы и настройки с контроллера, получив чистое устройство с заводской версией ПО и настройками по умолчанию.
 
Подробные инструкции для выбранного способа обновления читайте ниже.


=== Совместимость ===
=== Совместимость ===
{{Anchor|compatibility}}
{{Anchor|compatibility}}
Инструкции на этой странице подходят для контроллеров [[Wiren Board 7.4]].
{{Wbincludes:Update Compatibility
|model= Wiren Board 7.4
|link= Wiren Board 7.4
}}


=== Кратко о релизах ===
=== Как всё устроено ===
{{Anchor|releases}}
{{Wbincludes:Firmware Update How Everything Works}}
{{note|info|Для контроллеров Wiren Biard 7.4 пока нет стабильной версии прошивки, они все работают на testing-релизе.}}
{{Wbincludes:Releases}}
 
{{Wbincludes:Release Log}}
 
=== Какой релиз на вашем контроллере ===
{{Anchor|what-release}}
[[Image: System Information.png |300px|thumb|right| Версия ПО в веб-интерфейсе контроллера<br>''WebUI'' → ''Devices'' → ''System'']]
С завода на контроллерах Wiren Board установлен актуальный на момент производства стабильный релиз.
 
Узнать версию релиза можно в веб-интерфейсе контроллера в разделе '''Устройства''' в карточке устройства '''System''' или в консоли командой <code>wb-release</code>.
 
=== Переключение между релизами ===
{{Anchor|switching-release}}
Между релизами можно переключаться вручную. Сделайте резервную копию настроек, подключитесь к контроллеру через [[SSH]] и выполните одну из команд:
*  Переход со стабильного на тестовый:
*:<syntaxhighlight lang="bash">
wb-release -t testing
</syntaxhighlight>
* Переход с тестового на стабильный:
*:<syntaxhighlight lang="bash">
wb-release -t stable
</syntaxhighlight>
 
После смены релиза рекомендуем перезагрузить контроллер на случай, если обновилось ядро, а также обновить страницу веб-интерфейса в браузере со сбросом кэша (Ctrl+F5 для Chrome), чтобы загрузилась обновленная версия.


Кроме этого, сменить релиз можно с помощью прошивки контроллера fit-файлом, способы и ограничения смотрите ниже в этой инструкции.
=== Релизы ===
{{Wbincludes:Wiren Board Software Releases}}


== Пользовательские настройки и файлы ==
== Пользовательские настройки и файлы ==
{{Anchor|user-files}}
{{Anchor|user-files}}
===Где хранятся настройки===
{{Wbincludes:Wiren Board User Settings And Files}}
[[Image: Wiren Board eMMC Structure and Update.png|300px|thumb|right|Структура eMMC и способы обновления]]
[[Image: Etc-wbconfigs.png |400px|thumb|right| Файлы настроек, которые сохраняются при обновлении через fit-файл]]
 
eMMC контроллера Wiren Board разбита на несколько разделов, пользователю важно знать два из них, которые монтируются в папки:
# / или rootfs — корневой раздел 2 Гбайта с файлами операционной системы, ссылками на системные настройки, установленным сторонним ПО и его файлами конфигурациями.
# /mnt/data — большой раздел в несколько Гбайт с системными настройками и любыми пользовательскими файлами.
 
На большом разделе, по адресу <code>/mnt/data/etc</code> находятся настройки:
* системные: сеть, часовой пояс, пароль к веб-интерфейсу, mosquitto, nginx;
* устройств, подключенных по RS-485 — ''wb-mqtt-serial.conf''
* дашборды, виджеты и настройки веб-интерфейса — ''wb-webui.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''.
 
Кроме этого, по адресу <code>/mnt/data/etc/</code> хранятся:
* ''wb-rules'' — пользовательские скрипты;
* ''wb-rules-module''— модули, написанные на wb-rules;
* ''wb-mqtt-serial.conf.d/templates/'' — пользовательские шаблоны.
 
Где хранятся настройки установленного стороннего ПО, уточняйте в его документации.
 
===Резервное копирование===
{{Anchor|backup}}
Чтобы сделать резервную копию настроек контроллера, скопируйте содержимое <code>/mnt/data/etc</code> на [[Просмотр_файлов_контроллера_с_компьютера|компьютер]]. Программы, установленные в <code>/mnt/data</code> также нужно сохранить на компьютер.
 
Если вы устанавливали на контроллер сторонние программы, или хранили файлы вне папки <code>/mnt/data</code> — их нужно сохранить отдельно.
 
Кроме этого вы можете скачать образ корневой файловой системы — так вы сохраните настройки сторонних программ, которых хранят файлы в <code>/etc</code>. Сделать это можно кнопкой в веб-интерфейсе '''Настройки''' → '''Система''' → '''Скачать архив с rootfs'''.


== Проверка обновлений ==
== Проверка обновлений ==
{{Anchor|checking-updates}}
{{Wbincludes:Wiren Board Check Firmware Update}}
В контроллере нет механизма, который сообщит пользователю о доступном обновлении, поэтому о выходе новых версий вы можете узнать из новостей в [https://wirenboard.com/ru/pages/contacts/ наших социальных сетях] или в консоли контроллера:
# Подключитесь к контроллеру через [[SSH]].
# Выполните команду:
#:<syntaxhighlight lang="bash" >
apt update
</syntaxhighlight>
# Если есть пакеты для обновления, то можете посмотреть их список:
#:<syntaxhighlight lang="bash">
apt list --upgradable
</syntaxhighlight>


== Обновление в консоли через apt==
== Обновление в консоли через apt==
{{Anchor|apt}}
{{Anchor|apt}}
[[Image: Dialog.png |400px|thumb|right| Окно ''Modified configuration Files'']]
[[Image: Dialog.png |400px|thumb|right| Окно ''Modified configuration Files'']]
Apt — это менеджер пакетов операционной системы Debian, который обновляет изменившиеся пакеты и устанавливает новые, если это необходимо. Для работы нужен интернет или [https://wiki.debian.org/ru/CreateLocalRepo локальное зеркало] apt-репозиториев.
{{Wbincludes:Wiren Board Apt Firmware Update}}
 
Обновление контроллера через apt учитывает [[#Кратко о релизах | систему релизов]] — следуя инструкции, вы полностью перейдёте на новый релиз, а не только обновите отдельные пакеты.
 
При обновлении сохраняются установленные программы, пользовательские файлы и настройки.
 
Чтобы обновить прошивку контроллера:
# Подключитесь к нему по [[SSH]].
# Выполните команды:
#:<syntaxhighlight lang="bash">
apt update; apt upgrade
</syntaxhighlight>
 
В процессе обновления может появиться запрос на действие с файлами конфигурации. Если не знаете, что выбрать — оставьте значение по умолчанию '''keep the local version currently installed''', так вы сохраните свои настройки.
 
Так же в консоль будут выводиться служебные сообщения и запросы на действия, которые могут повредить систему или удалить пользовательские настройки — внимательно читайте вопросы перед тем, как ввести <code>Y</code>.


== Прошивка через веб-интерфейс==
== Прошивка через веб-интерфейс==
{{Anchor|web-ui}}
{{Anchor|web-ui}}
=== О способе ===
=== О способе ===
Прошивку через веб-интерфейс удобно использовать, если на компьютере нет интернета и вы используете только встроенное в контроллер ПО.
Прошивку через веб-интерфейс удобно использовать, если на компьютере нет интернета и вы используете только встроенное в контроллер ПО. Способ подходит для обновления внутри веток stable или testing, а также для перехода со stable на testing.


{{Wbincludes:Firmware Update Fit Save Data}}
{{Wbincludes:Firmware Update Fit Save Data}}
Строка 124: Строка 42:
=== Скачивание прошивки ===
=== Скачивание прошивки ===
{{Wbincludes:Fit Files Wiren Board 7}}
{{Wbincludes:Fit Files Wiren Board 7}}
При загрузке прошивки через веб-интерфейс имя файла не имеет значения.
При загрузке прошивки через веб-интерфейс имя файла не имеет значения.


=== Процесс ===
=== Процесс ===
{{Wbincludes:WebUI Change Access Level}}
{{note|info|Если у вас на контроллере релиз wb-2307 и новее, а на самом контроллере корневой раздел 1 Гбайт, то его [[Enlarging_the_rootfs_partition|можно увеличить]].}}
 
{{Wbincludes:Wiren Board WebUI Firmware Update}}
Чтобы обновить прошивку контроллера:
# Скачайте fit-файл прошивки на компьютер.
# Зайдите в [[Wiren Board Web Interface | веб-интерфейс]] контроллера и перейдите в раздел '''Настройки''' → '''Система'''.
# Нажмите кнопку '''Выбрать файл''' и выберите скачанный ранее fit-файл.
# Файл с прошивкой загрузится на контроллер и начнётся обновление, которое длится 5-10 минут. Не закрывайте страницу и не выключайте контроллер до завершения.
# После обновления контроллер перезагрузится.
 
После завершения обновления подключитесь к контроллеру заново и обновите в браузере страницу веб-интерфейса со сбросом кэша (Ctrl+F5 для Chrome), чтобы загрузилась обновленная версия. Проверьте версию прошивки на странице '''Устройства''' → '''System'''.
<gallery mode="packed " heights="150px">
Image: Web-Configs-2.0 system.png | Нажмите кнопку '''Select file''' и выберите fit-файл
Image: Web-settings-firmware-update-messages.png | Во время обновления на страницу выводятся системные сообщения
Image: sw-release.png | Текущая версия прошивки контроллера
</gallery>


== Прошивка через Debug Network ==
== Прошивка через Debug Network ==
Строка 149: Строка 53:
[[Image: wb7-debug-network-pc.png |300px|thumb|right| Файл обновления прошивки на съёмном накопителе ]]
[[Image: wb7-debug-network-pc.png |300px|thumb|right| Файл обновления прошивки на съёмном накопителе ]]
[[Image: wb7-debug-network.png |300px|thumb|right| Разъём Debug Network, USB-C ]]
[[Image: wb7-debug-network.png |300px|thumb|right| Разъём Debug Network, USB-C ]]
[[Image: wb7-FW.png |300px|thumb|right| Кнопка FW — переводит контроллер в режим прошивки и подтверждает запросы действий в процессе прошивки]]
=== О способе ===
=== О способе ===
В контроллере есть разъём [[Debug Network]], который можно использовать для обновления прошивки или удаления всех данных и настроек.
В контроллере есть разъём [[Debug Network]], который можно использовать для обновления прошивки или удаления всех данных и настроек.
Строка 160: Строка 65:


=== Процесс ===
=== Процесс ===
Вам понадобятся компьютер и кабель USB-C с возможностью передачи данных. Весь процесс займёт не больше пяти минут.
{{Wbincludes:Wiren Board 7.4 Debug Network Firmware Update}}
 
Для наглядности можно подключиться к [[WB Debug Console | Debug Console]], где контроллер будет несколько раз запрашивать в подтверждение тех или иных действий и писать сообщения о ходе процесса.
 
В инструкции мы будем ориентироваться на звуковые сигналы и подтверждать все запросы:
# Выключите контроллер кнопкой и дождитесь, пока индикатор возле кнопки включения потухнет.
# Подключите к разъёму Debug Network кабель USB-C, контроллер автоматически включится.
# Переведите контроллер в режим прошивки, для этого в течение 5-6 секунд после подключения кабеля нажмите кнопку FW и держите её до короткого звукового сигнала. Кнопку можно отпустить. В Debug Console в этот момент будут строки:
#:<syntaxhighlight lang="bash">
Press FW button to enter firmware update mode
# <здесь вы нажали кнопку>
Entering firmware update mode.
</syntaxhighlight>
# Через несколько секунд на компьютере обнаружится накопитель '''WB UPDATE''', откройте его. В Debug Console в это время будет сообщение:
#:<syntaxhighlight lang="bash">
Waiting for USB gadget to connect to host PC
Copy .fit file to virtual USB drive
</syntaxhighlight>
# Скопируйте подготовленный .fit-файл на этот накопитель — контроллер каждую секунду будет следить за процессом.
# Когда файл полностью скопируется, контроллер автоматически отключит накопитель, издаст два коротких звуковых сигнала и начнет прошивку. В Debug Console при этом будет сообщение вида:
#:<syntaxhighlight lang="bash">
Will use wb_update.fit from virtual USB drive
# или, если вы выбрали удаление данных
Will use wb_update_FACTORYRESET.fit from virtual USB drive
</syntaxhighlight>
# Через пару минут контроллер перезагрузится и его индикатор станет равномерно мигать зелёным, а в Debug Console появится приглашение входа: <code>wirenboard-XXXXXXXX login:</code>.
 
Если в имени файла есть <code>FACTORYRESET</code>, то контроллер издаст продолжительный звуковой сигнал — запрос подтверждения удаления всех данных. В Debug Console будет сообщение: <code>FACTORY RESET REQUESTED</code>. Нажмите и держите кнопку FW, пока контроллер не издаст по очереди четыре коротких звуковых сигнала. Кнопку можно отпустить. Если вы передумали удалять данные — просто выключите контроллер.


== Прошивка с помощью USB-флешки или карты Micro-SD ==
== Прошивка с помощью USB-флешки или карты Micro-SD ==
{{Anchor|usb-flash}}
{{Anchor|usb-flash}}
[[Image: wb7-FW.png |300px|thumb|right| Кнопка FW — переводит контроллер в режим прошивки и подтверждает запросы действий в процессе прошивки]]
=== О способе ===
=== О способе ===
Для обновления прошивки или удаления данных и настроек можно воспользоваться USB-флешкой или картой памяти Micro SD.  
Для обновления прошивки или удаления данных и настроек можно воспользоваться USB-флешкой или картой памяти Micro SD.  
Строка 204: Строка 83:


=== Процесс ===
=== Процесс ===
Для наглядности можно подключиться к [[WB Debug Console | Debug Console]], где контроллер будет несколько раз запрашивать в подтверждение тех или иных действий и писать сообщения о ходе процесса.
{{Wbincludes:Wiren Board 7 USB Firmware Update}}


В инструкции мы будем ориентироваться на звуковые сигналы и подтверждать все запросы:
=== Массовая прошивка контроллеров ===
# Выключите контроллер кнопкой и дождитесь, пока индикатор возле кнопки включения потухнет.
{{Wbincludes:Mass flashing from flash}}
# Скопируйте подготовленный файл прошивки на флешку или карту памяти и вставьте её в контроллер.
# Включите контроллер и переведите контроллер в режим прошивки, для этого в течение 5-6 секунд после включения нажмите кнопку FW и держите её до короткого звукового сигнала. Кнопку можно отпустить. В Debug Console в этот момент будут строки:
#:<syntaxhighlight lang="bash">
Press FW button to enter firmware update mode
# <здесь вы нажали кнопку>
Entering firmware update mode.
</syntaxhighlight>
# Контроллер попробует найти на подключённой флешке или карте памяти fit-файлы с прошивкой. В Debug Console при этом будут выводится строки:
#:<syntaxhighlight lang="bash">
Looking for update .fit on /dev/sda...
Looking for update .fit on /dev/sda1...
</syntaxhighlight>
# Если файл будет найден — контроллер издаст два коротких сигнала и перейдёт в режим прошивки. В Debug Console при этом будет сообщение вида:
#:<syntaxhighlight lang="bash">
Will use wb_update.fit from virtual USB drive
# или, если вы выбрали удаление данных
Will use wb_update_FACTORYRESET.fit from virtual USB drive
</syntaxhighlight>
# Через пару минут контроллер перезагрузится и его индикатор станет равномерно мигать зелёным, а в Debug Console появится приглашение входа: <code>wirenboard-XXXXXXXX login:</code>.
 
Если в имени файла есть <code>FACTORYRESET</code>, то контроллер издаст продолжительный звуковой сигнал — запрос подтверждения удаления всех данных. В Debug Console будет сообщение: <code>FACTORY RESET REQUESTED</code>. Нажмите и держите кнопку FW, пока контроллер не издаст по очереди четыре коротких звуковых сигнала. Кнопку можно отпустить. Если вы передумали удалять данные — просто выключите контроллер.


== Удаление данных и возврат заводских настроек ==
== Удаление данных и возврат заводских настроек ==
{{Anchor|factory-reset}}
{{Anchor|factory-reset}}
Процедура удаляет на контроллере все данные: установленное ПО, настройки, пользовательские файлы и восстанавливает заводскую конфигурацию настроек, а также релиз ПО контроллера, который был в момент его выпуска — сделайте резервную копию ваших файлов и настроек.
[[Image: wb7-FW.png |300px|thumb|right| Кнопка FW — переводит контроллер в режим прошивки и подтверждает запросы действий в процессе прошивки]]
 
{{Wbincludes: Wiren Board 7.4 Factory Reset}}
Если у вас установлены USB-флеш, карта MicroSD или воткнут провод в Debug Network — вытащите их.
 
В процессе контроллер будет несколько раз запрашивать в [[WB Debug Console | Debug-консоли]] подтверждение тех или иных действий, но чтобы упростить процедуру — мы просто зажмём кнопку FW в самом начале и автоматом со всем согласимся:
# Выключите контроллер кнопкой на корпусе.
# Зажмите и не отпускайте кнопку FW.
# Включите контроллер и продолжайте удерживать кнопку FW.
# После включения контроллер:
#* пикнет один раз — это он перешёл в режим обновления прошивки, не отпускайте кнопку;
#* подождите 10-20 секунд, затем он пикнет сперва коротко два раза, а потом через 20-30 секунд ещё четыре коротких сигнала — началось удаление данных, откат версии прошивки к заводской и восстановление заводских настроек. Кнопку можно отпустить.
# По окончании процедуры контроллер перезагрузится в рабочем режиме, а его индикатор замигает зелёным.  


Вся процедура занимает чуть больше 2 минут. После сброса обновите ПО до актуального релиза — у вас будет версия, зашитая в контроллер при производстве.
== Удаление данных и возврат заводских настроек с обновлением ПО ==
{{Wbincludes:FactoryReset WebUI}}