ms_srs: add 5G NSA support
extend the MS to allow for NR carriers Change-Id: I7de9f867e7e32d0ab4f74eb7661928175f6c1a16
This commit is contained in:
parent
6e081aa1dc
commit
6c985372a1
|
@ -36,6 +36,7 @@ def on_register_schemas():
|
||||||
'rf_dev_args': schema.STR,
|
'rf_dev_args': schema.STR,
|
||||||
'rf_dev_sync': schema.STR,
|
'rf_dev_sync': schema.STR,
|
||||||
'num_carriers': schema.UINT,
|
'num_carriers': schema.UINT,
|
||||||
|
'num_nr_carriers': schema.UINT,
|
||||||
'additional_args[]': schema.STR,
|
'additional_args[]': schema.STR,
|
||||||
'airplane_t_on_ms': schema.INT,
|
'airplane_t_on_ms': schema.INT,
|
||||||
'airplane_t_off_ms': schema.INT,
|
'airplane_t_off_ms': schema.INT,
|
||||||
|
@ -54,7 +55,11 @@ def on_register_schemas():
|
||||||
'enable_pcap': schema.BOOL_STR,
|
'enable_pcap': schema.BOOL_STR,
|
||||||
'log_all_level': schema.STR,
|
'log_all_level': schema.STR,
|
||||||
'log_nas_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)
|
schema.register_config_schema('modem', config_schema)
|
||||||
|
|
||||||
|
@ -101,6 +106,7 @@ class srsUE(MS, srslte_common):
|
||||||
self.remote_metrics_file = None
|
self.remote_metrics_file = None
|
||||||
self.enable_pcap = False
|
self.enable_pcap = False
|
||||||
self.num_carriers = 1
|
self.num_carriers = 1
|
||||||
|
self.num_nr_carriers = 0
|
||||||
self._additional_args = []
|
self._additional_args = []
|
||||||
if not rf_type_valid(conf.get('rf_dev_type', None)):
|
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))
|
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._additional_args += add_args.split()
|
||||||
|
|
||||||
self.num_carriers = int(values['ue'].get('num_carriers', 1))
|
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
|
# Simply pass-through the sync options
|
||||||
config.overlay(values, dict(ue={'rf_dev_sync': values['ue'].get('rf_dev_sync', None)}))
|
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:
|
if self.num_carriers == 1:
|
||||||
# Single carrier
|
# Single carrier
|
||||||
if self.enb.num_ports() == 1:
|
if self.enb.num_ports() == 1 and self.num_nr_carriers == 0:
|
||||||
# SISO
|
# SISO
|
||||||
rf_dev_args += ',rx_freq0=2630e6,tx_freq0=2510e6'
|
rf_dev_args += ',rx_freq0=2630e6,tx_freq0=2510e6'
|
||||||
elif self.enb.num_ports() == 2:
|
elif self.enb.num_ports() == 2:
|
||||||
|
|
|
@ -22,22 +22,30 @@ device_name = ${ue.rf_dev_type}
|
||||||
device_args = ${ue.rf_dev_args},${ue.rf_dev_sync}
|
device_args = ${ue.rf_dev_args},${ue.rf_dev_sync}
|
||||||
|
|
||||||
[rat.eutra]
|
[rat.eutra]
|
||||||
% if int(ue.num_carriers) == 4:
|
|
||||||
dl_earfcn = 2850,3050,3250,3350
|
% if ue.get('dl_earfcn', None) != None:
|
||||||
% elif int(ue.num_carriers) == 2:
|
dl_earfcn = ${ue.dl_earfcn}
|
||||||
dl_earfcn = 2850,3050
|
|
||||||
% else:
|
% 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
|
% endif
|
||||||
% if ue.get('dl_freq', -1) != -1:
|
|
||||||
|
% if float(ue.get('dl_freq', -1)) != -1:
|
||||||
dl_freq = ${ue.dl_freq}
|
dl_freq = ${ue.dl_freq}
|
||||||
% endif
|
% endif
|
||||||
% if ue.get('ul_freq', -1) != -1:
|
% if float(ue.get('ul_freq', -1)) != -1:
|
||||||
ul_freq = ${ue.ul_freq}
|
ul_freq = ${ue.ul_freq}
|
||||||
% endif
|
% endif
|
||||||
|
|
||||||
nof_carriers = ${ue.num_carriers}
|
nof_carriers = ${ue.num_carriers}
|
||||||
|
|
||||||
|
[rat.nr]
|
||||||
|
nof_carriers = ${ue.num_nr_carriers}
|
||||||
|
|
||||||
[pcap]
|
[pcap]
|
||||||
enable = ${'mac' if ue.enable_pcap else 'none'}
|
enable = ${'mac' if ue.enable_pcap else 'none'}
|
||||||
|
@ -65,19 +73,18 @@ k = ${ue.ki}
|
||||||
imsi = ${ue.imsi}
|
imsi = ${ue.imsi}
|
||||||
imei = 353490069873319
|
imei = 353490069873319
|
||||||
|
|
||||||
|
|
||||||
[rrc]
|
[rrc]
|
||||||
% if "dl_qam256" in ue.features or "ul_qam64" in ue.features:
|
% if ue.get('rrc_release', None) != None:
|
||||||
ue_category = 8
|
release = ${ue.rrc_release}
|
||||||
release = 13
|
% endif
|
||||||
ue_category_dl = 14
|
% if ue.get('ue_category', None) != None:
|
||||||
ue_category_ul = 5
|
ue_category = ${ue.ue_category}
|
||||||
% elif int(ue.num_carriers) > 1:
|
% endif
|
||||||
ue_category = 7
|
% if ue.get('ue_category_dl', None) != None:
|
||||||
release = 10
|
ue_category_dl = ${ue.ue_category_dl}
|
||||||
% else:
|
% endif
|
||||||
#ue_category = 4
|
% if ue.get('ue_category_ul', None) != None:
|
||||||
#release = 8
|
ue_category_ul = ${ue.ue_category_ul}
|
||||||
% endif
|
% endif
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -184,6 +184,7 @@ srsue:
|
||||||
airplane_t_on_ms: -1
|
airplane_t_on_ms: -1
|
||||||
airplane_t_off_ms: -1
|
airplane_t_off_ms: -1
|
||||||
num_carriers: 1
|
num_carriers: 1
|
||||||
|
num_nr_carriers: 0
|
||||||
tx_gain: 80
|
tx_gain: 80
|
||||||
rx_gain: 40
|
rx_gain: 40
|
||||||
freq_offset: 0
|
freq_offset: 0
|
||||||
|
|
Loading…
Reference in New Issue