From 127a1e07504e555a53072d34e65ca7838c905edb Mon Sep 17 00:00:00 2001 From: Max Date: Thu, 12 Jan 2017 11:37:58 +0100 Subject: Log additional info for radio errors Change-Id: I936a07ce87f05d9c3dc351dc3bdc4f00d78265e0 Related: OS#1553 --- src/bts.cpp | 13 +++++++++++-- src/sba.cpp | 4 +++- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/bts.cpp b/src/bts.cpp index a47d7d87..b4e18e3d 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -909,9 +909,9 @@ void gprs_rlcmac_pdch::add_paging(struct gprs_rlcmac_paging *pag) void gprs_rlcmac_pdch::rcv_control_ack(Packet_Control_Acknowledgement_t *packet, uint32_t fn) { struct gprs_rlcmac_tbf *tbf, *new_tbf; - uint32_t tlli = 0; + uint32_t tlli = packet->TLLI; + GprsMs *ms = bts()->ms_by_tlli(tlli); - tlli = packet->TLLI; tbf = bts()->ul_tbf_by_poll_fn(fn, trx_no(), ts_no); if (!tbf) tbf = bts()->dl_tbf_by_poll_fn(fn, trx_no(), ts_no); @@ -920,6 +920,15 @@ void gprs_rlcmac_pdch::rcv_control_ack(Packet_Control_Acknowledgement_t *packet, LOGP(DRLCMAC, LOGL_NOTICE, "PACKET CONTROL ACK with " "unknown FN=%u TLLI=0x%08x (TRX %d TS %d)\n", fn, tlli, trx_no(), ts_no); + if (ms) + LOGP(DRLCMAC, LOGL_NOTICE, "PACKET CONTROL ACK with " + "unknown TBF corresponds to MS with IMSI %s, TA %d, " + "uTBF (TFI=%d, state=%s), uTBF (TFI=%d, state=%s)\n", + ms->imsi(), ms->ta(), + ms->ul_tbf() ? ms->ul_tbf()->tfi() : 0, + ms->ul_tbf() ? ms->ul_tbf()->state_name() : "None", + ms->dl_tbf() ? ms->dl_tbf()->tfi() : 0, + ms->dl_tbf() ? ms->dl_tbf()->state_name() : "None"); return; } tbf->update_ms(tlli, GPRS_RLCMAC_UL_TBF); diff --git a/src/sba.cpp b/src/sba.cpp index 46c14315..5d75b17e 100644 --- a/src/sba.cpp +++ b/src/sba.cpp @@ -127,7 +127,9 @@ uint32_t SBAController::sched(uint8_t trx, uint8_t ts, uint32_t fn, uint8_t bloc int SBAController::timeout(struct gprs_rlcmac_sba *sba) { - LOGP(DRLCMAC, LOGL_NOTICE, "Poll timeout for SBA\n"); + LOGP(DRLCMAC, LOGL_NOTICE, + "Poll timeout for SBA (TRX=%u, TS=%u, FN=%u, TA=%u)\n", sba->trx_no, + sba->ts_no, sba->fn, sba->ta); m_bts.sba_timedout(); free_sba(sba); return 0; -- cgit v1.2.3