aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2013-05-01 16:52:27 +0200
committerHolger Hans Peter Freyther <zecke@selfish.org>2013-06-24 08:17:05 +0200
commit266af543e3789130948bb357c15784e07784af42 (patch)
tree6a439ca1e9631dc1f69c301b2126349ed08ee7df
parent718cc9dcac1634d4d7313e4130fdf0343d5046dd (diff)
sysmobts: Make sure we receive every SACCH frame to count S properly
In case there is no transmitter the S counter might never be decreased. This means that no radio link timeout will not be sent and the lchan will remain open forever. There are several ways to resolve this. The first would be to use the MphTimeInd and after each multiframe check if there has been a SACCH message for the open lchan's. This could be similar to the trx_meas_check_compute. I decided to change fBFILevel to always receive SACCH frames and move the code down to the PDTCH/PACCH handling and update the comment.
-rw-r--r--src/osmo-bts-sysmo/oml.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/osmo-bts-sysmo/oml.c b/src/osmo-bts-sysmo/oml.c
index 36073920..b8c9cd2d 100644
--- a/src/osmo-bts-sysmo/oml.c
+++ b/src/osmo-bts-sysmo/oml.c
@@ -819,12 +819,6 @@ static int mph_send_activate_req(struct gsm_lchan *lchan, struct sapi_cmd *cmd)
#warning Set BS_AG_BLKS_RES
lch_par->agch.u8NbrOfAgch = 1;
break;
- case GsmL1_Sapi_Sacch:
- /* Only if we use manual MS power control */
- //act_req->logChPrm.sacch.u8MsPowerLevel = FIXME;
- /* enable bad frame indication from >= -100dBm on SACCH */
- act_req->fBFILevel = -100.0;
- break;
case GsmL1_Sapi_TchH:
case GsmL1_Sapi_TchF:
lchan2lch_par(lch_par, lchan);
@@ -837,7 +831,12 @@ static int mph_send_activate_req(struct gsm_lchan *lchan, struct sapi_cmd *cmd)
break;
case GsmL1_Sapi_Pdtch:
case GsmL1_Sapi_Pacch:
- /* Be sure that every packet is received, even if it
+ case GsmL1_Sapi_Sacch:
+ /*
+ * TODO: For the SACCH we need to set the u8MsPowerLevel when
+ * doing manual MS power control. */
+ /*
+ * Be sure that every packet is received, even if it
* fails. In this case the length might be lower or 0.
*/
act_req->fBFILevel = -200.0;