<p dir="ltr"><br></p>
<p dir="ltr">On Jun 29, 2016 10:04 PM, "Tom Tsou" <tom@tsou.cc> wrote:<br>
><br>
> On Wed, Jun 29, 2016 at 8:31 AM, Neels Hofmeyr <<a href="mailto:nhofmeyr@sysmocom.de">nhofmeyr@sysmocom.de</a>> wrote:<br>
> Another non-startup error message I found is bad PDTCH and PTCCH and<br>
> blocks under ideal RF signal conditions. It appears that you have seen<br>
> this behavior as well.<br>
><br>
> DL1C <0006> scheduler_trx.c:835 Received bad data frame at fn=372020<br>
> (12/104) for PTCCH<br>
> DL1C <0006> scheduler_trx.c:918 Received bad PDTCH block ending at<br>
> fn=310516 (76/104) for PDTCH<br>
><br>
> The cause of these errors with excellent signal is the following piece<br>
> of code where zero-filled buffers are passed to the decoder. I have no<br>
> idea why this is done. Removing the code prevents the bad PDTCH/PTCCH<br>
> blocks with no loss of GPRS functionality.<br>
><br>
> diff --git a/src/common/scheduler.c b/src/common/scheduler.c<br>
> @@ -1598,10 +1598,6 @@ int trx_sched_ul_burst()<br>
><br>
>                         func(l1t, tn, fn, chan, bid, bits, rssi, toa);<br>
>                 } else if (chan != TRXC_RACH && !l1cs->ho_rach_detect) {<br>
> -                       sbit_t spare[148];<br>
> -<br>
> -                       memset(spare, 0, 148);<br>
> -                       func(l1t, tn, fn, chan, bid, spare, -128, 0);<br>
>                 }</p>
<p dir="ltr">Each L2 frame consists of several L1 bursts, so you need to accumulate them all before you can pass them to Viterbi for decoding.</p>
<p dir="ltr">If I remember this part of the code correctly, this zeroing is required to make this work when there are lost bursts. E.g. if you need 4 bursts, but you only received bursts 0, 1 and 2 you should let the device know that your missing burst 3. If you don't do that, decoder won't run at all and to will miss what could be a decodable frame.</p>
<p dir="ltr">By disabling this code you essentially start decoding only perfect frames, which are obviously decoded fine in perfect conditions. I.e. this only makes the actual problem, whatever it is.</p>
<p dir="ltr">Please excuse typos. Written with a touchscreen keyboard.</p>
<p dir="ltr">--<br>
Regards,<br>
Alexander Chemeris<br>
CEO Fairwaves, Inc.<br>
<a href="https://fairwaves.co">https://fairwaves.co</a></p>