<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>