Hi all.
I've noticed in osmo-bts logs several messages from L1: 238:<0006> oml.c:689 (bts=0,trx=0,ts=2,ss=0) MPH-ACTIVATE.conf (PDTCH TxDL) 243:<0006> oml.c:689 (bts=0,trx=0,ts=3,ss=0) MPH-ACTIVATE.conf (PDTCH TxDL) 246:<0006> oml.c:689 (bts=0,trx=0,ts=2,ss=0) MPH-ACTIVATE.conf (PDTCH RxUL) 251:<0006> oml.c:689 (bts=0,trx=0,ts=4,ss=0) MPH-ACTIVATE.conf (PDTCH TxDL) 254:<0006> oml.c:689 (bts=0,trx=0,ts=3,ss=0) MPH-ACTIVATE.conf (PDTCH RxUL) 260:<0006> oml.c:689 (bts=0,trx=0,ts=7,ss=0) MPH-ACTIVATE.conf (PDTCH TxDL) 263:<0006> oml.c:689 (bts=0,trx=0,ts=4,ss=0) MPH-ACTIVATE.conf (PDTCH RxUL) 274:<0006> oml.c:689 (bts=0,trx=0,ts=7,ss=0) MPH-ACTIVATE.conf (PDTCH RxUL)
Similarly, there are messages related to PTCCH: 257:<0006> oml.c:689 (bts=0,trx=0,ts=2,ss=0) MPH-ACTIVATE.conf (PTCCH TxDL) 266:<0006> oml.c:689 (bts=0,trx=0,ts=3,ss=0) MPH-ACTIVATE.conf (PTCCH TxDL) 277:<0006> oml.c:689 (bts=0,trx=0,ts=4,ss=0) MPH-ACTIVATE.conf (PTCCH TxDL) 288:<0006> oml.c:689 (bts=0,trx=0,ts=7,ss=0) MPH-ACTIVATE.conf (PTCCH TxDL)
Notice that while PDTCH is activated for both UL and DL, the PTCCH is only activated for DL.
As far as I've understood continuous TA procedure I've got to have PTCCH activated in both directions. The problem is that I have troubles locating the code which triggers the activation above.
There is l1if_connect_pdch() in osmo-pcu src/sysmo_l1_if.c but it uses GsmL1_PrimId_MphConnectReq while if I understood correctly GsmL1_PrimId_MphActivateReq is necessary for channel activation. There is mph_send_activate_req() in osmo-bts oml.c which uses it. It's called from lchan_act_compl_cb() via sapi_queue_send() which is also in mph_send_activate_req() - I have hard time understanding how this works at all. Do we have this documented somewhere?
Hi Max,
On Wed, Jul 20, 2016 at 06:50:24PM +0200, Max wrote:
Notice that while PDTCH is activated for both UL and DL, the PTCCH is only activated for DL.
As far as I've understood continuous TA procedure I've got to have PTCCH activated in both directions. The problem is that I have troubles locating the code which triggers the activation above.
from osmo-bts/src/osmo-bts-sysmo/oml.c:
static const struct sapi_dir pdtch_sapis[] = { { GsmL1_Sapi_Pdtch,»····GsmL1_Dir_TxDownlink }, { GsmL1_Sapi_Pdtch,»····GsmL1_Dir_RxUplink }, { GsmL1_Sapi_Ptcch,»····GsmL1_Dir_TxDownlink }, { GsmL1_Sapi_Prach,»····GsmL1_Dir_RxUplink }, #if 0 { GsmL1_Sapi_Ptcch,»····GsmL1_Dir_RxUplink }, { GsmL1_Sapi_Pacch,»····GsmL1_Dir_TxDownlink }, #endif
I don't know exactly why it is commented out, probably because itw as simply not used at the time?
This code is not referenced anywhere.
On 07/21/2016 08:50 AM, Harald Welte wrote:
Hi Max,
On Wed, Jul 20, 2016 at 06:50:24PM +0200, Max wrote:
Notice that while PDTCH is activated for both UL and DL, the PTCCH is only activated for DL.
As far as I've understood continuous TA procedure I've got to have PTCCH activated in both directions. The problem is that I have troubles locating the code which triggers the activation above.
from osmo-bts/src/osmo-bts-sysmo/oml.c:
static const struct sapi_dir pdtch_sapis[] = { { GsmL1_Sapi_Pdtch,»····GsmL1_Dir_TxDownlink }, { GsmL1_Sapi_Pdtch,»····GsmL1_Dir_RxUplink }, { GsmL1_Sapi_Ptcch,»····GsmL1_Dir_TxDownlink }, { GsmL1_Sapi_Prach,»····GsmL1_Dir_RxUplink }, #if 0 { GsmL1_Sapi_Ptcch,»····GsmL1_Dir_RxUplink }, { GsmL1_Sapi_Pacch,»····GsmL1_Dir_TxDownlink }, #endif
I don't know exactly why it is commented out, probably because itw as simply not used at the time?
See https://gerrit.osmocom.org/#/c/556/ - I've removed it and tested osmo-pcu: as expected gprs works just fine without it. So it got to be someplace else.
On 07/21/2016 10:38 AM, Max wrote:
This code is not referenced anywhere.
On 07/21/2016 08:50 AM, Harald Welte wrote:
Hi Max,
On Wed, Jul 20, 2016 at 06:50:24PM +0200, Max wrote:
Notice that while PDTCH is activated for both UL and DL, the PTCCH is only activated for DL.
As far as I've understood continuous TA procedure I've got to have PTCCH activated in both directions. The problem is that I have troubles locating the code which triggers the activation above.
from osmo-bts/src/osmo-bts-sysmo/oml.c:
static const struct sapi_dir pdtch_sapis[] = { { GsmL1_Sapi_Pdtch,»····GsmL1_Dir_TxDownlink }, { GsmL1_Sapi_Pdtch,»····GsmL1_Dir_RxUplink }, { GsmL1_Sapi_Ptcch,»····GsmL1_Dir_TxDownlink }, { GsmL1_Sapi_Prach,»····GsmL1_Dir_RxUplink }, #if 0 { GsmL1_Sapi_Ptcch,»····GsmL1_Dir_RxUplink }, { GsmL1_Sapi_Pacch,»····GsmL1_Dir_TxDownlink }, #endif
I don't know exactly why it is commented out, probably because itw as simply not used at the time?
Doh, my bad - I've looked into osmo-pcu instead of osmo-bts. You're absolutely right, thanks!
On 07/21/2016 08:50 AM, Harald Welte wrote:
Hi Max,
On Wed, Jul 20, 2016 at 06:50:24PM +0200, Max wrote:
Notice that while PDTCH is activated for both UL and DL, the PTCCH is only activated for DL.
As far as I've understood continuous TA procedure I've got to have PTCCH activated in both directions. The problem is that I have troubles locating the code which triggers the activation above.
from osmo-bts/src/osmo-bts-sysmo/oml.c:
static const struct sapi_dir pdtch_sapis[] = { { GsmL1_Sapi_Pdtch,»····GsmL1_Dir_TxDownlink }, { GsmL1_Sapi_Pdtch,»····GsmL1_Dir_RxUplink }, { GsmL1_Sapi_Ptcch,»····GsmL1_Dir_TxDownlink }, { GsmL1_Sapi_Prach,»····GsmL1_Dir_RxUplink }, #if 0 { GsmL1_Sapi_Ptcch,»····GsmL1_Dir_RxUplink }, { GsmL1_Sapi_Pacch,»····GsmL1_Dir_TxDownlink }, #endif
I don't know exactly why it is commented out, probably because itw as simply not used at the time?
On Wed, Jul 20, 2016 at 06:50:24PM +0200, Max wrote:
It's called from lchan_act_compl_cb() via sapi_queue_send() which is also in mph_send_activate_req() - I have hard time understanding how this works at all. Do we have this documented somewhere?
Both the TCH/F_TCH/H_PDCH timeslot feature and the TCH/F_PDCH on osmo-trx are stuck on some post-lchan_act_compl SAPI stuff. So, I would also benefit from better understanding the actions after lchan_act.
Apparently related: libosmocore/gsm/lapd*.c
~Neels
osmocom-net-gprs@lists.osmocom.org