Running srsRAN Project¶
Baseline Requirements¶
To successfully run the srsRAN Project gNB you will need the following:
A PC with a Linux based OS (Ubuntu 20.04 or later)
A USRP device
srsRAN Project (see the Installation Guide)
A 3rd-party 5G core (we recommend Open5GS)
A 3rd-party 5G UE
Recommended:
External clock source
If you plan to connect the gNB to a COTS UE we recommend that you use an external clock source such as an Octoclock or GPSDO that is compatible with your RF-frontend, as the on-board clock within the USRP may not be accurate enough to enable a connection with the UE. This is discussed further in the relevant app note.
System Preparation¶
Before running the gNB application, we recommend tuning your system for best performance. We provide a script to configure known performance parameters:
The script does the following:
Sets the scaling governor to performance
Disables DRM KMS polling
Tunes network buffers (Ethernet based USRPs only)
Run the script as follows from the main project folder:
sudo ./scripts/srsran_performance
Running the gNB¶
sudo make install
or installed from packages then you will be able to run the gNB from anywhere on your machine./srsRAN_Project/build/apps/gnb
. In this folder you will find the gNB application binary.Run the gNB as follows, passing the YAML configuration file:
sudo gnb -c gnb_rf_b200_tdd_n78_10mhz.yml
configs/
folder in the srsRAN Project codebase.When running, the gNB should generate the following console output:
Available radio types: uhd.
--== srsRAN gNB (commit 77be7d339) ==--
[INFO] [UHD] linux; GNU C++ version 9.4.0; Boost_107100; UHD_4.2.0.HEAD-0-g197cdc4f
Making USRP object with args 'type=b200'
Cell pci=1, bw=10 MHz, dl_arfcn=632628 (n78), dl_freq=3489.42 MHz, dl_ssb_arfcn=632640, ul_freq=3489.42 MHz
==== gNodeB started ===
Type <t> to view trace
Entering t
will enable the console trace, see here for more details.
Configuration parameters can also be passed on the command line. To see the list of options, use:
./gnb --help