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/+/42654?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: build: detect pthread_setname_np and sched_* APIs, guard usage
......................................................................
build: detect pthread_setname_np and sched_* APIs, guard usage
Add configure checks for pthread_setname_np and sched_* functions.
Wrap their usage with HAVE_* guards to avoid build failures on
platforms where they are unavailable.
Return -ENOTSUP for unsupported scheduler operations.
Improves portability across non-Linux and restricted environments
(e.g. WebAssembly).
Change-Id: Ic3f1492544439d88c5e6683330c6696de1c2f85b
---
M CommonLibs/Threads.cpp
M Transceiver52M/device/ipc/ipc-driver-test.c
M Transceiver52M/ms/threadsched.cpp
M Transceiver52M/ms/uhd_specific.h
M Transceiver52M/osmo-trx.cpp
M configure.ac
6 files changed, 41 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/54/42654/2
--
To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/42654?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: Ic3f1492544439d88c5e6683330c6696de1c2f85b
Gerrit-Change-Number: 42654
Gerrit-PatchSet: 2
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: pespin.
Timur Davydov has posted comments on this change by Timur Davydov. ( https://gerrit.osmocom.org/c/osmo-trx/+/42678?usp=email )
Change subject: trx: add JSON serialization for 'show trx'
......................................................................
Patch Set 1:
(1 comment)
Patchset:
PS1:
> where is this being used? I doubt this will ever enter osmo-trx, doesn't seem like something which s […]
This code is only compiled in the WebSDR build (guarded by the build system) and is not part of the regular osmo-trx build.
It is used to expose device/runtime information directly to the WebSDR frontend, which cannot use VTY/CTRL/stats interfaces.
--
To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/42678?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: Icbfb754580daa6db9b5646cc6698a6a6ee1c1610
Gerrit-Change-Number: 42678
Gerrit-PatchSet: 1
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: Wed, 29 Apr 2026 19:48:41 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Attention is currently required from: laforge.
falconia has posted comments on this change by falconia. ( https://gerrit.osmocom.org/c/libosmo-abis/+/42680?usp=email )
Change subject: lapd_sap_stop(): fix use of uninitialized stack memory
......................................................................
Patch Set 1:
(1 comment)
Patchset:
PS1:
This patch now has two CR+1 votes from @vyanitskiy@sysmocom.de and @pespin@sysmocom.de, but a little over 48 h ago @pespin@sysmocom.de also requested review from @laforge@osmocom.org, who hasn't commented yet. I shall give it another couple of days, then do CR+2 to myself and merge.
--
To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/42680?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: libosmo-abis
Gerrit-Branch: master
Gerrit-Change-Id: Ic1469698ee8edf9b6fb55df8f79cc062be711f61
Gerrit-Change-Number: 42680
Gerrit-PatchSet: 1
Gerrit-Owner: falconia <falcon(a)freecalypso.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Comment-Date: Wed, 29 Apr 2026 19:42:24 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/42667?usp=email )
Change subject: pySim-prog/cards: fix programming of EF.SMSP
......................................................................
pySim-prog/cards: fix programming of EF.SMSP
The legacy code found in legacy/cards.py does not use the modern
construct based encoder (pySim-read uses it). The card classes either
use their own implementation of update_smsp or use the generic method
provided by the SimCard class. The latter one is true for FairwavesSIM
and WavemobileSim.
Unfortunately the implementation found in the SimCard is wrong. It
adds padding at the end of the file instead of the beginning. This
completely messes up the contents of EF.SMSP for the cards using this
method. To fix this, let's use the leftpad feature provided by
the update_record. This will ensure a correct alignment of the file
contents.
Related: SYS#7765
Change-Id: Ie112418f1f1461762d61365d3863181ca6be7245
---
M pySim/legacy/cards.py
M tests/pySim-prog_test/Fairwaves-SIM.ok
M tests/pySim-prog_test/Wavemobile-SIM.ok
3 files changed, 4 insertions(+), 3 deletions(-)
Approvals:
Jenkins Builder: Verified
laforge: Looks good to me, approved
diff --git a/pySim/legacy/cards.py b/pySim/legacy/cards.py
index 9efa66b..3b66328 100644
--- a/pySim/legacy/cards.py
+++ b/pySim/legacy/cards.py
@@ -152,7 +152,8 @@
return sw
def update_smsp(self, smsp):
- data, sw = self._scc.update_record(EF['SMSP'], 1, rpad(smsp, 84))
+ print("using update_smsp")
+ data, sw = self._scc.update_record(EF['SMSP'], 1, smsp, leftpad=True)
return sw
def update_ad(self, mnc=None, opmode=None, ofm=None, path=EF['AD']):
diff --git a/tests/pySim-prog_test/Fairwaves-SIM.ok b/tests/pySim-prog_test/Fairwaves-SIM.ok
index 42e92e8..5210d01 100644
--- a/tests/pySim-prog_test/Fairwaves-SIM.ok
+++ b/tests/pySim-prog_test/Fairwaves-SIM.ok
@@ -5,7 +5,7 @@
IMSI: 001010000000111
GID1: ffffffffffffffff
GID2: ffffffffffffffff
-SMSP: e1ffffffffffffffffffffffff0581005155f5ffffffffffff000000ffffffffffffffffffffffffffff
+SMSP: ffffffffffffffffffffffffffffe1ffffffffffffffffffffffff0581005155f5ffffffffffff000000
SMSC: 0015555
SPN: Fairwaves
Show in HPLMN: False
diff --git a/tests/pySim-prog_test/Wavemobile-SIM.ok b/tests/pySim-prog_test/Wavemobile-SIM.ok
index 86f4830..3d9e9b3 100644
--- a/tests/pySim-prog_test/Wavemobile-SIM.ok
+++ b/tests/pySim-prog_test/Wavemobile-SIM.ok
@@ -5,7 +5,7 @@
IMSI: 001010000000102
GID1: Can't read file -- SW match failed! Expected 9000 and got 6a82.
GID2: Can't read file -- SW match failed! Expected 9000 and got 6a82.
-SMSP: e1ffffffffffffffffffffffff0581005155f5ffffffffffff000000ffffffffffffffffffffffffffff
+SMSP: ffffffffffffffffffffffffffffe1ffffffffffffffffffffffff0581005155f5ffffffffffff000000
SMSC: 0015555
SPN: wavemobile
Show in HPLMN: False
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/42667?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: Ie112418f1f1461762d61365d3863181ca6be7245
Gerrit-Change-Number: 42667
Gerrit-PatchSet: 5
Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: neels <nhofmeyr(a)sysmocom.de>
laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/42662?usp=email )
Change subject: ts_51_011/EF.SMSP: fix handling of 'alpha_id' field
......................................................................
ts_51_011/EF.SMSP: fix handling of 'alpha_id' field
The field 'alpha_id' is technically not an optional field, even though
the specification describes it as optional. Once the card manufacturer
decides that the field should be present, it must be always present and
vice versa.
(see code comment for a more detailed description)
Related: SYS#7765
Change-Id: I0ec99b2648b22c56f9145345e4cd8776f9217701
---
M pySim/ts_51_011.py
1 file changed, 31 insertions(+), 1 deletion(-)
Approvals:
laforge: Looks good to me, approved
Jenkins Builder: Verified
diff --git a/pySim/ts_51_011.py b/pySim/ts_51_011.py
index 0dbf6eb..89ff824 100644
--- a/pySim/ts_51_011.py
+++ b/pySim/ts_51_011.py
@@ -251,6 +251,16 @@
"numbering_plan_id": "isdn_e164" },
"call_number": "4915790109999" },
"tp_pid": b"\x00", "tp_dcs": b"\x00", "tp_vp_minutes": 4320 } ),
+ ( 'e1ffffffffffffffffffffffff0891945197109099f9ffffff0000a9',
+ { "alpha_id": "", "parameter_indicators": { "tp_dest_addr": False, "tp_sc_addr": True,
+ "tp_pid": True, "tp_dcs": True, "tp_vp": True },
+ "tp_dest_addr": { "length": 255, "ton_npi": { "ext": True, "type_of_number": "reserved_for_extension",
+ "numbering_plan_id": "reserved_for_extension" },
+ "call_number": "" },
+ "tp_sc_addr": { "length": 8, "ton_npi": { "ext": True, "type_of_number": "international",
+ "numbering_plan_id": "isdn_e164" },
+ "call_number": "4915790109999" },
+ "tp_pid": b"\x00", "tp_dcs": b"\x00", "tp_vp_minutes": 4320 } ),
( '454e6574776f726b73fffffffffffffff1ffffffffffffffffffffffffffffffffffffffffffffffff0000a7',
{ "alpha_id": "ENetworks", "parameter_indicators": { "tp_dest_addr": False, "tp_sc_addr": True,
"tp_pid": True, "tp_dcs": True, "tp_vp": False },
@@ -331,7 +341,8 @@
'ton_npi'/TonNpi, 'call_number'/PaddedBcdAdapter(Rpad(Bytes(10))))
DestAddr = Struct('length'/Rebuild(Int8ub, lambda ctx: EF_SMSP.dest_addr_len(ctx)),
'ton_npi'/TonNpi, 'call_number'/PaddedBcdAdapter(Rpad(Bytes(10))))
- self._construct = Struct('alpha_id'/COptional(GsmOrUcs2Adapter(Rpad(Bytes(this._.total_len-28)))),
+ # (see comment below)
+ self._construct = Struct('alpha_id'/GsmOrUcs2Adapter(Rpad(Bytes(this._.total_len-28))),
'parameter_indicators'/InvertAdapter(BitStruct(
Const(7, BitsInteger(3)),
'tp_vp'/Flag,
@@ -345,6 +356,25 @@
'tp_dcs'/Bytes(1),
'tp_vp_minutes'/EF_SMSP.ValidityPeriodAdapter(Byte))
+ # Ensure 'alpha_id' is always present
+ def encode_record_hex(self, abstract_data: dict, record_nr: int, total_len: int = None) -> str:
+ # Problem: TS 51.011 Section 10.5.6 describes the 'alpha_id' field as optional. However, this is only true
+ # at the time when the record length of the file is set up in the file system. A card manufacturer may decide
+ # to remove the field by setting the record length to 28. Likewise, the card manaufacturer may also decide to
+ # set the field to a distinct length by setting the record length to a value greater than 28 (e.g. 14 bytes
+ # 'alpha_id' + 28 bytes). Due to the fixed nature of the record length, this eventually means that in practice
+ # 'alpha_id' is a mandatory field with a fixed length.
+ #
+ # Due to the problematic specification of 'alpha_id' as a pseudo-optional field at the beginning of a
+ # fixed-size memory, the construct definition in self._construct has been incorrectly implemented and the field
+ # has been marked as COptional. We may correct the problem by removing COptional. But to maintain compatibility,
+ # we then have to ensure that in case the field is not provided (None), it is set to an empty string ('').
+ #
+ # See also ts_31_102.py, class EF_OCI for a correct example.
+ if abstract_data['alpha_id'] is None:
+ abstract_data['alpha_id'] = ''
+ return super().encode_record_hex(abstract_data, record_nr, total_len)
+
# TS 51.011 Section 10.5.7
class EF_SMSS(TransparentEF):
class MemCapAdapter(Adapter):
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/42662?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: I0ec99b2648b22c56f9145345e4cd8776f9217701
Gerrit-Change-Number: 42662
Gerrit-PatchSet: 7
Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: lynxis lazus <lynxis(a)fe80.eu>
Gerrit-Reviewer: neels <nhofmeyr(a)sysmocom.de>
Attention is currently required from: fixeria, neels.
laforge has posted comments on this change by neels. ( https://gerrit.osmocom.org/c/pysim/+/42155?usp=email )
Change subject: esim/http_json_api.py: support text/plain response Content-Type
......................................................................
Patch Set 2:
(1 comment)
Patchset:
PS2:
> I would argue that we should not change the default of this code intended for ES2+ and ES9+ (where e […]
Or optionally, When instantiating the object there could be a parameter modifying the behaviour, so we don't clutter every call to call() ?
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/42155?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: Iba6e4cef1048b376050a435a900c0f395655a790
Gerrit-Change-Number: 42155
Gerrit-PatchSet: 2
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Comment-Date: Wed, 29 Apr 2026 19:38:10 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: laforge <laforge(a)osmocom.org>
Attention is currently required from: fixeria, neels.
laforge has posted comments on this change by neels. ( https://gerrit.osmocom.org/c/pysim/+/42155?usp=email )
Change subject: esim/http_json_api.py: support text/plain response Content-Type
......................................................................
Patch Set 2:
(1 comment)
Patchset:
PS2:
I would argue that we should not change the default of this code intended for ES2+ and ES9+ (where enforcing JSON makes sense). Can't we just have some optional kwarg where the caller of the call() method can enable non-JSON?
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/42155?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: Iba6e4cef1048b376050a435a900c0f395655a790
Gerrit-Change-Number: 42155
Gerrit-PatchSet: 2
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Comment-Date: Wed, 29 Apr 2026 19:37:24 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No