dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/31112 )
Change subject: timeslot_fsm: Warn in case Ercisson RBS uses static PDCH ......................................................................
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 than. 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/timeslot_fsm.c 1 file changed, 17 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/12/31112/1
diff --git a/src/osmo-bsc/timeslot_fsm.c b/src/osmo-bsc/timeslot_fsm.c index 72db0fa..fb1edd8 100644 --- a/src/osmo-bsc/timeslot_fsm.c +++ b/src/osmo-bsc/timeslot_fsm.c @@ -340,6 +340,23 @@ }
switch (ts->pchan_on_init) { + case GSM_PCHAN_PDCH: + /* 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. */ + if (is_ericsson_bts(bts)) { + LOG_TS(ts, LOGL_ERROR, "Ericsson RBS does not support static PDCH, use TCH/F_TCH/H_SDCCH8_PDCH\n"); + break; + } + + /* nothing to do */ + break; + case GSM_PCHAN_OSMO_DYN: case GSM_PCHAN_TCH_F_PDCH: if (bts->gprs.mode == BTS_GPRS_NONE) {