Skip to content

Loading builds...

Changes

#508 (Mar 3, 2026, 3:34:17 PM)

ipc: Makefile.am: Pick already compiled UHDDevice.o object

Take the chance to reorder LDADD, since it expects dependencies to be in
inversed-tree order.

Change-Id: I344309cb7264caf1622b70e87bb44ad3f32edb88
Pau Espin Pedrol at

#507 (Mar 3, 2026, 3:26:52 PM)

ipc: Makefile.am: Pick already compiled UHDDevice.o object

Take the chance to reorder LDADD, since it expects dependencies to be in
inversed-tree order.

Change-Id: I344309cb7264caf1622b70e87bb44ad3f32edb88
Pau Espin Pedrol at

#506 (Mar 3, 2026, 2:38:27 PM)

ipc: Makefile.am: Pick already compiled UHDDevice.o object

Take the chance to reorder LDADD, since it expects dependencies to be in
inversed-tree order.

Change-Id: I344309cb7264caf1622b70e87bb44ad3f32edb88
Pau Espin Pedrol at

#505 (Mar 3, 2026, 2:38:27 PM)

Depend on libosmogsm explicitly

Transceiver52M/device/common/bandmanager.h uses gsm_freq102arfcn() from
libosmogsm, so we should include libosmogsm.

Change-Id: I379b7e285ea9c124709de32d6e8a44b819f62111
Pau Espin Pedrol at

#504 (Mar 3, 2026, 2:38:27 PM)

configure.ac: Avoid building shared libraries by default

Those libraries are internal to osmo-trx and won't be installed,
so there's no use in building them.

Change-Id: I93c8ace45008b6ab8fba070c174bcec11e3b106e
Pau Espin Pedrol at

#503 (Mar 3, 2026, 1:47:16 PM)

configure.ac: Update deprecated AC_PROG_LIBTOOL to LT_INIT

As mentioned in
https://www.gnu.org/software/libtool/manual/html_node/LT_005fINIT.html.

Change-Id: I3b811b11ee4bbd5856329a5bdbcb5a8d2776495a
Pau Espin Pedrol at

#502 (Mar 3, 2026, 1:47:16 PM)

Depend on libosmogsm explicitly

Transceiver52M/device/common/bandmanager.h uses gsm_freq102arfcn() from
libosmogsm, so we should include libosmogsm.

Change-Id: I379b7e285ea9c124709de32d6e8a44b819f62111
Pau Espin Pedrol at

#501 (Mar 3, 2026, 1:47:16 PM)

configure.ac: Avoid building shared libraries by default

Those libraries are internal to osmo-trx and won't be installed,
so there's no use in building them.

Change-Id: I93c8ace45008b6ab8fba070c174bcec11e3b106e
Pau Espin Pedrol at

#500 (Mar 2, 2026, 11:37:27 PM)

transceiver: add optional Laurent burst LUT modulation (int16)

Introduce an optional Burst LUT optimization for Laurent-based burst
modulation, enabled via --with-burst-lut.

- Add precomputed Laurent LUT tables (float and int16 I/Q variants)
- Generate LUT at initialization (prepareBurstLUT)
- Use LUT-based modulation for sps=4 when enabled
- Keep original modulateBurstLaurent() as fallback
- Add configure.ac option and USE_BURST_LUT define

This reduces runtime computation by replacing per-burst Laurent
processing with memcpy-based LUT lookups.

Change-Id: I1715c2d33dc55fe1c7be5c6e7259d378ea5e80b2
dtv.comp at

#499 (Mar 2, 2026, 11:23:12 PM)

transceiver: add optional Laurent burst LUT modulation (int16)

Introduce an optional Burst LUT optimization for Laurent-based burst
modulation, enabled via --with-burst-lut.

- Add precomputed Laurent LUT tables (float and int16 I/Q variants)
- Generate LUT at initialization (prepareBurstLUT)
- Use LUT-based modulation for sps=4 when enabled
- Keep original modulateBurstLaurent() as fallback
- Add configure.ac option and USE_BURST_LUT define

This reduces runtime computation by replacing per-burst Laurent
processing with memcpy-based LUT lookups.

Change-Id: I1715c2d33dc55fe1c7be5c6e7259d378ea5e80b2
dtv.comp at

#498 (Mar 2, 2026, 11:23:12 PM)

build: install common/GSM/transceiver libraries for emscripten and add pkg-config files

Expose previously internal libs (libcommon, libGSM, libtransceiver_common)
when building with emscripten, install headers and generate .pc files.
Keep them noinst for native builds.

Change-Id: I2495c5b5c79f2fe74bef83902058e1d2207c1f3c
dtv.comp at

#497 (Mar 2, 2026, 2:44:04 PM)

build: install common/GSM/transceiver libraries for emscripten and add pkg-config files

Expose previously internal libs (libcommon, libGSM, libtransceiver_common)
when building with emscripten, install headers and generate .pc files.
Keep them noinst for native builds.

Change-Id: I2495c5b5c79f2fe74bef83902058e1d2207c1f3c
dtv.comp at

#496 (Mar 2, 2026, 2:35:54 PM)

feat(usdr): add USDR backend support (osmo-trx-usdr)

- Implement USDRDevice backend for Transceiver52M
- Add --with-usdr configure option and build integration
- Add systemd service unit (osmo-trx-usdr.service)
- Add Debian packaging files for osmo-trx-usdr
- Provide example configuration file
- Extend manuals and device documentation with USDR backend section

Change-Id: I5d1d25921514954c4929ae6e7352168b3ceb05df
dtv.comp at

#495 (Mar 2, 2026, 1:10:22 PM)

debian/*.install: make paths consistent

Some of the paths start with a leading slash and some don't. Both
variants work, but this is confusing. Let's go without the leading
slash, because the paths are releative (in this case to debian/tmp where
"make install" puts the files during debian packaging).

Related: https://gerrit.osmocom.org/c/osmo-trx/+/42198/comment/ae98245f_98e51337/
Related: https://www.debian.org/doc/manuals/maint-guide/dother.en.html#install
Related: https://manpages.debian.org/testing/debhelper/dh_install.1.en.html#debian/
Change-Id: I4b9de40e1fc6d3935ae8ff82804d94cb863663e9
Oliver Smith at

#494 (Mar 2, 2026, 12:01:21 PM)

feat(usdr): add USDR backend support (osmo-trx-usdr)

- Implement USDRDevice backend for Transceiver52M
- Add --with-usdr configure option and build integration
- Add systemd service unit (osmo-trx-usdr.service)
- Add Debian packaging files for osmo-trx-usdr
- Provide example configuration file
- Extend manuals and device documentation with USDR backend section

Change-Id: I5d1d25921514954c4929ae6e7352168b3ceb05df
dtv.comp at

#493 (Feb 28, 2026, 9:57:15 PM)

build: install common/GSM/transceiver libraries for emscripten and add pkg-config files

Expose previously internal libs (libcommon, libGSM, libtransceiver_common)
when building with emscripten, install headers and generate .pc files.
Keep them noinst for native builds.

Change-Id: I2495c5b5c79f2fe74bef83902058e1d2207c1f3c
dtv.comp at

#492 (Feb 28, 2026, 9:11:23 PM)

radio: improve API documentation in RadioDevice

Change-Id: I7b41c549d743ad180a1ddcd8c0313e1003860070
dtv.comp at

#491 (Feb 28, 2026, 9:11:20 PM)

feat(usdr): add USDR backend support (osmo-trx-usdr)

- Implement USDRDevice backend for Transceiver52M
- Add --with-usdr configure option and build integration
- Add systemd service unit (osmo-trx-usdr.service)
- Add Debian packaging files for osmo-trx-usdr
- Provide example configuration file
- Extend manuals and device documentation with USDR backend section

Change-Id: I5d1d25921514954c4929ae6e7352168b3ceb05df
dtv.comp at

#490 (Feb 26, 2026, 6:38:07 PM)

fix(threads): centralize portable strerror handling

- Move strerror_r portability logic to Utils
- Add strerror_buf() helper
- Simplify thread error logging in Threads.cpp

Change-Id: I642aff8a9f98823e117c4debd19384ddf5975039
dtv.comp at

#489 (Feb 26, 2026, 5:53:31 PM)

feat(usdr): add USDR backend support (osmo-trx-usdr)

- Implement USDRDevice backend for Transceiver52M
- Add --with-usdr configure option and build integration
- Add systemd service unit (osmo-trx-usdr.service)
- Add Debian packaging files for osmo-trx-usdr
- Provide example configuration file
- Extend manuals and device documentation with USDR backend section

Change-Id: I5d1d25921514954c4929ae6e7352168b3ceb05df
dtv.comp at

#488 (Feb 26, 2026, 1:09:26 PM)

checkpatch.conf: lint more code

The current linter configuration misses to find lots of formatting
errors as we've seen here:
https://gerrit.osmocom.org/c/osmo-trx/+/42198/comments/f8f1b5a2_3c7e1389

This is caused by the following exclude rules in .checkpatch.conf, which
were added there to avoid that some of the checkpatch rules don't work
correctly with C++ code:

  ---exclude .*h
  ---exclude Transceiver52M/grgsm_vitac/.*
  ---exclude utils/va-test/.*

Fix this by splitting the .checkpatch.conf into two files,
.checkpatch.c.conf and .checkpatch.c++.conf. Let the C version use the
default rules. Let the C++ version ignore the rules that don't work with
C++ code:

* SPACING
  Fails on:
    std::vector<std::string>
  With:
    ERROR:SPACING: spaces required around that '<' (ctx:VxV)
    ERROR:SPACING: spaces required around that '>' (ctx:VxW)

* FUNCTION_ARGUMENTS
  Fails on:
    ScopedLock lock(mLock);
  With:
    WARNING:FUNCTION_ARGUMENTS: function definition argument 'mLock' should also have an identifier name

* INDENTED_LABEL
  Fails on:
    private:
    protected:
  With:
    WARNING:INDENTED_LABEL: labels should not be indented

* NEW_TYPEDEFS
  Fails on:
    typedef std::map<K,D*> Map;
  With:
    WARNING:NEW_TYPEDEFS: do not add new typedefs

With the new config, the linter only complains about the following
things across the existing C++ code, which seem to be legitimate linting
problems (and if not, can be ignored as well):

  BRACES_NOT_NECESSARY, CODE_INDENT, LEADING_SPACE,
  MULTISTATEMENT_MACRO_USE_DO_WHILE, OPEN_BRACE, POINTER_LOCATION,
  PRINTF_I_OSMO, SINGLE_STATEMENT_DO_WHILE_MACRO, SPACE_BEFORE_TAB,
  STATIC_CONST_CHAR_ARRAY, TABSTOP, TRAILING_WHITESPACE

Depends: osmo-ci Ia2e75d9783382cefc3900a4ab51a5a919a2cbbbc
Change-Id: I0df5b6f2f0bf1469a80a1f5859809c30f523f683
Oliver Smith at

#487 (Feb 25, 2026, 7:31:51 PM)

fix(threads): centralize portable strerror handling

- Move strerror_r portability logic to Utils
- Add strerror_buf() helper
- Simplify thread error logging in Threads.cpp

Change-Id: I642aff8a9f98823e117c4debd19384ddf5975039
dtv.comp at

#486 (Feb 25, 2026, 7:18:56 PM)

fix(threads): centralize portable strerror handling

- Move strerror_r portability logic to Utils
- Add strerror_buf() helper
- Simplify thread error logging in Threads.cpp

Change-Id: I642aff8a9f98823e117c4debd19384ddf5975039
dtv.comp at

#485 (Feb 25, 2026, 4:34:08 PM)

fix(threads): centralize portable strerror handling

- Move strerror_r portability logic to Utils
- Add strerror_buf() helper
- Add strerror_str() wrapper using std::error_code
- Simplify thread error logging in Threads.cpp

Change-Id: I642aff8a9f98823e117c4debd19384ddf5975039
dtv.comp at

#484 (Feb 25, 2026, 2:11:15 PM)

checkpatch.conf: lint more code

The current linter configuration leads to too many linting errors, as
seen here:
https://gerrit.osmocom.org/c/osmo-trx/+/42198/comments/f8f1b5a2_3c7e1389

Fix this by not excluding files where the linter generates false
positives. But instead ignoring specific rules that generate these false
positives (mostly related to this being a C++ code base). The following
rules are now ignored:

* SPACING
  Fails on:
    std::vector<std::string>
  With:
    ERROR:SPACING: spaces required around that '<' (ctx:VxV)
    ERROR:SPACING: spaces required around that '>' (ctx:VxW)

* FUNCTION_ARGUMENTS
  Fails on:
    ScopedLock lock(mLock);
  With:
    WARNING:FUNCTION_ARGUMENTS: function definition argument 'mLock' should also have an identifier name

* INDENTED_LABEL
  Fails on:
    private:
    protected:
  With:
    WARNING:INDENTED_LABEL: labels should not be indented

* NEW_TYPEDEFS
  Fails on:
    typedef std::map<K,D*> Map;
  With:
    WARNING:NEW_TYPEDEFS: do not add new typedefs

With the new config, the linter only complains about the following
things across the existing code, which seem to be legitimate linting
problems (and if not, can be ignored as well):

  BRACES_NOT_NECESSARY, CODE_INDENT, LEADING_SPACE,
  MULTISTATEMENT_MACRO_USE_DO_WHILE, OPEN_BRACE, POINTER_LOCATION,
  PRINTF_I_OSMO, SINGLE_STATEMENT_DO_WHILE_MACRO, SPACE_BEFORE_TAB,
  STATIC_CONST_CHAR_ARRAY, TABSTOP, TRAILING_WHITESPACE

Change-Id: I0df5b6f2f0bf1469a80a1f5859809c30f523f683
Oliver Smith at

#483 (Feb 25, 2026, 8:47:45 AM)

fix(threads): support GNU and POSIX strerror_r variants

- Add required headers
- Use correct handling for GNU-specific strerror_r
- Provide fallback error string for portability

Change-Id: I642aff8a9f98823e117c4debd19384ddf5975039
dtv.comp at

#482 (Feb 25, 2026, 6:31:55 AM)

feat(usdr): add USDR backend support (osmo-trx-usdr)

- Implement USDRDevice backend for Transceiver52M
- Add --with-usdr configure option and build integration
- Add systemd service unit (osmo-trx-usdr.service)
- Add Debian packaging files for osmo-trx-usdr
- Provide example configuration file
- Extend manuals and device documentation with USDR backend section

Change-Id: I5d1d25921514954c4929ae6e7352168b3ceb05df
dtv.comp at

#481 (Feb 24, 2026, 10:06:31 PM)

feat(usdr): add USDR backend support (osmo-trx-usdr)

- Implement USDRDevice backend for Transceiver52M
- Add --with-usdr configure option and build integration
- Add systemd service unit (osmo-trx-usdr.service)
- Add Debian packaging files for osmo-trx-usdr
- Provide example configuration file
- Extend manuals and device documentation with USDR backend section

Change-Id: I5d1d25921514954c4929ae6e7352168b3ceb05df
dtv.comp at

#480 (Feb 24, 2026, 10:01:31 PM)

feat(usdr): add USDR backend support (osmo-trx-usdr)

- Implement USDRDevice backend for Transceiver52M
- Add --with-usdr configure option and build integration
- Add systemd service unit (osmo-trx-usdr.service)
- Add Debian packaging files for osmo-trx-usdr
- Provide example configuration file
- Extend manuals and device documentation with USDR backend section

Change-Id: I5d1d25921514954c4929ae6e7352168b3ceb05df
dtv.comp at