On 04/30/2012 04:26 PM, Frank Maas wrote:
Hi,
I might be horribly wrong, but there is something I
did not grasp in
gprs_llc.c. So I altered it, but since I am not sure I share it here...
- llme->tlli = tlli;
+ llme->tlli = tlli_foreign2local(tlli);
llme->old_tlli = 0xffffffff;
llme->state = GPRS_LLMS_UNASSIGNED;
I think I once carried a similar patch in one of the branches. The way we
wanted to avoid this issue is that whoever transmits needs to select the
llme/lle. I think my code set old_tlli to the foreign or such but I dropped it
(and can't remember why it wasn't needed anymore).
This will not be the last issue you will experience with GPRS. Both the
nanoBTSs implementation and our SGSN are not very stable. Some of the known
GPRS issues include:
-
http://openbsc.osmocom.org/trac/ticket/55 (crash)
-
http://openbsc.osmocom.org/trac/ticket/44 (correctness)
-
http://openbsc.osmocom.org/trac/ticket/43 (leak)
There is also the 'santos' branch of someone that forked our code and has done
a bit of bugfixing.