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.yamlUpdate 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 locationField | Where to Find It |
|---|---|
| Your eNodeB's management IP (check your network config) |
| Choose any friendly name |
| Physical location description |
Apply the Configuration
After saving the file, restart the backend service:
sudo docker compose -f docker-compose.prod.yml restart backendThe 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 -Ion your host machine or check your network configuration. For Docker Desktop, this may be127.0.0.1or your machine's local network IP.
Step 3: Configure the gNodeB Hardware
Access the gNodeB Web Interface
Open a web browser
Navigate to the eNodeB's IP address (e.g.,
http://192.168.8.50)Enter your login credentials

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 amfCheck 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 38412Troubleshooting
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 sctpReview the AMF logs for error messages:
docker compose -f docker-compose.5g.prod.yml logs amfNG 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 mccVerify 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 amfIf 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 38412Check 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:
Provision SIM cards via the Web UI (Devices page) or directly via MongoDB (see Operations Guide)
Insert SIMs into 5G NR capable devices
Monitor connections on the Dashboard — you should see Registered UEs and Connected Devices update
If devices connect but have no internet, check the Troubleshooting Guide for downlink and LAN reachability issues