Project

General

Profile

Actions

Bug #4281

closed

MS power control loop is interrupted when bad frames are received

Added by dexter over 4 years ago. Updated over 4 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
-
Target version:
-
Start date:
11/26/2019
Due date:
% Done:

100%

Spec Reference:

Description

See http://git.osmocom.org/osmo-bts/tree/src/common/l1sap.c#n1236
When a bad frame is received the on l1sap.c, then it is checked if it was a SACCH frame and if it was only radio_link_timeout() is called. The function then exits with -EINVAL. However, later in the code one can find that there is a call to lchan_ms_pwr_ctrl(). We should not skip this step. Instead we should supply the power control loop so that it knows that the reception is not enough and the MS power must be increased.

See also @pespin's comment at https://gerrit.osmocom.org/c/osmo-bts/+/16170/1/src/common/l1sap.c:
That means in this case lchan_ms_pwr_ctrl() is not called and the MS power loop is missing information. For instance it could mean the strength being used by the MS is not enough and precisely lchan_ms_pwr_ctrl() should be notified so that BTS can instruct the MS to increase the signal strength.

If in this case we don't have block data (data0) then MS Power Level value is not available for lchan_ms_pwr_ctrl(). In that case I'd probably makes sense to pass a special value to it, for instance 1, so that it knows the value is not available. Internally it can then for instance use lchan>ms_power_ctrl.current as input for calculations, or simply raise the current MS Power level if rssi is detected to be bad.

Actions

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)