On Sun, Oct 27, 2013 at 01:33:13PM +0100, Holger Hans Peter Freyther wrote:
Hi,
<0007> gprs_rlcmac_meas.cpp:103 UL RSSI of
TLLI=0x88661bc6: -67 dBm
<0002> bts.cpp:945 Got ACK, but UL TBF is gone TLLI=0xe512eba3
<0007> gprs_rlcmac_meas.cpp:158 DL packet loss of IMSI=274080000004765 /
TLLI=0xe512eba3: 0%
<0002> tbf.cpp:668 TBF TFI=0 TLLI=0x88661bc6 T3169 timeout during transsmission
<0002> tbf.cpp:690 - Assignment was on PACCH
<0002> tbf.cpp:694 - No uplink data received yet
this is from a routing area update (with some printf debugging):
TBF(TFI=0 TLLI=0xb68154e6 DIR=DL) TLLLI changed...... 0xb68154e6->0xc782d1de
<0002> tbf.cpp:1626 TBF(TFI=0 TLLI=0xb68154e6 DIR=DL) changing tlli to
TLLI=0xc782d1de
<0002> bts.cpp:941 Got ACK, but UL TBF is gone TLLI=0xc782d1de
<0007> gprs_rlcmac_meas.cpp:158 DL packet loss of IMSI=274080000004765 /
TLLI=0xc782d1de: 0%
<0002> tbf.cpp:664 TBF(TFI=0 TLLI=0xb68154e6 DIR=UL) T3169 timeout during
transsmission
<0002> tbf.cpp:686 - Assignment was on PACCH
<0002> tbf.cpp:690 - No uplink data received yet
So the DL TLLI has been changed and then we get an ACK for a UL tbf
with the new TLLI and can't find it. And run into a timeout.
I have applied this change:
diff --git a/src/tbf.cpp b/src/tbf.cpp
index fac5aaf..19bb83c 100644
--- a/src/tbf.cpp
+++ b/src/tbf.cpp
@@ -1618,6 +1618,17 @@ void gprs_rlcmac_tbf::update_tlli(uint32_t tlli)
if (tlli == m_tlli)
return;
+ printf("%s TLLLI changed...... 0x%08x->0x%08x\n",
+ tbf_name(this), m_tlli, tlli);
+
+ if (direction == GPRS_RLCMAC_DL_TBF) {
+ gprs_rlcmac_tbf *ul_tbf;
+ ul_tbf = bts->tbf_by_tlli(m_tlli, GPRS_RLCMAC_UL_TBF);
+
+ if (ul_tbf)
+ ul_tbf->m_tlli = tlli;
+ }
+
#warning "TODO.. find the DL/UL opposite and update the TLLI too"
LOGP(DRLCMAC, LOGL_NOTICE, "%s changing tlli to TLLI=0x%08x\n",
tbf_name(this), tlli);
and now the "Attach Complete" comes immediately after the Attach Accept.
I will push something like this but we really need a better way to link
the DL/UL TBFs together.
holger
--
- Holger Freyther <hfreyther(a)sysmocom.de>
http://www.sysmocom.de/
=======================================================================
* sysmocom - systems for mobile communications GmbH
* Schivelbeiner Str. 5
* 10439 Berlin, Germany
* Sitz / Registered office: Berlin, HRB 134158 B
* Geschaeftsfuehrer / Managing Directors: Holger Freyther, Harald Welte