Change in osmo-gsm-tester[master]: amarisoft_enb: Support zmq rf_driver

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

pespin gerrit-no-reply at lists.osmocom.org
Mon Apr 6 13:44:45 UTC 2020


pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17732 )

Change subject: amarisoft_enb: Support zmq rf_driver
......................................................................

amarisoft_enb: Support zmq rf_driver

Change-Id: I958834d99584e33f632b839a0bd0acccc2379049
---
M src/osmo_gsm_tester/amarisoft_enb.py
M src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl
M src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl
3 files changed, 43 insertions(+), 11 deletions(-)

Approvals:
  pespin: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/src/osmo_gsm_tester/amarisoft_enb.py b/src/osmo_gsm_tester/amarisoft_enb.py
index 2ef713f..e4f3d64 100644
--- a/src/osmo_gsm_tester/amarisoft_enb.py
+++ b/src/osmo_gsm_tester/amarisoft_enb.py
@@ -24,7 +24,7 @@
 from . import enb
 
 def rf_type_valid(rf_type_str):
-    return rf_type_str in ('uhd')
+    return rf_type_str in ('uhd', 'zmq')
 
 #reference: srsLTE.git srslte_symbol_sz()
 def num_prb2symbol_sz(num_prb):
@@ -167,6 +167,38 @@
         self._num_cells = int(values['enb'].get('num_cells', None))
         assert self._num_cells
 
+        # 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_port0=tcp://' + self.addr() + ':2000' \
+                        + ',tx_port1=tcp://' + self.addr() + ':2002' \
+                        + ',rx_port0=tcp://' + self.ue.addr() + ':2001' \
+                        + ',rx_port1=tcp://' + self.ue.addr() + ':2003' \
+                        + ',tx_freq=2630e6,rx_freq=2510e6,tx_freq2=2650e6,rx_freq2=2530e6' \
+                        + ',id=enb,base_srate=' + str(base_srate)
+            config.overlay(values, dict(enb=dict(sample_rate = base_srate / (1000*1000),
+                                                 rf_dev_args=rf_dev_args)))
+
+        # Set UHD frame size as a function of the cell bandwidth on B2XX
+        if self._conf.get('rf_dev_type') == 'UHD' and values['enb'].get('rf_dev_args', None) is not None:
+            if 'b200' in values['enb'].get('rf_dev_args'):
+                rf_dev_args = values['enb'].get('rf_dev_args', '')
+                rf_dev_args += ',' if rf_dev_args != '' and not rf_dev_args.endswith(',') else ''
+
+                if self._num_prb < 25:
+                    rf_dev_args += 'send_frame_size=512,recv_frame_size=512'
+                elif self._num_prb == 25:
+                    rf_dev_args += 'send_frame_size=1024,recv_frame_size=1024'
+                elif self._num_prb > 25:
+                    rf_dev_args += 'num_recv_frames=64,num_send_frames=64'
+
+                if self._num_prb > 50:
+                    # Reduce over the wire format to sc12
+                    rf_dev_args += ',otw_format=sc12'
+
+                config.overlay(values, dict(enb=dict(rf_dev_args=rf_dev_args)))
+
         logfile = self.log_file if self.setup_runs_locally() else self.remote_log_file
         config.overlay(values, dict(enb=dict(log_filename=logfile)))
 
diff --git a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl
index fab1649..532472a 100644
--- a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl
+++ b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl
@@ -10,6 +10,11 @@
   },
 %endif
 
+% if enb.rf_dev_type == 'zmq':
+  /* Force sampling rate (if uncommented) */
+  sample_rate: ${enb.sample_rate},
+%endif
+
   /* Log filter: syntax: layer.field=value[,...]
 
      Possible layers are phy, mac, rlc, pdcp, rrc, nas, s1ap, x2ap, gtpu and
diff --git a/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl
index bbf9b47..466bc8f 100644
--- a/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl
+++ b/src/osmo_gsm_tester/templates/amarisoft_rf_driver.cfg.tmpl
@@ -1,18 +1,13 @@
-/* Parameters for b2x0 UHD device version 2018-10-18
- * Copyright (C) 2015-2018 Amarisoft
- */
 rf_driver: {
     name: "${enb.rf_dev_type}",
-    sync: "none",
+    sync: "${'1' if enb.rf_dev_type == 'zmq' else 'none'}",
 
     /* Use this for b2x0 devices. Bandwidth >= 10 Mhz */
     args: "${enb.rf_dev_args}",
-
-    /* Use this for bandwidth == 5 Mhz */
-    //args: "send_frame_size=1024,recv_frame_size=1024",
-
-    /* Use this for bandwidth < 5 Mhz */
-    //args: "send_frame_size=512,recv_frame_size=512",
+% if enb.rf_dev_type == 'zmq':
+        dl_sample_bits: 16,
+        ul_sample_bits: 16,
+% endif
 },
 
 tx_gain: 89.0, /* TX gain (in dB) B2x0: 0 to 89.8 dB */

-- 
To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17732
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-gsm-tester
Gerrit-Branch: master
Gerrit-Change-Id: I958834d99584e33f632b839a0bd0acccc2379049
Gerrit-Change-Number: 17732
Gerrit-PatchSet: 2
Gerrit-Owner: srs_andre <andre at softwareradiosystems.com>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin at sysmocom.de>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20200406/ec3877fd/attachment.htm>


More information about the gerrit-log mailing list