6.1.9) Cellular Modem Experiment

1) Experiment Overview

This experiment aims to establish a complete end-to-end 5G SA network using an OAI gNB, Open5GS core network, and a Telit 5G module as the UE. The setup involves two virtual AERPAW Nodes (Machine #1 and #2) to test the connection between the OAI gNB and the Telit UE.

Experiment Goals: Provide a functional 5G SA network setup, focusing on TESTBED mode with Ping and iPerf tests.

Required Dependencies:

Most Common Configuration Parameters:


2) Modifying the Experiment Configuration Parameters:

Open5GS Core Network configuration:

To modify an Open5GS database, you can add users with default values or specify the IMSI key and OPc using the command syntax. This is essential for authenticating the UE and obtaining an IP address.


To add a user:


$ /opt/open5gs/build/misc/db/open5gs-dbctl add [imsi] [key] [opc]


To remove a user:


$ /opt/open5gs/build/misc/db/open5gs-dbctl remove [imsi]


OAI gNB configuration:

Use any text editor of your choice to edit parameters in 

AHN/E-VM/Profile_software/ProfileScripts/Radio/Helpers/gnb.sa.band78.fr1.51PRB.usrpb210.conf. Parameters of interest are att_tx, att_rx,  and max_rxgain.


User Equipment configuration:

Use any text editor of your choice to edit the Telit starter script to change APN of your choice.


$ sudo qmicli -p -d "$device" --device-open-net='net-raw-ip|net-no-qos-header' --wds-start-network="apn=[APN_HERE],ip-type=4" --client-no-release-cid

3) Performing the Experiment

Machine #1 (Core Network and gNB):

Login to the fixed node E-VM and navigate to the folder containing all the radio scripts. Then, start Open5GS with its config file under /opt/openg5gs directory:


$ cd /root/Profiles/ProfileScripts/Radio/Samples

$ ./startOpen5GS.sh /opt/open5gs/build/configs/open5gs_nr_core_oai.yaml

Add UE subscription parameters:


$ /opt/open5gs/build/misc/db/open5gs-dbctl add [imsi] [key] [opc]

Copy the start experiment script from the current directory as startRadio.sh:


$ cd /root/Profiles/ProfileScripts/Radio

$ cp Samples/start_OAI_gNB.sh startRadio.sh

Use an editor to uncomment the line /Radio/startRadio.sh in /root/startexperiment.sh and run:


$ /root/startexperiment.sh

Machine #2 (UE with Telit Module):

Login to the E-VM for the portable node(s) running the UE and navigate to the folder containing all the radio scripts:


$ cd ~/Profiles/ProfileScripts/Radio/


Copy the Telit starter script as startRadio.sh:


$ cp Samples/start_telit.sh startRadio.sh 


Use an editor to uncomment the line /Radio/startRadio.sh in /root/startexperiment.sh and run:


$ /root/startexperiment.sh


IP Address Assignment: 

The start_telit.sh script automates the Telit FN990A40 module configuration. This is how it works:


The script will attempt to connect and obtain an IP address. If unsuccessful, it will reset the module and try again. Remember that any changes to the script must be compatible with your OAI gNB setup for proper communication between the UE and the network.


Successful execution:

4) Results

A) iPerf:

B) Ping: