diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index 54dc5de6..ec4486f2 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -36,6 +36,7 @@ def on_register_schemas(): 'rf_dev_args': schema.STR, 'rf_dev_sync': schema.STR, 'num_carriers': schema.UINT, + 'num_nr_carriers': schema.UINT, 'additional_args[]': schema.STR, 'airplane_t_on_ms': schema.INT, 'airplane_t_off_ms': schema.INT, @@ -54,7 +55,11 @@ def on_register_schemas(): 'enable_pcap': schema.BOOL_STR, 'log_all_level': schema.STR, 'log_nas_level': schema.STR, - 'nr_short_sn_support': schema.BOOL_STR + 'nr_short_sn_support': schema.BOOL_STR, + 'rrc_release': schema.INT, + 'ue_category': schema.INT, + 'ue_category_dl': schema.INT, + 'ue_category_ul': schema.INT, } schema.register_config_schema('modem', config_schema) @@ -101,6 +106,7 @@ class srsUE(MS, srslte_common): self.remote_metrics_file = None self.enable_pcap = False self.num_carriers = 1 + self.num_nr_carriers = 0 self._additional_args = [] if not rf_type_valid(conf.get('rf_dev_type', None)): raise log.Error('Invalid rf_dev_type=%s' % conf.get('rf_dev_type', None)) @@ -270,6 +276,7 @@ class srsUE(MS, srslte_common): self._additional_args += add_args.split() self.num_carriers = int(values['ue'].get('num_carriers', 1)) + self.num_nr_carriers = int(values['ue'].get('num_nr_carriers', 0)) # Simply pass-through the sync options config.overlay(values, dict(ue={'rf_dev_sync': values['ue'].get('rf_dev_sync', None)})) @@ -283,7 +290,7 @@ class srsUE(MS, srslte_common): if self.num_carriers == 1: # Single carrier - if self.enb.num_ports() == 1: + if self.enb.num_ports() == 1 and self.num_nr_carriers == 0: # SISO rf_dev_args += ',rx_freq0=2630e6,tx_freq0=2510e6' elif self.enb.num_ports() == 2: diff --git a/src/osmo_gsm_tester/templates/srsue.conf.tmpl b/src/osmo_gsm_tester/templates/srsue.conf.tmpl index 8d206faf..412dbdac 100644 --- a/src/osmo_gsm_tester/templates/srsue.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsue.conf.tmpl @@ -22,22 +22,30 @@ device_name = ${ue.rf_dev_type} device_args = ${ue.rf_dev_args},${ue.rf_dev_sync} [rat.eutra] -% if int(ue.num_carriers) == 4: -dl_earfcn = 2850,3050,3250,3350 -% elif int(ue.num_carriers) == 2: -dl_earfcn = 2850,3050 + +% if ue.get('dl_earfcn', None) != None: +dl_earfcn = ${ue.dl_earfcn} + % else: -dl_earfcn = 2850 + % if int(ue.num_carriers) == 4: + dl_earfcn = 2850,3050,3250,3350 + % elif int(ue.num_carriers) == 2: + dl_earfcn = 2850,3050 + % else: + dl_earfcn = 2850 + % endif % endif -% if ue.get('dl_freq', -1) != -1: + +% if float(ue.get('dl_freq', -1)) != -1: dl_freq = ${ue.dl_freq} % endif -% if ue.get('ul_freq', -1) != -1: +% if float(ue.get('ul_freq', -1)) != -1: ul_freq = ${ue.ul_freq} % endif - nof_carriers = ${ue.num_carriers} +[rat.nr] +nof_carriers = ${ue.num_nr_carriers} [pcap] enable = ${'mac' if ue.enable_pcap else 'none'} @@ -65,19 +73,18 @@ k = ${ue.ki} imsi = ${ue.imsi} imei = 353490069873319 - [rrc] -% if "dl_qam256" in ue.features or "ul_qam64" in ue.features: -ue_category = 8 -release = 13 -ue_category_dl = 14 -ue_category_ul = 5 -% elif int(ue.num_carriers) > 1: -ue_category = 7 -release = 10 -% else: -#ue_category = 4 -#release = 8 +% if ue.get('rrc_release', None) != None: +release = ${ue.rrc_release} +% endif +% if ue.get('ue_category', None) != None: +ue_category = ${ue.ue_category} +% endif +% if ue.get('ue_category_dl', None) != None: +ue_category_dl = ${ue.ue_category_dl} +% endif +% if ue.get('ue_category_ul', None) != None: +ue_category_ul = ${ue.ue_category_ul} % endif diff --git a/sysmocom/defaults.conf b/sysmocom/defaults.conf index 5af29627..67c9c5dc 100644 --- a/sysmocom/defaults.conf +++ b/sysmocom/defaults.conf @@ -184,6 +184,7 @@ srsue: airplane_t_on_ms: -1 airplane_t_off_ms: -1 num_carriers: 1 + num_nr_carriers: 0 tx_gain: 80 rx_gain: 40 freq_offset: 0