ms_amarisoft: extend AmariUE to support custom frequency bands

this patch adds generic support for custom frequency bands to the ms class.
it then extends the config template for AmariUE to use them.
we set the default values for EARFCNs for DL/UL to the old values.

Change-Id: I7b2250e13fc1161be1a1d73a4348f07b31c0f724
This commit is contained in:
Andre Puschmann 2021-03-18 16:53:36 +01:00
parent a17140fee4
commit 31ecf59ffd
4 changed files with 35 additions and 3 deletions

View File

@ -32,7 +32,9 @@ def on_register_schemas():
'auth_algo': schema.AUTH_ALGO,
'apn_ipaddr': schema.IPV4,
'ciphers[]': schema.CIPHER_2G,
'features[]': schema.MODEM_FEATURE
'features[]': schema.MODEM_FEATURE,
'dl_earfcn': schema.UINT,
'ul_earfcn': schema.UINT
}
schema.register_resource_schema('modem', resource_schema)

View File

@ -27,7 +27,16 @@ from .run_node import RunNode
from .ms import MS
def on_register_schemas():
resource_schema = {}
resource_schema = {
'use_custom_band255': schema.BOOL_STR,
'custom_band_list[].number': schema.UINT,
'custom_band_list[].dl_earfcn_min': schema.UINT,
'custom_band_list[].dl_earfcn_max': schema.UINT,
'custom_band_list[].dl_freq_min': schema.UINT,
'custom_band_list[].ul_freq_min': schema.UINT,
'custom_band_list[].ul_earfcn_min': schema.UINT,
'custom_band_list[].ul_earfcn_max': schema.UINT,
}
for key, val in RunNode.schema().items():
resource_schema['run_node.%s' % key] = val
schema.register_resource_schema('modem', resource_schema)
@ -245,6 +254,9 @@ class AmarisoftUE(MS):
config.overlay(values, dict(ue=dict(log_filename=logfile,
ifup_filename=ifupfile)))
# Convert to Python bool and overlay config
config.overlay(values, dict(ue={'use_custom_band255': util.str2bool(values['ue'].get('use_custom_band255', 'false'))}))
# We need to set some specific variables programatically here to match IP addresses:
if self._conf.get('rf_dev_type') == 'zmq':
base_srate = num_prb2base_srate(self.enb.num_prb())

View File

@ -30,9 +30,24 @@
allow dynamic UE creation from remote API */
multi_ue: true,
custom_freq_band: [
%for band in ue.custom_band_list:
{
band: ${band.number},
dl_earfcn_min: ${band.dl_earfcn_min},
dl_earfcn_max: ${band.dl_earfcn_max},
dl_freq_min: ${band.dl_freq_min},
ul_freq_min: ${band.ul_freq_min},
ul_earfcn_min: ${band.ul_earfcn_min},
ul_earfcn_max: ${band.ul_earfcn_max},
},
%endfor
],
cells: [
{
dl_earfcn: 2850,
dl_earfcn: ${ue.dl_earfcn},
ul_earfcn: ${ue.ul_earfcn},
n_antenna_dl: 1,
n_antenna_ul: 1,

View File

@ -192,6 +192,9 @@ amarisoftue:
tx_gain: 89
rx_gain: 60
rf_dev_sync: none
custom_band_list: []
dl_earfcn: 2850
ul_earfcn: 20850
iperf3cli:
time: 60