Встановлення srsRAN 4G¶
Інструкція з встановлення srsRAN 4G на Ubuntu.
Підготовка системи¶
Підтримувані ОС¶
| ОС | Статус |
|---|---|
| Ubuntu 22.04 LTS | ✓ Рекомендовано |
| Ubuntu 24.04 LTS | ✓ Підтримується |
| Debian 12 | ✓ Підтримується |
| Fedora 38+ | ○ Можливо |
Оновлення системи¶
sudo apt update && sudo apt upgrade -y
Базові залежності¶
sudo apt install -y \
build-essential \
cmake \
git \
libfftw3-dev \
libmbedtls-dev \
libboost-program-options-dev \
libconfig++-dev \
libsctp-dev \
libpcsclite-dev \
libzmq3-dev
Встановлення SDR драйверів¶
LimeSuite (для LimeSDR)¶
# PPA
sudo add-apt-repository -y ppa:myriadrf/drivers
sudo apt update
sudo apt install -y limesuite limesuite-udev soapysdr-module-lms7
# Перевірка
LimeUtil --find
UHD (для USRP)¶
sudo apt install -y uhd-host libuhd-dev
# Завантажити firmware
sudo uhd_images_downloader
# Перевірка
uhd_find_devices
SoapySDR (універсальний)¶
sudo apt install -y \
soapysdr-tools \
libsoapysdr-dev
# Перевірка модулів
SoapySDRUtil --probe
Збірка srsRAN 4G¶
Клонування¶
cd ~
git clone https://github.com/srsran/srsRAN_4G.git
cd srsRAN_4G
Конфігурація¶
mkdir build
cd build
# Базова конфігурація
cmake ../
# З підтримкою GUI (опціонально)
cmake ../ -DENABLE_GUI=ON
# З ZeroMQ (для тестів без SDR)
cmake ../ -DENABLE_ZEROMQ=ON
Компіляція¶
# Використовуємо всі ядра
make -j$(nproc)
Встановлення¶
sudo make install
# Оновити бібліотеки
sudo ldconfig
# Скопіювати конфігурації
sudo srsran_install_configs.sh user
Docker варіант¶
Dockerfile¶
FROM ubuntu:22.04
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y \
build-essential cmake git \
libfftw3-dev libmbedtls-dev \
libboost-program-options-dev \
libconfig++-dev libsctp-dev \
soapysdr-module-lms7 \
limesuite \
&& rm -rf /var/lib/apt/lists/*
RUN git clone https://github.com/srsran/srsRAN_4G.git /opt/srsRAN_4G \
&& cd /opt/srsRAN_4G \
&& mkdir build && cd build \
&& cmake ../ \
&& make -j$(nproc) \
&& make install \
&& ldconfig \
&& srsran_install_configs.sh user
WORKDIR /root/.config/srsran
Docker Compose¶
version: '3.8'
services:
srsran:
build: .
container_name: srsran
privileged: true
network_mode: host
devices:
- /dev/bus/usb
volumes:
- ./config:/root/.config/srsran
- /dev/bus/usb:/dev/bus/usb
cap_add:
- NET_ADMIN
- SYS_NICE
Запуск¶
docker compose build
docker compose run --rm srsran srsenb
Перевірка встановлення¶
SDR¶
# LimeSDR
LimeUtil --find
# Очікуваний вивід:
# * [LimeSDR Mini, ...]
# Тест
LimeQuickTest
srsRAN¶
# Перевірити версію
srsenb --version
srsepc --version
srsue --version
# Перевірити конфіги
ls ~/.config/srsran/
# enb.conf epc.conf ue.conf ...
Real-time права¶
# Перевірити
ulimit -r
# Якщо 0, додати права:
sudo usermod -aG dialout $USER
# Створити файл limits
sudo tee /etc/security/limits.d/srsran.conf << EOF
@dialout - rtprio 99
@dialout - memlock unlimited
EOF
# Перелогінитись
Конфігураційні файли¶
Розташування¶
~/.config/srsran/
├── enb.conf # srsENB конфігурація
├── epc.conf # srsEPC конфігурація
├── ue.conf # srsUE конфігурація
├── user_db.csv # База абонентів (для srsEPC)
├── drb.conf # Data Radio Bearers
├── rr.conf # Radio Resources
├── rb.conf # Radio Bearers
└── sib.conf # System Information Blocks
Базова перевірка enb.conf¶
cat ~/.config/srsran/enb.conf | grep -E "^(device|tx_gain|rx_gain|dl_earfcn|n_prb)"
Типові проблеми встановлення¶
Не знаходить LimeSDR¶
# Перевірити USB
lsusb | grep 0403
# Перевірити правила udev
ls /etc/udev/rules.d/*lime*
# Перезавантажити правила
sudo udevadm control --reload-rules
sudo udevadm trigger
Помилка компіляції¶
# Очистити та перезібрати
cd ~/srsRAN_4G/build
rm -rf *
cmake ../
make -j$(nproc)
Немає real-time пріоритету¶
# Помилка: "Unable to set real-time priority"
# Рішення:
sudo setcap cap_sys_nice=eip $(which srsenb)
sudo setcap cap_sys_nice=eip $(which srsue)
libsrsran не знайдено¶
# Помилка: "error while loading shared libraries: libsrsran_common.so"
# Рішення:
sudo ldconfig
# Або додати шлях:
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
Оновлення¶
cd ~/srsRAN_4G
git pull
cd build
make -j$(nproc)
sudo make install
sudo ldconfig
Видалення¶
cd ~/srsRAN_4G/build
sudo make uninstall
# Або повністю
rm -rf ~/srsRAN_4G
rm -rf ~/.config/srsran
Шлях: ran/installation.md