Bug #5157
closed
osmo-bts-(sysmo) fails to come up if BSC has rf_locked 1
Added by keith almost 3 years ago.
Updated almost 3 years ago.
Description
I'm pretty sure that osmo-bts-sysmo used to come up with RF MUTED if the BSC config has rf_locked 1
However I noticed that it fails. I went back quite far in the history, to tag 1.2.0 which still exhibits the behaviour:
DL1C ERROR <0006> oml.c:277 Rx MPH-CONNECT.conf, status: Invalid parameter
DOML INFO <0001> oml.c:285 NM_CHAN_OP(bts0-trx0-ts0)[0x561ed4cda310]{DISABLED_OFFLINE}: Received Event OPSTART_NACK
DLINP ERROR <0012> input/ipa.c:65 172.16.0.1:3002 connection closed with server
Files
- Category set to osmo-bts-sysmo
- Assignee set to pespin
Pau worked on the RF lock/ramping code some time ago, maybe he has some ideas?
I managed to reproduce the problem, and here is what I see in '/dev/rtfifo/dsp_trace':
[ERROR] : DeviceMng_ValidateL1Handle() => Invalid layer 1 handle
PhyRf_DeviceType = ffff, PhyRf_DeviceUsedDownlink=0, PhyRf_DeviceUsedUplink=0
[ERROR] : DeviceMng_ValidateL1Handle() => Invalid layer 1 handle
My guess is that osmo-bts-sysmo is unable to OPSTART a Channel (aka TS) without having previously having OPSTARTed (hence be in ENABLED state) the related Radio Carrier (TRX).
If that's the case, osmo-bts-sysmo shouldn't be announcing Channel state as Disabled Off-line, but Disabled Dependency.
As it can be been in the pcap trace, the Channels are initially set as "Disabled Dependency", but once that BaseBand Transceiver object is brought up (unlock + opstart), the state of the Channels become "Disabled Off-line",at which point the BSC decides it can OPSTART them.
So I'd say the BSC is doing good, and the bts-sysmo should either ACK the OPSTART if it internally supports doing so if the Radio Carrier was not yet OPSTARTed, or otherwise keep the Channel state as "Disabled Dependency".
It can be clearly seen that in the generic Channel mo FSM (applicable to all BTS flavours), the Channel is switched "Disabled Dependency"->"Disabled Off-line" when BB Transceiver becomes enabled (OPSTARTed). See osmo-bts.git/src/common/nm_channel_fsm.c:
static void st_op_disabled_dependency(struct osmo_fsm_inst *fi, uint32_t event, void *data)
{
struct gsm_bts_trx_ts *ts = (struct gsm_bts_trx_ts *)fi->priv;
switch (event) {
...
case NM_EV_BBTRANSC_ENABLED:
nm_chan_fsm_state_chg(fi, NM_CHAN_ST_OP_DISABLED_OFFLINE);
return;
default:
OSMO_ASSERT(0);
}
}
- Status changed from New to Feedback
- Assignee changed from pespin to keith
- % Done changed from 0 to 90
- Status changed from Feedback to Resolved
Yep, Thanks pespin! All seems well now with that.
- % Done changed from 90 to 100
Actually, just one thing. it appear the BSC logs
DRSL ERROR (bts=0,trx=0,ts=0,pchan_from_config=CCCH,state=NOT_INITIALIZED) Abis RSL rx CCHAN: mismatching chan_nr=0x90 (abis_rsl.c:142)
Until the BTS is rf_(un)locked.
Seems like an unexpected error.
Also available in: Atom
PDF