Skip to main content

Deployment of UEs

For Over-the-Air deployments you may either use:

  • Quectel module (normally included with your MX-PDK) connected to one of the cluster nodes.
  • Quectel module connected to an external linux system.
  • A smartphone.

In-Cluster Quectel Deployment

With this type of deployment, the terminal will be deployed as a Kubernetes pod and brc test CLI commands for generating traffic will be available.

Model to be used in deployment file spec: terminal/quectel

quectel.yaml
apiVersion: athena.trirematics.io/v1
kind: Terminal
metadata:
name: ue01
namespace: trirematics
spec:
vendor: oai
stack: 5g-sa
model: terminal/quectel
target-cores:
- minimal.bubbleran
identity:
imsi: "001010000000001"
pin: "1234"
opc: "0xC42449363BBAD02B66D16BC975D77CC1"
key: "0xfec86ba6eb707ed08905757b1bb44b8f"
sqn: "0xff9bb4000001"
slice:
dnn: internet
network-mode: IPv4
service-type: eMBB
differentiator: 0x000000
radio:
bands:
- n78
readiness-check:
method: ping
target: google-ip
warning

It is very important that the name specified for target-cores is the same as network the UE should connect. The name of the core is always <core-name>.<network-name> where the network-name is specified in the metadata-->name section of the network .yaml file and the core-name is specified in the spec-->core-->name section of the same file (also you can get the name from spec-->access-->core-networks).

Use the command brc install terminal <deployment-name>.yaml to deploy the terminal within the cluster. Check for the status of the terminal using the command brc observe. Wait until the quectel Element is with the STATUS set to 1/1 Y state.

External Deployment

This deployment option allows to connect either a Quectel UE connected to an external system (outside the cluster) or a smartphone to a given deployed network. Model to be used in deployment file spec: terminal/external

When using a Quectel module connected to an external system, the terminal can be controlled with our Snap application, but traffic generation will need to be done manually (i.e., not using brc test CLI commands).

Adding external UEs to the network database

external.yaml
apiVersion: athena.trirematics.io/v1
kind: Terminal
metadata:
name: ue01
namespace: trirematics
spec:
vendor: oai
stack: 5g-sa
model: terminal/external
target-cores:
- minimal.bubbleran
identity:
imsi: "001010000000001"
pin: "1234"
opc: "0xC42449363BBAD02B66D16BC975D77CC1"
key: "0xfec86ba6eb707ed08905757b1bb44b8f"
sqn: "0xff9bb4000001"
slice:
dnn: internet
network-mode: IPv4
service-type: eMBB
differentiator: 0x000000
radio:
bands:
- n78
warning

External terminal spec should not include a readiness check.

Use the command brc install terminal <deployment-name>.yaml to deploy the terminal within the cluster. Check if the UE has been added to the Core Network database with brc observe. Press Tab to enter the Terminals tab within the dashboard and confirm that the terminal appears with the correct IMSI.

Quectel Connection manager (CM) with Snap

If in your over-the-air deployment you are using external UEs, in the case of using the Quectel UEs provided by BubbleRAN, you will need to connect them to an Ubuntu system (e.g. a laptop) and start it. All customers get a USB stick with our UE snap which can be used for setting up the UE. You can install the Quectel CM snap on an Ubuntu machine to connect to the 5G network deployed on your cluster. Here are the steps:

  • Install the snap sudo snap install --devmode new-oai-ue.snap

  • Check if the snap is installed snap list

  • Init the Snap sudo oai-ue.init

  • Configure the Quectel Module sudo oai-ue.conf edit quectel

    Edit the file and add the desired PLMN, bands, etc.

  • Give the permission to the Snap to connect to the USB

    sudo snap connect oai-ue:raw-usb

  • Run the Quectel CM sudo oai-ue.quectel

  • To stop, just do control ^C

Check out more about the snaps

  1. https://snapcraft.io/docs/get-started
  2. https://bubbleran.com/docs/academia/hydra/concepts/Snap