Running srsRAN Project¶
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
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.
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:
Running the gNB¶
sudo make installor 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
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: