Attention is currently required from: osmith.
neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/29155 )
Change subject: jobs/ttcn3: use new packages for 20YYqX testsuite
......................................................................
Patch Set 1: Code-Review+2
--
To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/29155
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Change-Id: I34050da1e2444cf684ff8bd07673e3268b4dd497
Gerrit-Change-Number: 29155
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Attention: osmith <osmith(a)sysmocom.de>
Gerrit-Comment-Date: Fri, 19 Aug 2022 13:22:55 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment
fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/29149 )
Change subject: osmo-bts-trx: amr_loop: trigger the loop unconditionally
......................................................................
osmo-bts-trx: amr_loop: trigger the loop unconditionally
The logic responsible for enabling and disabling the loop appears
to be broken: during my experiments trx_loop_amr_set() was never
called with loop=1. It's not clear what's the motivation behind
this breaker, so I propose to rip it out for now. This patch
finally makes the loop work (confirmed with a TEMS phone).
Related: SYS#5917, OS#4984
Change-Id: I09b649973d4269c4082a4fafa493c37825f95a9c
(cherry picked from commit 541b7525aee81fbeed23be9cddf909ebcca6ed6d)
---
M include/osmo-bts/scheduler.h
M src/osmo-bts-trx/amr_loop.c
M src/osmo-bts-trx/sched_lchan_tchf.c
3 files changed, 1 insertion(+), 30 deletions(-)
Approvals:
Jenkins Builder: Verified
osmith: Looks good to me, but someone else must approve
fixeria: Looks good to me, approved
diff --git a/include/osmo-bts/scheduler.h b/include/osmo-bts/scheduler.h
index ec31eab..c96b70b 100644
--- a/include/osmo-bts/scheduler.h
+++ b/include/osmo-bts/scheduler.h
@@ -119,7 +119,6 @@
uint8_t dl_ft; /* current downlink FT index */
uint8_t ul_cmr; /* current uplink CMR index */
uint8_t dl_cmr; /* current downlink CMR index */
- uint8_t amr_loop; /* if AMR loop is enabled */
uint8_t amr_last_dtx; /* last received dtx frame type */
/* TCH/H */
diff --git a/src/osmo-bts-trx/amr_loop.c b/src/osmo-bts-trx/amr_loop.c
index ce89091..859f39b 100644
--- a/src/osmo-bts-trx/amr_loop.c
+++ b/src/osmo-bts-trx/amr_loop.c
@@ -40,10 +40,6 @@
const uint8_t mi = chan_state->ul_ft; /* mode index 0..3 */
int lqual_cb = meas_set->ci_cb; /* cB (centibel) */
- /* check if loop is enabled */
- if (!chan_state->amr_loop)
- return;
-
/* count per-block C/I samples for further averaging */
if (lchan->type == GSM_LCHAN_TCH_H) {
chan_state->lqual_cb_num += 2;
@@ -109,16 +105,3 @@
LOGPLCHAN(lchan, DLOOP, LOGL_DEBUG, "Keeping the current AMR codec "
"mode[%u]=%u\n", mi, cfg->mode[mi].mode);
}
-
-void trx_loop_amr_set(struct l1sched_chan_state *chan_state, int loop)
-{
- if (chan_state->amr_loop == loop)
- return;
- if (!chan_state->amr_loop) {
- /* reset the link quality measurements */
- chan_state->lqual_cb_num = 0;
- chan_state->lqual_cb_sum = 0;
- }
-
- chan_state->amr_loop = loop;
-}
diff --git a/src/osmo-bts-trx/sched_lchan_tchf.c b/src/osmo-bts-trx/sched_lchan_tchf.c
index 6a90327..b530d25 100644
--- a/src/osmo-bts-trx/sched_lchan_tchf.c
+++ b/src/osmo-bts-trx/sched_lchan_tchf.c
@@ -384,7 +384,7 @@
if (msg_tch) {
int len;
uint8_t cmr_codec;
- int cmr, ft, i;
+ int ft, i;
enum osmo_amr_type ft_codec;
enum osmo_amr_quality bfi;
int8_t sti, cmi;
@@ -416,22 +416,11 @@
LOGL1SB(DL1P, LOGL_ERROR, l1ts, br, "Cannot send invalid AMR payload\n");
goto free_bad_msg;
}
- cmr = -1;
ft = -1;
for (i = 0; i < chan_state->codecs; i++) {
- if (chan_state->codec[i] == cmr_codec)
- cmr = i;
if (chan_state->codec[i] == ft_codec)
ft = i;
}
- if (cmr >= 0) { /* new request */
- chan_state->dl_cmr = cmr;
- /* disable AMR loop */
- trx_loop_amr_set(chan_state, 0);
- } else {
- /* enable AMR loop */
- trx_loop_amr_set(chan_state, 1);
- }
if (ft < 0) {
LOGL1SB(DL1P, LOGL_ERROR, l1ts, br,
"Codec (FT = %d) of RTP frame not in list\n", ft_codec);
--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/29149
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bts
Gerrit-Branch: 2022q2
Gerrit-Change-Id: I09b649973d4269c4082a4fafa493c37825f95a9c
Gerrit-Change-Number: 29149
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: daniel <dwillmann(a)sysmocom.de>
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-MessageType: merged
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/29162 )
Change subject: TRXD: further clarify meaning of Training / Synch. Sequence Code
......................................................................
TRXD: further clarify meaning of Training / Synch. Sequence Code
Both Synch. sequence and Training sequence are basically the same thing,
only the length is different. I guess this is why 3GPP TS 45.002 names
them differently. Let's mention them both to avoid confusion.
Change-Id: I092af5ef6b66f8bdbd46cc3ae0c77fd806f2fe27
---
M common/chapters/trx_if.adoc
1 file changed, 14 insertions(+), 14 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-manuals refs/changes/62/29162/1
diff --git a/common/chapters/trx_if.adoc b/common/chapters/trx_if.adoc
index 9638133..a7be07c 100644
--- a/common/chapters/trx_if.adoc
+++ b/common/chapters/trx_if.adoc
@@ -569,15 +569,15 @@
.MTS field structure
----
-+-----------------+---------------------------------------+
-| 7 6 5 4 3 2 1 0 | bit numbers (value range) |
-+-----------------+---------------------------------------+
-| X . . . . . . . | NOPE / IDLE frame indication (0 or 1) |
-+-----------------+---------------------------------------+
-| . X X X X . . . | Modulation, TS set number (see below) |
-+-----------------+---------------------------------------+
-| . . . . . X X X | Training Sequence Code (0..7) |
-+-----------------+---------------------------------------+
++-----------------+----------------------------------------+
+| 7 6 5 4 3 2 1 0 | bit numbers (value range) |
++-----------------+----------------------------------------+
+| X . . . . . . . | NOPE / IDLE frame indication (0 or 1) |
++-----------------+----------------------------------------+
+| . X X X X . . . | Modulation, TS set number (see below) |
++-----------------+----------------------------------------+
+| . . . . . X X X | Training / Synch. Sequence Code (0..7) |
++-----------------+----------------------------------------+
----
NOPE / IDLE frame indication (referred to as NOPE.ind)::
@@ -618,11 +618,11 @@
consisting of a sequence of four Access Bursts (see 3GPP TS 44.060). The
transceiver shall use `0110` as the modulation type to indicate that.
-Training Sequence Code::
-The Training Sequence Code identifies the Training Sequence of a received
-burst. The value of this field corresponds to one of the sequences defined
-in 3GPP TS 45.002, section 5.2, and depends on the actual modulation and
-the TSC set indicated by the preceding bits.
+Training / Synch. Sequence Code::
+In combination with a modulation type and a TS set number, this field uniquely
+identifies the Training Sequence of a received Normal Burst (see tables 5.2.3a-d)
+or Synchronization Burst (see table 5.2.5-3), or the Synch. Sequence of a
+received Access Burst (see table 5.2.7-3 and 5.2.7-4).
==== Downlink Data Burst
--
To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/29162
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-gsm-manuals
Gerrit-Branch: master
Gerrit-Change-Id: I092af5ef6b66f8bdbd46cc3ae0c77fd806f2fe27
Gerrit-Change-Number: 29162
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: newchange