diff --git a/src/osmo_gsm_tester/obj/ms.py b/src/osmo_gsm_tester/obj/ms.py index cd4a8a11..1ee9ef83 100644 --- a/src/osmo_gsm_tester/obj/ms.py +++ b/src/osmo_gsm_tester/obj/ms.py @@ -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) diff --git a/src/osmo_gsm_tester/obj/ms_amarisoft.py b/src/osmo_gsm_tester/obj/ms_amarisoft.py index 9b6d64a0..7e0cc135 100644 --- a/src/osmo_gsm_tester/obj/ms_amarisoft.py +++ b/src/osmo_gsm_tester/obj/ms_amarisoft.py @@ -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()) diff --git a/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl index 6f384918..f9b29334 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_lteue.cfg.tmpl @@ -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, diff --git a/sysmocom/defaults.conf b/sysmocom/defaults.conf index 39b81a80..8bbae422 100644 --- a/sysmocom/defaults.conf +++ b/sysmocom/defaults.conf @@ -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