<p>srs_andre has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17583">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">srs_enb: add num_cells param to srsENB<br><br>this is needed to support the upcoming multi-cell feature in srsENB.<br>It's required for carrier aggregation (CA) but can also<br>be used for (currently) two independent 4G cells.<br><br>This commit adds baseline support for the parameter. Upcoming<br>commits will add hooks to configure the cell's EARFCN, etc.<br><br>Change-Id: I6d1658bf820163aee03b64b0f4ac68046c243f37<br>---<br>M src/osmo_gsm_tester/resource.py<br>M src/osmo_gsm_tester/srs_enb.py<br>M src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl<br>3 files changed, 44 insertions(+), 0 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/83/17583/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py</span><br><span>index 32da088..2609d67 100644</span><br><span>--- a/src/osmo_gsm_tester/resource.py</span><br><span>+++ b/src/osmo_gsm_tester/resource.py</span><br><span>@@ -90,6 +90,7 @@</span><br><span>         'enb[].addr': schema.IPV4,</span><br><span>         'enb[].num_prb': schema.UINT,</span><br><span>         'enb[].transmission_mode': schema.LTE_TRANSMISSION_MODE,</span><br><span style="color: hsl(120, 100%, 40%);">+        'enb[].num_cells': schema.UINT,</span><br><span>         'enb[].rf_dev_type': schema.STR,</span><br><span>         'enb[].rf_dev_args': schema.STR,</span><br><span>         'arfcn[].arfcn': schema.INT,</span><br><span>diff --git a/src/osmo_gsm_tester/srs_enb.py b/src/osmo_gsm_tester/srs_enb.py</span><br><span>index 940665e..83d9814 100644</span><br><span>--- a/src/osmo_gsm_tester/srs_enb.py</span><br><span>+++ b/src/osmo_gsm_tester/srs_enb.py</span><br><span>@@ -81,6 +81,7 @@</span><br><span>         self.remote_pcap_file = None</span><br><span>         self._num_prb = 0</span><br><span>         self._txmode = 0</span><br><span style="color: hsl(120, 100%, 40%);">+        self._num_cells = 1</span><br><span>         self.enable_pcap = False</span><br><span>         self.suite_run = suite_run</span><br><span>         self.remote_user = conf.get('remote_user', None)</span><br><span>@@ -201,6 +202,8 @@</span><br><span>         assert self._num_prb</span><br><span>         self._txmode = int(values['enb'].get('transmission_mode', None))</span><br><span>         assert self._txmode</span><br><span style="color: hsl(120, 100%, 40%);">+        self._num_cells = int(values['enb'].get('num_cells', None))</span><br><span style="color: hsl(120, 100%, 40%);">+        assert self._num_cells</span><br><span>         config.overlay(values, dict(enb={ 'num_ports': self.num_ports() }))</span><br><span> </span><br><span>         # We need to set some specific variables programatically here to match IP addresses:</span><br><span>@@ -248,6 +251,9 @@</span><br><span>     def num_prb(self):</span><br><span>         return self._num_prb</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+    def num_cells(self):</span><br><span style="color: hsl(120, 100%, 40%);">+        return self._num_cells</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>     def num_ports(self):</span><br><span>         if self._txmode == 1:</span><br><span>             return 1</span><br><span>diff --git a/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl</span><br><span>index 3dd3fee..2d31c3d 100644</span><br><span>--- a/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl</span><br><span>+++ b/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl</span><br><span>@@ -86,5 +86,42 @@</span><br><span>       rsrq_config = 4;</span><br><span>     };</span><br><span>   }</span><br><span style="color: hsl(120, 100%, 40%);">+% if enb.get('num_cells') == '2':</span><br><span style="color: hsl(120, 100%, 40%);">+  ,</span><br><span style="color: hsl(120, 100%, 40%);">+  {</span><br><span style="color: hsl(120, 100%, 40%);">+    rf_port = 1;</span><br><span style="color: hsl(120, 100%, 40%);">+    cell_id = 0x02;</span><br><span style="color: hsl(120, 100%, 40%);">+    tac = 0x0002;</span><br><span style="color: hsl(120, 100%, 40%);">+    pci = 2;</span><br><span style="color: hsl(120, 100%, 40%);">+    root_seq_idx = 205;</span><br><span style="color: hsl(120, 100%, 40%);">+    dl_earfcn = 2910;</span><br><span style="color: hsl(120, 100%, 40%);">+    ul_earfcn = 20910;</span><br><span style="color: hsl(120, 100%, 40%);">+    ho_active = false;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    // CA cells</span><br><span style="color: hsl(120, 100%, 40%);">+    scell_list = (</span><br><span style="color: hsl(120, 100%, 40%);">+      {cell_id = 0x01; cross_carrier_scheduling = false; scheduling_cell_id = 0x01; ul_allowed = true}</span><br><span style="color: hsl(120, 100%, 40%);">+    )</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    // Cells available for handover</span><br><span style="color: hsl(120, 100%, 40%);">+    meas_cell_list =</span><br><span style="color: hsl(120, 100%, 40%);">+    (</span><br><span style="color: hsl(120, 100%, 40%);">+      {</span><br><span style="color: hsl(120, 100%, 40%);">+        eci = 0x19C02;</span><br><span style="color: hsl(120, 100%, 40%);">+        dl_earfcn = 2850;</span><br><span style="color: hsl(120, 100%, 40%);">+        pci = 1;</span><br><span style="color: hsl(120, 100%, 40%);">+      }</span><br><span style="color: hsl(120, 100%, 40%);">+    );</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    // ReportCfg (only A3 supported)</span><br><span style="color: hsl(120, 100%, 40%);">+    meas_report_desc = {</span><br><span style="color: hsl(120, 100%, 40%);">+      a3_report_type = "RSRP";</span><br><span style="color: hsl(120, 100%, 40%);">+      a3_offset = 6;</span><br><span style="color: hsl(120, 100%, 40%);">+      a3_hysteresis = 0;</span><br><span style="color: hsl(120, 100%, 40%);">+      a3_time_to_trigger = 480;</span><br><span style="color: hsl(120, 100%, 40%);">+      rsrq_config = 4;</span><br><span style="color: hsl(120, 100%, 40%);">+    };</span><br><span style="color: hsl(120, 100%, 40%);">+  }</span><br><span style="color: hsl(120, 100%, 40%);">+% endif</span><br><span>   // Add here more cells</span><br><span> );</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17583">change 17583</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17583"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-gsm-tester </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I6d1658bf820163aee03b64b0f4ac68046c243f37 </div>
<div style="display:none"> Gerrit-Change-Number: 17583 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: srs_andre <andre@softwareradiosystems.com> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>