diff options
author | Philipp Maier <pmaier@sysmocom.de> | 2019-03-15 10:33:24 +0100 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2019-03-27 07:58:56 +0000 |
commit | 7b96b8832f7a06ca3b128a81e883136b6e55a823 (patch) | |
tree | eb4fb132bf2810c2bf9b4b308ae9b1f6ce1c49d7 /src/osmo-bts-oc2g | |
parent | eac4d23421b38f6538b70023b9899cce50f802e6 (diff) |
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
Diffstat (limited to 'src/osmo-bts-oc2g')
-rw-r--r-- | src/osmo-bts-oc2g/calib_file.c | 37 |
1 files 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 <osmo-bts/gsm_data.h> #include <osmo-bts/logging.h> +#include <osmo-bts/bts.h> #include <nrw/oc2g/oc2g.h> #include <nrw/oc2g/gsml1const.h> @@ -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; } |