Age | Commit message (Collapse) | Author | Files | Lines |
|
Change-Id: Ie4c2e2c9462746a7a5577a3cc2601ab7dd74bc4a
|
|
Change-Id: I38b083755e71eac5158e68ef958e210eeced9038
|
|
Change-Id: I4b9405df5f40e8f2724ba8aa8f88e2602c1e8374
|
|
A new nacc_fsm is introduced per MS object, with its partner priv
structure struct nacc_fsm_ctx, which exists and is available in the MS
object only during the duration of the NACC procedure.
The NACC context is created on an MS whenever a Pkt Cell Change
Notification is received on Uplink RLCMAC, which asks for neighbor
information of a given ARFCN+BSIC.
First, the target ARFCN+BSIC needs to be translated into a CGI-PS
(RAC+CI) address. That's done by asking the BSC through the Neighbour
Resolution Service available in osmo-bsc using the CTRL interface.
Once the CGI-PS of the target cell is known, PCU starts a RIM RAN-INFO
request against the SGSN (which will route the request as needed), and
wait for a response containing the SI bits from the target cell.
After the SI are received, the scheduler is instructed to eventually
poll a TBF for the MS originating the CCN, so that we can send the SI
encapsulated into multiple Packet Neighbor Cell Data messages on the
downlink.
One all the SI bits are sent, the scheduler is instructed to send a
Packet Cell Change Continue message.
Once the message above has been sent, the FSM autodestroys itself.
Caches are also introduced in this patch which allows for re-using
recently known translations ARFCN+BSIC -> CGI-PS and CGI-PS -> SI_INFO
respectively.
Change-Id: Id35f40d05f3e081f32fddbf1fa34cb338db452ca
|
|
Change-Id: Iac2c0b14252c46aec2b00d46800fcc9f87a5a586
|
|
Change-Id: I92bfabd57fab28b23bd4494a577373106be1daec
Depends: libosmocore.git Change-Id If76a4bd2cc7b3c7adf5d84790a944d78be70e10a
Depends: osmo-gsm-masnuals.git Change-Id Icd75769ef630c3fa985fc5e2154d5521689cdd3c
Related: SYS#4986
|
|
Change-Id: I54b360c537e04ab3a9cb30ac3e3f9730bcad1c91
|
|
Remove OpenSUSE bug report link, set version to @VERSION@, make it build
with CentOS 8 etc.
Related: OS#4550
Change-Id: Idfe04c2e2609763387d1309f059c390b8e7ae938
|
|
As pointed out at https://github.com/libexpat/libexpat/issues/312
libtool does not play nice with clang sanitizer builds at all.
For those builds LD shoud be set to clang too (and LDFLAGS needs the
sanitizer flags as well), because the clang compiler driver knows how
linking to the sanitizer libs works, but then at a later stage libtool
fails to actually produce the shared libraries and the build fails. This
is fixed by this patch.
Addtionally LD_LIBRARY_PATH has no effect on conftest runs during
configure time, so the rpath needs to be set to the asan library path to
ensure the configure run does not fail due to a missing asan library,
i.e.:
SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan'
export CC=clang-10
ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`)
export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS"
Change-Id: I999adf84a34c03765ce6c32ece0e61d0ac6e1c13
|
|
Change-Id: Ic5e69a396df659933fd4d50298b9925e837a6861
|
|
Make sure that the compiler always assumes the same C dialect, to
prevent unexpected compiler errors when building with older compilers
(on other Linux distrubtions like in OBS, or in docker).
Use gnu89 and gnu++03, because that is what the code currently compiles
with.
Related: https://lists.osmocom.org/pipermail/openbsc/2019-September/013030.html
Related: OS#3598
Change-Id: Ia57ba101627e3cc0babeca82631e207a3e2e0960
|
|
Older commit started using OSMO_IMSI_BUF_SIZE, only available in
libosmocore 1.1.0 onwards, but forgot to increase the values in
configure.ac.
Fixes: 2c076bcb4dc1bc2ada340441c2f898c55318209f
Change-Id: Iaf5f276a092c695a5f077551d9784652c2289424
|
|
From-Commit: b77fd00608dd
From-Remote: https://gitlab.com/nrw_noa/osmo-pcu
Change-Id: I7cd89a549c9463e81893ca7dd925299f728e4453
|
|
Both OsmoBTS and OsmoBSC use their own copies of this header nowadays so
we can simplify our installation slightly by making it local only.
Change-Id: I4a87395d4ab7212fe2fc055dae0a737e10d20c69
|
|
Moved to doc/manuals/, with full commit history, in preceding merge commit.
Now incorporate in the build system.
Build with:
$ autoreconf -fi
$ ./configure --enable-manuals
$ make
Shared files from osmo-gsm-manuals.git are found automatically if
- the repository is checked out in ../osmo-gsm-manuals; or
- if it osmo-gsm-manuals was installed with "make install"; or
- OSMO_GSM_MANUALS_DIR is set.
Related: OS#3385
Change-Id: I7270652de393a98748c0cdc51e626c17ab8f44c2
|
|
Change-Id: I1e163e10f8a2e22b9ebdcb2d0f13f6ad07c84efe
|
|
Change-Id: Ie4c7e81495181059d1dff1c194d52d11fb72ed03
|
|
For some unknown reason ld was failing to find some asan symbols until I
enabled asan too in CXXFLAGS.
Change-Id: I695314b284277674dc336b40765313a37d238d6e
|
|
Change-Id: I0c5a3f3cee8332d5088982117037d5a0b077061b
|
|
Change-Id: I6ce6fb40690a66b0980eba4fa03b47da2f59ee6e
|
|
Change-Id: I7bb7a7d7b5b9340cb41c95f848774ee378c59212
|
|
Fix multiple problems around the sysmobts DSP access and headers:
- Use the proper variable name to detect the choice: $enable_sysmocom_bts was
not set anywhere and would actually be used from the current user env, if
present, instead of from configure args.
- Quote the $CPPFLAGS when assigning to oldCPPFLAGS and back.
- When checking SYSMOBTS_INCDIR, do not allow an empty "-I" without a dir.
- Ensure the --with-sysmobts path is used as an absolute path.
- Error out if --with-sysmobts is paired with --disable-sysmocom-dsp.
Also tweak reporting.
The resulting behavior now is:
./configure --disable-sysmocom-dsp
checking whether to enable direct DSP access for PDCH of sysmocom-bts... no
./configure --enable-sysmocom-dsp
checking whether to enable direct DSP access for PDCH of sysmocom-bts... yes
checking for sysmocom/femtobts/superfemto.h... no
configure: error: sysmocom/femtobts/superfemto.h can not be found, see --with-sysmobts
./configure --disable-sysmocom-dsp --with-sysmobts=../../../sysmobts/layer1-api
checking whether to enable direct DSP access for PDCH of sysmocom-bts... error
configure: error: --with-sysmobts does not work with --disable-sysmocom-dsp
./configure --enable-sysmocom-dsp --with-sysmobts=../../../sysmobts/layer1-api
checking whether to enable direct DSP access for PDCH of sysmocom-bts... yes, using -I/n/s/sysmobts/layer1-api
checking for sysmocom/femtobts/superfemto.h... yes
./configure --with-sysmobts=../../../sysmobts/layer1-api
checking whether to enable direct DSP access for PDCH of sysmocom-bts... yes, using -I/n/s/sysmobts/layer1-api
checking for sysmocom/femtobts/superfemto.h... yes
./configure --with-sysmobts=/nonexisting/path
checking whether to enable direct DSP access for PDCH of sysmocom-bts... yes, using -I/nonexisting/path
checking for sysmocom/femtobts/superfemto.h... no
configure: error: sysmocom/femtobts/superfemto.h can not be found in -I/nonexisting/path, see --with-sysmobts
./configure --with-sysmobts=/var/log
checking whether to enable direct DSP access for PDCH of sysmocom-bts... yes, using -I/var/log
checking for sysmocom/femtobts/superfemto.h... no
configure: error: sysmocom/femtobts/superfemto.h can not be found in -I/var/log, see --with-sysmobts
Change-Id: I2f5988730dbbcf3b21d8c647c499623843ed3da9
|
|
Provide a sane means of adding the -Werror compiler flag.
Currently, some of our jenkins.sh add -Werror by passing 'CFLAGS="-Werror"',
but that actually *overwrites* all the other CFLAGS we might want to have set.
Maintain these exceptions from -Werror:
a) deprecation (allow upstream to mark deprecation without breaking builds);
b) "#warning" pragmas (allow to remind ourselves of errors without breaking
builds)
As a last configure step before generating the output files, print the complete
CFLAGS and CPPFLAGS by means of AC_MSG_RESULT.
Change-Id: I0f735913fc3bbda695c4e66449dcfc94f417dafb
|
|
The headers for LC1.5 are specified explicitly. Add corresponding option
to specify sysmoBTS headers location and use it in jenkins build. While
at it, unify header fixup code with the one used in OsmoBTS.
Change-Id: I5248e8b389fd240b4d5a0bcf6c954d6115262462
|
|
Add sanitizer flags to linker as well to resolve linker error.
Change-Id: I695baaf8ce78ed938f6f71c40d17120fa690338b
|
|
This facilitates the use of programs like uftrace. It's disabled by
default due to associated overhead.
Change-Id: I5c16988cefa46e0b958030c0f3bff9efc5b4979d
|
|
Change-Id: Idb2c1d6057012ed2f032e7504387a0767d02d75b
|
|
The BTS constructor uses functions of libosmocore that could in turn
want to log something. This requires the logging to be initialized
before.
The only way to achieve this is to add an __attribute__((constructor))
function *before* the BTS constructor is being run.
This solution might not be elegant, but I guess it's the only way to
initialize a C library before calling C++ constructors of global static
instance of a class.
In case anyone comes up with a better / cleaner approach, we can always
change later.
This change requires libosmocore >= 0.10.1, as only that permits
multiple calls to osmo_init_logging() which may now occur.
Change-Id: I28dc4f0db229518348c92413959fed5ae85d753d
|
|
* use release helper from libosmocore
* use semantic versioning
Change-Id: Ie0a7f5977550bd0a1ba8b03bdb7e2d619a398e4e
Related: OS#1861
|
|
The fix in 0fb294a8dd45a86b8f9eb93211b69b6dbf0a6853 was only partially
valid, as it unconditionally used $includedir, without any prefix. This
polluted the include path with host include files in cross-compiling
builds.
Let's take a different approach and simply define LITECELL15_CFLAGS
(similar to what pkgconfig does), which makes the "-I" go away if no
--with-litecell15 has been specified.
Change-Id: I63393decfe42a24dab56c7654f716c1580416ab2
|
|
When "--enable-lc15bts-phy" is passed to './configure' without specifying
an explicit header file path using "--with-litecell15=", we ended up
generating an empty string as LITECELL15_INCDIR and rendered something
like "-DENABLE_DIRECT_PHY -I -I../../git/src/osmo-bts-litecell15" as
part of the compiler invocation, where the -I with no argument will hide
the second -I, as the second one is supposed to be the optarg for the
first include.
This in turn made the "#include <lc15_l1_if.h>" fail, when using
separate source and build directories.
This patch fixes the configur script to use $includedir, rather than the
non-existant $incdir as default for LITECELL15_INCDIR
Change-Id: I483e62f8331e7867a92f8055c4d450fdd5288cb6
|
|
We're installing header file pcuif_proto.h so it's better to use
pkg-config for proper version tracking similar to the way it's done for
OpenBSC.
Change-Id: I0520045e5655794df152b98b9755d7cbbd334049
|
|
So far, we used to keep a copy of the header file around in
both osmo-pcu and osmo-bts projects. Before we start introducing
a third copy in openbsc, let's have the osmo-pcu install the header
file and make the other programs use that.
Change-Id: I60976c9be5488256d1ff55fdc5aa548e3705400d
|
|
I noticed that unused variables are not complained about by the build. Let's
add -Wall.
I also noticed that the Makefile.ams include STD_DEFINES_AND_INCLUDES, which is
never set in configure.ac, so using that to add -Wall to all build contexts.
Change-Id: I16711cf5a1ef8bd611074b3dd486ed7a0ae9df64
|
|
Change-Id: Iaaeb2a926fc3832793dfb3f02e4ced2500950997
|
|
Explicitly set AC_CONFIG_AUX_DIR.
To reproduce the error avoided by this patch:
rm install-sh # in case it was already generated.
touch ../install-sh # yes, outside this source tree
autoreconf -fi
This will produce an error like
...
configure.ac:16: error: required file '../ltmain.sh' not found
configure.ac:5: installing '../missing'
src/Makefile.am: installing '../depcomp'
autoreconf: automake failed with exit status: 1
See also automake (vim `which automake`) and look for 'sub locate_aux_dir'.
Change-Id: Ie9a10f14c5e8c5e9b6ea4910b4b9abb7e70f5e04
|
|
Layer 1 compatibility with previous generation or NuRan GSM product,
therefore the support for the Litecell 1.5 uses its own sources instead
of using tons of ifdef/endif.
Max's amendments:
* make headers path configurable
* use configured TRX instead of hardcoded value
* split subdir-objects into separate commit
* cosmetic changes
Change-Id: Ib1287375cb10a889625bbac8528fa60deed23a2b
Fixes: SYS#2443
Reviewed-on: https://gerrit.osmocom.org/61
Tested-by: Jenkins Builder
Reviewed-by: Harald Welte <laforge@gnumonks.org>
|
|
This OpenBTS socket interface was originally added to enable GPRS
capabilitie with a forked version of OpenBTS, at a time when the public
OpenBTS release didn't yet have any GPRS support.
Meanwhile, the later OpenBTS releases included their own version of
GPRS, without any external PCU/SGSN/GGSN, so this interface is no longer
needed.
This also means that the OsmoBTS socket interface is now the default at
compilation time. There is no other interface.
|
|
This also renames the --enable-sysmbts option to --enable-osmobts
This socket interface was nevery sysmoBTS specific, but it is a generic
socket interface to any OsmoBTS supported layer1/hardware. So it was a
mis-nomer so far.
|
|
We have unified all PS related communication to the
osmocom-net-gprs mailinglist, update configure.ac to
point there.
|
|
|
|
|
|
|
|
|
|
--enable-sysmocom-bts=no does not work because the enableval variable
is not used.
|
|
|
|
In order to use this feature, sysmoBTS requires option "-M", otherwise
the traffic is forwarded through socket interface.
This is essential, if PCU runs on processor of sysmoBTS. The reaction
time and delay of PDTCH frames could heavily degrade proper packet flow.
|
|
Merge is based on jolly_new branch with two modifications.
1. Modified PCU L1 interface.
pcu_l1_if.cpp - common functions for tx and rx messages on L1 interface.
sysmo_sock.cpp - SYSMO-PCU socket functions.
openbts_sock.cpp - OpenBTS-PCU socket functions.
pcuif_proto.h - L1 interface's primitives.
2. Modified encoding of RLC/MAC Control messages, now we use structures and encode_gsm_rlcmac_downlink() function for encode control blocks (without hand-coding).
|
|
...and link against libosmogb (part of libosmocore.git)
|
|
...and link against libosmogb (part of libosmocore.git)
|