Modem a76xx flashing: различия между версиями

Материал из Wiren Board
(не показано 17 промежуточных версий 5 участников)
Строка 2: Строка 2:


== Технология ==
== Технология ==
Обновление прошивки производится при помощи утилиты fbdownloader, скомпилированной под wirenboard и загружающей в модем образ с диска контроллера и скриптов, автоматизирующих процесс включения и отключения модема.


Обновление прошивки производится при помощи утилиты <code>fbfdownloader</code>, скомпилированной под Wiren Board и загружающей в модем образ с диска контроллера и скриптов, автоматизирующих процесс включения и отключения модема.
== Подготовка образа прошивки ==
Чтобы подготовить прошивку, нужен компьютер с windows и утилитой FBFMake от Simcom.
Изначально прошивка распространяется в виде zip-архива с именем, соответствующим версии ПО.


== Загрузка образа прошивки ==
[[Image: 7600_Flash_zip.png |600px| Архив с прошивкой ]]


Подготовленные образы прошивок можно скачать из [https://drive.google.com/drive/folders/1QWGRZ9npttYUA915eIe-pJ_L9Msn5bHX папки на google drive], выбрав прошивку, соответствующую версии модема. Обратите внимание на то, что модемы A7600E-H имеют две аппаратные версии: A7600E-HNVW и A7600E-H-LNSE. Прошивки для них не совместимы.
Архив следует распаковать в корень диска, затем скопировать в папку с распакованной прошивкой утилиту FBFMake.exe.


== Определение текущей версии прошивки в Debian Stretch ==
[[Image: 7600_Flash_unpacked.png |600px| Распакованная прошивка ]]


Узнать версию модема можно AT командой <code>at+cgmr</code>, которая возвращает строку с номером, символы с 6 по 8 будут версией прошивки чипа. [[GSM/GPRS#Отправка AT-команд| Как отправить AT команду]].
выполните (подставив нужное имя прошивки) в этой папке:
<syntaxhighlight lang="batch">
FBFMake.exe -r A7600E-HNVW_NOR.blf -f output
</syntaxhighlight>


Например, в примере ниже версия прошивки B05:
[[Image: 7600_Flash_cmd_fbfmake.png |600px| Процесс перепаковки ]]
<syntaxhighlight lang="at">
at+cgmr
+CGMR: A39C4B05A7600M7
</syntaxhighlight>


== Определение текущей версии прошивки в Debian Bullseye ==
[[Image: 7600_Flash_cmd_fbfmake_success.png |400px| Успех перепаковки ]]


Сервис ModemManager позволяет получить информацию о модеме и прошивке с помощью команды <code>mmcli -m any</code>
забрать из папки output файл BinFile.bin - это и есть требуемый образ.


[[Image: 7600_mmcli.png |600px| mmcli ]]
[[Image: 7600_Flash_output_binfile.png |600px| Файл прошивки ]]


== Процесс обновления прошивки модема ==
== Процесс обновления прошивки модема ==


# Подключитесь к контроллеру Wiren Board по [[SSH]] дважды, чтобы у вас было открыто два терминала.
Нужно открыть два терминала с подключением к WB.
# Установите на контроллер пакет <code>flash-simcom-a76xx</code>.
 
# <syntaxhighlight lang="bash">apt update && apt install flash-simcom-a76xx
Загрузите на wb скрипты flash_simcom.sh и blink.sh, утилиту fbdownloader_arm7l, назначить файлы исполняемыми, загрузить в ту же директорию прошивку.
 
[[Image: 7600_Flash_prepare.png |400px| Файлы в контроллере ]]
 
Запустите в одном терминале скрипт flash_simcom.sh, а затем запустите утилиту обновления во втором:
 
<syntaxhighlight lang="bash">./flash_simcom.sh
</syntaxhighlight>
</syntaxhighlight>
# Загрузите прошивку, в итоге должно получиться так:
 
#:[[Image: 7600_Flash_prepare.png |400px| Файл с прошивкой в контроллере ]]
[[Image: 7600_flash_simcom_sh.png |500px| Запустите скрипт flash_simcom.sh]
# Запустите в одном терминале скрипт <code>flash_simcom.sh</code>:
 
#:<syntaxhighlight lang="bash">flash_simcom.sh
<syntaxhighlight lang="bash">./fbdownloader_arm7l -b BinFile.bin
</syntaxhighlight>
</syntaxhighlight>
#:[[Image: 7600_flash_simcom_sh.png |400px| Запустите скрипт flash_simcom.sh]]
 
# Теперь во втором терминале запустите утилиту обновления:
Дождитесь запроса “connect USB interface”:
#:<syntaxhighlight lang="bash">fbfdownloader_arm7l -b BinFile.bin
 
[[Image: 7600_Flash_connect_usb.png |600px| Запрос подключения устройства ]]
 
Во терминале с flash_simcom.sh подтвердите запуск прошивки:
 
[[Image: 7600_Flash_simcom_output.png |400px| Процесс прошивки ]]
 
В терминале с fbfdownloader можно пронаблюдать процесс прошивки.
 
[[Image: 7600_Flash_process.png |600px| Процесс прошивки ]]
 
Дождитесь отчета об успехе процедуры прошивки
 
[[Image: 7600_Flash_success.png |600px| Окончание прошивки ]]
 
Перезагрузите wb, а затем выполните wb-gsm on
 
<syntaxhighlight lang="bash">reboot
</syntaxhighlight>
</syntaxhighlight>
# Дождитесь запроса '''connect USB interface''':
<syntaxhighlight lang="bash">wb-gsm on
#:[[Image: 7600_Flash_connect_USB.png |600px| Запрос подключения устройства ]]
# В первом терминале с <code>flash_simcom.sh</code> подтвердите запуск прошивки:
#:[[Image: 7600_Flash_simcom_output.png |600px| Процесс прошивки ]]
# Во втором терминале с <code>fbfdownloader</code> можно пронаблюдать процесс:
#:[[Image: 7600_Flash_Process.png |600px| Процесс прошивки ]]
# Дождитесь отчета об успехе процедуры прошивки:
#:[[Image: 7600_Flash_success.png |600px| Окончание прошивки ]]
# Перезагрузите контроллер:
#:<syntaxhighlight lang="bash">reboot
</syntaxhighlight>
</syntaxhighlight>
# После загрузки контроллера, снова подключитесь к SSH. В Debian Bullseye модем включится автоматически, в Debian Stretch включите модем командой <code>wb-gsm on</code>
Когда модем запустится, можно убедиться в успехе запросами AT+CGMR и AT+CSUB.
# Когда модем запустится, можно проверить версию прошивки описанным ранее способом
 
[[Image: 7600_minicom_check.png |400px| Проверка прошивки ]]


== Возможные проблемы в процессе ==
== Возможные проблемы в процессе ==
Прерывание прошивки. В этом случае модем при подаче питания будет запускать бутлодер, но это всё, что он будет делать. Лечится повторной прошивкой по обычной процедуре.
Прерывание прошивки. В этом случае модем при подаче питания будет запускать бутлодер, но это всё, что он будет делать. Лечится повторной прошивкой по обычной процедуре.
== Подготовка образа прошивки из архива производителя ==
Чтобы подготовить прошивку, нужен компьютер с windows (wine в *nix тоже годится) и утилитой FBFMake от Simcom.
Изначально прошивка распространяется в виде zip-архива с именем, соответствующим версии ПО.
[[Image: 7600_Flash_zip.png |600px| Архив с прошивкой ]]
Подготовка прошивки:
# Распакуйте архив в корень диска.
# Скопируйте в папку с распакованной прошивкой утилиту FBFMake.exe.
#:[[Image: 7600_Flash_unpacked.png |600px| Распакованная прошивка ]]
# Выполните (подставив нужное имя прошивки) в этой папке:
#:<syntaxhighlight lang="batch">
FBFMake.exe -r A7600E-HNVW_NOR.blf -f output
</syntaxhighlight>
#:[[Image: 7600_Flash_cmd_fbfmake.png |600px| Процесс перепаковки ]]
#:[[Image: 7600_Flash_cmd_fbfmake_success.png |400px| Успех перепаковки ]]
# В папке <code>output</code> файл <code>BinFile.bin</code> — это и есть нужный нам образ.
#: [[Image: 7600_Flash_output_binfile.png |600px| Файл прошивки ]]

Версия 14:35, 2 декабря 2022


Технология

Обновление прошивки производится при помощи утилиты fbdownloader, скомпилированной под wirenboard и загружающей в модем образ с диска контроллера и скриптов, автоматизирующих процесс включения и отключения модема.

Подготовка образа прошивки

Чтобы подготовить прошивку, нужен компьютер с windows и утилитой FBFMake от Simcom. Изначально прошивка распространяется в виде zip-архива с именем, соответствующим версии ПО.

Архив с прошивкой

Архив следует распаковать в корень диска, затем скопировать в папку с распакованной прошивкой утилиту FBFMake.exe.

Распакованная прошивка

выполните (подставив нужное имя прошивки) в этой папке:

FBFMake.exe -r A7600E-HNVW_NOR.blf -f output

Процесс перепаковки

Успех перепаковки

забрать из папки output файл BinFile.bin - это и есть требуемый образ.

Файл прошивки

Процесс обновления прошивки модема

Нужно открыть два терминала с подключением к WB.

Загрузите на wb скрипты flash_simcom.sh и blink.sh, утилиту fbdownloader_arm7l, назначить файлы исполняемыми, загрузить в ту же директорию прошивку.

Файлы в контроллере

Запустите в одном терминале скрипт flash_simcom.sh, а затем запустите утилиту обновления во втором:

./flash_simcom.sh

[[Image: 7600_flash_simcom_sh.png |500px| Запустите скрипт flash_simcom.sh]

./fbdownloader_arm7l -b BinFile.bin

Дождитесь запроса “connect USB interface”:

Запрос подключения устройства

Во терминале с flash_simcom.sh подтвердите запуск прошивки:

Процесс прошивки

В терминале с fbfdownloader можно пронаблюдать процесс прошивки.

Процесс прошивки

Дождитесь отчета об успехе процедуры прошивки

Окончание прошивки

Перезагрузите wb, а затем выполните wb-gsm on

reboot
wb-gsm on

Когда модем запустится, можно убедиться в успехе запросами AT+CGMR и AT+CSUB.

Проверка прошивки

Возможные проблемы в процессе

Прерывание прошивки. В этом случае модем при подаче питания будет запускать бутлодер, но это всё, что он будет делать. Лечится повторной прошивкой по обычной процедуре.