Project

General

Profile

Actions

Bug #4755

closed

Premature OML Radio Carrier(00,00,ff) Opstart

Added by fixeria over 3 years ago. Updated over 3 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
A-bis OML
Target version:
-
Start date:
09/16/2020
Due date:
% Done:

100%

Spec Reference:

Description

During the A-bis/OML bootstrapping, osmo-bsc sends Opstart to the Radio Carrier MO twice:

$ tshark -r /tmp/oml.pcap -Y "gsm_abis_oml.fom.obj_class == 0x02" 
   14   0.009785    127.0.0.1 → 127.0.0.1    OML 88 OML Radio Carrier(00,00,ff) State Changed Event Report NULL Power off Locked 
   37   0.019692    127.0.0.1 → 127.0.0.1    OML 88 OML Radio Carrier(00,00,ff) State Changed Event Report Disabled OK Locked 
   39   0.021458    127.0.0.1 → 127.0.0.1    OML 80 OML Radio Carrier(00,00,ff) Software Activated Report 
   89   0.039537    127.0.0.1 → 127.0.0.1    OML 80 OML Radio Carrier(00,00,ff) Opstart  (!)
   90   0.039675    127.0.0.1 → 127.0.0.1    OML 80 OML Radio Carrier(00,00,ff) Opstart ACK 
   91   0.039967    127.0.0.1 → 127.0.0.1    OML 87 OML Radio Carrier(00,00,ff) Set Radio Carrier Attributes 
   92   0.041042    127.0.0.1 → 127.0.0.1    OML 87 OML Radio Carrier(00,00,ff) Set Radio Carrier Attributes ACK 
  101   0.045359    127.0.0.1 → 127.0.0.1    OML 82 OML Radio Carrier(00,00,ff) Change Administrative State Unlocked 
  102   0.046372    127.0.0.1 → 127.0.0.1    OML 82 OML Radio Carrier(00,00,ff) Change Administrative State ACK Unlocked 
  103   0.046480    127.0.0.1 → 127.0.0.1    OML 88 OML Radio Carrier(00,00,ff) State Changed Event Report Disabled OK Unlocked 
  105   0.047801    127.0.0.1 → 127.0.0.1    OML 80 OML Radio Carrier(00,00,ff) Opstart  (!)
  106   0.048047    127.0.0.1 → 127.0.0.1    OML 82 OML Radio Carrier(00,00,ff) Opstart NACK

According to 3GPP TS 12.21, figure 2, we shall send it once, after the "Attribute setting" step. Therefore, the first Opstart (packet 89) is premature, and shall not be sent. The code in osmo-bsc looks correct: we send the Opstart in sw_activ_rep() after sending of both Set Radio Carrier Attributes and Change Administrative State.

case NM_OC_RADIO_CARRIER: {
        /*
         * Locking the radio carrier will make it go
         * offline again and we would come here. The
         * framework should determine that there was
         * no change and avoid recursion.
         *
         * This code is here to make sure that on start
         * a TRX remains locked.
         */
        int rc_state = trx->mo.nm_state.administrative;
        /* Patch ARFCN into radio attribute */
        struct msgb *msgb = nanobts_attr_radio_get(trx->bts, trx);
        abis_nm_set_radio_attr(trx, msgb->data, msgb->len);
        msgb_free(msgb);
        abis_nm_chg_adm_state(trx->bts, foh->obj_class,
                              trx->bts->bts_nr, trx->nr, 0xff,
                              rc_state);
        abis_nm_opstart(trx->bts, foh->obj_class, trx->bts->bts_nr,
                        trx->nr, 0xff);
        break;
}

Related issues

Related to OsmoBTS - Feature #2469: Proper OML MO (managed object) using osmo_fsmResolvedpespin08/29/2017

Actions
Related to OsmoBSC - Feature #2470: Proper OML MO (managed object) using osmo_fsmResolvedpespin08/29/2017

Actions
Actions

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)