Создание собственной сети AMPS: практическое руководство с использованием SDR

  • Автор: MaFrance351

Стандарт сотовой связи AMPS, как и его аналог NMT-450, оставил яркий след в истории телекоммуникаций России. Многие до сих пор помнят телефоны, работавшие в этих сетях.

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

❯ Введение в тему


Интерес к ретро-электронике, включая старые мобильные телефоны, не угасает. Хотя автор больше увлекается аппаратной частью и предпочитает КПК и коммуникаторы, коллекция аналоговых телефонов у него тоже имеется. Долгое время была идея их запустить, и с появлением полноценного SDR (Software-Defined Radio) эта возможность наконец реализовалась. Теперь можно не только провести эксперимент, но и поделиться опытом.

❯ Историческая справка


Сети AMPS (Advanced Mobile Phone System) относятся к первому поколению сотовой связи (1G). Появившись в начале 1980-х в США, они быстро распространились по миру. Именно в сетях AMPS работали легендарные устройства: первый коммерческий мобильник Motorola DynaTAC и один из первых смартфонов IBM Simon.

В России сети AMPS появились в 1994 году благодаря компании «Вымпелком» (ныне «Билайн»). Использовалось оборудование Ericsson. К концу 2000-х годов стандарт уступил место более совершенным цифровым технологиям, таким как GSM, и был окончательно выведен из эксплуатации к 2008-2010 годам.

❯ Принципы работы AMPS


Перед началом экспериментов полезно понять основы работы стандарта. AMPS — это аналоговая сеть с частотным разделением каналов (FDMA). Всего используется 416 каналов: 395 для голоса и 21 управляющий (paging). Каналы назначаются автоматически в зависимости от нагрузки и уровня сигнала.

В отличие от NMT, в AMPS используются идентификаторы системы (System ID), которые кодируют сети операторов. Существует два типа систем: Система А (нечетный ID) и Система Б (четный ID), каждая со своим набором каналов.

❯ Необходимое оборудование


Для создания собственной сети AMPS потребуется следующий набор:

  1. Компьютер с ОС Linux. Требуется достаточно производительная машина (Raspberry Pi не подойдет) и как минимум один свободный порт USB 3.0. Использование виртуальной машины не рекомендуется.

  2. Полнодуплексный SDR, совместимый с GNU Radio. Подойдут модели вроде LimeSDR, USRP или BladeRF. Это ключевой и самый дорогой компонент из-за сложной начинки (FPGA, трансивер).

  3. Антенны, рассчитанные на диапазон 800 МГц, или антенная нагрузка.

  4. Телефон стандарта AMPS, который включается и пытается найти сеть. Антенна на телефоне должна быть исправна.

❯ Обзор аппаратной части


Давайте рассмотрим оборудование, использованное в эксперименте.

Главный компонент — полнодуплексный SDR USRP B200-mini. Это мощное и гибкое устройство, идеально подходящее для экспериментов с мобильными сетями.

Телефон Ericsson R300LX. Был куплен за символические деньги после отключения аналоговых сетей. Запускается от лабораторного блока питания.

Более новая модель — Ericsson T60D. Аккумулятор был заменен на донорский от другого устройства для тестовых целей.

Интересная особенность T60D — подсветка на основе электролюминесцентной индикации (ELI), аналогичная использовавшейся в Motorola RAZR V3.

В коллекции автора также присутствуют Ericsson LX588 (без антенн), Nokia 8260 (визуально похожий на GSM-аппарат) и культовые модели Motorola.

Motorola MicroTAC Ultra Lite — один из самых стильных телефонов своего времени. Интересно, что центральный контакт аккумулятора используется не для контроля заряда, а для входа в тестовый режим.

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

Легендарный Motorola StarTAC — один из первых раскладных телефонов, где аккумулятор располагался в верхней части.

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


Для эмуляции сети AMPS используется проект Osmocom Analog. Это более простая в установке альтернатива реализации gr-amps для GNU Radio.

Порядок действий:

  1. Установить драйверы для SDR (UHD для USRP или LimeSuite для LimeSDR).
  2. Установить библиотеку SoapySDR: sudo apt install libsoapysdr-dev soapysdr-tools.
  3. Собрать Osmocom Analog из исходников:
    git clone git://git.osmocom.org/osmocom-analog
    cd osmocom-analog
    autoreconf -if
    ./configure
    make
    sudo make install

Для упрощения можно использовать специализированный дистрибутив Dragon OS на базе Lubuntu, где все необходимое ПО уже предустановлено.

❯ Запуск сети


После подключения SDR и включения телефона можно запускать сеть командой:
amps --sdr-uhd -k 334 -k 320 --samplerate 512000

После запуска программы и правильной настройки телефон должен найти сеть и показать, что находится в роуминге (так как код оператора в эмуляторе отличается от запрограммированного в телефоне). В консоли появятся логи, включая присвоенный телефону номер (например, 3512761234).

❯ Возможные проблемы и их решения


Не всегда все работает с первого раза. Вот типичные проблемы:

  • Сеть не запускается. Попробуйте увеличить частоту дискретизации (samplerate), но в разумных пределах.
  • Ошибки "SDR underrun". Чаще всего связаны с нехваткой пропускной способности USB (используйте порт USB 3.0) или слабой мощностью компьютера. Виртуальные машины здесь — плохой выбор.
  • Телефон не находит сеть. Процесс поиска может занять до 10 минут. Можно попробовать выбрать сеть вручную. Проблема может быть и в антеннах. Лучше всего в тестах показал себя Ericsson T60D.
  • Блокировка звонков на телефоне. Иногда помогает звонок на экстренный номер 112, который обычно не блокируется.

❯ Совершение звонков


Когда сеть запущена и телефон зарегистрирован, можно совершать звонки. При наборе номера из динамика телефона будет слышен характерный шум, а затем гудок. Эмулятор автоматически "ответит" на вызов и проиграет стандартное приветствие.

Для приема входящих звонков необходимо настроить звуковую карту в системе. Номер телефона, присвоенный эмулятором, можно увидеть в логах. Чтобы позвонить на этот номер с консоли, нужно нажать клавишу 'd'.

❯ Каналы и тестовый режим


Для быстрого подключения телефона важно правильно подобрать номера каналов, совпадающие с прописанными в его памяти. Некоторые телефоны, например Motorola MicroTAC, имеют сервисный режим, в котором можно просмотреть эти каналы. Для входа в него нужно замкнуть средний контакт разъема аккумулятора на массу.

В тестовом режиме доступны множество функций: настройка передатчика, просмотр серийного номера (ESN), программирование кода абонента (NAM) и другое. Это значительно упрощает настройку и отладку сети.

Эксперименты с запуском собственной сети AMPS — это увлекательный способ оживить историю телекоммуникаций и глубже понять принципы работы первых сотовых систем. Несмотря на некоторые сложности, результат того стоит.

Больше интересных статей здесь: О гаджетах.

Источник статьи: Как запустить сотовую сеть стандарта AMPS при помощи SDR.