This repository contains instructions and files for setting up a virtualized 5G/6G testbed from our paper.
- Workstation for gNB and core network
- CPU: Intel Core i9-14900K
- OS: Ubuntu 24.04 LTS (64-bit)
- RAM: 128 GB DDR5 RAM
- GPU: NVIDIA RTX 4090
- Desktop for UE
- CPU: Intel Core i7-8700
- OS: Ubuntu 22.04.5 LTS
- RAM: 16 GB DDR4 RAM
- RU: USRP X310
- UE: Quectel 520/530
Please refer to the offical documentaion: link
Install LXD as a snap
snap install lxd
Configure LXD
lxd init
Set up the web UI, for details: link
lxc config set core.https_address :8443
lxc launch <image_server>:<image_name> <instance_name>
lxc network create <network> --type=physical parent=<interface>
lxc network attach [<remote>:]<network> <instance> [<device name>] [<interface name>] [flags]
sudo ifconfig <network> 192.168.40.1
sudo ethtool -G <network> tx 4096 rx 4096
sudo ip link set dev <network> mtu 9000
2.4 Install openairinterface with UHD, please refer to the offical documentation
sudo uhd_usrp_probe
sudo minicom ttyUSB<X>
AT+QMBNCFG="select","ROW_Commercial"
at+cfun=1,1
at+qnwprefcfg="mode_pref",nr5g
at+qnwprefcfg="nr5g_band",78
at+cgdcont=1,"IP","oai"
cd config/open5gs_docker
docker compose up --build 5gc
You can access the webui in port 9999
In another terminal
docker exec -it open5gs_5gc /bin/bash
iperf3 -s
4.2 Run gNB, list of config files we use n78 40mhz, n77 100mhz
sudo taskset -c <range of cores> nice -n -20 <path to oai>/cmake_targets/ran_build/build/nr-softmodem -O <path to config file> --gNBs.[0].min_rxtxtime 2 --sa --usrp-tx-thread-config 1 -E --continuous-tx
4.3 Run Quectel UE: script
sudo -E python3 quectel_at.py --interface <inetface_of_quectel> --port_location </dev/ttyUSBX>
@inproceedings{vota,
author = {Liu, Chang and Le, T. D. Khoa and Saini, Rahul and Joshi, Kishor C. and Exarchakos, George},
title = {VOTA: Parallelizing 6G-RAN Experimentation with Virtualized Over-The-Air Workloads},
year = {2025},
booktitle = {Proceedings of the 1st Workshop on Open Research Infrastructures and Toolkits for 6G},
}