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

Материал из Wiren Board
(Добавил особенности обновления прошивки в Debian Bullseye)
Строка 11: Строка 11:
== Определение текущей версии прошивки в Debian Stretch ==
== Определение текущей версии прошивки в Debian Stretch ==


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


Например, в примере ниже версия чипа B05:
Например, в примере ниже версия прошивки B05:
<syntaxhighlight lang="at">
<syntaxhighlight lang="at">
at+cgmr
at+cgmr

Версия 16:36, 15 марта 2023


Технология

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

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

Подготовленные образы прошивок можно скачать из папки на google drive, выбрав прошивку, соответствующую версии чипа модема.

Определение текущей версии прошивки в 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 — это и есть нужный нам образ.
    Файл прошивки