tbf: Log the TFI and TLLI so we can try to figure out more from logs
<0002> tbf.cpp:444 Poll timeout for DL TBF=0
<0002> tbf.cpp:513 - Timeout for polling PACKET DOWNLINK ACK.
<0002> tbf.cpp:688 - Assignment was on PACCH
<0002> tbf.cpp:694 - Downlink ACK was received
<0008> gprs_bssgp_pcu.cpp:154 LLC [SGSN -> PCU] = TLLI: 0xd6942c78 IMSI: 274080000004765 len: 506
<0002> bts.cpp:974 PACKET DOWNLINK ACK with unknown FN=2213128 TFI=0 (TRX 0 TS 6)
diff --git a/src/bts.cpp b/src/bts.cpp
index e7bd4a8..9235857 100644
--- a/src/bts.cpp
+++ b/src/bts.cpp
@@ -942,7 +942,7 @@
GPRS_RLCMAC_UL_TBF);
if (!tbf) {
LOGP(DRLCMAC, LOGL_ERROR, "Got ACK, but UL "
- "TBF is gone\n");
+ "TBF is gone TLLI=0x%08x\n", tlli);
return;
}
tbf_new_state(tbf, GPRS_RLCMAC_FLOW);
diff --git a/src/tbf.cpp b/src/tbf.cpp
index d66c738..daf437b 100644
--- a/src/tbf.cpp
+++ b/src/tbf.cpp
@@ -643,12 +643,12 @@
case 0: /* assignment */
if ((state_flags & (1 << GPRS_RLCMAC_FLAG_PACCH))) {
if (state_is(GPRS_RLCMAC_ASSIGN)) {
- LOGP(DRLCMAC, LOGL_NOTICE, "Releasing due to "
- "PACCH assignment timeout.\n");
+ LOGP(DRLCMAC, LOGL_NOTICE, "TFI=%d releasing due to "
+ "PACCH assignment timeout.\n", tfi);
tbf_free(this);
} else
- LOGP(DRLCMAC, LOGL_ERROR, "Error: TBF is not "
- "in assign state\n");
+ LOGP(DRLCMAC, LOGL_ERROR, "Error: TBF TFI=%d is not "
+ "in assign state\n", tfi);
}
if ((state_flags & (1 << GPRS_RLCMAC_FLAG_CCCH))) {
/* change state to FLOW, so scheduler will start transmission */
@@ -657,26 +657,28 @@
tbf_new_state(this, GPRS_RLCMAC_FLOW);
tbf_assign_control_ts(this);
} else
- LOGP(DRLCMAC, LOGL_NOTICE, "Continue flow after "
- "IMM.ASS confirm\n");
+ LOGP(DRLCMAC, LOGL_NOTICE, "TFI=%d Continue flow after "
+ "IMM.ASS confirm\n", tfi);
}
break;
case 3169:
case 3191:
case 3195:
- LOGP(DRLCMAC, LOGL_NOTICE, "TBF T%d timeout during "
- "transsmission\n", T);
+ LOGP(DRLCMAC, LOGL_NOTICE, "TBF TFI=%d T%d timeout during "
+ "transsmission\n", tfi, T);
rlcmac_diag();
/* fall through */
case 3193:
if (T == 3193)
debug_diagram(bts, diag, "T3193 timeout");
- LOGP(DRLCMAC, LOGL_DEBUG, "TBF will be freed due to timeout\n");
+ LOGP(DRLCMAC, LOGL_DEBUG,
+ "TBF TFI=%d will be freed due to timeout\n", tfi);
/* free TBF */
tbf_free(this);
break;
default:
- LOGP(DRLCMAC, LOGL_ERROR, "Timer expired in unknown mode: %u\n", T);
+ LOGP(DRLCMAC, LOGL_ERROR,
+ "TFI=%d Timer expired in unknown mode: %u\n", tfi, T);
}
}