Near Realtime RIC Installation
The goal of this tutorial is to install and run the Near Realtime RIC
Hello World xApp Use Case Flows
This is a step by step tutorial to on-board, deploy and run a Hello World xApp in a Near Realtime RAN Intelligent Controller (RIC) instance.
Non-Realtime RIC
For more information on the Non-Realtime RIC please see the NONRTRIC Project wiki
SMO Installation
The goal of this tutorial is to install and run the Service Management Orchestrator
Running A1 and O1 Use Case Flows (outdated)
Outdated The goal of this tutorial is to run the A1 and O1 interface
O-RAN Alliance Components Definition
For the purposes of the present document, the terms and definitions given in 3GPP TR 21.905 [1] and the following apply. A term defined in the present document takes precedence over the definition of the same term, if any, in 3GPP TR 21.905 [1].
near-RT RIC: O-RAN near-real-time RAN Intelligent Controller: a logical function that enables near-real-time control and optimization of O-RAN elements and resources via fine-grained data collection and actions over E2 interface.
Non-RT RIC: O-RAN non-real-time RAN Intelligent Controller: a logical function that enables non-real-time control and optimization of RAN elements and resources, AI/ML workflow including model training and updates, and policy-based guidance of applications/features in near-RT RIC.
NMS: A Network Management System
O-CU: O-RAN Central Unit: a logical node hosting RRC, SDAP and PDCP protocols
O-CU-CP: O-RAN Central Unit – Control Plane: a logical node hosting the RRC and the control plane part of the PDCP protocol
O-CU-UP: O-RAN Central Unit – User Plane: a logical node hosting the user plane part of the PDCP protocol and the SDAP protocol
O-DU: O-RAN Distributed Unit: a logical node hosting RLC/MAC/High-PHY layers based on a lower layer functional split.
O-RU: O-RAN Radio Unit: a logical node hosting Low-PHY layer and RF processing based on a lower layer functional split. This is similar to 3GPP’s “TRP” or “RRH” but more specific in including the Low-PHY layer (FFT/iFFT, PRACH extraction).
O1: Interface between management entities in Service Management and Orchestration Framework and O-RAN managed elements, for operation and management, by which FCAPS management, Software management, File management shall be achieved.
O1*: Interface between Service Management and Orchestration Framework and Infrastructure Management Framework supporting O-RAN virtual network functions.
xAPP: Independent software plug-in to the Near-RT RIC platform to provide functional extensibility to the RAN by third parties.
Figure 2: O-RAN architecture overview
In the O-RAN architecture, the radio side includes Near-RT RIC, O-CU-CP, O-CU-UP, O-DU, and O-RU. The management side includes Service Management and Orchestration Framework that contains a Non-RT-RIC function.
66 Comments
zhu shengjie
Hello, Is there O-DU LOW guidance?
Lusheng Ji
Because O-DU LOW code needs a special building environment which did not get completed in Bronze time frame, there is no additional info, other than the scripts and dockerfile in the o-du/phy repo, available at this point.
Anonymous
Hi all,
Could someone please provide the detail instructions on how to build and execute O-DU High and make it interact with RIC?
Lusheng Ji
There are two places you can find such info:
1. o-du/l2 repo, docs directory, README file;
2. it/dep repo, demos/bronze directory, odu-high.sh demo script.
Lusheng
Anonymous
Hi All,
I am trying to build the sample application for ODU L1 Low. In the build steps I could see this step "export XRAN_DIR=`pwd`/flexran_xran", but I couldnt find any such folder from the git repo. Could you please let me know if I am using the correct repo (https://github.com/o-ran-sc/o-du-phy.git)
I am getting the following error when building fhi_lib. Could you please help me with this.
[root@localhost fhi_lib]# sh build.sh
Number of commandline arguments: 0
MLOG folder is set. Enable MLOG (MLOG_DIR=/root/flexran_l1_sw/libs/mlog)
Building xRAN Library
LIBXRANSO = 0
MLOG = 1
============================================================================================
Building ./build/libxran.so
RTE_TARGET = x86_64-native-linuxapp-icc
============================================================================================
[BUILD] lib : libxran
[DEP] libxran.dep
In file included from /root/o-du-phy/fhi_lib//lib/ethernet/ethdi.c(67):
/root/o-du-phy/fhi_lib//lib/api/xran_mlog_lnx.h(28): catastrophic error: cannot open source file "mlog_lnx.h"
#include <mlog_lnx.h>
^
make: *** [__dep__/root/o-du-phy/fhi_lib//lib/ethernet/ethdi.c] Error 4
"make $COMMAND_LINE MLOG=${MLOG} LIBXRANSO=${LIBXRANSO}" command exited with code 2.
Thanks and Regards,
Abhilash
Rajisha Payyanur
Hi
Were you able to solve this issue?
We are also facing similar issue.
We are trying to build ODU-L project and we could build wls_lib and FAPI library.
To build FHI_Lib, we need to set MLOG_DIR, we are not able to find any 'mlog' folder.
We used https://gerrit.o-ran-sc.org/r/o-du/phy.git and https://github.com/intel/FlexRAN.git to clone the code.
We tried setting the MLOG_DIR as /home/user/new_odu/phy/fhi_lib/app/src:/home/user/new_odu/phy/fhi_lib/lib/api, but we see below error.
[user@IA-platform fhi_lib]$ ./build.sh
Number of commandline arguments: 0
MLOG folder is set. Enable MLOG (MLOG_DIR=/home/user/new_odu/phy/fhi_lib/app/src:/home/user/new_odu/phy/fhi_lib/lib/api)
Building xRAN Library
LIBXRANSO = 0
MLOG = 1
============================================================================================
Building ./build/libxran.so
RTE_TARGET = x86_64-native-linuxapp-icc
============================================================================================
[BUILD] lib : libxran
[CC] /home/user/odu-low/phy/fhi_lib/lib/ethernet/ethdi.o
In file included from /home/user/odu-low/phy/fhi_lib/lib/ethernet/ethdi.c(67):
/home/user/odu-low/phy/fhi_lib/lib/api/xran_mlog_lnx.h(28): catastrophic error: cannot open source file "mlog_lnx.h"
#include <mlog_lnx.h>
^
compilation aborted for /home/user/odu-low/phy/fhi_lib/lib/ethernet/ethdi.c (code 4)
make: *** [build/obj//home/user/odu-low/phy/fhi_lib/lib/ethernet/ethdi.o] Error 4
"make $COMMAND_LINE MLOG=${MLOG} LIBXRANSO=${LIBXRANSO}" command exited with code 2.
[user@IA-platform fhi_lib]$
we are following this link: https://docs.o-ran-sc.org/projects/o-ran-sc-o-du-phy/en/latest/Setup-Configuration_fh.html#a-4-install-and-configure-sample-application
Anonymous
hi, you need build the prerequisites in this page https://docs.o-ran-sc.org/projects/o-ran-sc-o-du-phy/en/latest/build_prerequisite.html
or if you prefer you have a lot of information here , https://gerrit.o-ran-sc.org/r/gitweb?p=o-du/phy.git;a=blob;f=Dockerfile;h=784a3f42e43f6e139dc22cb7405a3499c8819332;hb=3857f3f735f44c156ba261db0fdf10e2f4011510
Anonymous
Hi all,
Is there anyway to simulate packet flow in O-DU HIGH? There seems to be only some initialization requests and establishment of protocols when the application is run.
Also is it possible to integrate the CU from OAI with O-DU from ORAN? Since the CU already exists in OAI with the F1 interface.
Thanks and Regards,
Wen Kai
Wenchao Jiang
Interested in this question as well.
Anonymous
Dear all, currently it seems not possible to compile du-low project without the older intel system_studio_2020_u2 compiler. The problem is that it we cannot get community licenses anymore as Intel moved to oneapi package which has a compiler not supported by O-Ran. In fact, when I tried to compile dpkg with the latest intel compiler it gave me many errors. Is it possible to make such community license file available? Otherwise it's not possible to compile dpkg again due to compiler error (segmentation fault).
Zhimin Yuan
Intel compiler just updated, we will follow to update O-DU Low SW in the down release time zone.
Anonymous
Hi, Zhimin Yuan will intel flexran github be updated for cherry release? Currently DU-LOW documentation is not updated.
Matheus Eduardo Garbelini
Hi, I'm also facing the same issue.
Zhimin Yuan
Intel compiler just updated, we will follow to update O-DU Low SW in the down release time zone.
Anonymous
Hi, I am using O_DU low project can we use different NIC, we have Intel Corporation Ethernet 10G 2P X520 Adapter. I am not able to create VF's on this NIC though.
Anonymous
Check if your PC has SR-IOV and ACS enabled on BIOS. Initially you don't need to enable sr-iov. You can just bind the ethernet adaptor to dpdk vfio-pci driver and you should be able to use the PF itself for a simple deployment. (Intel Core i9-X series also offers AVX512 support in case you don't want to spend 10000USD+ on Xeon servers, but it, unfortunately, has no SR-IOV support that I'm aware).
Pavan Gupta
Hi,
I have installed SMO and near-RT RIC in 2 separate VMS and deployed HelloWorld xAPP. Also, have run A1 and O1 use cases. Next I want to try is run some tests with CU, DU and RU.
While I see mention of O-DU scripts being, I dont see steps defined for trying out the DU functionality.
- Is DU required to be run in a separate VM?
- Are there any documented steps for running the DU functionality?
- There is a video on setting up O-DU high. Is this video still applicable?
Would appreciate inputs in above areas to try out all functions of O-RAN.
Thank you.
Pavan
Anonymous
Hi Pavan, there is DU-Low is DU-High. Currently, you don't require a VM, although it's recommended centos for the deployment.
Unfortunately, DU-Low requires contacting intel first to acquire documentation on the l1app. I'm not sure if on public release it's even possible to deploy with a real O-RU.
DU-HIGH: https://docs.o-ran-sc.org/en/latest/projects.html#o-ran-distributed-unit-low-layers-odulow
DU-LOW: https://docs.o-ran-sc.org/projects/o-ran-sc-o-du-phy/en/latest/Assumptions_Dependencies.html
Anonymous
Hi,
I can only see a bronze tag for the Intel FlexRAN binaries - is there going to be a cherry one or are the bronze ones supported in the cherry o-ran release?
Thanks
Anonymous
Hi, everything can be downloaded in the tarball on this page: Cherry Release (Dec 2020)
Look on the right corner "Get Cherry". The o-ran-sc part 1, contains the phy folder which corresponds to du-low and l2 folder to du-high.
The DU-High-Low integration steps is documented here: O-DU High and Low Integration
I'll briefly describe the unofficial steps to compile the latest release fully without missing steps:
(Cherry release must be extracted to oran folder, so you have oran/phy there.
Disclaimer: Don't follow any DU-LOW tutorial if you do not have an Intel or ORAN contact which can provide you with intel flexran documentation. Otherwise you will not be able to configure l1app to deploy du-low with real O-RU devices. The O-RAN public release so far does support COTS deployment.
I highly suggest getting the Intel Distribution of OpenNESS which has automated containers to deploy O-RAN with updated l1app and their documentation and dpdk source code to communicate with real O-RU devices.
Pavan Gupta
I have compiled both Odu low and high on a Ubuntu18.04 VM. I am trying to run steps shown in the recording for odu high and low integration. Are these steps suppsed to work on Ubuntu VM, I am facing some issues.
./l1.sh: line 104: chkconfig: command not found
./l1.sh: line 105: echo: write error: Unknown error 524
./l1.sh: line 110: echo: write error: Input/output error
Anonymous
chkconfig is not present in ubuntu 18.04, only on centos. You can comment those lines on l1.sh to avoid such errors.
Pavan Gupta
Thank you for the information. I am now running l1.sh as root and not get the following errors:
./l1.sh: line 110: echo: write error: Input/output error
./l1.sh: line 110: echo: write error: Input/output error
using configuration file phycfg_timer.xml
>> Running... ./l1app table 0 1 --cfgfile=phycfg_timer.xml
./l1.sh: line 137: 1484 Illegal instruction (core dumped) ./l1app table 0 1 --cfgfile=phycfg_timer.xml
Cleanup after [PID] 1473
Not sure if something has gone during building du-low.
Anonymous
Oh, are you not using a XEON gold cpu or Intel Core i9-X series?
Your cou needs to support AVX-512 instruction set (Skylake or Cascade lake CPUs). Otherwise you will get exactly this error.
Pavan Gupta
I am using a VM on AWS to run DU. Is it possible to run it on VM or we need to run this on a physical machine with Xeon gold cpu or Intel Core i9-X processors?
Anonymous
You can run on VM, but your AWS instance must support AVX-512. Last time I used Google cloud trial period. There you can select the exact CPU model for your instance.
Pavan Gupta
There is a C5 instance available on AWS that supports AVX-512 instructions.
Pavan Gupta
Hello,
Please help me understand that by running o-du low and high is there an end-2-end use case that can be tried, i.e. run a configuration from smo->near-rt ric->du-high->du-low->cu-stub (if possible)
Pavan Gupta
Hi,
I am getting the following error on starting du-low. I am running it on AWS instance which supports AVX-512 instructions. Please share if you know the fix for it.
FlexRAN SDK bblib_srs_cestimate_5gnr version sdk-20.04-0-g47e69c30
FlexRAN SDK bblib_zf_matrix_gen version sdk-20.04-0-g47e69c30
FlexRAN SDK bblib_beamforming_dl_expand version sdk-20.04-0-g47e69c30
=========================
5GNR PHY Application
=========================
mlockall failed: Cannot allocate memory
Cleanup after [PID] 8656
Pavan
Anonymous
Hi, make sure you have hugepages enabled on your kernel. You can do so by adding a kernel parameters to GRUB.
Edit /etc/default/grub and append the following to the GRUB_CMDLINE_LINUX:
default_hugepagesz=1G hugepagesz=1G hugepages=4
This will consume 4GB of your RAM immediately. You can read more here: https://github.com/intel/FlexRAN#os-configuration
Pavan Gupta
I am presently using Ubuntu18.04 for running DU. The link you have shared mentions using CentOS7.5. Is it recommended to switch to CentOS7.5 or Ubuntu should also work?
Pavan
Pavan Gupta
Hi,
Is there docker image available for O-DU on any repository?
Pavan
Travis Machacek
Hi Pavan,
I know some time has passed and I was wondering if you were successful with the execution of the O-DU High? I've tried executing on locally compiled code and also through the docker images provided at: User Guide — o-du-l2 master documentation (o-ran-sc.org)
I was not successful with either method. I'm also on an Ubuntu 18.04 VM.
Pavan Gupta
Hi Travis,
I could successfully build du-low and also could create its docker image. I did it on CentOS 7 VM. I could build Du-high, which is quite straight forward. I am pasting a response below that helped me to get du-low working. Try to follow these steps. If you want to build du-low and plan to use this script https://pastebin.com/vjeKTAhf, u will need to make minor changes to make it work on CentOS 7.
Let me know if this helps.
Pavan
==================================================================
Hi, everything can be downloaded in the tarball on this page: Cherry Release (Dec 2020)
Look on the right corner "Get Cherry". The o-ran-sc part 1, contains the phy folder which corresponds to du-low and l2 folder to du-high.
The DU-High-Low integration steps is documented here: O-DU High and Low Integration
I'll briefly describe the unofficial steps to compile the latest release fully without missing steps:
(Cherry release must be extracted to oran folder, so you have oran/phy there.
Disclaimer: Don't follow any DU-LOW tutorial if you do not have an Intel or ORAN contact which can provide you with intel flexran documentation. Otherwise you will not be able to configure l1app to deploy du-low with real O-RU devices. The O-RAN public release so far does support COTS deployment.
I highly suggest getting the Intel Distribution of OpenNESS which has automated containers to deploy O-RAN with updated l1app and their documentation and dpdk source code to communicate with real O-RU devices.
Travis Machacek
So at the moment, I'm just trying to get the DU-High working. I was able to build the cu_stub, ric_stub, and odu-high just fine, but when trying to execute it in these steps: User Guide — o-du-l2 master documentation (o-ran-sc.org), I'm not having much luck. Have you tried executing the DU-High yet?
Pavan Gupta
Hi,
I have used the script you have provided: https://pastebin.com/vjeKTAhf .
Kindly let me know if we need to build dpdk first with icc and then build oran libraries. InI am wondering if I have missed something.
Zhimin Yuan
Hi,
first of all, thanks for sharing your experience to build O-DU Low project and successfully deploy O-DU Low project in Ubuntu.
I would like to add more comments based on yours.
(1)https://github.com/intel/FlexRAN (for BIOS/OS/docker configuration)
(2)https://docs.o-ran-sc.org/projects/o-ran-sc-o-du-phy/en/latest/index.html(open interface lib build)
(3)O-DU High and Low Integration (O-DU low and O-DU high integration)
We will be very glad if you could give us comments which help us improve O-DU low documents. and your name is showed up as anonymous, do you mind to let me know your contact?
Thanks,
Zhimin
Matheus Eduardo Garbelini
Hi Zhimin Yuansorry for the late reply.
About comments to help to improve O-DU low documents, I'm not sure what to do in this regard since the current documentation is outdated and documenting flexran configuration file would breach Intel NDA, but I can maybe help push some documentation commit with an automated du-low installation script or the current docker deployment for du-low. Feel free to contact me via my email separately for this matter. I'd like to contribute. Regards.
Pavan Gupta
Hi,
Thank you very much for responding.
You are shown as anonymous, would be great to know your name as well
Once again thank you.
Pavan
Anonymous
Anonymous
hi,
I have been installed the bronze version SMO&RICPLT cluster,but now i want to update the bronze version to cherry version,Is there any relevant procedure guide,any one can help me?
Thank you.
anjan goswami
That is exactly i am looking for.
Priyanka Mahani
Hi
I am new to ORAN SC. I want to install and run ORAN Cherry setup on my Ubuntu VM. We are facing some issues. Also it is not clear whether we need 1 machine only or we need 2 machines to setup the nodes like RIC-APP and RIC-AUX. Can someone please guide here or share some documentation link which details about these aspects.
Thanks in advance.
Darshan Srinivas
Hello,
I am interested in knowing if the O-CU-CP and O-CU-UP implementations/simulations are available in the O-RAN-SC project. Please let me know
Thanks in advance
mhz
Hello,
How O-RAN software will be used once it is fully installed?
Is there any documentation on how to manipulate O-RAN functionalities?
Anonymous
Hello,Is it posssible to share the 2020_u2 community license.lic?
Anonymous
Hello,
I'm interested in CU functionality.
Unfortunately it's very hard to find out method to build and execute the CU layer.
Is there any document or instruction for it. pls share it.
Thanks in advance.
Anonymous
Hi,
We are trying to run sample application of DU and RU following the link https://docs.o-ran-sc.org/projects/o-ran-sc-o-du-phy/en/latest/Setup-Configuration_fh.html#a-1-setup-configuration.
While we are launching the application we are getting Error: "Loading file ./usecase/mu0_10mhz/ant_0.bin to DL IFFT IN IQ Samples in binary format: can't open file ./usecase/mu0_10mhz/ant_0.bin!".
We learnt from oran documentation on ODU-L that Octave software is required for generating IQ samples for that.
Can someone guide us on how to generate those samples using Octave.
Rajisha Payyanur
Hi Team,
We could launch Flexran sample-app on 2 different servers (one used as DU and another one as RU).
We followed this link: https://docs.o-ran-sc.org/projects/o-ran-sc-o-du-phy/en/latest/Setup-Configuration_fh.html
and added probing and dpdk binding for the VFs on both servers.
But we don't see any Rx counter and the Rx IQ samples shows (0,0) only.
VF[0] 0000:17:02.0
VF[1] 0000:17:02.1
IQ files size is 40 slots
app_xran_get_num_rbs: RAN [5G NR] nNumerology[0] nBandwidth[10] nAbsFrePointA[2645460] numRBs[52]
app_xran_get_num_rbs: RAN [5G NR] nNumerology[0] nBandwidth[10] nAbsFrePointA[2525460] numRBs[52]
app_xran_get_num_rbs: RAN [5G NR] nNumerology[0] nBandwidth[10] nAbsFrePointA[2645460] numRBs[52]
app_xran_get_num_rbs: RAN [5G NR] nNumerology[0] nBandwidth[10] nAbsFrePointA[2525460] numRBs[52]
app_xran_get_num_rbs: RAN [5G NR] nNumerology[0] nBandwidth[10] nAbsFrePointA[2525460] numRBs[52]
Loading file ./usecase/mu0_10mhz/ant_0.bin to DL IFFT IN IQ Samples in binary format: Reading IQ samples from file: File Size: 1397760 [Buffer Size: 1397760]
from addr (0x7fe23007e010) size (1397760) bytes num (1397760)
Loading file ./usecase/mu0_10mhz/ant_1.bin to DL IFFT IN IQ Samples in binary format: Reading IQ samples from file: File Size: 1397760 [Buffer Size: 1397760]
from addr (0x7fe1ddd7a010) size (1397760) bytes num (1397760)
Loading file ./usecase/mu0_10mhz/ant_2.bin to DL IFFT IN IQ Samples in binary format: Reading IQ samples from file: File Size: 1397760 [Buffer Size: 1397760]
from addr (0x7fe1ddc24010) size (1397760) bytes num (1397760)
Loading file ./usecase/mu0_10mhz/ant_3.bin to DL IFFT IN IQ Samples in binary format: Reading IQ samples from file: File Size: 1397760 [Buffer Size: 1397760]
from addr (0x7fe1ddace010) size (1397760) bytes num (1397760)
Storing DL IFFT IN IQ Samples in human readable format to file ./logs/o-du-play_ant0.txt: from addr (0x7fe23007e010) size (1397760) IQ num (349440)
Storing DL IFFT IN IQ Samples in binary format to file ./logs/o-du-play_ant0.bin: from addr (0x7fe23007e010) size (698880) bytes num (698880)
Storing DL IFFT IN IQ Samples in human readable format to file ./logs/o-du-play_ant1.txt: from addr (0x7fe1ddd7a010) size (1397760) IQ num (349440)
Storing DL IFFT IN IQ Samples in binary format to file ./logs/o-du-play_ant1.bin: from addr (0x7fe1ddd7a010) size (698880) bytes num (698880)
Storing DL IFFT IN IQ Samples in human readable format to file ./logs/o-du-play_ant2.txt: from addr (0x7fe1ddc24010) size (1397760) IQ num (349440)
Storing DL IFFT IN IQ Samples in binary format to file ./logs/o-du-play_ant2.bin: from addr (0x7fe1ddc24010) size (698880) bytes num (698880)
Storing DL IFFT IN IQ Samples in human readable format to file ./logs/o-du-play_ant3.txt: from addr (0x7fe1ddace010) size (1397760) IQ num (349440)
Storing DL IFFT IN IQ Samples in binary format to file ./logs/o-du-play_ant3.bin: from addr (0x7fe1ddace010) size (698880) bytes num (698880)
TX: Convert S16 I and S16 Q to network byte order for XRAN Ant: [0]
TX: Convert S16 I and S16 Q to network byte order for XRAN Ant: [1]
TX: Convert S16 I and S16 Q to network byte order for XRAN Ant: [2]
TX: Convert S16 I and S16 Q to network byte order for XRAN Ant: [3]
app_xran_get_num_rbs: RAN [5G NR] nNumerology[0] nBandwidth[10] nAbsFrePointA[2645460] numRBs[52]
app_xran_get_num_rbs: RAN [5G NR] nNumerology[0] nBandwidth[10] nAbsFrePointA[2525460] numRBs[52]
System clock (rdtsc) resolution 2095077612 [Hz]
Ticks per us 2095
xran_init: MTU 9600
total cores 144 c_mask 0x21 core 5 [id] system_core 0 [id] pkt_proc_core 0x0 [mask] pkt_aux_core 0 [id] timing_core 5 [id]
xran_ethdi_init_dpdk_io: Calling rte_eal_init:wls_0 -c 0x21 -n2 --iova-mode=pa --socket-mem=8192 --socket-limit=8192 --proc-type=auto --file-prefix wls_0 -w 0000:00:00.0
EAL: Detected 128 lcore(s)
EAL: Detected 4 NUMA nodes
EAL: Auto-detected process type: PRIMARY
EAL: Multi-process socket /var/run/dpdk/wls_0/mp_socket
EAL: Selected IOVA mode 'PA'
EAL: Probing VFIO support...
EAL: VFIO support initialized
EAL: PCI device 0000:17:02.0 on NUMA socket 0
EAL: probe driver: 8086:154c net_i40e_vf
EAL: using IOMMU type 1 (Type 1)
initializing port 0 for TX, drv=net_i40e_vf
Port 0 MAC: 00 11 22 33 44 66
Port 0: nb_rxd 4096 nb_txd 4096
Checking link status portid [0] EAL: PCI device 0000:17:02.1 on NUMA socket 0
EAL: probe driver: 8086:154c net_i40e_vf
initializing port 1 for TX, drv=net_i40e_vf
Port 1 MAC: 00 11 22 33 44 66
Port 1: nb_rxd 4096 nb_txd 4096
Checking link status portid [1] vf 0 local SRC MAC: 00 11 22 33 44 66
vf 0 remote DST MAC: 00 11 22 33 44 55
vf 1 local SRC MAC: 00 11 22 33 44 66
vf 1 remote DST MAC: 00 11 22 33 44 55
FFT Order 10
app_xran_cal_nrarfcn: nCenterFreq[2650140] nDeltaFglobal[5] nFoffs[0] nNoffs[0] nNRARFCN[530028]
DL center freq 2650140 DL NR-ARFCN 530028
app_xran_cal_nrarfcn: nCenterFreq[2530140] nDeltaFglobal[5] nFoffs[0] nNoffs[0] nNRARFCN[506028]
UL center freq 2530140 UL NR-ARFCN 506028
XRAN front haul xran_mm_init
xran_sector_get_instances [0]: CC 0 handle 0x135f8c00
Handle: 0x118cd918 Instance: 0x135f8c00
init_xran [0]: CC 0 handle 0x135f8c00
Sucess xran_mm_init
nSectorNum 1
nSectorIndex[0] = 0
ru_0_cc_0_idx_0: [ handle 0x135f8c00 0 0 ] [nPoolIndex 0] nNumberOfBuffers 2240 nBufferSize 15696
CC:[ handle 0x135f8c00 ru 0 cc_idx 0 ] [nPoolIndex 0] mb pool 0x2ea4f6b00
ru_0_cc_0_idx_1: [ handle 0x135f8c00 0 0 ] [nPoolIndex 1] nNumberOfBuffers 35840 nBufferSize 24
CC:[ handle 0x135f8c00 ru 0 cc_idx 0 ] [nPoolIndex 1] mb pool 0x2e80d17c0
ru_0_cc_0_idx_2: [ handle 0x135f8c00 0 0 ] [nPoolIndex 2] nNumberOfBuffers 2240 nBufferSize 48416
CC:[ handle 0x135f8c00 ru 0 cc_idx 0 ] [nPoolIndex 2] mb pool 0x2e6b1f180
ru_0_cc_0_idx_3: [ handle 0x135f8c00 0 0 ] [nPoolIndex 3] nNumberOfBuffers 2240 nBufferSize 15696
CC:[ handle 0x135f8c00 ru 0 cc_idx 0 ] [nPoolIndex 3] mb pool 0x2e00f1e40
ru_0_cc_0_idx_4: [ handle 0x135f8c00 0 0 ] [nPoolIndex 4] nNumberOfBuffers 35840 nBufferSize 24
CC:[ handle 0x135f8c00 ru 0 cc_idx 0 ] [nPoolIndex 4] mb pool 0x2ddcccb00
ru_0_cc_0_idx_5: [ handle 0x135f8c00 0 0 ] [nPoolIndex 5] nNumberOfBuffers 2240 nBufferSize 48416
CC:[ handle 0x135f8c00 ru 0 cc_idx 0 ] [nPoolIndex 5] mb pool 0x2dc71a4c0
ru_0_cc_0_idx_6: [ handle 0x135f8c00 0 0 ] [nPoolIndex 6] nNumberOfBuffers 2240 nBufferSize 8192
CC:[ handle 0x135f8c00 ru 0 cc_idx 0 ] [nPoolIndex 6] mb pool 0x2d5ced180
ru_0_cc_0_idx_7: [ handle 0x135f8c00 0 0 ] [nPoolIndex 7] nNumberOfBuffers 2240 nBufferSize 15696
CC:[ handle 0x135f8c00 ru 0 cc_idx 0 ] [nPoolIndex 7] mb pool 0x2d48a5b40
init_xran_iq_content
xran_open: 5G NR Category A
xRAN open PRACH config: Numerology 0 ConfIdx 189, preambleFmrt 7 startsymb 0, numSymbol 2, occassionsInPrachSlot 7
PRACH: x 1 y[0] 0, y[1] 0 prach slot: 1 .. 6 ..
PRACH start symbol 0 lastsymbol 13
xran_open: interval_us=1000
XRAN_UP_VF: 0x0000
XRAN_CP_VF: 0x0001
----------------------------------------
MLog Info: virt=0x0000000000000000 size=0
----------------------------------------
Start XRAN traffic
Set debug stop 1, debug stop count 0
xran_timing_source_thread [CPU 5] [PID: 136561]
O-DU: thread_run start time: 12/09/21 10:19:42.000000004 UTC [1000]
Start C-plane DL 200 us after TTI [trigger on sym 3]
Start C-plane UL 440 us after TTI [trigger on sym 7]
Start U-plane DL 400 us before OTA [offset in sym -5]
Start U-plane UL 360 us OTA [offset in sym 6]
C-plane to U-plane delay 200 us after TTI
Start Sym timer 142857 ns
interval_us 1000
+---------------------------------------+
| Press 1 to start 5G NR XRAN traffic |
| Press 2 reserved for future use |
| Press 3 to quit |
+---------------------------------------+
[o-du][rx 0 pps 0 kbps 0][tx 0 pps 0 kbps 0] [on_time 0 early 0 late 0 corrupt 0 pkt_dupl 0 Total 0] IO Util: 66.31 %
[o-du][rx 0 pps 0 kbps 0][tx 0 pps 0 kbps 0] [on_time 0 early 0 late 0 corrupt 0 pkt_dupl 0 Total 0] IO Util: 66.27 %
[o-du][rx 0 pps 0 kbps 0][tx 0 pps 0 kbps 0] [on_time 0 early 0 late 0 corrupt 0 pkt_dupl 0 Total 0] IO Util: 66.32 %
[o-du][rx 0 pps 0 kbps 0][tx 0 pps 0 kbps 0] [on_time 0 early 0 late 0 corrupt 0 pkt_dupl 0 Total 0] IO Util: 66.30 %
[o-du][rx 0 pps 0 kbps 0][tx 43956 pps 43956 kbps 0] [on_time 0 early 0 late 0 corrupt 0 pkt_dupl 0 Total 0] IO Util: 66.92 %
[o-du][rx 0 pps 0 kbps 0][tx 108760 pps 64804 kbps 1089406] [on_time 0 early 0 late 0 corrupt 0 pkt_dupl 0 Total 0] IO Util: 67.08 %
[o-du][rx 0 pps 0 kbps 0][tx 173564 pps 64804 kbps 1134374] [on_time 0 early 0 late 0 corrupt 0 pkt_dupl 0 Total 0] IO Util: 67.03 %
[o-du][rx 0 pps 0 kbps 0][tx 238368 pps 64804 kbps 1134374] [on_time 0 early 0 late 0 corrupt 0 pkt_dupl 0 Total 0] IO Util: 67.03 %
[o-du][rx 0 pps 0 kbps 0][tx 303172 pps 64804 kbps 1134374] [on_time 0 early 0 late 0 corrupt 0 pkt_dupl 0 Total 0] IO Util: 67.02 %
[o-du][rx 0 pps 0 kbps 0][tx 367976 pps 64804 kbps 1134374] [on_time 0 early 0 late 0 corrupt 0 pkt_dupl 0 Total 0] IO Util: 67.03 %
[o-du][rx 0 pps 0 kbps 0][tx 432784 pps 64808 kbps 1134374] [on_time 0 early 0 late 0 corrupt 0 pkt_dupl 0 Total 0] IO Util: 67.02 %
[o-du][rx 0 pps 0 kbps 0][tx 497588 pps 64804 kbps 1134374] [on_time 0 early 0 late 0 corrupt 0 pkt_dupl 0 Total 0] IO Util: 67.02 %
[o-du][rx 0 pps 0 kbps 0][tx 562392 pps 64804 kbps 1134374] [on_time 0 early 0 late 0 corrupt 0 pkt_dupl 0 Total 0] IO Util: 67.02 %
[o-du][rx 0 pps 0 kbps 0][tx 627196 pps 64804 kbps 1134374] [on_time 0 early 0 late 0 corrupt 0 pkt_dupl 0 Total 0] IO Util: 67.01 %
[o-du][rx 0 pps 0 kbps 0][tx 692004 pps 64808 kbps 1134374] [on_time 0 early 0 late 0 corrupt 0 pkt_dupl 0 Total 0] IO Util: 67.03 %
STOP:[1639045200.000000078]
Closing timing source thread...
[o-du][rx 0 pps 0 kbps 0][tx 710236 pps 18232 kbps 1134374] [on_time 0 early 0 late 0 corrupt 0 pkt_dupl 0 Total 0] IO Util: 67.01 %
get_xran_iq_content
Closing l1 app... Ending all threads...
Failed at xran_mm_destroy, status -2
Dump IQs...
RX: Convert S16 I and S16 Q to cpu byte order from XRAN Ant: [0]
RX: Convert S16 I and S16 Q to cpu byte order from XRAN Ant: [1]
RX: Convert S16 I and S16 Q to cpu byte order from XRAN Ant: [2]
RX: Convert S16 I and S16 Q to cpu byte order from XRAN Ant: [3]
Storing UL FFT OUT IQ Samples in human readable format to file ./logs/o-du-rx_log_ant0.txt: from addr (0x7fe1dd978010) size (1397760) IQ num (349440)
Storing UL FFT OUT IQ Samples in binary format to file ./logs/o-du-rx_log_ant0.bin: from addr (0x7fe1dd978010) size (698880) bytes num (698880)
Storing UL FFT OUT IQ Samples in human readable format to file ./logs/o-du-rx_log_ant1.txt: from addr (0x7fe1dd822010) size (1397760) IQ num (349440)
Storing UL FFT OUT IQ Samples in binary format to file ./logs/o-du-rx_log_ant1.bin: from addr (0x7fe1dd822010) size (698880) bytes num (698880)
Storing UL FFT OUT IQ Samples in human readable format to file ./logs/o-du-rx_log_ant2.txt: from addr (0x7fe1dd6cc010) size (1397760) IQ num (349440)
Storing UL FFT OUT IQ Samples in binary format to file ./logs/o-du-rx_log_ant2.bin: from addr (0x7fe1dd6cc010) size (698880) bytes num (698880)
Storing UL FFT OUT IQ Samples in human readable format to file ./logs/o-du-rx_log_ant3.txt: from addr (0x7fe1dd576010) size (1397760) IQ num (349440)
Storing UL FFT OUT IQ Samples in binary format to file ./logs/o-du-rx_log_ant3.bin: from addr (0x7fe1dd576010) size (698880) bytes num (698880)
PRACH: Convert S16 I and S16 Q to cpu byte order from XRAN Ant: [0]
PRACH: Convert S16 I and S16 Q to cpu byte order from XRAN Ant: [1]
PRACH: Convert S16 I and S16 Q to cpu byte order from XRAN Ant: [2]
PRACH: Convert S16 I and S16 Q to cpu byte order from XRAN Ant: [3]
Storing PRACH FFT OUT IQ Samples in human readable format to file ./logs/o-du-prach_log_ant0.txt: from addr (0x7fe1dd127010) size (4515840) IQ num (1128960)
Storing PRACH FFT OUT IQ Samples in binary format to file ./logs/o-du-prach_log_ant0.bin: from addr (0x7fe1dd127010) size (2257920) bytes num (2257920)
Storing PRACH FFT OUT IQ Samples in human readable format to file ./logs/o-du-prach_log_ant1.txt: from addr (0x7fe1dccd8010) size (4515840) IQ num (1128960)
Storing PRACH FFT OUT IQ Samples in binary format to file ./logs/o-du-prach_log_ant1.bin: from addr (0x7fe1dccd8010) size (2257920) bytes num (2257920)
Storing PRACH FFT OUT IQ Samples in human readable format to file ./logs/o-du-prach_log_ant2.txt: from addr (0x7fe1dc889010) size (4515840) IQ num (1128960)
Storing PRACH FFT OUT IQ Samples in binary format to file ./logs/o-du-prach_log_ant2.bin: from addr (0x7fe1dc889010) size (2257920) bytes num (2257920)
Storing PRACH FFT OUT IQ Samples in human readable format to file ./logs/o-du-prach_log_ant3.txt: from addr (0x7fe1dc43a010) size (4515840) IQ num (1128960)
Storing PRACH FFT OUT IQ Samples in binary format to file ./logs/o-du-prach_log_ant3.bin: from addr (0x7fe1dc43a010) size (2257920) bytes num (2257920)
[root@localhost app]#
Can anyone help in capturing the packets while running sample-app?
Or is there any change required?
Thank you.
Regards,
Rajisha
Rajisha Payyanur
We are able to capture the packets in infra level, without dpdk binding we could capture using wireshark on the interface.
But after binding to dpdk, we tried using dpdk-pdump, we see below errors.
[root@localhost bin]# ./dpdk-pdump -- --pdump 'port=0,queue=*'
EAL: Detected 128 lcore(s)
EAL: Detected 4 NUMA nodes
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket_280381_9f53d52f16e0
EAL: failed to send to (/var/run/dpdk/rte/mp_socket) due to Connection refused
EAL: Fail to send request /var/run/dpdk/rte/mp_socket:bus_vdev_mp
vdev_scan(): Failed to request vdev from primary
EAL: Selected IOVA mode 'PA'
EAL: Probing VFIO support...
EAL: failed to send to (/var/run/dpdk/rte/mp_socket) due to Connection refused
EAL: Fail to send request /var/run/dpdk/rte/mp_socket:eal_vfio_mp_sync
EAL: cannot request default container fd
EAL: VFIO support could not be initialized
Rajisha Payyanur
We could see Rx packets also if we launch sample-app simultaneously on both DU and RU servers.
Thank you.
Rajisha Payyanur
Hi Team,
We are trying to integrate ODU-Low and Benetel RU (n78 frequency). What all configurations we have to make
from DU side to ensure we can send some ecpri packets with IQ samples and receive it through benetel RU .
Thanks in advance.
Anonymous
I would love to see a youtube tutorial on how to install this software. The documentation doesnt work and only results in error after error.
Francisco Javier Curieses Sanz
Yo can follow the instructions of this page: https://docs.o-ran-sc.org/projects/o-ran-sc-it-dep/en/latest/installation-guides.html
Anonymous
Hi,
The latest version of the o-du phy from git builds the libwls which has void* WLS_Open(const char *ifacename, unsigned int mode, uint64_t *nWlsMacMemorySize, uint64_t *nWlsPhyMemorySize);
The latest version of odu-l2 building the odu to integrate with the odu-low (make odu PHY=INTEL_L1 MACHINE=BIT64 MODE=FDD) is failing with
/home/oran/odu-high/l2/src/mt/mt_ss.c:916:4: error: too few arguments to function ‘WLS_Open’
hdl = WLS_Open(WLS_DEVICE_NAME, WLS_MASTER_CLIENT, WLS_MEM_SIZE);
is there a different code base / branch of the odu-l2? I'm getting it from git clone "https://gerrit.o-ran-sc.org/r/o-du/l2"
of do I need to downgrade my phy install, and if so which is the right version to use?
Thanks.
Rajisha Payyanur
Hi
Did you get any update on this?
We are also seeing the same issue and we came to know from community that, the ODU-H testing with new L1 is yet to be done and it is planned for June release only.
Regards,
Rajisha
Anonymous
Hi,
I'm using the master gerrit branch, and could install the near-RT RIC without problem, but the SMO is another story.
Even changing the path in the templates in "dep/nonrtric/helm/informationservice/templates/ingress.yaml", we another issue:
helm install -f dep/nonrtric/RECIPE_EXAMPLE/example_recipe.yaml --namespace nonrtric r3-dev-nonrtric /root/dep/bin/../nonrtric/helm/nonrtric Error: unable to build kubernetes objects from release manifest: error validating "": error validating data: unexpected GroupVersion string: networking.k8s.io/v1/Ingre
Any idea on how to fix it?
Thank you in advance!
Anonymous
Hi,
I've got the latest FlexRAN binary, and latest O-DU-low and O-DU-high, along with dpdk 20.11.1
I'm running:
./l1.sh -xran
./oran_5g_fapi.sh --cfg=oran_5g_fapi.cfg
./cu_stub
./ric_stub
and ./odu (compiled with PHY=INTEL_L1 MACHINE=BIT64 MODE=FDD)
Everything all connects, and messages are passed about, but when the l1 process receives the PHY_START_REQ it asserts and exits.
PHY>welcome to application console
Received MSG_TYPE_PHY_CONFIG_REQ: 0
Processing MSG_TYPE_PHY_CONFIG_REQ: 0
read_table: File table/common/pss_table.bin of size 381 read_size: 381
read_table: File table/common/sss_table.bin of size 128016 read_size: 128016
read_table: File table/common/srs_zc_36_plus.bin of size 905916 read_size: 905916
read_table: File table/common/pucch_zc_36_plus.bin of size 383040 read_size: 383040
set_slot_type SlotPattern:
Slot: 0
0 FD
PHYDI-INIT[from 2] PhyInstance: 0
---------------------------------------------------------
Global Variables:
---------------------------------------------------------
gCarrierAggLevel: 0
gCarrierAggLevelInit: 1
gSupportedAVX2 1
---------------------------------------------------------
Received MSG_TYPE_PHY_START_REQ: 0
Processing MSG_TYPE_PHY_START_REQ: 0
MLogRestart
MLogOpen: filename(l1mlog.bin) mlogSubframes (128), mlogCores(40), mlogSize(10000) mlog_mask (-1)
mlogSubframes (128), mlogCores(40), mlogSize(10000)
localMLogTimerInit
System clock (rdtsc) resolution 1197187935 [Hz]
Ticks per us 1197
MLog Storage: 0x7fbc7f980100 -> 0x7fbc82a56830 [ 51210032 bytes ]
localMLogFreqReg: 1197. Storing: 1197
Mlog Open successful
----------------------------------------------------------------------------
mem_mgr_display_size:
Num Memory Alloc: 2,480
Total Memory Size: 361,587,888
----------------------------------------------------------------------------
PHYDI-START[from 2] PhyInstance: 0, Mode: 1, Count: 4294967295, Period: 0, NumSlotPerSfn: 10
wls_srs_heap_print: HeapStorage[0x2feddda00] HeapSize[402653184] FreeBlock[0x2fee5df00] FreeSize[402127616]
Block[0] -> [0x2fee5df00..0x316ddda00] Magic[0xdeadc0de] Size[402127616] Next[(nil)]
5GNR Timer Mode
timer_init: coreBind: 0, corePriority: 96, corePolicy: 1
---- ASSERT---
RC:0x00000000
File:auxlib/timer/aux_timer.c
Row :477
MLogPrint: ext_filename((null).bin)
Opening MLog File: l1mlog-c0.bin
MLog file l1mlog-c0.bin closed
Mlog Print successful
segv ooops @ (nil) from core: 2
Segmentation Fault!
info.si_signo = 11
info.si_errno = 0
begin stopping phy (0)...phydi_stop[from 2]: phyInstance: -1, sendStop: 1, phyIdStart: 0, phyIdStop: 1
PHY_STOP PhyInstance[0] PhyState[0] PhyStartMode[1] PhyStateCount[0]
Send MSG_TYPE_PHY_STOP_RESP[0]
Cleanup after [PID] 37937
When I look in the FAPI debug, I'm seeing this:
EAL: VFIO support initialized
vdev_probe(): failed to initialize baseband_turbo_sw device
EAL: Bus (vdev) probe failed.
so I'm guessing that the SW Turbo PMD isn't installed correctly? In the DPDK documentation, it's got a section on installing the FlexRAN SDK https://doc.dpdk.org/guides-20.11/bbdevs/turbo_sw.html
but it then talks about the version of SDK being compatible with dpdk 19, and the rest of the o-ran software is using dpdk 20. There is a sdk directory in the FlexRAN I installed from github, but it doesn't have the same source files or makefiles as the SDK download.
Has anyone got any suggestions on what to try next?
Rajisha Payyanur
Hi
We also faced the same issue while running L1. We are not using FPGA, so we modified the FEC Mode to use as SW FECMode in phycfg_timer.xml.
And we still see issue with ODU build with latest FlexRAN. We used https://gerrit.o-ran-sc.org/r/o-du/l2 to clone odu-h code(this still uses dpdk19 version).
From community what we came to know that, yet to test the ODU-H with new L1 and now it is out of sync.
Could you please share the ODU-H(L2) details which you used .
Thank you.
Regards,
Rajisha
Rajisha Payyanur
Hi
Could you please update on the ODU-H code and build steps which you followed.
The latest version of the o-du phy from git builds the libwls which has void* WLS_Open(const char *ifacename, unsigned int mode, uint64_t *nWlsMacMemorySize, uint64_t *nWlsPhyMemorySize);
The latest version of odu-l2 building the odu to integrate with the odu-low (make odu PHY=INTEL_L1 MACHINE=BIT64 ) is failing with
/home/oran/odu-high/l2/src/mt/mt_ss.c:916:4: error: too few arguments to function ‘WLS_Open’
hdl = WLS_Open(WLS_DEVICE_NAME, WLS_MASTER_CLIENT, WLS_MEM_SIZE);
And ODU-H is referring to dpdk19.11 version ,but the new L1 is pointing to dpdk.20.11 version.
Regards,
Rajisha
Rajisha Payyanur
Hi Team, any update on above?
Thank you.
GIANLUCA CAMILLO VALASTRO
Dear all,
We are trying to implement an ORAN testbed scenario following: https://github.com/o-ran-sc/o-du-phy/blob/master/docs/Setup-Configuration_fh.rst
We are facing issues regarding VF creations. We are deploying the scenario upon AWS EC2 instances, we are able to bind the ENA interfaces with different drivers (for example igb uio), but we are not able to create virtual functions.
Is there a way to create VFs upon AWS EC2 instances or is it possible to run the sample application without using the VFs or using an alternative solution?
Thank you for your availability and for your support.
Best regards
Gianluca Camillo Valastro
Anonymous
Hi team,
I was able to install both SMO and Near-rt-ric and both are working fine. However, I have two issues.
Any information would be greatly appreciated!
Thoralf Czichy
(1) I don't think there's anything recent on A1. However, as part of the re-implementation of A1 in golang (from python), there were a few demos in release Dawn, E and F: Sprint demos. I also presume the ongoing final work will be demoed in G in December.
(2) no. Usually "curl" is the way to go.
Anonymous
Thanks a lot for your reply.
GIANLUCA CAMILLO VALASTRO
Dear all,
We configured .cfg and .dat files, the RU and DU start correctly, but the output shows only tx and no RX traffic (the related counters in output are all zeros) for both RU and DU.
We deployed the sample application on AWS EC2 C5 instance. We have ENA interfaces, with PCIe addresses like these 0000:00:06.0, 0000:00:07.0, etc.
Any suggestion to solve this no RX traffic issue? Anyone of you is able to run correctly the sample application on AWS EC2 instances?
Thank you for your availability and for your support.
Best regards
Gianluca Camillo Valastro