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

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


=== Совместимость ===
=== Совместимость ===
{{Anchor|compatibility}}
{{Anchor|compatibility}}
Инструкции на этой странице подходят для контроллеров [[Wiren Board 7.4]], инструкции для других версий смотрите на странице [[Wiren_Board_Firmware_Update|Обновление прошивки контроллеров Wiren Board 6.x, 7.2 и 7.3]]
{{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-релизе. Первым стабильным для этой версии станет будущий wb-2310.}}
{{Wbincludes:Releases}}


<!--{{Wbincludes:Release Log}}-->
=== Релизы ===
 
{{Wbincludes:Wiren Board Software Releases}}
=== Какой релиз на вашем контроллере ===
{{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-файлом, способы и ограничения смотрите ниже в этой инструкции.
-->


== Пользовательские настройки и файлы ==
== Пользовательские настройки и файлы ==
{{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}}
Строка 130: Строка 45:


=== Процесс ===
=== Процесс ===
{{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 ==
Строка 163: Строка 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 ==
Строка 208: Строка 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 — переводит контроллер в режим прошивки и подтверждает запросы действий в процессе прошивки]]
[[Image: wb7-FW.png |300px|thumb|right| Кнопка FW — переводит контроллер в режим прошивки и подтверждает запросы действий в процессе прошивки]]
=== О способе ===
{{Wbincludes: Wiren Board 7.4 Factory Reset}}
Процедура удаляет на контроллере все данные: установленное ПО, настройки, пользовательские файлы и восстанавливает заводскую конфигурацию настроек, а также релиз ПО контроллера, который был в момент его выпуска — сделайте резервную копию ваших файлов и настроек.
 
=== Процесс ===
Если у вас установлены USB-флеш, карта MicroSD или воткнут провод в Debug Network — вытащите их.
 
Для наглядности можно подключиться к [[WB Debug Console | Debug Console]], где контроллер будет несколько раз запрашивать в подтверждение тех или иных действий и писать сообщения о ходе процесса.
 
В инструкции мы просто зажмём кнопку FW и автоматом подтвердим все действия:
# Выключите контроллер кнопкой и дождитесь, пока индикатор возле кнопки включения потухнет.
# Зажмите и не отпускайте кнопку FW.
# Включите контроллер и продолжайте удерживать кнопку FW.
# Контроллер издаст короткий звуковой сигнал — это он перешёл в режим обновления прошивки, не отпускайте кнопку FW.
#:В Debug Console при этом будет сообщение вида:
#:<syntaxhighlight lang="bash">
Press FW button to enter firmware update mode
Entering firmware update mode.
</syntaxhighlight>
# Подождите 20-30 секунд, пока контроллер перебирает все накопители в поисках прошивки. В финале прозвучит один двойной звуковой сигнал — контроллер перешёл к процедуре сброса с помощью зашитого на заводе образа прошивки.
#:В Debug Console при этом будет сообщение вида:
#:<syntaxhighlight lang="bash">
Load modules for USB to work
Waiting for USB to settle (10/10)
Waiting for microSD to settle (3/3)
Wait for eMMC to become available...
 
Will use /mnt/data/.wb-restore/factoryreset.fit
</syntaxhighlight>
# Через несколько секунд контроллер спросит подтверждение на удаление всех данных, но так как кнопка у нас уже зажата, то просто прозвучат по очереди четыре коротких звуковых сигнала. После этого сразу начнётся удаление данных, откат версии прошивки к заводской и восстановление заводских настроек.
#:В Debug Console при этом будет сообщение вида:
#:<syntaxhighlight lang="bash">
##############################################################################
 
                          FACTORY RESET REQUESTED
 
          This WILL destroy ALL YOUR DATA: configuration, scripts,
                          files in home directory!
 
        If you are ABSOLUTELY SURE that you want to reset Wiren Board
            to factory condition, hold the FW button for 4 seconds.
 
        If you will not do it in 10 seconds, the controller will reboot
                        without firmware update.
 
 
          If you want to perform a regular firmware update, rename
        FIT file to "wbX_update.fit" without "factory-reset" suffix.
 
##############################################################################
.... #< здесь звучали четыре коротких звуковых сигнала >
 
Factory reset is confirmed!
</syntaxhighlight>
# Отпустите кнопку FW.
# По окончании процедуры контроллер перезагрузится в рабочем режиме, а его индикатор замигает зелёным.


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