Setting up the VBS
This guide assumes that you are deploying the eNodeB using our pre-patched version of the srsLTE software stack. As EPC we are currently using Open5GS.
For the machine running the eNB a Quad-core PC (i5 or better) with at least 8GB RAM will be needed together with a Software Defined Radio platform supported by srsLTE (e.g. the Ettus USRP B210).
The reference operating system for this guide is Ubuntu 20.04 LTS Server.
The following commands will update the package repository and install some dependencies:
sudo apt-get update
sudo apt-get install cmake git libfftw3-dev libmbedtls-dev \
libboost-program-options-dev libconfig++-dev \
libsctp-dev libuhd-dev
Clone the 5G-EmPOWER eNB agent and protocols repository:
git clone https://github.com/5g-empower/empower-enb-agent.git
This will create a directory named empower-enb-agent
which from now on will be referred to as $LIB_TOPDIR
.
Change into the $TOPDIR
directory, compile, and install the library:
cd $LIB_TOPDIR
cmake -DCMAKE_BUILD_TYPE=Release .
make
sudo make install
Clone the srsRAN repository:
git clone https://github.com/5g-empower/srsRAN.git
This will create a directory named srsRAN
which from now on will be referred to as $TOPDIR
.
Change into the $TOPDIR
directory and compile srsRAN:
cd $TOPDIR
git checkout agent
mkdir build
cd build
cmake ../
make
This tutorial assumes that you have a compatible EPC properly configured. This could be either a commercial EPC or an open-source one. Please refer to your EPC provider for information about its configuration and usage.
We use Open5GS as EPC. You can find detailed instructions on how to install and configure the EPC and program the USIM here.
Copy the example configuration files into the working directory:
cd $TOPDIR
cp srsenb/drb.conf.example build/srsenb/src/drb.conf
cp srsenb/enb.conf.example build/srsenb/src/enb.conf
cp srsenb/rr.conf.example build/srsenb/src/rr.conf
cp srsenb/sib.conf.example build/srsenb/src/sib.conf
Leave all the configuration files unchanged with the exception of the enb.conf
file which has to be edited in order to specify:
- the desired enb_id and cell_id
- the phy_cell_id compatible with the cell_id
- the TAC, MCC, and MNC as defined in the core network configuration
- the mme_addr pointing to the MME in the core network
- the gtp_bind_addr pointing to the local IP address used to reach the core network
- the number of resource blocks assigned to the cell (n_prb)
- the controller address (ctrl_addr) and port (ctrl_port, default 2210)
Start the srsenb:
cd $TOPDIR/build/srsenb/src/
./srsenb enb.conf
Getting Started
Setup: Wi-Fi
Setup: LTE
Setup: Controller
Downloads
Slicing
Developers
Support and Publications
Acknowledgements