5G SA labo : srsRAN Project + Open5GS (Ubuntu 2024)
1. Prérequis
OS : Ubuntu 22.04 ou 24.04 (x86_64)
Matériel : SDR (USRP B200/B210/X300/PlutoSDR/LimeSDR…) OU mode simulation (aucun matériel SDR requis)
Packages de base : git, cmake, build-essential, etc.
2. Installer Open5GS (Core 5G)
a) Dépendances
sudo apt update
sudo apt install -y git build-essential meson ninja-build python3 python3-pip python3-setuptools \
flex bison libsctp-dev libssl-dev libnghttp2-dev libmicrohttpd-dev \
libyaml-dev libmariadb-dev libmongoc-dev libbson-dev mongodb
b) Cloner et compiler Open5GS
git clone https://github.com/open5gs/open5gs
cd open5gs
meson build --prefix=`pwd`/install
ninja -C build
ninja -C build install
(Binaires dans open5gs/install/bin/)
3. Installer srsRAN Project (gNB/UE)
a) Dépendances
sudo apt install -y cmake g++ libsctp-dev libfftw3-dev libmbedtls-dev \
libboost-program-options-dev libconfig++-dev pkg-config python3 python3-pip \
libzmq3-dev libpcsclite-dev
b) Cloner et compiler srsRAN
git clone https://github.com/srsran/srsRAN_Project.git
cd srsRAN_Project
mkdir build && cd build
cmake ../
make -j$(nproc)
sudo make install
(Binaires dans /usr/local/bin/)
4. Configurer Open5GS (Core)
Tous les fichiers :
open5gs/install/etc/open5gs/Fichiers clés :
amf.yaml(AMF/core)smf.yaml(SMF/session)upf.yaml(UPF/user-plane)udm.yaml,ausf.yaml, etc.
Edits minimaux :
PLMN :
mcc: 001,mnc: 01(ou tes propres valeurs)Dans
amf.yaml: l’adressengapdoit matcher celle de ton gNB (ex :127.0.0.1)
Ajouter un abonné test (SIM)
Ouvre
subscribers.yamlou passe par le WebUI Open5GSExemple d’entrée :
- imsi: '001010123456789' key: '465B5CE8B199B49FAA5F0A2EE238A6BC' opc: 'E8ED289DEBA952E4283B54E88E6183CA' amf: '8000' sqn: '000000000000'
À reporter dans la SIM (physique ou config UE logicielle)
5. Configurer srsRAN gNB
Fichier :
srsran_project/config/gnb.yaml(ougnb.confselon la version)
Exemple minimal :
plmn:
mcc: 001
mnc: 01
amf:
addr: 127.0.0.1 # IP du core Open5GS
port: 38412
slices:
- sst: 1
sd: 0x000001
Spécifie
rf.device_namepour ton SDR (si RF)Réseau/interface : ex :
ngap.interface_name: lopour tests locaux
6. Configurer srsRAN UE (si test en pur logiciel)
Fichier :
srsran_project/config/ue.yaml(ouue.conf)Paramètres : PLMN, key, opc, amf, imei identiques à l’abonné Open5GS.
Mode RF ou simulation selon besoin.
7. Lancer le Core Open5GS
Ouvre plusieurs terminaux (ou tmux) :
cd open5gs/install/bin/
sudo ./open5gs-mmed
sudo ./open5gs-sgwcd
sudo ./open5gs-smfd
sudo ./open5gs-amfd
sudo ./open5gs-upfd
sudo ./open5gs-ausfd
sudo ./open5gs-udmd
sudo ./open5gs-pcfd
sudo ./open5gs-nrfd
sudo ./open5gs-bsfd
sudo ./open5gs-hssd
Ou tout-en-un :
sudo ./open5gs-daemon
8. Lancer le gNB srsRAN
srsran_gnb --cfg srsran_project/config/gnb.yaml
9. (Optionnel) Lancer le srsUE (UE 5G SA logiciel)
srsran_ue --cfg srsran_project/config/ue.yaml
Ou utiliser un vrai smartphone 5G + SDR côté réseau.
10. Supervision
Utilise le WebUI Open5GS (si installé) pour la gestion des SIM et le monitoring.
Surveille les logs (attach, registration, PDU session, etc.).
Une fois le UE attaché, fais un
ping(depuis l’UE ou via l’interface UPF).
Conseils de dépannage
PLMN, clés et IP doivent correspondre partout.
Utilise
127.0.0.1ou une IP locale réelle selon ton cas.Avec du RF : vérifie fréquence/bande/SDR.
En simulation pure (“null device”) tu peux tout tester sans SDR.