srsue,srsenb: Configure num_ports for tmode > 1
Change-Id: I35d8ee907738845e729f58c23f377a42bb665672
diff --git a/src/osmo_gsm_tester/srs_enb.py b/src/osmo_gsm_tester/srs_enb.py
index 1fb2db1..716217e 100644
--- a/src/osmo_gsm_tester/srs_enb.py
+++ b/src/osmo_gsm_tester/srs_enb.py
@@ -184,13 +184,17 @@
assert self._num_prb
self._txmode = int(values['enb'].get('transmission_mode', None))
assert self._txmode
+ config.overlay(values, dict(enb={ 'num_ports': self.num_ports() }))
# 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._num_prb)
- rf_dev_args = 'fail_on_disconnect=true,tx_port=tcp://' + self.addr() \
- + ':2000,rx_port=tcp://' + self.ue.addr() \
- + ':2001,id=enb,base_srate=' + str(base_srate)
+ rf_dev_args = 'fail_on_disconnect=true' \
+ + ',tx_port=tcp://' + self.addr() + ':2000' \
+ + ',tx_port2=tcp://' + self.addr() + ':2002' \
+ + ',rx_port=tcp://' + self.ue.addr() + ':2001' \
+ + ',rx_port2=tcp://' + self.ue.addr() + ':2003' \
+ + ',id=enb,base_srate=' + str(base_srate)
config.overlay(values, dict(enb=dict(rf_dev_args=rf_dev_args)))
self.dbg('srsENB ' + filename + ':\n' + pprint.pformat(values))
@@ -226,6 +230,11 @@
def num_prb(self):
return self._num_prb
+ def num_ports(self):
+ if self._txmode == 1:
+ return 1
+ return 2
+
def ue_max_rate(self, downlink=True):
# The max rate for a single UE per PRB in TM1
max_phy_rate_tm1_dl = { 6 : 2.3e6,
diff --git a/src/osmo_gsm_tester/srs_ue.py b/src/osmo_gsm_tester/srs_ue.py
index 2cb05a2..20a5001 100644
--- a/src/osmo_gsm_tester/srs_ue.py
+++ b/src/osmo_gsm_tester/srs_ue.py
@@ -209,13 +209,16 @@
values = dict(ue=config.get_defaults('srsue'))
config.overlay(values, self.suite_run.config())
config.overlay(values, dict(ue=self._conf))
+ config.overlay(values, dict(ue=dict(num_antennas = self.enb.num_ports())))
# 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())
- config.overlay(values, dict(ue=dict(rf_dev_args='tx_port=tcp://' + self.addr()
- +':2001,rx_port=tcp://' + self.enb.addr()
- +':2000,id=ue,base_srate='+ str(base_srate)
+ config.overlay(values, dict(ue=dict(rf_dev_args = 'tx_port=tcp://' + self.addr() + ':2001' \
+ + ',tx_port2=tcp://' + self.addr() + ':2003' \
+ + ',rx_port=tcp://' + self.enb.addr() + ':2000' \
+ + ',rx_port2=tcp://' + self.enb.addr() + ':2002' \
+ + ',id=ue,base_srate='+ str(base_srate)
)))
self.dbg('SRSUE CONFIG:\n' + pprint.pformat(values))
diff --git a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl
index 7775947..dccade5 100644
--- a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl
+++ b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl
@@ -27,7 +27,7 @@
s1c_bind_addr = ${enb.addr}
n_prb = ${enb.num_prb}
tm = ${enb.transmission_mode}
-#nof_ports = 2
+nof_ports = ${enb.num_ports}
#####################################################################
# eNB configuration files
diff --git a/src/osmo_gsm_tester/templates/srsue.conf.tmpl b/src/osmo_gsm_tester/templates/srsue.conf.tmpl
index 627f592..f7dee03 100644
--- a/src/osmo_gsm_tester/templates/srsue.conf.tmpl
+++ b/src/osmo_gsm_tester/templates/srsue.conf.tmpl
@@ -37,7 +37,7 @@
#rx_gain = 40
#nof_radios = 1
-#nof_rx_ant = 1
+nof_antennas = ${ue.num_antennas}
device_name = ${ue.rf_dev_type}