Как включить режим сети только 2G и 4G на Андроид? 🔥
Зачем включать только приём GSM и LTE, если можно просто поставить режим сети «Auto» и не париться с этим!? Всё очень просто, — если режим сети стоит на автоматическом и при этом нужно позвонить, либо ответить на входящий звонок – смартфону необходимо переключиться из сети 4G в сеть 3G (или 2G). Потому что, голосовая связь работает по сетям 2G и 3G, но при этом в 4G голосовые вызовы не работают!
Надеюсь не запутались… 😀 Так зачем же тогда переключать режим сети в 2G/4G? Делается это для того, чтобы интернет работал на высоких LTE скоростях и исключить потерю сигнала в сети 3G, если прием его неуверенный, например, как у нас на работе происходит – установлен усилитель сигнала сетей 2G и 4G на частоте 1800 МГц, вот такой, кстати это не реклама, но реально хороший аппарат, интернет на LTE летает и работает сразу после подачи питания!
При этом сеть 3G не усиливается…
В момент входящего звонка смартфон переключается из 4G в 3G, однако силы сигнала недостаточно и собеседника и меня не слышно, связь обрывается, что очень неудобно! Как быть? Всё просто – выставить режим сети 2G/4G, но возникает проблема – в настройках андроид такого именно пункта нет, что же делать?
Для этого есть простенькая программа Network Mode, которая сразу открывает в Андроид «Информацию об устройстве» и позволяет изменить настройки сетей, которых нет в стандартных настройках смартфона.
Настройка Network Mode на Андроид
Бесплатная и доступная в плеймеркете программа Network Mode очень простая в использовании, скачиваете её из GooglePlay или с нашего сайта бесплатно:
После загрузки и установки на андроид, запускаете её и видите вот такую информацию:
Здесь нас интересует только лишь строчка: «Настроить предпочтительный тип сети»
Чтобы выбрать режим сети 2G/4G нужно указать строчку: LTE/TD-SCDMA/GSM (как на скриншоте выше);
Эта настройка и отвечает за выбранный тип сети GSM и ЛТЕ, которые будут работать до первой перезагрузки смартфона, это нужно учесть!
Также стоит отметить, что ничего другого не изменяйте, иначе можно вообще без связи остаться и не поможет даже перезагрузка! Так что будьте внимательнее!
Способ изменить режим сети без программ
Программа Network Mode по сути является быстрым переходом в скрытый раздел «Информацию об устройстве», поэтому это скрытое меню можно открыть и без приложения. Для перехода в скрытый раздел информации об устройстве достаточно набрать в стандартной «звонилке» код:
*#*#4636#*#*
Появится вот такое окно:
- Информация об устройстве 1;
- Информация об устройстве 2;
- Информация Wi-Fi
Цифра означает номер симкарты, на которой необходимо выставить желаемый тип сети. У меня это – первая симкарта, ну а далее всё как через приложение: указываем строчку: LTE/TD-SCDMA/GSM и можно выходить из этих настроек.
Как видите – ничего сложного, зато теперь, интернет будет работать только в 4G на высокой скорости, а при входящем/исходящем вызове, голосовая связь не будет прерываться , а сразу переключаться из LTE в 2G, пропуская при этом сеть H (H+)!
Надеюсь информация Вам пригодилась и понадобится, всем всего хорошего!
Источник
Запускаем GSM-сеть у себя дома
В данной статье я хотел бы подробно описать, как мне удалось запустить собственную GSM сеть при помощи Osmocom и скромных вложениях в оборудование.
Инструкции на официальном сайте устарели и мне пришлось потратить довольно много времени на их адаптацию. К счастью все проблемы были решены, и, если вы будете строго следовать советам ниже, то и у Вас все получится.
В результате мы запустим экспериментальную 2G сотовую сеть в пределах комнаты с поддержкой СМС и голосовых вызовов, без GPRS. Ее можно будет использовать для изучения работы и взаимодействия устройств и компонентов GSM сети, не вмешиваясь в коммерческие сотовые сети.
Внимание!
Автор не несет никакой ответственности за действия других пользователей, их вмешательство в коммерческие GSM сети и порчу собственного оборудования. Прежде чем что-либо запускать, убедитесь, что Вы понимаете, что делаете.
UPD: Если вы сталкиваетесь с проблемами при сборке или при использовании моих конфигурационных файлов, я рекомендую установить все, что можно из deb-пакетов Nightly Builds на более новую ОС. Для сборки osmocombb (ветки jolly/testing) ветки вам понадобится старый toolchain, о чем я писал ниже по тексту. Я устанавливал все на Debian 9 (32 бита), нет проблем с libdbi и чем-то еще, ставите те зависимости, которые предлагает apt. При сборке toolchain-а могут возникнуть проблемы с texinfo. В скрипте axilirator уже есть пара патчей для этого, но для Debian 9 мне потребовались еще правки в gcc/doc/gcc.texi.
Железо и Софт
- Компьютер с установленной 32-битной Ubuntu 14.04 (Не виртуалка)
- 2 телефона на чипсете TI Calypso (Motorola c113, c118, c123, . )
- 2 USB-TTL конвертера
- 2 провода (джек 2.5 мм + джемперы)
Софт
- Трансиверы на основе OsmocomBB
- Базовая станция на основе OsmoBTS
- Контроллер базовых станций на основе OsmoBSC
- MSC,HLR, СМС-центр на основе OsmoNTIB
Закупаемся
Телефоны на чипсете TI Calypso проще всего будет поискать на сайтах бесплатных объявлений в Вашем городе. Цена варьируется от 300 до 700 рублей в зависимости от состояния и наличия зарядного устройства. Вероятность купить в России телефон, предназначенный для западных GSM диапазонов очень мала, но если Вы решите покупать его за границей, то рекомендую обратить внимание на рабочие GSM диапазоны. Вам нужны телефоны, работающие с 900 Мгц и 1800 Мгц, если Вы проживаете в России.
Список поддерживаемых моделей можете посмотреть тут.
Возможно есть и другие совместимые телефоны, в частности, Motorola c113 и c113a полностью совместимы с OsmocomBB, хоть и не представлены на официальном сайте.
SIM-карты не нужны.
USB-TTL конвертеры могут работать на чипах CP2102, FT232 или PL2303.
Я рекомендую использовать CP2102 так как при помощи специализированной утилиты можно заставить работать этот конвертер на нестандартных скоростях, что требуется для некоторых веток OsmocomBB.
Приобрести его можно от 100 рублей на ebay или aliexpress, либо в 2-3 раза дороже в более-менее крупных магазинах радиоэлектроники. Второй вариант предпочтительнее, если Вы не хотите ждать.
Провод, соединяющий компьютер с телефоном может выглядеть по-разному, но я рекомендую купить 2.5 мм джек в магазине радиодеталей
UPD: На фото, как позже заметили, изображен джек с 4 пинами, вам нужен с 3, самый обыкновенный!
и провода с коннекторами, вроде тех, что часто используют для Arduino или Raspberry Pi.
При отсутствии вторых, можно придумать что-то свое. Ваша задача соединить выводы Tx, Rx, GND конвертера с контактами джека следующим образом:
TxD подключить к наконечнику джека
RxD подключить к среднему контакту джека
GND подключить к нижнему контакту джека.
Можно взять связку из трех проводов, откусить коннекторы с одного конца и припаять оставшиеся провода с коннекторами на одном конце к выводам джека.
Обратите внимание, что для запуска сети с поддержкой голосовых вызовов вам потребуется 2 телефона, 2 конвертера и 2 готовых провода.
Неочевидная проблема
После покупки джека убедитесь, что он может быть вставлен в гнездо гарнитуры до конца. В противном случае вы можете получить ошибки из-за ненадежного соединения с телефоном или вовсе его не иметь.
Джеки, которые чаще всего продаются в магазинах радиодеталей не вставляются в гнездо до конца, т.к. им мешает корпус (свой/телефона).
Чтобы убедиться, что джек входит до конца, можно достать телефон из корпуса и попробовать вставить джек.
Если Вы поздно поняли, что корпус мешает джеку, то придется вооружиться пассатижами и напильником, включить смекалку и изменить корпус джека или телефона так, чтобы контакт был надежным.
Вы можете проверить надежность соединения при помощи PuTTY. Узнать номер COM порта можно заглянув в Диспетчер устройств.
Подключаем телефон к компьютеру через USB-TTL конвертер и собранный провод, коротко нажимаем на кнопку включения и в окне PuTTY должно появиться сообщение @ftmtoolerror среди прочих символов.
То же самое можно сделать под Linux при помощи minicom.
Установка
Как и сказано в начале, я рекомендую использовать Ubuntu 14.04, именно 32-битную ее версию. Возможно у Вас получится все установить и на 64-битную Ubuntu 16.04, но тогда Вам придется самостоятельно решать все проблемы с зависимостями при установке и совместимостью с ветками проектов Osmocom.
Также, Вы можете попытаться использовать виртуальную машину, но мне так и не удалось получить устойчивую связь на гостевой ОС. Возможно, проблемы возникают на уровне виртуализации USB порта.
Вы можете использовать виртуальную машину для работы с osmocombb и его отдельными приложениями, но если дело касается запуска GSM сети, я советую не использовать виртуализацию.
Установим базовые пакеты, которые нам потребуются для сборки Osmocom.
Устанавливаем библиотеку libosmocore
Для сборки программ для телефона нам потребуется кросс-компилятор toolchain. На официальном сайте сейчас представлена более новая версия, но с ней не будут работать старые ветки osmocombb, которые писались под старый компилятор.
Конечно, можно слегка поправить код и исправить ошибки, возникающие при компиляции новым toolchain, но я оставляю это за рамками данной статьи и рекомендую воспользоваться следующим скриптом для установки кросс-компилятора.
Процесс может занимать продолжительное время, вплоть до нескольких часов. Будьте терпеливы и убедитесь что на файловой системе свободно как минимум 3 Гб.
После завершения компиляции добавьте путь к исполняемым файлам в PATH, в моем случае /root/osmocom/gnu-arm-installer/install/bin
Master-ветка нам участвует в запуске GSM сети, но она будет полезна, если Вы захотите поработать с другими приложениями, такими как RSSI или cell_log (см. дальше по тексту).
Если Вы хотите иметь возможность что-либо отправлять в сеть, нужно раскомментировать в src/target/firmware/Makefile строку:
Устанавливаем пакет FFT
Устанавливаем библиотеку libosmo-dsp
Собираем ветку osmocombb для OsmoBTS
Нужно раскомментировать в target/firmware/Makefile строку
Устанавливаем libdbi для sqlite
В драйвере есть опечатка, которая приведет к ошибкам во время подключения к HLR. Исправляем перед компиляцией.
Меняем _dbi_internal_error_handler на _dbd_internal_error_handler .
Устанавливаем библиотеку libosmo-abis
Устанавливаем библиотеку libosmo-netif
Я работаю с Osmocom из под root, поэтому мои файлы конфигурации находятся в /root/.osmocom
Далее есть два варианта:
- Скачать мануалы по OsmoNTIB и настроить все самостоятельно
- Вместо пустых файлов использовать мои, модифицировав под свои нужды.
Мои конфигурационные файлы osmo-bts.cfg и open-bsc.cfg находятся в конце статьи.
Я намеренно убрал из файлов настройку (band) для GSM диапазона и ARFCN.
ARFCN — радио канал на котором будет работать ваша базовая станция.
Подходящий ARFCN можно найти при помощи программы RSSI, пакета osmocombb, либо при помощи инструмента cell_log.
Помните, что сигнал от Вашей базовой станции не должен мешать сигналам коммерческих GSM сетей. В зависимости от того, какой канал Вы будете использовать, выбираете band.
Чтобы гарантированно ограничить сигнал от своей базовой станции, Вы можете соорудить Клетку Фарадея. Правда в случае с Calypso BTS не будет возможности получить SCH bursts от коммерческой соты. Тогда нужно придумать (и модифицировать код), как вести точный отсчет.
Без внесения ARFCN и band в мои конфигурационные файлы, OsmoNTIB не запустится.
Запуск
Подключаем оба телефона к компьютеру и проверяем их доступность.
Вы должны увидеть ttyUSB0 и ttyUSB1.
Далее каждую команду нужно выполнять в отдельном терминале.
В синтаксисе osmocon у Вас могут быть отличия. Например в вашем случае может быть compal_e86 или e87 и не c123xor, а что-то другое.
Инициализируем первый трансивер
Коротко нажимаем на кнопку включения телефона, который был подключен первым. После окончания загрузки на экране телефона Вы увидите надпись TRX.
Инициализируем второй трансивер
Коротко нажимаем на кнопку включения телефона, который был подключен вторым. После окончания загрузки на экране телефона Вы увидите надпись TRX.
Настраиваем трансиверы на следование таймеру коммерческой BTS
Вместо ARFCN вы должны указать номер канала, на котором работает коммерческая базовая станция с хорошим сигналом. Опять же, может быть найдена при помощи RSSI или cell_log.
Запускаем MSC, HLR и СМС-центр
Запускаем базовую станцию
Все компоненты GSM сети теперь должны быть в рабочем состоянии и Вы готовы стать первым абонентом!
Тестирование
Теперь Вы можете подключиться к сети с любого сотового телефона, выбрав ее в ручном режиме. Сеть отобразится как 00101 или TestNet. Сеть может находиться не с первого раза.
Если во время подключения что-то пошло не так, включите авиа режим, выключите и попробуйте еще раз подключиться к сети.
После подключения узнать свой номер можно при помощи USSD кода *#100#.
Подключиться к консоли OsmoNTIB можно так
Подключиться к консоли OsmoBTS можно так
На этом все. В следующей статье я расскажу, как можно исследовать трафик мобильных устройств при помощи сниффера wireshark.
UPD: Про добавление поддержки GPRS читайте тут
Конфигурационные файлы
UPD: пишут много вопросов — практические примеры создания базовой станции и анализ мобильного трафика я расскажу и покажу (на стенде) на Pentestit Security Conference в своем докладе: «Имплементация стека протоколов GSM».
Источник