Skip to end of metadata
Go to start of metadata

This page contains step by step tutorials to get you started with installing and running the Bronze Release features.


SMO Installation

The goal of this tutorial is to install and run the Service Management Orchestrator

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.

How to onboard, deploy and run a Hello World xApp on RIC Video (18 minutes)

Running A1 and O1 Use Case Flows

The goal of this tutorial is to run the A1 and O1 interfaces 

Figure 1: Demo deployment architecture

Bronze Demonstrations

Deployment

Minimum deployment for running Bronze use case demos.

SMO Cluster:

  • ONAP "Lite" (Minimalistic for running SDNC/SDNR for RSAC Bronze O1)
    • Minimum replicas
    • VES collector is deployed standalone in ricaux namespace (w/o rest of DCAE, using a helm chart derived from the ONAP VES Cloudify Blueprint)
  • Non RT RIC

Near RT RIC Cluster:

  • Near RT RIC Platform
  • Near RT RIC Applications

Videos

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.

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.

  • No labels

41 Comments

  1. Hello, Is there O-DU LOW guidance?

    1. 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.  

  2. 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?

  3. 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

  4. 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


  5. 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

    1. Interested in this question as well.

  6. 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). 

    1. Intel compiler just updated, we will follow to update O-DU Low SW in the down release time zone.

      1. Anonymous

        Hi, Zhimin Yuan will intel flexran github be updated for cherry release? Currently DU-LOW documentation is not updated.

  7. Hi, I'm also facing the same issue.

    1. Intel compiler just updated, we will follow to update O-DU Low SW in the down release time zone.

  8. 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.

    1. 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).

  9. 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                                                                                       

    1. 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

      1. 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

        1. 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:

          1. The getting started tutorial for du-low (link) is outdated, as such follow the instructions on the docker file itself (phy/Dockerfile), not on the website.
          2. You will need an outdated intel compiler (2020_u2) to compile DPDK, with a community license.lic (share your email so I can send it to you).
          3. You will need an outdated octave version to compile some of their test files, you can use a docker for that (simexp/octave:3.8.1).
          4. If you want to get the latest DU-LOW release (newer than cherry) you can git clone "https://gerrit.o-ran-sc.org/r/o-du/phy
          5. I've made a script that automates the installation on Ubuntu 18.04/20.04. It will download dpdk, googletest and intel flexran binary, install intel compiler from a public link. Study it to adjust to your environment: https://pastebin.com/vjeKTAhf
            (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.


          1. 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

            1. Anonymous

              chkconfig is not present in ubuntu 18.04, only on centos. You can comment those lines on l1.sh to avoid such errors.

              1. 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.


                1. 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.

                  1. 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?

                    1. 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.

                      1. There is a C5 instance available on AWS that supports AVX-512 instructions.

          2. 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)

          3. 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

            1. 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

              1. 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

          4. Hi,
            Is there docker image available for O-DU on any repository?
            Pavan

            1. 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.

              1. 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:

                1. The getting started tutorial for du-low (link) is outdated, as such follow the instructions on the docker file itself (phy/Dockerfile), not on the website.
                2. You will need an outdated intel compiler (2020_u2) to compile DPDK, with a community license.lic (share your email so I can send it to you).
                3. You will need an outdated octave version to compile some of their test files, you can use a docker for that (simexp/octave:3.8.1).
                4. If you want to get the latest DU-LOW release (newer than cherry) you can git clone "https://gerrit.o-ran-sc.org/r/o-du/phy
                5. I've made a script that automates the installation on Ubuntu 18.04/20.04. It will download dpdk, googletest and intel flexran binary, install intel compiler from a public link. Study it to adjust to your environment: https://pastebin.com/vjeKTAhf
                  (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.

                1. 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?

          5. Hi,
            I have used the script you have provided:  https://pastebin.com/vjeKTAhf .

            1. In this script I see that you build dpdk using gcc compiler. Shouldn't it be built with icc compiler? The env var RTE_TARGET is intially set for gcc and it gets used to build dpdk. 
            2. While building fhi_lib, wls_lib, fapi_5g, RTE_TARGET gets set for icc, but then there is no dpdk libraries built for icc target.

            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.

          6. 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. the tutorial of O-DU low project in the OSC document is matching with the releases. three parts of the documents 

            (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)

            1. all the Intel compiler and dpdk build steps are in the above second tutorial "build prerequisite" chapter.
            2. the ICC compiler was replaced by oneAPI recently, and oneAPI will not need license file anymore.  we are evaluating to upgrade O-DU Low project accordingly.
            3. regard to integrate with O-RU devices, it was planned in the "D" release. we will update the tutorial once we verify it.  

            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 

            1. 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.

              1. You are not logged in. Any changes you make will be marked as anonymous. You may want to Log In if you already have an account.
      2. Hi,

        Thank you very much for responding. 

        • If we dont require a VM for DU, do you mean we can run it within nearRT-RIC?
        • Can I still deploy and run DU-high & low in a VM by following the instructions provided in the links you have shared?
        • how about the CU functionality, is there anything available to deploy and run CU-CP and CU-UP?

        You are shown as anonymous, would be great to know your name as well (smile) 

        Once again thank you.

        Pavan

        1. Anonymous

          • Theorically Yes, I haven't tried, but usually you could just connect them via loopback (but the near-RIC instance needs to see the PF or the VFs that DU-LOW requires). Alternativelly you can deploy them on separate docker containers and connect them via "docker network connect" command (or not if you use the default docker network).
          • The script I shared only compiles du-low but yes to your question. However, If you run on VM you will need to create a VFs (via sr-iov support) and assign them to the VM or alternatively perform pci-passthrough via vfio-pci driver so the VM can see the PF directly. Important here is that you can use docker to do so: just pass --privileged --network=host when starting the container (via docker run command) and the docker can use the PF directly and create VFs (given that your motherboard support sr-iov). 
          • Not sure as I haven't tested those O-RAN components, but I guess you will have to run their docker script to check what functionalities are present.
  10. 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.

    1. That is exactly i am looking for.