From 7b96b8832f7a06ca3b128a81e883136b6e55a823 Mon Sep 17 00:00:00 2001 From: Philipp Maier Date: Fri, 15 Mar 2019 10:33:24 +0100 Subject: oc2g: generate failure event report in case of bad calibration When the TX/RX calibration files can not be loaded a failure event report should be sent to the BSC. Lets send a failure event report when calbration data is either bad or can not be loaded (see also remvoed TODOs). Change-Id: I3318470518b34807a443f7cb78c7091b4a3d4481 Related OS#3823 --- src/osmo-bts-oc2g/calib_file.c | 37 +++++++------------------------------ 1 file changed, 7 insertions(+), 30 deletions(-) diff --git a/src/osmo-bts-oc2g/calib_file.c b/src/osmo-bts-oc2g/calib_file.c index 49768480..ed7aa168 100644 --- a/src/osmo-bts-oc2g/calib_file.c +++ b/src/osmo-bts-oc2g/calib_file.c @@ -34,6 +34,7 @@ #include #include +#include #include #include @@ -133,16 +134,8 @@ static int calib_file_open(struct oc2gl1_hdl *fl1h, st->fp = fopen(fname, "rb"); if (!st->fp) { LOGP(DL1C, LOGL_NOTICE, "Failed to open '%s' for calibration data.\n", fname); - - /* TODO (oramadan): Fix OML alarms - if( fl1h->phy_inst->trx ){ - fl1h->phy_inst->trx->mo.obj_inst.trx_nr = fl1h->phy_inst->trx->nr; - - alarm_sig_data.mo = &fl1h->phy_inst->trx->mo; - alarm_sig_data.add_text = (char*)&fname[0]; - osmo_signal_dispatch(SS_NM, S_NM_OML_BTS_FAIL_OPEN_CALIB_ALARM, &alarm_sig_data); - } - */ + oml_tx_failure_event_rep(&fl1h->phy_inst->trx->mo, OSMO_EVT_WARN_SW_WARN, + "Failed to open '%s' for calibration data", fname); return -1; } return 0; @@ -228,17 +221,8 @@ static int calib_file_send(struct oc2gl1_hdl *fl1h, rc = calib_verify(fl1h, desc); if (rc < 0) { LOGP(DL1C, LOGL_NOTICE,"Verify L1 calibration table %s -> failed (%d)\n", desc->fname, rc); - - /* TODO (oramadan): Fix OML alarms - if (fl1h->phy_inst->trx) { - fl1h->phy_inst->trx->mo.obj_inst.trx_nr = fl1h->phy_inst->trx->nr; - - alarm_sig_data.mo = &fl1h->phy_inst->trx->mo; - alarm_sig_data.add_text = (char*)&desc->fname[0]; - memcpy(alarm_sig_data.spare, &rc, sizeof(int)); - osmo_signal_dispatch(SS_NM, S_NM_OML_BTS_FAIL_VERIFY_CALIB_ALARM, &alarm_sig_data); - } - */ + oml_tx_failure_event_rep(&fl1h->phy_inst->trx->mo, OSMO_EVT_WARN_SW_WARN, + "Verify L1 calibration table %s -> failed (%d)", desc->fname, rc); st->last_file_idx = get_next_calib_file_idx(fl1h, st->last_file_idx); @@ -294,15 +278,8 @@ int calib_load(struct oc2gl1_hdl *fl1h) if (!calib_path) { LOGP(DL1C, LOGL_NOTICE, "Calibration file path not specified\n"); - - /* TODO (oramadan): Fix OML alarms - if( fl1h->phy_inst->trx ){ - fl1h->phy_inst->trx->mo.obj_inst.trx_nr = fl1h->phy_inst->trx->nr; - - alarm_sig_data.mo = &fl1h->phy_inst->trx->mo; - osmo_signal_dispatch(SS_NM, S_NM_OML_BTS_NO_CALIB_PATH_ALARM, &alarm_sig_data); - } - */ + oml_tx_failure_event_rep(&fl1h->phy_inst->trx->mo, OSMO_EVT_WARN_SW_WARN, + "Calibration file path not specified"); return -1; } -- cgit v1.2.3