Как запустить собственную GSM-сеть за пять минут при помощи SDR

  • Автор текста: MaFrance351

Всем привет!

Давненько я уже рассказывал о том, как настроить GSM-сеть дома, используя доступные школьникам комплектующие. В этой статье я кратко упомянул, что идеальным вариантом с точки зрения производительности является использование сети с использованием SDR, а не телефонов.

Итак, в сегодняшней статье мы объясним, что следует делать владельцам СДР, желающим запустить собственную сеть GSM. Уделите 5 минут на изучение программного обеспечения, необходимого для того, чтобы оно работало в прямом смысле этого слова. В то же время включите GPRS и совершите быстрое путешествие в 2007 год. Как всегда, происходит много интересного.

❯ Суть такова

Многие помнят поистине легендарный пост о том, как собрать базовую станцию ​​из двух телефонов и обычного компьютера. Однако эта конфигурация по-прежнему имела множество недостатков, которых не было у BS на основе SDR. Далее, единственным недостатком того, о чем мы поговорим в этой статье, является высокая стоимость оборудования.

Также на просторах Хабра мы нашли посты об Osmocom в Docker-контейнерах. Однако за 10 лет это программное обеспечение сильно устарело. Теперь вышла новая версия с улучшенными функциями и более стабильной работой.
И теперь у меня полнодуплексный SDR. Это означает, что пришло время запустить с ним сеть и посмотреть, что вы можете из нее получить.

❯ В чём преимущества сети на базе SDR?


В отличие от телефонов, вы сможете избежать многих проблем, которые неизбежно возникают при использовании такого оборудования:

  • Диапазон частот. В телефоне используются фильтры для предотвращения подслушивания входящего трафика. Мои БС работали просто потому, что они были неисправны и лучшим решением была их замена, но нужно оборудование и хорошие навыки пайки, чтобы не испортить плату телефона, поэтому она доступна не каждому. SDR не имеет этой функции.

  • Генератор. Точности внутреннего SDR-генератора более чем достаточно для обеспечения корректной работы сети. Поскольку в телефоне не было такого устройства, ему приходилось принимать тактовые сигналы от других коммерческих вышек.

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

  • Производительность. В отличие от телефона, вы можете создавать конфигурации, чтобы звонки, SMS и Интернет были у вас под рукой.

  • Стабильность. Сети, основанные на SDR, не будут зависать, если они настроены правильно.

  • Поддерживаемые устройства. Когда мы запустили телефонную сеть, мы не смогли подключить к ней все имеющиеся у нас устройства. В частности, телефон Nokia был пойман всего один раз. С SDR все телефоны в наших тестах подключались без проблем. Друг из Accelerator предположил, что это связано с частотной характеристикой сигнала. Потому что телефон ориентируется по сигналу после попытки подключения к сети оператора, но сеть лаб его не распознает. В моем случае, когда я столкнулся с этой проблемой, ее решил простой перезапуск телефона.


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

❯ Обзор оборудования

Именно здесь в игру вступают СДР. Для этих экспериментов достаточно USRP B200mini-i. Конечно, для управления им также понадобится компьютер. Виртуальные машины или Raspberry работать не будут.

Далее вам понадобится телефон, который может подключаться к вашей сети. Вам понадобится SIM-карта, но подойдет любая, если она есть. Например, перед нами Samsung Galaxy M12, который уже появлялся в экспериментах с LTE.

Три легенды кнопочных телефонов - Nokia 3310, Siemens CX75, Sony Ericsson K750i.

Nokia E90 — это крутейшее сочетание кнопочного телефона, коммуникатора Symbian и клавиатурного КПК.

❯ Софт


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

❯ Конфигурация


Теперь, когда ОС загружена, можно приступать к настройке.
Откройте папку Osmo-nitb-scripts (ярлык этой папки есть в разделе «Дополнительно» меню «Пуск») и откройте внутри нее папку configs. Меня интересует файл openbsc.cfg.

В целом сеть работает с файлами по умолчанию, но СМС не проходят из-за некорректных настроек таймслота и протокола SMPP. Поэтому уменьшите файл до следующего формата:

!
! Конфигурация OpenBSC сохранена из режима vty gprs Нет | phys_chan_config SDCCH8
! !
пароль фу
!
линия vty
Нет входа
!
e1_input
e1_line 0 драйвер ipa
Сеть связи
Код страны сети 250
код мобильной сети 10
Аббревиатура: МаФранс
длинное имя Мафранс
Принять все политики аутентификации
Причина отказа в обновлении местоположения 13
шифрование а5 0
Нечи 1
нет режима rrlp
мм информация 1
Поглощение 0
окно передачи обслуживания rxlev в среднем 10
окно передачи обслуживания rxqual, усреднение 1
окно передачи обслуживания соседа rxlev в среднем 10
Интервал бюджета мощности хэндовера 6
Гистерезис бюджета мощности переключения 3
Максимальное расстояние передачи 9999
Абонентская память в оперативной памяти 0
бантан мальчики 0
введите системный моб
Группа GSM900
идентификатор ячейки 1087
Код города 13415
Код последовательности обучения 7
Идентификационный код базовой станции 56
максимальная мощность мс 30
доступ к rxlev минимум 0
Регулярное обновление местоположения 1000
Гистерезис повторного выбора ячейки 14
Смещение повторного выбора ячейки 120
временное смещение 0
штрафное время 20
Распределитель каналов по возрастанию
целое число 9
стойка макс трансмиссия 7
идентификатор устройства ip.access 1801 0
oml ip.accessstream_id 255 строка 0
нет режима gPR
трек 0
rF_lock 0
арфкн 25
Номинальная мощность 34
максимальная мощность красный 20
рсл е1 тэ 0
временной интервал 0
phys_chan_config CCCH+SDCCH4
Переключение включено 0
временной интервал 1
phys_chan_config ТСН/Ч
Переключение включено 0
временной интервал 2
phys_chan_config ТСН/Ч
Переключение включено 0
временной интервал 3
phys_chan_config ТСН/Ч
Переключение включено 0
временной интервал 4
phys_chan_config ТСН/Ч
Переключение включено 0
временной интервал 5
phys_chan_config ТСН/Ч
Переключение включено 0
временной интервал 6
phys_chan_config ТСН/Ч
Переключение включено 0
временной интервал 7
phys_chan_config ТСН/Ч
Переключение включено 0
перо
назначение-TMSI
Подписчик создан по требованию Случайно 100 199
Стук
Локальный TCP-порт 2775
Идентификатор системы ОСМО-СМПП
принять все правила
Эсме ОСМПП
пароль 1234
расширение осмоком

Давайте кратко рассмотрим параметры.

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

  • LAC. Код города, используемый для определения местоположения. По сути, это не влияет на работу, но некоторые телефоны не смогут подключиться, если значение равно 0 или 1.

  • Код ячейки CID. Подбирается так же, как и LAC.

  • МСС – Код страны. Для России это 250. Вы также можете выбрать другую сеть, но стоит учитывать, что не все телефоны могут подключиться к такой сети.

  • MNC — Сетевой код. Вам необходимо открыть список операторов мобильной связи (например, их можно найти здесь или здесь)

  • длинное имя и короткое имя.

    Обратите внимание: Признаки, указывающие на то, что ваш партнер следит за вами при помощи вашего же мобильника.

    Как вы уже догадались, это имя сети, которое отображается в строке состояния вашего телефона. Вы можете установить все, что вам нужно.


    Далее давайте посмотрим на временные интервалы. Каждый из них настроен на определенный тип канала. Узнать больше о.

    Теперь, когда параметры изменены, запустите сеть:

судо ./main.py

Если у вас нет LimeSDR, но есть USRP, запустить его нужно следующим образом:

sudo ./main.py -d uhd

Если все было сделано правильно, вы должны увидеть на экране что-то вроде этого:

И через несколько секунд это:

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

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

Также были представлены две новые легенды. Теперь вы можете совершать звонки и отправлять SMS. Точно так же, как с телефонным звонком.

❯ А что насчёт интернета?


Но конечно, увеличить GPRS можно и с помощью Osmocom. Более того, с SDR вы получаете полноценную сеть со всеми работающими компонентами, включая звонки, SMS, USSD и пакетную передачу данных. Если вы хотите использовать телефон, вам нужно будет подключить дополнительную Motorola, иначе вы не сможете совершать звонки.
Теперь давайте запустим GPRS.

❯ GPRS и как он работает


И прежде чем приступить к экспериментам, традиционно разберемся, как пакетный трафик внутри сети 2G перенаправляется во внешний мир.

GPRS имеет собственную магистральную сеть. Это расширение сети GSM, добавляющее возможность обмена пакетными данными.

Таким образом, сеть с поддержкой GPRS дополнительно включает в себя следующие компоненты:

  • PCU (блок управления пакетами). Это устройство управления пакетами, которое может отправлять и получать одни и те же данные в сочетании с контроллером БС.

  • СГСН (Обслуживающий узел поддержки GPRS). Этот узел отвечает за услуги для абонента, такие как коммутация пакетов, выставление счетов, проверка APN (имени точки доступа) точки доступа и распределение ресурсов.

  • GGSN (Узел поддержки шлюза GPRS). Шлюз, который соединяет сети мобильной связи с другими сетями передачи данных.


Чтобы GPRS работал, вы должны создать на своем телефоне точку доступа, которая включает APN, журналы и пароль. Обычно они создаются сразу после регистрации в сети оператора и не требуют вашего участия.

❯ Конфигурация


Как и в предыдущем случае, сначала нам необходимо настроить сеть.

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

затем откройте opengts_egprs.cfg из папки конфигураций и придайте этому вид:

!
! Настройки OpenBSC сохранены из vty
! !
пароль фу
!
линия vty
Нет входа
!
e1_input
e1_line 0 драйвер ipa
e1_line 0 порт 0
e1_line 0 Нет поддержки активности
Сеть связи
Код страны сети 250
код мобильной сети 10
Аббревиатура: МаФранс
длинное имя Мафранс
Принять все политики аутентификации
Разрешенные регулярные выражения .*
Причина отказа в обновлении местоположения 13
шифрование а5 0
Нечи 1
нет режима rrlp
мм информация 1
Поглощение 0
окно передачи обслуживания rxlev в среднем 10
окно передачи обслуживания rxqual, усреднение 1
окно передачи обслуживания соседа rxlev в среднем 10
Интервал бюджета мощности хэндовера 6
Гистерезис бюджета мощности переключения 3
Максимальное расстояние передачи 9999
Абонентская память в оперативной памяти 0
бантан мальчики 0
введите системный моб
Группа GSM900
идентификатор ячейки 7229
Код города 7619
Код последовательности обучения 7
Идентификационный код базовой станции 63
поддержка кодеков fr efr amr
максимальная мощность мс 15
доступ к rxlev минимум 0
Регулярное обновление местоположения 1000
Гистерезис повторного выбора ячейки 14
Смещение повторного выбора ячейки 120
временное смещение 0
штрафное время 20
Тайм-аут радиосвязи 32
Распределитель каналов по возрастанию
целое число 9
стойка макс трансмиссия 7
Описание канала прилагается 1
описание канала bs-pa-mfrms 5
описание канала bs-ag-blks-res 1
идентификатор устройства ip.access 1801 0
oml ip.accessstream_id 255 строка 0
режим gprs
область маршрутизации gPRS 1
gprs-ячейка bvci 1234
gprs нсей 1234
gprs nsvc 0 nsvci 1234
gprs nsvc 0 локальный порт udp 23001
gprs nsvc 0 удаленный порт udp 23000
gprs nsvc 0 удаленный IP 127.0.0.1
Без принудительного присоединения
трек 0
rF_lock 0
арфкн 100
Номинальная мощность 34
максимальная мощность красный 20
рсл е1 тэ 0
временной интервал 0
phys_chan_config CCCH+SDCCH4
Переключение включено 0
временной интервал 1
phys_chan_config SDCCH8
Переключение включено 0
временной интервал 2
phys_chan_config ТСН/Ч
Переключение включено 0
временной интервал 3
phys_chan_config ТСН/Ч
Переключение включено 0
временной интервал 4
phys_chan_config ТСН/Ч
Переключение включено 0
временной интервал 5
phys_chan_config ТСН/Ч
Переключение включено 0
временной интервал 6
phys_chan_config PDCH
Переключение включено 0
временной интервал 7
phys_chan_config PDCH
Переключение включено 0
перо
назначение-TMSI
Подписчик создан по требованию Случайно 100 199
Стук
Локальный TCP-порт 2775
Идентификатор системы ОСМО-СМПП
принять все правила
Эсме ОСМПП
пароль 1234
расширение осмоком

Здесь активируется GPRS, а также изменяются два временных интервала и выделяются пакетные данные. Настройки сети (имя, канал, код и т.д.) останутся прежними, но вам нужно будет изменить их, как и раньше.

вам необходимо создать точку доступа на своем телефоне. Для srsRAN APN может быть любым. Для srsRAN он не проверяется и требуется только для того, чтобы сам телефон инициировал соединение.
Итак, пришло время запускать сеть. На этот раз я сделал это так:

sudo ./main.py -d uhd --gprs -i (здесь имя соединения)

несмотря на то, что старый мануал требовал от вас редактирования файлов конфигурации и изменения iptables, здесь достаточно просто указать соединение, связывающее вашу машину с внешним миром.

Для тестирования использовался тот же смартфон производства Samsung. Когда вы подключитесь к сети и включите сотовые данные, вы увидите «EDGE» в строке состояния. Отлично, это сработало.

было много беспокойства по поводу невозможности пользоваться Интернетом. Во-первых, существует множество приложений, которые любой ценой попытаются получить доступ к вашей сети. Во-вторых, размер самого сайта не позволяет проталкивать каналы со скоростями недалеко от модема. Однако легковесные сайты типа old-dos.ru открываются достаточно хорошо.

Далее подключил основной блок. Он также заработал много денег и подобрал построенную сеть.

❯ Возвращаем свой две тысячи седьмой


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

За действительно заоблачную цену (несколько рублей за мегабайт) нам предоставили очень слабую связь. Мобильная версия веб-сайтов того времени также сильно отличалась от того, к чему мы привыкли. Протоколов было два: WAP (созданный специально для сетей GSM и работающий через шлюз по GPRS или SMS), по которому передавались страницы в формате WML, и обычный HTTP за которым следует префикс «wap». В целом почти все сайты совместимы с мобильными телефонами.

Эти сайты также были очень уникальными. На типичной странице было доступно практически все: от новостей и мобильного ПО (с обязательными разделами для J2ME, WM и Symbian) до знакомств и дешевой эротики. Многие бывшие в то время мобильные телефоны до сих пор хранят фотографии кошек на картах памяти, куда они загружаются по 5 рублей за мегабайт.

Он также создавал ощущение несбалансированности, как «сайт премиум-класса». Их суть заключалась в том, что посещение, казалось бы, обычного сайта позволяет абоненту не только потратить весь баланс, но и попасть в серьезный минус. Тарифы были увеличены (до нескольких сотен рублей за мегабайт), а доступ к таким страницам стал не дорогим во всех смыслах этого слова (даже на безлимитных тарифах по-прежнему взимали деньги). Существовало и грязное SEO (в духе того времени) в виде размещения на страницах сайта таких элементов, как «невидимые» изображения и тому подобные материалы.

кстати...

Что-то подобное все еще существует, но в гораздо меньших масштабах (например, страницы 404 ошибок Tele2).
Если случайно нажать на рекламу (иногда она сделана с изображением в виде видеоплеера, потому что кто-то нажимает на нее специально), пользователь сразу получает абонентскую плату в размере 20-30 рублей в день. Однако это очень сложно от этого отказаться.

Для полноценной работы WAP вам понадобится WAP-шлюз, поэтому в этой статье мы ограничимся HTTP.

К сожалению, Siemens не удалось загрузить ни одного сайта. Либо что-то не так с настройкой точки доступа, либо браузер поддерживает только WML, но все, что я смог из него выжать, это скучное "Подключиться.

Поэтому Nokia E90 обратилась за помощью и смогла сначала скачать old-dos.ru…

...и древние мобильные сайты.

А это экран Nokia N95.

Интересно, обновилось ли оно? Или эти «что нового сегодня» были такими уже 10 лет?

Зайдите в Google и найдите список старых сайтов, которые еще живы. И вот еще один экземпляр…

Интересно, это прога для WM, а иконка от Win8/WP…

lankost.net, один из крупнейших существующих сайтов

>Продолжение материалов, связанных с Хабблом. К сожалению, все фотографии не уместились (их было очень много), но они самые суть и самые вкусные. :)



  • Написано специально для читателей Timeweb Cloud и Pikabu. Подпишитесь на наш блог, чтобы не пропустить новый и интересный материал.

  • Также подпишитесь на наш эксклюзивный канал в Telegram, посвященный техническим, информативным и юмористическим вопросам об IT, технологиях и электронике. Это будет интересно.

  • Облачный сервис Timeweb Cloud — это реферальная ссылка, которая помогает поддерживать проект.

[мой]GsmSdrTimewebЭлектроникаМобильный телефонТехнологияИнтернетСвязьAndroidДлинные сообщения 136

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

Источник статьи: Как запустить собственную GSM-сеть за пять минут при помощи SDR.