Project

General

Profile

Actions

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.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
osmo-bts-sysmo
Target version:
-
Start date:
05/17/2021
Due date:
% Done:

100%

Spec Reference:

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

oml_rf_locked_nack.pcap oml_rf_locked_nack.pcap 15.7 KB keith, 05/16/2021 10:37 PM
Actions #1

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?

Actions #2

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
Actions #3

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".

Actions #4

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);
    }
}

Actions #5

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.

Actions #6

Updated by keith almost 3 years ago

  • Status changed from Feedback to Resolved

Yep, Thanks pespin! All seems well now with that.

Actions #7

Updated by keith almost 3 years ago

  • % Done changed from 90 to 100
Actions #8

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.

Actions

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)