Skip to content

A software implementation of an O-RAN split-7.2 compatible Radio Unit using software-defined Radios (SDRs).

License

Notifications You must be signed in to change notification settings

NUS-CIR/ProtO-RU

Repository files navigation

ProtO-RU

ProtO-RU is a software implementation of an O-RAN split 7.2-compatible Radio Unit. This is based on a fork of the srsRAN Project, version 24.10.

ProtO-RU extends the srsRAN RU emulator to become a full-fledged O-RAN RU with split 7.2 support using SDRs like the USRP B210. Benefiting from the portability and modularity of srsRAN, ProtO-RU can be used on different hardware platforms (e.g., x86, ARM) and easily adapt to various use cases.

A software-based O-RU implementation would allow researchers to customize and innovate more freely in end-to-end setups, especially given the fixed-function and proprietary nature of commercial O-RUs.

Technical report - arxiv.

ACM Open AI-RAN 2025 workshop (invited) demo - [Poster] [YouTube].

Supported features - Features.

Note: ProtO-RU is currently under active development. Please check back frequently for updates and new documentation. We are also in the process of rebasing ProtO-RU to the latest srsRAN version (i.e., 25.10).

Building ProtO-RU

Dependencies

Since ProtO-RU is based on the srsRAN project, it inherits all the dependencies of srsRAN.

Please refer to the srsRAN project documentation, sections "Build Tools and Dependencies" and "RF-drivers" (especially UHD drivers) for the list of dependencies required to build ProtO-RU.

If your current system can successfully build and run srsRAN in Split-8 mode with any UHD-compatible SDR (e.g., B210, N310), then you should be able to build and run ProtO-RU without any issues.

Compilation

To download and build ProtO-RU, first, clone the ProtO-RU repository:

git clone https://github.com/NUS-CIR/ProtO-RU.git

Then, build ProtO-RU.

cd ProtO-RU
mkdir build
cd build
cmake ../
cd ./apps/examples/ofh/ # ProtO-RU extends the srsRAN RU emulator
make -j $(nproc)

Running ProtO-RU

Time Synchronization

Before running ProtO-RU, please ensure that you have a suitable system to host ProtO-RU (see HW_REQUIREMENTS). Depending on your testbed setup (see Testbed Setup), the DU and ProtO-RU host system(s) must be time synchronized with the gNB host over PTP. We have prepared a quick guide on setting up PTP time synchronization at Time Synchronization.

Starting ProtO-RU

Once the system is time synchronized, we can then start ProtO-RU. To run ProtO-RU, run the following command from the build/apps/examples/ofh/ directory (assuming the configuration file is located at /path/to/ru_emu.yml):

sudo ./ru_emulator -c /path/to/ru_emu.yml

For more details on configuration options, please refer to the Configuration Reference.

We also provide sample configuration files in the proto-ru/conf-files/ directory of the repository.

Important Note: Given that ProtO-RU requires a large delay profile, the integration with other 5G CU/DU implementations may require some patching. Please refer to the Integration Notes for more details.

Troubleshooting

If you encounter any issues while running ProtO-RU, please consult to the Troubleshooting Guide for common problems and their solutions.

The list of known issues can also be found under Known Issues.

Citation

If you find ProtO-RU useful to your research, please cite our technical report:

@techreport{zhou2025protoru,
  title={ProtO-RU: An O-RAN Split-7.2 Radio Unit using SDRs}, 
  author={Zhiyu Zhou and Xin Zhe Khooi and Satis Kumar Permal and Mun Choon Chan},
  year={2025},
  eprint={2512.02398},
  archivePrefix={arXiv},
  primaryClass={cs.NI},
  url={https://arxiv.org/abs/2512.02398}, 
}

Contact

For any questions, or if you have any comments/feedback/feature requests, there are several ways to reach out.

  • File a GitHub issue under this repo.
  • Start a discussion on the GitHub Discussion board.
  • Drop an email to khooixz [at] comp [dot] nus [dot] edu [dot] sg.

About

A software implementation of an O-RAN split-7.2 compatible Radio Unit using software-defined Radios (SDRs).

Topics

Resources

License

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •