Part 6. Validate the Setup

Modify:

  • oai_db.sql (with plain text editor)

    There are 3 UEs pre-configured here. To find them, search for: 001010000000001 and add or edit them as needed.

  • On gNB server, if you want to change the change the MCC and MNC in the gNB config file. ./targets/PROJECTS/GENERIC-NR-5GC/CONF/vnf.sa.band78.fr1.273PRB.Aerial.conf

For reference, use the following:

SIM cards – 4G and 5G reference software (open-cells.com)

Program SIM Card with Open Cells Project application “uicc-v2.6” https://open-cells.com/d5138782a8739209ec5760865b1e53b0/uicc-v2.6.tgz

Use the ADM code specific to the SIM card. If the wrong ADM is used 8 times, the SIM card is permanently locked.

Copy
Copied!
            

sudo ./program_uicc --adm 12345678 --imsi 001010000000001 --isdn 00000001 --acc 0001 --key fec86ba6eb707ed08905757b1bb44b8f --opc C42449363BBAD02B66D16BC975D77CC1 -spn "OpenAirInterface" --authenticate Existing values in USIM ICCID: 89860061100000000191 WARNING: iccid luhn encoding of last digit not done USIM IMSI: 208920100001191 USIM MSISDN: 00000191 USIM Service Provider Name: OpenCells191 Setting new values Reading UICC values after uploading new values ICCID: 89860061100000000191 WARNING: iccid luhn encoding of last digit not done USIM IMSI: 001010000000001 USIM MSISDN: 00000001 USIM Service Provider Name: OpenAirInterface Succeeded to authentify with SQN: 64 set HSS SQN value as: 96

CUE Configuration Setup

Install the “Magic IPERF” application on the UE:

  1. To test with CUE, a test SIM card with Milenage support is required. The following has to be provisioned on the SIM and it has to match the Core Network settings: mcc, mnc, IMSI, Ki, OPc

  2. The APN on the CUE should be configured according to Core Network settings.

  3. Start the DNS (Core network should assign mobile IP address and DNS. If DNS is not assigned, set DNS with other Android app).

This section describes how to run end-to-end traffic from UE to the edge core network.

Note

UE can connect as close as 2-3 meters with a range of 10-15 meters. Connection distance outside of buildings is unverified.

Start CN5G Core Network

Copy
Copied!
            

sudo sysctl net.ipv4.conf.all.forwarding=1 sudo iptables -P FORWARD ACCEPT cd ~/oai-cn5g docker compose up -d

Start CN5G Edge Application

After the CN5G is started, use the oai-ext-dn container to run IPERF.

Copy
Copied!
            

docker exec -it oai-ext-dn /bin/bash

Start NVIDIA Aerial cuBB on the gNB

Copy
Copied!
            

# Run on host: start a docker terminal docker exec -it $AERIAL_CUBB_CONTAINER /bin/bash

Follow the Aerial documentation for building and running the cuphycontroller. The following instructions are for building and setting up the environment for running cuphycontroller. The following commands must be run from inside cuBB container.

Copy
Copied!
            

cd /opt/nvidia/cuBB export cuBB_SDK=$(pwd) mkdir build && cd build cmake .. time chrt -r 1 taskset -c 2-20 make -j

Configuration files for ARC-OTA can be found in the following shared Google drive.

Aerial configuration files are located in /opt/nvidia/cuBB/cuPHY-CP/cuphycontroller/config.

Before running the cuphycontroller, edit the cuphycontroller_<xyz>.yaml configuration file to point at the correct MAC address of the ORU and the correct PCIe address of the FH interface of the gNB.

Copy
Copied!
            

sed -i "s/ nic:.*/ nic: 0000:b5:00.0/" ${cuBB_SDK}/cuPHY-CP/cuphycontroller/config/cuphycontroller_<xyz>.yaml sed -i "s/ dst_mac_addr:.*/ dst_mac_addr: 6c:ad:ad:00:02:02/" ${cuBB_SDK}/cuPHY-CP/cuphycontroller/config/cuphycontroller_<xyz>.yaml

When the build is done and the configuration files are updated, exit the container. Run the following to commit the changes to a new image. The name of the image will be used later in the Docker Compose configuration.

Copy
Copied!
            

docker commit $AERIAL_CUBB_CONTAINER cubb-build:23-4


Creating the NVIPC Source Code Package

With the latest release, NVIPC is no longer included in the OAI repository. You must copy the source package from the Aerial container and add it to the OAI build files. Execute the following to create the nvipc_src.<data>.tar.gz file.

Copy
Copied!
            

docker exec -it $AERIAL_CUBB_CONTAINER ./cuPHY-CP/gt_common_libs/pack_nvipc.sh docker cp $AERIAL_CUBB_CONTAINER::/opt/nvidia/cuBB/cuPHY-CP/gt_common_libs/nvipc_src.<date>.tar.gz ~/openairinterface5g

This will create and copy the nvipc_src.<data>.tar.gz archive that is required to build OAI L2+ for Aerial. Instructions can also be found in the Aerial FAPI.

Build gNB Docker Image

In ARC-OTA 1.2, the OAI image is built in two steps. Instructions can be found in the Aerial FAPI.

Note

When building a Docker image, the files are copied from the filesystem into the image. Changes to the configuration after you build the image must also be done inside the container.

Copy
Copied!
            

cd ~/openairinterface5g/ docker build . -f docker/Dockerfile.base.ubuntu20 --tag ran-base:latest docker build . -f docker/Dockerfile.gNB.aerial.ubuntu20 --tag oai-gnb-aerial:latest


Running gNB with Docker Compose

ARC-OTA 1.2 includes a Docker Compose configuration for running gNB software. Refer to the OAI instructions on how to run with Docker Compose. The Docker Compose configuration is located in the following file path:

Copy
Copied!
            

~/openairinterface5g/ci-scripts/yaml_files/sa_gnb_aerial/docker-compose.yaml

After following the instructions, you should have the following images:

Copy
Copied!
            

$ docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE cubb-build 23-4 be7a5a94f2d3 10 seconds ago 26GB gitlab-master.nvidia.com:5005/gputelecom/container/cubb Aerial-cuBB-container-ubuntu22.04-23.04.0-Rel-23-4.256-x86_64 3a46cace77de 3 weeks ago 24.6GB i_oai_aerial latest 0856b9969f42 3 weeks ago 4.88GB ran-base latest c5d060d23529 3 weeks ago 2.42GB

Docker Compose will start containers running cuBB and OAI L2+. The Docker Compose script includes an entry-point script for cuBB, which you need to modify before running. The script points at the uphycontroller_xxx.yaml configuration that you want to run. This script is located in the following file path:

Copy
Copied!
            

~/openairinterface5g/ci-scripts/yaml_files/sa_gnb_aerial/aerial_l1_entrypoint.sh

You can now run ARC-OTA with the below command.

Copy
Copied!
            

docker compose up // console of cuBB docker logs -f nv-cubb // console of oai docker logs -f oai-gnb-aerial


CUE Connecting to 5G Network

Take the CUE out of airplane mode to start the UE attaching to the network. Make sure that the CUE is in airplane mode before starting OAI L2 stack.

Observe 5G Connect Status

See Preamble log in cuphycontroller console output.

Check Core Network log or CUE log to see whether NAS authentication and PDU session succeed.

Running E2E IPERF Traffic

Start ping, iperf, or other network app tests after the PDU session connects successfully.

You can install and run the “Magic IPerf” Android application on the CUE for this purpose.

Ping Test

Ping the UE from the CN:

Copy
Copied!
            

docker exec -it oai-ext-dn ping 12.1.1.2

Ping from the UE to the CN:

Copy
Copied!
            

ping -I 12.1.1.2 192.168.70.135


IPERF Downlink Test

UE Side:

Copy
Copied!
            

iperf3 -s

CN5G Side:

Copy
Copied!
            

# Test UDP DL docker exec -it oai-ext-dn iperf3 -u -P 4 -b 100M -t 60 -c 12.1.1.2 #Test UDP bidirectional docker exec -it oai-ext-dn iperf3 -u --bidir -P 4 -b 100M -t 60 -c 12.1.1.2 # Test TCP DL docker exec -it oai-ext-dn iperf3 -P 4 -b 100M -t 60 -c 12.1.1.2 #Test TCP bidirectional docker exec -it oai-ext-dn iperf3 --bidir -P 4 -b 100M -t 60 -c 12.1.1.2


IPERF Uplink Test

UE Side:

Copy
Copied!
            

iperf3 -s

CN5G Side:

Copy
Copied!
            

#UDP docker exec -it oai-ext-dn iperf3 -u -R -b 60M -t 60 -c 12.1.1.2 #TCP docker exec -it oai-ext-dn iperf3 -R -b 60M -t 60 -c 12.1.1.2

To stop the containers follow the following example:

Copy
Copied!
            

docker stop $OAI_GNB_CONTAINER docker rm $OAI_GNB_CONTAINER

Note

ARC-OTA is a P5G cellular network. Specific enterprise switching/routing/firewalls/policies might need integration support to enable access to World Wide Web.

Previous Part 5. Set up Aerial with OAI gNB and CN5G (Optional)
Next Tutorials
© Copyright 2024, NVIDIA.. Last updated on Apr 8, 2024.