enb_amarisoft: add support for PHY signal log file
when phy.signal=1 is set in the log_options, the eNB will dump
a binary file that needs to be copied back as well
Change-Id: I63d13cb74572ac065d5a3fcfb1632552d0a6dbc6
diff --git a/src/osmo_gsm_tester/obj/enb_amarisoft.py b/src/osmo_gsm_tester/obj/enb_amarisoft.py
index c7a9810..657cb2e 100644
--- a/src/osmo_gsm_tester/obj/enb_amarisoft.py
+++ b/src/osmo_gsm_tester/obj/enb_amarisoft.py
@@ -49,6 +49,7 @@
CFGFILE_RF = 'amarisoft_rf_driver.cfg'
CFGFILE_DRB = 'amarisoft_drb.cfg'
LOGFILE = 'lteenb.log'
+ PHY_SIGNAL_FILE = 'lteenb.log.bin'
def __init__(self, testenv, conf):
super().__init__(testenv, conf, 'amarisoftenb')
@@ -95,6 +96,11 @@
except Exception as e:
self.log(repr(e))
+ try:
+ self.rem_host.scpfrom('scp-back-phy-signal-log', self.remote_phy_signal_file, self.phy_signal_file)
+ except Exception as e:
+ self.log(repr(e))
+
def start(self, epc):
self.log('Starting AmarisoftENB')
self._epc = epc
@@ -140,6 +146,7 @@
self.config_rf_file = self.run_dir.child(AmarisoftENB.CFGFILE_RF)
self.config_drb_file = self.run_dir.child(AmarisoftENB.CFGFILE_DRB)
self.log_file = self.run_dir.child(AmarisoftENB.LOGFILE)
+ self.phy_signal_file = self.run_dir.child(AmarisoftENB.PHY_SIGNAL_FILE)
if not self._run_node.is_local():
self.rem_host = remote.RemoteHost(self.run_dir, self._run_node.ssh_user(), self._run_node.ssh_addr())
@@ -153,6 +160,7 @@
self.remote_config_rf_file = remote_run_dir.child(AmarisoftENB.CFGFILE_RF)
self.remote_config_drb_file = remote_run_dir.child(AmarisoftENB.CFGFILE_DRB)
self.remote_log_file = remote_run_dir.child(AmarisoftENB.LOGFILE)
+ self.remote_phy_signal_file = remote_run_dir.child(AmarisoftENB.PHY_SIGNAL_FILE)
values = super().configure(['amarisoft', 'amarisoftenb'])
@@ -191,6 +199,9 @@
logfile = self.log_file if self._run_node.is_local() else self.remote_log_file
config.overlay(values, dict(enb=dict(log_filename=logfile)))
+ phy_signal_file = self.phy_signal_file if self._run_node.is_local() else self.remote_phy_signal_file
+ config.overlay(values, dict(enb=dict(phy_signal_file=phy_signal_file)))
+
# rf driver is shared between amarisoft enb and ue, so it has a
# different cfg namespace 'trx'. Copy needed values over there:
config.overlay(values, dict(trx=dict(rf_dev_type=values['enb'].get('rf_dev_type', None),