osmocom-bb/src/host/trxcon
Vadim Yanitskiy 13fe9ccf55 trxcon: TRXCON_EV_DCH_REL_REQ does not switch to TRXCON_ST_RESET
It's not really clear to me how the L1 is supposed to handle the
L1CTL_DM_REL_REQ message, which maps to the TRXCON_EV_DCH_REL_REQ
in our case.  Lookig at the layer23 code I see that it's sent along
with the L1CTL_RESET_REQ (maps to the TRXCON_EV_RESET_SCHED_REQ).
The layer1 firmware does reset some parameters on receipt of the
L1CTL_DM_REL_REQ and some more parameters on the L1CTL_RESET_REQ.

It's clear though that we should not switch to the TRXCON_ST_RESET
on receipt of the L1CTL_DM_REL_REQ.  The layer23 application
(e.g. mobile) may send L1CTL_DM_EST_REQ right after that, and we
won't be able to transition from the TRXCON_ST_RESET directly to
the TRXCON_ST_DEDICATED.  Such transition is neither implemented
nor permitted by 3GPP TS 44.004, Figure 5.1.

Ideally, according to 3GPP TS 44.004, Figure 5.1, we should have
an additional transient state 'TUNING DCH' in the trxcon_fsm and
switch there on reciept of the L1CTL_DM_REL_REQ.  But currently
it's not implemented and adding it would require some effort.

As a temporary solution, let's do not change the current state and
stay in the TRXCON_ST_DEDICATED.  This workaround is needed to make
mobile terminated calls work in the mobile app.

Change-Id: I5bbe6ca4cc6299f9faf343822c992a6872a45081
Related: OS#5599
2022-12-21 15:08:40 +00:00
..
include trxcon: allow extending FBSB timeout (quirks for slow PHYs) 2022-12-20 23:28:56 +07:00
m4 trxcon: separate the scheduler into libl1sched.la 2022-07-12 19:29:13 +07:00
src trxcon: TRXCON_EV_DCH_REL_REQ does not switch to TRXCON_ST_RESET 2022-12-21 15:08:40 +00:00
.gitignore trxcon: separate the scheduler into libl1sched.la 2022-07-12 19:29:13 +07:00
Makefile.am trxcon: separate the scheduler into libl1sched.la 2022-07-12 19:29:13 +07:00
configure.ac trxcon: configure.ac: call LT_INIT after setting CFLAGS 2022-11-10 16:10:10 +00:00