This patch is the test suite modification for the fix encoding of
padding bits. New test vectors have been added both in downlink
and uplink.
---
tests/rlcmac/RLCMACTest.cpp | 7 +++++--
tests/rlcmac/RLCMACTest.ok | 32 ++++++++++++++++++++++++++++++++
2 files changed, 37 insertions(+), 2 deletions(-)
This patch is for fixing encoding of padding bits according to the
3gpp spec 44.060 section 11, wherein it shall always start with 0
bit followed with spare padding bits.
During introduction of basic EGPRS feature new hex dump messages
from a different working network log were used in Unit test. These
exposed the issue of incorrect handling of padding bits encoding
in osmo-pcu.
Corrections in the existing test vector of rlcmac is also updated.
In testsuite tbf appropriate corrections for the Tbftest.err is
also done.
---
src/csn1.cpp | 7 ++++++-
tests/rlcmac/RLCMACTest.cpp | 6 +++---
tests/rlcmac/RLCMACTest.ok | 18 +++++++++---------
tests/tbf/TbfTest.err | 18 +++++++++---------
4 files changed, 27 insertions(+), 22 deletions(-)
This patch is the test suite modification for the fix encoding of
padding bits. New test vectors have been added both in downlink
and uplink.
---
tests/rlcmac/RLCMACTest.cpp | 7 +++++--
tests/rlcmac/RLCMACTest.ok | 32 ++++++++++++++++++++++++++++++++
2 files changed, 37 insertions(+), 2 deletions(-)
From: Holger Hans Peter Freyther <holger(a)moiji-mobile.com>
---
TODO | 2 ++
1 file changed, 2 insertions(+)
diff --git a/TODO b/TODO
index a449398..97500c8 100644
--- a/TODO
+++ b/TODO
@@ -1,4 +1,6 @@
* Make the TBF ul/dl list per BTS
+
+
* Make the SBA per BTS
* Make the tbf point to the BTS so we can kill plenty of parameters
* Group more into in classes.. remove bts pointers.
--
2.6.3
From: Holger Hans Peter Freyther <holger(a)moiji-mobile.com>
---
TODO | 1 +
1 file changed, 1 insertion(+)
diff --git a/TODO b/TODO
index a449398..b154940 100644
--- a/TODO
+++ b/TODO
@@ -1,3 +1,4 @@
+
* Make the TBF ul/dl list per BTS
* Make the SBA per BTS
* Make the tbf point to the BTS so we can kill plenty of parameters
--
2.6.3
From: Holger Hans Peter Freyther <holger(a)moiji-mobile.com>
---
TODO | 1 +
1 file changed, 1 insertion(+)
diff --git a/TODO b/TODO
index a449398..b154940 100644
--- a/TODO
+++ b/TODO
@@ -1,3 +1,4 @@
+
* Make the TBF ul/dl list per BTS
* Make the SBA per BTS
* Make the tbf point to the BTS so we can kill plenty of parameters
--
2.6.3
Hello,
We are starting to integrate and test NURAN L1 1.0 with osmo-bts / osmo-pcu at Radisys.
We downloaded latest osmo-bts master branch. When we checked the code, we see that NURAN specific code is present in osmo-bts/src/osmo-bts-litecell15. When we tried to compile osmo-bts/src/osmo-bts-litecell15 , we see the following error
nrw/litecell15/litecell15.h: No such file or directory
Let us know if these files are missing or we are missing some steps.
Thanks and regards
Prasad
This patch is for fixing encoding of padding bits according to the
3gpp spec 44.060 section 11, wherein it shall always start with 0
bit followed with spare padding bits.
During introduction of basic EGPRS feature new hex dump messages
from a different working network log were used in Unit test. These
exposed the issue of incorrect handling of padding bits encoding
in osmo-pcu.
Corrections in the existing test vector and new hex dump vectors
shall be submitted in a separate patch. If only this patch is
applied rlcmac testsuite will fail for few vectors.
---
src/csn1.cpp | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/csn1.cpp b/src/csn1.cpp
index 54cc411..82bf17f 100644
--- a/src/csn1.cpp
+++ b/src/csn1.cpp
@@ -2400,7 +2400,12 @@ gint16 csnStreamEncoder(csnStream_t* ar, const CSN_DESCR* pDescr, bitvec *vector
guint8 bits_to_handle = remaining_bits_len%8;
if (bits_to_handle > 0)
{
- guint8 fl = filler&(0xff>>(8-bits_to_handle));
+ /* section 11 of 44.060
+ * The padding bits may be the 'null' string. Otherwise, the
+ * padding bits starts with bit '0', followed by 'spare padding'
+ * < padding bits > ::= { null | 0 < spare padding > ! < Ignore : 1 bit** = < no string > > } ;
+ */
+ guint8 fl = filler&(0xff>>(8-bits_to_handle + 1));
bitvec_write_field(vector, writeIndex, fl, bits_to_handle);
LOGPC(DCSN1, LOGL_NOTICE, "%u|", fl);
remaining_bits_len -= bits_to_handle;
--
1.7.9.5
Hello All,
This mail is to highlight the necessity of the "[PATCH] Fix encoding of padding bits to start with 0 bit"
In the latest master osmo-pcu 0.2.752-173e, the identified bug in encoding of padding bits is generating incorrect Control message.
Example of an incorrect Packet Downlink Assignment message from the current TbfTest.err log is @ line number 3433
Sending data request: trx=0 ts=4 sapi=5 arfcn=0 fn=0 block=0 data=4f 08 20 00 44 02 00 02 08 04 00 c0 0b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b
Incorrect encoding has resulted in the analyzer interpreting PFI present with value 21.
Whereas with the fix for encoding padding bits result is
Sending data request: trx=0 ts=4 sapi=5 arfcn=0 fn=0 block=0 data=4f 08 20 00 44 02 00 02 08 04 00 c0 03 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b
Output of the message analyzer(http://www.3gpp-message-analyser.com/) is attached in the mail.
Please review the patch and let us know procedure for a merge to master.
Regards
Saurabh
This patch is the test suite modification for the fix encoding of
padding bits. New test vectors have been added both in downlink
and uplink.
Correction in existing test vector is also done.
---
tests/rlcmac/RLCMACTest.cpp | 13 ++++++-----
tests/rlcmac/RLCMACTest.ok | 50 +++++++++++++++++++++++++++++++++++--------
2 files changed, 49 insertions(+), 14 deletions(-)
Dear all,
some of you may have already seen it on the RSS feed, on Twitter or on
planet.osmocom.org[1]: sysmocom has decided that we will re-release our
existing formerly sysmocom-internal User Manuals and VTY reference
manuals under GNU GFDL.
The hope is that with better documentation we can enable more people to
use Osmocom software more easily, leading to more adoption.
While those manuals are far from being complete or perfect, I had spent
a lot of time in February on further polishing them for the upcoming
public release. I do believe they provide a better stasting point than
what all of what we had in the wiki (whether old trac or new redmine).
The manuals are written in asciidoc[2], with the occasional use of
mscgen[3] and graphviz[4], which I believe together are a pretty good
set of tools to very efficiently and productively work on documentation,
whilst focussing on actual content and not on formatting/syntax like
when using docbook-xml or LaTeX.
The osmo-gsm-manuals.git repository is pulled by our jenkins
installation, which then builds the PDF manuals and pushes them to
http://ftp.osmocom.org/docs/latest/
I seriously do hope that we will receive improvements and extensions for
the manuals. As the asciidoc source is in yet another git repo, sending
patches is as easy as it gets. Holger always states nobody ever
contributes to manuals, and I would love to prove him wrong ;)
In terms of overlapping information in the wiki and in the manuals: I'm
in favor (and in the process) of removing outdated old wiki command line
reference and VTY reference sections, and simply referring to the
manuals instead.
Please do read through the manuals and do send patches, whether it's a
spelling fix, improved wording, adding missing information or fixing
actual technical mistakes.
In tems of further dccumentation improvements, Holger has volunteered to
ensure that the Doxygen API of libosmocore is also automatically
generated+pushed in a similar fashion to make it publicly web-visible.
I'd also encurage everyone to contribute patches to covert those parts
of libosmocore.git that don't hve doxygen annotation yet.
Thanks in advance!
Regards,
Harald
[1] http://projects.osmocom.org/news/47
[2] http://asciidoc.org/
[3] http://www.mcternan.me.uk/mscgen/
[4] http://www.graphviz.org/
--
- Harald Welte <laforge(a)gnumonks.org> http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)
Hello All,
In the latest master, Unit test for TBF is failing. Please find the attached tests/testsuite.log with this mail.
I was working on resubmission of padding encoding patch wherein this failure was noticed.
Regards
Saurabh
Hello All,
We are currently working on providing the support of Fast Ack/Nack Reporting(FANR) feature in OsmoPCU.
We have Identified and listed major changes in OsmoPCU as below.
1) Introduction of new header types in UL/DL
a. Mainly due to presence of CES/P and PANI fields
2) Following Control Messages changes
a. Packet Downlink Assignment
b. Packet Uplink Assignment
c. EGPRS Packet Channel Request
3) MS Radio Capability
a. Extraction of Reduced Latency Capability
4) VTY interface changes to enable/disable the feature
5) Downlink PAN Handling
6) Uplink PAN Handling
7) RLC window modification
a. Introduction of state variable to manage REPORTED and UNREPORTED states in UL direction
b. Introduction of new state TENTATIVE_ACK in DL direction
8) TBF flow changes
9) Handling of Tentative Ack blocks during retransmission
Note: There may be impacts on osmo-bts. But the impacts has not been considered yet.
We plan to have a separate branch from master for this development.
Please let us know your valuable feedback.
Thanks,
Aravind Sirsikar
Hello All,
We are currently working on providing the support of 11 bit RACH support in osmoPCU as mentioned in Bug #1548 at https://projects.osmocom.org/projects/osmopcu/issues
We have identified impacts to be in osmo-pcu, osmo-bts and osmocore
Main changes identified are
osmo-pcu:
* In file pcuif_proto.h, modify "uint8_t ra" to "uint16_t ra" in struct gsm_pcu_if_rach_ind
* Corresponding function prototypes due to change in data type
* 11 bit RACH handling in bts.cpp
* Changes in encoding.cpp to support immediate assignment with EGPRS allocation
osmocore:
* In file l1sap.h, modify "uint8_t ra" to "uint16_t ra" in structure "struct ph_rach_ind_param"
* Function prototype changes
osmobts:
* Function prototype changes due to change in data type
Please let us know your valuable feedback.
We plan to have a separate branch from master for this development. Please let us know the procedure to do this.
Regards
Prasad
Hello,
Clarification required on Downlink window state GPRS_RLC_DL_BSN_RESEND in OSMO-PCU
Could you please let us know the significance of the state GPRS_RLC_DL_BSN_RESEND while handling downlink window.
Our understanding is that state GPRS_RLC_DL_BSN_RESEND is used in case of retransmission of UNACKED blocks, which can be done without having GPRS_RLC_DL_BSN_RESEND state.
Kindly let us know if we are missing something in our understanding. This will help us in enhancing the state variable handling in FANR (FAST ACK NACK REPORTING) feature.
We are planning to introduce new state (i.e GPRS_RLC_DL_BSN_TENTATIVE_ACK ) as part of FANR feature implementation.
Thanks & Regards,
Sangamesh
Thank you very much!!
I will have some work getting through this, but I recon I'll have some more
questions later.
Again thank you
2016-03-01 12:39 GMT+01:00 Neels Hofmeyr <nhofmeyr(a)sysmocom.de>:
> On Tue, Mar 01, 2016 at 11:12:01AM +0100, Terje Kristoffer Hybbestad Skow
> wrote:
> > The "logfile /tmp/foo" did gave an error message saying "unrecognized
> > option".
>
> It seems the logfile option was added on 2014-03-23 with commit
> 9c0ff4fafe4276396125a52c89d36967566fe08c. It may make sense if you build
> your osmocom stack from the git sources to benefit from the latest fixes.
>
> See http://git.osmocom.org, specifically you'd probably want to clone and
> build
>
> git://git.osmocom.org/libosmocore
> git://git.osmocom.org/openggsn
>
> The build steps being for example
>
> autoreconf -fi
> ./configure
> make
> sudo make install
>
>
> > I'm going to look at DNS packets going through a GGSN to try and find
> ways
> > to detect DNS tunnels, do you have any recommendations how to do this?
> > I do not have the time or resources to use real UE's so I hope to
> simulate
> > it on a computer using VMs or something like that.
>
> > I have looked at this: http://openbsc.osmocom.org/trac/wiki/OpenBSC_GPRS
> as
>
> The BTS is for communicating with a phone over the air interface. Abis and
> osmo-nitb are used for voice calls only. The SGSN is needed for real
> networks,
> you should be fine with the sgsnemu. So all you need is sgsnemu and
> openggsn.
>
> You want to figure out how to use the sgsnemu, starting with a route into
> the
> tunnel device that sgsnemu opens up. So you need to look at the 'ip route'
> commands (if you're on linux). I guess you won't need VMs; granted, it
> might
> make it easier to avoid circular routes (to IP addresses that should only
> be
> seen on the GGSN side), but certainly not a necessary prerequisite.
>
> I tried to ping through the sgsnemu tunnel once but saw, as I mentioned,
> that
> the GGSN thwarts GTP messages without a proper context being created
> first. It
> shouldn't be too hard, but I haven't investigated further. So you'd want to
> understand the GTP Ctrl & User messages to setup a PGP context (TEIs and
> stuff), and figure out how sgsnemu might make your life easier in that
> regard.
> You probably want to read ETSI 29.060 to figure out GTP:
>
> http://www.etsi.org/deliver/etsi_ts/129000_129099/129060/03.19.00_60/ts_129…
> You may find attached pcap file interesting (open in wireshark and note
> that
> the DNS queries are transmitted over GTP between SGSN and GGSN even though
> wireshark tends to show only the DNS and src/dest enclosed in the GTP).
> And again, you may look at
> http://git.osmocom.org/openbsc/tree/openbsc/tests/gtphub/gtphub_test.c
> about simplistic code examples of composing a PGP context conversation.
>
> If you'd like any more answers to questions you didn't ask ;)
> just give us a shout...
>
> ~Neels
>
> --
> - Neels Hofmeyr <nhofmeyr(a)sysmocom.de> http://www.sysmocom.de/
> =======================================================================
> * sysmocom - systems for mobile communications GmbH
> * Alt-Moabit 93
> * 10559 Berlin, Germany
> * Sitz / Registered office: Berlin, HRB 134158 B
> * Geschäftsführer / Managing Directors: Holger Freyther, Harald Welte
>
Thank you Neels!
The "logfile /tmp/foo" did gave an error message saying "unrecognized
option".
I'm going to look at DNS packets going through a GGSN to try and find ways
to detect DNS tunnels, do you have any recommendations how to do this?
I do not have the time or resources to use real UE's so I hope to simulate
it on a computer using VMs or something like that.
I have looked at this: http://openbsc.osmocom.org/trac/wiki/OpenBSC_GPRS as
an idea of how to set up the testbed, but I do not know which of the nodes
I really need. Do you have any idea?
Regards
Terje Kristoffer Skow
2016-02-29 18:50 GMT+01:00 Neels Hofmeyr <nhofmeyr(a)sysmocom.de>:
> Hey Terje,
>
> On Mon, Feb 29, 2016 at 12:46:30PM +0100, Terje Kristoffer Hybbestad Skow
> wrote:
> > Does this mailinglist also regard openGGSN?
>
> Yes, the Osmocom community has adopted maintenance of OpenGGSN, even
> though it
> wasn't written "here".
>
> > If so do I have some questions. I have problem setting it up correctly.
>
> To test the basic openggsn I used to do something like this:
>
>
> sudo -s
>
> LD_LIBRARY_PATH=/usr/local/lib ./git/openggsn/ggsn/ggsn -f -c
> ./localggsn.conf &
>
> ./git/openggsn/sgsnemu/sgsnemu --createif -l 127.0.0.1 -r 127.0.0.2
>
>
> With localggsn.conf as
>
> listen 127.0.0.2
> net 127.0.0.0/24
> pcodns1 8.8.8.8
> logfile /tmp/foo
>
>
> The above works on linux because it allows implicitly creating the
> 127.*.*.*
> interfaces. On other OSes, you'd have to create those first on one of your
> network interfaces.
>
> See http://git.osmocom.org/openggsn/tree/examples/ggsn.conf for more
> config
> options.
>
> I'd recommend to use wireshark to see what packets are transmitted back and
> forth, if you're not already doing that.
>
> I've "recently" implemented GTPhub, which relays GTP, e.g. through a NAT.
> If
> that's of interest too, call again, and I can give you an example config
> for
> testing sgsnemu -> gtphub -> openggsn, too.
>
> To actually relay data through the tunnel interface that is created, AFAIK
> you
> first need to send a Create PDP Context message to the GGSN. Maybe read
> http://git.osmocom.org/openbsc/tree/openbsc/tests/gtphub/gtphub_test.c
> For testing real data, I used an actual sysmoBTS with a "special" SIM card
> instead of sgsnemu, because here in the lab that was easier... :P
>
> Hope to have helped :)
>
> ~Neels
>
>
>
> --
> - Neels Hofmeyr <nhofmeyr(a)sysmocom.de> http://www.sysmocom.de/
> =======================================================================
> * sysmocom - systems for mobile communications GmbH
> * Alt-Moabit 93
> * 10559 Berlin, Germany
> * Sitz / Registered office: Berlin, HRB 134158 B
> * Geschäftsführer / Managing Directors: Holger Freyther, Harald Welte
>
Hello Max,
Though I have not analyzed the missing UL poll response, few of my observations from the pcap file attached is mentioned below
1. There seems to be difference in FN UL versus DL being processed at any given time by the order of approx. 10 FNs, example given below
a. Packet 7174 , FN 1137361 in DL @ 15:33:22.511809393
b. Packet 7190, FN 1137361 in UL @ 15:33:22.559427972
c. From above example difference in time is 48milliseconds or approx.. 10FN duration
2. For processing DL timeslots 2 to 6 at any given DL FN time taken seems to be approx. 3milliseconds, example given below
a. Packet 7174 , FN 1137361 in DL @ 15:33:22.511809393 for TS 2
b. Packet 7178, FN 1137361 in DL @ 15:33:22.514310379 for TS 6
Please let me know if these are known behavior in your integration environment ?
These time variations may have an impact on the poll response behavior from MS as well.
Regards
Saurabh
-----Original Message-----
From: Max [mailto:msuraev@sysmocom.de]
Sent: Thursday, February 25, 2016 3:58 PM
To: osmocom-net-gprs(a)lists.osmocom.org; Saurabh Sharan <Saurabh.Sharan(a)radisys.com>
Subject: PCU scheduling and PACCH timeout question
Hello.
I'm trying to debug issue with current OsmoPCU master when some basebands ignore polling requests.
The debug output from RLCMAC layer and corresponding .pcap files are attached.
The issue appears somewhere after line 112 in debug.log The corresponding packet in pcu.pcapng is 6866
After receiving PACKET_CONTROL_ACK from phone we're trying to schedule polling at FN 1137123 (see packet 6869 in pcap) and than at FN 1137127 (packet 6874) which subsequently fails.
This seems suspiciously close but I have not found in the spec yet if this is legitimate thing to do.
There are several other occurrences like that in both log and pcap.
Have you experienced something like this? Do you have an idea why only some basebands are affected while others work fine?
--
Max Suraev <msuraev(a)sysmocom.de<mailto:msuraev@sysmocom.de>> http://www.sysmocom.de/ =======================================================================
* sysmocom - systems for mobile communications GmbH
* Alt-Moabit 93
* 10559 Berlin, Germany
* Sitz / Registered office: Berlin, HRB 134158 B
* Geschaeftsfuehrer / Managing Directors: Holger Freyther, Harald Welte
Hi
Does this mailinglist also regard openGGSN?
If so do I have some questions. I have problem setting it up correctly.
Does anyone have a configuration file for both ggsn and sgsnemu that works?
Which flags are necessary to use and what should they be set to? I
understand it can differ based on IP addresses and similar, but can someone
please help? I'm using this program for my master thesis.
Regards
Terje Kristoffer H. Skow
Hello All,
We are currently working on providing the support of 11 bit RACH support in osmoPCU as mentioned in Bug #1548 at https://projects.osmocom.org/projects/osmopcu/issues
We have identified impacts to be in osmo-pcu, osmo-bts and osmocore
Main changes identified are
osmo-pcu:
* In file pcuif_proto.h, modify "uint8_t ra" to "uint16_t ra" in struct gsm_pcu_if_rach_ind
* Corresponding function prototypes due to change in data type
* 11 bit RACH handling in bts.cpp
* Changes in encoding.cpp to support immediate assignment with EGPRS allocation
osmocore:
* In file l1sap.h, modify "uint8_t ra" to "uint16_t ra" in structure "struct ph_rach_ind_param"
* Function prototype changes
osmobts:
* Function prototype changes due to change in data type
Please let us know your valuable feedback.
We plan to have a separate branch from master for this development. Please let us know the procedure to do this.
Regards
Prasad
Hello All,
We are currently working on providing the support of 11 bit RACH support in osmoPCU as mentioned in Bug #1548 at https://projects.osmocom.org/projects/osmopcu/issues
We have identified impacts to be in osmo-pcu, osmo-bts and osmocore
Main changes identified are
osmo-pcu:
* In file pcuif_proto.h, modify "uint8_t ra" to "uint16_t ra" in struct gsm_pcu_if_rach_ind
* Corresponding function prototypes due to change in data type
* 11 bit RACH handling in bts.cpp
* Changes in encoding.cpp to support immediate assignment with EGPRS allocation
osmocore:
* In file l1sap.h, modify "uint8_t ra" to "uint16_t ra" in structure "struct ph_rach_ind_param"
* Function prototype changes
osmobts:
* Function prototype changes due to change in data type
Please let us know your valuable feedback.
We plan to have a separate branch from master for this development. Please let us know the procedure to do this.
Regards
Prasad
Hello.
I'm trying to debug issue with current OsmoPCU master when some
basebands ignore polling requests.
The debug output from RLCMAC layer and corresponding .pcap files are
attached to ticket http://projects.osmocom.org/issues/1524
The issue appears somewhere after line 112 in debug.log
The corresponding packet in pcu.pcapng is 6866
After receiving PACKET_CONTROL_ACK from phone we're trying to schedule
polling at FN 1137123 (see packet 6869 in pcap) and than at FN 1137127
(packet 6874) which subsequently fails.
This seems suspiciously close but I have not found in the spec yet if
this is legitimate thing to do.
There are several other occurrences like that in both log and pcap.
Have you experienced something like this? Do you have an idea why only
some basebands are affected while others work fine?
--
Max Suraev <msuraev(a)sysmocom.de> http://www.sysmocom.de/
=======================================================================
* sysmocom - systems for mobile communications GmbH
* Alt-Moabit 93
* 10559 Berlin, Germany
* Sitz / Registered office: Berlin, HRB 134158 B
* Geschaeftsfuehrer / Managing Directors: Holger Freyther, Harald Welte
Hello All,
We are currently working on providing the support of FANR in osmoPCU. We are in design phase and will share the design details soon.
Please provide your valuable feedback on the design.
Regards
Saurabh
Hello All,
We would like to provide the information that since Dec-2015 we have been working on adding the EGPRS support in OsmoPCU. We have provided the support for Basic EGPRS feature, details of which explained below.
We would like to make the code available in Public domain so that we receive the feedback from all and upon approval would contribute to the master branch.
Following are the features added:
1) EGPRS MCS 1 to MCS 9 coding scheme support
2) Radio Link Control Block Structure Updates
3) MCS Selection
4) Transmission and reception data flows for MCS1 to MCS9
5) EGPRS incremental redundancy (IR) mode, RLC function
6) EGPRS Window selection
7) RLC Re-segmentation and split block support
8) RLC retransmission based on coding families A, A', B and C
We have taken interim rebase from the master during Jan-2016.
Regards,
Saurabh
Hi everybody,
we have just done the first download of an Internet page using the
current bleeding EDGE development version of the OSMO-PCU. Supported are
MCS-1 to MCS-9 in downlink and MCS-1 to MCS-4 in uplink direction.
The download of 'www.osmocom.org' has been documented in a PCAP file and
can be downloaded from
https://openbsc.osmocom.org/trac/wiki/osmo-pcu
To decode the data blocks, an experimental patch for the gsmtab
dissector is also available from there.
Cheers
Jacob
--
- Jacob Erlbeck <jerlbeck(a)sysmocom.de> http://www.sysmocom.de/
=======================================================================
* sysmocom - systems for mobile communications GmbH
* Alt-Moabit 93
* 10559 Berlin, Germany
* Sitz / Registered office: Berlin, HRB 134158 B
* Geschaeftsfuehrer / Managing Directors: Holger Freyther, Harald Welte
From: Daniel Willmann <daniel(a)totalueberwachung.de>
Hello,
it seems PDP context updates was never really used/tested to an Update PDP
context would not go through. The following patches fix that (at least for
gtpv1).
Regards
Daniel
Daniel Willmann (3):
gtp: Pass pdp along when calling gtp_req() in gtp_update_context()
gtp: Make gtp_update_pdp_conf() work for gtp0 and gtp1 connections
gtp: Handle gtpv1 in gtp_update_pdp_conf() correctly
gtp/gtp.c | 162 +++++++++++++++++++++++++++++++++++++++++++++-----------------
1 file changed, 118 insertions(+), 44 deletions(-)
--
2.1.4
--
- Daniel Willmann <dwillmann(a)sysmocom.de> http://www.sysmocom.de/
=======================================================================
* sysmocom - systems for mobile communications GmbH
* Alt-Moabit 93
* 10559 Berlin, Germany
* Sitz / Registered office: Berlin, HRB 134158 B
* Geschaeftsfuehrer / Managing Directors: Holger Freyther, Harald Welte
Several mails in mailing lists talks about OSMO STP for connecting between
two points with sctp and m3ua.
I cannot find the OSMO STP code anywhere?
Is it public source code?
when trying to install on clean debian 8 I get errors.
This is my bash:
./configure
bash: ./configure: No such file or directory
running alcohol && automake && autoheader && autoconf also gives lots of
errors.
How can I install openggsn?
The write_queue is designed to have a maximum amount of pending
messages and will refuse to take new messages when it has been
reached. The caller can decide if it wants to flush the queue
and add the message again, create a log. But in all cases the
ownership of the msgb has not been transferred. Fix the potential
memory leak in the failure situation.
---
src/openbts_sock.cpp | 5 ++++-
src/sysmo_l1_if.c | 10 ++++++++--
2 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/src/openbts_sock.cpp b/src/openbts_sock.cpp
index 2d9cae4..5e6f16c 100644
--- a/src/openbts_sock.cpp
+++ b/src/openbts_sock.cpp
@@ -79,7 +79,10 @@ struct l1fwd_hdl *l1fh = talloc_zero(NULL, struct l1fwd_hdl);
int pcu_sock_send(struct msgb *msg)
{
- osmo_wqueue_enqueue(&l1fh->udp_wq, msg);
+ if (osmo_wqueue_enqueue(&l1fh->udp_wq, msg) != 0) {
+ LOGP(DPCU, LOGL_ERROR, "PCU write queue full. Dropping message.\n");
+ msgb_free(msg);
+ }
return 0;
}
diff --git a/src/sysmo_l1_if.c b/src/sysmo_l1_if.c
index bef680e..c0721b8 100644
--- a/src/sysmo_l1_if.c
+++ b/src/sysmo_l1_if.c
@@ -36,7 +36,10 @@ static int l1if_req_pdch(struct femtol1_hdl *fl1h, struct msgb *msg)
{
struct osmo_wqueue *wqueue = &fl1h->write_q[MQ_PDTCH_WRITE];
- osmo_wqueue_enqueue(wqueue, msg);
+ if (osmo_wqueue_enqueue(wqueue, msg) != 0) {
+ LOGP(DL1IF, LOGL_ERROR, "PDTCH queue full. dropping message.\n");
+ msgb_free(msg);
+ }
return 0;
}
@@ -324,7 +327,10 @@ int l1if_pdch_req(void *obj, uint8_t ts, int is_ptcch, uint32_t fn,
/* transmit */
- osmo_wqueue_enqueue(&fl1h->write_q[MQ_PDTCH_WRITE], msg);
+ if (osmo_wqueue_enqueue(&fl1h->write_q[MQ_PDTCH_WRITE], msg) != 0) {
+ LOGP(DL1IF, LOGL_ERROR, "PDTCH queue full. dropping message.\n");
+ msgb_free(msg);
+ }
return 0;
}
--
2.3.5
Debian is using the classic bfd linker and when passing
libosmogb as link dependency it always wants/needs to
resolve the bssgp_prim_cb symbol (which is to be provided
by the application).
Only keep the libosmocore dependency.
Fixes:
lib/libosmogb.so: undefined reference to `bssgp_prim_cb'
collect2: error: ld returned 1 exit status
Makefile:511: recipe for target 'llist/LListTest' failed
---
tests/Makefile.am | 3 ---
1 file changed, 3 deletions(-)
diff --git a/tests/Makefile.am b/tests/Makefile.am
index b822e46..77760f3 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -56,9 +56,6 @@ ms_MsTest_LDFLAGS = \
llist_LListTest_SOURCES = llist/LListTest.cpp
llist_LListTest_LDADD = \
- $(top_builddir)/src/libgprs.la \
- $(LIBOSMOGB_LIBS) \
- $(LIBOSMOGSM_LIBS) \
$(LIBOSMOCORE_LIBS) \
$(COMMON_LA)
--
2.3.5
Dear Osmcom,
I am working on a project, where I am connecting OsmoBTS with OsmocomBB
without hardware.
I am trying to remove l1 on both sides and connect OsmoBTS with BB
application via simple unix sockets. Based on the further recommendations,
I am using osmobts-trx branch. Currently I am able to handle messages
between BTS and TRX driver on clock and control ports, and on BB side I am
in state that phone wants to connect into a cell (so its waiting for BCCH)
. I am now trying to find a possible way how to handle messages on data
port , between BTS – TRX ( TRX is removed, there is my application
instead), and forward these messages to my customized BB l1 interface . The
thing is that I need to send to BB phone (layer23) messages in structures
from gsm_04_08.h (i.e. gsm48_system_information_type_3). I am not sure if I
will be able to get needed from the messages coming on the data port 5702.
I found, that PCU creates unix socket on “/tmp/pcu_bts” , but only in case
sysmoBTS is in use (please correct me if I am wrong), so this will be not
possible due compilation errors without HW. Here I found the
gsm48_system_information_type_3 messages.
So basically I need somehow to get this message structures on my custom l1
BB interface. Do you have any idea how to do this ?
Any advice will be highly appreciated.
Many thanks you for your attention :)
Best regards,
Dominik Tamaskovic.
Dear Osmocom.org project members,
I'm happy to be able to announce the annual incarnation of OsmoDevCon.
The Date is set for March 27 through 30. Venue: As usual, IN-Berlin
e.V. in Berlin, Germany.
Further details can be obtained from
http://openbsc.osmocom.org/trac/wiki/OsmoDevCon2015
Attendance, as usual, is restricted to people with an active history in
the Project by contributions in terms of code, patches, discussions,
documentation or in other form.
= Registration =
If you have wiki access, please add yourself to the #Requested section.
Alternatively, you can send me private e-mail about it.
After review, your (nick)name will be listed in the #Confirmed section.
Looking forward to meeting all of you again soon!
--
- Harald Welte <laforge(a)gnumonks.org> http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)
Holger Hans Peter Freyther <hfreyther(a)sysmocom.de> writes:
> If you don't want to use linux/if.h then change it? E.g. something
> like this?
Thanks for the response. I did something similar.
I don't have the code in front of me, (and the project where I used
openggsn is not very active at the moment), but I think the result of
these configure tests are unused. If tun.c never checks HAVE_NET_IF_H,
the corresponding configure test could be deleted.
Regards,
/Niels
Hi All,
I have installed OpenBSC +Osmo-BTS following Osmocom's netwrok from scratch
link http://openbsc.osmocom.org/trac/wiki/network_from_scratch
Now I would like to implemenet GPRS facility in the testbedusing OpenGGSN
and Osmo-SGSN.
I am using fairwaves UmDESK for this implementation.
I followed the procedure as suggested in the
http://openbsc.osmocom.org/trac/wiki/OpenBSC_GPRS
with the added modification as suggested in
https://wush.net/trac/rangepublic/wiki/fairwaves.gprs
But this doesn't seem to work out.
Currently the systems execute properly with the following outputs
*GGSN Output:*
root@nist:/home/nist# ggsn
cmdline_parser_configfile
listen: 127.0.0.1
conf: /etc/ggsn.conf
fg: 1
debug: 1
qos: 0x0b921f
apn: internet
net: 192.168.0.0/24
dynip: 192.168.0.0/24
pidfile: /var/run/ggsn.pid
statedir: /var/lib/ggsn/
timelimit: 0
gtpclient: Initialising GTP tunnel
openggsn[3822]: GTP: gtp_newgsn() started
Creating tun interface
Setting tun IP address
*Osmo-SGSN Output:*
root@nist:/home/nist# osmo-sgsn -c
OpenBSC_GPRS/openbsc/openbsc/src/gprs/osmo_sgsn.cfg
<0010> gprs_ns.c:199 NSVCI=65534 Creating NS-VC
*Osmo-PCU Output:*
root@nist:/home/nist# osmo-pcu
No config file: 'osmo-pcu.cfg' Using default config.
With these I also ran:
Osmo-NITB
Osmobts-TRX
Osmo-TRX
All of these run normally as well.
My UE is able to detect the network as well but not able to connect with it.
Given below are the config file entries
*ggsn.conf:*
listen 127.0.0.1
*osmo-sgsn.cfg:*
gtp local-ip 127.0.0.2
ggsn 0 remote-ip 127.0.0.1
.....
encapsulation udp local-ip 127.0.0.2
*open-bsc.cfg*:
gprs nsvc 0 remote udp port 23000
gprs nsvc 0 remote ip 127.0.0.2
I had the following doubts regarding the given installation procedure
1. The fairwaves.gprs implementation using Chemeris's gprs-work seems to
implement with Asterisk as PBX whereas I require it to run with the
osmo-nitb.
2. The gprs-work branch still makes use of BTS transceiver and I wanted it
to work with the Osmo-nitb implementation using osmobts-trx and osmo-trx
Can somebody please help me out with this?
Or is there any alternative implementation which can be tried to execute
them together.
Looking forward to hearing from you,
With Regards,
Jijo
Hi,
Daniel and me spent another day in the sysmocom office to go through
the PCU code. We finished clean-ups, made some simple manual tests
and looked at the traces.
We will work on the following items during the next weeks:
* For DL handling and multi-slot allocation more than one slot will
only be allocated _after_ the TBF is re-used. E.g. for a simple
download this might mean a single slot is used for the entire download.
Daniel made a prototype to send a packet downlink assignment directly
_after_ the assignment through the CCCH has completed. We manage to
run into a use after free in the TBF code but will work on it.
The issue is that the start of a TBF will take a bit longer. We
might want to add some heuristic to decide when or when not to do
it.
* Re-sending and window stalls. When the entire window has been sent
once, resending will start but when the ACK/NACK is arrived the
resending will conntinue. As it is more likely that frames have
arrived we should stop the resending and increase the window. This
will increase the throughput.
cheers
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
Dear Andreas,
I went through the multislot allocation algorithm and cleaned and
structured the code in testable parts that take over parts of the
allocation and I have added a unit test for some of the allocation
cases (UL first, then DL.. e.g. due a RACH burst and then DL single,
UL and DL update).
Today morning I added a testcase that tests all PDCH combinations
and all MS Classes and verifies that an allocation takes place and
that the DL and UL first_common_ts do match. For (xxOxOOxO) and
MS_Class=5 this assert is wrong. The alloc/AllocTest of the
sysmocom/allocation-cleanups branch should show you this condition.
While reading the code I noticed the following things. Could you
please explain why these are problems or no problems.
* select_first_ts (it exists after the refactoring). It initializes
i and compares it but it will never increment it. This means that
the code can look at PDCHs _outside_ of the tx_range.
* first_common_ts handling. When assigning the DL tbf we pick a
first_common_ts but when the actual UL assignment happens there
might not be a free USF on the Uplink and at that point the phone
might not listen on the TS we think.
* Sum for Rx+Tx is not used. I see that in update_rx_win_max you
modify the window to make some room.
* select_ul_slots. "i" is not incremented in all cases which could
potentially lead to using slots outside of the tx_range. For the
MS Type == 1 handling you could introduce a different variable that
counts how many slots were used?
it would be nice if we could fix that during the 30C3.
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
Dear Ivan,
could you please have a look at the coverity issues in the gsm_rlcmac.cpp
routines?
Uninitialized scalar variable:
gsm_rlcmac.cpp:5321 ar.direction not initialized
gsm_rlcmac.cpp:5039 ar.direction not initialized
gsm_rlcmac.cpp:5155 ar.direction not initialized
gsm_rlcmac.cpp:4872 ar.direction not initialized
Just initialize it in csnStreamInit?
Out-of-bounds read:
gsm_rlcmac.cpp:5502 " Overrunning array "data->RLC_DATA" of 20 bytes
at byte offset 22 using index "i" (which evaluates to 22)."
gsm_rlcmac.cpp:5440 " Overrunning array "data->RLC_DATA" of 20 bytes
at byte offset 22 using index "i" (which evaluates to 22)."
Maybe just add an assert that dataNumOctets <= 20?
--
- 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
Dear all,
so far the osmocom.org mailing lists have always been in a 'non-members
are manually moderated' mode. This has created a lot of work for manual
list moderation, where a lot of the messages caught are simply spam, and
only the occasional valid message is being received.
I'd like to thank the list moderators for taking care of this.
However, in more recent discussions, we were considering to move the
lists to a completely closed mode, i.e. postings would automatically be
rejected from non-members.
The automatic response would contain a description of how to subscribe
in 'nomail' mode, i.e. to subscribe in a way to be able to post to the
list, while still not receiving any incoming traffic. The latter should
be fine for occasional posters who don't want the bulk e-mail that goes
with a full/regular subscription.
Please provide feedback in case you disagree with that change. Unless
there is major opposition, we will likely transition to the 'closed'
mode within one month.
Thanks,
Harald
--
- Harald Welte <laforge(a)gnumonks.org> http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)