Commit 24c707c3 authored by Robert Schmidt's avatar Robert Schmidt

Merge remote-tracking branch 'origin/NR_SA_Tutorials' into integration_2024_w06

parents 6069cd6b 60af0f1a
...@@ -58,11 +58,12 @@ sudo ./program_uicc --adm 12345678 --imsi 001010000000001 --isdn 00000001 --acc ...@@ -58,11 +58,12 @@ sudo ./program_uicc --adm 12345678 --imsi 001010000000001 --isdn 00000001 --acc
### Build UHD from source ### Build UHD from source
```bash ```bash
sudo apt install -y libboost-all-dev libusb-1.0-0-dev doxygen python3-docutils python3-mako python3-numpy python3-requests python3-ruamel.yaml python3-setuptools cmake build-essential # https://files.ettus.com/manual/page_build_guide.html
sudo apt install -y autoconf automake build-essential ccache cmake cpufrequtils doxygen ethtool g++ git inetutils-tools libboost-all-dev libncurses5 libncurses5-dev libusb-1.0-0 libusb-1.0-0-dev libusb-dev python3-dev python3-mako python3-numpy python3-requests python3-scipy python3-setuptools python3-ruamel.yaml
git clone https://github.com/EttusResearch/uhd.git ~/uhd git clone https://github.com/EttusResearch/uhd.git ~/uhd
cd ~/uhd cd ~/uhd
git checkout v4.5.0.0 git checkout v4.6.0.0
cd host cd host
mkdir build mkdir build
cd build cd build
...@@ -87,9 +88,7 @@ cd ~/openairinterface5g/cmake_targets ...@@ -87,9 +88,7 @@ cd ~/openairinterface5g/cmake_targets
./build_oai -I ./build_oai -I
# Build OAI gNB # Build OAI gNB
cd ~/openairinterface5g cd ~/openairinterface5g/cmake_targets
source oaienv
cd cmake_targets
./build_oai -w USRP --ninja --gNB -C ./build_oai -w USRP --ninja --gNB -C
``` ```
...@@ -106,24 +105,18 @@ docker compose up -d ...@@ -106,24 +105,18 @@ docker compose up -d
### USRP B210 ### USRP B210
```bash ```bash
cd ~/openairinterface5g cd ~/openairinterface5g/cmake_targets/ran_build/build
source oaienv
cd cmake_targets/ran_build/build
sudo ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.conf --sa -E --continuous-tx sudo ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.conf --sa -E --continuous-tx
``` ```
### USRP N300 ### USRP N300
```bash ```bash
cd ~/openairinterface5g cd ~/openairinterface5g/cmake_targets/ran_build/build
source oaienv
cd cmake_targets/ran_build/build
sudo ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band77.fr1.273PRB.2x2.usrpn300.conf --sa --usrp-tx-thread-config 1 sudo ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band77.fr1.273PRB.2x2.usrpn300.conf --sa --usrp-tx-thread-config 1
``` ```
### USRP X300 ### USRP X300
```bash ```bash
cd ~/openairinterface5g cd ~/openairinterface5g/cmake_targets/ran_build/build
source oaienv
cd cmake_targets/ran_build/build
sudo ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band77.fr1.273PRB.2x2.usrpn300.conf --sa --usrp-tx-thread-config 1 -E --continuous-tx sudo ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band77.fr1.273PRB.2x2.usrpn300.conf --sa --usrp-tx-thread-config 1 -E --continuous-tx
``` ```
......
...@@ -58,16 +58,8 @@ rm -r ~/openairinterface5g-develop-doc-tutorial_resources-oai-cn5g ~/oai-cn5g.zi ...@@ -58,16 +58,8 @@ rm -r ~/openairinterface5g-develop-doc-tutorial_resources-oai-cn5g ~/oai-cn5g.zi
## 2.3 Pull OAI CN5G docker images ## 2.3 Pull OAI CN5G docker images
```bash ```bash
docker pull mysql:8.0 cd ~/oai-cn5g
docker pull oaisoftwarealliance/oai-amf:develop docker compose pull
docker pull oaisoftwarealliance/oai-nrf:develop
docker pull oaisoftwarealliance/oai-smf:develop
docker pull oaisoftwarealliance/oai-udr:develop
docker pull oaisoftwarealliance/oai-udm:develop
docker pull oaisoftwarealliance/oai-ausf:develop
docker pull oaisoftwarealliance/oai-spgwu-tiny:develop
docker pull oaisoftwarealliance/trf-gen-cn5g:jammy
docker pull oaisoftwarealliance/ims:latest
``` ```
# 3. Run OAI CN5G # 3. Run OAI CN5G
......
...@@ -46,11 +46,12 @@ Please install and configure OAI CN5G as described here: ...@@ -46,11 +46,12 @@ Please install and configure OAI CN5G as described here:
### Build UHD from source ### Build UHD from source
```bash ```bash
sudo apt install -y libboost-all-dev libusb-1.0-0-dev doxygen python3-docutils python3-mako python3-numpy python3-requests python3-ruamel.yaml python3-setuptools cmake build-essential # https://files.ettus.com/manual/page_build_guide.html
sudo apt install -y autoconf automake build-essential ccache cmake cpufrequtils doxygen ethtool g++ git inetutils-tools libboost-all-dev libncurses5 libncurses5-dev libusb-1.0-0 libusb-1.0-0-dev libusb-dev python3-dev python3-mako python3-numpy python3-requests python3-scipy python3-setuptools python3-ruamel.yaml
git clone https://github.com/EttusResearch/uhd.git ~/uhd git clone https://github.com/EttusResearch/uhd.git ~/uhd
cd ~/uhd cd ~/uhd
git checkout v4.5.0.0 git checkout v4.6.0.0
cd host cd host
mkdir build mkdir build
cd build cd build
...@@ -78,9 +79,7 @@ cd ~/openairinterface5g/cmake_targets ...@@ -78,9 +79,7 @@ cd ~/openairinterface5g/cmake_targets
sudo apt install -y libforms-dev libforms-bin sudo apt install -y libforms-dev libforms-bin
# Build OAI gNB # Build OAI gNB
cd ~/openairinterface5g cd ~/openairinterface5g/cmake_targets
source oaienv
cd cmake_targets
./build_oai -w USRP --ninja --nrUE --gNB --build-lib "nrscope" -C ./build_oai -w USRP --ninja --nrUE --gNB --build-lib "nrscope" -C
``` ```
...@@ -97,82 +96,71 @@ docker compose up -d ...@@ -97,82 +96,71 @@ docker compose up -d
### USRP B210 ### USRP B210
```bash ```bash
cd ~/openairinterface5g cd ~/openairinterface5g/cmake_targets/ran_build/build
source oaienv
cd cmake_targets/ran_build/build
sudo ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.conf --gNBs.[0].min_rxtxtime 6 --sa -E --continuous-tx sudo ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.conf --gNBs.[0].min_rxtxtime 6 --sa -E --continuous-tx
``` ```
### USRP N300 ### USRP N300
```bash ```bash
cd ~/openairinterface5g cd ~/openairinterface5g/cmake_targets/ran_build/build
source oaienv
cd cmake_targets/ran_build/build
sudo ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band77.fr1.273PRB.2x2.usrpn300.conf --gNBs.[0].min_rxtxtime 6 --sa --usrp-tx-thread-config 1 sudo ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band77.fr1.273PRB.2x2.usrpn300.conf --gNBs.[0].min_rxtxtime 6 --sa --usrp-tx-thread-config 1
``` ```
### USRP X300 ### USRP X300
```bash ```bash
cd ~/openairinterface5g cd ~/openairinterface5g/cmake_targets/ran_build/build
source oaienv
cd cmake_targets/ran_build/build
sudo ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band77.fr1.273PRB.2x2.usrpn300.conf --gNBs.[0].min_rxtxtime 6 --sa --usrp-tx-thread-config 1 -E --continuous-tx sudo ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band77.fr1.273PRB.2x2.usrpn300.conf --gNBs.[0].min_rxtxtime 6 --sa --usrp-tx-thread-config 1 -E --continuous-tx
``` ```
### RFsimulator ### RFsimulator
```bash ```bash
cd ~/openairinterface5g cd ~/openairinterface5g/cmake_targets/ran_build/build
source oaienv
cd cmake_targets/ran_build/build
sudo ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.conf --gNBs.[0].min_rxtxtime 6 --rfsim --sa sudo ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.conf --gNBs.[0].min_rxtxtime 6 --rfsim --sa
``` ```
# 5. OAI UE ### RFsimulator in FR2
## 5.1 SIM Card
Edit openair3/UICC/usim_interface.c
```bash ```bash
#define UICC_PARAMS_DESC {\ cd ~/openairinterface5g/cmake_targets/ran_build/build
{"imsi", "USIM IMSI\n", 0, strptr:&(uicc->imsiStr), defstrval:"001010000000001", TYPE_STRING, 0 },\ sudo ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band257.32prb.usrpx410.conf --rfsim
{"nmc_size" "number of digits in NMC", 0, iptr:&(uicc->nmc_size), defintval:2, TYPE_INT, 0 },\
{"key", "USIM Ki\n", 0, strptr:&(uicc->keyStr), defstrval:"fec86ba6eb707ed08905757b1bb44b8f", TYPE_STRING, 0 },\
{"opc", "USIM OPc\n", 0, strptr:&(uicc->opcStr), defstrval:"c42449363bbad02b66d16bc975d77cc1", TYPE_STRING, 0 },\
{"amf", "USIM amf\n", 0, strptr:&(uicc->amfStr), defstrval:"8000", TYPE_STRING, 0 },\
{"sqn", "USIM sqn\n", 0, strptr:&(uicc->sqnStr), defstrval:"000000", TYPE_STRING, 0 },\
{"dnn", "UE dnn (apn)\n", 0, strptr:&(uicc->dnnStr), defstrval:"oai", TYPE_STRING, 0 },\
{"nssai_sst", "UE nssai\n", 0, iptr:&(uicc->nssai_sst), defintval:1, TYPE_INT, 0 }, \
{"nssai_sd", "UE nssai\n", 0, iptr:&(uicc->nssai_sd), defintval:0xffffff, TYPE_INT, 0 }, \
};
``` ```
## 5.2 Testing OAI nrUE with USRP B210 # 5. OAI UE
## 5.1 Run OAI nrUE
### USRP B210
Important notes: Important notes:
- This should be run in a second Ubuntu 22.04 host, other than gNB - This should be run in a second Ubuntu 22.04 host, other than gNB
- It only applies when running OAI gNB with USRP B210 - It only applies when running OAI gNB with USRP B210
Run OAI nrUE Run OAI nrUE with USRP B210
```bash ```bash
cd ~/openairinterface5g cd ~/openairinterface5g/cmake_targets/ran_build/build
source oaienv
cd cmake_targets/ran_build/build
sudo ./nr-uesoftmodem -r 106 --numerology 1 --band 78 -C 3619200000 --ue-fo-compensation --sa -E --uicc0.imsi 001010000000001 sudo ./nr-uesoftmodem -r 106 --numerology 1 --band 78 -C 3619200000 --ue-fo-compensation --sa -E --uicc0.imsi 001010000000001
``` ```
## 5.2 Testing OAI nrUE with RFsimulator ### RFsimulator
Important notes: Important notes:
- This should be run on the same host as the OAI gNB - This should be run on the same host as the OAI gNB
- It only applies when running OAI gNB with RFsimulator - It only applies when running OAI gNB with RFsimulator
Run OAI nrUE with RFsimulator Run OAI nrUE with RFsimulator
```bash ```bash
cd ~/openairinterface5g cd ~/openairinterface5g/cmake_targets/ran_build/build
source oaienv sudo ./nr-uesoftmodem -r 106 --numerology 1 --band 78 -C 3619200000 --sa --uicc0.imsi 001010000000001 --rfsim
cd cmake_targets/ran_build/build ```
sudo ./nr-uesoftmodem -r 106 --numerology 1 --band 78 -C 3619200000 --rfsim --sa --uicc0.imsi 001010000000001 --rfsimulator.serveraddr 127.0.0.1
### RFsimulator in FR2
Important notes:
- This should be run on the same host as the OAI gNB
- It only applies when running OAI gNB with RFsimulator in FR2
Run OAI nrUE with RFsimulator in FR2
```bash
cd ~/openairinterface5g/cmake_targets/ran_build/build
sudo ./nr-uesoftmodem -r 32 --numerology 3 --band 257 -C 27533280000 --sa --uicc0.imsi 001010000000001 --ssb 72 --rfsim
``` ```
### 5.2.1 Ping test ## 5.2 End-to-end connectivity test
- UE host - Ping test from the UE host to the CN5G
```bash ```bash
ping 192.168.70.135 -I oaitun_ue1 ping 192.168.70.135 -I oaitun_ue1
``` ```
......
...@@ -59,6 +59,23 @@ nfs: ...@@ -59,6 +59,23 @@ nfs:
n4: n4:
interface_name: eth0 interface_name: eth0
port: 8805 port: 8805
upf:
host: oai-upf
sbi:
port: 8080
api_version: v1
interface_name: eth0
n3:
interface_name: eth0
port: 2152
n4:
interface_name: eth0
port: 8805
n6:
interface_name: eth0
n9:
interface_name: eth0
port: 2152
udm: udm:
host: oai-udm host: oai-udm
sbi: sbi:
...@@ -94,6 +111,16 @@ database: ...@@ -94,6 +111,16 @@ database:
generate_random: true generate_random: true
connection_timeout: 300 # seconds connection_timeout: 300 # seconds
## general single_nssai configuration
## Defines YAML anchors, which are reused in the config file
snssais:
- &embb_slice1
sst: 1
- &embb_slice2
sst: 1
- &embb_slice3
sst: 1
############## NF-specific configuration ############## NF-specific configuration
amf: amf:
pid_directory: "/var/run" pid_directory: "/var/run"
...@@ -110,7 +137,7 @@ amf: ...@@ -110,7 +137,7 @@ amf:
served_guami_list: served_guami_list:
- mcc: 001 - mcc: 001
mnc: 01 mnc: 01
amf_region_id: 80 amf_region_id: 01
amf_set_id: 001 amf_set_id: 001
amf_pointer: 01 amf_pointer: 01
plmn_support_list: plmn_support_list:
...@@ -118,7 +145,9 @@ amf: ...@@ -118,7 +145,9 @@ amf:
mnc: 01 mnc: 01
tac: 0x0001 tac: 0x0001
nssai: nssai:
- sst: 1 - *embb_slice1
- *embb_slice2
- *embb_slice3
supported_integrity_algorithms: supported_integrity_algorithms:
- "NIA1" - "NIA1"
- "NIA2" - "NIA2"
...@@ -134,7 +163,7 @@ smf: ...@@ -134,7 +163,7 @@ smf:
use_local_pcc_rules: yes # Use infos from local_pcc_rules or from PCF use_local_pcc_rules: yes # Use infos from local_pcc_rules or from PCF
# we resolve from NRF, this is just to configure usage_reporting # we resolve from NRF, this is just to configure usage_reporting
upfs: upfs:
- host: oai-spgwu - host: oai-upf
config: config:
enable_usage_reporting: no enable_usage_reporting: no
ue_dns: ue_dns:
...@@ -145,40 +174,68 @@ smf: ...@@ -145,40 +174,68 @@ smf:
ims: ims:
pcscf_ipv4: "192.168.70.139" pcscf_ipv4: "192.168.70.139"
pcscf_ipv6: "fe80::7915:f408:1787:db8b" pcscf_ipv6: "fe80::7915:f408:1787:db8b"
# the DNN you configure here should be configured in "dnns" # the DNN you configure here should be configured in "dnns"
# follows the SmfInfo datatype from 3GPP TS 29.510
smf_info:
sNssaiSmfInfoList:
- sNssai: *embb_slice1
dnnSmfInfoList:
- dnn: "oai"
- sNssai: *embb_slice2
dnnSmfInfoList:
- dnn: "openairinterface"
- sNssai: *embb_slice3
dnnSmfInfoList:
- dnn: "ims"
local_subscription_infos: local_subscription_infos:
- single_nssai: - single_nssai: *embb_slice1
sst: 1
dnn: "oai" dnn: "oai"
qos_profile: qos_profile:
5qi: 9 5qi: 9
session_ambr_ul: "10Gbps" session_ambr_ul: "10Gbps"
session_ambr_dl: "10Gbps" session_ambr_dl: "10Gbps"
- single_nssai: - single_nssai: *embb_slice2
sst: 1
dnn: "openairinterface" dnn: "openairinterface"
qos_profile: qos_profile:
5qi: 9 5qi: 9
session_ambr_ul: "10Gbps" session_ambr_ul: "10Gbps"
session_ambr_dl: "10Gbps" session_ambr_dl: "10Gbps"
- single_nssai: - single_nssai: *embb_slice3
sst: 1
dnn: "ims" dnn: "ims"
qos_profile: qos_profile:
5qi: 9 5qi: 9
session_ambr_ul: "10Gbps" session_ambr_ul: "10Gbps"
session_ambr_dl: "10Gbps" session_ambr_dl: "10Gbps"
upf:
support_features:
enable_bpf_datapath: no # If "on": BPF is used as datapath else simpleswitch is used, DEFAULT= off
enable_snat: yes # If "on": Source natting is done for UE, DEFAULT= off
remote_n6_gw: localhost # Dummy host since simple-switch does not use N6 GW
smfs:
- host: oai-smf # To be used for PFCP association in case of no-NRF
upf_info:
sNssaiUpfInfoList:
- sNssai: *embb_slice1
dnnUpfInfoList:
- dnn: "oai"
- sNssai: *embb_slice2
dnnUpfInfoList:
- dnn: "openairinterface"
- sNssai: *embb_slice3
dnnUpfInfoList:
- dnn: "ims"
## DNN configuration ## DNN configuration
dnns: dnns:
- dnn: "oai" - dnn: "oai"
pdu_session_type: "IPV4" pdu_session_type: "IPV4"
ipv4_subnet: "12.1.1.2/24" ipv4_subnet: "10.0.0.0/24"
- dnn: "openairinterface" - dnn: "openairinterface"
pdu_session_type: "IPV4V6" pdu_session_type: "IPV4V6"
ipv4_subnet: "12.1.2.2/24" ipv4_subnet: "10.0.1.0/24"
ipv6_prefix: "2001:1:2::/64" ipv6_prefix: "2001:1:2::/64"
- dnn: "ims" - dnn: "ims"
pdu_session_type: "IPV4V6" pdu_session_type: "IPV4V6"
ipv4_subnet: "12.1.9.2/24" ipv4_subnet: "10.0.9.0/24"
ipv6_prefix: "2001:1:2::/64" ipv6_prefix: "2001:1:2::/64"
...@@ -22,7 +22,7 @@ services: ...@@ -22,7 +22,7 @@ services:
ipv4_address: 192.168.70.131 ipv4_address: 192.168.70.131
ims: ims:
container_name: "asterisk-ims" container_name: "ims"
image: oaisoftwarealliance/ims:latest image: oaisoftwarealliance/ims:latest
volumes: volumes:
- ./conf/sip.conf:/etc/asterisk/sip.conf - ./conf/sip.conf:/etc/asterisk/sip.conf
...@@ -129,40 +129,16 @@ services: ...@@ -129,40 +129,16 @@ services:
networks: networks:
public_net: public_net:
ipv4_address: 192.168.70.133 ipv4_address: 192.168.70.133
oai-spgwu: oai-upf:
container_name: "oai-spgwu" container_name: "oai-upf"
image: oaisoftwarealliance/oai-spgwu-tiny:develop image: oaisoftwarealliance/oai-upf:develop
expose: expose:
- 2152/udp - 2152/udp
- 8805/udp - 8805/udp
- 8080/tcp volumes:
# TODO: oai-spgwu-tiny will not support the new common yaml config file feature - ./conf/config.yaml:/openair-upf/etc/config.yaml
# waiting for the new oai-upf NF
environment: environment:
- TZ=Europe/Paris - TZ=Europe/Paris
- SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP=eth0
- SGW_INTERFACE_NAME_FOR_SX=eth0
- PGW_INTERFACE_NAME_FOR_SGI=eth0
- NETWORK_UE_NAT_OPTION=yes
- NETWORK_UE_IP=12.1.0.0/16
- ENABLE_5G_FEATURES=yes
- REGISTER_NRF=yes
- USE_FQDN_NRF=yes
- UPF_FQDN_5G=oai-spgwu
- NRF_IPV4_ADDRESS=192.168.70.130
- NRF_FQDN=oai-nrf
# Mandatory to set the NRF PORT to 8080 (it is set to default to 80 otherwise)
- HTTP_VERSION=2
- NRF_PORT=8080
# Slice 0 (1, 0xFFFFFF)
- NSSAI_SST_0=1
- DNN_0=oai
# Slice 1 (1, 0xFFFFFF)
- NSSAI_SST_1=1
- DNN_1=openairinterface
# Slice 2 (1, 0xFFFFFF)
- NSSAI_SST_2=1
- DNN_2=ims
depends_on: depends_on:
- oai-nrf - oai-nrf
- oai-smf - oai-smf
...@@ -181,10 +157,10 @@ services: ...@@ -181,10 +157,10 @@ services:
container_name: oai-ext-dn container_name: oai-ext-dn
image: oaisoftwarealliance/trf-gen-cn5g:jammy image: oaisoftwarealliance/trf-gen-cn5g:jammy
entrypoint: /bin/bash -c \ entrypoint: /bin/bash -c \
"ip route add 12.1.0.0/16 via 192.168.70.134 dev eth0; ip route; sleep infinity" "ip route add 10.0.0.0/16 via 192.168.70.134 dev eth0; ip route; sleep infinity"
command: ["/bin/bash", "-c", "trap : SIGTERM SIGINT; sleep infinity & wait"] command: ["/bin/bash", "-c", "trap : SIGTERM SIGINT; sleep infinity & wait"]
healthcheck: healthcheck:
test: /bin/bash -c "ip r | grep 12.1.0" test: /bin/bash -c "ip r | grep 10.0.0"
interval: 5s interval: 5s
timeout: 2s timeout: 2s
retries: 10 retries: 10
......
Active_gNBs = ( "gNB-OAI");
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity = "none";
sa = 1;
gNBs =
(
{
////////// Identification parameters:
gNB_ID = 0xe00;
gNB_name = "gNB-OAI";
// Tracking area code, 0x0000 and 0xfffe are reserved values
tracking_area_code = 1;
plmn_list = ({ mcc = 001; mnc = 01; mnc_length = 2; snssaiList = ({ sst = 1; }) });
nr_cellid = 12345678L;
////////// Physical parameters:
pdsch_AntennaPorts_XP = 1;
pusch_AntennaPorts = 1;
do_CSIRS = 1;
do_SRS = 1;
sib1_tda = 15;
min_rxtxtime = 6;
servingCellConfigCommon = (
{
#spCellConfigCommon
physCellId = 0;
# downlinkConfigCommon
#frequencyInfoDL
# This is 27510.240 MHz + 16 * 12 * 120e3 MHz = 27533.280 MHz (GSCN: 22446)
absoluteFrequencySSB = 2071387;
dl_frequencyBand = 257;
# This is 27510.240 MHz
dl_absoluteFrequencyPointA = 2071003;
#scs-SpecificCarrierList
dl_offstToCarrier = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
dl_subcarrierSpacing = 3;
dl_carrierBandwidth = 32;
#initialDownlinkBWP
#genericParameters
# This is RBstart = 0, L = 32: (275 * (L - 1)) + RBstart
initialDLBWPlocationAndBandwidth = 8525;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialDLBWPsubcarrierSpacing = 3;
#pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero = 0;
initialDLBWPsearchSpaceZero = 0;
#uplinkConfigCommon
#frequencyInfoUL
ul_frequencyBand = 257;
#scs-SpecificCarrierList
ul_offstToCarrier = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
ul_subcarrierSpacing = 3;
ul_carrierBandwidth = 32;
pMax = 20;
#initialUplinkBWP
#genericParameters
initialULBWPlocationAndBandwidth = 8525;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialULBWPsubcarrierSpacing = 3;
#rach-ConfigCommon
#rach-ConfigGeneric
prach_ConfigurationIndex = 59;
#prach_msg1_FDM
#0 = one, 1=two, 2=four, 3=eight
prach_msg1_FDM = 0;
prach_msg1_FrequencyStart = 0;
zeroCorrelationZoneConfig = 12;
preambleReceivedTargetPower = -96;
#preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200)
preambleTransMax = 6;
#powerRampingStep
# 0=dB0,1=dB2,2=dB4,3=dB6
powerRampingStep = 1;
#ra_ReponseWindow
#1,2,4,8,10,20,40,80
ra_ResponseWindow = 5;
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 3;
#oneHalf (0..15) 4,8,12,16,...60,64
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 15;
#ra_ContentionResolutionTimer
#(0..7) 8,16,24,32,40,48,56,64
ra_ContentionResolutionTimer = 7;
rsrp_ThresholdSSB = 19;
#prach-RootSequenceIndex_PR
#1 = 839, 2 = 139
prach_RootSequenceIndex_PR = 2;
prach_RootSequenceIndex = 1;
# SCS for msg1, can only be 15 for 30 kHz < 6 GHz, takes precendence over the one derived from prach-ConfigIndex
#
msg1_SubcarrierSpacing = 3;
# restrictedSetConfig
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig = 0,
msg3_DeltaPreamble = 1;
p0_NominalWithGrant =-90;
# pucch-ConfigCommon setup :
# pucchGroupHopping
# 0 = neither, 1= group hopping, 2=sequence hopping
pucchGroupHopping = 0;
hoppingId = 40;
p0_nominal = -70;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 3;
ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell
# 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1
ssb_periodicityServingCell = 2;
# dmrs_TypeA_position
# 0 = pos2, 1 = pos3
dmrs_TypeA_Position = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
subcarrierSpacing = 3;
#tdd-UL-DL-ConfigurationCommon
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
referenceSubcarrierSpacing = 3;
# pattern1
# dl_UL_TransmissionPeriodicity
# 0=ms0p5, 1=ms0p625, 2=ms1, 3=ms1p25, 4=ms2, 5=ms2p5, 6=ms5, 7=ms10
dl_UL_TransmissionPeriodicity = 3;
nrofDownlinkSlots = 7;
nrofDownlinkSymbols = 6;
nrofUplinkSlots = 2;
nrofUplinkSymbols = 4;
ssPBCH_BlockPower = -25;
}
);
# ------- SCTP definitions
SCTP :
{
# Number of streams to use in input/output
SCTP_INSTREAMS = 2;
SCTP_OUTSTREAMS = 2;
};
////////// AMF parameters:
amf_ip_address = ( { ipv4 = "192.168.70.132";
ipv6 = "192:168:30::17";
active = "yes";
preference = "ipv4";
}
);
NETWORK_INTERFACES :
{
GNB_INTERFACE_NAME_FOR_NG_AMF = "demo-oai";
GNB_IPV4_ADDRESS_FOR_NG_AMF = "192.168.70.129/24";
GNB_INTERFACE_NAME_FOR_NGU = "demo-oai";
GNB_IPV4_ADDRESS_FOR_NGU = "192.168.70.129/24";
GNB_PORT_FOR_S1U = 2152; # Spec 2152
};
}
);
MACRLCs = (
{
num_cc = 1;
tr_s_preference = "local_L1";
tr_n_preference = "local_RRC";
#pusch_TargetSNRx10 = 150;
#pucch_TargetSNRx10 = 200;
}
);
L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
prach_dtx_threshold = 120;
#pucch0_dtx_threshold = 120;
}
);
RUs = (
{
local_rf = "yes";
nb_tx = 1;
nb_rx = 1;
att_tx = 0;
att_rx = 0;
sl_ahead = 12;
bands = [257];
max_pdschReferenceSignalPower = -27;
max_rxgain = 60;
eNB_instances = [0];
#if_freq = 2650000000L;
##beamforming 1x2 matrix: 1 layer x 2 antennas
bf_weights = [0x00007fff, 0x0000];
#clock_src = "internal";
sdr_addrs = "mgmt_addr=192.168.10.2,addr=192.168.10.2,clock_source=internal,time_source=internal"
}
);
THREAD_STRUCT = (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config = "PARALLEL_SINGLE_THREAD";
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config = "WORKER_ENABLE";
}
);
rfsimulator :
{
serveraddr = "server";
serverport = 4043;
options = (); #("saviq"); or/and "chanmod"
modelname = "AWGN";
IQfile = "/tmp/rfsimulator.iqs";
};
security = {
# preferred ciphering algorithms
# the first one of the list that an UE supports in chosen
# valid values: nea0, nea1, nea2, nea3
ciphering_algorithms = ( "nea0" );
# preferred integrity algorithms
# the first one of the list that an UE supports in chosen
# valid values: nia0, nia1, nia2, nia3
integrity_algorithms = ( "nia2", "nia0" );
# setting 'drb_ciphering' to "no" disables ciphering for DRBs, no matter
# what 'ciphering_algorithms' configures; same thing for 'drb_integrity'
drb_ciphering = "yes";
drb_integrity = "no";
};
log_config :
{
global_log_level ="info";
hw_log_level ="info";
phy_log_level ="info";
mac_log_level ="info";
rlc_log_level ="info";
pdcp_log_level ="info";
rrc_log_level ="info";
ngap_log_level ="info";
f1ap_log_level ="info";
};
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment