Preliminaries - JsCc-Electro/5G-SA-Network-Open5gs-srsRAN GitHub Wiki
First, it is necessary to install the different libraries and dependencies that are required for the proper functioning of the network. Therefore, it is necessary to install the dependencies for the correct installation of the functions, allowing the execution of srsUE, srsENB, and srsEPC.
sudo su # Entrar en modo superusuario.
apt-get install build-essential cmake libfftw3-dev libmbedtls-dev libboost-program-options-dev libconfig++-dev libsctp-dev git
On the other hand, we have the installation of the front-end drivers for RF, which are necessary when connecting the Universal Software Radio Peripheral (USRP). Therefore, UHD and ZeroMQ are required to establish simulated communication.
Install UHD
Firstly, it is necessary to install UHD (USRP Hardware Driver), which is an open-source software that enables applications to seamlessly transition to other USRP (Software-Defined Radio) SDR platforms.
sudo su # Entrar en modo superusuario.
cd # Ir a la carpeta raíz.
apt-get install autoconf automake build-essential ccache cmake cpufrequtils doxygen ethtool g++ git inetutils-tools libboost-all-dev libncurses5 libncurses5-dev libusb-1.0-0 libusb-1.0-0-dev libusb-dev python3-dev python3-mako python3-numpy python3-requests python3-scipy python3-setuptools python3-ruamel.yaml
Subsequently, it is necessary to download UHD, for which the git command is used as it allows cloning files from GitLab, GitHub, etc.
git clone https://github.com/EttusResearch/uhd.git # Clonar UHD de github.
Once the UHD file is cloned, it is necessary to compile the driver using the cmake command.
cd uhd/host # Acceder a uhd/host.
mkdir build # Crear carpeta build.
cd build # Acceder a la carpeta build.
cmake .. # Compilar controlador.
make # Compilación de archivos.
make test # Realizar test
make install # Inicio de instalación de uhd.
ldconfig # Crea los vínculos y caché necesarios para las bibliotecas.
sudo /usr/local/lib/uhd/utils/uhd_images_downloader.py # Instala las imágenes de UHD.
sudo uhd_usrp_probe # Prueba la conexión con la USRP.
Install ZMQ
Lastly, the ZeroMQ driver should be installed. ZeroMQ is a high-performance asynchronous messaging library that enables client/server, pub/sub, and request/response patterns, using the TCP transport protocol.
sudo apt-get -y install libzmq3-dev build-essential cmake libfftw3-dev libmbedtls-dev libboost-program-options-dev libconfig++-dev libsctp-dev libtool autoconf automake
It is necessary to install libzmq, which has two APIs that allow sending and receiving messages. Additionally, czmq is a high-level binding that enables communication between srsENB and srsUE.
# Install libzmq
sudo su # Entrar en modo superusuario.
cd # Ir a la carpeta raíz.
git clone https://github.com/zeromq/libzmq.git ~/libzmg && cd ~/libzmg
./autogen.sh # Crear script de configuración.
./configure # Preparar paquetes para la instalación.
make # Compilación de archivos.
sudo make install # Inicio de instalación de libzmq.
sudo ldconfig # Crea los vínculos y caché necesarios para las bibliotecas.
# Install czmq
sudo su # Entrar en modo superusuario.
cd # Ir a la carpeta raíz.
git clone https://github.com/zeromq/czmq.git ~/czmq && cd ~/czmq
./autogen.sh # Crear script de configuración.
./configure # Preparar paquetes para la instalación.
make # Compilación de archivos.
sudo make install # Inicio de instalación de czmq.
sudo ldconfig # Crea los vínculos y caché necesarios para las bibliotecas.