Создание частной LTE-сети с LimeSDR и srsRAN: Часть 1

D2

Администратор
Регистрация
19 Фев 2025
Сообщения
4,380
Реакции
0
Когда я работал у одного из бывших работодателей, где для тестирования использовались несколько частных LTE-сетей, я увидел, насколько это удобно и полезно.
Однако, в то время такие системы обходились недёшево. Для компании, специализирующейся на мобильных коммуникациях, такие затраты были оправданными. Но для меня, как случайного пользователя, это была непозволительная роскошь

.
1734459960444.png



Основой многих таких систем служит программно-определяемое радио (SDR). Коммерческое оборудование для LTE-сетей традиционно использует специализированное аппаратное обеспечение, что приводит к высокому порогу входа. SDR, в свою очередь, использует универсальное радио, в сочетании с высокопроизводительными вычислениями на современных ПК, что существенно снижает стоимость.

Правда, даже стоимость SDR, раньше казалась запредельной. Например, базовая модель от Ettus Research стоила в Великобритании более £1500. Но всё изменилось с выпуском LimeSDR от компании Lime Microsystems. Сопоставимые характеристики за гораздо меньшую цену — звучит неплохо, правда?
1734459817563.png



Увы, но я пропустил их изначальную краудфандинговую кампанию, поэтому чуть больше года назад заказал LimeSDR на Mouser. Но, как и многие другие, Lime Microsystems сильно пострадали от нехватки микросхем, что, конечно, обидно. К счастью, мне повезло: почти новый экземпляр появился на eBay, и я тут же его выкупил. Так началось моё погружение в пучину безумия….

Этот пост расскажет о моём пути от минимальных знаний об SDR и мобильных сетях до подключения проекта клиента к интернету через собственную частную сеть.

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

Что будет в следующих частях?​

  1. Постройка библиотек и программного обеспечения, их взаимосвязь.
  2. Настройка оборудования.
  3. Покупка и программирование SIM-карт.
  4. Финальная сборка, запуск системы и подключение устройства к интернету.
Итак, начнём.

Программное обеспечение​

Для своего проекта я выбрал srsRAN (ранее известный как srsLTE), так как он поддерживает сети 4G и 5G, а также есть примеры его успешного использования с LimeSDR.

Основные библиотеки и утилиты​

SoapySDR

SoapySDR — это библиотека-абстракция, которая позволяет приложениям поддерживать различные SDR-устройства с минимальными модификациями. srsRAN использует SoapySDR для взаимодействия с аппаратурой, включая LimeSDR.

Вот как я адаптировал инструкцию для сборки:
Код: Скопировать в буфер обмена
Код:
sudo apt-get install cmake g++ libpython3-dev python3-numpy swig
git clone --branch soapy-sdr-0.8.1 https://github.com/pothosware/SoapySDR.git
cd SoapySDR
mkdir build && cd build
cmake -DCMAKE_PREFIX_PATH=${SRSRAN_INSTALL} -DCMAKE_INSTALL_PREFIX=${SRSRAN_INSTALL} ..
make -j`nproc` && make install
Проверка установки:
Код: Скопировать в буфер обмена
Код:
export LD_LIBRARY_PATH=${SRSRAN_INSTALL}/lib
export PATH=${SRSRAN_INSTALL}/bin:$PATH
SoapySDRUtil --info

Если все прошло успешно то вы увидите что то на подобии этого:
Код: Скопировать в буфер обмена
Код:
######################################################
##     Soapy SDR -- the SDR abstraction library     ##
######################################################
Lib Version: v0.8.1-g1cf5a539
API Version: v0.8.0
ABI Version: v0.8
Install root: /home/user/srsRAN
...

LimeSuite

LimeSuite — это утилиты для управления SDR, включая LimeSuiteGUI для работы с регистрами и LimeUtil для обновления прошивки.
1734460197918.png



Сборка выполняется так:
Код: Скопировать в буфер обмена
Код:
sudo apt-get install git g++ cmake libsqlite3-dev libi2c-dev libusb-1.0-0-dev libwxgtk3.0-gtk3-dev freeglut3-dev
git clone --branch v22.09.1 https://github.com/myriadrf/LimeSuite.git
cd LimeSuite
mkdir builddir && cd builddir
cmake -DCMAKE_PREFIX_PATH=${SRSRAN_INSTALL} -DCMAKE_INSTALL_PREFIX=${SRSRAN_INSTALL} ..
make -j`nproc` && make install
cd ../udev-rules
sudo bash install.sh

Для обновления прошивки используйте:
LimeUtil --update

srsGUI

srsGUI — это библиотека визуализации, используемая srsRAN для построения графиков. Она необязательна, но может быть полезна:
Код: Скопировать в буфер обмена
Код:
sudo apt-get install libboost-system-dev libboost-test-dev libboost-thread-dev libqwt-qt5-dev qtbase5-dev
git clone --branch release_2_0_qt5 https://github.com/srsran/srsGUI.git
cd srsGUI
mkdir build && cd build
cmake -DCMAKE_PREFIX_PATH=${SRSRAN_INSTALL} -DCMAKE_INSTALL_PREFIX=${SRSRAN_INSTALL} ..
make -j`nproc` && make install

srsRAN

srsRAN предоставляет компоненты для работы LTE-сети. Сборка:
Код: Скопировать в буфер обмена
Код:
sudo apt-get install build-essential cmake libfftw3-dev libmbedtls-dev libboost-program-options-dev libconfig++-dev libsctp-dev pkg-config
git clone --branch release_23_04 https://github.com/srsran/srsRAN_4G.git
cd srsRAN_4G
mkdir build && cd build
cmake -DCMAKE_PREFIX_PATH=${SRSRAN_INSTALL} -DCMAKE_INSTALL_PREFIX=${SRSRAN_INSTALL} -DUSE_LTE_RATES=ON ..
make -j`nproc`
make test
make install
./srsran_install_configs.sh user

Если вы добрались до этого момента, поздравляю! У вас есть всё необходимое программное обеспечение. Теперь можно сделать паузу и морально подготовиться ко второй части: настройке оборудования.

Настройка оборудования​

После успешной установки программного обеспечения наступает следующий этап — настройка оборудования. LimeSDR, будучи гибким SDR-решением, требует точной конфигурации для работы с LTE-сетью. Этот процесс может быть сложным, поэтому я постараюсь сделать его максимально понятным.

Проверка устройства LimeSDR​

Перед началом настройки необходимо убедиться, что LimeSDR правильно распознаётся системой. Подключите устройство к компьютеру и выполните следующую команду:
Код: Скопировать в буфер обмена
LimeUtil --find

Если устройство подключено корректно, вы увидите информацию о нём, пример:
Код: Скопировать в буфер обмена
Код:
[INFO] Found Device:
  addr=1d50:6108
  media=USB
  module=STREAM
  name=LimeSDR-USB
  serial=0009062C05C92611

Если устройство не определяется, проверьте USB-подключение и убедитесь, что установлены драйверы.

Настройка частот​

LimeSDR поддерживает широкий диапазон частот, но для работы с LTE нужно выбрать конкретный диапазон (band). Например, для Band 7 (FDD) используются следующие частоты:

  • Uplink: 2500–2570 МГц
  • Downlink: 2620–2690 МГц
Чтобы установить частоту, используйте утилиту LimeSuiteGUI:
  1. Откройте LimeSuiteGUI:
    Код: Скопировать в буфер обмена
    LimeSuiteGUI
  2. Перейдите на вкладку "Options" и нажмите "Connect" для подключения устройства.
  3. На вкладке "TSP" задайте параметры частот для TX и RX каналов, соответствующие вашему Band.

Калибровка устройства​

Калибровка LimeSDR важна для минимизации интерференций и обеспечения стабильной работы. Выполните калибровку с помощью следующей команды:
Код: Скопировать в буфер обмена
LimeUtil --calibrate

Этот процесс займёт некоторое время. После завершения убедитесь, что отчёт показывает успешную калибровку.

Настройка мощности передачи​

Выбор мощности передачи (TX) зависит от требований вашей сети. LimeSDR поддерживает мощность до +10 dBm, что достаточно для небольших сетей. Настроить мощность можно через LimeSuiteGUI или с помощью конфигурационных файлов srsRAN.

Проверка и тестирование​

После завершения настройки выполните тестовый запуск SDR, чтобы убедиться, что устройство работает корректно. В srsRAN есть утилита srsenb, которая позволяет проверить базовую станцию:
Код: Скопировать в буфер обмена
srsenb --rf.device_name=soapy --rf.device_args="driver=lime" --enb.mcc=001 --enb.mnc=01 --enb.cell_id=1

На этом настройка оборудования завершена! В следующей части я расскажу о покупке и программировании SIM-карт, что является важным этапом для подключения устройств к вашей сети.

Источник *ТЫК*
 
Сверху Снизу