<p>dexter has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25828">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">BSC_Tests: set band in f_TC_fh_params_set<br><br>The function f_TC_fh_params_set sets frequency hopping parameters. The<br>ARFCN is also part of those parameters. However, this function does not<br>set the respective band for the ARFCN that it configurs. This results in<br>an invalid setting at the BSC that might cause unexpected behavior.<br><br>Lets make sure we configure the band parameter correctly before setting<br>the ARFCN<br><br>Change-Id: I447e4145c68c62b11b818e28f0081c19e9107647<br>Related: SYS#5369<br>---<br>M bsc/BSC_Tests.ttcn<br>1 file changed, 48 insertions(+), 8 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/28/25828/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn</span><br><span>index d64ccc0..f5310a8 100644</span><br><span>--- a/bsc/BSC_Tests.ttcn</span><br><span>+++ b/bsc/BSC_Tests.ttcn</span><br><span>@@ -8361,7 +8361,7 @@</span><br><span> </span><br><span> /* Hopping parameters per a transceiver */</span><br><span> private type record FHParamsTrx {</span><br><span style="color: hsl(0, 100%, 40%);">- GsmArfcn        arfcn,</span><br><span style="color: hsl(120, 100%, 40%);">+        GsmBandArfcn    arfcn,</span><br><span>       FHParamsTs      ts[8]</span><br><span> };</span><br><span> </span><br><span>@@ -8370,8 +8370,10 @@</span><br><span> runs on test_CT return FHParamsTrx {</span><br><span>     var FHParamsTrx fhp;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-        /* Generate a random ARFCN, including ARFCN 0 */</span><br><span style="color: hsl(0, 100%, 40%);">-        fhp.arfcn := f_rnd_int(3);</span><br><span style="color: hsl(120, 100%, 40%);">+    /* Generate a random ARFCN in the range of 0 - 3. This ARFCN will</span><br><span style="color: hsl(120, 100%, 40%);">+      * fall in the GSM900 band. */</span><br><span style="color: hsl(120, 100%, 40%);">+        fhp.arfcn.arfcn := f_rnd_int(3);</span><br><span style="color: hsl(120, 100%, 40%);">+      fhp.arfcn.pcs := false;</span><br><span> </span><br><span>  for (var integer tn := 0; tn < 8; tn := tn + 1) {</span><br><span>                 if (not match(tn, tr_tn)) {</span><br><span>@@ -8410,7 +8412,7 @@</span><br><span>          tr_maio_hsn := tr_HsnMaio(fhp.ts[tn].hsn, fhp.ts[tn].maio);</span><br><span>          tr_cd := tr_ChanDescH1(cd.chan_nr, tr_maio_hsn);</span><br><span>     } else {</span><br><span style="color: hsl(0, 100%, 40%);">-                tr_cd := tr_ChanDescH0(cd.chan_nr, fhp.arfcn);</span><br><span style="color: hsl(120, 100%, 40%);">+                tr_cd := tr_ChanDescH0(cd.chan_nr, fhp.arfcn.arfcn);</span><br><span>         }</span><br><span> </span><br><span>        if (not match(cd, tr_cd)) {</span><br><span>@@ -8455,7 +8457,7 @@</span><br><span>  }</span><br><span> </span><br><span>        /* Take ARFCN of the TRX itself into account */</span><br><span style="color: hsl(0, 100%, 40%);">- full_mask[fhp.arfcn] := '1'B;</span><br><span style="color: hsl(120, 100%, 40%);">+ full_mask[fhp.arfcn.arfcn] := '1'B;</span><br><span> </span><br><span>      /* Compose a bit-mask for the given timeslot number */</span><br><span>       for (var integer i := 0; i < lengthof(fhp.ts[tn].ma); i := i + 1) {</span><br><span>@@ -8492,15 +8494,50 @@</span><br><span>     return { len := ma_mask_len, ma := ma_mask };</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+/* Configure the appropiate band for a given arfcn, exc */</span><br><span style="color: hsl(120, 100%, 40%);">+private function f_TC_set_band_by_arfcn(integer bts_nr, GsmBandArfcn arfcn) runs on test_CT</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+    var charstring band;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        if (arfcn.arfcn >= 259 and arfcn.arfcn <= 293) {</span><br><span style="color: hsl(120, 100%, 40%);">+                band := "GSM450";</span><br><span style="color: hsl(120, 100%, 40%);">+   } else if (arfcn.arfcn >= 306 and arfcn.arfcn <= 340) {</span><br><span style="color: hsl(120, 100%, 40%);">+         band := "GSM480";</span><br><span style="color: hsl(120, 100%, 40%);">+   } else if (arfcn.arfcn >= 438 and arfcn.arfcn <= 511) {</span><br><span style="color: hsl(120, 100%, 40%);">+         band := "GSM750";</span><br><span style="color: hsl(120, 100%, 40%);">+   } else if (arfcn.arfcn >= 128 and arfcn.arfcn <= 251) {</span><br><span style="color: hsl(120, 100%, 40%);">+         band := "GSM850";</span><br><span style="color: hsl(120, 100%, 40%);">+   } else if (arfcn.arfcn >= 0 and arfcn.arfcn <= 124) {</span><br><span style="color: hsl(120, 100%, 40%);">+           band := "GSM900";</span><br><span style="color: hsl(120, 100%, 40%);">+   } else if (arfcn.arfcn >= 955 and arfcn.arfcn <= 1023) {</span><br><span style="color: hsl(120, 100%, 40%);">+                band := "GSM900";</span><br><span style="color: hsl(120, 100%, 40%);">+   } else if (arfcn.arfcn >= 512 and arfcn.arfcn <= 885 and arfcn.pcs == false) {</span><br><span style="color: hsl(120, 100%, 40%);">+          band := "DCS1800";</span><br><span style="color: hsl(120, 100%, 40%);">+  } else if (arfcn.arfcn >= 512 and arfcn.arfcn <= 810 and arfcn.pcs == true) {</span><br><span style="color: hsl(120, 100%, 40%);">+           band := "PCS1900";</span><br><span style="color: hsl(120, 100%, 40%);">+  } else {</span><br><span style="color: hsl(120, 100%, 40%);">+              return;</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%);">+   f_vty_enter_cfg_bts(BSCVTY, bts_nr);</span><br><span style="color: hsl(120, 100%, 40%);">+  f_vty_transceive(BSCVTY, "band " & band);</span><br><span style="color: hsl(120, 100%, 40%);">+       f_vty_transceive(BSCVTY, "exit");</span><br><span style="color: hsl(120, 100%, 40%);">+   f_vty_transceive(BSCVTY, "exit");</span><br><span style="color: hsl(120, 100%, 40%);">+   f_vty_transceive(BSCVTY, "exit");</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> /* Configure the hopping parameters in accordance with the given record */</span><br><span> private function f_TC_fh_params_set(in FHParamsTrx fhp,</span><br><span>                                uint8_t bts_nr := 0,</span><br><span>                                 uint8_t trx_nr := 0)</span><br><span> runs on test_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       f_TC_set_band_by_arfcn(bts_nr, fhp.arfcn);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>         /* Enter the configuration node for the given BTS/TRX numbers */</span><br><span>     f_vty_enter_cfg_trx(BSCVTY, bts_nr, trx_nr);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-        f_vty_transceive(BSCVTY, "arfcn " & int2str(fhp.arfcn));</span><br><span style="color: hsl(120, 100%, 40%);">+        f_vty_transceive(BSCVTY, "arfcn " & int2str(fhp.arfcn.arfcn));</span><br><span> </span><br><span>     for (var integer tn := 0; tn < lengthof(fhp.ts); tn := tn + 1) {</span><br><span>          f_vty_transceive(BSCVTY, "timeslot " & int2str(tn));</span><br><span>@@ -8531,12 +8568,15 @@</span><br><span> private function f_TC_fh_params_unset(in FHParamsTrx fhp,</span><br><span>                                  uint8_t bts_nr := 0,</span><br><span>                                 uint8_t trx_nr := 0,</span><br><span style="color: hsl(0, 100%, 40%);">-                                    GsmArfcn arfcn := 871)</span><br><span style="color: hsl(120, 100%, 40%);">+                                GsmBandArfcn arfcn := {pcs := false, arfcn := 871})</span><br><span> runs on test_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+      f_TC_set_band_by_arfcn(bts_nr, arfcn);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>     /* Enter the configuration node for the given BTS/TRX numbers */</span><br><span>     f_vty_enter_cfg_trx(BSCVTY, bts_nr, trx_nr);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-        f_vty_transceive(BSCVTY, "arfcn " & int2str(arfcn));</span><br><span style="color: hsl(120, 100%, 40%);">+    f_vty_transceive(BSCVTY, "arfcn " & int2str(arfcn.arfcn));</span><br><span> </span><br><span>         for (var integer tn := 0; tn < lengthof(fhp.ts); tn := tn + 1) {</span><br><span>          f_vty_transceive(BSCVTY, "timeslot " & int2str(tn));</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25828">change 25828</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-ttcn3-hacks/+/25828"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-ttcn3-hacks </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I447e4145c68c62b11b818e28f0081c19e9107647 </div>
<div style="display:none"> Gerrit-Change-Number: 25828 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: dexter <pmaier@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>