{"id":13618833,"url":"https://github.com/srsran/srsran_project","last_synced_at":"2025-04-05T08:07:09.386Z","repository":{"id":75488485,"uuid":"605068341","full_name":"srsran/srsRAN_Project","owner":"srsran","description":"Open source O-RAN 5G CU/DU solution from Software Radio Systems (SRS) https://docs.srsran.com/projects/project","archived":false,"fork":false,"pushed_at":"2023-12-18T15:33:45.000Z","size":41429,"stargazers_count":308,"open_issues_count":11,"forks_count":95,"subscribers_count":34,"default_branch":"main","last_synced_at":"2023-12-18T17:46:46.917Z","etag":null,"topics":["5g","sdr","srs","srsran","wireless"],"latest_commit_sha":null,"homepage":"https://www.srsran.com","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/srsran.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-02-22T11:28:00.000Z","updated_at":"2023-12-22T15:58:50.711Z","dependencies_parsed_at":"2023-12-22T16:08:49.910Z","dependency_job_id":null,"html_url":"https://github.com/srsran/srsRAN_Project","commit_stats":null,"previous_names":[],"tags_count":4,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/srsran%2FsrsRAN_Project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/srsran%2FsrsRAN_Project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/srsran%2FsrsRAN_Project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/srsran%2FsrsRAN_Project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/srsran","download_url":"https://codeload.github.com/srsran/srsRAN_Project/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247305934,"owners_count":20917208,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["5g","sdr","srs","srsran","wireless"],"created_at":"2024-08-01T21:00:31.160Z","updated_at":"2025-04-05T08:07:09.354Z","avatar_url":"https://github.com/srsran.png","language":"C++","funding_links":[],"categories":["Open Source Cellular Network NFs"],"sub_categories":["5G Network NFs"],"readme":"srsRAN Project\n==============\n\n[![Build Status](https://github.com/srsran/srsRAN_Project/actions/workflows/ccpp.yml/badge.svg?branch=main)](https://github.com/srsran/srsRAN_Project/actions/workflows/ccpp.yml)\n[![OpenSSF Best Practices](https://www.bestpractices.dev/projects/7868/badge)](https://www.bestpractices.dev/projects/7868)\n\nThe srsRAN Project is a complete 5G RAN solution, featuring an ORAN-native CU/DU developed by [SRS](http://www.srs.io).\n\nThe solution includes a complete L1/2/3 implementation with minimal external dependencies. Portable across processor architectures, the software has been optimized for x86 and ARM. srsRAN follows the 3GPP 5G system architecture implementing the functional splits between distributed unit (DU) and centralized unit (CU). The CU is further disaggregated into control plane (CU-CP) and user-plane (CU-UP).\n\nSee the [srsRAN Project](https://www.srsran.com/) for information, guides and project news.\n\nBuild instructions and user guides - [srsRAN Project documentation](https://docs.srsran.com/projects/project).\n\nCommunity announcements and support - [Discussion board](https://www.github.com/srsran/srsran_project/discussions).\n\nFeatures and roadmap - [Features](https://docs.srsran.com/projects/project/en/latest/general/source/2_features_and_roadmap.html).\n\nBuild Preparation\n-----------------\n\n### Dependencies\n\n* Build tools:\n  * cmake:               \u003chttps://cmake.org/\u003e\n  \n* Mandatory requirements:\n  * libfftw:             \u003chttps://www.fftw.org/\u003e\n  * libsctp:             \u003chttps://github.com/sctp/lksctp-tools\u003e\n  * yaml-cpp:            \u003chttps://github.com/jbeder/yaml-cpp\u003e\n  * mbedTLS:             \u003chttps://www.trustedfirmware.org/projects/mbed-tls/\u003e\n  * googletest:          \u003chttps://github.com/google/googletest/\u003e\n\nYou can install the build tools and mandatory requirements for some example distributions with the commands below:\n\n\u003cdetails open\u003e\n\u003csummary\u003e\u003cstrong\u003eUbuntu 22.04\u003c/strong\u003e\u003c/summary\u003e\n\n```bash\nsudo apt-get install cmake make gcc g++ pkg-config libfftw3-dev libmbedtls-dev libsctp-dev libyaml-cpp-dev libgtest-dev\n```\n\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eFedora\u003c/strong\u003e\u003c/summary\u003e\n\n```bash\nsudo yum install cmake make gcc gcc-c++ fftw-devel lksctp-tools-devel yaml-cpp-devel mbedtls-devel gtest-devel\n```\n\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eArch Linux\u003c/strong\u003e\u003c/summary\u003e\n\n```bash\nsudo pacman -S cmake make base-devel fftw mbedtls yaml-cpp lksctp-tools gtest\n```\n\n\u003c/details\u003e\n\n#### Split-8\n\nFor Split-8 configurations, either UHD or ZMQ is required for the fronthaul interface. Both drivers are linked below, please see their respective documentation for installation instructions.\n\n* UHD:                 \u003chttps://github.com/EttusResearch/uhd\u003e\n* ZMQ:                 \u003chttps://zeromq.org/\u003e\n\n#### Split-7.2\n\nFor Split-7.2 configurations no extra 3rd-party dependencies are required, only those listed above.\n\nOptionally, DPDK can be installed for high-bandwidth low-latency scenarios. For more information on this, please see [this tutorial](https://docs.srsran.com/projects/project/en/latest/tutorials/source/dpdk/source/index.html#).\n\nBuild Instructions\n------------------\n\nDownload and build srsRAN:\n\n\u003cdetails open\u003e\n\u003csummary\u003e\u003cstrong\u003eVanilla Installation\u003c/strong\u003e\u003c/summary\u003e\n\nFirst, clone the srsRAN Project repository:\n\n```bash\n    git clone https://github.com/srsRAN/srsRAN_Project.git\n```\n\nThen build the code-base:\n\n```bash\n\n    cd srsRAN_Project\n    mkdir build\n    cd build\n    cmake ../ \n    make -j $(nproc)\n    make test -j $(nproc)\n```\n\nYou can now run the gNB from ``srsRAN_Project/build/apps/gnb/``. If you wish to install the srsRAN Project gNB, you can use the following command:\n\n```bash\n    sudo make install\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eZMQ Enabled Installation\u003c/strong\u003e\u003c/summary\u003e\n\nOnce ZMQ has been installed you will need build of srsRAN Project with the correct flags to enable the use of ZMQ.\n\nThe following commands can be used to clone and build srsRAN Project from source. The relevant flags are added to the ``cmake`` command to enable the use of ZMQ:\n\n```bash\ngit clone https://github.com/srsran/srsRAN_Project.git\ncd srsRAN_Project\nmkdir build\ncd build\ncmake ../ -DENABLE_EXPORT=ON -DENABLE_ZEROMQ=ON\nmake -j $(nproc)\nmake test -j $(nproc)\n```\n\nPay extra attention to the cmake console output. Make sure you read the following line to ensure ZMQ has been correctly detected by srsRAN:\n\n```bash\n...\n-- FINDING ZEROMQ.\n-- Checking for module 'ZeroMQ'\n--   No package 'ZeroMQ' found\n-- Found libZEROMQ: /usr/local/include, /usr/local/lib/libzmq.so\n...\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eDPDK Enabled Installation\u003c/strong\u003e\u003c/summary\u003e\n\nOnce DPDK has been installed and configured you will need to create a clean build of srsRAN Project to enable the use of DPDK.\n\nIf you have not done so already, download the code-base with the following command:\n\n```bash\ngit clone https://github.com/srsRAN/srsRAN_Project.git\n```\n\nThen build the code-base, making sure to include the correct flags when running cmake:\n\n```bash\ncd srsRAN_Project\nmkdir build\ncd build\ncmake ../ -DENABLE_DPDK=True -DASSERT_LEVEL=MINIMAL\nmake -j $(nproc)\nmake test -j $(nproc)\n```\n\n\u003c/details\u003e\n\n### PHY Tests\n\nPHY layer tests use binary test vectors and are not built by default. To enable, see the [docs](https://docs.srsran.com/projects/project/en/latest/user_manuals/source/installation.html).\n\nDeploying srsRAN Project\n------------------------\n\nsrsRAN Project can be run in two ways:\n\n* As a monolithic gNB (combined CU \u0026 DU)\n* With a split CU and DU\n\nFor exact details on running srsRAN Project in any configuration, see [the documentation](https://docs.srsran.com/projects/project/en/latest/user_manuals/source/running.html).\n\nFor information on configuring and running srsRAN for various different use cases,  check our [tutorials](https://docs.srsran.com/projects/project/en/latest/tutorials/source/index.html).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsrsran%2Fsrsran_project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsrsran%2Fsrsran_project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsrsran%2Fsrsran_project/lists"}