Wb-mcu-fw-updater: различия между версиями
Vdromanov (обсуждение | вклад) |
Vdromanov (обсуждение | вклад) |
||
Строка 19: | Строка 19: | ||
Чтобы не производить действия по выбору подходящей прошивки, её скачиванию и установке на устройство, была написана утилита [https://github.com/wirenboard/wb-mcu-fw-updater.git wb-mcu-fw-updater]. | Чтобы не производить действия по выбору подходящей прошивки, её скачиванию и установке на устройство, была написана утилита [https://github.com/wirenboard/wb-mcu-fw-updater.git wb-mcu-fw-updater]. | ||
Она позволяет свести весь процесс обновления прошивки устройства до указания порта, к которому устройство подключено, и его slaveid (опционально). | Она позволяет свести весь процесс обновления прошивки устройства до указания порта, к которому устройство подключено, и его slaveid (опционально). | ||
=== Утилита wb-mcu-fw-updater === | === Утилита wb-mcu-fw-updater === | ||
==== Установка: ==== <!--T: | ==== Установка: ==== <!--T:5--> | ||
На контроллерах Wiren Board (приобретённых после мая 2020) утилита доступна сразу. На контроллеры, приобретённые ранее, утилита устанавливается следующими командами: | На контроллерах Wiren Board (приобретённых после мая 2020) утилита доступна сразу. На контроллеры, приобретённые ранее, утилита устанавливается следующими командами: | ||
<pre> | <pre> | ||
Строка 30: | Строка 29: | ||
</pre> | </pre> | ||
===== На другие Debian-подобные системы: ===== <!--T: | ===== На другие Debian-подобные системы: ===== <!--T:6--> | ||
Для Ubuntu, Linux Mint, Elementary OS и других дистрибутивов, использующих пакетный менеджер apt, порядок действий примерно следующий: | Для Ubuntu, Linux Mint, Elementary OS и других дистрибутивов, использующих пакетный менеджер apt, порядок действий примерно следующий: | ||
# Перейти в репозиторий [https://github.com/wirenboard/wb-mcu-fw-updater.git wb-mcu-fw-updater]. | # Перейти в репозиторий [https://github.com/wirenboard/wb-mcu-fw-updater.git wb-mcu-fw-updater]. | ||
Строка 41: | Строка 40: | ||
</pre> | </pre> | ||
<!--T: | ==== Интерфейс и режимы работы: ==== <!--T:7--> | ||
[[File:Wb-mcu-fw-updater interface.png||center||Help доступен при запуске утилиты с ключом -h]] | |||
===== Режим "update": ===== <!--T:8--> | |||
[[File:Bootloader.gif||right||Индикация режима загрузчика]] | [[File:Bootloader.gif||right||Индикация режима загрузчика]] | ||
Обновление одного устройства с известный slaveid. Если адрес устройства неизвестен, утилита, с согласия пользователя, задаст устройству адрес 245. Далее, утилита считывает версию прошивки устройства и проверяет необходимость обновления. Если есть прошивка новее - скачивает и устанавливает её. | |||
Для успешной работы в данном режиме, '''нужно освободить порт, к которому подключено устройство, от других драйверов''' (например, остановив на время wb-mqtt-serial). | |||
===== Режим "recover": ===== <!--T:9--> | |||
Восстановление устройства с испорченной прошивкой (например, при прошивке пропало питание, и устройство перестало загружаться). После указания модели устройства, утилита скачивает самую свежую прошивку для него и прошивает её через бутлоадер. Режим предназначен для использования '''только в бутлоадере''' (устройство мигает зелёным светодиодом примерно 1 раз в секунду). | |||
Для успешной работы в данном режиме, '''нужно освободить порт, к которому подключено устройство, от других драйверов''' (например, остановив на время wb-mqtt-serial). | |||
== | ===== Режим "update-all": ===== <!--T:10--> | ||
Обновление производится для всех устройств, работающих через wb-mqtt-serial. Поддерживается только на устройствах Wiren Board '''(для работы нужен драйвер wb-mqtt-serial)'''. Утилита останавливает драйвер, для каждого обнаруженного устройства в конфигурационном файле /etc/wb-mqtt-serial.conf проверяет наличие обновления и устанавливает его, если имеется. После этого, драйвер перезапускается, а пользователю возвращается список устройств, обновление которых не удалось (если таковые имеются). | |||
<!--T: | |||
и | |||
<!--T: | ==== Ключи запуска wb-mcu-fw-updater: ==== <!--T:11--> | ||
{| class="wikitable" | {| class="wikitable" | ||
! Параметр !! Описание !! Значение по умолчанию | ! Параметр !! Описание !! Значение по умолчанию | ||
|- | |- | ||
| - | !colspan="3"|Общие для всех режимов. Ключи со значением (-<ключ> <значение>) | ||
|- | |||
| || Порт, к которому подключено устройство. Позиционный аргумент || ('''обязательный''') | |||
|- | |- | ||
| - | | -a, --slaveid || Modbus адрес устройства || 0 | ||
|- | |- | ||
|- | |- | ||
| - | | --save-to || Принудительно скачать прошивку в файл <значение_аргумента> || None | ||
|- | |||
|- | |||
| --version || Скачивать прошивку определённой версии || latest | |||
|- | |||
|- | |||
| -a, --slaveid || Modbus адрес устройства || 0 | |||
|- | |||
| -h, --help || Отображение всех ключей запуска || | |||
|- | |||
| --debug || Отображение подробных логов работы утилиты || None | |||
|- | |- | ||
| - | | --restore-defaults || Восстановление всех настроек устройства к заводским || False | ||
|- | |- | ||
| -p || Чётность (parity) || N | | -p || Чётность (parity) || N |