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

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


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


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


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


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


Узнать версию модема можно AT командой <code>at+cgmr</code>, которая возвращает строку с номером, символы с 6 по 8 будут версией прошивки чипа. [[GSM/GPRS#Отправка AT-команд| Как отправить AT команду]].
[[Image: 7600_Flash_prepare.png |400px| Файлы в контроллере ]]


Например, в примере ниже версия прошивки B05:
Запустите в одном терминале скрипт flash_simcom.sh, а затем запустите утилиту обновления во втором:
<syntaxhighlight lang="at">
 
at+cgmr
<syntaxhighlight lang="bash">./flash_simcom.sh
+CGMR: A39C4B05A7600M7
</syntaxhighlight>
</syntaxhighlight>


== Определение текущей версии прошивки в Debian Bullseye ==
[[Image: 7600_flash_simcom_sh.png |500px| Запустите скрипт flash_simcom.sh]]
 
<syntaxhighlight lang="bash">./fbdownloader_arm7l -b BinFile.bin
</syntaxhighlight>
 
Дождитесь запроса “connect USB interface”:
 
[[Image: 7600_Flash_connect_usb.png |600px| Запрос подключения устройства ]]
 
Во терминале с flash_simcom.sh подтвердите запуск прошивки:
 
[[Image: 7600_Flash_simcom_output.png |400px| Процесс прошивки ]]
 
В терминале с fbfdownloader можно пронаблюдать процесс прошивки.


Сервис ModemManager позволяет получить информацию о модеме и прошивке с помощью команды <code>mmcli -m any</code>
[[Image: 7600_Flash_process.png |600px| Процесс прошивки ]]


[[Image: 7600_mmcli.png |600px| mmcli ]]
Дождитесь отчета об успехе процедуры прошивки


== Процесс обновления прошивки модема ==
[[Image: 7600_Flash_success.png |600px| Окончание прошивки ]]
 
Перезагрузите wb, а затем выполните wb-gsm on


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


== Возможные проблемы в процессе ==
== Возможные проблемы в процессе ==
Прерывание прошивки. В этом случае модем при подаче питания будет запускать бутлодер, но это всё, что он будет делать. Лечится повторной прошивкой по обычной процедуре.
Прерывание прошивки. В этом случае модем при подаче питания будет запускать бутлодер, но это всё, что он будет делать. Лечится повторной прошивкой по обычной процедуре.
== Подготовка образа прошивки из архива производителя ==
Чтобы подготовить прошивку, нужен компьютер с 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| Файл прошивки ]]

Версия 20:54, 5 декабря 2022


Технология

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

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

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

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

  1. Распакуйте архив в корень диска.
  2. Скопируйте в папку с распакованной прошивкой утилиту FBFMake.exe.
    Распакованная прошивка
  3. Выполните (подставив нужное имя прошивки) в этой папке:
    FBFMake.exe -r A7600E-HNVW_NOR.blf -f output
    
    Процесс перепаковки
    Успех перепаковки
  4. В папке output файл BinFile.bin — это и есть нужный нам образ.
    Файл прошивки

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

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

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

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

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

./flash_simcom.sh

Запустите скрипт 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.

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

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

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