---
# System prepended metadata

title: Build OAI gNB and make E2E connection.

---

# Build OAI gNB and make E2E connection

:::info
## :dart: **Objective**: Make E2E connection.
:::
### :small_blue_diamond:**OS Information:**

![image](https://hackmd.io/_uploads/S1GYay5Ua.png)


## 1. Introduction

:bookmark: **Reference**:
The necessary resources for this build are listed below.

| Author    | Context                    | Link                                                                 |
| --------- | -------------------------- | -------------------------------------------------------------------- |
|   Open OAI |   Build gNB and UE    | [OAI_gNB](https://gitlab.eurecom.fr/oai/openairinterface5g/-/blob/develop/doc/NR_SA_Tutorial_OAI_nrUE.md) |


:::info
 **OAI CN5G pre-requisites**
:::
> [color=#eb4cf7] Please install and configure OAI CN5G as described here: 
> [OAI CN5G](https://gitlab.eurecom.fr/oai/openairinterface5g/-/blob/develop/doc/NR_SA_Tutorial_OAI_CN5G.md)

:::info 
### **OAI gNB and OAI nrUE pre-requisites**
:::

**Build UHD from source**

**1-** Add the Docker repository to APT sources:
 
 
    $ sudo apt install -y libboost-all-dev libusb-1.0-0-dev doxygen python3-docutils python3-mako python3-numpy python3-requests python3-ruamel.yaml python3-setuptools cmake build-essential
 
 * Clone UHD

    $ git clone https://github.com/EttusResearch/uhd.git ~/uhd
    
    $ cd ~/uhd
    $ git checkout v4.5.0.0
    $ cd host
    $ mkdir build
    $ cd build
    $ cmake ../
    $ make -j $(nproc)
    $ make test # This step is optional
    $ sudo make install
    $ sudo ldconfig
    $ sudo uhd_images_downloader
    

:::info 
### **Build OAI gNB and OAI nrUE**
:::

* Get openairinterface5g source code:

    $ git clone https://gitlab.eurecom.fr/oai/openairinterface5g.git ~/openairinterface5g
    $ cd ~/openairinterface5g
    $ cd ~/openairinterface5g
    $ git checkout develop


* Install OAI dependencies:

    $ cd ~/openairinterface5g/cmake_targets
    $ ./build_oai -I


* nrscope dependencies:
    $ sudo apt install -y libforms-dev libforms-bin
    
* Build OAI gNB:

    $ cd ~/openairinterface5g
    $ source oaienv
    $ cd cmake_targets
    $ ./build_oai -w USRP --ninja --nrUE --gNB --build-lib "nrscope" -C

![image](https://hackmd.io/_uploads/rJ3vmZAL6.png)


:::info 
### **Run OAI CN5G and OAI gNB**
:::

* Run OAI CN5G:

    $ cd ~/oai-cn5g
    $ docker compose up -d



### **SIM Card Configuration**

:::spoiler Expand here!
#define UICC_PARAMS_DESC {\
    {"imsi",             "USIM IMSI\n",          0,         strptr:&(uicc->imsiStr),              defstrval:"001010000000001",           TYPE_STRING,    0 },\
    {"nmc_size"          "number of digits in NMC", 0,      iptr:&(uicc->nmc_size),               defintval:2,         TYPE_INT,       0 },\
    {"key",              "USIM Ki\n",            0,         strptr:&(uicc->keyStr),               defstrval:"fec86ba6eb707ed08905757b1bb44b8f", TYPE_STRING,    0 },\
    {"opc",              "USIM OPc\n",           0,         strptr:&(uicc->opcStr),               defstrval:"c42449363bbad02b66d16bc975d77cc1", TYPE_STRING,    0 },\
    {"amf",              "USIM amf\n",           0,         strptr:&(uicc->amfStr),               defstrval:"8000",    TYPE_STRING,    0 },\
    {"sqn",              "USIM sqn\n",           0,         strptr:&(uicc->sqnStr),               defstrval:"000000",  TYPE_STRING,    0 },\
    {"dnn",              "UE dnn (apn)\n",       0,         strptr:&(uicc->dnnStr),               defstrval:"oai",     TYPE_STRING,    0 },\
    {"nssai_sst",        "UE nssai\n",           0,         iptr:&(uicc->nssai_sst),              defintval:1,    TYPE_INT,    0 }, \
    {"nssai_sd",         "UE nssai\n",           0,         iptr:&(uicc->nssai_sd),               defintval:0xffffff,    TYPE_INT,    0 }, \
};

:::





