1. Introduction
Detail the approach of steps for xFAPI, OSC-DU & FlexRAN <add here> deployment
1.1) Description:
This installation and execution guide provides detailed steps and troubleshooting tips for running xFAPI in conjunction with FlexRAN, OSC DU-High, and CU_stub.
1.2) System topology
2. Minimum Requirements
Detail the hardware and software requirements necessary for the installation
Cores: 3rd gen N series Intel Cpu
Accelerator : ACC100
RAM : 128 GB memory
Storage: 500 GB
Operating System: Ubuntu 22.04 with Real-time kernel
Recommended:
Cores: 4th Gen N series Intel Cpu with Vran boost
RAM: 256Gi Memory
3. Installation
Step step-by-step instructions for deployment
3.1) Prerequisites
Before proceeding, ensure the following dependencies are installed on your system:
GCC
Make sure you have GCC version 9.5 installed :
sudo apt-get install -y build-essential
gcc --version
LKSCTP
Install the LKSCTP library:
sudo apt-get install -y libsctp-dev
PCAP:
sudo apt-get install -y libpcap-dev
ICX :
icx (ICX) 2023.0.0 (2023.0.0.20221201)
Intel oneAPI :
Intel oneAPI version: l_BaseKit_p_2023.0.0.25537_offline.sh, (2023.0.0)
DPDK :
DPDK Configuration: Intel DPDK version 22.11.1
Cmake :
Recommended version of Cmake: cmake version 3.9.2
3.2) FlexRAN
Clone the project repo:
git clone https://github.com/intel/FlexRAN
Add the env setting script to .bashrc :
vim ~/.bashrc
add source /opt/intel/oneapi/setvars.sh to the script
3.3) xSM Library
Locate the Zip Folder:
mv /path/to/xSM_lib.zip /desired/deployment/path/
Unzip the project :
cd /desired/deployment/path/
unzip xSM_lib.zip
3.4) OSC Du-High
First, create a directory where you will clone the O-DU High code. This folder will be referred to as <O-DU High Directory>.
mkdir <O-DU High Directory>
cd <O-DU High Directory>
Clone the project repo:
git clone https://github.com/o-ran-sc/o-du-l2.git
Navigate to the O-DU Directory
cd o-du-l2
Checkout the i-release Branch
git checkout i-release
Modify the Makefile :
Go to the /build/odu directory and make the following changes in the Makefile:
Copy the wls_lib folder from the O-DU PHY repository:
git clone https://github.com/o-ran-sc/o-du-phy.git
After cloning, copy the wls_lib folder into the O-DU L2 source directory (/o-du-l2/src/):
cp -r o-du-phy/wls_lib/ <O-DU High Directory>/o-du-l2/src/
...
Build O-DU High in the o-du-l2/build/odu Directory:
make clean_odu PHY=INTEL_L1 MACHINE=BIT64 MODE=TDD
make odu PHY=INTEL_L1 MACHINE=BIT64 MODE=TDD
Build cu_stub :
make clean_cu NODE=TEST_STUB MACHINE=BIT64 MODE=TDD
make cu_stub NODE=TEST_STUB MACHINE=BIT64 MODE=TDD
Copy the libxsm.so from /src/xSM_lib :
cp ../../src/xSM_lib/libxsm.so ../../bin/odu
Navigate to the Binary Directory:
cd ../../bin
3.5) xFAPI
Locate the Zip Folder:
mv /path/to/xfapi.zip /desired/deployment/path/
Unzip the project :
cd /desired/deployment/path/
unzip xfapi.zip
Step 1
Expected Result:
3.2) Step 2:
Expected Result:
3.3) Step 3:
Expected Result:
4. Post-Installation Verification
Outline how to verify that the installation was successful.
We can validate the installation by these points, we should have the required binaries at these places :
4.1) Flexran binary [l1app] at:
...
Step 1:
Expected Result:
4.2) xFAPI binary [xfapi_app] at :
<xFAPI_directory>/bin/xfapi_app
4.3) xSM_lib .so file [libxsm.so] at :
<xFAPI_directory>/bin/libxsm.so
<OSC_DU_high_directory>/bin/odu/libxsm.so
4.4) ODU binary [odu] at :
<OSC_DU_high_directory>/bin/odu/cu_stub
4.5) cu_stub binary [cu_stub] at :
<OSC_DU_high_directory>/bin/odu/odu
5. Setting Up The Environment
Step up the env. variables for FlexRAN :
cd phy/
source setupenv.sh
Load Env. variables for xFAPI :
cd <xfapi directory>
source loadenvvar.sh
Configure IPs for OSC-DU High and cu_stub :
ifconfig lo:ODU "192.168.130.81"
ifconfig lo:CU_STUB "192.168.130.82"
6. Executing Stack
The sequence of execution of binaries is:
FlexRAN
xFAPI
cu_stub
OSC DU-High
Executing FlexRAN :
cd FlexRAN/l1/bin/nr5g/gnb/l1
./l1.sh -xran [for radio]
./l1.sh -e [for timer mode]
Executing xFAPI :
cd <xFAPI_directory>/bin
./run_xfapi.sh
Executing cu_stub :
cd <OSC_DU_high_directory>/bin/odu/odu
./cu_stub
Executing DU-High :
cd <OSC_DU_high_directory>/bin/odu/odu
./odu
...
Step 2:
Expected Result:
5. Troubleshooting
Provide common issues and their solutions.
Issue 1: Error in loading shared libraries while executing the FlexRAN
Solution: cd phy/source setupenv.sh
Issue 2: Parsing error in FlexRAN(Describe the issue.)
Solution: Update the <version> in phycfg_xran.cfg file, located at :FlexRAN/l1/bin/nr5g/gnb/l1/phycfg_xran.xml
Issue 3: Error in loading xsm lib in xFAPI
Solution: cd <xfapi directory>source loadenvvar.sh
Issue 4: Failed to bind the socket while executing the cu_stub
Solution: Configure the virtual IP addressesifconfig lo:ODU "192.168.130.81"
ifconfig lo:CU_STUB "192.168.130.82"
NOTE: Log files can be generated in xFAPI for detailed analysis. Both horizontal and vertical logging levels can be configured in the xfapi_cfg.cfg file.
...
(Provide the solution.)
6. Additional Resources
List of additional documentation, links, or resources that may be helpful.
...