laforge submitted this change.

View Change

Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved
timeslot_fsm: Warn in case Ercisson RBS uses static PDCH

The Ericsson RBS is a BTS that natively works with dynamic timeslots.
This colides with the current understanding of static PDCH channels
because the BTSs we support so far get thier static PDCH information on
startup and then handle everything related internally. The BSC does not
actively manage the channel in those cases. In the case of Ericsson we
have to activate the PDCH via RSL like any other channel and the timeslot
FSM has to manage it. Lets not add work arouds for this, lets just print
and error message and use the BTS in the dynamic scheme as intended by
the manufacturer.

Change-Id: Icc7c2956fc934691e3bfacb283d896a8767baf27
Related: OS#5198
---
M src/osmo-bsc/bts_trx.c
1 file changed, 17 insertions(+), 0 deletions(-)

diff --git a/src/osmo-bsc/bts_trx.c b/src/osmo-bsc/bts_trx.c
index 1348e74..49702d0 100644
--- a/src/osmo-bsc/bts_trx.c
+++ b/src/osmo-bsc/bts_trx.c
@@ -326,6 +326,23 @@
}
break;

+ case GSM_PCHAN_PDCH:
+ if (is_ericsson_bts(trx->bts)) {
+ /* NOTE: A static PDCH is usually handled by the BTS/PCU internally, the BSC
+ * will not actively manage this channel. It will just keep the timeslot
+ * unused so that it is free for the BTS/PCU to use it as PDCH. Not all BTSs
+ * work well in this scheme. Ericsson RBS BTSs support dynamic channels natively
+ * and require a channel activation on RSL level before the PDCH can be used.
+ * One could work around this by activating the PDCH once on startup and
+ * leave it on indefinetly but we decided not to do so. Users of Ericsson RBS
+ * BTSs must configure a dynamic PDCH channel. */
+ LOGP(DNM, LOGL_ERROR, "%s is not allowed, because Ericsson RBS does"
+ "not support static PDCH (use TCH/F_TCH/H_SDCCH8_PDCH)\n",
+ gsm_pchan_name(ts->pchan_from_config));
+ result = false;
+ }
+ break;
+
default:
/* CCCH on TS0 is mandatory for C0 */
if (trx->bts->c0 == trx && i == 0) {

To view, visit change 31112. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: Icc7c2956fc934691e3bfacb283d896a8767baf27
Gerrit-Change-Number: 31112
Gerrit-PatchSet: 4
Gerrit-Owner: dexter <pmaier@sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge@osmocom.org>
Gerrit-Reviewer: pespin <pespin@sysmocom.de>
Gerrit-CC: fixeria <vyanitskiy@sysmocom.de>
Gerrit-MessageType: merged