Open5G2GO: Askey gNodeB Setup

gNodeB Setup

Overview

An gNodeB is a base station in 5G networks that handles radio transmission and reception for user equipment (UEs). To integrate an Askey gNodeB with Open5G2GO, the gNodeB must establish a connection to the AMF using the NGAP protocol over SCTP.

The NGAP protocol is responsible for:

  • gNodeB registration and configuration

  • Mobility management

  • Session management

  • Signaling between the gNodeB and core network

Step 1: Register Your gNodeB in Open5G2GO

Before configuring the gNodeB hardware, you must register it in Open5G2GO's configuration file.

Edit the gNodeB Configuration File

Open the configuration file:

nano config/gnodebs.yaml

Update the eNodeB Entry

Replace the example values with your eNodeB's actual information:

gnodebs:
    ip_address: "YOUR_GNODEB_IP"           # Management IP for SNMP monitoring
    name: "My-gNodeB"                      # Friendly name for dashboard
    location: "Office Building A"          # Physical location

Field

Where to Find It

ip_address

Your eNodeB's management IP (check your network config)

name

Choose any friendly name

location

Physical location description

Apply the Configuration

After saving the file, restart the backend service:

sudo docker compose -f docker-compose.prod.yml restart backend

The dashboard will now recognize and monitor your gNodeB.


Step 2: Gather Connection Parameters

Before configuring your eNodeB, gather the following information:

Parameter

Value

Notes

AMF IP Address

Your Docker host IP (e.g., 10.48.0.110)

This is the IP address where your Open5G2GO AMF service is running

AMF SCTP Port

38412

Standard SCTP port for NGAP protocol

MCC (Mobile Country Code)

315

US CBRS Private LTE (or your configured MCC)

MNC (Mobile Network Code)

010

Private network operator code (or your configured MNC)

TAC (Tracking Area Code)

1

Area code for location management

SST

1

Default Slice Value

Tip: To find your Docker host IP, run hostname -I on your host machine or check your network configuration. For Docker Desktop, this may be 127.0.0.1 or your machine's local network IP.

Step 3: Configure the gNodeB Hardware

Access the gNodeB Web Interface

  1. Open a web browser

  2. Navigate to the eNodeB's IP address (e.g., http://192.168.8.50)

  3. Enter your login credentials

Askey gNodeB Login Page

Askey gNodeB Login Page


Your Askey gNodeB should be powered up and have GPS lock. Confirm Sync settings by navigating to System Settings > Sync Source.



As shown above our gNodeB is using GPS Sync and has a lock. Next, we configure connection parameters so the gNodeB can communicate with the Open5G2GO core.

Go to RAN Configuration > gNodeB > CU and update the following fields with your settings.

N2: Can be same fixed IP as gNodeB, 192.168.8.50 in our example.

N3: Must be a different IP to gNodeB, 192.168.8.51 in our example. Ensure this address is not already used in your network.

Site(gNB) ID: Update if required

gNB ID length: leave as default

Cell ID: Customize if necessary, a single radio network can be left as default.

TAC: 1

PLMN List: Enter the PLMNID selected during the setup wizard. In our example ‘99970’

AMF IP: Enter the IP address you selected for Open5G2GO in the setup wizard. in our example 192.168.8.5

Other settings: Leave as Default. Open5G2GO is set up to support the default Encryption and Integrity algorithms on Askey gNB.



When you save settings radio will prompt for reboot. Accept and wait 4 to 7 minutes for the gNB to come back up.



If you need to update operating band, bandwidth and frame configuration of the gNB, go to RAN Configuration > gNB > DU.



Verification

Check gNodeB Connection Status

Confirm status by entering About > Dashboard. Our example below shows Cell State: In Service which means it is connected to the core and ready to connect UEs / devices.



Check AMF Logs for NG Setup

From your Docker host, examine the AMF logs for NG Setup messages:

docker compose -f docker-compose.5g.prod.yml logs amf | grep -E "(NG-Setup|gNB)"

You should see output similar to:

waveriders@wavedock:~/open5G2GO$ docker compose -f docker-compose.5g.prod.yml logs amf | grep -E "(NG-Setup|gNB)"
open5g2go-amf  | 03/19 13:10:15.858: [amf] INFO: gNB-N2 accepted[192.168.8.50]:38412 in ng-path module (../src/amf/ngap-sctp.c:113)
open5g2go-amf  | 03/19 13:10:15.858: [amf] INFO: gNB-N2 accepted[192.168.8.50] in master_sm module (../src/amf/amf-sm.c:894)
open5g2go-amf  | 03/19 13:10:15.861: [amf] INFO: [Added] Number of gNBs is now 1 (../src/amf/context.c:1277)
open5g2go-amf  | 03/19 13:10:15.861: [amf] INFO: gNB-N2[192.168.8.50] max_num_of_ostreams : 2 (../src/amf/amf-sm.c:941)

The presence of "gNB-N2 accepted" indicates successful registration of the gNodeB.

Additional Verification Commands

View all AMF logs:

docker compose -f docker-compose.5g.prod.yml logs amf

Check gNodeB connectivity:

docker compose -f docker-compose.5g.prod.yml logs amf | grep -E "(gNB|accepted|Number of gNBs)"

Verify SCTP connection is established:

sudo ss -Snp | grep 38412

Troubleshooting

gNodeB Shows "Disconnected" Status

Verify the AMF IP address is correct and reachable from the gNodeB

Check firewall rules on the Docker host to allow port 38412 (SCTP) and 2152 (UDP)

Verify SCTP kernel module is loaded:

sudo modprobe sctp

Review the AMF logs for error messages:

docker compose -f docker-compose.5g.prod.yml logs amf

NG Setup Failures

Confirm the PLMN configuration (MCC/MNC) matches between the gNodeB and AMF — check with:

docker exec open5g2go-amf cat /etc/open5gs/amf.yaml | grep -A2 mcc

Verify the TAC and SST values match (default: TAC=1, SST=1)

Check that the AMF service is running:

docker compose -f docker-compose.5g.prod.yml ps amf

If the gNodeB connects then immediately disconnects, check the AMF logs for SCTP_SHUTDOWN_EVENT — this may indicate a stale SCTP association. Reboot the gNodeB to force a clean reconnect.

Network Connectivity Issues

Test connectivity from the gNodeB to the Docker host: ping <docker_host_ip>

Verify SCTP is listening on the host:

sudo ss -Slnp | grep 38412

Check that GTP-U is listening:

sudo ss -ulnp | grep 2152

▎ Note: For additional support, check the AMF logs for specific error codes and consult your gNodeB vendor's documentation.

Next Steps

Once the gNodeB is successfully connected:

  1. Provision SIM cards via the Web UI (Devices page) or directly via MongoDB (see Operations Guide)

  2. Insert SIMs into 5G NR capable devices

  3. Monitor connections on the Dashboard — you should see Registered UEs and Connected Devices update

  4. If devices connect but have no internet, check the Troubleshooting Guide for downlink and LAN reachability issues