Прошивка модема huawei e3372h

4. Полезные и интересные АТ-команды и настройка конфигурации модема

NVRAM

В модеме имеется хранилище различной конфигурационной информации — NVRAM. Оно организовано в виде набора записей переменной длины. Каждая запись имеет номер — от 0 до 65535, но не все номера записей физически присутствуют в модеме.
Чтобы узнать длину конкретной записи, используется команда:

— номер записи. В ответ модем выдает ее длину:

Посмотреть содержимое конкретной записи можно командой:

— смещение от начала записи до интересующего нас фрагмента (0 — с начала)
— длина выводимого фрагмента, должна быть не больше полной длины записи минус смещение.

Пример:

Поиск базовых станций сотовой связи

Данный модем обладает уникальным свойством — он умеет делать поиск всех окружающих базовых станций (БС). Причем не только БС оператора вставленной в него симкарты, а вообще все БС всех операторов, сигнал от которых достигает антенны модема. Для каждой найденной БС выводится ее CID и уровень принимаемого от нее сигнала. Это позволяет выбрать оператора с наивысшим уровнем сигнала, а также выбрать конкретную БС для наведения на нее внешней антенны. Единственный недостаток данного модема — он умеет искать только БС 2G и 3G. LTE-соты искать он не умееет.

Если в округе имеется сигнал LTE, то следует перевести модем в режим 2G3G командой AT^SYSCFGEX=»0201″,3FFFFFFF,1,2,800C5,, или в настройках веб-интерфейса.
Также обратите внимание, что эту команду можно ввдить только через порт управления (PCUI). Если ее ввести через порт, предназначенный для установки РРР-соединения (modem), то команда будет выдавать пустой ответ (просто ОК и все).
Формат команды:
AT^NETSCAN=num,level,mode
num — число находимых БС, от 1 до 20

Если будет найдено больше num БС, то станции с самым слабым сигналом будут исключены из списка
level — минимальный уровень сигнала БС, включаемых в список. Задается в дБ, от -110 (самый низкий уровень) до -47 (самый высокий уровень). Станции с уровнем сигнала меньше level в список включаться не будут.
mode — тип БС. 0 -поиск 2G-станций, 1 — поиск 3G-станций.

Пример команды:

В этом примере заказывается поиск 3G БС с уровнем сигнала не ниже -108 дБ. Результат выдается в виде списка, отсортированного по уровню сигнала. Самая верхняя БС — самая мощная, нижняя — самая слабая. Формат элемента списка:

По результатам данного примера можно сделать вывод, что самый сильный сигнал в данной местности — у МТС, а антенну надо направлять на БС с CID=8b77 LAC=1e7e. Координату БС можно посмотреть на сайте xinit.ru.

2. Balong Flash / Прошивка под mac, linux, windows

Для прошивки под Linux используется утилита balong_flash.

  • https://github.com/forth32/balongflash (Программа для прошивки модемов фирмы Huawei на чипсете Balong v7)
  • https://github.com/forth32/balong-fbtools (Утилиты для работы с flash модемов на платформе Balong)
  • https://github.com/forth32/balong-usbdload (Утилита для аварийной USB-загрузки модемов на чипсете Balong V7)
  • https://github.com/forth32/balong-nvtool (Утилита для обработки образов NVRAM устройств на чипсете Hisilicon Balong)

В отличие от Linux, нa Macintosh адрес, скорее всего, будет не , а .

Достоверно узнать адрес устройства можно с помощью команды .

TL;DR

Что я сделал, чтобы подружить модем с антенной?

  1. Взял стоковый модем, запустил виртуалку 2015 года с WindowsXP (песочницу), там уже были дрова Huawei, но в Мобильном ассистенте общаться с модемом не удалось.
  2. Скачал c 4pda Pupdatewiz и подходящую прошивку.
  3. Запустил Pupdatewiz — вуаля!

После прошивки стало:

  1. Выключил винду, на маке использовал mode_switch и переключил модем на вечный debug mode.
  2. Снова загрузил винду, в ней стал доступен Терминал.exe.

Вот этими командами восстанавливается убитая в ходе прошивки имеюшка. Тут как повезет либо , либо . Первая команда, как я понял, не всегда доступна, для успешного использования в второй надо предварительно воспользоваться утилитой imei_converter и вместо нулей записать то что надо. Команда нужна имхо для применения долгосрочной записи в NVRAM.

Код imei_converter.c приведен ниже:

#include <stdio.h>
#include <string.h>

int main(int argc, const char *argv[]) {
    int i;
    const size_t imei_length = 15;

    if (argc == 2 && strlen(argv) == imei_length)
    {
        for (i = ; i < imei_length; i++)
        {
            printf("0%i ", argv - '0');
        }

        printf("00");

        return ;
    }
    else
    {
        printf("Usage: imei_converter imei\n");
        return -1;
    }
}
  1. На фоне модем плевался мне подобными сообщениями в терминал:

Последнее событие — событие IMSI Attach.

  1. Но под виндой сидеть было грустно. После перепрошивки на маке/линуксе можно сделать telnet 192.168.8.1 и засылать AT-команды в либо просто слушать

Первый способ — если не нужен интерактив

Второй способ — двухсторонний обмен с модемом, он не очень удобен, т.к. обычно происходит много событий.

Наиболее удобная для меня система — слушать события в отдельном терминале, а в другом кидать команды:

  1. RSRP, SINR и все-все-все

RSRP – средний уровень сигнала принимаемого с базовой станции оператора. Измеряется по логарифмической шкале в дБм (dBm) и отображается в виде отрицательных значений. Чем значение ближе к нулю, тем выше уровень принимаемого сигнала. Например, значение сигнала RSRP равное -65 dBm, намного лучше, чем значение -97 dBm.

SINR — отношение уровня полезного сигнала к уровню шума (соотношение сигнал/шум). Измеряется в дБ (dB). Чем выше данное значение, тем лучше качество сигнала. При значениях SINR ниже 0 скорость подключения будет очень низкой, т.к. это означает, что в принимаемом сигнале шума больше, чем полезной части.

Считается, что параметр сигнал\шум (SINR) в ряде случаев может быть важнее, чем уровень сигнала. При SINR в интервале 15-20 (dB) модем выдаст все, на что способна данная БС, даже при посредственном, около -70…-80 dBm, уровне RSRP, если сама БС окажется не перегружена в момент тестирования.

Показатели качества принимаемого сигнала

Значения параметров RSSI SINR (Ec/Io)
Отличные -30…-50 dBm 30 dB и выше
Хорошие -50…-70 dBm от 20 dB до 30 dB
Удовлетворительные -70…-85 dBm от 10 dB до 20 dB
Плохие -85…-110 dBm менее 10 dB
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector