Bug #5157
closedosmo-bts-(sysmo) fails to come up if BSC has rf_locked 1
100%
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
Updated by fixeria almost 3 years ago
- 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?
Updated by fixeria almost 3 years ago
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
Updated by pespin almost 3 years ago
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".
Updated by pespin almost 3 years ago
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); } }
Updated by pespin almost 3 years ago
- Status changed from New to Feedback
- Assignee changed from pespin to keith
- % Done changed from 0 to 90
Fixed by following patch:
https://gerrit.osmocom.org/c/osmo-bts/+/24245 sysmo,oc2g,lc15: Make RadioChannel MO depend on RadioCarrier MO
keith please confirm it's working fine after applying it, it worked fine for me.
Updated by keith almost 3 years ago
- Status changed from Feedback to Resolved
Yep, Thanks pespin! All seems well now with that.
Updated by keith almost 3 years ago
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.