Project

General

Profile

Bug #5244

Training Sequence Code error on Handover into sysmobts

Added by keith 18 days ago. Updated 16 days ago.

Status:
New
Priority:
Low
Assignee:
-
Category:
-
Target version:
-
Start date:
10/01/2021
Due date:
% Done:

0%

Spec Reference:

Description

When handing over from osmo-bts-trx/osmo-trx-lms into sysmobts, I'm seeing

DL1C <0006> ../../../git/src/common/rsl.c:269 (bts=0,trx=0,ts=6,ss=0) This PHY does not support lchan TSC 0 != BSIC-TSC 7, sending NACK

Of course, then all lchans end up B0RKEN


Related issues

Related to OsmoBSC - Bug #5219: VTY cmd "bts 0 trx 0 timeslot 1 sub-slot 0 activate fr" fails on sysmobts with BSIC 10Resolved08/27/2021

Associated revisions

Revision 72b551ad (diff)
Added by neels 16 days ago

fix TSC / TSC Set used for Handover

From the nature of the lchan_activate_info.tsc_set and .tsc, it is easy
to forget to set tsc_set,tsc = -1 to use default TSC Set and TSC values.
Handover code is one such instance that forgets to set -1.

Change the semantics of tsc_set and tsc so that this kind of error can
not happen again as easily: use a separate bool to flag whether to use
the default config or explicit values.

Implicitly fix the lchan_activate_infos "launched" in handover_fsm.c as
well as abis_rsl_chan_rqd_queue_poll().

Related: OS#5244 SYS#4895
Change-Id: Iae20df4387c3d75752301bd5daeeea7508966393

Revision 62c4097d (diff)
Added by neels 14 days ago

fix TSC / TSC Set used for Handover

From the nature of the lchan_activate_info.tsc_set and .tsc, it is easy
to forget to set tsc_set,tsc = -1 to use default TSC Set and TSC values.
Handover code is one such instance that forgets to set -1.

Change the semantics of tsc_set and tsc so that this kind of error can
not happen again as easily: use a separate bool to flag whether to use
the default config or explicit values.

Implicitly fix the lchan_activate_infos "launched" in handover_fsm.c as
well as abis_rsl_chan_rqd_queue_poll().

Related: OS#5244 SYS#4895
Related: I1ed6f068c85b01e5a2d7b5f2651498a1521f89af (osmo-ttcn3-hacks)
Change-Id: Iae20df4387c3d75752301bd5daeeea7508966393

History

#1 Updated by keith 18 days ago

Looking at Abis in wireshark, The TSC is set to 0 in the CHANnel ACTIVation.

In lchan_fsm.c:725

lchan->activate.tsc = (lchan->activate.info.tsc >= 0) ? lchan->activate.info.tsc : gsm_ts_tsc(lchan->ts);

Adding some printf around here, I can see that
lchan->activate.info.tsc is indeed zero

The comment is
/* Use the TSC provided in the modification request, if any. Otherwise use the timeslot's configured * TSC. */

but for know I don't figure out where the modification request is coming from. maybe it makes some sense to neels

For now,
- lchan->activate.tsc = (lchan->activate.info.tsc >= 0) ? lchan->activate.info.tsc : gsm_ts_tsc(lchan->ts);
+ lchan->activate.tsc = (lchan->activate.info.tsc >= 1) ? lchan->activate.info.tsc : gsm_ts_tsc(lchan->ts);

for example,
restores handover for me.

#2 Updated by keith 18 days ago

  • Project changed from OsmoBTS to OsmoBSC

#3 Updated by fixeria 18 days ago

  • Related to Bug #5219: VTY cmd "bts 0 trx 0 timeslot 1 sub-slot 0 activate fr" fails on sysmobts with BSIC 10 added

#4 Updated by neels 16 days ago

On Fri, Oct 01, 2021 at 03:31:55AM +0000, wrote:

The comment is
/* Use the TSC provided in the modification request, if any. Otherwise use the timeslot's configured
  • TSC. */

but for know I don't figure out where the modification request is coming from. maybe it makes some sense to neels

The comment should have said "Use the TSC provided in the activation request",
it's a copy paste error from the TSC code for Channel Mode Modify. (Patch to fix is out)

- lchan->activate.tsc = (lchan->activate.info.tsc >= 0) ? lchan->activate.info.tsc : gsm_ts_tsc(lchan->ts);
+ lchan->activate.tsc = (lchan->activate.info.tsc >= 1) ? lchan->activate.info.tsc : gsm_ts_tsc(lchan->ts);

It should actually be >= 0, gsm_data.h:627:

/* TSC to use, or -1 for automatically determining the TSC to use. Valid range is 0 to 7, as described in 3GPP * TS 45.002. */
int tsc;

But I see that the channel activation during handover fails to set tsc to -1.
Goodness, thanks for spotting this, I pretty much broke handover with the TSC refactoring!

I tweaked ttcn3 tests to detect the ill TSC in handover, and submitted a patch
to fix the TSC and help prevent future errors like this:

https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25662
https://gerrit.osmocom.org/c/osmo-bsc/+/25659

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)