This page describes O-DU High/Low pairwise testing procedure in Timer mode.
DO NOT EDIT
Only the Integration PTL should edit the delivery status table to track the release validation progress
|Deployment Artifacts||Docker Container||Dockerfiles are released, however, containers are not generated and tested.|
WLS interface ready
|UL IQ sample request|
|UL IQ sample response|
Cloning O-DU High code
mkdir odu_high cd odu_high git clone "https://gerrit.o-ran-sc.org/r/o-du/l2"
Cloning O-DU Low code
mkdir odu_low cd odu_low - git clone "https://gerrit.o-ran-sc.org/r/o-du/phy" - Download code from "https://github.com/intel/FlexRAN"
- Install O-DU High pre-requisite libraries by following https://docs.o-ran-sc.org/projects/o-ran-sc-o-du-l2/en/latest/installation-guide.html .
- Install O-DU Low by following https://docs.o-ran-sc.org/projects/o-ran-sc-o-du-phy/en/latest/index.html .
mkdir odu_high/l2/src/wls_lib mkdir odu_high/l2/src/dpdk_lib cp odu_low/phy/wls_lib/wls_lib.h odu_high/l2/src/wls_lib/ cp odu_low/dpdk-19.11/x86_64-native-linuxapp-gcc/include/rte_* odu_high/l2/src/dpdk_lib/
O-DU low instructs to build DPDK using x86_64-native-linuxapp-icc
O-DU high uses x86_64-native-linuxapp-gcc, or library will be missing.
cd odu_high/l2/build/odu make odu PHY=INTEL_L1 PHY_MODE=TIMER MACHINE=BIT64 MODE=FDD
Hardcoded Library Location
The makefile of odu assumes the required libraries is located at /opt/intel
Modification of the makefile is needed if the libraries are located at different location.
Execution - Bringing up L1 of O-DU Low
cd odu_low/phy source ./setupenv.sh cd odu_low/FlexRAN/l1/bin/nr5g/gnb/l1 ./l1.sh -e Non BBU threads in application =========================================================================================================== nr5g_gnb_phy2mac_api_proc_stats_thread: [PID: 8659] binding on [CPU 0] [PRIO: 0] [POLICY: 1] wls_rx_handler (non-rt): [PID: 8663] binding on [CPU 0] =========================================================================================================== PHY>welcome to application console
Dynamic Library Path
May need to include the paths to the following libraries in the environment variable LD_LIBRARY_PATH
Execution - Bringing up FAPI Translator of O-DU Low
cd odu_low/phy source ./setupenv.sh cd odu_low/phy/fapi_5g/bin/ ./oran_5g_fapi –cfg=oran_5g_fapi.cfg
Assign virtual IP addresses as follows:
ifconfig <interface name>:ODU “192.168.130.81” ifconfig <interface name>:CU_STUB “192.168.130.82” ifconfig <interface name>:RIC_STUB “192.168.130.80”
Execution - Running CU Stub
cd odu_high/bin/cu_stub ./cu_stub
Execution - Running RIC Stub
cd odu_high/bin/ric_stub ./ric_stub
Execution - Running O-DU High
cd odu_high/bin/odu export LD_LIBRARY_PATH=odu_low/phy/wls_lib/lib:$LD_LIBRARY_PATH ./odu
Hi Zhe Huang,
I am attempting to deploy O-DU high and O-DU low as part of an end-to-end network consisting of O-RAN SC components. This guide is just what I need so thank you for putting it together!
One thing I am confused about is in step 9 when assigning virtual IP addresses - I do not know what interfaces to select i.e. why do you select 'eth0' in the tutorial video? Ideally, I would like to connect O-DU to an instance of the Near RT-RIC (dawn release) - is this possible? From what I understand, I should aim to connect O-DU with the e2-termination pod in the RIC's K8s cluster, but I'm unsure how to achieve this through assigning virtual IPs.
I look forward to hearing back from you.
All the best,