ms_srs: add 5G NSA support

extend the MS to allow for NR carriers

Change-Id: I7de9f867e7e32d0ab4f74eb7661928175f6c1a16
This commit is contained in:
Andre Puschmann 2021-05-04 17:06:06 +02:00
parent 6e081aa1dc
commit 6c985372a1
3 changed files with 37 additions and 22 deletions

View File

@ -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:

View File

@ -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

View File

@ -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