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

Материал из Wiren Board
 
(не показано 18 промежуточных версий 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 команду]].


выполните (подставив нужное имя прошивки) в этой папке:
Например, в примере ниже версия прошивки B05:
<syntaxhighlight lang="batch">
<syntaxhighlight lang="at">
FBFMake.exe -r A7600E-HNVW_NOR.blf -f output
at+cgmr
+CGMR: A39C4B05A7600M7
</syntaxhighlight>
</syntaxhighlight>


[[Image: 7600_Flash_cmd_fbfmake.png |600px| Процесс перепаковки ]]
== Определение текущей версии прошивки в Debian Bullseye ==


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


забрать из папки output файл BinFile.bin - это и есть требуемый образ.
[[Image: 7600_mmcli.png |600px| mmcli ]]
 
[[Image: 7600_Flash_output_binfile.png |600px| Файл прошивки ]]


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


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


Дождитесь запроса “connect USB interface”:
== Возможные проблемы в процессе ==
Прерывание прошивки. В этом случае модем при подаче питания будет запускать бутлодер, но это всё, что он будет делать. Лечится повторной прошивкой по обычной процедуре.


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


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


[[Image: 7600_Flash_process.png |600px| Процесс прошивки ]]
Подготовка прошивки:
 
# Распакуйте архив в корень диска.
[[Image: 7600_Flash_wbgsmon.png |300px| Остановите wb-gsm]]
# Скопируйте в папку с распакованной прошивкой утилиту FBFMake.exe.
 
#:[[Image: 7600_Flash_unpacked.png |600px| Распакованная прошивка ]]
Дождитесь отчета об успехе процедуры прошивки
# Выполните (подставив нужное имя прошивки) в этой папке:
 
#:<syntaxhighlight lang="batch">
[[Image: 7600_Flash_success.png |600px| Окончание прошивки ]]
FBFMake.exe -r A7600E-HNVW_NOR.blf -f output
 
Перезагрузите wb, а затем выполните wb-gsm on
 
<syntaxhighlight lang="bash">reboot
</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 — это и есть нужный нам образ.
    Файл прошивки