https://projects.osmocom.org/
https://projects.osmocom.org/favicon.ico?1664741409
2019-07-11T17:32:19Z
Open Source Mobile Communications
OsmoBTS - Bug #4102: osmo-bts-trx: incorrect PTCCH handling
https://projects.osmocom.org/issues/4102?journal_id=15132
2019-07-11T17:32:19Z
fixeria
<ul><li><strong>Related to</strong> <i><a class="issue tracker-2 status-7 priority-2 priority-default" href="/issues/1545">Feature #1545</a>: continuous timing advance loop using PTCCH</i> added</li></ul>
OsmoBTS - Bug #4102: osmo-bts-trx: incorrect PTCCH handling
https://projects.osmocom.org/issues/4102?journal_id=15392
2019-07-23T18:02:12Z
pespin
<ul></ul><p>Consequence of not having this implemented: rx_data_fn is used to decode the PTCCH bursts, and then these errors appear all the time with osmo-bts-trx connected to an SC5 TRX:<br /><pre>
20190723193916529 DTRX <000b> trx_if.c:120 Clock indication: fn=79572
20190723193916529 DL1C <0006> scheduler_trx.c:1772 TRX Clock Ind: elapsed_us=1061562, elapsed_fn=230, error_us= +112
20190723193916529 DL1C <0006> scheduler_trx.c:1790 GSM clock jitter: -4601us (elapsed_fn=0)
20190723193916900 DL1P <0007> scheduler_trx.c:981 079650/60/12/39/34 (bts=0,trx=0,ts=6) PTCCH: Received bad data (79572/12)
20190723193916901 DL1P <0007> scheduler_trx.c:981 079650/60/12/39/34 (bts=0,trx=0,ts=7) PTCCH: Received bad data (79572/12)
20190723193917381 DL1P <0007> scheduler_trx.c:981 079754/60/12/41/34 (bts=0,trx=0,ts=6) PTCCH: Received bad data (79676/12)
20190723193917382 DL1P <0007> scheduler_trx.c:981 079754/60/12/41/34 (bts=0,trx=0,ts=7) PTCCH: Received bad data (79676/12)
20190723193917591 DTRX <000b> trx_if.c:120 Clock indication: fn=79802
20190723193917591 DL1C <0006> scheduler_trx.c:1772 TRX Clock Ind: elapsed_us=1061499, elapsed_fn=230, error_us= +49
20190723193917591 DL1C <0006> scheduler_trx.c:1790 GSM clock jitter: -4584us (elapsed_fn=0)
20190723193917861 DL1P <0007> scheduler_trx.c:981 079858/60/12/43/34 (bts=0,trx=0,ts=6) PTCCH: Received bad data (79780/12)
20190723193917862 DL1P <0007> scheduler_trx.c:981 079858/60/12/43/34 (bts=0,trx=0,ts=7) PTCCH: Received bad data (79780/12)
20190723193918341 DL1P <0007> scheduler_trx.c:981 079962/60/12/45/38 (bts=0,trx=0,ts=6) PTCCH: Received bad data (79884/12)
20190723193918341 DL1P <0007> scheduler_trx.c:981 079962/60/12/45/38 (bts=0,trx=0,ts=7) PTCCH: Received bad data (79884/12)
20190723193918652 DTRX <000b> trx_if.c:120 Clock indication: fn=80032
20190723193918652 DL1C <0006> scheduler_trx.c:1772 TRX Clock Ind: elapsed_us=1061489, elapsed_fn=230, error_us= +39
20190723193918652 DL1C <0006> scheduler_trx.c:1790 GSM clock jitter: -4558us (elapsed_fn=0)
20190723193918821 DL1P <0007> scheduler_trx.c:981 080066/60/12/47/38 (bts=0,trx=0,ts=6) PTCCH: Received bad data (79988/12)
20190723193918822 DL1P <0007> scheduler_trx.c:981 080066/60/12/47/38 (bts=0,trx=0,ts=7) PTCCH: Received bad data (79988/12)
20190723193919301 DL1P <0007> scheduler_trx.c:981 080170/60/12/49/42 (bts=0,trx=0,ts=6) PTCCH: Received bad data (80092/12)
20190723193919302 DL1P <0007> scheduler_trx.c:981 080170/60/12/49/42 (bts=0,trx=0,ts=7) PTCCH: Received bad data (80092/12)
20190723193919714 DTRX <000b> trx_if.c:120 Clock indication: fn=80262
20190723193919714 DL1C <0006> scheduler_trx.c:1772 TRX Clock Ind: elapsed_us=1061622, elapsed_fn=230, error_us= +172
20190723193919714 DL1C <0006> scheduler_trx.c:1790 GSM clock jitter: -4594us (elapsed_fn=0)
20190723193919780 DL1P <0007> scheduler_trx.c:981 080274/60/12/00/42 (bts=0,trx=0,ts=6) PTCCH: Received bad data (80196/12)
20190723193919781 DL1P <0007> scheduler_trx.c:981 080274/60/12/00/42 (bts=0,trx=0,ts=7) PTCCH: Received bad data (80196/12)
20190723193920261 DL1P <0007> scheduler_trx.c:981 080378/60/12/02/42 (bts=0,trx=0,ts=6) PTCCH: Received bad data (80300/12)
20190723193920261 DL1P <0007> scheduler_trx.c:981 080378/60/12/02/42 (bts=0,trx=0,ts=7) PTCCH: Received bad data (80300/12)
20190723193920740 DL1P <0007> scheduler_trx.c:981 080482/60/12/04/46 (bts=0,trx=0,ts=6) PTCCH: Received bad data (80404/12)
20190723193920741 DL1P <0007> scheduler_trx.c:981 080482/60/12/04/46 (bts=0,trx=0,ts=7) PTCCH: Received bad data (80404/12)
20190723193920775 DTRX <000b> trx_if.c:120 Clock indication: fn=80492
</pre></p>
OsmoBTS - Bug #4102: osmo-bts-trx: incorrect PTCCH handling
https://projects.osmocom.org/issues/4102?journal_id=15393
2019-07-23T18:20:49Z
fixeria
<ul></ul><blockquote>
<p>[...] and then these errors appear all the time with osmo-bts-trx connected to an SC5 TRX [...]</p>
</blockquote>
<p>I would really love to see a capture of the TRXD interface. We don't have PS Timing Advance control implemented at the moment, so I would expect nothing on PTCCH, excluding false-positive detections of course.</p>
<pre>
$ cd osmocom-bb/src/target/trx_toolkit/
$ sudo ./trx_sniff.py --direction L1 --timeslot 7 -p 5700 -o /tmp/ul_bursts.dump
</pre>
OsmoBTS - Bug #4102: osmo-bts-trx: incorrect PTCCH handling
https://projects.osmocom.org/issues/4102?journal_id=15394
2019-07-23T18:52:38Z
pespin
<ul></ul><p>Running the command in that scenario provides no L1 log lines and a .dump file of 0 bytes (I checked the tool works fine on another scenario with osmo-trx).</p>
OsmoBTS - Bug #4102: osmo-bts-trx: incorrect PTCCH handling
https://projects.osmocom.org/issues/4102?journal_id=15395
2019-07-23T19:01:31Z
pespin
<ul></ul><p>Sorry, it actually fins the packets, I was not passing the correct interface to sniff on. Once I set that correctly, .dump file is still 0 bytes, but I get lots of these messages:<br /><pre>
[WARNING] trx_sniff.py:98 Failed to parse message, dropping...
</pre></p>
OsmoBTS - Bug #4102: osmo-bts-trx: incorrect PTCCH handling
https://projects.osmocom.org/issues/4102?journal_id=15396
2019-07-23T19:06:52Z
pespin
<ul><li><strong>File</strong> <a href="/attachments/3796">ptcch_errors_sc5_2.pcapng.gz</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/3796/ptcch_errors_sc5_2.pcapng.gz">ptcch_errors_sc5_2.pcapng.gz</a> added</li></ul><p>I attach a raw pcap dump in case it's useful.</p>
OsmoBTS - Bug #4102: osmo-bts-trx: incorrect PTCCH handling
https://projects.osmocom.org/issues/4102?journal_id=15397
2019-07-23T21:37:38Z
fixeria
<ul></ul><p>Here is a part of what I've managed to decode from your capture:</p>
<pre>
$ ./trx_sniff.py -r /tmp/ptcch_errors_sc5_2.pcap --direction L1 --timeslot 6 --frame-count 52
[INFO] trx_sniff.py:72 Reading packets from '/tmp/ptcch_errors_sc5_2.pcap'...
[DEBUG] trx_sniff.py:125 TRX -> L1 burst: fn=1161148 tn=6 rssi=-102 toa256=-512
[DEBUG] trx_sniff.py:125 TRX -> L1 burst: fn=1161149 tn=6 rssi=-103 toa256=-512
[DEBUG] trx_sniff.py:125 TRX -> L1 burst: fn=1161150 tn=6 rssi=-103 toa256=768
[DEBUG] trx_sniff.py:125 TRX -> L1 burst: fn=1161151 tn=6 rssi=-102 toa256=-512
[DEBUG] trx_sniff.py:125 TRX -> L1 burst: fn=1161152 tn=6 rssi=-103 toa256=768
[DEBUG] trx_sniff.py:125 TRX -> L1 burst: fn=1161153 tn=6 rssi=-102 toa256=-512
[DEBUG] trx_sniff.py:125 TRX -> L1 burst: fn=1161154 tn=6 rssi=-103 toa256=768
[DEBUG] trx_sniff.py:125 TRX -> L1 burst: fn=1161155 tn=6 rssi=-102 toa256=256
[DEBUG] trx_sniff.py:125 TRX -> L1 burst: fn=1161156 tn=6 rssi=-103 toa256=-128
[DEBUG] trx_sniff.py:125 TRX -> L1 burst: fn=1161157 tn=6 rssi=-102 toa256=-512
[DEBUG] trx_sniff.py:125 TRX -> L1 burst: fn=1161158 tn=6 rssi=-102 toa256=-448
[DEBUG] trx_sniff.py:125 TRX -> L1 burst: fn=1161159 tn=6 rssi=-102 toa256=448
[DEBUG] trx_sniff.py:125 TRX -> L1 burst: fn=1161160 tn=6 rssi=-103 toa256=-512
[DEBUG] trx_sniff.py:125 TRX -> L1 burst: fn=1161161 tn=6 rssi=-102 toa256=-512
[DEBUG] trx_sniff.py:125 TRX -> L1 burst: fn=1161162 tn=6 rssi=-103 toa256=0
[DEBUG] trx_sniff.py:125 TRX -> L1 burst: fn=1161163 tn=6 rssi=-103 toa256=-512
[DEBUG] trx_sniff.py:125 TRX -> L1 burst: fn=1161164 tn=6 rssi=-103 toa256=0
[DEBUG] trx_sniff.py:125 TRX -> L1 burst: fn=1161165 tn=6 rssi=-103 toa256=640
[DEBUG] trx_sniff.py:125 TRX -> L1 burst: fn=1161166 tn=6 rssi=-102 toa256=-512
[DEBUG] trx_sniff.py:125 TRX -> L1 burst: fn=1161167 tn=6 rssi=-102 toa256=-512
[DEBUG] trx_sniff.py:125 TRX -> L1 burst: fn=1161168 tn=6 rssi=-103 toa256=-256
[DEBUG] trx_sniff.py:125 TRX -> L1 burst: fn=1161169 tn=6 rssi=-103 toa256=-448
[DEBUG] trx_sniff.py:125 TRX -> L1 burst: fn=1161170 tn=6 rssi=-103 toa256=-512
[DEBUG] trx_sniff.py:125 TRX -> L1 burst: fn=1161171 tn=6 rssi=-102 toa256=768
[DEBUG] trx_sniff.py:125 TRX -> L1 burst: fn=1161172 tn=6 rssi=-103 toa256=448
[DEBUG] trx_sniff.py:125 TRX -> L1 burst: fn=1161173 tn=6 rssi=-103 toa256=-512
[DEBUG] trx_sniff.py:125 TRX -> L1 burst: fn=1161174 tn=6 rssi=-102 toa256=-320
[DEBUG] trx_sniff.py:125 TRX -> L1 burst: fn=1161175 tn=6 rssi=-102 toa256=-512
[DEBUG] trx_sniff.py:125 TRX -> L1 burst: fn=1161176 tn=6 rssi=-102 toa256=-512
[DEBUG] trx_sniff.py:125 TRX -> L1 burst: fn=1161177 tn=6 rssi=-102 toa256=-512
[DEBUG] trx_sniff.py:125 TRX -> L1 burst: fn=1161178 tn=6 rssi=-102 toa256=-512
[DEBUG] trx_sniff.py:125 TRX -> L1 burst: fn=1161179 tn=6 rssi=-102 toa256=-192
[DEBUG] trx_sniff.py:125 TRX -> L1 burst: fn=1161180 tn=6 rssi=-103 toa256=-512
[DEBUG] trx_sniff.py:125 TRX -> L1 burst: fn=1161181 tn=6 rssi=-103 toa256=-512
[DEBUG] trx_sniff.py:125 TRX -> L1 burst: fn=1161182 tn=6 rssi=-102 toa256=-320
[DEBUG] trx_sniff.py:125 TRX -> L1 burst: fn=1161183 tn=6 rssi=-102 toa256=-320
[DEBUG] trx_sniff.py:125 TRX -> L1 burst: fn=1161184 tn=6 rssi=-103 toa256=768
[DEBUG] trx_sniff.py:125 TRX -> L1 burst: fn=1161185 tn=6 rssi=-102 toa256=-512
[DEBUG] trx_sniff.py:125 TRX -> L1 burst: fn=1161186 tn=6 rssi=-103 toa256=64
[DEBUG] trx_sniff.py:125 TRX -> L1 burst: fn=1161187 tn=6 rssi=-103 toa256=-512
[DEBUG] trx_sniff.py:125 TRX -> L1 burst: fn=1161188 tn=6 rssi=-102 toa256=768
[DEBUG] trx_sniff.py:125 TRX -> L1 burst: fn=1161189 tn=6 rssi=-102 toa256=256
[DEBUG] trx_sniff.py:125 TRX -> L1 burst: fn=1161190 tn=6 rssi=-103 toa256=768
[DEBUG] trx_sniff.py:125 TRX -> L1 burst: fn=1161191 tn=6 rssi=-102 toa256=-512
[DEBUG] trx_sniff.py:125 TRX -> L1 burst: fn=1161192 tn=6 rssi=-102 toa256=-512
[DEBUG] trx_sniff.py:125 TRX -> L1 burst: fn=1161193 tn=6 rssi=-102 toa256=-512
[DEBUG] trx_sniff.py:125 TRX -> L1 burst: fn=1161194 tn=6 rssi=-102 toa256=-320
[DEBUG] trx_sniff.py:125 TRX -> L1 burst: fn=1161195 tn=6 rssi=-103 toa256=704
[DEBUG] trx_sniff.py:125 TRX -> L1 burst: fn=1161196 tn=6 rssi=-103 toa256=-448
[DEBUG] trx_sniff.py:125 TRX -> L1 burst: fn=1161197 tn=6 rssi=-103 toa256=-320
[DEBUG] trx_sniff.py:125 TRX -> L1 burst: fn=1161198 tn=6 rssi=-103 toa256=768
[DEBUG] trx_sniff.py:125 TRX -> L1 burst: fn=1161199 tn=6 rssi=-103 toa256=768
[INFO] trx_sniff.py:188 Collected required amount of frames
[INFO] trx_sniff.py:194 Shutting down...
[INFO] trx_sniff.py:198 52 bursts handled, 738 dropped
</pre>
<p>As far as I can see, your SC5 TRX detects pretty much everything on PDCH - just look at TDMA frame numbers.<br />RSSI is quite low (looks like noise), while ToA256 values are not that bad...</p>
<p>You don't see PDTCH decoding errors because unlike rx_data_fn(), rx_pdtch_fn() uses LOGL_DEBUG:</p>
<pre>
LOGL1S(DL1P, LOGL_DEBUG, l1t, bi->tn, chan, bi->fn, "Received bad PDTCH (%u/%u)\n", ...);
LOGL1S(DL1P, LOGL_NOTICE, l1t, bi->tn, chan, bi->fn, "Received bad data (%u/%u)\n", ...);
</pre>
<p>Looks like a problem of SC5. Feel free to investigate and fill a separate bug report.</p>
OsmoBTS - Bug #4102: osmo-bts-trx: incorrect PTCCH handling
https://projects.osmocom.org/issues/4102?journal_id=16139
2019-10-02T14:45:03Z
pespin
<ul></ul><p>Related patches for trxcon:<br /><a class="external" href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15637">https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15637</a><br /><a class="external" href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15638">https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15638</a></p>
<p>Something similar needs to be done in osmo-bts-trx.</p>
OsmoBTS - Bug #4102: osmo-bts-trx: incorrect PTCCH handling
https://projects.osmocom.org/issues/4102?journal_id=16140
2019-10-02T15:46:51Z
fixeria
<ul><li><strong>Status</strong> changed from <i>New</i> to <i>In Progress</i></li><li><strong>Assignee</strong> set to <i>fixeria</i></li></ul>
OsmoBTS - Bug #4102: osmo-bts-trx: incorrect PTCCH handling
https://projects.osmocom.org/issues/4102?journal_id=16141
2019-10-02T16:31:37Z
fixeria
<ul><li><strong>Status</strong> changed from <i>In Progress</i> to <i>Feedback</i></li><li><strong>% Done</strong> changed from <i>0</i> to <i>80</i></li></ul><p>Please see: <a class="external" href="https://gerrit.osmocom.org/c/osmo-bts/+/15656">https://gerrit.osmocom.org/c/osmo-bts/+/15656</a> scheduler: fix handling of PTCCH/U and PTCCH/D logical channels.<br />Now we need a TTCN-3 test case to verify PTCCH operation in both directions (changes for trxcon need to be merged first).</p>
OsmoBTS - Bug #4102: osmo-bts-trx: incorrect PTCCH handling
https://projects.osmocom.org/issues/4102?journal_id=16216
2019-10-13T19:05:01Z
fixeria
<ul><li><strong>% Done</strong> changed from <i>80</i> to <i>100</i></li></ul><p><a class="external" href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15792">https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/15792</a> BTS_Tests.ttcn: add a test case for PTCCH/D and PTCCH/U</p>
OsmoBTS - Bug #4102: osmo-bts-trx: incorrect PTCCH handling
https://projects.osmocom.org/issues/4102?journal_id=16351
2019-11-05T21:03:49Z
fixeria
<ul><li><strong>Status</strong> changed from <i>Feedback</i> to <i>Resolved</i></li></ul><p>Merged.</p>