https://osmocom.org/https://osmocom.org/favicon.ico?16647414092016-02-23T16:30:42ZOpen Source Mobile CommunicationsOsmoBTS - Bug #1622: OsmoBTS power control incompliant to TS 05.08 and TS 08.58https://osmocom.org/issues/1622?journal_id=10482016-02-23T16:30:42Zlaforge
<ul></ul><p>migrated to <a class="external" href="https://projects.osmocom.org/issues/1622">https://projects.osmocom.org/issues/1622</a></p> OsmoBTS - Bug #1622: OsmoBTS power control incompliant to TS 05.08 and TS 08.58https://osmocom.org/issues/1622?journal_id=50582017-08-17T06:48:24Zlaforge
<ul></ul> OsmoBTS - Bug #1622: OsmoBTS power control incompliant to TS 05.08 and TS 08.58https://osmocom.org/issues/1622?journal_id=128962018-12-11T13:38:03Zlaforge
<ul><li><strong>Assignee</strong> set to <i>4368</i></li><li><strong>Priority</strong> changed from <i>Normal</i> to <i>High</i></li></ul> OsmoBTS - Bug #1622: OsmoBTS power control incompliant to TS 05.08 and TS 08.58https://osmocom.org/issues/1622?journal_id=129112018-12-12T06:40:11Zlaforge
<ul><li><strong>Assignee</strong> changed from <i>4368</i> to <i>dexter</i></li></ul><p>assigning to <a class="user active" href="https://osmocom.org/users/15">dexter</a></p> OsmoBTS - Bug #1622: OsmoBTS power control incompliant to TS 05.08 and TS 08.58https://osmocom.org/issues/1622?journal_id=129302018-12-12T22:04:20Zlaforge
<ul><li><strong>Related to</strong> <i><a class="issue tracker-2 status-3 priority-2 priority-default closed" href="/issues/1851">Feature #1851</a>: generalize power control and TA loop code</i> added</li></ul> OsmoBTS - Bug #1622: OsmoBTS power control incompliant to TS 05.08 and TS 08.58https://osmocom.org/issues/1622?journal_id=129322018-12-12T22:07:08Zlaforge
<ul></ul><p>See src/osmo-bts-trx/loops.c, where 'ms_power_diff()' computes<br />the difference between the MS receive power target value and store it in<br />lchan->ms_power_ctrl.current.</p>
<p>Admittedly, loops.c is one of the parts of the osmo-bts code bases that are rather hard to read and of bad structure. See <a class="issue tracker-2 status-3 priority-2 priority-default closed" title="Feature: generalize power control and TA loop code (Resolved)" href="https://osmocom.org/issues/1851">#1851</a> for another related issue to generalize and refactor those loops, particularly also across BTS models.</p>
<p>The code in src/common/l1sap.c:l1sap_ph_rts_ind() then patches this value<br />into the L1 header of every downlink SACCH block:<br /> p<sup><a href="#fn0">0</a></sup> = lchan->ms_power_ctrl.current</p>
<blockquote>
<p>Since the function that sets the MS power level bts_model_adjst_ms_pwr() is<br />a stub. This function is called by power_control.c and by rsl.c when the<br />BSC wants to set the MS power level via an MS POWER CONTROL message.</p>
</blockquote>
<p>Yes, but the very same function also changes lchan->ms_power_ctrl.current<br />before. As osmo-bts-trx automatically uses that value during every DL SACCH<br />transmission, I would actually expect it to work.</p>
<p>The explicit bts_model_adjst_ms_pwr() function is just required for proprietary<br />PHYs that have their own TDMA scheduler and maintain that state in the PHY,<br />where hence we have to actively tell the PHY that the MS power level has changed.</p>
<p>So the first step from my point of view is to implement tests for this in BTS_Tests.ttcn,<br />considering cases like:</p>
<ul>
<li>MS POWER IE present in RSL CHAN ACT</li>
<li>MS POWER IE being sent using a "RSL MS POWER CONTROL" message for an already-active<br /> logicel channel</li>
</ul>
<p>and then running those tests with OsmocomBB against osmo-bts-trx, osmo-bts-sysmo, etc.</p>
<p>From my reading of the code, the feature "static MS power control" is looking for <strong>should</strong> already work if the level is communicated via the RSL MS POWER CONTROL message, and not via the RSL CHANNEL ACTIVATE, as the former is setting lchan->ms_power_ctrl.fixed = 1 where the latter is setting it to 0. Having TTCN3 tests for this would allow us to ascertain this for sure and ensure it keeps working.</p> OsmoBTS - Bug #1622: OsmoBTS power control incompliant to TS 05.08 and TS 08.58https://osmocom.org/issues/1622?journal_id=130002018-12-21T17:50:32Zdexter
<ul></ul><p>There is now a TTCN3 test that sends RSL MS POWER CONTROL and simultaneously checks that the L1 header of the SACCH channel contains the expected power level. From what I can see so far in the tests the external power control should work fine.</p>
<p>See also: <a class="external" href="https://gerrit.osmocom.org/#/c/osmo-ttcn3-hacks/+/12391/">https://gerrit.osmocom.org/#/c/osmo-ttcn3-hacks/+/12391/</a></p> OsmoBTS - Bug #1622: OsmoBTS power control incompliant to TS 05.08 and TS 08.58https://osmocom.org/issues/1622?journal_id=145642019-05-22T14:28:39Zlaforge
<ul><li><strong>Related to</strong> <i><a class="issue tracker-2 status-3 priority-2 priority-default closed" href="/issues/3750">Feature #3750</a>: Extension of BTS_Tests.ttcn test coverage</i> added</li></ul> OsmoBTS - Bug #1622: OsmoBTS power control incompliant to TS 05.08 and TS 08.58https://osmocom.org/issues/1622?journal_id=145662019-05-22T14:29:57Zlaforge
<ul><li><strong>Assignee</strong> changed from <i>dexter</i> to <i>laforge</i></li></ul> OsmoBTS - Bug #1622: OsmoBTS power control incompliant to TS 05.08 and TS 08.58https://osmocom.org/issues/1622?journal_id=145872019-05-24T19:37:18Zlaforge
<ul><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' disabled> <i>fix behavior on BSC side (always send MS power parameters in RSL CHAN ACT)</i> added</li><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' disabled> <i>fix behavior on BTS side: autonomous UL power control ony if MS power parametrs IE was sent</i> added</li><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' disabled> <i>TTCN3 tests for static MS power level in RSL CHAN ACT</i> added</li><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' disabled> <i>TTCN3 tests for static MS power level in MS POWER CONTROL</i> added</li><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' disabled> <i>TTCN3 test for autonomous MS power control after RSL CHAN ACT</i> added</li><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' disabled> <i>TTCN3 test for autonomous MS power control after MS POWER CONTROL</i> added</li><li><strong>% Done</strong> changed from <i>0</i> to <i>20</i></li></ul>In <a class="external" href="https://gerrit.osmocom.org/#/c/osmo-bts/+/14155/">https://gerrit.osmocom.org/#/c/osmo-bts/+/14155/</a> I'm fixing teh logic/handling when the BSC sends an explicit "MS POWER CONTROL" message:
<ul>
<li>if the optional MS power parameters IE is present (we don't care about contents), the BTS performs MS power control autonomously</li>
<li>if the optional MS power parameters IE is absent, we switch to static MS power according to the MS Power IE.</li>
</ul> OsmoBTS - Bug #1622: OsmoBTS power control incompliant to TS 05.08 and TS 08.58https://osmocom.org/issues/1622?journal_id=146292019-05-28T11:01:15ZHoernchen
<ul><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' checked disabled> <i>TTCN3 tests for static MS power level in MS POWER CONTROL</i> set to Done</li></ul> OsmoBTS - Bug #1622: OsmoBTS power control incompliant to TS 05.08 and TS 08.58https://osmocom.org/issues/1622?journal_id=146302019-05-28T11:01:44ZHoernchen
<ul></ul><p>currently tested by TC_rsl_ms_pwr_ctrl</p> OsmoBTS - Bug #1622: OsmoBTS power control incompliant to TS 05.08 and TS 08.58https://osmocom.org/issues/1622?journal_id=146422019-05-29T10:54:37ZHoernchen
<ul><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' checked disabled> <i>TTCN3 tests for static MS power level in RSL CHAN ACT</i> set to Done</li></ul> OsmoBTS - Bug #1622: OsmoBTS power control incompliant to TS 05.08 and TS 08.58https://osmocom.org/issues/1622?journal_id=146722019-05-31T22:01:45ZHoernchen
<ul></ul> OsmoBTS - Bug #1622: OsmoBTS power control incompliant to TS 05.08 and TS 08.58https://osmocom.org/issues/1622?journal_id=146732019-05-31T22:02:20ZHoernchen
<ul><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' disabled> <i>Ensure the ms power level is actually interpreted as the maximum allowable power level if a ms power parameters IE is present</i> added</li></ul><p>As the spec states "If the MS Power Parameters element is present it indicates that the MS power control is to be performed by TRX. The MS Power element then indicates the maximum MS power to be used. " <br />This is currently not working at all, the loop will just ignore this maximum ms power.</p> OsmoBTS - Bug #1622: OsmoBTS power control incompliant to TS 05.08 and TS 08.58https://osmocom.org/issues/1622?journal_id=147992019-06-12T17:15:28ZHoernchen
<ul><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' checked disabled> <i>TTCN3 test for autonomous MS power control after RSL CHAN ACT</i> set to Done</li><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' checked disabled> <i>TTCN3 test for autonomous MS power control after MS POWER CONTROL</i> set to Done</li></ul> OsmoBTS - Bug #1622: OsmoBTS power control incompliant to TS 05.08 and TS 08.58https://osmocom.org/issues/1622?journal_id=152152019-07-18T05:15:49Zlaforge
<ul><li><strong>Priority</strong> changed from <i>High</i> to <i>Normal</i></li></ul> OsmoBTS - Bug #1622: OsmoBTS power control incompliant to TS 05.08 and TS 08.58https://osmocom.org/issues/1622?journal_id=163102019-10-28T10:25:52Zpespin
<ul><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' checked disabled> <i>Ensure the ms power level is actually interpreted as the maximum allowable power level if a ms power parameters IE is present</i> set to Done</li></ul><p>"Ensure the ms power level is actually interpreted as the maximum allowable power level if a ms power parameters IE is present added" <br />Fixed by:<br /><a class="external" href="https://gerrit.osmocom.org/c/osmo-bts/+/15877">https://gerrit.osmocom.org/c/osmo-bts/+/15877</a> bts-trx: loops.c: Take into account RSL CHAN ACT ms power level limits<br /><a class="external" href="https://gerrit.osmocom.org/c/osmo-bts/+/15884">https://gerrit.osmocom.org/c/osmo-bts/+/15884</a> power_control.c: Take into account RSL CHAN ACT ms power level limits</p> OsmoBTS - Bug #1622: OsmoBTS power control incompliant to TS 05.08 and TS 08.58https://osmocom.org/issues/1622?journal_id=163122019-10-28T10:58:53Zpespin
<ul></ul><p>If I understand correctly, current code already does this correctly:<br />"fix behavior on BTS side: autonomous UL power control ony if MS power parametrs IE was sent added" <br />It was fixed in <a class="external" href="https://gerrit.osmocom.org/#/c/osmo-bts/+/14155/">https://gerrit.osmocom.org/#/c/osmo-bts/+/14155/</a><br />And same fix is also done during RSL CHAN ACT recevied in rsl_rx_chan_activ().</p> OsmoBTS - Bug #1622: OsmoBTS power control incompliant to TS 05.08 and TS 08.58https://osmocom.org/issues/1622?journal_id=163132019-10-28T12:53:17Zpespin
<ul></ul><p>Regarding "fix behavior on BSC side (always send MS power parameters in RSL CHAN ACT) added", it should be done here:<br /><a class="external" href="https://gerrit.osmocom.org/c/osmo-bsc/+/15882">https://gerrit.osmocom.org/c/osmo-bsc/+/15882</a> rsl: Send IE MS Power Param during CHAN ACT and MS PWR CTRL messages</p>
<p>and tested here:<br /><a class="external" href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15881">https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15881</a> bsc: Verify RSL IE MS Power Parameters is send upon CHAN ACT</p>
<p>so I think all boxes in the task should be marked as DONE and ticket closed.</p> OsmoBTS - Bug #1622: OsmoBTS power control incompliant to TS 05.08 and TS 08.58https://osmocom.org/issues/1622?journal_id=163202019-10-28T20:56:17Zlaforge
<ul><li><strong>Assignee</strong> changed from <i>laforge</i> to <i>pespin</i></li></ul> OsmoBTS - Bug #1622: OsmoBTS power control incompliant to TS 05.08 and TS 08.58https://osmocom.org/issues/1622?journal_id=164362019-11-13T08:56:20Zpespin
<ul><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' checked disabled> <i>fix behavior on BSC side (always send MS power parameters in RSL CHAN ACT)</i> set to Done</li><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' checked disabled> <i>fix behavior on BTS side: autonomous UL power control ony if MS power parametrs IE was sent</i> set to Done</li><li><strong>Status</strong> changed from <i>New</i> to <i>Resolved</i></li><li><strong>% Done</strong> changed from <i>20</i> to <i>100</i></li></ul>