From 6c4b46864665247bd2308520a224eda971bda348 Mon Sep 17 00:00:00 2001 From: luis_pereira87 Date: Mon, 18 Jul 2022 11:47:43 +0100 Subject: [PATCH 1/8] Tutorials: updates to use 100 MHz with 2 DL layers MIMO to achieve 640 Mbps downlink throughput with a single UE (820 Mbps with 2 UEs) --- doc/NR_SA_CN5G_gNB_B210_COTS_UE_Tutorial.md | 7 +++---- doc/NR_SA_CN5G_gNB_N300_COTS_UE_Tutorial.md | 11 +++++------ doc/tutorial_resources/docker-compose-basic-nrf.yaml | 2 ++ 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/doc/NR_SA_CN5G_gNB_B210_COTS_UE_Tutorial.md b/doc/NR_SA_CN5G_gNB_B210_COTS_UE_Tutorial.md index fc0700c699..2f898b2b36 100644 --- a/doc/NR_SA_CN5G_gNB_B210_COTS_UE_Tutorial.md +++ b/doc/NR_SA_CN5G_gNB_B210_COTS_UE_Tutorial.md @@ -158,7 +158,7 @@ cd cmake_targets cd ~/openairinterface5g source oaienv cd cmake_targets -./build_oai -w USRP --nrUE --gNB --build-lib all -c +./build_oai -w USRP --ninja --nrUE --gNB --build-lib all -c ``` @@ -191,10 +191,9 @@ With [PuTTY](https://the.earth.li/~sgtatham/putty/latest/w64/putty.exe), send th AT+QMBNCFG="Select","ROW_Commercial" AT+QMBNCFG="AutoSel",0 AT+CFUN=1,1 -AT+CGDCONT=1 +AT+CGDCONT=1,"IP","oai" AT+CGDCONT=2 AT+CGDCONT=3 -AT+CGDCONT=1,"IP","oai" # (Optional, debug only, AT commands) Activate PDP context, retrieve IP address and test with ping AT+CGACT=1,1 @@ -205,7 +204,7 @@ AT+QPING=1,"openairinterface.org" ## 5.2 Ping test - UE host ```bash -ping 192.168.70.135 -n 1000 -S 12.1.1.2 +ping 192.168.70.135 -t -S 12.1.1.2 ``` - CN5G host ```bash diff --git a/doc/NR_SA_CN5G_gNB_N300_COTS_UE_Tutorial.md b/doc/NR_SA_CN5G_gNB_N300_COTS_UE_Tutorial.md index d68057fd08..abedda397e 100644 --- a/doc/NR_SA_CN5G_gNB_N300_COTS_UE_Tutorial.md +++ b/doc/NR_SA_CN5G_gNB_N300_COTS_UE_Tutorial.md @@ -159,7 +159,7 @@ cd cmake_targets cd ~/openairinterface5g source oaienv cd cmake_targets -./build_oai -w USRP --nrUE --gNB --build-lib all -c +./build_oai -w USRP --ninja --nrUE --gNB --build-lib all -c ``` ## 3.3 N300 Ethernet Tuning @@ -195,7 +195,7 @@ python3 core-network.py --type start-basic --scenario 1 cd ~/openairinterface5g source oaienv cd cmake_targets/ran_build/build -sudo ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.162PRB.2x2.usrpn300.conf --sa --usrp-tx-thread-config 1 +sudo ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band77.fr1.273PRB.2x2.usrpn300.conf --sa --usrp-tx-thread-config 1 ``` @@ -208,10 +208,9 @@ With [PuTTY](https://the.earth.li/~sgtatham/putty/latest/w64/putty.exe), send th AT+QMBNCFG="Select","ROW_Commercial" AT+QMBNCFG="AutoSel",0 AT+CFUN=1,1 -AT+CGDCONT=1 +AT+CGDCONT=1,"IP","oai" AT+CGDCONT=2 AT+CGDCONT=3 -AT+CGDCONT=1,"IP","oai" # (Optional, debug only, AT commands) Activate PDP context, retrieve IP address and test with ping AT+CGACT=1,1 @@ -222,7 +221,7 @@ AT+QPING=1,"openairinterface.org" ## 5.2 Ping test - UE host ```bash -ping 192.168.70.135 -n 1000 -S 12.1.1.2 +ping 192.168.70.135 -t -S 12.1.1.2 ``` - CN5G host ```bash @@ -240,5 +239,5 @@ iperf -s -u -i 1 -B 12.1.1.2 - CN5G host ```bash -docker exec -it oai-ext-dn iperf -u -t 86400 -i 1 -fk -B 192.168.70.135 -b 200M -c 12.1.1.2 +docker exec -it oai-ext-dn iperf -u -t 86400 -i 1 -fk -B 192.168.70.135 -b 640M -c 12.1.1.2 ``` diff --git a/doc/tutorial_resources/docker-compose-basic-nrf.yaml b/doc/tutorial_resources/docker-compose-basic-nrf.yaml index b88020e6b0..7ad007f0e8 100644 --- a/doc/tutorial_resources/docker-compose-basic-nrf.yaml +++ b/doc/tutorial_resources/docker-compose-basic-nrf.yaml @@ -181,6 +181,8 @@ services: - UDM_PORT=80 - UDM_API_VERSION=v2 - UDM_FQDN=oai-udm + - INT_ALGO_LIST=["NIA1", "NIA2"] + - CIPH_ALGO_LIST=["NEA0", "NEA2"] depends_on: - mysql - oai-nrf From c0afb3490235b1e678270e14c757aa361c5b8652 Mon Sep 17 00:00:00 2001 From: luis_pereira87 Date: Fri, 26 Aug 2022 11:14:47 +0100 Subject: [PATCH 2/8] Tutorials: add instructions to run OAI gNB with USRP X300 --- doc/NR_SA_CN5G_gNB_B210_COTS_UE_Tutorial.md | 2 +- doc/NR_SA_CN5G_gNB_N300_COTS_UE_Tutorial.md | 11 +++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/doc/NR_SA_CN5G_gNB_B210_COTS_UE_Tutorial.md b/doc/NR_SA_CN5G_gNB_B210_COTS_UE_Tutorial.md index 2f898b2b36..c5561977a1 100644 --- a/doc/NR_SA_CN5G_gNB_B210_COTS_UE_Tutorial.md +++ b/doc/NR_SA_CN5G_gNB_B210_COTS_UE_Tutorial.md @@ -7,7 +7,7 @@ - OAI 5G SA tutorial + OAI 5G SA tutorial for USRP B210 diff --git a/doc/NR_SA_CN5G_gNB_N300_COTS_UE_Tutorial.md b/doc/NR_SA_CN5G_gNB_N300_COTS_UE_Tutorial.md index abedda397e..0fbff802ad 100644 --- a/doc/NR_SA_CN5G_gNB_N300_COTS_UE_Tutorial.md +++ b/doc/NR_SA_CN5G_gNB_N300_COTS_UE_Tutorial.md @@ -7,7 +7,7 @@ - OAI 5G SA tutorial + OAI 5G SA tutorial for USRP N300 or X300 @@ -46,7 +46,7 @@ Minimum hardware requirements: - CPU: 4 cores x86_64 - RAM: 8 GB - Windows driver for Quectel MUST be equal or higher than version **2.2.4** -- [USRP N300](https://www.ettus.com/all-products/USRP-N300/): Please identify the network interface(s) on which the N300 is connected. +- [USRP N300](https://www.ettus.com/all-products/USRP-N300/) or [USRP X300](https://www.ettus.com/all-products/x300-kit/): Please identify the network interface(s) on which the USRP is connected. - Quectel RM500Q - Module, M.2 to USB adapter, antennas and SIM card - Firmware version of Quectel MUST be equal or higher than **RM500QGLABR11A06M4G** @@ -192,10 +192,17 @@ python3 core-network.py --type start-basic --scenario 1 ## 4.2 Run OAI gNB ```bash +# USRP N300 cd ~/openairinterface5g source oaienv cd cmake_targets/ran_build/build sudo ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band77.fr1.273PRB.2x2.usrpn300.conf --sa --usrp-tx-thread-config 1 + +# USRP X300 +cd ~/openairinterface5g +source oaienv +cd cmake_targets/ran_build/build +sudo ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band77.fr1.273PRB.2x2.usrpn300.conf --sa --usrp-tx-thread-config 1 -E --continuous-tx ``` From a578a5c4483babec3f40d5470e6091f6fac41895 Mon Sep 17 00:00:00 2001 From: luis_pereira87 Date: Mon, 29 Aug 2022 12:49:25 +0100 Subject: [PATCH 3/8] Tutorials: merge all the tutorials for different USRPs into a single page --- doc/NR_SA_CN5G_gNB_B210_COTS_UE_Tutorial.md | 226 ------------------ ...> NR_SA_CN5G_gNB_USRP_COTS_UE_Tutorial.md} | 52 ++-- 2 files changed, 34 insertions(+), 244 deletions(-) delete mode 100644 doc/NR_SA_CN5G_gNB_B210_COTS_UE_Tutorial.md rename doc/{NR_SA_CN5G_gNB_N300_COTS_UE_Tutorial.md => NR_SA_CN5G_gNB_USRP_COTS_UE_Tutorial.md} (84%) diff --git a/doc/NR_SA_CN5G_gNB_B210_COTS_UE_Tutorial.md b/doc/NR_SA_CN5G_gNB_B210_COTS_UE_Tutorial.md deleted file mode 100644 index c5561977a1..0000000000 --- a/doc/NR_SA_CN5G_gNB_B210_COTS_UE_Tutorial.md +++ /dev/null @@ -1,226 +0,0 @@ - - - - - -
- - - - - - OAI 5G SA tutorial for USRP B210 -
- -**TABLE OF CONTENTS** - -1. [Scenario](#1-scenario) -2. [OAI CN5G](#2-oai-cn5g) - 1. [OAI CN5G pre-requisites](#21-oai-cn5g-pre-requisites) - 2. [OAI CN5G Setup](#22-oai-cn5g-setup) - 3. [OAI CN5G Configuration files](#23-oai-cn5g-configuration-files) - 4. [SIM Card](#24-sim-card) -3. [OAI gNB](#3-oai-gnb) - 1. [OAI gNB pre-requisites](#31-oai-gnb-pre-requisites) - 2. [Build OAI gNB](#32-build-oai-gnb) -4. [Run OAI CN5G and OAI gNB with USRP B210](#4-run-oai-cn5g-and-oai-gnb-with-usrp-b210) - 1. [Run OAI CN5G](#41-run-oai-cn5g) - 2. [Run OAI gNB](#42-run-oai-gnb) -5. [Testing with QUECTEL RM500Q](#5-testing-with-quectel-rm500q) - 1. [Setup QUECTEL](#51-setup-quectel) - 2. [Ping test](#52-ping-test) - 3. [Downlink iPerf test](#53-downlink-iperf-test) - - -# 1. Scenario -In this tutorial we describe how to configure and run a 5G end-to-end setup with OAI CN5G, OAI gNB and COTS UE. - -Minimum hardware requirements: -- Laptop/Desktop/Server for OAI CN5G and OAI gNB - - Operating System: [Ubuntu 20.04.4 LTS](https://releases.ubuntu.com/20.04.4/ubuntu-20.04.4-desktop-amd64.iso) - - CPU: 8 cores x86_64 @ 3.5 GHz - - RAM: 32 GB -- Laptop for UE - - Operating System: Microsoft Windows 10 x64 - - CPU: 4 cores x86_64 - - RAM: 8 GB - - Windows driver for Quectel MUST be equal or higher than version **2.2.4** -- [USRP B210](https://www.ettus.com/all-products/ub210-kit/) -- Quectel RM500Q - - Module, M.2 to USB adapter, antennas and SIM card - - Firmware version of Quectel MUST be equal or higher than **RM500QGLABR11A06M4G** - - -# 2. OAI CN5G - -## 2.1 OAI CN5G pre-requisites - -```bash -sudo apt install -y git net-tools putty - -sudo apt install -y apt-transport-https ca-certificates curl software-properties-common -curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - -sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" -sudo apt update -sudo apt install -y docker docker-ce - -# Add your username to the docker group, otherwise you will have to run in sudo mode. -sudo usermod -a -G docker $(whoami) -reboot - -# https://docs.docker.com/compose/install/ -sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose -sudo chmod +x /usr/local/bin/docker-compose -``` - -## 2.2 OAI CN5G Setup - -```bash -# Git oai-cn5g-fed repository -git clone https://gitlab.eurecom.fr/oai/cn5g/oai-cn5g-fed.git ~/oai-cn5g-fed - -# Pull docker images -docker pull oaisoftwarealliance/oai-amf:develop -docker pull oaisoftwarealliance/oai-nrf:develop -docker pull oaisoftwarealliance/oai-smf:develop -docker pull oaisoftwarealliance/oai-udr:develop -docker pull oaisoftwarealliance/oai-udm:develop -docker pull oaisoftwarealliance/oai-ausf:develop -docker pull oaisoftwarealliance/oai-spgwu-tiny:develop -docker pull oaisoftwarealliance/trf-gen-cn5g:latest - -# Tag docker images -docker image tag oaisoftwarealliance/oai-amf:develop oai-amf:develop -docker image tag oaisoftwarealliance/oai-nrf:develop oai-nrf:develop -docker image tag oaisoftwarealliance/oai-smf:develop oai-smf:develop -docker image tag oaisoftwarealliance/oai-udr:develop oai-udr:develop -docker image tag oaisoftwarealliance/oai-udm:develop oai-udm:develop -docker image tag oaisoftwarealliance/oai-ausf:develop oai-ausf:develop -docker image tag oaisoftwarealliance/oai-spgwu-tiny:develop oai-spgwu-tiny:develop -docker image tag oaisoftwarealliance/trf-gen-cn5g:latest trf-gen-cn5g:latest -``` - -## 2.3 OAI CN5G Configuration files -Download and copy configuration files: -- Copy [docker-compose-basic-nrf.yaml](tutorial_resources/docker-compose-basic-nrf.yaml) to `~/oai-cn5g-fed/docker-compose` -- Copy [oai_db.sql](tutorial_resources/oai_db.sql) to `~/oai-cn5g-fed/docker-compose/database` - -Change permissions on oai_db.sql to prevent mysql permission denied error: -```bash -chmod 644 ~/oai-cn5g-fed/docker-compose/database/oai_db.sql -``` - -## 2.4 SIM Card -Program SIM Card with [Open Cells Project](https://open-cells.com/) application [uicc-v2.6](https://open-cells.com/d5138782a8739209ec5760865b1e53b0/uicc-v2.6.tgz). - -```bash -sudo ./program_uicc --adm 12345678 --imsi 208990000000001 --isdn 00000001 --acc 0001 --key fec86ba6eb707ed08905757b1bb44b8f --opc C42449363BBAD02B66D16BC975D77CC1 -spn "OpenAirInterface" --authenticate -``` - - -# 3. OAI gNB - -## 3.1 OAI gNB pre-requisites - -### Build UHD from source -```bash -sudo apt install -y libboost-all-dev libusb-1.0-0-dev doxygen python3-docutils python3-mako python3-numpy python3-requests python3-ruamel.yaml python3-setuptools cmake build-essential - -git clone https://github.com/EttusResearch/uhd.git ~/uhd -cd ~/uhd -git checkout v4.0.0.0 -cd host -mkdir build -cd build -cmake ../ -make -j 4 -make test # This step is optional -sudo make install -sudo ldconfig -sudo uhd_images_downloader -``` - -## 3.2 Build OAI gNB - -```bash -# Get openairinterface5g source code -git clone https://gitlab.eurecom.fr/oai/openairinterface5g.git ~/openairinterface5g -cd ~/openairinterface5g -git checkout develop - -# Install dependencies in Ubuntu 20.04 -cd ~/openairinterface5g -source oaienv -cd cmake_targets -./build_oai -I - -# Build OAI gNB -cd ~/openairinterface5g -source oaienv -cd cmake_targets -./build_oai -w USRP --ninja --nrUE --gNB --build-lib all -c -``` - - -# 4. Run OAI CN5G and OAI gNB with USRP B210 - -## 4.1 Run OAI CN5G - -```bash -cd ~/oai-cn5g-fed/docker-compose -python3 core-network.py --type start-basic --scenario 1 -``` - -## 4.2 Run OAI gNB - -```bash -cd ~/openairinterface5g -source oaienv -cd cmake_targets/ran_build/build -sudo ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.conf --sa -E --continuous-tx -``` - -Make sure that during USRP initialization, it shows that USB 3 is used. - -# 5. Testing with Quectel RM500Q - -## 5.1 Setup Quectel -With [PuTTY](https://the.earth.li/~sgtatham/putty/latest/w64/putty.exe), send the following AT commands to the module using a serial interface (ex: COM2) at 115200 bps: -```bash -# MUST be sent at least once everytime there is a firmware upgrade! -AT+QMBNCFG="Select","ROW_Commercial" -AT+QMBNCFG="AutoSel",0 -AT+CFUN=1,1 -AT+CGDCONT=1,"IP","oai" -AT+CGDCONT=2 -AT+CGDCONT=3 - -# (Optional, debug only, AT commands) Activate PDP context, retrieve IP address and test with ping -AT+CGACT=1,1 -AT+CGPADDR=1 -AT+QPING=1,"openairinterface.org" -``` - -## 5.2 Ping test -- UE host -```bash -ping 192.168.70.135 -t -S 12.1.1.2 -``` -- CN5G host -```bash -docker exec -it oai-ext-dn ping 12.1.1.2 -``` - -## 5.3 Downlink iPerf test -- UE host - - Download iPerf for Microsoft Windows from [here](https://iperf.fr/download/windows/iperf-2.0.9-win64.zip). - - Extract to Desktop and run with Command Prompt: -```bash -cd C:\Users\User\Desktop\iPerf\iperf-2.0.9-win64\iperf-2.0.9-win64 -iperf -s -u -i 1 -B 12.1.1.2 -``` - -- CN5G host -```bash -docker exec -it oai-ext-dn iperf -u -t 86400 -i 1 -fk -B 192.168.70.135 -b 125M -c 12.1.1.2 -``` diff --git a/doc/NR_SA_CN5G_gNB_N300_COTS_UE_Tutorial.md b/doc/NR_SA_CN5G_gNB_USRP_COTS_UE_Tutorial.md similarity index 84% rename from doc/NR_SA_CN5G_gNB_N300_COTS_UE_Tutorial.md rename to doc/NR_SA_CN5G_gNB_USRP_COTS_UE_Tutorial.md index 0fbff802ad..d5149a6c4e 100644 --- a/doc/NR_SA_CN5G_gNB_N300_COTS_UE_Tutorial.md +++ b/doc/NR_SA_CN5G_gNB_USRP_COTS_UE_Tutorial.md @@ -7,7 +7,7 @@ - OAI 5G SA tutorial for USRP N300 or X300 + OAI 5G SA tutorial @@ -24,9 +24,12 @@ 1. [OAI gNB pre-requisites](#31-oai-gnb-pre-requisites) 2. [Build OAI gNB](#32-build-oai-gnb) 3. [N300 Ethernet Tuning](#33-n300-ethernet-tuning) -4. [Run OAI CN5G and OAI gNB with USRP N300](#4-run-oai-cn5g-and-oai-gnb-with-usrp-n300) +4. [Run OAI CN5G and OAI gNB](#4-run-oai-cn5g-and-oai-gnb) 1. [Run OAI CN5G](#41-run-oai-cn5g) 2. [Run OAI gNB](#42-run-oai-gnb) + 1. [USRP B210](#usrp-b210) + 2. [USRP N300](#usrp-n300) + 3. [USRP X300](#usrp-x300) 5. [Testing with QUECTEL RM500Q](#5-testing-with-quectel-rm500q) 1. [Setup QUECTEL](#51-setup-quectel) 2. [Ping test](#52-ping-test) @@ -46,7 +49,8 @@ Minimum hardware requirements: - CPU: 4 cores x86_64 - RAM: 8 GB - Windows driver for Quectel MUST be equal or higher than version **2.2.4** -- [USRP N300](https://www.ettus.com/all-products/USRP-N300/) or [USRP X300](https://www.ettus.com/all-products/x300-kit/): Please identify the network interface(s) on which the USRP is connected. +- [USRP B210](https://www.ettus.com/all-products/ub210-kit/), [USRP N300](https://www.ettus.com/all-products/USRP-N300/) or [USRP X300](https://www.ettus.com/all-products/x300-kit/) + - Please identify the network interface(s) on which the USRP is connected and update the gNB configuration file - Quectel RM500Q - Module, M.2 to USB adapter, antennas and SIM card - Firmware version of Quectel MUST be equal or higher than **RM500QGLABR11A06M4G** @@ -162,25 +166,29 @@ cd cmake_targets ./build_oai -w USRP --ninja --nrUE --gNB --build-lib all -c ``` -## 3.3 N300 Ethernet Tuning +## 3.3 USRP N300 and X300 Ethernet Tuning Please also refer to the official [USRP Host Performance Tuning Tips and Tricks](https://kb.ettus.com/USRP_Host_Performance_Tuning_Tips_and_Tricks) tuning guide. The following steps are recommended. Please change the network interface(s) as required. Also, you should have 10Gbps interface(s): if you use two cables, you should have the XG interface. Refer to the [N300 Getting Started Guide](https://kb.ettus.com/USRP_N300/N310/N320/N321_Getting_Started_Guide) for more information. * Use an MTU of 9000: how to change this depends on the network management tool. In the case of Network Manager, this can be done from the GUI. -* Increase the kernel socket buffer (also done by the USRP driver in OAI): - ``` - sysctl -w net.core.rmem_max=8388608 - sysctl -w net.core.wmem_max=8388608 - sysctl -w net.core.rmem_default=65536 - sysctl -w net.core.wmem_default=65536 - ``` +* Increase the kernel socket buffer (also done by the USRP driver in OAI) * Increase Ethernet Ring Buffers: `sudo ethtool -G rx 4096 tx 4096` -* Disable hyper-threading in the BIOS -* Disable KPTI Protections for Spectre/Meltdown for more performance. **This is a security risk.** Add `mitigations=off nosmt` in your grub config and update grub. +* Disable hyper-threading in the BIOS (This step is optional) +* Optional: Disable KPTI Protections for Spectre/Meltdown for more performance. **This is a security risk.** Add `mitigations=off nosmt` in your grub config and update grub. (This step is optional) -# 4. Run OAI CN5G and OAI gNB with USRP N300 +Example code to run: +``` +for ((i=0;i<$(nproc);i++)); do sudo cpufreq-set -c $i -r -g performance; done +sudo sysctl -w net.core.wmem_max=62500000 +sudo sysctl -w net.core.rmem_max=62500000 +sudo sysctl -w net.core.wmem_default=62500000 +sudo sysctl -w net.core.rmem_default=62500000 +sudo ethtool -G enp1s0f0 tx 4096 rx 4096 +``` + +# 4. Run OAI CN5G and OAI gNB ## 4.1 Run OAI CN5G @@ -191,21 +199,29 @@ python3 core-network.py --type start-basic --scenario 1 ## 4.2 Run OAI gNB +### USRP B210 +```bash +cd ~/openairinterface5g +source oaienv +cd cmake_targets/ran_build/build +sudo ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.conf --sa -E --continuous-tx +``` +### USRP N300 ```bash -# USRP N300 cd ~/openairinterface5g source oaienv cd cmake_targets/ran_build/build sudo ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band77.fr1.273PRB.2x2.usrpn300.conf --sa --usrp-tx-thread-config 1 +``` -# USRP X300 +### USRP X300 +```bash cd ~/openairinterface5g source oaienv cd cmake_targets/ran_build/build sudo ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band77.fr1.273PRB.2x2.usrpn300.conf --sa --usrp-tx-thread-config 1 -E --continuous-tx ``` - # 5. Testing with Quectel RM500Q ## 5.1 Setup Quectel @@ -246,5 +262,5 @@ iperf -s -u -i 1 -B 12.1.1.2 - CN5G host ```bash -docker exec -it oai-ext-dn iperf -u -t 86400 -i 1 -fk -B 192.168.70.135 -b 640M -c 12.1.1.2 +docker exec -it oai-ext-dn iperf -u -t 86400 -i 1 -fk -B 192.168.70.135 -b 100M -c 12.1.1.2 ``` From a5f95e19076746a2c0b45701b24899c16c1845bb Mon Sep 17 00:00:00 2001 From: luis_pereira87 Date: Tue, 20 Sep 2022 10:50:23 +0100 Subject: [PATCH 4/8] Tutorials: update OAI CN5G docker-compose-basic-nrf.yaml to the latest develop version --- doc/tutorial_resources/docker-compose-basic-nrf.yaml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/doc/tutorial_resources/docker-compose-basic-nrf.yaml b/doc/tutorial_resources/docker-compose-basic-nrf.yaml index 7ad007f0e8..e08f834b09 100644 --- a/doc/tutorial_resources/docker-compose-basic-nrf.yaml +++ b/doc/tutorial_resources/docker-compose-basic-nrf.yaml @@ -143,7 +143,7 @@ services: - PLMN_SUPPORT_MNC=99 - PLMN_SUPPORT_TAC=0x0001 - SST_0=1 - - SD_0=0x1 + - SD_0=0xFFFFFF - AMF_INTERFACE_NAME_FOR_NGAP=eth0 - AMF_INTERFACE_NAME_FOR_N11=eth0 - SMF_INSTANCE_ID_0=1 @@ -229,7 +229,7 @@ services: - TYPE0=IPv4 - DNN_RANGE0=12.1.1.2 - 12.1.1.253 - NSSAI_SST0=1 - - NSSAI_SD0=0x1 + - NSSAI_SD0=0xFFFFFF - SESSION_AMBR_UL0=1000Mbps - SESSION_AMBR_DL0=1000Mbps - DEFAULT_CSCF_IPV4_ADDRESS=127.0.0.1 # only needed when ims is being used @@ -274,7 +274,7 @@ services: - NRF_API_VERSION=v1 - NRF_FQDN=oai-nrf - NSSAI_SST_0=1 - - NSSAI_SD_0=0xffffff + - NSSAI_SD_0=0xFFFFFF - DNN_0=oai depends_on: - oai-nrf @@ -296,6 +296,11 @@ services: "ip route add 12.1.1.0/24 via 192.168.70.134 dev eth0; sleep infinity" depends_on: - oai-spgwu + healthcheck: + test: /bin/bash -c "ip r | grep 12.1.1" + interval: 10s + timeout: 5s + retries: 5 networks: public_net: ipv4_address: 192.168.70.135 From 18cdef95108cb9691208e8c6aa4258718b4b6f7d Mon Sep 17 00:00:00 2001 From: luis_pereira87 Date: Thu, 22 Sep 2022 14:53:17 +0100 Subject: [PATCH 5/8] Update SD to 0x1 to get PDUSession with COTS UE --- doc/tutorial_resources/docker-compose-basic-nrf.yaml | 6 +++--- .../CONF/gnb.sa.band77.fr1.273PRB.2x2.usrpn300.conf | 2 +- .../CONF/gnb.sa.band78.fr1.106PRB.usrpb210.conf | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/doc/tutorial_resources/docker-compose-basic-nrf.yaml b/doc/tutorial_resources/docker-compose-basic-nrf.yaml index e08f834b09..dd441010c0 100644 --- a/doc/tutorial_resources/docker-compose-basic-nrf.yaml +++ b/doc/tutorial_resources/docker-compose-basic-nrf.yaml @@ -143,7 +143,7 @@ services: - PLMN_SUPPORT_MNC=99 - PLMN_SUPPORT_TAC=0x0001 - SST_0=1 - - SD_0=0xFFFFFF + - SD_0=0x1 - AMF_INTERFACE_NAME_FOR_NGAP=eth0 - AMF_INTERFACE_NAME_FOR_N11=eth0 - SMF_INSTANCE_ID_0=1 @@ -229,7 +229,7 @@ services: - TYPE0=IPv4 - DNN_RANGE0=12.1.1.2 - 12.1.1.253 - NSSAI_SST0=1 - - NSSAI_SD0=0xFFFFFF + - NSSAI_SD0=0x1 - SESSION_AMBR_UL0=1000Mbps - SESSION_AMBR_DL0=1000Mbps - DEFAULT_CSCF_IPV4_ADDRESS=127.0.0.1 # only needed when ims is being used @@ -274,7 +274,7 @@ services: - NRF_API_VERSION=v1 - NRF_FQDN=oai-nrf - NSSAI_SST_0=1 - - NSSAI_SD_0=0xFFFFFF + - NSSAI_SD_0=0x1 - DNN_0=oai depends_on: - oai-nrf diff --git a/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band77.fr1.273PRB.2x2.usrpn300.conf b/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band77.fr1.273PRB.2x2.usrpn300.conf index 6ac50b6aa6..0b9464a99c 100644 --- a/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band77.fr1.273PRB.2x2.usrpn300.conf +++ b/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band77.fr1.273PRB.2x2.usrpn300.conf @@ -10,7 +10,7 @@ gNBs = ( // Tracking area code, 0x0000 and 0xfffe are reserved values tracking_area_code = 1; - plmn_list = ({ mcc = 208; mnc = 99; mnc_length = 2; snssaiList = ({ sst = 1 }); }); + plmn_list = ({ mcc = 208; mnc = 99; mnc_length = 2; snssaiList = ({ sst = 1; sd = 0x1; }); }); nr_cellid = 12345678L; diff --git a/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.conf b/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.conf index 7819bfe652..5efbac8024 100644 --- a/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.conf +++ b/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.conf @@ -11,7 +11,7 @@ gNBs = // Tracking area code, 0x0000 and 0xfffe are reserved values tracking_area_code = 1; - plmn_list = ({ mcc = 208; mnc = 99; mnc_length = 2; snssaiList = ({ sst = 1 }) }); + plmn_list = ({ mcc = 208; mnc = 99; mnc_length = 2; snssaiList = ({ sst = 1; sd = 0x1; }) }); nr_cellid = 12345678L; From e58eb7ac27001dc3a6e95d9d54e78e854e6b2d54 Mon Sep 17 00:00:00 2001 From: luis_pereira87 Date: Wed, 12 Oct 2022 11:28:59 +0100 Subject: [PATCH 6/8] Add automatic Table Of Contents --- ci-scripts/doc/vm_based_simulator_build.md | 6 ++--- .../doc/vm_based_simulator_check_build.md | 5 ++-- ci-scripts/doc/vm_based_simulator_create.md | 6 ++--- ci-scripts/doc/vm_based_simulator_destroy.md | 6 ++--- ci-scripts/doc/vm_based_simulator_env.md | 7 ++--- .../doc/vm_based_simulator_main_scripts.md | 6 ++--- ci-scripts/doc/vm_based_simulator_sources.md | 6 ++--- ci-scripts/doc/vm_based_simulator_test.md | 9 ++----- .../4g_rfsimulator_fdd_05MHz/README.md | 15 ++--------- .../yaml_files/5g_rfsimulator/README.md | 17 ++---------- doc/FEATURE_SET.md | 26 +------------------ doc/L1SIM.md | 8 ++---- doc/L2NFAPI_NOS1.md | 14 ++-------- doc/L2NFAPI_S1.md | 16 ++---------- doc/NR_SA_CN5G_gNB_USRP_COTS_UE_Tutorial.md | 24 ++--------------- doc/TESTBenches.md | 7 ++--- doc/TESTING_5GSA_setup.md | 11 ++------ doc/TESTING_GNB_W_COTS_UE.md | 16 ++---------- docker/README.md | 7 +---- 19 files changed, 36 insertions(+), 176 deletions(-) diff --git a/ci-scripts/doc/vm_based_simulator_build.md b/ci-scripts/doc/vm_based_simulator_build.md index 16faa3ce9b..d75de46359 100644 --- a/ci-scripts/doc/vm_based_simulator_build.md +++ b/ci-scripts/doc/vm_based_simulator_build.md @@ -12,11 +12,9 @@ -## Table of Contents ## +**Table of Contents** -1. [Introduction](#1-introduction) -2. [Detailed Description](#2-detailed-description) -3. [Typical Usage](#3-typical-usage) +[[_TOC_]] # 1. Introduction # diff --git a/ci-scripts/doc/vm_based_simulator_check_build.md b/ci-scripts/doc/vm_based_simulator_check_build.md index 86d26ff8ed..a9d9177fab 100644 --- a/ci-scripts/doc/vm_based_simulator_check_build.md +++ b/ci-scripts/doc/vm_based_simulator_check_build.md @@ -12,10 +12,9 @@ -## Table of Contents ## +**Table of Contents** -1. [Introduction](#1-introduction) -2. [Detailed Description](#2-detailed-description) +[[_TOC_]] # 1. Introduction # diff --git a/ci-scripts/doc/vm_based_simulator_create.md b/ci-scripts/doc/vm_based_simulator_create.md index 4681738038..db5ba2daed 100644 --- a/ci-scripts/doc/vm_based_simulator_create.md +++ b/ci-scripts/doc/vm_based_simulator_create.md @@ -12,11 +12,9 @@ -## Table of Contents ## +**Table of Contents** -1. [Introduction](#1-introduction) -2. [Detailed Description](#2-detailed-description) -3. [Typical Usage](#3-typical-usage) +[[_TOC_]] # 1. Introduction # diff --git a/ci-scripts/doc/vm_based_simulator_destroy.md b/ci-scripts/doc/vm_based_simulator_destroy.md index d69e82a005..945c4a6475 100644 --- a/ci-scripts/doc/vm_based_simulator_destroy.md +++ b/ci-scripts/doc/vm_based_simulator_destroy.md @@ -12,11 +12,9 @@ -## Table of Contents ## +**Table of Contents** -1. [Introduction](#1-introduction) -2. [Detailed Description](#2-detailed-description) -3. [Typical Usage](#3-typical-usage) +[[_TOC_]] # 1. Introduction # diff --git a/ci-scripts/doc/vm_based_simulator_env.md b/ci-scripts/doc/vm_based_simulator_env.md index 95b9d920d5..066f63a24a 100644 --- a/ci-scripts/doc/vm_based_simulator_env.md +++ b/ci-scripts/doc/vm_based_simulator_env.md @@ -12,12 +12,9 @@ -## Table of Contents ## +**Table of Contents** -1. [Introduction](#1-introduction) -2. [Prerequisites](#2-prerequisites) - 1. [uvtool installation](#21-uvtool-installation) - 2. [apt-cacher-server installation](#22-apt-cacher-server-installation) +[[_TOC_]] # 1. Introduction # diff --git a/ci-scripts/doc/vm_based_simulator_main_scripts.md b/ci-scripts/doc/vm_based_simulator_main_scripts.md index d5df27529c..ccaf91ed12 100644 --- a/ci-scripts/doc/vm_based_simulator_main_scripts.md +++ b/ci-scripts/doc/vm_based_simulator_main_scripts.md @@ -12,11 +12,9 @@ -## Table of Contents ## +**Table of Contents** -1. [Introduction](#1-introduction) -2. [Sub BASH scripts](#2-sub-bash-scripts) -3. [Main script features](#3-main-script-features) +[[_TOC_]] # 1. Introduction # diff --git a/ci-scripts/doc/vm_based_simulator_sources.md b/ci-scripts/doc/vm_based_simulator_sources.md index 4bba6a8a09..33954ec39f 100644 --- a/ci-scripts/doc/vm_based_simulator_sources.md +++ b/ci-scripts/doc/vm_based_simulator_sources.md @@ -12,11 +12,9 @@ -## Table of Contents ## +**Table of Contents** -1. [Introduction](#1-introduction) -2. [Centralized Workspace](#2-centralized-workspace) -3. [Create the ZIP file](#3-create-the-zip-file) +[[_TOC_]] # 1. Introduction # diff --git a/ci-scripts/doc/vm_based_simulator_test.md b/ci-scripts/doc/vm_based_simulator_test.md index ab28101543..52bf36e255 100644 --- a/ci-scripts/doc/vm_based_simulator_test.md +++ b/ci-scripts/doc/vm_based_simulator_test.md @@ -12,14 +12,9 @@ -## Table of Contents ## +**Table of Contents** -1. [Introduction](#1-introduction) -2. [Detailed Description](#2-detailed-description) -3. [Typical Usage](#3-typical-usage) - 1. [Testing the physical simulators](#31-testing-the-physicals-simulators) - 2. [Testing the RF simulator](#33-testing-the-rf-simulator) - 3. [Testing the L2-nFAPI simulator](#33-testing-the-l2-nfapi-simulator) +[[_TOC_]] # 1. Introduction # diff --git a/ci-scripts/yaml_files/4g_rfsimulator_fdd_05MHz/README.md b/ci-scripts/yaml_files/4g_rfsimulator_fdd_05MHz/README.md index 1a947d0389..d146c8abec 100644 --- a/ci-scripts/yaml_files/4g_rfsimulator_fdd_05MHz/README.md +++ b/ci-scripts/yaml_files/4g_rfsimulator_fdd_05MHz/README.md @@ -14,20 +14,9 @@ This page is only valid for an `Ubuntu18` host. -**TABLE OF CONTENTS** +**Table of Contents** -1. [Retrieving the images on Docker-Hub](#1-retrieving-the-images-on-docker-hub) -2. [Deploy containers](#2-deploy-containers) - 1. [Deploy and Configure Cassandra Database](#21-deploy-and-configure-cassandra-database) - 2. [Deploy OAI CN4G containers](#22-deploy-oai-cn4g-containers) - 3. [Deploy OAI eNB in RF simulator mode](#23-deploy-oai-enb-in-rf-simulator-mode) - 4. [Deploy OAI LTE UE in RF simulator mode](#24-deploy-oai-lte-ue-in-rf-simulator-mode) -3. [Check traffic](#3-check-traffic) -4. [Un-deployment](#4-un-deployment) -5. [Explanation on the configuration](#5-explanation-on-the-configuration) - 1. [UE IMSI and Keys](#51-ue-imsi-and-keys) - 2. [PLMN and TAI](#52-plmn-and-tai) - 3. [Access to Internet](#53-access-to-internet) +[[_TOC_]] # 1. Retrieving the images on Docker-Hub # diff --git a/ci-scripts/yaml_files/5g_rfsimulator/README.md b/ci-scripts/yaml_files/5g_rfsimulator/README.md index f457d4c3f6..f75d3721da 100644 --- a/ci-scripts/yaml_files/5g_rfsimulator/README.md +++ b/ci-scripts/yaml_files/5g_rfsimulator/README.md @@ -16,22 +16,9 @@ This page is only valid for an `Ubuntu18` host. **NOTE: this version (2022-01-27) has been updated for the `v1.3.0` version of the `OAI 5G CN`.** -**TABLE OF CONTENTS** +**Table of Contents** -1. [Retrieving the images on Docker-Hub](#1-retrieving-the-images-on-docker-hub) -2. [Deploy containers](#2-deploy-containers) - 1. [Deploy OAI 5G Core Network](#21-deploy-oai-5g-core-network) - 2. [Deploy OAI gNB in RF simulator mode and in Standalone Mode](#22-deploy-oai-gnb-in-rf-simulator-mode-and-in-standalone-mode) - 3. [Deploy OAI NR-UE in RF simulator mode and in Standalone Mode](#23-deploy-oai-nr-ue-in-rf-simulator-mode-and-in-standalone-mode) - 4. [Deploy Second OAI NR-UE in RF simulator mode and in Standalone Mode](#24-deploy-second-oai-nr-ue-in-rf-simulator-mode-and-in-standalone-mode) -3. [Check traffic](#3-check-traffic) - 1. [Check your Internet connectivity](#31-check-your-internet-connectivity) - 2. [Start the iperf server inside the NR-UE container](#32-start-the-iperf-server-inside-the-nr-ue-container) - 3. [Start the iperf client inside the ext-dn container](#33-start-the-iperf-client-inside-the-ext-dn-container) -4. [Un-deployment](#4-un-deployment) -5. [Explanations on the configuration in the docker-compose.yaml](##5-explanations-on-the-configuration-in-the-docker-composeyaml) - 1. [Making the NR-UE connect to the core network](#51-making-the-nr-ue-connect-to-the-core-network) - 2. [Making the gNB connect to the core network](#52-making-the-gnb-connect-to-the-core-network) +[[_TOC_]] # 1. Retrieving the images on Docker-Hub # diff --git a/doc/FEATURE_SET.md b/doc/FEATURE_SET.md index 38eaeac433..d08c1e9b2a 100644 --- a/doc/FEATURE_SET.md +++ b/doc/FEATURE_SET.md @@ -1,30 +1,6 @@ **Table of Contents** -1. [Functional Split Architecture](#functional-split-architecture) -2. [OpenAirInterface Block Diagram](#openairinterface-block-diagram) -2. [OpenAirInterface 4G-LTE eNB Feature Set](#openairinterface-4g-lte-enb-feature-set) - 1. [eNB PHY Layer](#enb-phy-layer) - 2. [eNB MAC Layer](#enb-mac-layer) - 3. [eNB RLC Layer](#enb-rlc-layer) - 4. [eNB PDCP Layer](#enb-pdcp-layer) - 5. [eNB RRC Layer](#enb-rrc-layer) - 6. [eNB X2AP](#enb-x2ap) - 7. [eNB/MCE M2AP](#enbmce-m2ap) - 8. [MCE/MME M3AP](#mcemme-m3ap) -3. [OpenAirInterface 4G-LTE UE Feature Set](#openairinterface-4g-lte-ue-feature-set) - 1. [LTE UE PHY Layer](#lte-ue-phy-layer) - 2. [LTE UE MAC Layer](#lte-ue-mac-layer) - 3. [LTE UE RLC Layer](#lte-ue-rlc-layer) - 4. [LTE UE PDCP Layer](#lte-ue-pdcp-layer) - 5. [LTE UE RRC Layer](#lte-ue-rrc-layer) -4. [OpenAirInterface 5G-NR gNB Feature Set](#openairinterface-5g-nr-feature-set) - 1. [General Parameters](#general-parameters) - 2. [gNB Physical Layer](#gnb-phy-layer) - 3. [gNB Higher Layers](#gnb-higher-layers) -5. [OpenAirInterface 5G-NR UE Feature Set](#openairinterface-5g-nr-ue-feature-set) - 1. [UE Physical Layer](#ue-phy-layer) - 2. [UE Higher Layers](#ue-higher-layers) - +[[_TOC_]] # Functional Split Architecture # diff --git a/doc/L1SIM.md b/doc/L1SIM.md index 9cae67a66c..7e6d893a2e 100644 --- a/doc/L1SIM.md +++ b/doc/L1SIM.md @@ -14,13 +14,9 @@ This page is valid for the develop branch -# Table of Contents: # +**Table of Contents** -* [How to build the eNB and the UE](#build) -* [How to run an eNB built with the noS1 option](#run-noS1-eNB) -* [How to run a UE built with the noS1 option](#run-noS1-UE) -* [Continuous Integration notes](#CInote) -* [How to ping an eNB from a UE and vice versa (with the noS1 option)](#noS1-pinging) +[[_TOC_]] The old oaisim is dead! Long live oaisim! :) diff --git a/doc/L2NFAPI_NOS1.md b/doc/L2NFAPI_NOS1.md index 4f56be3416..0d4d6b538c 100644 --- a/doc/L2NFAPI_NOS1.md +++ b/doc/L2NFAPI_NOS1.md @@ -16,19 +16,9 @@ **2022/03/08: CAUTION, THE LAST VALID TAG on `develop` branch is `2021.w51_c`.** -## Table of Contents ## +**Table of Contents** -1. [Environment](#1-environment) -2. [Retrieve the OAI eNB-UE source code](#2-retrieve-the-oai-enb-ue-source-code) -3. [Setup of the USIM information in UE folder](#3-setup-of-the-usim-information-in-ue-folder) -4. [Setup of the Configuration files](#4-setup-of-the-configuration-files) - 1. [The eNB Configuration file](#41-the-enb-configuration-file) - 2. [The UE Configuration file](#42-the-ue-configuration-file) -5. [Build OAI UE and eNodeB](#5-build-oai-ue-and-enodeb) -6. [Start the eNB](#6-start-the-enb) -7. [Start the UE](#7-start-the-ue) -8. [Test with ping](#8-test-with-ping) -9. [Limitations](#9-limitations) +[[_TOC_]] # 1. Environment # diff --git a/doc/L2NFAPI_S1.md b/doc/L2NFAPI_S1.md index 824e9e469a..2d3de04b43 100644 --- a/doc/L2NFAPI_S1.md +++ b/doc/L2NFAPI_S1.md @@ -16,21 +16,9 @@ **2022/03/08: CAUTION, THE LAST VALID TAG on `develop` branch is `2021.w51_c`.** -## Table of Contents ## +**Table of Contents** -1. [Environment](#1-environment) -2. [Prepare the EPC](#2-prepare-the-epc) -3. [Retrieve the OAI eNB-UE source code](#3-retrieve-the-oai-enb-ue-source-code) -4. [Setup of the USIM information in UE folder](#4-setup-of-the-usim-information-in-ue-folder) -5. [Setup of the Configuration files](#5-setup-of-the-configuration-files) - 1. [The eNB Configuration file](#51-the-enb-configuration-file) - 2. [The UE Configuration file](#52-the-ue-configuration-file) -6. [Build OAI UE and eNodeB](#6-build-oai-ue-and-enodeb) -7. [Start EPC](#7-start-epc) -8. [Start the eNB](#8-start-the-enb) -9. [Start the UE](#9-start-the-ue) -10. [Test with ping](#10-test-with-ping) -11. [Limitations](#11-limitations) +[[_TOC_]] # 1. Environment # diff --git a/doc/NR_SA_CN5G_gNB_USRP_COTS_UE_Tutorial.md b/doc/NR_SA_CN5G_gNB_USRP_COTS_UE_Tutorial.md index d5149a6c4e..745659deb1 100644 --- a/doc/NR_SA_CN5G_gNB_USRP_COTS_UE_Tutorial.md +++ b/doc/NR_SA_CN5G_gNB_USRP_COTS_UE_Tutorial.md @@ -12,29 +12,9 @@ -**TABLE OF CONTENTS** - -1. [Scenario](#1-scenario) -2. [OAI CN5G](#2-oai-cn5g) - 1. [OAI CN5G pre-requisites](#21-oai-cn5g-pre-requisites) - 2. [OAI CN5G Setup](#22-oai-cn5g-setup) - 3. [OAI CN5G Configuration files](#23-oai-cn5g-configuration-files) - 4. [SIM Card](#24-sim-card) -3. [OAI gNB](#3-oai-gnb) - 1. [OAI gNB pre-requisites](#31-oai-gnb-pre-requisites) - 2. [Build OAI gNB](#32-build-oai-gnb) - 3. [N300 Ethernet Tuning](#33-n300-ethernet-tuning) -4. [Run OAI CN5G and OAI gNB](#4-run-oai-cn5g-and-oai-gnb) - 1. [Run OAI CN5G](#41-run-oai-cn5g) - 2. [Run OAI gNB](#42-run-oai-gnb) - 1. [USRP B210](#usrp-b210) - 2. [USRP N300](#usrp-n300) - 3. [USRP X300](#usrp-x300) -5. [Testing with QUECTEL RM500Q](#5-testing-with-quectel-rm500q) - 1. [Setup QUECTEL](#51-setup-quectel) - 2. [Ping test](#52-ping-test) - 3. [Downlink iPerf test](#53-downlink-iperf-test) +**Table of Contents** +[[_TOC_]] # 1. Scenario In this tutorial we describe how to configure and run a 5G end-to-end setup with OAI CN5G, OAI gNB and COTS UE. diff --git a/doc/TESTBenches.md b/doc/TESTBenches.md index 7bad43df65..9a2d9e22f2 100644 --- a/doc/TESTBenches.md +++ b/doc/TESTBenches.md @@ -1,9 +1,6 @@ -## Table of Contents ## +**Table of Contents** -1. [Machines](#machines) -2. [Networked devices](#networked-devices) -3. [Testbenches](#testbenches) -4. [Pipelines](#pipelines) +[[_TOC_]] ## Machines diff --git a/doc/TESTING_5GSA_setup.md b/doc/TESTING_5GSA_setup.md index b12b3478e8..1828f967b1 100644 --- a/doc/TESTING_5GSA_setup.md +++ b/doc/TESTING_5GSA_setup.md @@ -12,16 +12,9 @@ -**TABLE OF CONTENTS** +**Table of Contents** -1. [SA setup with COTS UE](#1--sa-setup-with-cots-ue) - 1. [gNB build and configuration](#11--gnb-build-and-configuration) - 2. [OAI 5G Core Network installation and configuration](#12--oai-5g-core-network-installation-and-configuration) - 3. [Execution of SA scenario](#13--execution-of-sa-scenario) -2. [SA Setup with OAI NR UE Softmodem](#2-sa-setup-with-oai-nr-ue-softmodem) - 1. [Build and configuration](#21-build-and-configuration) - 2. [OAI 5G Core Network installation and configuration](#22--oai-5g-core-network-installation-and-configuration) - 3. [Execution of SA scenario](#23-execution-of-sa-scenario) +[[_TOC_]] In the following tutorial we describe how to deploy configure and test the two SA OAI setups: diff --git a/doc/TESTING_GNB_W_COTS_UE.md b/doc/TESTING_GNB_W_COTS_UE.md index 84f43bfc27..fa24d74d5d 100644 --- a/doc/TESTING_GNB_W_COTS_UE.md +++ b/doc/TESTING_GNB_W_COTS_UE.md @@ -1,20 +1,8 @@ STATUS 2020/10/15 : added External Resources section and links +**Table of Contents** -## Table of Contents ## - -1. [External Resources](#external-resources) -2. [Configuration Overview](#configuration-overview) -3. [SW Repository / Branch](#repository) -4. [Architecture Setup](#architecture-setup) -5. [Build / Install](#build-and-install) -6. [Run / Test](#run-and-test) -7. [Test case](#test-case) -8. [Log file monitoring](#log-file-monitoring) -9. [Required tools for debug](#required-tools-for-debug) -10. [Status of interoperability](#status-of-interoperability) -11. [CI integration](#ci-integration) - +[[_TOC_]] ## External Resources diff --git a/docker/README.md b/docker/README.md index c4d799c6ce..ace75161df 100644 --- a/docker/README.md +++ b/docker/README.md @@ -16,12 +16,7 @@ **Table of Contents** -1. [Build Strategy](#1-build-strategy) -2. [File organization](#2-file-organization) -3. [Building using docker under Ubuntu 18.04](#3-building-using-docker-under-ubuntu-1804) -4. [Building using podman under Red Hat Entreprise Linux 8.2](#4-building-using-podman-under-red-hat-entreprise-linux-82) -5. [Running modems using docker under Ubuntu 18.04](#5-running-modems-using-docker-under-ubuntu-1804) -6. [Running modems using podman under Red Hat Entreprise Linux 8.2](#6-running-modems-using-podman-under-red-hat-entreprise-linux-82) +[[_TOC_]] --- From 3839abebe7623576c10e9117deff096881a7f664 Mon Sep 17 00:00:00 2001 From: luis_pereira87 Date: Wed, 12 Oct 2022 16:11:50 +0100 Subject: [PATCH 7/8] Add section with optional advanced configurations --- doc/NR_SA_CN5G_gNB_USRP_COTS_UE_Tutorial.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/doc/NR_SA_CN5G_gNB_USRP_COTS_UE_Tutorial.md b/doc/NR_SA_CN5G_gNB_USRP_COTS_UE_Tutorial.md index 745659deb1..7cd277eea4 100644 --- a/doc/NR_SA_CN5G_gNB_USRP_COTS_UE_Tutorial.md +++ b/doc/NR_SA_CN5G_gNB_USRP_COTS_UE_Tutorial.md @@ -244,3 +244,9 @@ iperf -s -u -i 1 -B 12.1.1.2 ```bash docker exec -it oai-ext-dn iperf -u -t 86400 -i 1 -fk -B 192.168.70.135 -b 100M -c 12.1.1.2 ``` + +# 6. Advanced configuration (optional) + +- If you get real-time problems on heavy UL traffic, reduce the maximum UL MCS using an additional command-line switch: `--MACRLCs.[0].ul_max_mcs 14`. + +- There is noise on the DC carriers on N300 and especially the X300 in UL. To avoid their use or shift them away from the center to use more UL spectrum, use the `--tune-offset ` command line switch, where `` is ideally half the bandwidth, or possibly less. From 89d6ddc482c9e6e9dbc9e1fb6c3253cfe562d35a Mon Sep 17 00:00:00 2001 From: luis_pereira87 Date: Wed, 12 Oct 2022 16:40:32 +0100 Subject: [PATCH 8/8] Remove Dedicated BWPs from the 40 MHz configuration file used by the tutorials --- .../gnb.sa.band78.fr1.106PRB.usrpb210.conf | 58 ------------------- 1 file changed, 58 deletions(-) diff --git a/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.conf b/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.conf index 5efbac8024..02418f9883 100644 --- a/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.conf +++ b/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.conf @@ -155,64 +155,6 @@ gNBs = ); -# Dedicated Serving Cell Configuration -servingCellConfigDedicated = ({ - # BWP-Downlink - # BWP 1 Configuration - dl_bwp-Id_1 = 1; - dl_bwp1_locationAndBandwidth = 28875; // RBstart=0, L=106 (40 MHz BW) - # subcarrierSpacing - # 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120 - dl_bwp1_subcarrierSpacing = 1; - - # BWP 2 Configuration - dl_bwp-Id_2 = 2; - dl_bwp2_locationAndBandwidth = 13750; // RBstart=0, L=51 (20 MHz BW) - # subcarrierSpacing - # 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120 - dl_bwp2_subcarrierSpacing = 1; - - # BWP 3 Configuration - dl_bwp-Id_3 = 3; - dl_bwp3_locationAndBandwidth = 6325; // RBstart=0, L=24 (10 MHz BW) - # subcarrierSpacing - # 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120 - dl_bwp3_subcarrierSpacing = 1; - - firstActiveDownlinkBWP-Id = 1; #BWP-Id - defaultDownlinkBWP-Id = 1; #BWP-Id - - # bwp-InactivityTimer ENUMERATED {ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30, - # ms40,ms50, ms60, ms80,ms100, ms200,ms300, ms500, - # ms750, ms1280, ms1920, ms2560, spare10, spare9, spare8, - # spare7, spare6, spare5, spare4, spare3, spare2, spare1 } - - # UplinkConfig - # BWP-Uplink - # BWP 1 Configuration - ul_bwp-Id_1 = 1; - ul_bwp1_locationAndBandwidth = 28875; // RBstart=0, L=106 (40 MHz BW) - # subcarrierSpacing - # 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120 - ul_bwp1_subcarrierSpacing = 1; - - # BWP 2 Configuration - ul_bwp-Id_2 = 2; - ul_bwp2_locationAndBandwidth = 13750; // RBstart=0, L=51 (20 MHz BW) - # subcarrierSpacing - # 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120 - ul_bwp2_subcarrierSpacing = 1; - - # BWP 3 Configuration - ul_bwp-Id_3 = 3; - ul_bwp3_locationAndBandwidth = 6325; // RBstart=0, L=24 (10 MHz BW) - # subcarrierSpacing - # 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120 - ul_bwp3_subcarrierSpacing = 1; - - firstActiveUplinkBWP-Id = 1; #BWP-Id - } -); # ------- SCTP definitions SCTP :