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| Файл прошивки ]]
 
== Процесс обновления прошивки модема ==


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


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


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


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


[[Image: 7600_flash_simcom_sh.png |500px| Запустите скрипт flash_simcom.sh]]
== Определение текущей версии прошивки в Debian Bullseye ==


<syntaxhighlight lang="bash">./fbdownloader_arm7l -b BinFile.bin
Сервис ModemManager позволяет получить информацию о модеме и прошивке с помощью команды <code>mmcli -m any</code>
</syntaxhighlight>


Дождитесь запроса “connect USB interface”:
[[Image: 7600_mmcli.png |600px| mmcli ]]


[[Image: 7600_Flash_connect_usb.png |600px| Запрос подключения устройства ]]
== Процесс обновления прошивки модема ==


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


[[Image: 7600_Flash_simcom_output.png |400px| Процесс прошивки ]]
== Возможные проблемы в процессе ==
Прерывание прошивки. В этом случае модем при подаче питания будет запускать бутлодер, но это всё, что он будет делать. Лечится повторной прошивкой по обычной процедуре.


В терминале с fbfdownloader можно пронаблюдать процесс прошивки.
== Подготовка образа прошивки из архива производителя ==


[[Image: 7600_Flash_process.png |600px| Процесс прошивки ]]
Чтобы подготовить прошивку, нужен компьютер с windows (wine в *nix тоже годится) и утилитой FBFMake от Simcom.
Изначально прошивка распространяется в виде zip-архива с именем, соответствующим версии ПО.
[[Image: 7600_Flash_zip.png |600px| Архив с прошивкой ]]


Дождитесь отчета об успехе процедуры прошивки
Подготовка прошивки:
 
# Распакуйте архив в корень диска.
[[Image: 7600_Flash_success.png |600px| Окончание прошивки ]]
# Скопируйте в папку с распакованной прошивкой утилиту FBFMake.exe.
 
#:[[Image: 7600_Flash_unpacked.png |600px| Распакованная прошивка ]]
Перезагрузите wb, а затем выполните wb-gsm on
# Выполните (подставив нужное имя прошивки) в этой папке:
 
#:<syntaxhighlight lang="batch">
<syntaxhighlight lang="bash">reboot
FBFMake.exe -r A7600E-HNVW_NOR.blf -f output
</syntaxhighlight>
</syntaxhighlight>
<syntaxhighlight lang="bash">wb-gsm on
#:[[Image: 7600_Flash_cmd_fbfmake.png |600px| Процесс перепаковки ]]
</syntaxhighlight>
#:[[Image: 7600_Flash_cmd_fbfmake_success.png |400px| Успех перепаковки ]]
Когда модем запустится, можно убедиться в успехе запросами AT+CGMR и AT+CSUB.
# В папке <code>output</code> файл <code>BinFile.bin</code> — это и есть нужный нам образ.
 
#: [[Image: 7600_Flash_output_binfile.png |600px| Файл прошивки ]]
[[Image: 7600_minicom_check.png |400px| Проверка прошивки ]]
 
== Возможные проблемы в процессе ==
Прерывание прошивки. В этом случае модем при подаче питания будет запускать бутлодер, но это всё, что он будет делать. Лечится повторной прошивкой по обычной процедуре.

Текущая версия на 14:50, 16 мая 2023


Технология

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

Загрузка образа прошивки

Подготовленные образы прошивок можно скачать из папки на google drive, выбрав прошивку, соответствующую версии модема. Обратите внимание на то, что модемы A7600E-H имеют две аппаратные версии: A7600E-HNVW и A7600E-H-LNSE. Прошивки для них не совместимы.

Определение текущей версии прошивки в Debian Stretch

Узнать версию модема можно AT командой at+cgmr, которая возвращает строку с номером, символы с 6 по 8 будут версией прошивки чипа. Как отправить AT команду.

Например, в примере ниже версия прошивки B05:

at+cgmr
+CGMR: A39C4B05A7600M7

Определение текущей версии прошивки в Debian Bullseye

Сервис ModemManager позволяет получить информацию о модеме и прошивке с помощью команды mmcli -m any

mmcli

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

  1. Подключитесь к контроллеру Wiren Board по SSH дважды, чтобы у вас было открыто два терминала.
  2. Установите на контроллер пакет flash-simcom-a76xx.
  3. apt update && apt install flash-simcom-a76xx
    
  4. Загрузите прошивку, в итоге должно получиться так:
    Файл с прошивкой в контроллере
  5. Запустите в одном терминале скрипт flash_simcom.sh:
    flash_simcom.sh
    
    Запустите скрипт flash_simcom.sh
  6. Теперь во втором терминале запустите утилиту обновления:
    fbfdownloader_arm7l -b BinFile.bin
    
  7. Дождитесь запроса connect USB interface:
    Запрос подключения устройства
  8. В первом терминале с flash_simcom.sh подтвердите запуск прошивки:
    Процесс прошивки
  9. Во втором терминале с fbfdownloader можно пронаблюдать процесс:
    Процесс прошивки
  10. Дождитесь отчета об успехе процедуры прошивки:
    Окончание прошивки
  11. Перезагрузите контроллер:
    reboot
    
  12. После загрузки контроллера, снова подключитесь к SSH. В Debian Bullseye модем включится автоматически, в Debian Stretch включите модем командой wb-gsm on
  13. Когда модем запустится, можно проверить версию прошивки описанным ранее способом

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

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

Подготовка образа прошивки из архива производителя

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

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

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