Version 9 (modified by 5 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
- Two nodes, with appropriate hardware, within RF range
- Currently supported: USRP x310, USRP 2974, USRP b210
- Load the image
tutorial-oai.ndz
onto both nodes - Turn the nodes on
- If graphical display is desired, enable x11 tunneling to console and then to nodes
- ssh to the nodes
## On node 1
- run
/opt/oaiscripts/build_oai.sh
to build for the current hardware and kernel - edit the file
/opt/oaiscripts/run_enb.sh
for the SDR in use, for example, set SDR IP addr and max gain - 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
- run /opt/oaiscripts/build_oai.sh to build for the current hardware and kernel
- edit the file /opt/oaiscripts/run_ue.sh for the SDR in use, for example, set SDR IP addr and max gain
- 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
- Explanations from:
- [Mathworks LTE](https://www.mathworks.com/help/lte/physical-channels.html)
- 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
- set usrp address to "type=x3xx,resource=rio0"
- on eNB, set att_tx=70, att_rx=10
- use RFSWITCH service to set all switches to port 1 for antenna
### sb2.orbit-lab.org
- set usrp address to "type=x3xx,addr=192.168.40.2"
- bring up usrp ethernet interface, set ip to 192.168.40.1/16
### sb1.orbit-lab.org
- set usrp address to "type=b210"
- UE_rxgain: 120
- UE_txgain: 30
- UE_maxpower: 0
- eNB_att_tx: 40
- eNB_att_rx: 0
### sb4.orbit-lab.org ===
- set usrp address to "type=b210"
- configure RF matrix for 60db of attenuation between eNB and UE node chosen