Skip to content

Open source SDR 4G/5G software suite from Software Radio Systems (SRS)

License

Notifications You must be signed in to change notification settings

adjacentlink/srsRAN-emane

 
 

Repository files navigation

srsRAN-emane

srsRAN-emane is a derivative project of srsRAN. In conjunction with the EMANE LTE Model, srsRAN-emane enables emulating an LTE network in EMANE on a laptop, desktop or other dedicated computer resources. Software Defined Radio (SDR) hardware is not required.

The srsRAN LTE applications, srsenb, srsue, srsepc and srsmbms, are adapted to send RF traffic through the EMANE emulation environment. The EMANE version of the applications are renamed srsenb-emane, srsue-emane, srsepc-emane and srsepc-emane. srsenb-emane and srsue-emane contain an embedded EMANE instance to replace lower levels of the LTE radio stack required to emulate the over the air communication effects. The new applications are also instrumented for data extraction using OpenStatistic. Internal statistics can be queried manually via the ostatistic application, or collected automatically using OpenTestPoint and the OpenTestPoint LTE Probe.

srsRAN-emane is released under the AGPLv3 license. The current stable version is 22.04, the first release based on srsRAN 22.04.


Build Instructions

The srsRAN suite includes:

  • srsUE - a full-stack SDR 4G/5G UE application
  • srsENB - a full-stack SDR 4G/5G e(g)NodeB application
  • srsEPC - a light-weight 4G core network implementation with MME, HSS and S/P-GW
  1. Install the latest pre-built EMANE bundle. EMANE version 1.2.3 or later is required.

  2. Build and install the EMANE LTE Model.

  3. Build and install srsRAN-emane:

Centos 7

Centos 7 requires an additional step of installing and using devtoolset-9 for c++17 support.

sudo yum install cmake fftw3-devel polarssl-devel lksctp-tools-devel libconfig-devel boost-devel redhat-lsb-core

sudo yum install centos-release-scl
sudo yum install devtoolset-9

git clone https://github.com/adjacentlink/srsRAN-emane.git
cd srsRAN-emane
mkdir build
cd build

# enable devtoolset-9 for build
scl enable devtoolset-9 "cmake .. && make"
make package
sudo yum install srsran-emane-*-x86_64.rpm

Rocky Linux 8.5

sudo dnf -y install epel-release dnf-plugins-core
sudo dnf config-manager --set-enabled powertools
sudo dnf install cmake fftw3-devel mbedtls-devel lksctp-tools-devel libconfig-devel boost-devel redhat-lsb-core

git clone https://github.com/adjacentlink/srsRAN-emane.git
cd srsRAN-emane
mkdir build
cd build
cmake ..
make && make package
sudo dnf install srsran-emane-*-x86_64.rpm

Fedora 35

sudo dnf install cmake fftw3-devel mbedtls-devel lksctp-tools-devel libconfig-devel boost-devel redhat-lsb-core
git clone https://github.com/adjacentlink/srsRAN-emane.git
cd srsRAN-emane
mkdir build
cd build
cmake ..
make && make package
sudo dnf install srsran-emane-*-x86_64.rpm

Ubuntu 20.04

sudo apt-get install cmake libfftw3-dev libmbedtls-dev libboost-program-options-dev libconfig++-dev libsctp-dev lsb-release
git clone https://github.com/adjacentlink/srsRAN-emane.git
cd srsRAN-emane
mkdir build
cd build
cmake ..
make && make package
sudo dpkg -i srsran-emane-*-x86_64.deb; sudo apt-get install -f

Demonstration

EMANE LTE Model contains a demonstration for running a small network with two UEs and one ENB.


Configuration

Each of the emane version srsRAN applications take an input configuration file, identical to the one used by the regular srsRAN applications, with the following additional parameters.

[runtime]
daemonize = 1     # 0 - foreground, 1 - run as daemon

[mhal]
#statistic_service_endpoint=0.0.0.0:47100
#emane_configfile=emanelte.xml

The new runtime configuration section contains a daemonize parameter that controls whether the application runs in the foreground or as a daemon.

The new mhal section contains a statistic_service_endpoint parameter to set the OpenStatistic query address and port (all applications), and the emane_configfile parameter takes the name of the the configuration file fed to the embedded EMANE instance (srsenb-emane and srsue-emane only). Default values shown.

About

Open source SDR 4G/5G software suite from Software Radio Systems (SRS)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 80.6%
  • C 18.3%
  • Other 1.1%