<p>srs_andre has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-gsm-tester/+/21216">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">enb: add QAM64 support for UL<br><br>* add new UE feature<br>* enable in srsue.conf.templ<br>* add new table for maximum rates<br>* add config scenario to enable SIB option for QAM64<br><br>Change-Id: I6ac2c9989a761e91b93d76c2507f55f0140b202d<br>---<br>M src/osmo_gsm_tester/core/schema.py<br>M src/osmo_gsm_tester/obj/enb_srs.py<br>M src/osmo_gsm_tester/templates/srsenb_sib.conf.tmpl<br>M src/osmo_gsm_tester/templates/srsue.conf.tmpl<br>A sysmocom/scenarios/cfg-enb-enable-ul-qam64.conf<br>5 files changed, 25 insertions(+), 12 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/16/21216/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/osmo_gsm_tester/core/schema.py b/src/osmo_gsm_tester/core/schema.py</span><br><span>index 9d26b0f..d56d6ec 100644</span><br><span>--- a/src/osmo_gsm_tester/core/schema.py</span><br><span>+++ b/src/osmo_gsm_tester/core/schema.py</span><br><span>@@ -111,7 +111,7 @@</span><br><span>     raise ValueError('Unknown Cipher value: %r' % val)</span><br><span> </span><br><span> def modem_feature(val):</span><br><span style="color: hsl(0, 100%, 40%);">-    if val in ('sms', 'gprs', 'voice', 'ussd', 'sim', '2g', '3g', '4g', 'dl_qam256'):</span><br><span style="color: hsl(120, 100%, 40%);">+    if val in ('sms', 'gprs', 'voice', 'ussd', 'sim', '2g', '3g', '4g', 'dl_qam256', 'ul_qam64'):</span><br><span>         return True</span><br><span>     raise ValueError('Unknown Modem Feature: %r' % val)</span><br><span> </span><br><span>diff --git a/src/osmo_gsm_tester/obj/enb_srs.py b/src/osmo_gsm_tester/obj/enb_srs.py</span><br><span>index 8319ba4..7fde719 100644</span><br><span>--- a/src/osmo_gsm_tester/obj/enb_srs.py</span><br><span>+++ b/src/osmo_gsm_tester/obj/enb_srs.py</span><br><span>@@ -31,6 +31,7 @@</span><br><span> def on_register_schemas():</span><br><span>     config_schema = {</span><br><span>         'enable_pcap': schema.BOOL_STR,</span><br><span style="color: hsl(120, 100%, 40%);">+        'enable_ul_qam64': schema.BOOL_STR,</span><br><span>         'log_all_level': schema.STR,</span><br><span>         }</span><br><span>     schema.register_config_schema('enb', config_schema)</span><br><span>@@ -191,6 +192,7 @@</span><br><span>         self.enable_pcap = util.str2bool(values['enb'].get('enable_pcap', 'false'))</span><br><span>         config.overlay(values, dict(enb={'enable_pcap': self.enable_pcap}))</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+        config.overlay(values, dict(enb={'enable_ul_qam64': util.str2bool(values['enb'].get('enable_ul_qam64', 'false'))}))</span><br><span>         config.overlay(values, dict(enb={'enable_dl_awgn': util.str2bool(values['enb'].get('enable_dl_awgn', 'false'))}))</span><br><span>         config.overlay(values, dict(enb={'rf_dev_sync': values['enb'].get('rf_dev_sync', None)}))</span><br><span> </span><br><span>@@ -269,8 +271,6 @@</span><br><span>         return rfemu_obj</span><br><span> </span><br><span>     def ue_max_rate(self, downlink=True, num_carriers=1):</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span>         # The max rate for a single UE per PRB configuration in TM1 with MCS 28</span><br><span>         if 'dl_qam256' in self.ue.features():</span><br><span>             max_phy_rate_tm1_dl = {6: 5.9e6,</span><br><span>@@ -286,12 +286,21 @@</span><br><span>                                    50: 36e6,</span><br><span>                                    75: 55e6,</span><br><span>                                    100: 75e6}</span><br><span style="color: hsl(0, 100%, 40%);">-        max_phy_rate_tm1_ul = { 6 : 1.7e6,</span><br><span style="color: hsl(0, 100%, 40%);">-                               15 : 4.7e6,</span><br><span style="color: hsl(0, 100%, 40%);">-                               25 : 10e6,</span><br><span style="color: hsl(0, 100%, 40%);">-                               50 : 23e6,</span><br><span style="color: hsl(0, 100%, 40%);">-                               75 : 34e6,</span><br><span style="color: hsl(0, 100%, 40%);">-                               100 : 51e6 }</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        if 'ul_qam64' in self.ue.features():</span><br><span style="color: hsl(120, 100%, 40%);">+            max_phy_rate_tm1_ul = { 6 : 2.7e6,</span><br><span style="color: hsl(120, 100%, 40%);">+                                    15 : 6.5e6,</span><br><span style="color: hsl(120, 100%, 40%);">+                                    25 : 14e6,</span><br><span style="color: hsl(120, 100%, 40%);">+                                    50 : 32e6,</span><br><span style="color: hsl(120, 100%, 40%);">+                                    75 : 34e6,</span><br><span style="color: hsl(120, 100%, 40%);">+                                    100 : 70e6 }</span><br><span style="color: hsl(120, 100%, 40%);">+        else:</span><br><span style="color: hsl(120, 100%, 40%);">+            max_phy_rate_tm1_ul = { 6 : 1.7e6,</span><br><span style="color: hsl(120, 100%, 40%);">+                                    15 : 4.7e6,</span><br><span style="color: hsl(120, 100%, 40%);">+                                    25 : 10e6,</span><br><span style="color: hsl(120, 100%, 40%);">+                                    50 : 23e6,</span><br><span style="color: hsl(120, 100%, 40%);">+                                    75 : 34e6,</span><br><span style="color: hsl(120, 100%, 40%);">+                                    100 : 51e6 }</span><br><span> </span><br><span>         if downlink:</span><br><span>             max_rate = max_phy_rate_tm1_dl[self.num_prb()]</span><br><span>diff --git a/src/osmo_gsm_tester/templates/srsenb_sib.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb_sib.conf.tmpl</span><br><span>index 6d178c6..c738480 100644</span><br><span>--- a/src/osmo_gsm_tester/templates/srsenb_sib.conf.tmpl</span><br><span>+++ b/src/osmo_gsm_tester/templates/srsenb_sib.conf.tmpl</span><br><span>@@ -66,7 +66,7 @@</span><br><span>             n_sb = 1;</span><br><span>             hopping_mode = "inter-subframe";</span><br><span>             pusch_hopping_offset = 2;</span><br><span style="color: hsl(0, 100%, 40%);">-            enable_64_qam = false; // 64QAM PUSCH is not currently enabled</span><br><span style="color: hsl(120, 100%, 40%);">+            enable_64_qam = ${enb.enable_ul_qam64};</span><br><span>             ul_rs =</span><br><span>             {</span><br><span>                 cyclic_shift = 0;</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 31642cd..120b938 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>@@ -150,10 +150,11 @@</span><br><span> % if int(ue.num_carriers) > 1:</span><br><span> ue_category       = 7</span><br><span> release           = 10</span><br><span style="color: hsl(0, 100%, 40%);">-% elif "dl_qam256" in ue.features:</span><br><span style="color: hsl(0, 100%, 40%);">-ue_category       = 7</span><br><span style="color: hsl(120, 100%, 40%);">+% elif "dl_qam256" in ue.features or "ul_qam64" in ue.features:</span><br><span style="color: hsl(120, 100%, 40%);">+ue_category       = 8</span><br><span> release           = 13</span><br><span> ue_category_dl    = 14</span><br><span style="color: hsl(120, 100%, 40%);">+ue_category_ul    = 5</span><br><span> % else:</span><br><span> #ue_category       = 4</span><br><span> #release           = 8</span><br><span>diff --git a/sysmocom/scenarios/cfg-enb-enable-ul-qam64.conf b/sysmocom/scenarios/cfg-enb-enable-ul-qam64.conf</span><br><span>new file mode 100644</span><br><span>index 0000000..446c966</span><br><span>--- /dev/null</span><br><span>+++ b/sysmocom/scenarios/cfg-enb-enable-ul-qam64.conf</span><br><span>@@ -0,0 +1,3 @@</span><br><span style="color: hsl(120, 100%, 40%);">+config:</span><br><span style="color: hsl(120, 100%, 40%);">+  enb:</span><br><span style="color: hsl(120, 100%, 40%);">+    enable_ul_qam64: true</span><br><span>\ No newline at end of file</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-gsm-tester/+/21216">change 21216</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/+/21216"/><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: I6ac2c9989a761e91b93d76c2507f55f0140b202d </div>
<div style="display:none"> Gerrit-Change-Number: 21216 </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>