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

Навигация

Wb-mcu-fw-updater: различия между версиями

 
(не показаны 22 промежуточные версии 7 участников)
Строка 11: Строка 11:


=== Контроллер Wiren Board ===
=== Контроллер Wiren Board ===
Чтобы установить утилиту на контроллеры Wiren Board, выполните команды:
Утилита предустановлена на все контроллеры Wiren Board, начиная с версии 5 и выше.
<syntaxhighlight lang="bash">
 
apt update && apt upgrade
Если у вас её не оказалось, то можно установить из репозитория:
# Откройте консоль контроллера через [[SSH]].
# Обновите список пакетов:
#:<syntaxhighlight lang="bash">
apt update
</syntaxhighlight>
# Установите утилиту командой:
#:<syntaxhighlight lang="bash">
apt install wb-mcu-fw-updater
apt install wb-mcu-fw-updater
</syntaxhighlight>
</syntaxhighlight>


=== ОС Linux ===
=== ОС Linux ===
Для Ubuntu, Linux Mint, Elementary OS и других дистрибутивов, использующих пакетный менеджер apt, порядок действий примерно следующий:
{{Anchor|linux}}
# Перейти в репозиторий [https://github.com/wirenboard/wb-mcu-fw-updater.git wb-mcu-fw-updater].
Wb-mcu-fw-updater не поддерживается на других платформах. Для Debian-подобных операционных систем есть утилита [[Wb-mcu-fw-flasher |wb-mcu-fw-flasher]].
# Собрать deb-пакет по инструкции в нём.
# Установить [[WB-MCU-Flasher | wb-mcu-fw-flasher]].
# Установить собранный deb-пакет командами:
#:<syntaxhighlight lang="bash">
apt update
apt install ./<путь_до_собранного_пакета>.deb
</syntaxhighlight>


== Режимы ==
== Режимы ==
Строка 38: Строка 38:


Утилита сама находит настройки соединения с устройством, запрашивает у устройства версию ПО и производит обновление, если требуется. Этот режим гибко настраивается с помощью ключей запуска, например, в этом режиме можно устанавливать тестовые прошивки.
Утилита сама находит настройки соединения с устройством, запрашивает у устройства версию ПО и производит обновление, если требуется. Этот режим гибко настраивается с помощью ключей запуска, например, в этом режиме можно устанавливать тестовые прошивки.
{| class="wikitable"
{| class="wikitable noclear"
! Параметр !! Описание !! Значение по умолчанию
! Параметр !! Описание !! Значение по умолчанию
|-
|-
Строка 55: Строка 55:
|-
|-
|-
|-
| --force || Произвести перепрошивку устройства даже если установлена самая свежая прошивка || Флаг
| -f, --force || Произвести перепрошивку устройства даже если установлена самая свежая прошивка || Флаг
|-
|-
|-
|-
| --restore-defaults || Восстановить настройки устройства к заводским || Флаг
| --restore-defaults || Стирает все настройки и калибровочные значения: датчики начнут показывать ерунду. <br>Не используйте, если не знаете, что делаете. || Флаг
|-
|-
|}
|}


=== Обновление загрузчика (update-bl) ===  
=== Обновление загрузчика (update-bl) ===  
{{Anchor|update-bl}}
Обновление загрузчика устройства с известным  modbus-адресом.  
Обновление загрузчика устройства с известным  modbus-адресом.  


'''ВНИМАНИЕ:''' обновление загрузчика — потенциально опасная операция. Если во время обновления загрузчика пропало питание, устройство может превратиться в «кирпич». В этом случае гарантия на него аннулируется. Чтобы избежать такой ситуации — резервируйте питание контроллера и устройства, например, с помощью [[UPS2 | UPS2]].
Изменения в новой версии загрузчика описаны в [[Bootloader_Changelog |журнале изменений]].
 
'''ВНИМАНИЕ:''' обновление загрузчика — потенциально опасная операция. Если во время обновления загрузчика пропало питание, устройство может превратиться в «кирпич». В этом случае гарантия на него аннулируется. Чтобы избежать такой ситуации — подключайте устройство напрямую к контроллеру, а также резервируйте питание контроллера и устройства, например, с помощью [[UPS2 | WB-UPS v.2]].


Утилита сама находит настройки соединения с устройством, запрашивает у устройства версию загрузчика и производит обновление, если требуется. При обновлении загрузчика, устройство будет автоматически прошито самой свежей прошивкой.
Утилита сама находит настройки соединения с устройством, запрашивает у устройства версию загрузчика и производит обновление, если требуется. При обновлении загрузчика, устройство будет автоматически прошито самой свежей прошивкой.
{| class="wikitable"
{| class="wikitable"
! Параметр !! Описание !! Значение по умолчанию
! Параметр !! Описание !! Значение по умолчанию
Строка 82: Строка 86:
|-
|-
|}
|}
Пример команды, которая обновляет загрузчик в устройстве с адресом 153, подключенного к порту /dev/ttyRS485-1:
<syntaxhighlight lang="bash">
wb-mcu-fw-updater update-bl -a 153 /dev/ttyRS485-1
</syntaxhighlight>


=== Восстановление (recover) ===  
=== Восстановление (recover) ===  
Восстановление устройства с испорченной прошивкой. Может быть полезно, если при обновлении прошивки пропало питание и устройство не загружается.
Восстановление устройства с испорченной прошивкой. Если при использовании <code>wb-mcu-fw-updater</code> процедура прервалась, например, пропало питание и устройство не загружается — можно воспользоваться этим режимом.


После запуска с указанием порта и modbus-адреса устройства утилита попробует его восстановить с помощью последней зашитой в него прошивкой. Если восстановление не получится, то с согласия пользователя, утилита попробует восстановить устройство с помощью всех доступных прошивок, процесс перебора может быть длительным.
После запуска с указанием порта и modbus-адреса устройства утилита попробует его восстановить с помощью последней зашитой в него прошивкой. Если восстановление не получится, то с согласия пользователя, утилита попробует восстановить устройство с помощью всех доступных прошивок, процесс перебора может быть длительным.
Строка 99: Строка 108:
|-
|-
|-
|-
| --restore-defaults || Восстановление настроек устройства к заводским || Флаг
| --restore-defaults || Стирает все настройки и калибровочные значения: датчики начнут показывать ерунду. <br>Не используйте, если не знаете, что делаете. || Флаг
|-
|-
|-
|-
Строка 137: Строка 146:
| -h, --help || Описание ключей запуска для режима || Флаг
| -h, --help || Описание ключей запуска для режима || Флаг
|}
|}
=== Залить прошивку из файла (flash-file) ===
Заливает в устройство прошивку из указанного файла.
{| class="wikitable"
! Параметр !! Описание !! Значение по умолчанию
|-
| ||Порт, к которому подключено устройство. Позиционный аргумент  || '''обязательный'''
|-
| -a, --slaveid || Modbus адрес устройства || '''обязательный'''
|-
|  --file || Путь к файлу прошивки || '''обязательный'''
|-
| -h, --help || Описание ключей запуска для режима || Флаг
|}
<syntaxhighlight lang="console">
# wb-mcu-fw-updater flash-file /dev/ttyRS485-1 --conn-settings 115200N2 -a20 --file /home/debs/mcm8G__1.4.0-rc1_master_20e4b39.wbfw
2022-07-27 12:14:02,043 Flashing /home/debs/mcm8G__1.4.0-rc1_master_20e4b39.wbfw
100%|#######################################################################################################|134/134
</syntaxhighlight>
=== Получить debug-лог ===
Если в работе утилиты возникли ошибки, то при обращении в техподдержку лучше приложить debug-лог, чтобы его получить, добавьте в конце команды <code>--debug</code>, например:
<syntaxhighlight lang="bash">
wb-mcu-fw-updater update-fw /dev/ttyMOD1 -a32 -f --debug
</syntaxhighlight>
Параметр работает во всех режимах.


== Типичные сценарии использования ==  
== Типичные сценарии использования ==