Commit Graph

123 Commits

Author SHA1 Message Date
Andreas Eversberg d265ce68b2 Increase RR scheduler priority to 20, to avoid dropped bursts
If frames are not deliverd fast enough to the DSP, bursts will get
dropped. The osmo-bts-sysmo process must have priority over other
processes, so it can deliver frames fast enough.

Related: OS#6199
Change-Id: I2394e6bbc00a1d47987dbe7b70f4b5cbedf69b10
2023-10-09 08:04:56 +00:00
Oliver Smith 188f76275a systemd: remove RestartPreventExitStatus=1
Fix OsmoBTS not restarting if e.g. an external gsmtap IP is configured
that is currently not available. Also make the service files more
consistent with other Osmocom projects.

Partial revert of ae2473c2 ("systemd: Do not restart with a broken
config file or such").

Related: SYS#6581
Change-Id: Ieeed858c159839ebaa27b2be35a597fb86874c4b
2023-09-27 10:06:54 +02:00
Pau Espin e97834f2db Bump version: 1.6.0.210-8a1f-dirty → 1.7.0
Change-Id: I3137362f3933aad20e3000a2fab4af82fe4fb649
2023-09-12 16:05:31 +02:00
Oliver Smith 05b4629166 systemd: depend on networking-online.target
Related: SYS#6400
Change-Id: I9c0cc0779f9ddb7520a565668b7cde07c6ad55d8
2023-05-26 14:10:44 +02:00
Pau Espin 909d943fe8 contrib/ber: Avoid regenerating codec_bit_class.h every build
Automatic generation of a header file using a C program built during
build of osmo-bts creates several problems when cross-compiling.

The generated header file is only 59 lines long, so let's have it
generated in order to avoid having to call the helper program every
time.

A Makefile target is added to easily regenerate the file manually in
case it's needed:
make -C contrib/ber/ update_codec_bit_class_h

Fixes: acf0f0f0bb
Change-Id: I97efdb4ee00537fcae191b4267d0211d582ef372
2023-04-01 21:18:25 +00:00
Sylvain Munaut acf0f0f0bb contrib: Add BER testing tool
This implements RTP based GSM BER testing for osmo-bts, implementing
ideas described in https://osmocom.org/projects/osmobts/wiki/BER_Testing

In short: The command transmits a PRBS sequence encapsulated in RTP
frames, which are sent to the BTS, which transmits that data in the
(unimpaired) downlink.  The mobile station receives the data and is
instructed to loop it back in the (possibly impaired) uplink.  The BTS
receives that uplink, puts in in RTP frames which end up being received
back by this very tool.  By correlating the received RTP with the PRBS
sequence, this tool can compute the BER (Bit Error Rate) of the
(possibly impaired) uplink.  Doing this with different RF channel model
simulators in the uplink allows to establish BER at different levels and
channel conditions.

Original code by Sylvain Munaut extended with some comments and Automake
integration by Harald Welte.

Change-Id: I1cffa0ae959e29ec61775b13185fd1057ed7485a
2023-03-30 12:56:14 +02:00
Vadim Yanitskiy e7085d1699 contrib/osmo-bts.spec.in: do not depend on libosmogb
The header file <osmocom/gprs/protocol/gsm_04_60.h> was recently
deprecated and moved to <osmocom/gsm/protocol/gsm_44_060.h>, so
it's now part of libosmogsn and depending libosmogb is not needed.

Change-Id: I823de7ebac2fe5dfddb88d533f1a9419f4a605db
Related: libosmocore.git I70cc21bf25a7081070738abacb409ed19094c3b2
Related: OS#5312
2023-03-21 12:26:21 +00:00
Pau Espin c66b812c16 Bump version: 1.5.0.64-7571-dirty → 1.6.0
Change-Id: Iaa207d4996a00befd99194c65fc6e6cd9dbaa340
2023-02-07 17:15:53 +01:00
Oliver Smith 0701788724 contrib/jenkins: build libosmo-abis without dahdi
Looks like this is not needed, so make the jenkins build work without
installing dahdi-source.

Related: OS#5863
Change-Id: I61c483983a4793e0429bb37804dee0a128125daf
2023-01-18 14:29:54 +01:00
Max eba8816d51 Update realtime scheduling priority in service file
Related: OS#5687
Change-Id: I64a8c1e9c5b4ca7b51956d195964124d3a8ef768
2022-11-06 12:49:28 +00:00
Max e826d78399 Document realtime options in .service units
It's not immediately obvious what numeric values mean for CPU scheduling policy.
Let's document this and add doc reference.

Related: OS#4107
Change-Id: Ib047762a336851e6205d77c83068a99d8a868e8b
2022-09-16 01:16:29 +00:00
Max 0ccd8781b1 Set working directory in systemd service file
By default systemd will execute service with root directory
(or home directory for user instance) which might result in
attempts to create files in unexpected place. Let's set it
to 'osmocom' subdir of state directory
(/var/lib for system instance) instead.

Related: OS#4821
Change-Id: I4b7bcd441e5da81c4c5267715675041171a1ce1e
2022-09-09 20:46:33 +07:00
Pau Espin a2dc808acc Depend on libosmo-netif
This library will be used soon when adding Osmux support to osmo-bts.
Furthermore, it nice to have it available to make use of other general
interfaces to create connections, primitives, RTP and AMR related
functionalities, etc.

Related: SYS#5987
Change-Id: I49db4de715065c083e1249cbeae6298d6868e229
2022-09-06 09:14:40 +02:00
Pau Espin 7243cada6a Bump version: 1.4.0.103-b8ae-dirty → 1.5.0
Change-Id: I920a834912cd6da66daae6a896f0789059698ba0
2022-06-29 09:41:38 +02:00
Pau Espin 77524ea511 Bump version: 1.3.0.348-f42287-dirty → 1.4.0
Change-Id: Ibf3ce0bfd0cf67148229dd988ebde6e6b8d744cc
2021-11-16 16:40:05 +01:00
Neels Hofmeyr bb840eceb9 jenkins: enable new flag --enable-external-tests
Change-Id: Iac47ce865c833d892c84425b49e9420838e100ca
2021-08-18 17:27:04 +02:00
Pau Espin 0436fe7fca Bump version: 1.2.0.444-8777-dirty → 1.3.0
Change-Id: I206af3596a714e5e9038b22e84ae6c20dc360e13
2021-02-23 16:35:17 +01:00
Oliver Smith 6351974464 contrib/jenkins: don't build osmo-gsm-manuals
Related: OS#4912
Change-Id: I8ab46680f9b753408e7ac6ef1635f997747325e5
2021-01-13 13:06:39 +01:00
Pau Espin e1de96088d contrib/jenkins: Enable parallel make in make distcheck
Change-Id: Ib91fb2e09d5260bef03dec653e26eeb4378e8e74
Related: OS#4421
2020-10-12 19:43:04 +02:00
Harald Welte bbfc6e44ce osmo-bts.spec.in: Use %config(noreplace) to retain current config file
Change-Id: I8d92cfddaa5bbfa33e36f37b48033b468c7d72cf
2020-06-24 05:26:50 +00:00
Vadim Yanitskiy aa5e46dc9a doc/examples: remove virtual/openbsc-virtual.cfg
This is not the right place to ship configuration examples for
other projects, and definitely not for abandoned ones.

Change-Id: Ib165b16f948126df8023bb42ad5d6d4b2fc11e6a
2020-06-05 20:56:24 +00:00
Oliver Smith 98e235b732 contrib: integrate RPM spec
Remove OpenSUSE bug report link, set version to @VERSION@, make it build with
CentOS 8 etc.

Related: OS#4550
Change-Id: Ia160d1a04b95e9efeb6c26eabd28c3697968d177
2020-05-20 08:52:37 +00:00
Oliver Smith b1eb6c2fa2 contrib: import RPM spec
Copy the RPM spec file from:
https://build.opensuse.org/project/show/home:mnhauke:osmocom:nightly

Related: OS#4550
Change-Id: I932d5965a713a3018d8819d1b244ff8ca3144fb1
2020-05-19 17:08:25 +02:00
Oliver Smith 04e980dd10 contrib/jenkins.sh: run "make maintainer-clean"
Related: OS#3047
Change-Id: I9d9b2412f005e4bda0ed35ba715cfb4dca1b04c1
2019-07-10 13:36:11 +02:00
Daniel Willmann 5abae93dad osmo-bts-lc15: Change LED behaviour to be the same as oc2g
It looks like the status LED on the sysmobts2100 never worked correctly
since lc15bts-mgr expects osmo-bts-lc15 to create and manage
/var/run/osmo-bts/state, but there is nothing to do so in osmo-bts.

This patch copies the functions from oc2g to manage the state file in
lc15.

Change-Id: Iad32a22fc72e2aba45e4f1b9ae585f6e0b8757ed
Related: SYS#4493
2019-05-29 17:35:57 +02:00
Daniel Willmann 34711de016 osmo-bts-oc2g: Fix status LED responsibilities
osmo-bts-oc2g no longer modifies the status LED and instead leaves that
to the bts manager. The service file now also creates a directory in
/var/run needed for osmo-bts to communicate with oc2gbts-mgr. This
status file is used by oc2gbts-mgr to figure out when the bts is
operational.

Related: SYS#4493
Change-Id: Ifae634c6c2ecec7d32298c0f266f91f3e81308f5
2019-05-29 17:35:57 +02:00
Pau Espin 749b878eb1 contrib: Remove deprecated screen script helpers
Nowadays only known users (OE images) use systemd and don't require this
kind of screen setup.
In any case, this kind of file belongs to scpeific setup and are not
needed here.

Change-Id: I65b0eee44336e4627620443861092b8988f2e01d
2019-03-27 09:57:41 +00:00
Daniel Willmann 3bf27cefbb systemd: Install OC2G service files with autotools
Change-Id: Ifd37b6a01ad9007a9e887fe3dd208dc74047b4d8
2019-01-30 09:40:52 +01:00
Daniel Willmann 5a266511bf dump_docs: Use new config file naming scheme
Change-Id: I05723ef50deb918ed1131c1d30f8e613351b3be5
2019-01-17 17:07:44 +01:00
Daniel Willmann a4649308eb Rename oc2g config file to match new naming scheme
examples/oc2g/osmo-bts.cfg->examples/oc2g/osmo-bts-oc2g.cfg

Change-Id: Ie49d5695ea78da2995252c56c75ce42e6cec0e9c
Related: SYS#4444
2019-01-17 17:07:43 +01:00
Oliver Smith fc88d8e7dc contrib: fix makedistcheck with disabled systemd
EXTRA_DIST files need to be distributed, no matter if the systemd option
is configured or not.

Change-Id: I5d3712b54a8b777c33a9804a4f612e4f37f829df
2018-12-06 13:43:26 +01:00
Oliver Smith 9c4a6facdb contrib/jenkins_*.sh: build and publish manuals
Add new environment variables WITH_MANUALS and PUBLISH to control if
the manuals should be built and uploaded. Describe all environment vars
on top of jenkins_bts_model.sh. Change the top description line to look
like all the other contrib/jenkins.sh files (from other repositories),
so it is clear that this is the entry point of Jenkins (and not the
other contrib/jenkins_*.sh scripts).

When WITH_MANUALS is set, install osmo-gsm-manuals like any other
dependency and add --enable-manuals to the configure flags (for "make"
and "make distcheck"). Add the bin subdir of the installed files to
PATH, so osmo-gsm-manuals-check-depends can be used by ./configure.

Related: OS#3385
Change-Id: If51194cc595bd8cf1081b35ab0e1a5ddcd448860
2018-12-05 13:10:55 +01:00
Omar Ramadan 9c75c387c0 Add OC-2G BTS sources
Change-Id: I327384fe5ac944dc3996a3f00932d6f1a10d5a35
2018-10-27 11:35:58 +00:00
Vadim Yanitskiy 85485c3db4 contrib/jenkins_*.sh: drop rudimentary '--with-osmo-pcu'
The '--with-osmo-pcu' flag dates back to a time where the
'pcu_interface' header was not copied in both repositories
and you had to point one to the other.

Change-Id: I79e494484cb099cc9ca8c27c38b785c5ea8c3bc6
Closes OS#3514
2018-09-30 11:49:21 +00:00
Pau Espin 8a6f6c5a16 Install sample cfg file to /etc/osmocom
Change cfg file names so they don't overlap when installing different
osmo-bts versions, and make systemd services look for correct new name.

Remove unneeded duplicated EXTRA_DIST files from root dir Makefile.am

Change-Id: I75fdd06cc52ce50628efb1f9b007d2e3926db27d
2018-09-12 19:10:28 +02:00
Pau Espin 65d3cc7753 Install systemd services with autotools
Change-Id: I87299134696bbfc6721b1226d4de6c73854aa846
2018-09-12 14:16:49 +02:00
Pau Espin cfc052743b Move systemd service to contrib/systemd
Move it there and have only a symlink in debian/, like we do in all
other projects.

Change-Id: I213d3816a66e88069c31f85b3fbf462d1222aa43
2018-09-06 14:25:59 +00:00
Pau Espin 954e4d8321 jenkins_*.sh: add --enable-werror to configure flags
The flag is enabled for all BTS flavour except for lc15, which still
contain several compilation warnings (fixes submitted to gerrit, but not
merged since no contributor is testing lc15 nowadays).

Change-Id: Ib65056633697dafa63831fc2a480b798df550db6
2018-06-22 11:52:53 +02:00
Pau Espin e5518b07d6 contrib: jenkins_bts_model: Fix bashism expr
In posix shell, = is valid and == is not.

Change-Id: I5c027039d12c5e455a8f8a0878f88ab30c168db4
2018-04-06 06:44:34 +00:00
Max 5675afa6b9 Enable sanitize for CI tests
Change-Id: I3e2e1fb777a7cbf74e2f7c4288ed5f3277c7faed
2018-01-24 12:36:45 +00:00
Max cedad415fc CI: drop unused OsmoPCU dependency
The independent copy of pcuif_proto.h file is used by OsmoBTS so we
don't have to checkout OsmoPCU to obtain it.

Change-Id: If8d7330adf3edc44c3b49b1f6e854cce0eca2d8e
2018-01-24 13:27:24 +01:00
Max e81347f216 Allow specifying sysmocom headers explicitly
Add configure option --with-sysmobts=$INCDIR (like for LC1.5).

Use to fix the jenkins build to fix the build after migration to stow, where we
can no longer use a commin -I to include the sysmobts headers as well.

Tweaked-by: neels
Change-Id: I0416a9f4c428189cd9c3909c8bd016ca2908128a
2018-01-19 15:06:15 +01:00
Neels Hofmeyr d1f0a7e927 jenkins_common.sh: fix build_bts distcheck for more than one conf_flag
Passing configure flags in DISTCHECK_CONFIGURE_FLAGS requires enclosing all
flags in quotes. Currently we seem to have no callers with more than one
configure flag, so we were lucky not to break there.

Change-Id: I37bc517a30d00c744eddc8565a0a8181cb3b2cdb
2018-01-18 00:18:57 +01:00
Max bef6eae05b Move sysmobts-calib into osmo-bts-sysmo
It's prerequisite for jenkins tests fix after migration to stow. The
sysmobts-calib uses hand-coded Makefile instead of automake which makes
it hard to properly propagate build flags. Also, make it optional to
enable excluding it from certain jenkins tests.

Change-Id: I3b54bfa5ef1d89092f6cf13dc27de10874b31b18
2018-01-16 15:53:00 +01:00
Pau Espin 3c96db29fa jenkins.sh: Disable building doxygen for deps
Change-Id: I2ed207a5febe8017a20a0e7de0ba575fd7966af6
2017-12-14 16:02:29 +01:00
Neels Hofmeyr a39dab4b7c jenkins: use osmo-clean-workspace.sh before and after build
See osmo-ci change I2409b2928b4d7ebbd6c005097d4ad7337307dd93 for rationale.

Depends: I2409b2928b4d7ebbd6c005097d4ad7337307dd93
Change-Id: I830b17462b636e0bf03f4d88000660409503c3e5
2017-10-28 15:08:36 +00:00
Max 2d3aa02ba3 jenkins: remove openbsc dependency
The dependency on OpenBSC has been removed in
ec33b0397f so we can drop it from jenkins
scripts too.

Change-Id: Ie28d444f2154f5b4bbbd9a1cb45b74ebca890cb1
2017-10-10 12:30:16 +00:00
Max fab4efdaf5 Use value string check from osmo-ci
Change-Id: I5bce234a5b8133c81b3ea8757e05de56d3aa15d8
2017-08-26 06:10:35 +00:00
Max b78fc1eeee Simplify jenkins build scripts
* move duplicated code into separate functions in jenkins_common.sh
* use that function in individual builds

Change-Id: I4d09c5f2693b5ac0a4d8f2c840971e13d1ec58cf
2017-08-18 18:08:31 +00:00
Pau Espin 6fe823a7e1 lc15bts-mgr.service: Prepare dirs and sysctls for the process
Change-Id: I0a0a10ca9498318c48c81fa94faceb2ad4ac1de6
2017-08-07 11:56:11 +02:00