osmocom-bb/src/host/trxcon/src
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
..
Makefile.am trxcon: link trxcon against libl1sched.la directly 2022-12-03 08:10:44 +00:00
l1ctl.c trxcon: move FBSB timeout calculation to the trxcon_fsm 2022-12-20 14:38:26 +00:00
l1ctl_server.c trxcon: improve L1CTL connection related logging 2022-08-08 14:11:21 +07:00
logging.c trxcon: reorganize the core logic into libtrxcon.la 2022-11-18 04:59:50 +07:00
sched_clck.c trxcon: rework l1sched_trigger(), split l1sched_pull_burst() 2022-11-22 23:22:21 +00:00
sched_lchan_common.c trxcon: Initial support for forwarding AMR 2022-09-07 00:01:53 +07:00
sched_lchan_desc.c trxcon: group Rx burst params into struct l1sched_burst_ind 2022-11-23 06:26:48 +07:00
sched_lchan_pdtch.c trxcon: group Rx burst params into struct l1sched_burst_ind 2022-11-23 06:26:48 +07:00
sched_lchan_rach.c trxcon: extended RACH != 11-bit RACH, correct logging messages 2022-07-29 20:35:19 +07:00
sched_lchan_sch.c trxcon: group Rx burst params into struct l1sched_burst_ind 2022-11-23 06:26:48 +07:00
sched_lchan_tchf.c trxcon: group Rx burst params into struct l1sched_burst_ind 2022-11-23 06:26:48 +07:00
sched_lchan_tchh.c trxcon: group Rx burst params into struct l1sched_burst_ind 2022-11-23 06:26:48 +07:00
sched_lchan_xcch.c trxcon: group Rx burst params into struct l1sched_burst_ind 2022-11-23 06:26:48 +07:00
sched_mframe.c trxcon: make l1sched logging configurable, use trxcon->fi as prefix 2022-07-26 00:46:43 +07:00
sched_prim.c trxcon: allow populating global SACCH cache via L1CTL 2022-08-09 10:21:17 +00:00
sched_trx.c trxcon: implement Ready-to-Receive PHYIF API 2022-11-29 11:03:11 +00:00
trx_if.c trxcon: trx_data_rx_cb(): support parsing 8-PSK modulated bursts 2022-11-25 14:34:55 +00:00
trxcon_fsm.c trxcon: TRXCON_EV_DCH_REL_REQ does not switch to TRXCON_ST_RESET 2022-12-21 15:08:40 +00:00
trxcon_inst.c trxcon: allow extending FBSB timeout (quirks for slow PHYs) 2022-12-20 23:28:56 +07:00
trxcon_main.c trxcon: allow extending FBSB timeout (quirks for slow PHYs) 2022-12-20 23:28:56 +07:00
trxcon_shim.c trxcon: implement Ready-to-Receive PHYIF API 2022-11-29 11:03:11 +00:00