Bug #3706

osmo-bts-trx: PDCH DEACT ACK is sent before receiving response from TRX

Added by pespin 22 days ago. Updated 10 days ago.

dynamic PDCH
Target version:
Start date:
Due date:
% Done:


Spec Reference:


From osmo-gsm-tester test, after using GPRS we want to place a call, so PDCH is deactivated in favour of TCH/F:

20181123044720655 DRLL <0002> rsl.c:2523 (bts=0,trx=0,ts=0,ss=0) Rx RLL DATA_REQ Abis -> LAPDm
20181123044720700 DRSL <0000> rsl.c:2805 (bts=0,trx=0,ts=6,pchan=TCH/F_PDCH as PDCH) ss=0 Rx RSL IPAC_PDCH_DEACT
20181123044720700 DRSL <0000> rsl.c:2205 (bts=0,trx=0,ts=6,pchan=TCH/F_PDCH as PDCH) Request to PDCH DEACT, but lchan is still active
20181123044720700 DRSL <0000> rsl.c:2131 (bts=0,trx=0,ts=6,ss=0) Tx PDCH DEACT NACK (cause = 0x0f)      <------ // EXTRA NACK SHOULD BE GONE WITH
20181123044720700 DPCU <0009> pcu_sock.c:124 Sending info
20181123044720700 DPCU <0009> pcu_sock.c:139 BTS is up
20181123044720700 DPCU <0009> pcu_sock.c:232 trx=0 ts=7: available (tsc=7 arfcn=868)
20181123044720703 DPCU <0009> pcu_sock.c:608 Deactivate request received: TRX=0 TX=6
20181123044720703 DL1C <0006> l1sap.c:1519 deactivating channel chan_nr=TCH/F on TS6 trx=0
20181123044720703 DTRX <000b> trx_if.c:242 Enqueuing TRX control command 'CMD NOHANDOVER 6 0'
20181123044720703 DL1C <0006> l1sap.c:648 deactivate confirm chan_nr=TCH/F on TS6 trx=0
20181123044720703 DRSL <0000> rsl.c:714 (bts=0,trx=0,ts=6,ss=0) not sending REL ACK
20181123044720703 DRSL <0000> rsl.c:2264 (bts=0,trx=0,ts=6,ss=0) PDCH DEACT operation: channel disconnected, will reconnect as TCH
20181123044720703 DL1C <0006> scheduler.c:593 Configuring multiframe with TCH/F+SACCH trx=0 ts=6
20181123044720703 DTRX <000b> trx_if.c:242 Enqueuing TRX control command 'CMD SETSLOT 6 1'                                          <------ HERE WE ASK TRX TO CONFIGURE TS 6 AS TCH/F
20181123044720703 DL1C <0006> l1_if.c:780 (bts=0,trx=0,ts=6) bts_model_ts_connect(as_pchan=TCH/F) success, calling cb_ts_connected()    <---  HER WE CONFIRM UPPER LAYERS WITHOUT WAITING FOR ACK FROM TRX
20181123044720703 DRSL <0000> rsl.c:2339 (bts=0,trx=0,ts=6,ss=0) PDCH DEACT operation: timeslot connected as TCH/F
20181123044720703 DRSL <0000> rsl.c:2440 (bts=0,trx=0,ts=6,ss=0) TCH/F_PDCH switched to TCH/F mode (ts->flags == 0)
20181123044720703 DRSL <0000> rsl.c:2103 (bts=0,trx=0,ts=6,ss=0) Tx PDCH DEACT ACK                                            <---- HERE BTS-TRX CONFIRMS EVERYTHING WENT FINE TO BSC.... BEFORE HAVING CONFIRMATION FROM TRX
20181123044720704 DTRX <000b> trx_if.c:492 Response message: 'RSP NOHANDOVER 0 6'
20181123044720705 DTRX <000b> trx_if.c:492 Response message: 'RSP SETSLOT 0 6 1'                                             <---- FINALLY CONFIRMATION ARRIVED, WE DON'T CARE NOWADAYS

Since recently, we can parse and submit RSP from TRX CTRL IF to upper layers in osmo-bts-trx (see trx_ctrl_rx_rsp). Let's use this to wait to send the PDCH DEACT ACK once we have an answer from TRX that chan was set up correctly.

0001-WIP.patch 0001-WIP.patch 9.39 KB pespin, 11/23/2018 05:01 PM

Related issues

Related to OsmoBSC - Bug #3708: osmo-bsc: Wrong handling of PDCH DEACT NACKFeedback2018-11-26


#1 Updated by pespin 22 days ago

WIP patch for this fix can be found in osmo-bts-trx branch "pespin/pdch-deact-ack-trx".

I attach here patch in case it's lost.

#2 Updated by pespin 19 days ago

  • Status changed from New to Feedback
  • % Done changed from 0 to 90

#3 Updated by pespin 19 days ago

  • Related to Bug #3708: osmo-bsc: Wrong handling of PDCH DEACT NACK added

#4 Updated by pespin 10 days ago

  • Status changed from Feedback to Resolved
  • % Done changed from 90 to 100

Merged, closing.

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)