wiki:Tutorials/4G5G/openairinterface

Version 9 (modified by msherman, 4 years ago) ( diff )

# Overview This tutorial contains instructions for running the openairinterface eNB and UE on various platforms. It adapts the Eurecom tutorial at : https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/HowToConnectOAIENBWithOAIUEWithoutS1Interface for the ORBIT and COSMOS testbeds.

# Prerequisites

  1. Two nodes, with appropriate hardware, within RF range
  2. Currently supported: USRP x310, USRP 2974, USRP b210
  3. Load the image tutorial-oai.ndz onto both nodes
  4. Turn the nodes on
  5. If graphical display is desired, enable x11 tunneling to console and then to nodes
  6. ssh to the nodes

## On node 1

  1. run /opt/oaiscripts/build_oai.sh to build for the current hardware and kernel
  2. edit the file /opt/oaiscripts/run_enb.sh for the SDR in use, for example, set SDR IP addr and max gain
  3. run /opt/oaiscripts/run_enb.sh

Example script, change parameters as needed: run_enb.sh: ` #! /bin/bash #sdr_addrs takes standard uhd arguments, such as: #"type=x300,addr=192.168.40.2" #x310 over direct network #"type=x300,resource=rio0" #x310 over pcie #"type=b210" #b210 over usb #values for RUs.[0] override config file, must be set per usrp type #-d enables xforms charts

cd /opt/openairinterface5g source oaienv cd ./cmake_targets ./lte_build_oai/build/lte-softmodem \ -O $OPENAIR_HOME/ci-scripts/conf_files/enb.band7.tm1.25PRB.usrpb210.conf \ —nokrnmod 1 —noS1 —eNBs.[0].rrc_inactivity_threshold 0 \ —RUs.[0].att_tx 40 —RUs.[0].att_rx 0 \ —usrp-args "type=b200" \ -d `

## On Node 2

  1. run /opt/oaiscripts/build_oai.sh to build for the current hardware and kernel
  2. edit the file /opt/oaiscripts/run_ue.sh for the SDR in use, for example, set SDR IP addr and max gain
  3. run /opt/oaiscripts/run_ue.sh

Example script, change parameters as needed: run_ue.sh ` #! /bin/bash #sdr_addrs takes standard uhd arguments, such as: #"type=x300,addr=192.168.40.2" #x310 over direct network #"type=x300,resource=rio0" #x310 over pcie #"type=b210" #b210 over usb #values for RUs.[0] override config file, must be set per usrp type #-d enables xforms charts

cd /opt/openairinterface5g source oaienv cd ./cmake_targets/lte_build_oai/build ./lte-uesoftmodem \ -C 2680000000 -r 25 \ —ue-scan-carrier —nokrnmod 1 —noS1 \ —ue-rxgain 120 —ue-txgain 30 —ue-max-power 0 \ —ue-nb-ant-tx 1 —ue-nb-ant-rx 1 \ —usrp-args "type=b200" \ -d `

# Results

## Once Both nodes are running

  • if all is successfull, you shouuld see new interfaces on the two nodes, with addresses:
    • 10.0.1.1
    • 10.0.1.2
  • you should be able to run ping, iperf, and so on

# Understanding xforms terms and plots

  • PBCH: physical broadcast channel
    • The PBCH carries part of the system information required for terminals to access the network
  • PUSCH: physical uplink control channel
  • PDCCH: physical downlink control channel
    • The PDCCH conveys control information, scheduling decisions for PDSCH reception, and for scheduling grants enabling transmission on the PUSCH.
  • PUSCH: physical uplink shared channel
  • PDSCH: physical downlink shared channel
    • The PDSCH carries user data and paging information to the terminal.

# Details and Troubleshooting ## Calibration

  • physical attenuation
  • received signal at UE
  • received signal at eNB
  • pdsch constellation at UE
  • pdsch constellation at eNB

## Expected Performance This depends on a number of factors, including:

  • the total bandwidth (number of resource blocks)
    • 5mhz:25prb
    • 10mhz:50prb
    • 20mhz:100prb
  • p(d/u)sch modulation:
    • qpsk
    • 16qam
    • 64qam
    • 256qam
  • FDD vs TDD
  • number of MIMO channels
  • control vs data channel split

For the default config file in this tutorial, it's:

  • 1/1 non-mimo
  • FDD band 7
  • 5mhz/25PRB
  • up to 256qam, depending on signal
  • control / data split of (0.25/0.75?)
  • so you can expect up to 19mbps downlink at 64qam, and 25mbps downlink at 256qam

## Specifics per domain ### sb2.cosmos-lab.org

  1. set usrp address to "type=x3xx,resource=rio0"
  2. on eNB, set att_tx=70, att_rx=10
  3. use RFSWITCH service to set all switches to port 1 for antenna

### sb2.orbit-lab.org

  1. set usrp address to "type=x3xx,addr=192.168.40.2"
  2. bring up usrp ethernet interface, set ip to 192.168.40.1/16

### sb1.orbit-lab.org

  1. set usrp address to "type=b210"
  2. UE_rxgain: 120
  3. UE_txgain: 30
  4. UE_maxpower: 0
  5. eNB_att_tx: 40
  6. eNB_att_rx: 0

### sb4.orbit-lab.org ===

  1. set usrp address to "type=b210"
  2. configure RF matrix for 60db of attenuation between eNB and UE node chosen
Note: See TracWiki for help on using the wiki.