:::warning # <center><i class="fa fa-cog fa-spin fa-1x fa-fw"></i> [OAI] OAI Layer 1 + USRP </center> <center>env1:miniPC / env2:Dell Server</center> ::: :::success **🎯 Goals:** ::: ### Basic :::info **Dell Server** ⚓ **Installation environment:** - Branch: `Develop` - OS: Ubuntu 18.04.6 LTS - CPU: Intel(R) Xeon(R) Gold 6326 CPU @ 2.90GHz core 64 - Stroge: 800GB - Memory: 188GB ::: :::info **env1:miniPC** ⚓ **Installation environment:** - Branch: `Develop` - OS: Ubuntu 18.04.6 LTS - CPU: Intel(R) Core(TM) i7-7567U CPU @ 3.50GHz - Stroge: 1TB - Memory: 8GB ::: ### Basic requirement | OS/Kernel | Version | |:-------------------------- |:----------------------------------------| | Host operating system | Linux Ubuntu 18.04 or 20.04 | | Kernel | 4.15.0.142.lowlatency | :::info :bookmark: **Reference:** - [OSC O-DU at OAI PNF (Rel. D)](https://hackmd.io/JO7qHfZjSmylYSZKokA5Xg?view#Build-OAI-gNB) - [Script files](https://github.com/dong881/run-integrate_OAIOSC) - [LOG files](https://github.com/dong881/OSC-DUHigh_OAI-L1) ::: [toc] # Change Kernel **Goal:** `4.15.0.142.lowlatency` Check curent kernel ```bash uname -r ``` > 5.4.0-150-generic Download ```bash sudo apt-get install linux-image-4.15.0.142-lowlatency ``` Check OS indtalled kernel ```bash dpkg --list | grep linux-image ``` Check kernel list ```bash grep -E "(submenu|menuentry) " /boot/grub/grub.cfg ``` > check submenu 'Advanced options for Ubuntu' ID > check menuentry 'Ubuntu, with Linux 4.15.0-142-lowlatency' ID ![](https://hackmd.io/_uploads/BJqghLr-T.png) Edit file ```bash sudo nano /etc/default/grub ``` - Find `GRUB_DEFAULT=1` and changes into ```bash! GRUB_DEFAULT="gnulinux-advanced-02051e5b-e6dc-4364-9531-869c95a70f94>gnulinux-4.15.0-142-lowlatency-advanced-02051e5b-e6dc-4364-9531-869c95a70f94" ``` > You need to change to your ID [color=pink] Update GRUB ```bash sudo update-grub ``` Change default kernel ```bash sudo grub-set-default '4.15.0-142-lowlatency' ``` **Reboot** Check OS kernel now ```bash uname -r ``` ![](https://hackmd.io/_uploads/H1Sc8fwyT.png) # Install UHD (USRP Hardware Driver) ```bash sudo apt-get update sudo apt-get install libuhd-dev uhd_find_devices ``` ![](https://hackmd.io/_uploads/rykAq__Jp.png) # Build OAI gNB #### Clone and build the dependency for the first time ```bash cd openairinterface5g/ # Build ONLY FOR the FIRST time source oaienv cd cmake_targets export BUILD_UHD_FROM_SOURCE=Ture # export UHD_VERSION=4.3.0.0-rc1 # we upgrade to 4.5.0 export UHD_VERSION=4.5.0 # ./build_oai -I -c -C -w USRP --gNB ./build_oai -I -c -C ./build_oai -w USRP --gNB ``` **BUILD SHOULD BE SUCCESSFUL** ![](https://hackmd.io/_uploads/SyfzEhdyT.png) ### RUN OAI ```bash cd ran_build/build sudo ./nr-softmodem -O [where the config file is] --sa -E --gNBs.[0].min_rxtxtime 6 --nfapi 1 # 1 : PNF, 2 : VNF sudo ./nr-softmodem -O ../../../../odu_at_oai/l2/mwnl/oai_pnf_conf/oaiL1.nfapi.usrpb210.conf --sa -E --gNBs.[0].min_rxtxtime 6 --continuous-tx --nfapi 1 # e.q. sudo ./nr-softmodem -O ../../../../../odu_at_oai/l2/mwnl/oai_pnf_conf/oaiL1.nfapi.usrpb210.conf --sa -E --gNBs.[0].min_rxtxtime 6 --continuous-tx --nfapi 1 # --gNBs.[0].min_rxtxtime 6 --> To ensure that the rx tx time advance is 6 slots ``` ![](https://hackmd.io/_uploads/Sks-1au1a.png) ![](https://hackmd.io/_uploads/BJqQu2dya.png) ![](https://hackmd.io/_uploads/Hku4d2_kp.png) # Wireshark setting ![](https://hackmd.io/_uploads/SktTisBb6.png) nfapi ![](https://hackmd.io/_uploads/Skv7hiHb6.png) # Trace Log | nFAPI | P5 | P7 | | ----- | ------------------- | --- | | No.1 | PNF_PARAM.request | | | No.2 | PNF_PARAM.response | | | No.3 | PNF_CONFIG.request | | | No.4 | PNF_CONFIG.response | | | No.5 | PNF_START.request | | | No.6 | PNF_START.response | | ## message sequence chart (MSC) of P5 ![](https://hackmd.io/_uploads/HyJUc1wgT.png) ```sequence VNF->PNF:PNF_PARAM.request PNF->VNF:PNF_PARAM.response VNF->PNF:PNF_CONFIG.request PNF->VNF:PNF_CONFIG.response VNF->PNF:PNF_START.request PNF->VNF:PNF_START.response ``` > VNF: OSC DU High > PNF: OAI Layer 1 # IP and port ![](https://hackmd.io/_uploads/S1hJikvl6.png) ![](https://hackmd.io/_uploads/rkbqqYclT.png =250x) # Additional Performance ![](https://hackmd.io/_uploads/ryuADoH-6.png) ![](https://hackmd.io/_uploads/BJbE8Mhka.png) ![](https://hackmd.io/_uploads/H1fPYM31p.png) <style> .title { color: #009933; font-weight:bold; } .highlight { color: #ff4d4d; font-weight:bold; border-bottom:2px red solid; padding-bottom:2px; } </style> <!-- <font class="highlight"> --> <!-- <font class="title"> --> <!-- 縮寫提示 --> <!-- *[O-RAN]:Open Radio Access Network -->