<p>srs_andre has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24127">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">ms_srs: add 5G NSA support<br><br>extend the MS to allow for NR carriers<br><br>Change-Id: I7de9f867e7e32d0ab4f74eb7661928175f6c1a16<br>---<br>M src/osmo_gsm_tester/obj/ms_srs.py<br>M src/osmo_gsm_tester/templates/srsue.conf.tmpl<br>M sysmocom/defaults.conf<br>3 files changed, 37 insertions(+), 22 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/27/24127/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py</span><br><span>index 54dc5de..ec4486f 100644</span><br><span>--- a/src/osmo_gsm_tester/obj/ms_srs.py</span><br><span>+++ b/src/osmo_gsm_tester/obj/ms_srs.py</span><br><span>@@ -36,6 +36,7 @@</span><br><span>         'rf_dev_args': schema.STR,</span><br><span>         'rf_dev_sync': schema.STR,</span><br><span>         'num_carriers': schema.UINT,</span><br><span style="color: hsl(120, 100%, 40%);">+        'num_nr_carriers': schema.UINT,</span><br><span>         'additional_args[]': schema.STR,</span><br><span>         'airplane_t_on_ms': schema.INT,</span><br><span>         'airplane_t_off_ms': schema.INT,</span><br><span>@@ -54,7 +55,11 @@</span><br><span>         'enable_pcap': schema.BOOL_STR,</span><br><span>         'log_all_level': schema.STR,</span><br><span>         'log_nas_level': schema.STR,</span><br><span style="color: hsl(0, 100%, 40%);">-        'nr_short_sn_support': schema.BOOL_STR</span><br><span style="color: hsl(120, 100%, 40%);">+        'nr_short_sn_support': schema.BOOL_STR,</span><br><span style="color: hsl(120, 100%, 40%);">+        'rrc_release': schema.INT,</span><br><span style="color: hsl(120, 100%, 40%);">+        'ue_category': schema.INT,</span><br><span style="color: hsl(120, 100%, 40%);">+        'ue_category_dl': schema.INT,</span><br><span style="color: hsl(120, 100%, 40%);">+        'ue_category_ul': schema.INT,</span><br><span>         }</span><br><span>     schema.register_config_schema('modem', config_schema)</span><br><span> </span><br><span>@@ -101,6 +106,7 @@</span><br><span>         self.remote_metrics_file = None</span><br><span>         self.enable_pcap = False</span><br><span>         self.num_carriers = 1</span><br><span style="color: hsl(120, 100%, 40%);">+        self.num_nr_carriers = 0</span><br><span>         self._additional_args = []</span><br><span>         if not rf_type_valid(conf.get('rf_dev_type', None)):</span><br><span>             raise log.Error('Invalid rf_dev_type=%s' % conf.get('rf_dev_type', None))</span><br><span>@@ -270,6 +276,7 @@</span><br><span>             self._additional_args += add_args.split()</span><br><span> </span><br><span>         self.num_carriers = int(values['ue'].get('num_carriers', 1))</span><br><span style="color: hsl(120, 100%, 40%);">+        self.num_nr_carriers = int(values['ue'].get('num_nr_carriers', 0))</span><br><span> </span><br><span>         # Simply pass-through the sync options</span><br><span>         config.overlay(values, dict(ue={'rf_dev_sync': values['ue'].get('rf_dev_sync', None)}))</span><br><span>@@ -283,7 +290,7 @@</span><br><span> </span><br><span>             if self.num_carriers == 1:</span><br><span>                 # Single carrier</span><br><span style="color: hsl(0, 100%, 40%);">-                if self.enb.num_ports() == 1:</span><br><span style="color: hsl(120, 100%, 40%);">+                if self.enb.num_ports() == 1 and self.num_nr_carriers == 0:</span><br><span>                     # SISO</span><br><span>                     rf_dev_args += ',rx_freq0=2630e6,tx_freq0=2510e6'</span><br><span>                 elif self.enb.num_ports() == 2:</span><br><span>diff --git a/src/osmo_gsm_tester/templates/srsue.conf.tmpl b/src/osmo_gsm_tester/templates/srsue.conf.tmpl</span><br><span>index 8d206fa..412dbda 100644</span><br><span>--- a/src/osmo_gsm_tester/templates/srsue.conf.tmpl</span><br><span>+++ b/src/osmo_gsm_tester/templates/srsue.conf.tmpl</span><br><span>@@ -22,22 +22,30 @@</span><br><span> device_args = ${ue.rf_dev_args},${ue.rf_dev_sync}</span><br><span> </span><br><span> [rat.eutra]</span><br><span style="color: hsl(0, 100%, 40%);">-% if int(ue.num_carriers) == 4:</span><br><span style="color: hsl(0, 100%, 40%);">-dl_earfcn = 2850,3050,3250,3350</span><br><span style="color: hsl(0, 100%, 40%);">-% elif int(ue.num_carriers) == 2:</span><br><span style="color: hsl(0, 100%, 40%);">-dl_earfcn = 2850,3050</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+% if ue.get('dl_earfcn', None) != None:</span><br><span style="color: hsl(120, 100%, 40%);">+dl_earfcn = ${ue.dl_earfcn}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> % else:</span><br><span style="color: hsl(0, 100%, 40%);">-dl_earfcn = 2850</span><br><span style="color: hsl(120, 100%, 40%);">+  % if int(ue.num_carriers) == 4:</span><br><span style="color: hsl(120, 100%, 40%);">+  dl_earfcn = 2850,3050,3250,3350</span><br><span style="color: hsl(120, 100%, 40%);">+  % elif int(ue.num_carriers) == 2:</span><br><span style="color: hsl(120, 100%, 40%);">+  dl_earfcn = 2850,3050</span><br><span style="color: hsl(120, 100%, 40%);">+  % else:</span><br><span style="color: hsl(120, 100%, 40%);">+  dl_earfcn = 2850</span><br><span style="color: hsl(120, 100%, 40%);">+  % endif</span><br><span> % endif</span><br><span style="color: hsl(0, 100%, 40%);">-% if ue.get('dl_freq', -1) != -1:</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+% if float(ue.get('dl_freq', -1)) != -1:</span><br><span> dl_freq = ${ue.dl_freq}</span><br><span> % endif</span><br><span style="color: hsl(0, 100%, 40%);">-% if ue.get('ul_freq', -1) != -1:</span><br><span style="color: hsl(120, 100%, 40%);">+% if float(ue.get('ul_freq', -1)) != -1:</span><br><span> ul_freq = ${ue.ul_freq}</span><br><span> % endif</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span> nof_carriers = ${ue.num_carriers}</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+[rat.nr]</span><br><span style="color: hsl(120, 100%, 40%);">+nof_carriers = ${ue.num_nr_carriers}</span><br><span> </span><br><span> [pcap]</span><br><span> enable = ${'mac' if ue.enable_pcap else 'none'}</span><br><span>@@ -65,19 +73,18 @@</span><br><span> imsi = ${ue.imsi}</span><br><span> imei = 353490069873319</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span> [rrc]</span><br><span style="color: hsl(0, 100%, 40%);">-% if "dl_qam256" in ue.features or "ul_qam64" in ue.features:</span><br><span style="color: hsl(0, 100%, 40%);">-ue_category       = 8</span><br><span style="color: hsl(0, 100%, 40%);">-release           = 13</span><br><span style="color: hsl(0, 100%, 40%);">-ue_category_dl    = 14</span><br><span style="color: hsl(0, 100%, 40%);">-ue_category_ul    = 5</span><br><span style="color: hsl(0, 100%, 40%);">-% elif int(ue.num_carriers) > 1:</span><br><span style="color: hsl(0, 100%, 40%);">-ue_category       = 7</span><br><span style="color: hsl(0, 100%, 40%);">-release           = 10</span><br><span style="color: hsl(0, 100%, 40%);">-% else:</span><br><span style="color: hsl(0, 100%, 40%);">-#ue_category       = 4</span><br><span style="color: hsl(0, 100%, 40%);">-#release           = 8</span><br><span style="color: hsl(120, 100%, 40%);">+% if ue.get('rrc_release', None) != None:</span><br><span style="color: hsl(120, 100%, 40%);">+release = ${ue.rrc_release}</span><br><span style="color: hsl(120, 100%, 40%);">+% endif</span><br><span style="color: hsl(120, 100%, 40%);">+% if ue.get('ue_category', None) != None:</span><br><span style="color: hsl(120, 100%, 40%);">+ue_category = ${ue.ue_category}</span><br><span style="color: hsl(120, 100%, 40%);">+% endif</span><br><span style="color: hsl(120, 100%, 40%);">+% if ue.get('ue_category_dl', None) != None:</span><br><span style="color: hsl(120, 100%, 40%);">+ue_category_dl = ${ue.ue_category_dl}</span><br><span style="color: hsl(120, 100%, 40%);">+% endif</span><br><span style="color: hsl(120, 100%, 40%);">+% if ue.get('ue_category_ul', None) != None:</span><br><span style="color: hsl(120, 100%, 40%);">+ue_category_ul = ${ue.ue_category_ul}</span><br><span> % endif</span><br><span> </span><br><span> </span><br><span>diff --git a/sysmocom/defaults.conf b/sysmocom/defaults.conf</span><br><span>index f85ebd5..5c772ef 100644</span><br><span>--- a/sysmocom/defaults.conf</span><br><span>+++ b/sysmocom/defaults.conf</span><br><span>@@ -183,6 +183,7 @@</span><br><span>   airplane_t_on_ms: -1</span><br><span>   airplane_t_off_ms: -1</span><br><span>   num_carriers: 1</span><br><span style="color: hsl(120, 100%, 40%);">+  num_nr_carriers: 0</span><br><span>   tx_gain: 80</span><br><span>   rx_gain: 40</span><br><span>   freq_offset: 0</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-gsm-tester/+/24127">change 24127</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/+/24127"/><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: I7de9f867e7e32d0ab4f74eb7661928175f6c1a16 </div>
<div style="display:none"> Gerrit-Change-Number: 24127 </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>