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

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


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


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


Подготовка прошивки:
Например, в примере ниже версия прошивки B05:
# Распакуйте архив в корень диска.
<syntaxhighlight lang="at">
# Скопируйте в папку с распакованной прошивкой утилиту FBFMake.exe.
at+cgmr
#:[[Image: 7600_Flash_unpacked.png |600px| Распакованная прошивка ]]
+CGMR: A39C4B05A7600M7
# Выполните (подставив нужное имя прошивки) в этой папке:
#:<syntaxhighlight lang="batch">
FBFMake.exe -r A7600E-HNVW_NOR.blf -f output
</syntaxhighlight>
</syntaxhighlight>
#:[[Image: 7600_Flash_cmd_fbfmake.png |600px| Процесс перепаковки ]]
 
#:[[Image: 7600_Flash_cmd_fbfmake_success.png |400px| Успех перепаковки ]]
== Определение текущей версии прошивки в Debian Bullseye ==
# В папке <code>output</code> файл <code>BinFile.bin</code> — это и есть нужный нам образ.
 
#: [[Image: 7600_Flash_output_binfile.png |600px| Файл прошивки ]]
Сервис ModemManager позволяет получить информацию о модеме и прошивке с помощью команды <code>mmcli -m any</code>
 
[[Image: 7600_mmcli.png |600px| mmcli ]]


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


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