kirr has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/39535?usp=email )
Change subject: trx_toolkit/transceiver: Use with tx_queue_lock instead of manual acquire/release
......................................................................
trx_toolkit/transceiver: Use with tx_queue_lock instead of manual acquire/release
- it is a bit faster
- it is a bit more robust as the lock becomes released in case
some exception is raised before reaching release
Noticed while moving forwarding out of tx_queue_lock in
I7d10c972c45b2b5765e7c3a28f8646508b3c8a82.
Change-Id: I74b194120bcc518d44796b57e36368bdc8de4aab
---
M src/target/trx_toolkit/transceiver.py
1 file changed, 9 insertions(+), 11 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/35/39535/1
diff --git a/src/target/trx_toolkit/transceiver.py b/src/target/trx_toolkit/transceiver.py
index 2a638c5..e6af013 100644
--- a/src/target/trx_toolkit/transceiver.py
+++ b/src/target/trx_toolkit/transceiver.py
@@ -312,18 +312,16 @@
emit = []
wait = []
- self._tx_queue_lock.acquire()
+ with self._tx_queue_lock:
+ for msg in self._tx_queue:
+ if msg.fn < fn:
+ drop.append(msg)
+ elif msg.fn == fn:
+ emit.append(msg)
+ else:
+ wait.append(msg)
- for msg in self._tx_queue:
- if msg.fn < fn:
- drop.append(msg)
- elif msg.fn == fn:
- emit.append(msg)
- else:
- wait.append(msg)
-
- self._tx_queue = wait
- self._tx_queue_lock.release()
+ self._tx_queue = wait
for msg in emit:
fwd.forward_msg(self, msg)
--
To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/39535?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: osmocom-bb
Gerrit-Branch: master
Gerrit-Change-Id: I74b194120bcc518d44796b57e36368bdc8de4aab
Gerrit-Change-Number: 39535
Gerrit-PatchSet: 1
Gerrit-Owner: kirr <kirr(a)nexedi.com>
Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-CC: osmith <osmith(a)sysmocom.de>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
kirr has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/39537?usp=email )
Change subject: trx_toolkit/*: Try to avoid copying burst data where possible
......................................................................
trx_toolkit/*: Try to avoid copying burst data where possible
Conveying burst data is the primary flow in data place of what fake_trx
does, so the less copies we do, the less we make CPU loaded.
After this change I can finally run 1 BTS + 2 Mobile + 1 ccch_scan
without hitting "Stale message ..." on fake_trx side. However fake_trx
cpu load is close to 100% and there are internal clock overruns often:
[WARNING] clck_gen.py:97 CLCKGen: time overrun by -1385us; resetting the clock
[WARNING] clck_gen.py:97 CLCKGen: time overrun by -2657us; resetting the clock
[WARNING] clck_gen.py:97 CLCKGen: time overrun by -1264us; resetting the clock
[WARNING] clck_gen.py:97 CLCKGen: time overrun by -2913us; resetting the clock
[WARNING] clck_gen.py:97 CLCKGen: time overrun by -1836us; resetting the clock
...
This suggests that even though fake_trx.py + tx-queue started to work
somehow, the rewrite of fake_trx in C, as explained in OS#6672, is still
better to do.
Change-Id: I147da2f110dedc863361059c931f609c28a69e9c
---
M src/target/trx_toolkit/data_if.py
M src/target/trx_toolkit/data_msg.py
2 files changed, 24 insertions(+), 34 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/37/39537/1
diff --git a/src/target/trx_toolkit/data_if.py b/src/target/trx_toolkit/data_if.py
index 8e80894..5bc243f 100644
--- a/src/target/trx_toolkit/data_if.py
+++ b/src/target/trx_toolkit/data_if.py
@@ -67,7 +67,7 @@
# Attempt to parse a TRXD Tx message
try:
msg = TxMsg()
- msg.parse_msg(bytearray(data))
+ msg.parse_msg(data)
except:
log.error("Failed to parse a TRXD Tx message "
"from R:%s:%u" % (self.remote_addr, self.remote_port))
diff --git a/src/target/trx_toolkit/data_msg.py b/src/target/trx_toolkit/data_msg.py
index b5993d2..21641cb 100644
--- a/src/target/trx_toolkit/data_msg.py
+++ b/src/target/trx_toolkit/data_msg.py
@@ -79,16 +79,16 @@
return 1 + 4 # (VER + TN) + FN
@abc.abstractmethod
- def gen_hdr(self):
- ''' Generate message specific header. '''
+ def append_hdr_to(self, buf):
+ ''' Generate message specific header by appending it to buf. '''
@abc.abstractmethod
def parse_hdr(self, hdr):
''' Parse message specific header. '''
@abc.abstractmethod
- def gen_burst(self):
- ''' Generate message specific burst. '''
+ def append_burst_to(self, buf):
+ ''' Generate message specific burst by appending it to buf. '''
@abc.abstractmethod
def parse_burst(self, burst):
@@ -189,12 +189,11 @@
buf += struct.pack(">L", self.fn)
# Generate message specific header part
- hdr = self.gen_hdr()
- buf += hdr
+ self.append_hdr_to(buf)
# Generate burst
if self.burst is not None:
- buf += self.gen_burst()
+ self.append_burst_to(buf)
# This is a rudiment from (legacy) OpenBTS transceiver,
# some L1 implementations still expect two dummy bytes.
@@ -228,7 +227,7 @@
self.parse_hdr(msg)
# Copy burst, skipping header
- msg_burst = msg[self.HDR_LEN:]
+ msg_burst = memoryview(msg)[self.HDR_LEN:]
if len(msg_burst) > 0:
self.parse_burst(msg_burst)
else:
@@ -308,28 +307,23 @@
# Strip useless whitespace and return
return result.strip()
- def gen_hdr(self):
- ''' Generate message specific header part. '''
-
- # Allocate an empty byte-array
- buf = bytearray()
+ def append_hdr_to(self, buf):
+ ''' Generate message specific header by appending it to buf. '''
# Put power
buf.append(self.pwr)
- return buf
-
def parse_hdr(self, hdr):
''' Parse message specific header part. '''
# Parse power level
self.pwr = hdr[5]
- def gen_burst(self):
- ''' Generate message specific burst. '''
+ def append_burst_to(self, buf):
+ ''' Generate message specific burst by appending it to buf. '''
# Copy burst 'as is'
- return bytearray(self.burst)
+ return buf.extend(self.burst)
def parse_burst(self, burst):
''' Parse message specific burst. '''
@@ -338,9 +332,13 @@
# Distinguish between GSM and EDGE
if length >= EDGE_BURST_LEN:
- self.burst = bytearray(burst[:EDGE_BURST_LEN])
+ if length > EDGE_BURST_LEN:
+ burst = burst[:EDGE_BURST_LEN]
else:
- self.burst = bytearray(burst[:GMSK_BURST_LEN])
+ if length > GMSK_BURST_LEN:
+ burst = burst[:GMSK_BURST_LEN]
+
+ self.burst = bytearray(burst)
def rand_burst(self, length = GMSK_BURST_LEN):
''' Generate a random message specific burst. '''
@@ -602,11 +600,8 @@
self.mod_type = Modulation.ModGMSK
self.tsc_set = mts & 0b11
- def gen_hdr(self):
- ''' Generate message specific header part. '''
-
- # Allocate an empty byte-array
- buf = bytearray()
+ def append_hdr_to(self, buf):
+ ''' Generate message specific header by appending it to buf. '''
# Put RSSI
buf.append(-self.rssi)
@@ -623,8 +618,6 @@
# C/I: Carrier-to-Interference ratio (in centiBels)
buf += struct.pack(">h", self.ci)
- return buf
-
def parse_hdr(self, hdr):
''' Parse message specific header part. '''
@@ -641,14 +634,11 @@
# C/I: Carrier-to-Interference ratio (in centiBels)
self.ci = struct.unpack(">h", hdr[9:11])[0]
- def gen_burst(self):
- ''' Generate message specific burst. '''
+ def append_burst_to(self, buf):
+ ''' Generate message specific burst appending it to buf. '''
# Convert soft-bits to unsigned soft-bits
- burst_usbits = self.sbit2usbit(self.burst)
-
- # Encode to bytes
- return bytearray(burst_usbits)
+ buf.extend( self.sbit2usbit(self.burst) ) # XXX copies; can probably remove them with numpy
def _parse_burst_v0(self, burst):
''' Parse message specific burst for header version 0. '''
--
To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/39537?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: osmocom-bb
Gerrit-Branch: master
Gerrit-Change-Id: I147da2f110dedc863361059c931f609c28a69e9c
Gerrit-Change-Number: 39537
Gerrit-PatchSet: 1
Gerrit-Owner: kirr <kirr(a)nexedi.com>
Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-CC: osmith <osmith(a)sysmocom.de>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
kirr has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/39532?usp=email )
Change subject: trxcon: Advance Uplink TDMA Fn by default again
......................................................................
trxcon: Advance Uplink TDMA Fn by default again
This essentially reverts 923e9b0b (trxcon: do not advance Uplink TDMA Fn
by default; I838b1ebc54e4c5d116f8af2155d97215a6133ba4) for the following
reason:
In trxcon TRX clock is unused, because the signal from BTS is used as
the master clock source instead (see 45c821ae/Ic8a5b6277c6b16392026e0557376257d71c9d230
"trxcon: get rid of the timer driven clock module" for details".
Before restoration of tx-queue in fake_trx this was working ok even with
fn-advance=0 on Ms side, but after I41291708effdd2c767be680fff22ffbd9a56815e
(Revert "Revert "trx_toolkit/transceiver.py: implement the transmit
burst queue"") fake_trx is sending frames having Fn when exactly same Fn
happens corresponding on fake_trx clock. This results in BTS frames
(that are sent with fn-advance=2 by default (see
I7da3d0948f38e12342fb714b29f8edc5e9d0933d in osmo-bts.git and OS#4487)
to be queued, waited to be sent, and then actually sent to Ms on
fn=msg.fn . And then even if Ms replies immediately with that same fn,
that message will be dropped by fake_trx as stalled, because fake_trx
thinks that the message is too late since that fn already happened
according to fake_trx clock.
Here is a trace of how that looks like with 1 BTS and 1 MS(*):
7.106.927 CLOCK fn=80 # fake_trx running
7.111.592 CLOCK fn=81
7.116.289 CLOCK fn=82
7.120.949 CLOCK fn=83
7.125.523 CLOCK fn=84
7.130.000 CLOCK fn=85
7.134.575 CLOCK fn=86
...
7.209.222 CLOCK fn=102
7.209.897 BTS -> fn=104 tn=0 # BTS starts to emit RF
7.210.221 BTS -> fn=104 tn=1
7.210.556 BTS -> fn=104 tn=2
7.210.796 BTS -> fn=104 tn=3
7.211.019 BTS -> fn=104 tn=4
7.211.234 BTS -> fn=104 tn=5
7.211.479 BTS -> fn=104 tn=6
7.211.768 BTS -> fn=104 tn=7
7.213.086 CLOCK fn=103
7.214.354 BTS -> fn=105 tn=0
7.214.566 BTS -> fn=105 tn=1
7.214.685 BTS -> fn=105 tn=2
7.214.792 BTS -> fn=105 tn=3
7.214.890 BTS -> fn=105 tn=4
7.214.985 BTS -> fn=105 tn=5
7.215.083 BTS -> fn=105 tn=6
7.215.184 BTS -> fn=105 tn=7
7.217.823 CLOCK fn=104
7.218.869 BTS -> fn=106 tn=0
7.219.092 BTS -> fn=106 tn=1
7.219.224 BTS -> fn=106 tn=2
7.219.330 BTS -> fn=106 tn=3
7.219.431 BTS -> fn=106 tn=4
7.219.527 BTS -> fn=106 tn=5
7.219.621 BTS -> fn=106 tn=6
7.219.718 BTS -> fn=106 tn=7
7.222.535 CLOCK fn=105
...
9.995.869 CLOCK fn=706 # MS will soon connect.
9.997.138 BTS -> fn=709 tn=0 # Note: BTS is sending fn=709 before CLOCK fn=707
9.997.338 BTS -> fn=709 tn=1 # so this messages become queued before CLOCK fn=709 happens
9.997.444 BTS -> fn=709 tn=2
9.997.535 BTS -> fn=709 tn=3
9.997.620 BTS -> fn=709 tn=4
9.997.708 BTS -> fn=709 tn=5
9.997.789 BTS -> fn=709 tn=6
9.997.874 BTS -> fn=709 tn=7
10.000.583 CLOCK fn=707
10.001.735 BTS -> fn=710 tn=0
10.001.932 BTS -> fn=710 tn=1
10.002.041 BTS -> fn=710 tn=2
10.002.134 BTS -> fn=710 tn=3
10.002.220 BTS -> fn=710 tn=4
10.002.373 BTS -> fn=710 tn=5
10.002.459 BTS -> fn=710 tn=6
10.002.718 BTS -> fn=710 tn=7
[DEBUG] ctrl_if_trx.py:115 (MS) Recv POWEROFF cmd # MS starts to connect
[INFO] ctrl_if_trx.py:117 (MS) Stopping transceiver...
[DEBUG] ctrl_if_trx.py:229 (MS) Ignore CMD ECHO
10.005.203 CLOCK fn=708
[DEBUG] ctrl_if_trx.py:229 (MS) Ignore CMD SETSLOT
10.006.406 BTS -> fn=711 tn=0
[DEBUG] ctrl_if_trx.py:124 (MS) Recv RXTUNE cmd
10.006.999 BTS -> fn=711 tn=1
10.007.153 BTS -> fn=711 tn=2
[DEBUG] ctrl_if_trx.py:131 (MS) Recv TXTUNE cmd
10.007.590 BTS -> fn=711 tn=3
10.007.728 BTS -> fn=711 tn=4
[DEBUG] ctrl_if_trx.py:97 (MS) Recv POWERON CMD # MS connected and activated RF
[INFO] ctrl_if_trx.py:109 (MS) Starting transceiver...
10.008.344 BTS -> fn=711 tn=5
10.008.471 BTS -> fn=711 tn=6
10.008.563 BTS -> fn=711 tn=7
10.009.868 CLOCK fn=709 # CLOCK fn=709 happens
10.009.987 MS <- fn=709 tn=0 # messages of BTS queued previously with that fn=709 are forwarded to Ms
10.010.696 MS <- fn=709 tn=1
10.010.904 MS -> fn=709 tn=0 # <-- MS sends UL message with that same fn=709 _before_ CLOCK fn=710
10.011.397 BTS -> fn=712 tn=0
10.011.507 MS <- fn=709 tn=2
10.011.770 MS <- fn=709 tn=3
10.011.968 MS <- fn=709 tn=4
10.012.156 MS <- fn=709 tn=5
10.012.342 MS <- fn=709 tn=6
10.012.527 MS <- fn=709 tn=7
10.012.914 BTS <- fn=709 tn=0
10.013.166 BTS -> fn=712 tn=1
10.013.524 MS -> fn=709 tn=1 # <-- MS sends UL message with that same fn=709 _before_ CLOCK fn=710
10.013.832 BTS -> fn=712 tn=2
10.013.949 MS -> fn=709 tn=2 # <-- MS sends UL message with that same fn=709 _before_ CLOCK fn=710
10.014.081 BTS -> fn=712 tn=3
10.014.177 MS -> fn=709 tn=3 # <-- MS sends UL message with that same fn=709 _before_ CLOCK fn=710
10.014.361 BTS -> fn=712 tn=4
10.014.475 CLOCK fn=710 # but most of those messages of MS with fn=709 are not picked up
10.014.713 MS -> fn=709 tn=4 # instantly and so become dropped as stale on CLOCK fn=710
10.014.815 MS <- fn=710 tn=0
10.015.032 BTS -> fn=712 tn=5
10.015.687 MS <- fn=710 tn=1
10.016.189 MS <- fn=710 tn=2
10.016.464 MS <- fn=710 tn=3
10.016.648 MS <- fn=710 tn=4
10.016.882 MS <- fn=710 tn=5
10.017.110 MS <- fn=710 tn=6
10.017.336 MS <- fn=710 tn=7
[WARNING] transceiver.py:321 (MS) Stale TRXD message (fn=710): fn=709 tn=1 pwr=0
[WARNING] transceiver.py:321 (MS) Stale TRXD message (fn=710): fn=709 tn=2 pwr=0
[WARNING] transceiver.py:321 (MS) Stale TRXD message (fn=710): fn=709 tn=3 pwr=0
[WARNING] transceiver.py:321 (MS) Stale TRXD message (fn=710): fn=709 tn=4 pwr=0
So without adding some fn-advance it is practically not possible for Ms
to be on time with tx-queueing on TRX even if Ms sends its uplink frames
right immediately after receiving downlink ones.
This way Ms fn-advance has to be 1 at the minimum, so that immediate UL
replies can in principle arrive before fn+1 happens on fake_trx side,
even for tn=7. And it is also better to increase fn-advance once more by
another +1, to compensate for possible jitter due to OS scheduling
latencies and similar things. This way default fn-advance=2 on Ms side
becomes symmetric to default fn-advance on BTS side and Ms<->BTS
exchange starts to work ok even with tx-queueing activated on fake_trx.
In theory it should be possible to reduce those fn-advances to 1 on both
sides, but that will likely require to switch clock granularity from Fn
to Tn increasing precision by an order of magnitude, which will likely
also result in the need to make architectural change of moving trx to
work inside BTS and MS instead of being separate service processes.
That's a big task and I'm not delving into that here.
Note: Uplink Fn advance > 0 is needed for Ms when working with regular
TRX'es as well. The reason is exactly the same as explained above. In
923e9b0b the reason for setting fn-advance=0 by default was that trxcon
is usually being used with fake_trx, and that with fake_trx it is not
needed. But after reenabling tx-queueing we have to revisit even
fake_trx case again.
(*) the trace was captured with the help of the following debugging patch:
--- b/src/target/trx_toolkit/burst_fwd.py
+++ a/src/target/trx_toolkit/burst_fwd.py
@@ -22,6 +22,18 @@
from trx_list import TRXList
+import sys, time
+
+# trace logs msg to stderr with also marking it with high-resolution timestamp.
+t0 = time.time()
+def trace(msg):
+ t = time.time() - t0
+ t_ms = int(t * 1e3) / 1e3
+ us = int((t - t_ms) * 1e6)
+ print("%7.3f.%03d %s" % (t_ms, us, msg), file=sys.stderr)
+
class BurstForwarder(TRXList):
""" Performs burst forwarding between transceivers.
@@ -63,6 +75,7 @@ def forward_msg(self, src_trx, rx_msg):
if trx.get_rx_freq(rx_msg.fn) != tx_freq:
continue
+ trace("%s\t<- fn=%d\ttn=%d" % (trx, rx_msg.fn, rx_msg.tn))
# Transform from TxMsg to RxMsg and forward
tx_msg = rx_msg.trans(ver = trx.data_if._hdr_ver)
trx.handle_data_msg(src_trx, rx_msg, tx_msg)
--- b/src/target/trx_toolkit/fake_trx.py
+++ a/src/target/trx_toolkit/fake_trx.py
@@ -29,7 +29,7 @@
import re
from app_common import ApplicationBase
-from burst_fwd import BurstForwarder
+from burst_fwd import BurstForwarder, trace
from transceiver import Transceiver
from data_msg import Modulation
from clck_gen import CLCKGen
@@ -473,6 +473,7 @@ def run(self):
# This method will be called by the clock thread
def clck_handler(self, fn):
+ trace("CLOCK\tfn=%d" % fn)
# We assume that this list is immutable at run-time
for trx in self.trx_list.trx_list:
trx.clck_tick(self.burst_fwd, fn)
--- b/src/target/trx_toolkit/transceiver.py
+++ a/src/target/trx_toolkit/transceiver.py
@@ -25,6 +25,7 @@
from data_if import DATAInterface
from udp_link import UDPLink
from trx_list import TRXList
+from burst_fwd import trace
from gsm_shared import HoppingParams
@@ -198,6 +199,7 @@ def __init__(self, bind_addr, remote_addr, base_port, **kwargs):
self._tx_queue = []
def __str__(self):
+ return self.name
desc = "%s:%d" % (self.remote_addr, self.base_port)
if self.child_idx > 0:
desc += "/%d" % self.child_idx
@@ -289,6 +291,7 @@ def recv_data_msg(self):
return None
# Enque the message, it will be sent later
+ trace("%s\t-> fn=%d\ttn=%d" % (self, msg.fn, msg.tn))
self.tx_queue_append(msg)
return msg
Change-Id: Icf0b4568b44eb75ee0733391d94b0af86f27ee2e
---
M src/host/trxcon/src/trxcon_main.c
1 file changed, 2 insertions(+), 2 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/32/39532/1
diff --git a/src/host/trxcon/src/trxcon_main.c b/src/host/trxcon/src/trxcon_main.c
index 3901e33..78963b7 100644
--- a/src/host/trxcon/src/trxcon_main.c
+++ b/src/host/trxcon/src/trxcon_main.c
@@ -79,7 +79,7 @@
.trx_remote_ip = "127.0.0.1",
.trx_bind_ip = "0.0.0.0",
.trx_base_port = 6700,
- .trx_fn_advance = 0,
+ .trx_fn_advance = 2,
.phyq_fbsb_extend_fns = 0,
};
@@ -184,7 +184,7 @@
printf(" -b --trx-bind TRX bind IP address (default 0.0.0.0)\n");
printf(" -i --trx-remote TRX remote IP address (default 127.0.0.1)\n");
printf(" -p --trx-port Base port of TRX instance (default 6700)\n");
- printf(" -f --trx-advance Uplink burst scheduling advance (default 0)\n");
+ printf(" -f --trx-advance Uplink burst scheduling advance (default 2)\n");
printf(" -F --fbsb-extend FBSB timeout extension (in TDMA FNs, default 0)\n");
printf(" -s --socket Listening socket for layer23 (default /tmp/osmocom_l2)\n");
printf(" -g --gsmtap-ip The destination IP used for GSMTAP (disabled by default)\n");
--
To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/39532?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: osmocom-bb
Gerrit-Branch: master
Gerrit-Change-Id: Icf0b4568b44eb75ee0733391d94b0af86f27ee2e
Gerrit-Change-Number: 39532
Gerrit-PatchSet: 1
Gerrit-Owner: kirr <kirr(a)nexedi.com>
Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-CC: osmith <osmith(a)sysmocom.de>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
kirr has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/39533?usp=email )
Change subject: trx_toolkit/transceiver: Do not forward nor log from under tx_queue_lock
......................................................................
trx_toolkit/transceiver: Do not forward nor log from under tx_queue_lock
Even though for 1 BTS + 1 MS fake_trx works ok with tx-queuing, when I
try to run two ccch_scan's with 1 BTS fake_trx starts occupy ~ 100% of
CPU and emits lots of "Stale ..." messages:
[WARNING] transceiver.py:317 (M2@127.0.0.1:7700) Stale TRXD message (fn=2793): fn=2791 tn=7 pwr=0
[WARNING] transceiver.py:317 (M2@127.0.0.1:7700) Stale TRXD message (fn=2793): fn=2792 tn=0 pwr=0
[WARNING] transceiver.py:317 (M2@127.0.0.1:7700) Stale TRXD message (fn=2793): fn=2792 tn=1 pwr=0
[WARNING] transceiver.py:317 (M2@127.0.0.1:7700) Stale TRXD message (fn=2793): fn=2792 tn=2 pwr=0
[WARNING] transceiver.py:317 (M2@127.0.0.1:7700) Stale TRXD message (fn=2793): fn=2792 tn=3 pwr=0
...
Inspecting a bit with a profiler showed that fake_trx simply cannot keep
up with the load.
Let's try to fix this with optimizing things a bit where it is easy to
notice and easy to pick up low-hanging fruits.
This is the first patch in that optimization series. It moves blocking
calls from out of under tx_queue_lock on transmit path. The reason for
this move is not to block receive path while the transmit path is busy
more than necessary. I originally noticed tx_queue_lock.acquire being
visible in profile of the rx thread which indicates that tx/rx
contention on this lock can really happen if we do non-negligible tasks
from under this lock. Here, in particular, it was forward_msg that was
preparing and actually sending RxMsg to destination. tx_queue_lock is
needed only to protect tx_queue itself and synchronize rx and tx threads
access to it. Once necessary items are appended or popped, we can do
everything else out of this lock.
-> Move everything on the tx codepath, not actually needing access to
tx_queue out of this lock:
- only collect messages to be sent under the lock; actually forward them
after releasing the log;
- same for logging.
Change-Id: I7d10c972c45b2b5765e7c3a28f8646508b3c8a82
---
M src/target/trx_toolkit/transceiver.py
1 file changed, 14 insertions(+), 5 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/33/39533/1
diff --git a/src/target/trx_toolkit/transceiver.py b/src/target/trx_toolkit/transceiver.py
index 4e1cb87..7297abf 100644
--- a/src/target/trx_toolkit/transceiver.py
+++ b/src/target/trx_toolkit/transceiver.py
@@ -308,14 +308,23 @@
if not self.running:
return
+ drop = []
+ emit = []
+
self._tx_queue_lock.acquire()
for msg in self._tx_queue:
- if msg.fn == fn:
- fwd.forward_msg(self, msg)
- elif msg.fn < fn:
- log.warning("(%s) Stale TRXD message (fn=%u): %s"
- % (self, fn, msg.desc_hdr()))
+ if msg.fn < fn:
+ drop.append(msg)
+ elif msg.fn == fn:
+ emit.append(msg)
self._tx_queue = [msg for msg in self._tx_queue if msg.fn > fn]
self._tx_queue_lock.release()
+
+ for msg in emit:
+ fwd.forward_msg(self, msg)
+
+ for msg in drop:
+ log.warning("(%s) Stale TRXD message (fn=%u): %s"
+ % (self, fn, msg.desc_hdr()))
--
To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/39533?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: osmocom-bb
Gerrit-Branch: master
Gerrit-Change-Id: I7d10c972c45b2b5765e7c3a28f8646508b3c8a82
Gerrit-Change-Number: 39533
Gerrit-PatchSet: 1
Gerrit-Owner: kirr <kirr(a)nexedi.com>
Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-CC: osmith <osmith(a)sysmocom.de>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/39531?usp=email )
Change subject: Bump version: 1.0.0.76-ff79-dirty → 1.1.0
......................................................................
Bump version: 1.0.0.76-ff79-dirty → 1.1.0
Change-Id: I084a7cf36a6cce390c42ee44e7ac3d740e1785b4
---
M TODO-RELEASE
M configure.ac
M debian/changelog
M debian/control
M src/Makefile.am
5 files changed, 111 insertions(+), 16 deletions(-)
Approvals:
pespin: Looks good to me, approved
Jenkins Builder: Verified
diff --git a/TODO-RELEASE b/TODO-RELEASE
index 730a421..0ed7189 100644
--- a/TODO-RELEASE
+++ b/TODO-RELEASE
@@ -1,12 +1,9 @@
# When cleaning up this file: bump API version in corresponding Makefile.am and rename corresponding debian/lib*.install
-# according to https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info…
-# In short:
+# according to https://osmocom.org/projects/cellular-infrastructure/wiki/Make_a_new_release
+# In short: https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info…
# LIBVERSION=c:r:a
# If the library source code has changed at all since the last update, then increment revision: c:r + 1:a.
-# If any interfaces have been added, removed, or changed since the last update: c + 1:0:0.
+# If any interfaces have been added, removed, or changed since the last update: c + 1:0:a.
# If any interfaces have been added since the last public release: c:r:a + 1.
# If any interfaces have been removed or changed since the last public release: c:r:0.
-#library what description / commit summary line
-libosmocore > 1.9.0 working (compiling) gsmtap_inst_fd2()
-libosmo-simtrace2 >= 0.9.0 required to compile (sim presence polarity)
-libosmo-netif >1.5.1 osmo_ipa_ka_fsm_inst APIs
+#library what description / commit summary line
diff --git a/configure.ac b/configure.ac
index ad2dcdb..a49c79b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -33,9 +33,9 @@
fi
PKG_PROG_PKG_CONFIG([0.20])
-PKG_CHECK_MODULES(OSMOCORE, libosmocore >= 1.6.0)
-PKG_CHECK_MODULES(OSMOGSM, libosmogsm >= 0.11.0)
-PKG_CHECK_MODULES(OSMONETIF, libosmo-netif >= 1.5.0)
+PKG_CHECK_MODULES(OSMOCORE, libosmocore >= 1.11.0)
+PKG_CHECK_MODULES(OSMOGSM, libosmogsm >= 1.11.0)
+PKG_CHECK_MODULES(OSMONETIF, libosmo-netif >= 1.6.0)
AC_ARG_ENABLE([remsim-server],[AS_HELP_STRING([--disable-remsim-server], [Build osmo-remsim-server])],
[osmo_ac_build_server="$enableval"],[osmo_ac_build_server="yes"])
@@ -64,8 +64,8 @@
[osmo_ac_build_client_st2="$enableval"],[osmo_ac_build_client_st2="yes"])
if test "$osmo_ac_build_client_st2" = "yes"; then
AC_DEFINE(BUILD_CLIENT_ST2, 1, [Define if we want to build osmo-remsim-client-st2])
- PKG_CHECK_MODULES(OSMOUSB, libosmousb >= 1.4.0)
- PKG_CHECK_MODULES(OSMOSIMTRACE2, libosmo-simtrace2 >= 0.8.0)
+ PKG_CHECK_MODULES(OSMOUSB, libosmousb >= 1.11.0)
+ PKG_CHECK_MODULES(OSMOSIMTRACE2, libosmo-simtrace2 >= 0.9.0)
PKG_CHECK_MODULES(USB, libusb-1.0)
fi
AM_CONDITIONAL(BUILD_CLIENT_ST2, test "x$osmo_ac_build_client_st2" = "xyes")
diff --git a/debian/changelog b/debian/changelog
index 63e8eaa..3161642 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,101 @@
+osmo-remsim (1.1.0) unstable; urgency=medium
+
+ [ Harald Welte ]
+ * manual: Document the logging configuration
+ * manual: update remsim-client options to match --help output
+ * manual: Update changelog, copyright, version
+ * Fix client_id/bank_id/slot_nr range in manual + --help output
+ * Check RSPRO component type; print error if type doesn't match
+ * server: Log connection establishment from bankd/client; warn on localhost
+ * server: Log keep-alive timeout and TCP disconnects
+ * server: Differentiate log levels, not everything is DEBUG
+ * bankd: Differentiate log levels, not everything is DEBUG
+ * server: Fix segfault in error path (client component ID != client)
+ * server: Detect duplicate client/bankd connection; drop new ones
+ * bankd: Better error messages during start-up
+ * encode actual hostname in RSPRO
+ * cosmetic: various typo/spelling fixes
+ * server: Fix various error paths if startup fails
+ * bankd: Log more clearly if we fail to open a PC/SC reader
+ * rspro_client_fsm: Log clientConnectResult != ok
+ * update git URLs (git -> https; gitea)
+ * bankd: log BankID:SlotNr in every log line
+ * main_fsm: Log bankd config (ip/port/bank_id/slot_nr) + disconnect
+ * bankd: Log not just ModemToCard but also CardToModem
+ * Install + package remsim-apitool as separate sub-package
+ * debian/control: Don't use misc:Package
+ * fix rpm spec file for packacing of apitool
+ * client: Log TPDU/ATR/PTS/slotStatus at INFO or NOTICE level
+ * bankd: Open PC/SC by default in EXCLUSIVE mode
+ * client: Fix '-a' command-line argument for ATR
+ * client: Option to ignore any ATR sent by bankd
+ * bankd: Don't log an "Error" if slotmap is removed
+ * remsim-client-st2: Proper error if not all endpoints can be found
+ * Fix various 'uninitialized variable' bugs reported by coverity
+ * rest_api: strtoul canot return negative
+ * remsim_server: handle osmo_fd_register() failure case
+ * rspro_server: Handle ipa_server_link_open() error case
+ * bankd_main: Avoid uninitialized variable
+ * rspro_client_fsm: Fix integer overflow calculating re-establishment delay
+ * user_ifdhandler: Fix missing check of osmo_fd_register return val
+ * user_shell: Fix unchecked return value of osmo_fd_register()
+ * user_simtrace2: Fix uninitialized ifm->path
+ * bankd: Don't use 127.0.0.1 as default IP address for the server
+ * README.md: Major update / meaningful content
+ * Add funding link to github mirror
+
+ [ Oliver Smith ]
+ * treewide: remove FSF address
+ * packaging: osmo-remsim-apitool needs py3-requests
+ * debian: set compat level to 10
+ * systemd: depend on networking-online.target
+ * src/rspro: regenerate to fix misleading indents
+ * checkpatch.conf: ignore rspro generated files
+ * debian/rules: don't compress pdfs
+ * contrib: remove rpm spec file
+ * contrib/jenkins: libosmo-abis after libosmo-netif
+
+ [ James Tavares ]
+ * bankd: add missing -p short form option
+ * ignore libtool artifacts from cross-compile environments
+ * bankd: edge detect RESET and VCC indications
+ * client: set the local/remote mode before inserting card
+ * bankd: Add GSMTAP functionality for SIM traffic
+ * bankd, client, server: add -L option to disable log coloring
+ * rspro_client: implement re-establish delay
+
+ [ Daniel Willmann ]
+ * remsim_client: Fix custom ATR '-a' option
+
+ [ Stephan Skrodzki ]
+ * another csv example for our usb CCID reader
+
+ [ arehbein ]
+ * bankd: Use gsmtap_inst_fd2()
+
+ [ Joey Berkovitz ]
+ * user_ifdhandler: Fix segfault on startup
+
+ [ Alexander Couzens ]
+ * remsim_client: add support to set sim presence pin polarity
+
+ [ Pau Espin Pedrol ]
+ * Replace deprecated ipa_msg_push_header()
+ * Fix uninitialized return value
+ * Remove rspro_client.c which is not used anyway
+ * Makefile:am: Improve formatting and order of CFLAGS and LIBS
+ * rspro: use osmo_stream to handle IPA connection
+ * server: Implement IPA server with osmo_stream
+ * Use new osmo_ipa_ka_fsm_inst APIs from libosmo-netif
+ * Drop dependency on libosmo-abis
+ * rspro_client_fsm: Fix missing return
+ * bankd: Fix typo in fprintf string output
+ * cosmetic: rspro_client_fsm: Document event handled in all_state
+ * Several logging improvements
+ * bankd: Add -T and -e cmdline params
+
+ -- Oliver Smith <osmith(a)sysmocom.de> Wed, 12 Feb 2025 15:54:41 +0100
+
osmo-remsim (1.0.0) unstable; urgency=medium
[ Harald Welte ]
diff --git a/debian/control b/debian/control
index 3e98465..9351cc5 100644
--- a/debian/control
+++ b/debian/control
@@ -9,9 +9,9 @@
pkg-config,
osmo-gsm-manuals-dev,
libcsv-dev,
- libosmocore-dev (>= 1.6.0),
- libosmo-netif-dev (>= 1.5.0),
- libosmo-simtrace2-dev (>= 0.8.0),
+ libosmocore-dev (>= 1.11.0),
+ libosmo-netif-dev (>= 1.6.0),
+ libosmo-simtrace2-dev (>= 0.9.0),
libpcsclite-dev,
libusb-1.0-0-dev,
libulfius-dev,
diff --git a/src/Makefile.am b/src/Makefile.am
index c2551a9..8a77f36 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -16,7 +16,7 @@
$(OSMOCORE_CFLAGS) \
$(NULL)
-RSPRO_LIBVERSION=2:0:0
+RSPRO_LIBVERSION=2:1:0
lib_LTLIBRARIES = libosmo-rspro.la
libosmo_rspro_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(RSPRO_LIBVERSION)
# OSMONETIF_LIBS, OSMOGSM_LIBS not needed, we don't use any of its symbols, only the header above
--
To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/39531?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: osmo-remsim
Gerrit-Branch: master
Gerrit-Change-Id: I084a7cf36a6cce390c42ee44e7ac3d740e1785b4
Gerrit-Change-Number: 39531
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
osmith has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/39530?usp=email )
Change subject: Bump version: 0.8.1 → 0.9.0
......................................................................
Bump version: 0.8.1 → 0.9.0
Change-Id: I6965017fcd5323677ce11fd9860d4355eb8f770f
---
M TODO-RELEASE
M debian/changelog
M debian/control
M host/configure.ac
M host/lib/Makefile.am
5 files changed, 102 insertions(+), 9 deletions(-)
Approvals:
Jenkins Builder: Verified
pespin: Looks good to me, approved
diff --git a/TODO-RELEASE b/TODO-RELEASE
index 3b33942..0ed7189 100644
--- a/TODO-RELEASE
+++ b/TODO-RELEASE
@@ -3,10 +3,7 @@
# In short: https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info…
# LIBVERSION=c:r:a
# If the library source code has changed at all since the last update, then increment revision: c:r + 1:a.
-# If any interfaces have been added, removed, or changed since the last update: c + 1:0:0.
+# If any interfaces have been added, removed, or changed since the last update: c + 1:0:a.
# If any interfaces have been added since the last public release: c:r:a + 1.
# If any interfaces have been removed or changed since the last public release: c:r:0.
#library what description / commit summary line
-simtrace2 API/ABI change osmo_st2_transport new member
-simtrace2 API/ABI change cardemu_usb_msg_config new member
-simtrace2 API/ABI change add function osmo_st2_cardem_request_config2()
diff --git a/debian/changelog b/debian/changelog
index 99cfb8b..b19291c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,99 @@
+simtrace2 (0.9.0) unstable; urgency=medium
+
+ [ Oliver Smith ]
+ * host/contrib/simtrace2.spec.in: update
+ * treewide: remove FSF address
+ * contrib/jenkins.sh: set USE_CLANG=1
+ * Cosmetic: fix CI errors
+ * debian/rules: remove override_dh_autoreconf
+ * debian: set compat level to 10
+ * contrib/jenkins: tweak shell logic
+ * firmware/Makefile: don't use distribution's CFLAGS
+ * contrib: remove rpm spec file
+
+ [ Eric Wild ]
+ * firmware: add crc stub to all dfu apps to ensure reliable loading
+ * wireshark lua dissector: dissect more
+ * lua dissector: adjust usage instructions
+ * conrtrib/upload : upload elf files
+ * contrib/jenkins.sh : build and publish combined targets
+ * fw: only build the bl with clang
+
+ [ James Tavares ]
+ * simtrace2-tool: add "modem sim-card (insert|remove)" command
+ * firmware: add definition for main osc bypass when using external osc
+ * gitignore: add missing entries binaries
+ * firmware: bugfix: disable cardemu comms in local SIM mode
+ * main: rotor: erase immediately after send
+ * Fix missing generation of waiting-time-extension in some situations
+
+ [ Harald Welte ]
+ * host: Print strerror(errno) in case of problems opening the USB device
+ * cosmetic: Fix indent of printf() statement
+ * host: properly zero-initialize interface match structures
+ * contrib/simtrace.lua: Add VID/PID of all currentl simtrace2 devices
+ * cosmetic: contrib/simtrace.lua: more consistent formatting
+ * contrib/simtrace.lua: Add header with author/description/usage
+ * contrib/simtrace.lua: print length + slot-number in decimal only
+ * contrib/simtrace.lua: Don't print SIMTRACE_MSGT_ in every COL_INFO
+ * contrib/simtrace.lua: Dissect some more cardem related message types
+ * contrib/simtrace.lua: Register for "decode as..."
+ * cardem: Report the VCC voltage (if supported)
+ * card_emu_uart_interrupt: ASSERT if we get called with wrong uart_chan
+ * cardem: set more reasonable interrupt priorities
+ * host: Always initialize libosmocore logging before using it
+ * simtrace2-cardem-pcsc: rename 'flags' to 'status_flags'
+ * simtrace2-cardem-pcsc: Move all logging into libosmocore
+ * simtrace2-cardem-pcsc: Detect card power-up without RESET
+ * host: Don't pass -1 (converted to 255) as address
+ * simtrace2-cardem-pcsc: Fix copy+paste error in log message
+ * simtrace2-cardem-pcsc: continue in case of LIBUSB_TRANSFER_ERROR
+ * contrib/simtrace.lua: Add Flag bits + Data to COL_INFO
+ * Reduce bInterval of interrupt endpoints to avoid interrupt misses
+ * simtrace2-cardem-pcsc.c: Send APDUs via GSMTAP
+ * update git URLs (git -> https; gitea)
+ * cardem: reset the uC in case of USB disconnect
+ * cosmetic: Fix compile-time #error message string typo
+ * firmware/sniffer: Fix copy+paste when logging invalid INS bytes
+ * firmware/sniffer: Log parity errors, just like overruns and framing errors
+ * firmware/sniffer: refactor setting TPDU state
+ * firmware/sniffer: Log old and new state in ISO7816-3 state changes
+ * firmware/sniffer: Avoid extra call for rbuf_is_full
+ * firmware/sniffer: Fix programming error in PPS
+ * firmware/sniffer: Make all global variables 'static'
+ * firmware/sniffer: Group global variables in structs
+ * firmware/sniffer: Log cause of WT change
+ * firmware/sniffer: Rename global variable 'wt' to 'g_wt'
+ * firmware/sniffer: Disable TIMEOUT interrupts in USART IER on exit
+ * firmware/sniffer: Add + use 16bit ringbuffer
+ * firmware/sniffer: Pass PARITY/OVERRUN/FRAMING error via ringbuffer
+ * firmware/sniffer: Handle WT timeouts via ring-buffer
+ * firmware/sniffer: introduce #define for interrupt enable flags
+ * firmware/sniffer: Enable interrupts for overrun/parity/frame errors
+ * Fix unchecked return value of osmo_libusb_init()
+ * Add funding link to github mirror
+ * README.md: Fix mark-down nested bullet syntax
+ * README.md: Fix mark-down nested bullet syntax
+ * README.md: add links to SIMtrace2 and QMOD
+ * README.md: Add links to where hardware can be bought
+ * README.md: Add section on ngff_carem
+ * README.md: Add note to avoid using a VM
+
+ [ Alexander Couzens ]
+ * firmware: usb: call USBD_HAL_DISCONNECT while usb init to recover from resets
+ * ngff_cardem: cosmetic: fix superflous space
+ * dissector: add support for sim polarity
+ * firmware: allow to change the sim presence pin polarity
+ * simtrace2-cardem-pcsc: allow to set sim presence polarity
+
+ [ Vadim Yanitskiy ]
+ * host/cardem: fix integer overflow in process_do_rx_da()
+
+ [ Philipp Maier ]
+ * simtrace2-cardem-pcsc: mark reset events in GSMTAP trace
+
+ -- Oliver Smith <osmith(a)sysmocom.de> Wed, 12 Feb 2025 16:07:53 +0100
+
simtrace2 (0.8.1) unstable; urgency=medium
* host/contrib/simtrace2.spec.in: fix soname
diff --git a/debian/control b/debian/control
index cae4e8d..75826be 100644
--- a/debian/control
+++ b/debian/control
@@ -10,7 +10,7 @@
pkg-config,
git,
dh-autoreconf,
- libosmocore-dev (>= 1.4.0),
+ libosmocore-dev (>= 1.11.0),
libpcsclite-dev,
libnewlib-arm-none-eabi,
libusb-1.0-0-dev,
diff --git a/host/configure.ac b/host/configure.ac
index fd67f4a..83a2b23 100644
--- a/host/configure.ac
+++ b/host/configure.ac
@@ -56,9 +56,9 @@
CFLAGS="$saved_CFLAGS"
AC_SUBST(SYMBOL_VISIBILITY)
-PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.4.0)
-PKG_CHECK_MODULES(LIBOSMOSIM, libosmosim >= 1.4.0)
-PKG_CHECK_MODULES(LIBOSMOUSB, libosmousb >= 1.4.0)
+PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.11.0)
+PKG_CHECK_MODULES(LIBOSMOSIM, libosmosim >= 1.11.0)
+PKG_CHECK_MODULES(LIBOSMOUSB, libosmousb >= 1.11.0)
PKG_CHECK_MODULES(LIBUSB, libusb-1.0)
AC_ARG_ENABLE(sanitize,
diff --git a/host/lib/Makefile.am b/host/lib/Makefile.am
index e134c75..dbcb3f8 100644
--- a/host/lib/Makefile.am
+++ b/host/lib/Makefile.am
@@ -1,7 +1,7 @@
# This is _NOT_ the library release version, it's an API version.
# Please read chapter "Library interface versions" of the libtool documentation
# before making any modifications: https://www.gnu.org/software/libtool/manual/html_node/Versioning.html
-ST2_LIBVERSION=1:0:0
+ST2_LIBVERSION=2:0:1
AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/include -I$(top_builddir)
AM_CFLAGS= -Wall $(LIBOSMOCORE_CFLAGS) $(LIBOSMOSIM_CFLAGS) $(LIBUSB_CFLAGS) $(COVERAGE_CFLAGS)
--
To view, visit https://gerrit.osmocom.org/c/simtrace2/+/39530?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: simtrace2
Gerrit-Branch: master
Gerrit-Change-Id: I6965017fcd5323677ce11fd9860d4355eb8f770f
Gerrit-Change-Number: 39530
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
osmith has posted comments on this change by osmith. ( https://gerrit.osmocom.org/c/simtrace2/+/39530?usp=email )
Change subject: Bump version: 0.8.1 → 0.9.0
......................................................................
Patch Set 1:
(1 comment)
File host/lib/Makefile.am:
https://gerrit.osmocom.org/c/simtrace2/+/39530/comment/f202de8b_c8e25cff?us… :
PS1, Line 4: ST2_LIBVERSION=2:0:1
> ah I think those are related to firmware, which are not controlled by this LIBVERSION, fine then.
Done
--
To view, visit https://gerrit.osmocom.org/c/simtrace2/+/39530?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: simtrace2
Gerrit-Branch: master
Gerrit-Change-Id: I6965017fcd5323677ce11fd9860d4355eb8f770f
Gerrit-Change-Number: 39530
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Wed, 12 Feb 2025 15:25:42 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: osmith <osmith(a)sysmocom.de>
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Attention is currently required from: osmith.
pespin has posted comments on this change by osmith. ( https://gerrit.osmocom.org/c/simtrace2/+/39530?usp=email )
Change subject: Bump version: 0.8.1 → 0.9.0
......................................................................
Patch Set 1: Code-Review+2
(1 comment)
File host/lib/Makefile.am:
https://gerrit.osmocom.org/c/simtrace2/+/39530/comment/4d65ffe1_7b7e4063?us… :
PS1, Line 4: ST2_LIBVERSION=2:0:1
> From the diff it looks to me like only a new struct + function was added (in the host dir, for which […]
ah I think those are related to firmware, which are not controlled by this LIBVERSION, fine then.
--
To view, visit https://gerrit.osmocom.org/c/simtrace2/+/39530?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: simtrace2
Gerrit-Branch: master
Gerrit-Change-Id: I6965017fcd5323677ce11fd9860d4355eb8f770f
Gerrit-Change-Number: 39530
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: osmith <osmith(a)sysmocom.de>
Gerrit-Comment-Date: Wed, 12 Feb 2025 15:25:03 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
Comment-In-Reply-To: osmith <osmith(a)sysmocom.de>
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>