Skip to content

nigeldaniels/srsran2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

srsRAN Ansible Setup

Simple Ansible project to set up srsRAN from scratch.

Topology (home lab)

Lab topology diagram

At a high level, this repo automates a small LTE “home lab” split across two hosts:

  • Host A (eNB): runs srsenb and drives an SDR for the base station RF.
  • Host B (Core + UE): runs srsepc (LTE EPC) and optionally srsue for a test UE.
  • LAN: carries the LTE S1 interfaces (S1AP/GTP-C/GTP-U) between eNB and EPC.
  • RF: carries uplink/downlink between the eNB SDR and UE SDR (or a real UE, if used).

What’s stable / automated in this repo

  • Inventory + host separation: inventory/hosts.yml declares enb and ue hosts under the srsran group.
  • Config deployment: roles/srsran_configs pushes the repo’s config trees under configs/<host>/etc/srsran/* onto each host’s /etc/srsran/ (plus optional systemd units).
  • Host prereqs:
    • roles/cpu_governor: sets a consistent CPU governor for predictable SDR timing.
    • roles/bladerf_setup: installs bladeRF packages and validates the SDR enumerates and is usable.
  • Over-the-air sanity check: roles/srsran_ota_verify provides basic verification steps.
  • Vendored upstream source (for reference / future rebuilds): third_party/srsRAN_4G/ is an in-tree snapshot of upstream srsRAN 4G source (not a git submodule) with provenance in third_party/srsRAN_4G/UPSTREAM.md.

Inventory

  • enb - eNodeB host (192.168.1.10)
  • ue - User Equipment host (192.168.1.11)

Usage

# Test connectivity
ansible all -m ping

# Run the playbook
ansible-playbook site.yml

Configuration

Edit inventory/hosts.yml to set the correct IP addresses and SSH users for your hosts.

Note: this file may contain sensitive connection info; avoid committing secrets.

About

2nd attempt at ansible srs ran home lab

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages