Experiment with Hardware O-RAN Remote Units (O-RUs) and a bare metal server

Prerequisites

  • You have a Slices account

  • You have successfully followed the previous tutorials

  • You have a basic understanding of kubernetes and containers

  • You have a good understanding of the 5G architecture

  • You have a good understanding of radio units (e.g., USRP, O-RUs).

  • You have a good understanding of OpenAirInterface and how to configure radio

The previous experiments used a simulated radio network or a real network that is realized with a USRP platform. In this tutorial, we will work with an off-the-shelf (COTS) O-RU device that installed in the UTH premises, than can create networks using the OAI platform. COTS UEs can attach to this network for performing ypur experiment. The default configuration of the network and the RU are using predefined channel parameters (100MHz bandwidth, 4T4R MIMO). The tutorial is enabling the device and starts the gNB that interfaces it, while connecting to the SLICES-RI network and Core Network cluster. If this is not wanted (e.g. user wants to use a local cluster), deploying the local network on the bare metal server that is very close to the RU is also possible.

As mismatching configs on the gNB and the RU can break the network operation, they are not exposed directly. Instead, using the bare metal server you can interface with HTTP commands with the gNB.

We will use the LITEON FlexFI O-RU platform for FR1 transmissions, interfacing the server that runs the gNB platform. Both devices are synced using a PTP grandmaster clock connected to the network.

In order to interface the platform, reserve and get access to the ran1-bm-uth-slices-gr node.

This experiment connects:

  • The gNB to the O-RU, and is linked to the 5G core deployed in the central hub’s Kubernetes cluster.

  • A UE that is located in the same room to the network, and starts sending traffic for approx. 2 minutes over the network. The UE is also interfaced through an HTTP traffic to connect/disconnect from the network.

We use ran1-bm-uth-slices-gr as a deployement node.

        graph TD
  centralhub <--> gnb
  gnb <-.PTP Sync.-> grandmaster
  gnb <--10Gbps--> liteon-o-ru
  grandmaster <-.PTP Sync.-> liteon-o-ru
  ue <--RF--> liteon
  deploy -.-|HTTP API| gnb-server
  deploy -.-|HTTP API| ue-node

  subgraph SLICES resources

    subgraph Deployment node
    deploy[ran1-bm-uth-slices-gr]
    end
    
    subgraph "centralhub k8s cluster"
            centralhub(5G core)
    end

    subgraph "UTH Node"
        subgraph "Datacenter"
            subgraph "gnb-server"
                gnb(gnb)
            end
            subgraph "ue-node"
                ue(UE 
                Quectel RM500Q)
            end
        end

        subgraph "PTP switch"
            grandmaster(grandmaster Clock)
        end
        subgraph "liteon-o-ru"
            liteon(LITEON O-RU)
        end

    end
  end
    

The UE is configured as follows, which is one of the default UE installed in OAI database; if you don’t use the core we provide by default, make sure to configure yours accordingly:

  • imsi: 001010000000100

  • key: fec86ba6eb707ed08905757b1bb44b8f

  • opc: C42449363BBAD02B66D16BC975D77CC1

  • dnn: oai

  • nssai_sst: 1

  • nssai_sd: 16777215

As in the previous tutorial, go to the Configure Experiment section of the Post-5G Blueprint Service, as in step 1 configure the NRF Load Balancer IP and the Multus network prefix based on the prefix you receive with the command:

post5g experiment prefix my_experiment

Specify ran1-bm-uth-slices-gr as the deployment node. No need to add any other nodes to your experiment.

As the RAN will be configured and run as part of your custom experiment, we provide a simple scenario in oru-uth. To use this implementation, set the experiment URL to be https://post-5g-web.slices-ri.eu/uploads/nimakris/a308b1d63e3d437fa6371851fe3afe6a_5g_uth_oru.tar.gz, or download the file and upload it to the dashboard in the upload-experiment form.

We do not use the kubernetes cluster to deploy the RAN and the UE, so deactivate RAN and UE by ensuring that GCN RAN Present, GCN UE Present and GCN FlexRIC Present are set to false in the assistant.

Once you have configured correctly the experiment with the assistant, make sure you generate the code by clicking on the Generate Experiment Code button (see step 2).

The next step is to reserve the necessary resources. Similar to step 3, book a time slot through the POS Calendar section of the Post-5G Blueprint Service and choose the resources ran1-bm-uth-slices-gr.

When your time slot begins, you can execute the experiment. Connect to the pos Webshell section of the Post-5G Blueprint Service and from the webshell retrieve the experiment information, just as you did in step 4.

post5g experiment get my_experiment

After that, you can launch the experiment using the usual method from the pos Webshell.

post5g experiment launch my_experiment

This will deploy the 5G core network on the SLICES-RI Kubernetes cluster, set up a node to interface the gNB on the ran1-bm-uth-slices-gr server, connect the gNB to the O-RU, and connect the UE to the network.

When the UE is connected to the RAN, then the experiment will generate some traffic over the network.

After the automated experiment ends, you can interface the gNB and the UE as follows. First do an ssh connection to the ran1-bm-uth-slices-gr node, and afterwards you can use the HTTP API.

ssh ran1-bm-uth-slices-gr


curl -X POST ORU.local:5000/start    # To start the gNB
curl -X POST ORU.local:5000/stop    # To stop the gNB

From a separate terminal, do the following to interface the UE


curl -X POST UE.local:5000/radio/off  # To turn off the radio on the Quectel modem
curl -X POST UE.local:5000/cm/stop    # To stop the quectel-CM utility

curl -X POST UE.local:5000/cm/start   # To start the quectel-CM utility required to setup a data connection
curl -X POST UE.local:5000/radio/on   # To turn on the radio on the modem

# From this point, the UE should connect to the network, if the network is transmitting

To access the data, visit the MRS section of the Post-5G Blueprint Service, enter the Dataset ID, and click the Download Data button. In the downloaded dataset, go to the ran1-bm-uth-slices-gr folder and open the <date>_xp.sh.stdout file. It contains the compilation details and the output from the gNB console, similar to the following example.

Feel free to check xp.sh for the implementation details.