GPRS on osmo-trx not working

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/OpenBSC@lists.osmocom.org/.

Alexander Chemeris alexander.chemeris at gmail.com
Wed Jun 29 22:49:33 UTC 2016


On Jun 29, 2016 10:04 PM, "Tom Tsou" <tom at tsou.cc> wrote:
>
> On Wed, Jun 29, 2016 at 8:31 AM, Neels Hofmeyr <nhofmeyr at sysmocom.de>
wrote:
> Another non-startup error message I found is bad PDTCH and PTCCH and
> blocks under ideal RF signal conditions. It appears that you have seen
> this behavior as well.
>
> DL1C <0006> scheduler_trx.c:835 Received bad data frame at fn=372020
> (12/104) for PTCCH
> DL1C <0006> scheduler_trx.c:918 Received bad PDTCH block ending at
> fn=310516 (76/104) for PDTCH
>
> The cause of these errors with excellent signal is the following piece
> of code where zero-filled buffers are passed to the decoder. I have no
> idea why this is done. Removing the code prevents the bad PDTCH/PTCCH
> blocks with no loss of GPRS functionality.
>
> diff --git a/src/common/scheduler.c b/src/common/scheduler.c
> @@ -1598,10 +1598,6 @@ int trx_sched_ul_burst()
>
>                         func(l1t, tn, fn, chan, bid, bits, rssi, toa);
>                 } else if (chan != TRXC_RACH && !l1cs->ho_rach_detect) {
> -                       sbit_t spare[148];
> -
> -                       memset(spare, 0, 148);
> -                       func(l1t, tn, fn, chan, bid, spare, -128, 0);
>                 }

Each L2 frame consists of several L1 bursts, so you need to accumulate them
all before you can pass them to Viterbi for decoding.

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.

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.

Please excuse typos. Written with a touchscreen keyboard.

--
Regards,
Alexander Chemeris
CEO Fairwaves, Inc.
https://fairwaves.co
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/openbsc/attachments/20160630/dc4e0b21/attachment.htm>


More information about the OpenBSC mailing list