osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/42226?usp=email )
Change subject: lint/checkpatch: fix false FUNCTION_ARGUMENTS
......................................................................
lint/checkpatch: fix false FUNCTION_ARGUMENTS
Fix that the linter complains about:
WARNING:FUNCTION_ARGUMENTS: function definition argument 'void' should also have an identifier name
For functions with attributes at the end, e.g.:
void Fallback_Handler(void) __attribute__((weak, alias("Dummy_Handler")));
Related: https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/42224/comment/7c5b3be0_6f…
Change-Id: I139bdabb38bd0c9ceda99921ebdc0196850c2a53
---
M lint/checkpatch/checkpatch.pl
1 file changed, 2 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/26/42226/1
diff --git a/lint/checkpatch/checkpatch.pl b/lint/checkpatch/checkpatch.pl
index eada2a9..9a81dc2 100755
--- a/lint/checkpatch/checkpatch.pl
+++ b/lint/checkpatch/checkpatch.pl
@@ -6964,7 +6964,8 @@
# check for function declarations that have arguments without identifier names
if (defined $stat &&
$stat =~ /^.\s*(?:extern\s+)?$Type\s*(?:$Ident|\(\s*\*\s*$Ident\s*\))\s*\(\s*([^{]+)\s*\)\s*;/s &&
- $1 ne "void") {
+ $1 ne "void" &&
+ $1 !~ /^void\)/) {
my $args = trim($1);
while ($args =~ m/\s*($Type\s*(?:$Ident|\(\s*\*\s*$Ident?\s*\)\s*$balanced_parens)?)/g) {
my $arg = trim($1);
--
To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/42226?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Change-Id: I139bdabb38bd0c9ceda99921ebdc0196850c2a53
Gerrit-Change-Number: 42226
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Attention is currently required from: pespin.
Timur Davydov has posted comments on this change by Timur Davydov. ( https://gerrit.osmocom.org/c/osmo-trx/+/42199?usp=email )
Change subject: fix(threads): centralize portable strerror handling
......................................................................
Patch Set 5:
(1 comment)
File CommonLibs/Utils.cpp:
https://gerrit.osmocom.org/c/osmo-trx/+/42199/comment/0693034d_00679330?usp… :
PS2, Line 36:
> I'm fine with updating all of them in this project.
Replaced all `strerror_r()` with `strerror_buf()`
--
To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/42199?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: osmo-trx
Gerrit-Branch: master
Gerrit-Change-Id: I642aff8a9f98823e117c4debd19384ddf5975039
Gerrit-Change-Number: 42199
Gerrit-PatchSet: 5
Gerrit-Owner: Timur Davydov <dtv.comp(a)gmail.com>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Thu, 26 Feb 2026 18:39:23 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Comment-In-Reply-To: Timur Davydov <dtv.comp(a)gmail.com>
Attention is currently required from: Hoernchen, laforge, pespin.
Timur Davydov has posted comments on this change by Timur Davydov. ( https://gerrit.osmocom.org/c/osmo-trx/+/42198?usp=email )
Change subject: feat(usdr): add USDR backend support (osmo-trx-usdr)
......................................................................
Patch Set 4:
(15 comments)
File Transceiver52M/device/usdr/USDRDevice.h:
https://gerrit.osmocom.org/c/osmo-trx/+/42198/comment/fde924c1_67adf011?usp… :
PS3, Line 54: int txsps; ///< samples count per GSM symbol for Tx
> unsigned? […]
Replaced with `tx_sps` and `rx_sps` from `RadioDevice`
https://gerrit.osmocom.org/c/osmo-trx/+/42198/comment/5f773925_80a65db5?usp… :
PS3, Line 60: int timeTxCorr = 0; ///< time correction for TX timestamp, in samples, to align it with RX timestamp, which is needed to achieve correct timing of the transmitted signal. This is a device-specific parameter that can be configured via dev_args and defaults to 0 if not specified.
> Change all these comments using /* */ and properly split into acceptable width (<=120 chars).
Done
https://gerrit.osmocom.org/c/osmo-trx/+/42198/comment/759ac574_3dbc84cc?usp… :
PS3, Line 63: TIMESTAMP ts_last_recv = 0;
> wrong indentation
Fixed indentation throughout the file
https://gerrit.osmocom.org/c/osmo-trx/+/42198/comment/13bb2d0c_ebe1bb7d?usp… :
PS3, Line 90: Read samples from the USDR.
> syntax for comment (at least indentation) is different here and in next block. […]
Fixed comments throughout the file
https://gerrit.osmocom.org/c/osmo-trx/+/42198/comment/11c53e1b_2da632ff?usp… :
PS3, Line 100: TIMESTAMP timestamp = 0xffffffff, bool *underrun = NULL);
> wrong indentation here and below.
Fixed indentation throughout the file
https://gerrit.osmocom.org/c/osmo-trx/+/42198/comment/6db5b421_a78965f2?usp… :
PS3, Line 121:
> Pleasr get rid of trailing whitespace.
Fixed whitespaces throughout the file
https://gerrit.osmocom.org/c/osmo-trx/+/42198/comment/18b3af14_e7b02b16?usp… :
PS3, Line 132: TIMESTAMP initialReadTimestamp(void) { return ts_initial;}
> Please, fix indentation in the whole file.
Fixed indentation throughout the file
File Transceiver52M/device/usdr/USDRDevice.cpp:
https://gerrit.osmocom.org/c/osmo-trx/+/42198/comment/4caa58e6_8913e869?usp… :
PS3, Line 49: {"limemini", {tx_offset: 86.769us}}, /* 94 samples at 1083333.33333 sps corresponds to 86.769 us */
> are you sure this is correct? isn't it xsdr? maybe add an extra commit explaining?
Thanks, good catch — I indeed lost xSDR in that section.
Regarding LimeSDR Mini: this was not a typo. The hardware is supported in principle, but I have temporarily removed it from the list.
The current implementation does not correctly handle readSamples() / writeSamples() for LimeSDR Mini, as it requires inserting/handling transport headers every 1020 samples, which is not yet implemented properly in this backend.
https://gerrit.osmocom.org/c/osmo-trx/+/42198/comment/c7e929e9_29a91fc9?usp… :
PS3, Line 52: enum {
> I don't see why this should be an enum. […]
Replaced the enum with #define constants as suggested
https://gerrit.osmocom.org/c/osmo-trx/+/42198/comment/ccd2e811_6347436b?usp… :
PS3, Line 85: std::string msg = std::string("Error creating USDR device with connection string '") + connection_string + "' res: " + std::to_string(res) + "(" + strerror(res) + ")";
> Fix all lines too long like this. Maximum is 120 chars.
Reformatted the file to ensure all lines are within the 120-character limit
https://gerrit.osmocom.org/c/osmo-trx/+/42198/comment/911172c1_6a1c3831?usp… :
PS3, Line 180: dev = NULL;
> Please fix indentation in the whole file. Better use tabs everywhere.
Fixed indentation throughout the file
File debian/osmo-trx-usdr.postinst:
https://gerrit.osmocom.org/c/osmo-trx/+/42198/comment/a45a71ec_6ba40876?usp… :
PS3, Line 18: # Fix permissions of previous (root-owned) install (OS#4107)
> This is AFAICT not needed here, because there's no previous root-owned install ;)
Removed the unnecessary legacy permission-fix block.
File doc/manuals/chapters/trx-backends.adoc:
https://gerrit.osmocom.org/c/osmo-trx/+/42198/comment/a326e3d4_9f3a2817?usp… :
PS3, Line 85: The backend supports single-channel SDR hardware and is designed for setups
> But in the other . […]
Yes, xSDR and sSDR hardware support multiple RF channels sharing a common LO. These channels are intended for MIMO operation and do not represent independent GSM TRX instances. So the current osmo-trx-usdr implementation operates in single-channel mode only.
https://gerrit.osmocom.org/c/osmo-trx/+/42198/comment/6ad051c2_7ba4ff76?usp… :
PS3, Line 86: where multiple small SDRs are combined to present one or more TRX instances
> You mean using multiple SDR devices controlled by one osmo-trx-usdr process? […]
Currently, one osmo-trx-usdr process handles one SDR device.
Multi-TRX deployments are achieved by running multiple osmo-trx-usdr instances, typically one per device.
In synchronized systems such as xMass (4 × xSDR with shared clock and sync),
hardware-level clock and synchronization distribution ensures timing alignment
between devices. While `osmo-trx-usdr` can theoretically operate with multiple
externally synchronized devices, the Osmocom OsmoTRX architecture operates with one TRX per `osmo-trx` process.
File doc/manuals/chapters/trx-devices.adoc:
https://gerrit.osmocom.org/c/osmo-trx/+/42198/comment/798bfb33_61cbc8ec?usp… :
PS3, Line 102: scale the number of TRX instances.
> I'd welcome some extra documentation here regarding how "multi-unit setups to […]
Good point, thanks.
By "multi-unit setups" I mean deployments where multiple independent SDR devices
(e.g. several uSDR units) are used, each controlled by its own `osmo-trx-usdr`
process instance, thereby providing one TRX per device.
If synchronization between devices is required, it must be provided externally
via shared clock and sync distribution (e.g. 1PPS and reference clock, as in
xMass setups).
I will extend this section to clarify the deployment model and add a reference
to the relevant USDR documentation.
--
To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/42198?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: osmo-trx
Gerrit-Branch: master
Gerrit-Change-Id: I5d1d25921514954c4929ae6e7352168b3ceb05df
Gerrit-Change-Number: 42198
Gerrit-PatchSet: 4
Gerrit-Owner: Timur Davydov <dtv.comp(a)gmail.com>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-CC: Hoernchen <ewild(a)sysmocom.de>
Gerrit-CC: laforge <laforge(a)osmocom.org>
Gerrit-CC: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: Hoernchen <ewild(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Thu, 26 Feb 2026 18:37:52 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Attention is currently required from: Timur Davydov.
Hello Jenkins Builder,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-trx/+/42199?usp=email
to look at the new patch set (#5).
The following approvals got outdated and were removed:
Verified+1 by Jenkins Builder
Change subject: fix(threads): centralize portable strerror handling
......................................................................
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
---
M CommonLibs/Threads.cpp
M CommonLibs/Utils.cpp
M CommonLibs/Utils.h
M CommonLibs/trx_rate_ctr.cpp
M Transceiver52M/device/ipc/IPCDevice.cpp
5 files changed, 31 insertions(+), 9 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/99/42199/5
--
To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/42199?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: osmo-trx
Gerrit-Branch: master
Gerrit-Change-Id: I642aff8a9f98823e117c4debd19384ddf5975039
Gerrit-Change-Number: 42199
Gerrit-PatchSet: 5
Gerrit-Owner: Timur Davydov <dtv.comp(a)gmail.com>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: Timur Davydov <dtv.comp(a)gmail.com>
Attention is currently required from: Hoernchen, Timur Davydov, laforge, pespin.
Hello Jenkins Builder, pespin,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-trx/+/42198?usp=email
to look at the new patch set (#4).
The following approvals got outdated and were removed:
Code-Review-1 by pespin, Verified+1 by Jenkins Builder
Change subject: feat(usdr): add USDR backend support (osmo-trx-usdr)
......................................................................
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
---
M .gitignore
M Transceiver52M/Makefile.am
M Transceiver52M/device/Makefile.am
A Transceiver52M/device/usdr/Makefile.am
A Transceiver52M/device/usdr/USDRDevice.cpp
A Transceiver52M/device/usdr/USDRDevice.h
M configure.ac
M contrib/systemd/Makefile.am
A contrib/systemd/osmo-trx-usdr.service
A debian/osmo-trx-usdr.install
A debian/osmo-trx-usdr.postinst
M doc/examples/Makefile.am
A doc/examples/osmo-trx-usdr/osmo-trx-usdr.cfg
M doc/manuals/Makefile.am
M doc/manuals/chapters/trx-backends.adoc
M doc/manuals/chapters/trx-devices.adoc
16 files changed, 1,146 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/98/42198/4
--
To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/42198?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: osmo-trx
Gerrit-Branch: master
Gerrit-Change-Id: I5d1d25921514954c4929ae6e7352168b3ceb05df
Gerrit-Change-Number: 42198
Gerrit-PatchSet: 4
Gerrit-Owner: Timur Davydov <dtv.comp(a)gmail.com>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-CC: Hoernchen <ewild(a)sysmocom.de>
Gerrit-CC: laforge <laforge(a)osmocom.org>
Gerrit-CC: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: Hoernchen <ewild(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: Timur Davydov <dtv.comp(a)gmail.com>
Attention is currently required from: lynxis lazus.
Hello Jenkins Builder,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/42223?usp=email
to look at the new patch set (#2).
The following approvals got outdated and were removed:
Verified-1 by Jenkins Builder
Change subject: After initialisation: turn user led on
......................................................................
After initialisation: turn user led on
Related: OS#5158
Change-Id: Ide37ea32648536d333bd5051b142eb15959d29bf
---
M sysmoOCTSIM/main.c
1 file changed, 7 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/23/42223/2
--
To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/42223?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: osmo-ccid-firmware
Gerrit-Branch: master
Gerrit-Change-Id: Ide37ea32648536d333bd5051b142eb15959d29bf
Gerrit-Change-Number: 42223
Gerrit-PatchSet: 2
Gerrit-Owner: lynxis lazus <lynxis(a)fe80.eu>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Attention: lynxis lazus <lynxis(a)fe80.eu>
lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/42225?usp=email )
Change subject: sysmoOCTSIM: define own IRQ handlers
......................................................................
sysmoOCTSIM: define own IRQ handlers
Previous: In case of an fault, nmi or an uncatched IRQ, the OCTSIM
would go into a while(1) loop and would require a power cycle.
Use a generic panic handler
Change-Id: If8476fd4a784312a0597ddd0b7eb54a7ebf94868
---
M sysmoOCTSIM/main.c
1 file changed, 36 insertions(+), 2 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/25/42225/1
diff --git a/sysmoOCTSIM/main.c b/sysmoOCTSIM/main.c
index e641822..1c424b0 100644
--- a/sysmoOCTSIM/main.c
+++ b/sysmoOCTSIM/main.c
@@ -41,7 +41,11 @@
volatile bool break_on_panic = false;
-static void panic_handler(const char *fmt, va_list args)
+/* To have the panic handler as simple as possible to also call
+ * in cases of stack overflow, etc, have a _panic_handler() with
+ * no arguments.
+ */
+static inline void _panic_handler(void)
{
if (break_on_panic) {
__asm("BKPT #0"); /* wait for JTAG/SWD */
@@ -51,10 +55,40 @@
}
}
+static void panic_handler(const char *fmt, va_list args)
+{
+ _panic_handler();
+}
+
+/* Use functions to have the fault type available in the backtrace. */
+void NonMaskableInt_Handler(void)
+{
+ _panic_handler();
+}
+
+void HardFault_Handler(void)
+{
+ _panic_handler();
+}
+
+void BusFault_Handler(void)
+{
+ _panic_handler();
+}
+
+void UsageFault_Handler(void)
+{
+ _panic_handler();
+}
+
+void Fallback_Handler(void)
+{
+ _panic_handler();
+}
+
extern struct ccid_slot_ops iso_fsm_slot_ops;
static struct ccid_instance g_ci;
-
static void ccid_app_init(void);
static void board_init(void)
--
To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/42225?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: osmo-ccid-firmware
Gerrit-Branch: master
Gerrit-Change-Id: If8476fd4a784312a0597ddd0b7eb54a7ebf94868
Gerrit-Change-Number: 42225
Gerrit-PatchSet: 1
Gerrit-Owner: lynxis lazus <lynxis(a)fe80.eu>