1 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
2 .. http://creativecommons.org/licenses/by/4.0
3 .. (c) <optionally add copywriters name>
9 This is the user guide for Cherry release of O-DU/l2.
22 - cd <rsys_directory>/l2/build/odu
24 b. Build O-DU High binary
26 - make odu MACHINE=BIT64 MODE=FDD
28 c. Clean O-DU High binary
30 - make clean_odu MACHINE=BIT64 MODE=FDD
36 - cd <rsys_directory>/l2/build/odu
38 b. Build CU Stub binary
40 - make cu_stub NODE=TEST_STUB MACHINE=BIT64 MODE=FDD
42 c. Clean CU Stub binary
44 - make clean_cu NODE=TEST_STUB MACHINE=BIT64 MODE=FDD
50 - cd <rsys_directory>/l2/build/odu
52 b. Build RIC Stub binary
54 - make ric_stub NODE=TEST_STUB MACHINE=BIT64 MODE=FDD
56 c. Clean RIC Stub binary
58 - make clean_ric NODE=TEST_STUB MACHINE=BIT64 MODE=FDD
60 4. Clean ODU, CU Stub and RIC Stub together
68 1. Assign virtual IP addresses as follows:
70 a. ifconfig <interface name>:ODU "192.168.130.81"
71 b. ifconfig <interface name>:CU_STUB "192.168.130.82"
72 c. ifconfig <interface name>:RIC_STUB "192.168.130.80"
76 a. CU execution folder
78 - cd <rsys_directory>/l2/bin/cu_stub
86 a. RIC execution folder
88 - cd <rsys_directory>/l2/bin/ric_stub
90 b. Run RIC Stub binary
96 a. DU execution folder
98 - cd <rsys_directory>/l2/bin/odu
104 PS: CU stub and RIC stub must be run (in no particular sequence) before ODU
107 C. Testing with Intel O-DU Low:
108 -------------------------------
115 a. Create folder <rsys_directory>/l2/src/wls_lib. Copy wls_lib.h from <intel_directory>/phy/wls_lib/ to
116 <rsys_directory>/l2/src/wls_lib.
118 b. Create folder <rsys_directory>/l2/src/dpdk_lib. Copy following files from
119 <intel_directory>/dpdk-19.11/x86_64-native-linuxapp-gcc/include/ to <rsys_directory>/l2/src/dpdk_lib.
121 - rte_branch_prediction.h
126 - rte_pci_dev_feature_defs.h
136 - cd <rsys_directory>/l2/build/odu
140 - make odu PHY=INTEL_L1 PHY_MODE=TIMER MACHINE=BIT64 MODE=FDD
142 2. Build CU Stub and RIC Stub:
144 a. Execute steps in sections A.2 and A.3.
151 a. Setup environment:
153 - cd <intel_directory>/phy/
154 - source ./setupenv.sh
156 b. Run O-DU Low binary :
158 - cd <intel_directory>/FlexRAN/l1/bin/nr5g/gnb/l1
159 - To run in timer mode : ./l1.sh -e
160 - L1 is up when following prints are seen on console:
162 | Non BBU threads in application
163 | \==================================================================
164 | nr5g_gnb_phy2mac_api_proc_stats_thread: [PID: 8659] binding on [CPU 0] [PRIO: 0] [POLICY: 1]
165 | wls_rx_handler (non-rt): [PID: 8663] binding on [CPU 0]
166 | \==================================================================
168 PHY>welcome to application console
170 2. Execute FAPI Translator:
172 a. Setup environment:
174 - cd <intel_directory>/phy/
175 - source ./setupenv.sh
177 b. Run FAPI translator binary:
179 - cd <intel_directory>/phy/fapi_5g/bin/
180 - ./oran_5g_fapi --cfg=oran_5g_fapi.cfg
182 3. Execute CU Stub and RIC Stub:
184 a. Run steps in sections B.1-B.3.
188 a. DU execution folder
190 - cd <rsys_directory>/l2/bin/odu
192 b. Export WLS library path
194 - export LD_LIBRARY_PATH=<intel_directory>/phy/wls_lib/lib:$LD_LIBRARY_PATH
204 O-DU High opens WLS interface during bring up. Message exchanges can begin once the interface is ready.
205 Following diagram shows P5 messages exchange with O-DU Low in timer mode.
207 .. figure:: L1-L2_Message_Flow.jpg
209 :alt: Figure 1 O-DU High - O-DU Low Message Flow Diagram
211 Figure 1 - O-DU High - O-DU Low Message Flow Diagram
213 Note: UL IQ-Sample request and response are needed by Intel O-DU Low in timer mode(testing mode) only. Code changes for
214 these are guarded under INTEL_TIMER_MODE flag which can be enabled using compilation option "PHY_MODE=TIMER", as mention