Прошивка Open Linux в Simcom SIM7600E

Решил немного более полно раскрыть процедуру прошивки модемов SIM7600 с Open Linux, а то прошлая статья как будто вырвана из контекста. С 4G модемами Simcom SIM7600E можно работать двумя способами, первый это с помощью AT команд с хоста, либо микроконтроллера, на стандартной прошивке и, второй, на прошивке с Open Linux. Тут наверное стоит остановиться и сказать, что не все ревизии поддерживают Open Linux прошивку.

  • SIM7600E — LTE CAT1, не поддерживает Open Linux;
  • SIM7600E-H — LTE CAT4, поддерживает Open Linux;
  • SIM7600E-L1C — LTE CAT1, урезанная по памяти версия, не поддерживает Open Linux;
  • SIM7600E-L2C — LTE CAT1, поддерживает Open Linux.
    Думаю есть и другие ревизии, но я знаю только про эти.

Установка требуемого программного обеспечения

Прежде чем приступить к самому процессу, необходимо установить требуемое программное обеспечение. Установка производится на Windows, для Linux у меня запустить все это не получилось, к сожалению, хотя я пытался, может быть как-нибудь выложу статью с этим неудачным опытом (пишите в комментариях, если интересует)

  1. SDK Platform Tools, качается по следующей ссылке.

Копируем директорию с ADB в корень диска C: и добавляем путь в PATH переменную среды. Перезагружаем компьютер. После перезагрузки можно легко проверить корректно ли работает ADB, открыв командную строку (Win+R → cmd) и набрав команду adb version. Получим такой результат:

  1. Также понадобится утилита для прошивки QDL версии 1.61 или новее. Саму утилиту можно запросить у Simcom последнюю версию, здесь же выложу архив с той версией, которая есть у меня. Директорию с программой необходимо распаковать в корень диска C.

Подключение модуля GSM модема к компьютеру

Чтобы подключить к хосту модуль необходимо, чтобы на вашей плате был USB разъем, подключенный к соответствующему интерфейсу модуля SIM7600, на одной из моих плат это выглядит вот так:

Подключение осуществляется USB шнуром в разъем micro USB на плате модуля GSM, подписанным как FW UPDATE. После подачи питания просто зажимаем кнопку PWR на плате модуля GSM на пару секунд. В моем случае кнопка PWR подключена к 3 пину модуля, который называется PWRKEY.

Установка драйверов

После подключения модуля к хосту в Диспетчере устройств появится несколько неопознанных устройств, для них необходимо установить драйвера. Сами драйвера и все остальные утилиты я выложу архивом в конце статьи.

Прошивка firmware

Версия прошивки модема должна поддерживать OpenLinux. С помощью команды ati можно проверить информацию о версии, если в ответе есть ключевое слово OL, то значит прошивка поддерживает OpenLinux.
Прошивка firmware осуществляется программой QDL (находится в архиве). Работает она максимально просто. Жмем в меню Load, выбираем свой модем, далее диалог выбора директории с прошивкой (данный выбор директории с прошивкой необходимо проделывать каждый раз при запуске программы). После чего в меню жмем Start и включаем модем, начинается процесс прошивки, в процессе прошивки модем перегружается несколько раз и в Диспетчере устройств могут появляться новые устройства, на которые необходимо устанавливать драйвера.

Open Linux подразумевает, что нам нужно будет иметь доступ Linux окружению, для этого используется ADB. Необходимо активировать интерфейс USB ADB, который в модуле отключен по умолчанию. Сделать это можно, отправив команду AT+CUSBADB=1 в AT-порт модуля и после перезагрузить его командой AT+CRESET. Обязательно должен быть установлен чекбокс +CR рядом с кнопкой Send. На скриншоте выше, AT-порт модуля обозначен как SimTech HS-USB AT Port 9001 (COM8) в Диспетчере устройств Windows. Таким образом, чтобы отправить команду в порт необходимо воспользоваться терминальной утилитой, которая также находится в архиве с инструкцией.

В итоге получим нужный интерфейс в диспетчере устройств:

На этом прошивка собственно закончена и теперь у нас есть доступ к Linux окружению и можно например закачать свое приложение. Для этого подключаем модуль к хосту, проверяем, что ADB его видит командой adb devices

Допустим у вас уже есть бинарный файл вашего приложения, который вы собрали с использованием Open Linux SDK (в будущих статьях коснусь и этой темы) и теперь вы его хотите загрузить в файловую систему модуля. Отправить файл в директорию /data (в данную директорию смонтирован раздел для пользовательских данных) можно командой

C:\>adb push app /data

Консоль сообщит следующее

C:\app: 1 file pushed, 0 skipped. 151.4 MB/s (838900 bytes in 0.005s)

Это значит, что файл был успешно отправлен в модуль. Также можно зайти в окружение командой adb shell и запустить наше приложение.

$ adb shell
% chmod 777 data/app
% ./data/app

Архив с драйверами

На этом все, подписывайтесь в telegram на мой канал.