Вы находитесь на странице: 1из 9

Сканер сотовой сети 2G/3G/4G

Full House Интегратор

Главная
Статьи
Сканер сотовой сети 2G/3G/4G

Очень часто, при установке GSM-репитера или LTE направленной антенны, требуется знать уровень сигнала от базовых
станций всех операторов, а также их местоположение. Хочется иметь устройство с одной кнопкой, при нажатии которой
будет сканироваться эфир и выводиться список всех базовых станций неподалеку, упорядоченных по ухудшению сигнала.
Конечно, можно с собой возить все симки от всех операторов и переставлять их по очереди в телефон, но это, как
минимум, не профессионально, да и приходится постоянно следить за балансом, что зачастую накладывает свои
ограничения.

Быстрый гуглинг на эту тему не принес никакого результата, я не нашел профессиональных решений, но возможно, даже
если они есть, они будут стоить как крыло самолета. Поэтому было решено сделать сей девайс самому. Ну что же,
приступим!

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

Так как очень часто для организации LTE интернета у заказчиков мы используем связку модем E3372 от Huawei и мини-
роутер GL Inet, которая к слову сказать, очень хорошо себя зарекомендовала, то в один момент наткнулся на интересную
AT команду для этого модема - AT^NETSCAN. Данная команда позволяет получить список окружающих базовых
станций ВСЕХ операторов, независимо от того, какая симка установлена в свисток. Более того, данная команда работает
даже без симки. Единственное ограничение - это поддержка диапазонов 2G и 3G, 4G не поддерживается. Просмотрев всю
линейку LTE модемов от Huawei, я нашел поддержку сканирования 4G диапазона только у модема ME909S в форм
факторе Mini PCIe.
Для подключения данного модема по USB потребуется дополнительный адаптер, которых навалом на aliexpress. Мы
выберем переходник в корпусе с двумя выносными SMA-разъемами для удобного подключения к всенаправленным
антеннам. По сути, на платке адаптера разведен слот под сим карту и организовано питание 3.3V для питания LTE
модуля.
В качестве головного устройства выберем все тот же мини-роутер от компании Gl Inet MT300N. Основная уникальность
роутеров от этой компании заключается в предустановленной операционной системе OpenWrt, которая дает большие
возможности по настройке, кастомизации и обеспечивает колоссальную стабильность в работе.

Итак, подключим LTE модем к роутеру по USB и приступим к настройке, готовая сборка выглядит следующим образом:
Как упоминалось выше, на роутере уже предустановлен OpenWrt и все пакеты для общения с модемом по USB. Зайдем на
роутер по SSH, и установим пару недостающих пакетов:
opkg update
opkg install openssh-sftp-server nano minicomshellКопировать

Данный модем определяется как пять устройств [ttyUSB0-ttyUSB4]. ttyUSB0 используется для поднятия соединения с
интернетом, а вот ttyUSB2 используется как раз для AT-команд. Подключимся с помощью minicom к порту ttyUSB2, для
этого вызовем окно настроек minicom:
Подключившись, сразу видим отладочные сообщения о сети, которые спамят нам консоль. Отключаем их командой
AT^CURC=0, в ответ должно прийти сообщение OK. Давайте для примера исполним несколько команд, чтобы понять
возможности AT терминала. Запросим IMEI и информацию о текущем подключении. Для этого воспользуемся командами
AT CGSN и AT^HCSQ? Если хочется поиграться, то полный список доступных AT команд с описанием доступен на сайте
производителя.

Итак, для получения информации о базовых станциях служит команда AT^NETSCAN, но для ее правильного исполнения
необходимо сначала указать модему, с какими типами сетей (GSM/UMTS/LTE) и диапазонами работать. Для этого
используется команда AT^SYSCFGEX.

Формат команды такой:

AT^SYSCFGEX=<net_order>,<band>,<roaming>,<srvdomain>,<lteband>,<reserve1>,<reserve2>

<net_order>- список предпочтения типов сети. Допустимые значения:

00 - все типы сетей


01 - только 2G
02 - только 3G
03 - только 4G
99 - оставить значение без изменений

Коды можно комбинировать. Например "0302" - предпочтение LTE -> 3G

<band>- код допустимых диапазонов для сетей 2G/3G. Возможные значения:

80 - GSM DCS systems


100 - Extended GSM 900
200 - Primary GSM 900

80000 - GSM 850

100000 - Railway GSM 900


200000 - GSM PCS
400000 - WCDMA IMT 2100
800000 - WCDMA_II_PCS_1900
2000000 - AWS
4000000 - WCDMA_V_850
8000000 - WCDMA_VI_800
2000000000000 - WCDMA_VIII_900
4000000000000 - WCDMA_IX_1700

1000000000000000 - WCDMA_XIX_850

00680380 - Automatic

3FFFFFFF - все диапазоны

Каждый из кодов представляет собой шестнадцатеричное (HEX) число. Для задания комбинации диапазонов надо
сложить соответствующие коды. Например, для задания диапазонов GSM 850,

WCDMA IMT 2100, WCDMA_V_850 надо вычислить 0x80000 0x400000 0x4000000=0x4480000. Это и будет
результирующий код диапазона - 4480000.

<roaming> - разрешение работы модема в роуминге: 0 - запретить, 1 - разрешить.

<srvdomain> - оставить 2 (CS_PS)

<lte_band> - код допустимых диапазонов LTE, список большой, приведу лишь диапазоны, поддерживаемые модемом:

1 - LTE BС1
2 - LTE BC2
4 - LTE BC3
8 - LTE BC4
10 - LTE BC5
40 - LTE BC7
80 - LTE BC8
80000 - LTE BC20
8000000 - LTE BC28

2000000000 - LTE BC38

8000000000 - LTE BC40

10000000000 - LTE BC41

7FFFFFFFFFFFFFFF- все диапазоны

Итак, разобрались, для перевода модема в 2G/3G/4G соответственно используем следующие команды:
AT^SYSCFGEX="01",3FFFFFFF,1,2,7FFFFFFFFFFFFFFF,,
AT^SYSCFGEX="02",3FFFFFFF,1,2,7FFFFFFFFFFFFFFF,,
AT^SYSCFGEX="03",3FFFFFFF,1,2,7FFFFFFFFFFFFFFF,,shellКопировать

После получения команды на смену диапазона, модем пройдет перерегистрацию в заданной сети, на что обычно уходит
примерно 10-20 сек, после этого он радостно оповестит об этом, прислав OK.

Осталось разобраться с командой AT^NETSCAN, данная команда имеет следующий формат:

AT^NETSCAN=<num>,<level>,<mode>, где

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

Пример команд для сканирования 2G/3G/4G диапазонов соответственно:


AT^NETSCAN=20,-110,0
AT^NETSCAN=20,-110,1
AT^NETSCAN=20,-110,3shellКопировать

Довольно теории, попробуем запросить список LTE базовых станций у модема, для этого явно укажем диапазон работы
LTE и выполним команду сканирования. Внимание! Перед поиском требуется убедиться, что интернет-канал отключен.
AT^SYSCFGEX="03",3FFFFFFF,1,2,7FFFFFFFFFFFFFFF,,
AT^NETSCAN=20,-110,3shellКопировать

Подождав 20-30 сек получаем заветный лог:

1. ^NETSCAN: 6175,,,6CC0,250,20,0,-67,BD02B51,80000,,266
2. ^NETSCAN: 3400,,,6CC0,250,20,0,-77,BD02B15,40,,171
3. ^NETSCAN: 1301,,,881,250,99,0,-88,BC3D908,4,,487
4. ^NETSCAN: 6413,,,881,250,99,0,-97,BC8A302,80000,,255
5. ^NETSCAN: 6350,,,13C1,250,02,0,-101,7AA9C03,80000,,241
6. ^NETSCAN: 1802,,,455A,250,01,0,-102,2D470D,4,,375
7. ^NETSCAN: 2850,,,13C1,250,02,0,-104,BC88202,40,,403
8. ^NETSCAN: 1602,,,13C1,250,02,0,-106,BC88205,4,,367

Немного поясню формат вывода данной команды, на примере первой найденной БС из списка:

^NETSCAN: 6175,,,6CC0,250,20,0,-67,BD02B51,80000,,266

6175 - частота
6СС0 - LAC станции
250 - MCC (Россия)
20 - MNC (В данном случае - TELE2). 01 - МТС, 02 - Мегафон, 99 - Билайн. Полный список MNC
0 - код индентификации 2G БС (ДЛЯ 3G/4G всегда будет 0)
-67 - уровень сигнала данной БС в дб
BD02B51 - CID станции
80000 - диапазон, в котором принимается сигнал БС (в данном случае LTE BC20)
266 - физический ID БС в сети LTE

По результатам данного сканирования можно сделать вывод, что наилучший сигнал LTE в данной местности у TELE2, а
антенну нужно направить на БС с CID = BD02B51 и LAC = 6CC0. Координату БС можно посмотреть на сайте xinit.ru или
через их телеграм бота @xinitbot.

Вот таким нехитрым образом можно узнать об окружающих нас вышках сотовых операторов и выбрать лучшего оператора
в данной местности.

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

Хочешь умный дом но нет времени разбираться?


Посмотри примеры работ и выбери себе интегратора.

К списку статей

Россия, г. Москва

+7 495 199-15-81

ТОП авторов
Россия, г. Нижний Новгород

Россия, г. Санкт-Петербург

Похожие статьи

18 февраля 2020, 17:06

В данной статье описывается сборка слаботочного эл. щита на базе Wiren Board 6, а так же силового щита для небольшой
квартиры.

01 октября 2019, 07:07

"У всякого в умном дому неведомо никому" (с) Народная мудрость


03 апреля 2019, 04:29

Разбираем простейшую задачу по электрическому подключению светодиодной ленты к источнику питания и управлению
через Умный дом.

04 апреля 2019, 08:22

Личная жизнь мешает увлечению "умным домом"? Есть решение!

08 апреля 2020, 11:32

Голосовые уведомления через Xiaomi Gateway, Home Assistant и HomeKit. Пример реализации, кейсы применения.

09 января 2019, 17:34

Небольшая статья о том, зачем нужна малина, почему автоматизации в HomeKit это не очень хорошо и чем USB стик
лучше отдельного шлюза.

04 апреля 2019, 17:48

Расскажу о том за ~1 час перевезти УД с 2мя USB стиками с Raspberry PI на Synology NAS.

06 сентября 2019, 17:03

Кладём на лопатки NodeRed и HomeAssistant с помощью iOS 13.1 и Siri Shortcuts.

11 марта 2019, 20:13

Пользование устройствами начального уровня, такие как лампы, датчики, мойка и пылесос. Опыт эксплуатации и мнение
на счет необходимости покупки устройств.

20 мая 2020, 08:15

Общие рекомендации по созданию красивого 3D плана вашей квартиры или дома в Home Assistant.