OAI 5G Private Network Lab (SA)

Reproducible Core + gNodeB + UE setup with troubleshooting notes across USRP, Quectel, and RFSim paths.

Date2025-06-18
CategoryAcademic
RoleLab setup, testing, troubleshooting, and technical documentation
StackOpenAirInterface • Docker Compose • USRP B210 • Quectel RM500Q • Linux
5GOAISDRDockerNetworkingTroubleshooting

Key highlights

  • Built and documented a reproducible 5G SA lab workflow instead of treating the setup as a one-off experiment.
  • Worked on the difficult part of the project: isolating why registration or PDU session steps break.
  • Turned troubleshooting notes into reusable handover-style documentation for future continuation.
Mode5G Standalone (SA)
Bandn78 (TDD)
UE pathQuectel RM500Q and RFSim-based validation
Radio pathUSRP B210 or RFSim fallback

What I handled

01

Deployed the 5G core with Docker Compose, checked service health, and verified the AMF/NRF path before touching the radio side.

02

Built and launched the gNodeB workflow, aligned band and PLMN parameters, and validated the NGAP side of the setup.

03

Tested UE-related paths with a Quectel RM500Q and kept RFSim as a fallback route so the lab stayed reproducible without SDR hardware.

04

Documented recurring failure points, recovery steps, and the exact sequence needed to continue the work on another machine.

Results & evidence

Core validationNRF + AMF checkedContainer health and service-registration visibility were used as the first checkpoint.
RAN validationgNodeB launchedThe lab was validated through nr-softmodem bring-up and NGAP-side checks.
UE pathQuectel + RFSimBoth hardware and fallback validation paths were kept in the documentation.
DeliverableStructured handoverThe outcome was not only a lab run, but a repeatable troubleshooting workflow.

Architecture view

Diagram of the OAI 5G private network lab showing Dockerized core, gNodeB, SDR or RFSim path, and UE validation.
The page now includes a simple architecture map to make the core, RAN, and UE validation path readable at a glance.

Timeline

Phase 1

Bring up the core

Deploy OAI CN5G with Docker Compose, validate NRF and AMF health, and confirm service registration.

Phase 2

Build and run the gNodeB

Compile nr-softmodem, align the band and PLMN configuration, and validate NGAP communication toward the AMF.

Phase 3

Attach the UE and troubleshoot sessions

Work on UE registration, PDU session behavior, and the configuration mismatches that often block the end-to-end path.

Overview

This project is a hands-on lab built around a 5G SA private network using OpenAirInterface. The goal is to make the setup reproducible, testable, and documented enough to continue debugging or hand it over without losing time.

What I built

  • A repeatable Core + gNodeB deployment workflow using Docker Compose and structured launch steps
  • A troubleshooting path for common failures around registration, NGAP, and PDU sessions
  • A lab flow that can work with USRP B210 hardware or RFSim when radio hardware is unavailable
  • Notes around radio and protocol-level observations, including what can later be surfaced through monitoring

Why it matters in my portfolio

This is one of the strongest technical projects in the portfolio because it combines:

  • telecom architecture
  • Linux and container-based workflows
  • methodical troubleshooting
  • careful configuration handling
  • detailed technical documentation

It also shows that I am comfortable working on a subject where the setup can fail for many subtle reasons.

Key technical decisions

Keep the core containerized

Using Docker Compose for the core helps reset the environment quickly and reduces dependency drift between machines.

Centralize configuration discipline

Small mismatches in PLMN, slices, or UE-related parameters can break the chain. This project reinforced the need for a strict configuration baseline.

Debug through evidence, not assumptions

Container logs, gNB logs, modem behavior, and step-by-step validation were used to isolate the failing stage instead of guessing.

Current proof included on the page

  • an architecture image showing the core, gNodeB, and UE validation path
  • a validation board summarizing the checkpoints that were actually followed
  • a dedicated block clarifying what I personally handled in the lab
  • result cards that turn the project from a generic description into a real case study

Results and learning value

This project strengthened my ability to:

  • work on a real telecom lab workflow
  • connect core-network logic to radio access setup
  • debug partial success cases where one step works but the next one fails
  • document advanced technical work in a way others can continue

What can still be added later

The next upgrade for this page will be to attach sanitized log excerpts, command snippets, and selected screenshots from the lab environment.

Crafted in France. © 2026 Kopethan ARUDSHELVAN (Kopy).