### Start the UE Example Source: https://docs.srsran.com/projects/4g/en/latest/app_notes/source/nbiot/source/index.html Runs the UE to decode the test transmission by specifying the RNTI and skipping SIB2 decoding. ```bash $ ./lib/examples/npdsch_ue -f 868e6 -r 0x1234 -s Opening RF device... Found Rafael Micro R820T tuner Soapy has found device #0: driver=rtlsdr, label=Generic RTL2832U OEM :: 00000001, manufacturer=Realtek, product=RTL2838UHIDIR, serial=00000001, tuner=Rafael Micro R820T, Selecting Soapy device: 0 [INFO] Opening Generic RTL2832U OEM :: 00000001... Found Rafael Micro R820T tuner Setting up Rx stream with 1 channel(s) [INFO] Using format CF32. [R82XX] PLL not locked! Available device sensors: Available sensors for Rx channel 0: State of gain elements for Rx channel 0 (AGC supported): - TUNER: 0.00 dB State of gain elements for Tx channel 0 (AGC supported): - TUNER: 0.00 dB Rx antenna set to RX Tx antenna set to RX Set RX gain: 40.0 dB Set RX freq: 868.000000 MHz Setting sampling rate 1.92 MHz NSSS with peak=24.363365, cell-id: 0, partial SFN: 0 *Found n_id_ncell: 0 DetectRatio= 0% PSR=8.66, Power=86.4 dBm MIB received (CFO: -1,55 kHz) FrameCnt: 0, State: 10 SIB1 received CFO: -1,41 kHz, RSRP: 12,0 dBm SNR: 19,0 dB, RSRQ: -3,7 dB, NPDCCH detected: 510, NPDSCH-BLER: 0,20% (1 of total 511), NPDSCH-Rate: 10,36 kbit/s ``` -------------------------------- ### Example Console Output Source: https://docs.srsran.com/projects/4g/en/latest/_sources/app_notes/source/5g_nsa_amari/source/index.rst.txt Expected console output after starting the base station. ```text LTE Base Station version 2021-03-15, Copyright (C) 2012-2021 Amarisoft This software is licensed to Software Radio Systems (SRS). Support and software update available until 2021-10-29. RF0: sample_rate=11.520 MHz dl_freq=2140.000 MHz ul_freq=1950.000 MHz (band 1) dl_ant=1 ul_ant=1 RF1: sample_rate=23.040 MHz dl_freq=3507.840 MHz ul_freq=3507.840 MHz (band n78) dl_ant=1 ul_ant=1 ``` -------------------------------- ### Install LimeSuite Source: https://docs.srsran.com/projects/4g/en/latest/_sources/app_notes/source/pi4/source/index.rst.txt Build and install LimeSuite, then verify the connection with LimeUtil and SoapySDRUtil. ```bash sudo apt install libusb-1.0-0-dev git clone https://github.com/myriadrf/LimeSuite.git cd LimeSuite git checkout tags/v20.01.0 mkdir builddir && cd builddir cmake ../ make -j4 sudo make install sudo ldconfig cd .. cd udev-rules sudo ./install.sh ## Then test the connection by typing: LimeUtil --find LimeUtil --update SoapySDRUtil --find ``` -------------------------------- ### Install ZeroMQ via APT Source: https://docs.srsran.com/projects/4g/en/latest/_sources/app_notes/source/zeromq/source/index.rst.txt Install the ZeroMQ development libraries on Ubuntu systems. ```bash sudo apt-get install libzmq3-dev ``` -------------------------------- ### Install srsUE on Ubuntu Source: https://docs.srsran.com/projects/4g/en/latest/_sources/usermanuals/source/srsue/source/2_ue_getstarted.rst.txt Commands to add the repository and install srsUE using apt. ```bash sudo add-apt-repository ppa:srslte/releases sudo apt-get update sudo apt-get install srsue ``` -------------------------------- ### Install SoapySDR Source: https://docs.srsran.com/projects/4g/en/latest/_sources/app_notes/source/pi4/source/index.rst.txt Build and install SoapySDR from source. ```bash git clone https://github.com/pothosware/SoapySDR.git cd SoapySDR git checkout tags/soapy-sdr-0.7.2 mkdir build && cd build cmake .. make -j4 sudo make install sudo ldconfig ``` -------------------------------- ### Start UE Source: https://docs.srsran.com/projects/4g/en/latest/app_notes/source/5g_nsa_zmq/source/index.html Launch the UE service to connect to the eNB/gNB. ```bash sudo srsue ``` ```text Opening 2 channels in RF device=zmq with args=tx_port0=tcp://*:2001,rx_port0=tcp://localhost:2000,tx_port1=tcp://*:2101,rx_port1=tcp://localhost:2100,id=ue,base_srate=23.04e6 CHx base_srate=23.04e6 CHx id=ue Current sample rate is 1.92 MHz with a base rate of 23.04 MHz (x12 decimation) CH0 rx_port=tcp://localhost:2000 CH0 tx_port=tcp://*:2001 CH1 rx_port=tcp://localhost:2100 CH1 tx_port=tcp://*:2101 Waiting PHY to initialize ... done! Attaching UE... Current sample rate is 1.92 MHz with a base rate of 23.04 MHz (x12 decimation) Current sample rate is 1.92 MHz with a base rate of 23.04 MHz (x12 decimation) . Found Cell: Mode=FDD, PCI=1, PRB=50, Ports=1, CP=Normal, CFO=-0.2 KHz Current sample rate is 11.52 MHz with a base rate of 23.04 MHz (x2 decimation) Current sample rate is 11.52 MHz with a base rate of 23.04 MHz (x2 decimation) Found PLMN: Id=00101, TAC=7 Random Access Transmission: seq=33, tti=981, ra-rnti=0x2 RRC Connected Random Access Complete. c-rnti=0x46, ta=0 Network attach successful. IP: 172.16.0.3 Software Radio Systems RAN (srsRAN) 13/10/2021 15:29:9 TZ:0 RRC NR reconfiguration successful. Random Access Transmission: prach_occasion=0, preamble_index=0, ra-rnti=0xf, tti=1611 Random Access Complete. c-rnti=0x4601, ta=0 ``` -------------------------------- ### Launch Pi4 eNodeB Source: https://docs.srsran.com/projects/4g/en/latest/app_notes/source/pi4/source/index.html Starts the srsENB software using the specified configuration file. The first execution may take several minutes for initial setup. ```bash sudo srsenb /root/.config/srsran_4g/enb.conf ``` -------------------------------- ### Build libzmq from Source Source: https://docs.srsran.com/projects/4g/en/latest/_sources/app_notes/source/zeromq/source/index.rst.txt Manual compilation and installation steps for libzmq. ```bash git clone https://github.com/zeromq/libzmq.git cd libzmq ./autogen.sh ./configure make sudo make install sudo ldconfig ``` -------------------------------- ### Install LimeSuite Source: https://docs.srsran.com/projects/4g/en/latest/app_notes/source/pi4/source/index.html Build and install LimeSuite for LimeSDR support, including udev rules. ```bash sudo apt install libusb-1.0-0-dev git clone https://github.com/myriadrf/LimeSuite.git cd LimeSuite git checkout tags/v20.01.0 mkdir builddir && cd builddir cmake ../ make -j4 sudo make install sudo ldconfig cd .. cd udev-rules sudo ./install.sh ## Then test the connection by typing: LimeUtil --find LimeUtil --update SoapySDRUtil --find ``` -------------------------------- ### Install configuration files Source: https://docs.srsran.com/projects/4g/en/latest/_sources/app_notes/source/cots_ue/source/index.rst.txt Run this command to install base configuration files for srsRAN 4G. ```bash sudo srsran_4g_install_configs.sh ``` -------------------------------- ### Build czmq from Source Source: https://docs.srsran.com/projects/4g/en/latest/_sources/app_notes/source/zeromq/source/index.rst.txt Manual compilation and installation steps for czmq. ```bash git clone https://github.com/zeromq/czmq.git cd czmq ./autogen.sh ./configure make sudo make install sudo ldconfig ``` -------------------------------- ### gNB Initialization Output Source: https://docs.srsran.com/projects/4g/en/latest/app_notes/source/5g_sa_amari/source/index.html Example console output upon gNB startup. ```text Base Station version 2021-03-15, Copyright (C) 2012-2021 Amarisoft RF0: sample_rate=61.440 MHz dl_freq=1836.740 MHz ul_freq=1741.740 MHz (band n3) dl_ant=1 ul_ant=1 ``` -------------------------------- ### Install srsENB on Ubuntu Source: https://docs.srsran.com/projects/4g/en/latest/_sources/usermanuals/source/srsenb/source/2_enb_getstarted.rst.txt Commands to add the repository and install srsENB binary packages. ```bash sudo add-apt-repository ppa:srslte/releases sudo apt-get update sudo apt-get install srsenb ``` -------------------------------- ### Example srsENB Console Output Source: https://docs.srsran.com/projects/4g/en/latest/_sources/usermanuals/source/srsenb/source/2_enb_getstarted.rst.txt Sample output showing successful initialization of the eNodeB. ```text linux; GNU C++ version 6.3.0 20170618; Boost_106200; UHD_003.009.007-release Built in RelWithDebInfo mode using commit 6b2961fce on branch next. --- Software Radio Systems LTE eNodeB --- Reading configuration file /conf/enb.conf... Setting number of control symbols to 3 for 25 PRB cell. Opening USRP with args: type=b200,master_clock_rate=30.72e6 Setting frequency: DL=2630.0 Mhz, UL=2510.0 MHz Setting Sampling frequency 5.76 MHz Enter t to stop trace. ==== eNodeB started === ``` -------------------------------- ### Install UHD Drivers Source: https://docs.srsran.com/projects/4g/en/latest/_sources/app_notes/source/pi4/source/index.rst.txt Install UHD development libraries and host tools for USRP devices, then verify the connection. ```bash sudo apt install libuhd-dev libuhd3.15.0 uhd-host sudo /usr/lib/uhd/utils/uhd_images_downloader.py ## Then test the connection by typing: sudo uhd_usrp_probe ``` -------------------------------- ### Console Output Examples Source: https://docs.srsran.com/projects/4g/en/latest/_sources/app_notes/source/5g_sa_amari/source/index.rst.txt Expected console output during network initialization and operation. ```text Base Station version 2021-03-15, Copyright (C) 2012-2021 Amarisoft RF0: sample_rate=61.440 MHz dl_freq=1836.740 MHz ul_freq=1741.740 MHz (band n3) dl_ant=1 ul_ant=1 ``` ```text Opening 1 channels in RF device=uhd with args=type=x300,serial=30B8658,clock=external,sampling_rate=23.04e6,lo_freq_offset_hz=23.04e6,None ``` ```text Found Cell: Mode=FDD, PCI=1, PRB=50, Ports=1, CFO=0.1 KHz Found PLMN: Id=00101, TAC=7 Random Access Transmission: prach_occasion=0, preamble_index=0, ra-rnti=0xf, tti=3851 Random Access Complete. c-rnti=0x4601, ta=3 RRC Connected RRC NR reconfiguration successful. PDU Session Establishment successful. IP: 192.168.4.2 RRC NR reconfiguration successful. ``` ```text PRACH: cell=01 seq=0 ta=3 snr=29.1 dB ``` ```text ---------Signal-----------|-----------------DL-----------------|----------- rat pci rsrp pl cfo | mcs snr iter brate bler ta_us | mcs buff brate bler nr 500 -3 0 2.0 | 27 28 2.0 23M 0% 0.0 | 27 59 16M 0% nr 500 -3 0 1.6 | 27 28 2.1 23M 0% 0.0 | 27 30k 16M 0% nr 500 -3 0 2.0 | 27 28 2.1 23M 0% 0.0 | 27 44k 16M 0% nr 500 -3 0 824m | 27 28 2.1 23M 0% 0.0 | 27 26k 16M 0% nr 500 -3 0 1.1 | 27 28 2.1 23M 0% 0.0 | 27 10k 17M 0% nr 500 -3 0 1.3 | 27 28 2.0 23M 0% 0.0 | 27 0.0 16M 0% nr 500 -3 0 106m | 27 28 2.0 23M 0% 0.0 | 27 118k 16M 0% nr 500 -4 0 1.0 | 27 28 2.1 22M 0% 0.0 | 27 52k 21M 0% nr 500 -4 0 1.9 | 27 28 2.0 22M 0% 0.0 | 27 57k 21M 0% nr 500 -3 0 840m | 27 28 2.0 23M 0% 0.0 | 27 54k 19M 0% nr 500 -3 0 160m | 27 28 2.0 23M 0% 0.0 | 27 20k 18M 0% ``` -------------------------------- ### Example Log Output with Hex Source: https://docs.srsran.com/projects/4g/en/latest/usermanuals/source/srsue/source/2_ue_getstarted.html Log output example including hex message data. ```text 17:52:25.246 [RLC ] Info DRB1 Tx SDU 0000: 8b 45 00 00 c7 f3 8b 40 00 01 11 d1 f6 c0 a8 03 0010: 01 ef ff ff fa 92 55 07 6c 00 b3 ee 41 4d 2d 53 ``` -------------------------------- ### Start EPC Source: https://docs.srsran.com/projects/4g/en/latest/_sources/app_notes/source/5g_nsa_zmq/source/index.rst.txt Command to launch the EPC and expected initialization output. ```bash sudo srsepc ``` ```text HSS Initialized. MME S11 Initialized MME GTP-C Initialized MME Initialized. MCC: 0xf001, MNC: 0xff01 SPGW GTP-U Initialized. SPGW S11 Initialized. SP-GW Initialized. ``` -------------------------------- ### Run EPC Source: https://docs.srsran.com/projects/4g/en/latest/_sources/app_notes/source/zeromq/source/index.rst.txt Start the Evolved Packet Core component. ```bash sudo ./srsepc/src/srsepc ``` -------------------------------- ### Start srsEPC Source: https://docs.srsran.com/projects/4g/en/latest/_sources/app_notes/source/5g_nsa_cots/source/index.rst.txt Launch the srsEPC service to initialize the HSS, MME, and SPGW components. ```bash sudo srsepc ``` ```text Built in Release mode using commit c892ae56b on branch master. --- Software Radio Systems EPC --- Reading configuration file /etc/srsran_4G/epc.conf... HSS Initialized. MME S11 Initialized MME GTP-C Initialized MME Initialized. MCC: 0xf901, MNC: 0xff70 SPGW GTP-U Initialized. SPGW S11 Initialized. SP-GW Initialized. ``` -------------------------------- ### Install and Configure srsRAN 4G Source: https://docs.srsran.com/projects/4g/en/latest/_sources/general/source/1_installation.rst.txt Final steps to install the built binaries and copy default configuration files to the user directory. ```bash sudo make install srsran_install_configs.sh user ``` -------------------------------- ### Start srsENB Source: https://docs.srsran.com/projects/4g/en/latest/_sources/app_notes/source/5g_nsa_cots/source/index.rst.txt Launch the srsENB service to begin eNodeB operations. ```bash sudo srsenb ``` ```text --- Software Radio Systems LTE eNodeB --- ``` -------------------------------- ### Install srsEPC on Ubuntu Source: https://docs.srsran.com/projects/4g/en/latest/_sources/usermanuals/source/srsepc/source/2_epc_getstarted.rst.txt Use these commands to add the repository and install the srsEPC binary package on Ubuntu systems. ```bash sudo add-apt-repository ppa:srslte/releases sudo apt-get update sudo apt-get install srsepc ``` -------------------------------- ### iPerf Output Examples Source: https://docs.srsran.com/projects/4g/en/latest/app_notes/source/5g_nsa_zmq/source/index.html Sample output logs for iPerf client and server connections. ```text Connecting to host 172.16.0.1, port 5201 [ 5] local 172.16.0.2 port 52484 connected to 172.16.0.1 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 954 KBytes 7.81 Mbits/sec 0 79.2 KBytes [ 5] 1.00-2.00 sec 1.12 MBytes 9.44 Mbits/sec 0 126 KBytes [ 5] 2.00-3.00 sec 1.00 MBytes 8.39 Mbits/sec 12 49.5 KBytes [ 5] 3.00-4.00 sec 640 KBytes 5.24 Mbits/sec 2 42.4 KBytes [ 5] 4.00-5.00 sec 512 KBytes 4.19 Mbits/sec 2 39.6 KBytes [ 5] 5.00-6.00 sec 512 KBytes 4.19 Mbits/sec 2 33.9 KBytes ``` ```text ----------------------------------------------------------- Server listening on 5201 ----------------------------------------------------------- Accepted connection from 172.16.0.2, port 52482 [ 5] local 172.16.0.1 port 5201 connected to 172.16.0.2 port 52484 [ ID] Interval Transfer Bitrate [ 5] 0.00-1.00 sec 634 KBytes 5.19 Mbits/sec [ 5] 1.00-2.00 sec 950 KBytes 7.78 Mbits/sec [ 5] 2.00-3.00 sec 977 KBytes 8.00 Mbits/sec [ 5] 3.00-4.00 sec 533 KBytes 4.36 Mbits/sec [ 5] 4.00-5.00 sec 553 KBytes 4.53 Mbits/sec [ 5] 5.00-6.00 sec 537 KBytes 4.40 Mbits/sec ``` -------------------------------- ### Run srsUE Source: https://docs.srsran.com/projects/4g/en/latest/_sources/app_notes/source/embms/source/index.rst.txt Command to start the UE and receive eMBMS data. ```bash sudo ./srsue ~/.config/srsran_4g/ue.conf ``` -------------------------------- ### Network Execution Commands Source: https://docs.srsran.com/projects/4g/en/latest/_sources/app_notes/source/5g_sa_amari/source/index.rst.txt Commands to start the 5GC, gNB, and UE components. ```bash sudo ltemme mme.cfg ``` ```bash sudo lteenb gnb-nsa.cfg ``` ```bash sudo srsue ue.conf ``` -------------------------------- ### Expected srsUE Terminal Output Source: https://docs.srsran.com/projects/4g/en/latest/_sources/app_notes/source/embms/source/index.rst.txt Example log output indicating successful eMBMS service start. ```text Searching cell in DL EARFCN=3400, f_dl=2685.0 MHz, f_ul=2565.0 MHz Found Cell: Mode=FDD, PCI=1, PRB=50, Ports=1, CFO=-0.0 KHz Found PLMN: Id=00101, TAC=7 Random Access Transmission: seq=20, ra-rnti=0x2 Random Access Complete. c-rnti=0x46, ta=1 RRC Connected MBMS service started. Service id:0, port: 4321 Network attach successful. IP: 172.16.0.2 Software Radio Systems LTE (srsRAN 4G) ``` -------------------------------- ### eNodeB Startup Console Output Source: https://docs.srsran.com/projects/4g/en/latest/_sources/app_notes/source/handover/source/index.rst.txt Example output showing the initialization of the eNodeB with ZMQ RF device configuration. ```text Reading configuration file /etc/srsran_4g/enb.conf... Built in Release mode using commit 7e60d8aae on branch next. Opening 2 channels in RF device=zmq with args=fail_on_disconnect=true,id=enb,tx_port0=tcp://*:2101,tx_port1=tcp://*:2201,rx_port0=tcp://localhost:2100,rx_port1=tcp://localhost:2200,id=enb,base_srate=23.04e6 CHx base_srate=23.04e6 CHx id=enb Current sample rate is 1.92 MHz with a base rate of 23.04 MHz (x12 decimation) CH0 rx_port=tcp://localhost:2100 CH0 tx_port=tcp://*:2101 CH0 fail_on_disconnect=true CH1 rx_port=tcp://localhost:2200 CH1 tx_port=tcp://*:2201 Current sample rate is 11.52 MHz with a base rate of 23.04 MHz (x2 decimation) Current sample rate is 11.52 MHz with a base rate of 23.04 MHz (x2 decimation) Setting frequency: DL=2630.0 Mhz, UL=2510.0 MHz for cc_idx=0 Setting frequency: DL=2630.0 Mhz, UL=2510.0 MHz for cc_idx=1 ==== eNodeB started === Type to view trace ``` -------------------------------- ### PHY-layer Log Example Source: https://docs.srsran.com/projects/4g/en/latest/_sources/usermanuals/source/srsue/source/2_ue_getstarted.rst.txt Example of a detailed PHY-layer log message. ```text 17:52:26.094 [PHY1] Info [05788] PDSCH: l_crb= 1, harq=0, snr=22.1 dB, CW0: tbs=55, mcs=22, rv=0, crc=OK, it=1, dec_time= 12 us ``` -------------------------------- ### Install Configuration Files Source: https://docs.srsran.com/projects/4g/en/latest/_sources/usermanuals/source/srsepc/source/2_epc_getstarted.rst.txt Run this script to copy default configuration files to the user's local configuration directory. ```bash srsran_4g_install_configs.sh user ``` -------------------------------- ### Standard Log Example Source: https://docs.srsran.com/projects/4g/en/latest/_sources/usermanuals/source/srsue/source/2_ue_getstarted.rst.txt Example of a standard RLC layer log message. ```text 17:52:25.246 [RLC ] Info DRB1 Tx SDU ``` -------------------------------- ### Install srsRAN 4G Dependencies Source: https://docs.srsran.com/projects/4g/en/latest/_sources/app_notes/source/handover/source/index.rst.txt Command to install required system dependencies on Ubuntu systems. ```bash sudo apt-get install cmake libfftw3-dev libmbedtls-dev libboost-program-options-dev libconfig++-dev libsctp-dev ``` -------------------------------- ### UE Startup Command and Console Output Source: https://docs.srsran.com/projects/4g/en/latest/_sources/app_notes/source/handover/source/index.rst.txt Command to initiate the UE and the expected console output during initialization. ```bash sudo srsue ``` ```text Reading configuration file /etc/srsran_4g/ue.conf... Built in Release mode using commit 7e60d8aae on branch next. Opening 1 channels in RF device=zmq with args=tx_port=tcp://*:2001,rx_port=tcp://localhost:2000,id=ue,base_srate=23.04e6 CHx base_srate=23.04e6 CHx id=ue Current sample rate is 1.92 MHz with a base rate of 23.04 MHz (x12 decimation) CH0 rx_port=tcp://localhost:2000 CH0 tx_port=tcp://*:2001 Waiting PHY to initialize ... done! Attaching UE... Current sample rate is 1.92 MHz with a base rate of 23.04 MHz (x12 decimation) Current sample rate is 1.92 MHz with a base rate of 23.04 MHz (x12 decimation) ``` -------------------------------- ### Instantiate UE with Network Namespace Source: https://docs.srsran.com/projects/4g/en/latest/app_notes/source/handover/source/index.html Sets up the UE with ZMQ and creates a network namespace for isolation. ```bash #!/bin/bash LOG_PARAMS="--log.all_level=debug" PORT_ARGS="tx_port=tcp://*:2001,rx_port=tcp://localhost:2000" ZMQ_ARGS="--rf.device_name=zmq --rf.device_args=\"${PORT_ARGS},id=ue,base_srate=23.04e6\" --gw.netns=ue1" ## Create netns for UE ip netns list | grep "ue1" > /dev/null if [ $? -eq 1 ]; then echo creating netspace ue1... sudo ip netns add ue1 if [ $? -ne 0 ]; then echo failed to create netns ue1 exit 1 fi fi sudo srsue ue.conf ${LOG_PARAMS} ${ZMQ_ARGS} --rat.eutra.dl_earfcn=3350 "$@" ``` -------------------------------- ### Install PCSC dependencies on Debian/Ubuntu Source: https://docs.srsran.com/projects/4g/en/latest/_sources/usermanuals/source/srsue/source/4_ue_advanced.rst.txt Install the necessary development headers and daemon for PCSC support. ```bash sudo apt-get install libpcsclite-dev pcscd pcsc-tools ``` -------------------------------- ### Install Build Dependencies Source: https://docs.srsran.com/projects/4g/en/latest/_sources/app_notes/source/pi4/source/index.rst.txt Install cmake and system updates required for building srsRAN 4G. ```bash sudo apt update sudo apt upgrade sudo apt install cmake ``` -------------------------------- ### Start eNB/gNB Source: https://docs.srsran.com/projects/4g/en/latest/_sources/app_notes/source/5g_nsa_zmq/source/index.rst.txt Command to launch the eNB and expected output confirming ZMQ channel configuration. ```bash sudo srsenb ``` ```text Opening 2 channels in RF device=zmq with args=fail_on_disconnect=true,tx_port0=tcp://*:2000,rx_port0=tcp://localhost:2001,tx_port1=tcp://*:2100,rx_port1=tcp://localhost:2101,id=enb,base_srate=23.04e6 CHx base_srate=23.04e6 CHx id=enb Current sample rate is 1.92 MHz with a base rate of 23.04 MHz (x12 decimation) CH0 rx_port=tcp://localhost:2001 CH0 tx_port=tcp://*:2000 CH0 fail_on_disconnect=true CH1 rx_port=tcp://localhost:2101 CH1 tx_port=tcp://*:2100 ==== eNodeB started === Type to view trace Current sample rate is 11.52 MHz with a base rate of 23.04 MHz (x2 decimation) Current sample rate is 11.52 MHz with a base rate of 23.04 MHz (x2 decimation) Setting frequency: DL=2680.0 Mhz, UL=2560.0 MHz for cc_idx=0 nof_prb=50 Setting frequency: DL=1842.5 Mhz, UL=1747.5 MHz for cc_idx=1 nof_prb=52 ``` -------------------------------- ### Build and Install srsRAN 4G Source: https://docs.srsran.com/projects/4g/en/latest/app_notes/source/pi4/source/index.html Compile srsRAN 4G from source and install default configuration files. ```bash sudo apt install libfftw3-dev libmbedtls-dev libboost-program-options-dev libconfig++-dev libsctp-dev git clone https://github.com/srsRAN/srsRAN_4G.git cd srsRAN_4G git checkout tags/release_19_12 mkdir build && cd build cmake ../ make -j4 sudo make install sudo ldconfig ## copy configs to /root sudo ./srsran_4g_install_configs.sh user ``` -------------------------------- ### Network Element Startup Scripts Source: https://docs.srsran.com/projects/4g/en/latest/_sources/app_notes/source/handover/source/index.rst.txt Bash scripts for launching eNB 1, eNB 2, and the UE with ZMQ RF device configuration and network namespace setup. ```bash #!/bin/bash LOG_ARGS="--log.all_level=debug" PORT_ARGS="tx_port=tcp://*:2101,rx_port=tcp://localhost:2100" ZMQ_ARGS="--rf.device_name=zmq --rf.device_args=\"${PORT_ARGS},id=enb,base_srate=23.04e6\"" OTHER_ARGS="--enb_files.rr_config=rr1.conf" sudo srsenb enb.conf ${LOG_ARGS} ${ZMQ_ARGS} ${OTHER_ARGS} $@ ``` ```bash #!/bin/bash LOG_ARGS="--log.all_level=info" PORT_ARGS="tx_port=tcp://*:2201,rx_port=tcp://localhost:2200" ZMQ_ARGS="--rf.device_name=zmq --rf.device_args=\"${PORT_ARGS},id=enb,base_srate=23.04e6\"" OTHER_ARGS="--enb_files.rr_config=rr2.conf --enb.enb_id=0x19C --enb.gtp_bind_addr=127.0.1.2 --enb.s1c_bind_addr=127.0.1.2" sudo srsenb enb.conf ${LOG_ARGS} ${ZMQ_ARGS} ${OTHER_ARGS} $@ ``` ```bash #!/bin/bash LOG_PARAMS="--log.all_level=debug" PORT_ARGS="tx_port=tcp://*:2001,rx_port=tcp://localhost:2000" ZMQ_ARGS="--rf.device_name=zmq --rf.device_args=\"${PORT_ARGS},id=ue,base_srate=23.04e6\" --gw.netns=ue1" ## Create netns for UE ip netns list | grep "ue1" > /dev/null if [ $? -eq 1 ]; then echo creating netspace ue1... sudo ip netns add ue1 if [ $? -ne 0 ]; then echo failed to create netns ue1 exit 1 fi fi sudo srsue ue.conf ${LOG_PARAMS} ${ZMQ_ARGS} --rat.eutra.dl_earfcn=3350 "$@" ``` -------------------------------- ### Hex Message Log Example Source: https://docs.srsran.com/projects/4g/en/latest/_sources/usermanuals/source/srsue/source/2_ue_getstarted.rst.txt Example of an RLC layer log message with hex output enabled. ```text 17:52:25.246 [RLC ] Info DRB1 Tx SDU 0000: 8b 45 00 00 c7 f3 8b 40 00 01 11 d1 f6 c0 a8 03 0010: 01 ef ff ff fa 92 55 07 6c 00 b3 ee 41 4d 2d 53 ``` -------------------------------- ### Log Message Format Examples Source: https://docs.srsran.com/projects/4g/en/latest/_sources/usermanuals/source/srsenb/source/2_enb_getstarted.rst.txt Examples of standard log output formats and hex message representations. ```text Timestamp [Layer ] Level Content ``` ```text 17:52:25.246 [RLC ] Info DRB1 Tx SDU ``` ```text 17:52:25.246 [RLC ] Info DRB1 Tx SDU 0000: 8b 45 00 00 c7 f3 8b 40 00 01 11 d1 f6 c0 a8 03 0010: 01 ef ff ff fa 92 55 07 6c 00 b3 ee 41 4d 2d 53 ``` -------------------------------- ### Install UHD Drivers Source: https://docs.srsran.com/projects/4g/en/latest/app_notes/source/pi4/source/index.html Install USRP Hardware Driver (UHD) packages and download necessary firmware images. ```bash sudo apt install libuhd-dev libuhd3.15.0 uhd-host sudo /usr/lib/uhd/utils/uhd_images_downloader.py ## Then test the connection by typing: sudo uhd_usrp_probe ``` -------------------------------- ### Run eNodeB Source: https://docs.srsran.com/projects/4g/en/latest/_sources/app_notes/source/zeromq/source/index.rst.txt Launch the eNodeB using ZMQ virtual radio configuration. ```bash ./srsenb/src/srsenb --rf.device_name=zmq --rf.device_args="fail_on_disconnect=true,tx_port=tcp://*:2000,rx_port=tcp://localhost:2001,id=enb,base_srate=23.04e6" ``` -------------------------------- ### Install Build Dependencies Source: https://docs.srsran.com/projects/4g/en/latest/_sources/general/source/1_installation.rst.txt Commands to install mandatory development libraries required for building srsRAN 4G from source. ```bash sudo apt-get install build-essential cmake libfftw3-dev libmbedtls-dev libboost-program-options-dev libconfig++-dev libsctp-dev ``` ```bash dnf install cmake fftw3-devel mbedtls-devel lksctp-tools-devel libconfig-devel boost-devel ``` -------------------------------- ### Example Network Attach Output Source: https://docs.srsran.com/projects/4g/en/latest/_sources/usermanuals/source/srsue/source/2_ue_getstarted.rst.txt Sample console output showing a successful network attachment process. ```text linux; GNU C++ version 6.3.0 20170618; Boost_106200; UHD_003.009.007-release Reading configuration file /.config/srsran_4g/ue.conf... Built in RelWithDebInfo mode using commit 6b2961fce on branch next. Opening 1 RF devices with 2 RF channels... Opening USRP with args: type=b200,master_clock_rate=30.72e6 Waiting PHY to initialize ... done! Attaching UE... Searching cell in DL EARFCN=2850, f_dl=2630.0 MHz, f_ul=2510.0 MHz Found Cell: Mode=FDD, PCI=1, PRB=6, Ports=2, CFO=1.3 KHz Found PLMN: Id=00101, TAC=7 Random Access Transmission: seq=42, ra-rnti=0x2 RRC Connected Random Access Complete. c-rnti=0x46, ta=0 Network attach successful. IP: 192.168.3.2 ``` -------------------------------- ### Run srsUE Source: https://docs.srsran.com/projects/4g/en/latest/_sources/app_notes/source/5g_sa_E2E/source/index.rst.txt Command to start srsUE from the build folder using a specific configuration file. ```bash sudo ./srsue ue.conf ``` -------------------------------- ### Install SCTP kernel module Source: https://docs.srsran.com/projects/4g/en/latest/app_notes/source/pi4/source/index.html Installs the missing SCTP kernel module required for srsRAN 4G on Ubuntu 22.04 LTS. ```bash sudo apt-get install linux-modules-extra-raspi ``` -------------------------------- ### Build srsRAN 4G Source: https://docs.srsran.com/projects/4g/en/latest/_sources/app_notes/source/pi4/source/index.rst.txt Install required libraries, clone the srsRAN 4G repository, build the software, and install configuration files. ```bash sudo apt install libfftw3-dev libmbedtls-dev libboost-program-options-dev libconfig++-dev libsctp-dev git clone https://github.com/srsRAN/srsRAN_4G.git cd srsRAN_4G git checkout tags/release_19_12 mkdir build && cd build cmake ../ make -j4 sudo make install sudo ldconfig ## copy configs to /root sudo ./srsran_4g_install_configs.sh user ``` -------------------------------- ### Install srsRAN 4G via Ubuntu Packages Source: https://docs.srsran.com/projects/4g/en/latest/_sources/general/source/1_installation.rst.txt Use these commands to add the official repository and install the srsRAN 4G suite on Ubuntu systems. ```bash sudo add-apt-repository ppa:softwareradiosystems/srsran sudo apt-get update sudo apt-get install srsran -y ```