Commit 4c50a7a0 authored by Joanne Hugé's avatar Joanne Hugé

software/ors-amarisoft: modify eNB/gNB config to improve radio link

parent c8ae36ce
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
[template] [template]
filename = instance.cfg filename = instance.cfg
md5sum = 972db83abdb868e242a2ece1a052f800 md5sum = dcb7298b5644197afc2e67a0367fddbc
[amarisoft-stats.jinja2.py] [amarisoft-stats.jinja2.py]
_update_hash_filename_ = amarisoft-stats.jinja2.py _update_hash_filename_ = amarisoft-stats.jinja2.py
...@@ -36,11 +36,11 @@ md5sum = b34fe47a73890097fbc6ea6374aeb38d ...@@ -36,11 +36,11 @@ md5sum = b34fe47a73890097fbc6ea6374aeb38d
[template-enb] [template-enb]
_update_hash_filename_ = instance-enb.jinja2.cfg _update_hash_filename_ = instance-enb.jinja2.cfg
md5sum = 040d9317773ff6e653a4edb9a8e484d2 md5sum = ee5ad489462f1af19e9fdfebc08292a1
[template-gnb] [template-gnb]
_update_hash_filename_ = instance-gnb.jinja2.cfg _update_hash_filename_ = instance-gnb.jinja2.cfg
md5sum = 89230ab64b3d4fa826ea47d6612de101 md5sum = ac4571ca09ba47f9b82fefebd564e755
[template-core-network] [template-core-network]
_update_hash_filename_ = instance-core-network.jinja2.cfg _update_hash_filename_ = instance-core-network.jinja2.cfg
...@@ -64,15 +64,15 @@ md5sum = dcaac06553a3222b14c0013a13f4a149 ...@@ -64,15 +64,15 @@ md5sum = dcaac06553a3222b14c0013a13f4a149
[enb.jinja2.cfg] [enb.jinja2.cfg]
filename = config/enb.jinja2.cfg filename = config/enb.jinja2.cfg
md5sum = fa71282e06c0f097b67578e6c7578037 md5sum = 81fe1f49c9ecdd06a30a1ecbf77526c9
[sib23.asn] [sib23.jinja2.asn]
filename = config/sib23.asn filename = config/sib23.jinja2.asn
md5sum = b377dac7f1fcf94fb9ce9ebed617f36a md5sum = 5e782fd4b93dc621ddac936913c085f2
[gnb.jinja2.cfg] [gnb.jinja2.cfg]
filename = config/gnb.jinja2.cfg filename = config/gnb.jinja2.cfg
md5sum = 91648b9f70a10eb8a89465a88d3975aa md5sum = 8f0dc5218bf6ae1574518a750ba00d8a
[ltelogs.jinja2.sh] [ltelogs.jinja2.sh]
filename = ltelogs.jinja2.sh filename = ltelogs.jinja2.sh
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
{% endif %} {% endif %}
log_filename: "{{ directory['log'] }}/enb.log", log_filename: "{{ directory['log'] }}/enb.log",
{% if slapparameter_dict.get('rrh', '') == "Lopcomm ORAN" %} {% if slapparameter_dict.get('rrh', 'ORS') == "Lopcomm ORAN" %}
rf_driver: { rf_driver: {
name: "sdr", name: "sdr",
args: "dev0=/dev/sdr0@0", args: "dev0=/dev/sdr0@0",
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
}, },
tx_gain: 0, tx_gain: 0,
rx_gain: 0, rx_gain: 0,
{% else %} {% elif slapparameter_dict.get('rrh', 'ORS') == "ORS" %}
rf_driver: { rf_driver: {
name: "sdr", name: "sdr",
args: "dev0=/dev/sdr0", args: "dev0=/dev/sdr0",
...@@ -104,6 +104,9 @@ ...@@ -104,6 +104,9 @@
cell_default: { cell_default: {
n_antenna_dl: N_ANTENNA_DL, n_antenna_dl: N_ANTENNA_DL,
n_antenna_ul: N_ANTENNA_UL, n_antenna_ul: N_ANTENNA_UL,
{% if slapparameter_dict.get('rrh', 'ORS') == "ORS" %}
manual_ref_signal_power: true,
{% endif %}
#if TDD == 1 #if TDD == 1
uldl_config: 2, uldl_config: 2,
sp_config: 7, sp_config: 7,
...@@ -121,7 +124,7 @@ ...@@ -121,7 +124,7 @@
si_window_length: 40, si_window_length: 40,
sib_sched_list: [ sib_sched_list: [
{ {
filename: "{{ sib23 }}", filename: "{{ sib23_file }}",
si_periodicity: 16, si_periodicity: 16,
}, },
], ],
......
{%- set tx_gain = slapparameter_dict.get('tx_gain', slap_configuration['configuration.default_nr_tx_gain']) %}
{%- if slapparameter_dict.get('tdd_ul_dl_config', '5ms 2UL 7DL 4/6 (default)') == '5ms 2UL 7DL 4/6 (default)' %}
{%- set tdd_config = 1 %}
{%- elif slapparameter_dict.get('tdd_ul_dl_config', '5ms 2UL 7DL 4/6 (default)') == '2.5ms 1UL 3DL 2/10' %}
{%- set tdd_config = 2 %}
{%- elif slapparameter_dict.get('tdd_ul_dl_config', '5ms 2UL 7DL 4/6 (default)') == '5ms 8UL 3DL 2/10 (maximum uplink)' %}
{%- set tdd_config = 3 %}
{%- endif %}
#define N_ANTENNA_DL {{ slapparameter_dict.get('n_antenna_dl', slap_configuration['configuration.default_n_antenna_dl']) }} #define N_ANTENNA_DL {{ slapparameter_dict.get('n_antenna_dl', slap_configuration['configuration.default_n_antenna_dl']) }}
{% if slapparameter_dict.get('rrh', '') == "M2RU Sunwave" %} {% if slapparameter_dict.get('rrh', 'ORS') == "M2RU Sunwave" %}
#define N_ANTENNA_UL {{ slapparameter_dict.get('n_antenna_ul', 1) }} #define N_ANTENNA_UL {{ slapparameter_dict.get('n_antenna_ul', 1) }}
{% else %} {% else %}
#define N_ANTENNA_UL {{ slapparameter_dict.get('n_antenna_ul', slap_configuration['configuration.default_n_antenna_dl']) }} #define N_ANTENNA_UL {{ slapparameter_dict.get('n_antenna_ul', slap_configuration['configuration.default_n_antenna_dl']) }}
...@@ -11,7 +20,7 @@ ...@@ -11,7 +20,7 @@
log_options: "all.level=error,all.max_size=0,nas.level=debug,nas.max_size=1,ngap.level=debug,ngap.max_size=1,xnap.level=debug,xnap.max_size=1,rrc.level=debug,rrc.max_size=1,phy.level=info,file.rotate=1G,file.path=/dev/null", log_options: "all.level=error,all.max_size=0,nas.level=debug,nas.max_size=1,ngap.level=debug,ngap.max_size=1,xnap.level=debug,xnap.max_size=1,rrc.level=debug,rrc.max_size=1,phy.level=info,file.rotate=1G,file.path=/dev/null",
{% endif %} {% endif %}
log_filename: "{{ directory['log'] }}/gnb.log", log_filename: "{{ directory['log'] }}/gnb.log",
{% if slapparameter_dict.get('rrh', '') == "M2RU Sunwave" %} {% if slapparameter_dict.get('rrh', 'ORS') == "M2RU Sunwave" %}
rf_driver: { rf_driver: {
name: "sdr", name: "sdr",
args: "dev0=/dev/sdr0@0", args: "dev0=/dev/sdr0@0",
...@@ -34,7 +43,7 @@ ...@@ -34,7 +43,7 @@
rx_antenna: "tx_rx", rx_antenna: "tx_rx",
tdd_tx_mod: 1, tdd_tx_mod: 1,
}, },
tx_gain: {{ slapparameter_dict.get('tx_gain', slap_configuration['configuration.default_nr_tx_gain']) }}, tx_gain: {{ tx_gain }},
rx_gain: {{ slapparameter_dict.get('rx_gain', slap_configuration['configuration.default_nr_rx_gain']) }}, rx_gain: {{ slapparameter_dict.get('rx_gain', slap_configuration['configuration.default_nr_rx_gain']) }},
{% endif %} {% endif %}
com_addr: "127.0.1.2:9001", com_addr: "127.0.1.2:9001",
...@@ -117,7 +126,15 @@ ...@@ -117,7 +126,15 @@
bandwidth: {{ slapparameter_dict.get('nr_bandwidth', slap_configuration['configuration.default_nr_bandwidth']) }}, bandwidth: {{ slapparameter_dict.get('nr_bandwidth', slap_configuration['configuration.default_nr_bandwidth']) }},
n_antenna_dl: N_ANTENNA_DL, n_antenna_dl: N_ANTENNA_DL,
n_antenna_ul: N_ANTENNA_UL, n_antenna_ul: N_ANTENNA_UL,
{% if slapparameter_dict.get('tdd_ul_dl_config', '5ms 2UL 7DL 4/6 (default)') == '5ms 2UL 7DL 4/6 (default)' %} {%- if slapparameter_dict.get('rrh', 'ORS') == "ORS" %}
manual_ref_signal_power: true,
{%- if one_watt == "True" %}
ss_pbch_block_power: {{ (tx_gain | int) - 54 }},
{%- else %}
ss_pbch_block_power: {{ (tx_gain | int) - 35 }},
{%- endif -%}
{%- endif %}
{% if tdd_config == 1 %}
tdd_ul_dl_config: { tdd_ul_dl_config: {
pattern1: { pattern1: {
period: 5, period: 5,
...@@ -216,7 +233,7 @@ ...@@ -216,7 +233,7 @@
prach_config_index: 160, prach_config_index: 160,
msg1_subcarrier_spacing: 30, msg1_subcarrier_spacing: 30,
msg1_fdm: 1, msg1_fdm: 1,
{% if slapparameter_dict.get('rrh', '') == "M2RU Sunwave" %} {% if slapparameter_dict.get('rrh', 'ORS') == "M2RU Sunwave" %}
msg1_frequency_start: 0, msg1_frequency_start: 0,
{% else %} {% else %}
msg1_frequency_start: -1, msg1_frequency_start: -1,
...@@ -232,7 +249,7 @@ ...@@ -232,7 +249,7 @@
cb_preambles_per_ssb: 8, cb_preambles_per_ssb: 8,
}, },
pdcch: { pdcch: {
{% if slapparameter_dict.get('rrh', '') == "M2RU Sunwave" %} {% if slapparameter_dict.get('rrh', 'ORS') == "M2RU Sunwave" %}
n_rb_coreset0: 48, n_rb_coreset0: 48,
n_symb_coreset0: 1, n_symb_coreset0: 1,
{% endif %} {% endif %}
...@@ -240,7 +257,7 @@ ...@@ -240,7 +257,7 @@
dedicated_coreset: { dedicated_coreset: {
rb_start: -1, rb_start: -1,
l_crb: -1, l_crb: -1,
{% if slapparameter_dict.get('rrh', '') == "M2RU Sunwave" %} {% if slapparameter_dict.get('rrh', 'ORS') == "M2RU Sunwave" %}
duration: 1, duration: 1,
{% else %} {% else %}
duration: 0, duration: 0,
...@@ -263,7 +280,7 @@ ...@@ -263,7 +280,7 @@
dmrs_add_pos: 1, dmrs_add_pos: 1,
dmrs_type: 1, dmrs_type: 1,
dmrs_max_len: 1, dmrs_max_len: 1,
{% if slapparameter_dict.get('rrh', '') == "M2RU Sunwave" %} {% if slapparameter_dict.get('rrh', 'ORS') == "M2RU Sunwave" %}
k0: 0, k0: 0,
k1: [ 8, 7, 7, 6, 5, 4, 12, 11 ], k1: [ 8, 7, 7, 6, 5, 4, 12, 11 ],
{% endif %} {% endif %}
...@@ -470,6 +487,7 @@ ...@@ -470,6 +487,7 @@
], ],
}, },
pucch: { pucch: {
dpc_snr_target: 25,
pucch_group_hopping: "neither", pucch_group_hopping: "neither",
hopping_id: -1, hopping_id: -1,
p0_nominal: -90, p0_nominal: -90,
...@@ -496,7 +514,7 @@ ...@@ -496,7 +514,7 @@
mcs_table: "qam256", mcs_table: "qam256",
mcs_table_tp: "qam256", mcs_table_tp: "qam256",
ldpc_max_its: 5, ldpc_max_its: 5,
{% if slapparameter_dict.get('rrh', '') == "M2RU Sunwave" %} {% if slapparameter_dict.get('rrh', 'ORS') == "M2RU Sunwave" %}
k2: 4, k2: 4,
msg3_k2: 7, msg3_k2: 7,
{% endif %} {% endif %}
......
{%- set tx_gain = slapparameter_dict.get('tx_gain', slap_configuration['configuration.default_lte_tx_gain']) %}
{ {
message c1: systemInformation: { message c1: systemInformation: {
criticalExtensions systemInformation-r8: { criticalExtensions systemInformation-r8: {
...@@ -36,7 +37,15 @@ ...@@ -36,7 +37,15 @@
} }
}, },
pdsch-ConfigCommon { pdsch-ConfigCommon {
{% if slapparameter_dict.get('rrh', 'ORS') == "ORS" %}
{%- if one_watt == "True" %}
referenceSignalPower {{ (tx_gain | int) - 54 }}, /* patched by eNB */
{%- else %}
referenceSignalPower {{ (tx_gain | int) - 35 }}, /* patched by eNB */
{%- endif %}
{% else %}
referenceSignalPower -8, /* patched by eNB */ referenceSignalPower -8, /* patched by eNB */
{% endif %}
p-b 1 /* patched by eNB */ p-b 1 /* patched by eNB */
}, },
pusch-ConfigCommon { pusch-ConfigCommon {
......
...@@ -8,9 +8,9 @@ ...@@ -8,9 +8,9 @@
"title": "RRH", "title": "RRH",
"description": "RRH", "description": "RRH",
"type": "string", "type": "string",
"default": "SDR", "default": "ORS",
"enum": [ "enum": [
"SDR", "ORS",
"Lopcomm ORAN" "Lopcomm ORAN"
] ]
}, },
......
...@@ -288,10 +288,17 @@ context = ...@@ -288,10 +288,17 @@ context =
key slapparameter_dict slap-configuration:configuration key slapparameter_dict slap-configuration:configuration
key gtp_addr_v6 slap-configuration:ipv6-random key gtp_addr_v6 slap-configuration:ipv6-random
raw gtp_addr_v4 {{ lan_ipv4 }} raw gtp_addr_v4 {{ lan_ipv4 }}
raw sib23 {{ sib23 }} raw one_watt {{ ors_version['one-watt'] }}
import netaddr netaddr import netaddr netaddr
${:extra-context} ${:extra-context}
[sib-config]
<= config-base
url = {{ sib23_template }}
output = ${directory:etc}/sib23.cfg
extra-context =
raw rf_mode rf_mode
[enb-config] [enb-config]
<= config-base <= config-base
{% if slapparameter_dict.get("enb_config_link", None) %} {% if slapparameter_dict.get("enb_config_link", None) %}
...@@ -302,6 +309,7 @@ url = {{ enb_template }} ...@@ -302,6 +309,7 @@ url = {{ enb_template }}
output = ${directory:etc}/enb.cfg output = ${directory:etc}/enb.cfg
extra-context = extra-context =
raw rf_mode rf_mode raw rf_mode rf_mode
key sib23_file sib-config:output
[publish-connection-information] [publish-connection-information]
<= monitor-publish <= monitor-publish
......
...@@ -7,9 +7,9 @@ ...@@ -7,9 +7,9 @@
"title": "RRH", "title": "RRH",
"description": "RRH", "description": "RRH",
"type": "string", "type": "string",
"default": "SDR", "default": "ORS",
"enum": [ "enum": [
"SDR", "ORS",
"Lopcomm ORAN" "Lopcomm ORAN"
] ]
}, },
......
...@@ -8,9 +8,9 @@ ...@@ -8,9 +8,9 @@
"title": "RRH", "title": "RRH",
"description": "RRH", "description": "RRH",
"type": "string", "type": "string",
"default": "SDR", "default": "ORS",
"enum": [ "enum": [
"SDR", "ORS",
"M2RU Sunwave" "M2RU Sunwave"
] ]
}, },
......
...@@ -213,6 +213,7 @@ context = ...@@ -213,6 +213,7 @@ context =
key slapparameter_dict slap-configuration:configuration key slapparameter_dict slap-configuration:configuration
key gtp_addr_v6 slap-configuration:ipv6-random key gtp_addr_v6 slap-configuration:ipv6-random
raw gtp_addr_v4 {{ lan_ipv4 }} raw gtp_addr_v4 {{ lan_ipv4 }}
raw one_watt {{ ors_version['one-watt'] }}
import netaddr netaddr import netaddr netaddr
[gnb-config] [gnb-config]
......
...@@ -7,9 +7,9 @@ ...@@ -7,9 +7,9 @@
"title": "RRH", "title": "RRH",
"description": "RRH", "description": "RRH",
"type": "string", "type": "string",
"default": "SDR", "default": "ORS",
"enum": [ "enum": [
"SDR", "ORS",
"M2RU Sunwave" "M2RU Sunwave"
] ]
}, },
......
...@@ -51,6 +51,15 @@ init = ...@@ -51,6 +51,15 @@ init =
options['ims'] = path + "/ims" options['ims'] = path + "/ims"
options['ue'] = path + "/ue" options['ue'] = path + "/ue"
[ors-version]
recipe = slapos.recipe.build
init =
import subprocess
v = subprocess.check_output(["sudo", "-n", "/opt/amarisoft/get-sdr-info", "-v"])
v = float(v.decode())
options['version'] = v
options['one-watt'] = bool(v >= 4)
[lan-ip] [lan-ip]
recipe = slapos.recipe.build recipe = slapos.recipe.build
init = init =
...@@ -93,10 +102,11 @@ filename = instance-enb.cfg ...@@ -93,10 +102,11 @@ filename = instance-enb.cfg
extensions = jinja2.ext.do extensions = jinja2.ext.do
extra-context = extra-context =
raw monitor_template ${monitor2-template:output} raw monitor_template ${monitor2-template:output}
section ors_version ors-version
key enb amarisoft:enb key enb amarisoft:enb
key sdr amarisoft:sdr key sdr amarisoft:sdr
raw enb_template ${enb.jinja2.cfg:target} raw enb_template ${enb.jinja2.cfg:target}
raw sib23 ${sib23.asn:target} raw sib23_template ${sib23.jinja2.asn:target}
raw ltelogs_template ${ltelogs.jinja2.sh:target} raw ltelogs_template ${ltelogs.jinja2.sh:target}
raw amarisoft_stats_template ${amarisoft-stats.jinja2.py:target} raw amarisoft_stats_template ${amarisoft-stats.jinja2.py:target}
raw amarisoft_rf_info_template ${amarisoft-rf-info.jinja2.py:target} raw amarisoft_rf_info_template ${amarisoft-rf-info.jinja2.py:target}
...@@ -128,6 +138,7 @@ filename = instance-gnb.cfg ...@@ -128,6 +138,7 @@ filename = instance-gnb.cfg
extensions = jinja2.ext.do extensions = jinja2.ext.do
extra-context = extra-context =
raw monitor_template ${monitor2-template:output} raw monitor_template ${monitor2-template:output}
section ors_version ors-version
key enb amarisoft:enb key enb amarisoft:enb
key sdr amarisoft:sdr key sdr amarisoft:sdr
raw gnb_template ${gnb.jinja2.cfg:target} raw gnb_template ${gnb.jinja2.cfg:target}
......
...@@ -29,7 +29,7 @@ parts += ...@@ -29,7 +29,7 @@ parts +=
ue-nr.jinja2.cfg ue-nr.jinja2.cfg
CreateProcessingEle.jinja2.xml CreateProcessingEle.jinja2.xml
cu_config.jinja2.xml cu_config.jinja2.xml
sib23.asn sib23.jinja2.asn
monitor-httpd-extra-conf monitor-httpd-extra-conf
# copy all gadget file # copy all gadget file
gadget gadget
...@@ -124,9 +124,9 @@ destination = ${buildout:directory}/gadget/${:_buildout_section_name_} ...@@ -124,9 +124,9 @@ destination = ${buildout:directory}/gadget/${:_buildout_section_name_}
[enb.jinja2.cfg] [enb.jinja2.cfg]
<= copy-config-to-instance <= copy-config-to-instance
filename = enb.jinja2.cfg filename = enb.jinja2.cfg
[sib23.asn] [sib23.jinja2.asn]
<= copy-config-to-instance <= copy-config-to-instance
filename = sib23.asn filename = sib23.jinja2.asn
[gnb.jinja2.cfg] [gnb.jinja2.cfg]
<= copy-config-to-instance <= copy-config-to-instance
filename = gnb.jinja2.cfg filename = gnb.jinja2.cfg
......
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