Project

General

Profile

Actions

Bug #1575

closed

Correctly handle BS_AG_BLKS_RES (AGCH/PCH split in DL CCCH)

Added by laforge about 8 years ago. Updated 5 months ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
-
Target version:
-
Start date:
02/23/2016
Due date:
% Done:

100%

Spec Reference:

Description

there are several assumptions that BS_AG_BLKS_RES==1 in the code. Fix them in order to support more AGCH slots

I think this feature may be important for larger deployments. Sooner or later you might want to have a different (but static) or a
dynamic balancing between AGCH and PCH load on the downlink CCCH. For a single-TRX cell it is probably unlikely that AGCH load will be very high, but the more TRX you ahve (and imagine extreme situations with 2TRX and many SDCCH/8) we might run into the limitation.


Checklist

  • support in osmo-bts-litecell15
  • support in osmo-bts-sysmo
  • support in osmo-bts-trx
  • support in osmo-bts-virtual
  • support in osmo-bts-octphy

Related issues

Related to OsmoBTS - Feature #2366: OsmoBTS lacks EXTENDED BCCH supportNew07/15/2017

Actions
Related to OsmoBSC - Feature #1611: be more efficient in batching IMMEDIATE ASSIGN REJECT messagesRejectedstsp02/23/2016

Actions
Actions #1

Updated by laforge over 7 years ago

  • Assignee set to msuraev
Actions #2

Updated by msuraev over 7 years ago

  • Status changed from New to In Progress
  • % Done changed from 0 to 10

Should I implement static or dynamic variant? What should happen if new value for "channel-descrption bs-ag-blks-res" is entered in OpenBSC vty?

Actions #3

Updated by msuraev over 7 years ago

Static variant sent for review as gerrit #1047. Not strictly speaking required, but handy for debugging is extended logging from gerrit #1043.

Actions #4

Updated by msuraev over 7 years ago

  • % Done changed from 10 to 20

Preliminary variant sent for review in gerrit #1099. Missing bits:
- it's unclear how/if octphy support different number of AGCH (equivalent of lch_par->agch.u8NbrOfAgch)
- it's unclear if/how we have to activate/deactivate lchan for osmo-trx (equivalent of sapi_deactivate_cb())

Current implementation is somewhat ugly because we 1st unconditionally activate CCCH before knowing SI3 with proper number of AGCH. When we finally receive AGCH value from SI3 we deactivate channel and than activate it again. osmo-bts-trx seems to be different in this regard - maybe we do not have to use reactivation hack in there. Also, once this early auto-activation hack is removed we can streamline this code.

Actions #5

Updated by msuraev over 7 years ago

  • Status changed from In Progress to Stalled
Actions #6

Updated by msuraev about 7 years ago

  • % Done changed from 20 to 50

Support for lc15 and sysmo has been merged.
Octphy: waiting for vendor response.
Osmo-trx: waiting for vendor response.

Actions #7

Updated by laforge almost 7 years ago

I guess you need to follow-up with Octphy and Osmo-TRX folks regularly to make sure this doesn't stay stalled forever.

Actions #8

Updated by msuraev over 6 years ago

Related gerrit 3067 has been sent for review.

Actions #9

Updated by laforge over 6 years ago

  • Related to Feature #2366: OsmoBTS lacks EXTENDED BCCH support added
Actions #10

Updated by laforge over 6 years ago

  • Status changed from Stalled to In Progress

patches in gerrit under review, not stalled.

Actions #11

Updated by msuraev over 6 years ago

  • Checklist item support in osmo-bts-litecell15 added
  • Checklist item support in osmo-bts-octphy added
  • Checklist item support in osmo-bts-sysmo added
  • Checklist item support in osmo-bts-trx added
  • Checklist item support in osmo-bts-virtual added
  • % Done changed from 50 to 60
Actions #12

Updated by msuraev over 6 years ago

  • Status changed from In Progress to Stalled

The octphy support requires vendor cooperation.
The virtphy support is planned. Might make sense to add corresponding TTCN-3 test if time permits.

Actions #13

Updated by laforge over 6 years ago

  • Checklist item deleted (support in osmo-bts-octphy)
  • Priority changed from Normal to High

please add it to -virtual and extend the TTCN-3 test to cover it.

I've dropped the OCTPHY topic. I presume you had inquired them regarding this at the time you were working on the code? If not, please make sure they are aware we're waiting for them to add support to the PHY.

Actions #14

Updated by msuraev over 6 years ago

I presume you had inquired them regarding this at the time you were working on the code?

Yes, twice actually. Although it's been a while ago so I'm pretty sure they forgot about it by now. Dexter, can you please ping them again? The question is basically "how do we instruct octphy l1 that it should use X AGCH channels (as in 3GPP TS 45.002 ยง3.3.2.3 a)BS_AG_BLKS_RES)?" or "is that supported by some fw version already?".

Actions #15

Updated by dexter over 6 years ago

I wrote Jason an email, maybe he can give us more information about this or even point us to the right places in the documentaion/header files.

Actions #16

Updated by laforge over 6 years ago

  • Related to Feature #1611: be more efficient in batching IMMEDIATE ASSIGN REJECT messages added
Actions #17

Updated by laforge about 6 years ago

  • Checklist item support in osmo-bts-octphy added
  • Status changed from Stalled to In Progress

Regarding Octphy: The response was that there is no different L1 SAPI between AGCH and PCH, so we don't ned to inform/instruct the PHY about where higher layers put the split.

Instead, both AGCH and PCH are leading to PH-RTS.ind of type cOCTVC1_GSM_SAPI_ENUM_PCH_AGCH. AFAICT, in osmo-bts-octphy/l1_if.c:chan_nr_by_sapi() we map this to cbits=0x12 which is "Downlink CCCH (AGCH/PCH)". So it "should simply work".

I've pushed a change Ic1038b8dc57bdaf05493cd8479355b960275ea41 that simply removes the related warning, see https://gerrit.osmocom.org/5148

osmo-bts-virtual (and related test case) thus remains the only open tasks here. Please get that done.

Actions #18

Updated by msuraev about 6 years ago

  • Status changed from In Progress to Stalled
Actions #19

Updated by laforge almost 6 years ago

  • Assignee changed from msuraev to 4368
Actions #20

Updated by laforge over 5 years ago

  • Assignee changed from 4368 to dexter
Actions #21

Updated by dexter over 5 years ago

I have figured out how the paging and access grant channels should be laid out. I hope my understanding is correct here:


=====================================================
== TDMA frame mapping for FCCH + SCH + BCCH + CCCH ==
=====================================================

F = FCCH
H = SCH
B = BCCH
C = CCCH
D = SDCCH
S = SACCH
I = Idle

A = AGCH
P = PCH

          1         2         3         4         5
012345678901234567890123456789012345678901234567890
            v            v            v            

FHBBBBCCCCFHCCCCCCCCFHCCCCCCCCFHCCCCCCCCFHCCCCCCCCI
      0000  11112222  33334444  55556666  77778888  (B0 ... B8)
      PPPP  PPPPPPPP  PPPPPPPP  PPPPPPPP  PPPPPPPP  BS_AG_BLKS_RES = 0
      AAAA  PPPPPPPP  PPPPPPPP  PPPPPPPP  PPPPPPPP  BS_AG_BLKS_RES = 1
      AAAA  AAAAPPPP  PPPPPPPP  PPPPPPPP  PPPPPPPP  BS_AG_BLKS_RES = 2
      AAAA  AAAAAAAA  PPPPPPPP  PPPPPPPP  PPPPPPPP  BS_AG_BLKS_RES = 3
      AAAA  AAAAAAAA  AAAAPPPP  PPPPPPPP  PPPPPPPP  BS_AG_BLKS_RES = 4
      AAAA  AAAAAAAA  AAAAAAAA  PPPPPPPP  PPPPPPPP  BS_AG_BLKS_RES = 5
      AAAA  AAAAAAAA  AAAAAAAA  AAAAPPPP  PPPPPPPP  BS_AG_BLKS_RES = 6
      AAAA  AAAAAAAA  AAAAAAAA  AAAAAAAA  PPPPPPPP  BS_AG_BLKS_RES = 7

=======================================================================================
== TDMA frame mapping for FCCH + SCH + BCCH + CCCH + SDCCH/4(0...3) + SACCH/4(0...3) ==
=======================================================================================

F = FCCH
H = SCH
B = BCCH
C = CCCH
D = SDCCH
S = SACCH
I = Idle

A = AGCH
P = PCH

          1         2         3         4         5         6         7         8         9         0
012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901
            v            v            v            v            v            v            v           

FHBBBBCCCCFHCCCCCCCCFHDDDDDDDDFHDDDDDDDDFHDDDDDDDDIFHBBBBCCCCFHCCCCCCCCFHDDDDDDDDFHDDDDDDDDFHDDDDDDDDI
      0000  11112222                                     0000  11112222                                 (B0 ... B2)
      PPPP  PPPPPPPP                                     PPPP  PPPPPPPP                                 BS_AG_BLKS_RES = 0
      AAAA  PPPPPPPP                                     PPPP  PPPPPPPP                                 BS_AG_BLKS_RES = 1
      AAAA  AAAAPPPP                                     PPPP  PPPPPPPP                                 BS_AG_BLKS_RES = 2

Example #1:
FN: MOD102:  BLOCK:
165 63         B1
216 12         B1
220 16         B2
267 63         B1
271 67         B2
318 12         B1
322 16         B2
369 63         B1
372 66         B2
420 12         B1
424 16         B2
==> B0 is never used for paging ==> BS_AG_BLKS_RES = 1

Example #2:
FN: MOD102:  BLOCK:
573 63         B1
577 67         B2
624 12         B1
628 16         B2
675 63         B1
679 67         B2
726 12         B1
730 16         B2
777 63         B1
828 12         B1
832 16         B2
==> B0 is never used for paging ==> BS_AG_BLKS_RES = 1

I did an experiment. I have set BS_AG_BLKS_RES = 2 via the osmo-bsc VTY and ran BTS_Tests.TC_paging_imsi_200percent. The result looks like BS_AG_BLKS_RES = 1, so there is indeed something wrong here.

Actions #22

Updated by dexter over 5 years ago

At least for the osmo-bts-trx/faketrx/trxcon case I can say that it works now. The reason why it did not work last time is that the setting for bs_ag_blks_res is quite confusing. It is not set via OML, so setting it via osmo-bsc.cfg does not change anything. The parameter must be changed in BTS_tests.ttcn as well at two places (for the test and for the SI3). Once this is changed correctly osmo-bts receives the parameter correctly and behaves accordingly.

Actions #23

Updated by dexter over 5 years ago

For the ttcn3 test I have simplified the things a bit: https://gerrit.osmocom.org/10707

Actions #24

Updated by dexter over 5 years ago

  • Status changed from Stalled to In Progress
  • % Done changed from 60 to 80

I have added now a unit-test. We see the expected behavior for all possible bs_ag_blks_res settings, which is very good.

https://gerrit.osmocom.org/#/c/osmo-bts/+/10724 paging: add unit-test to check different bs_ag_blks_res settings

Actions #25

Updated by dexter over 5 years ago

  • Checklist item support in osmo-bts-virtual set to Done
  • % Done changed from 80 to 100

I have also checked the support for osmo-bts-virtual with an experiment. I have set different values for bs_ag_blks_res, started osmo-bts-virtual and observed the frame number of the emitted GSMTAP frames. The frame numbers of the paging channel (dummy pagings) all fell into the correct range. I have tested with bs_ag_blks_res=1 and bs_ag_blks_res=2.

Since the decision when to send pagings to the phy is made in l1sap.c:l1sap_ph_rts_ind() it is common code we can be very sure that the behavior of osmo-bts-virtual will not be different from other BTS. So I think we can conclude that bs_ag_blks_res is correctly handled in osmo-bts-virtual.

To increase the test coverage a bit I have added a check to BTS_Tests.ttcn that checks if the pagings on L1CTL actually fall into the PCH and not in the AGCH or even BCCH. We currently only check with bs_ag_blks_res=1. See also:

https://gerrit.osmocom.org/#/c/osmo-ttcn3-hacks/+/10726 BTS_Tests: check paging channel fn (bs_ag_blks_res)

Actions #26

Updated by dexter over 5 years ago

  • % Done changed from 100 to 90

While osmo-bts-trx seems to work just fine inside the TTCN3 tests we still have problems. When I set

bts 1
 channel-descrption bs-ag-blks-res 2

The phone does not register anymore. So I think we have another problem that is related to bs-ag-blks-res. Here is a sample from the log:

Fri Aug 31 17:43:58 2018 <0007> scheduler.c:877 1802121/1359/09/36/33 Too many contiguous elapsed fn, dropping 297
Fri Aug 31 17:43:58 2018 <0007> scheduler.c:877 1802142/1359/04/06/02 Too many contiguous elapsed fn, dropping 49
Fri Aug 31 17:43:58 2018 <0007> scheduler.c:877 1802144/1359/06/08/04 Too many contiguous elapsed fn, dropping 420
Fri Aug 31 17:43:58 2018 <0007> scheduler.c:877 1802175/1359/11/39/35 Too many contiguous elapsed fn, dropping 31
Fri Aug 31 17:43:58 2018 <0007> scheduler.c:877 1802205/1359/15/18/13 Too many contiguous elapsed fn, dropping 596
Fri Aug 31 17:43:58 2018 <0000> rsl.c:2672 (bts=0,trx=0,ts=0,ss=4)(NONE) is not active . Dropping message.
Fri Aug 31 17:43:58 2018 <0007> scheduler.c:877 1802207/1359/17/20/15 Too many contiguous elapsed fn, dropping 32
Fri Aug 31 17:43:58 2018 <0007> scheduler.c:877 1802225/1359/09/38/33 Too many contiguous elapsed fn, dropping 584
Fri Aug 31 17:43:58 2018 <0007> scheduler.c:877 1802285/1359/17/47/45 Too many contiguous elapsed fn, dropping 143
Fri Aug 31 17:43:59 2018 <0007> scheduler.c:877 1802337/1359/17/48/45 Too many contiguous elapsed fn, dropping 130
Fri Aug 31 17:43:59 2018 <0007> scheduler.c:877 1802339/1359/19/50/47 Too many contiguous elapsed fn, dropping 984
Fri Aug 31 17:43:59 2018 <0007> scheduler.c:877 1802352/1359/06/12/08 Too many contiguous elapsed fn, dropping 231
Fri Aug 31 17:43:59 2018 <0007> scheduler.c:877 1802426/1359/02/35/30 Too many contiguous elapsed fn, dropping 74
Fri Aug 31 17:43:59 2018 <0007> scheduler.c:877 1802446/1359/22/04/50 Too many contiguous elapsed fn, dropping 447
Fri Aug 31 17:43:59 2018 <0007> scheduler.c:877 1802460/1359/10/18/12 Too many contiguous elapsed fn, dropping 255
Fri Aug 31 17:43:59 2018 <0000> rsl.c:2672 (bts=0,trx=0,ts=0,ss=4)(NONE) is not active . Dropping message.
Fri Aug 31 17:43:59 2018 <0007> scheduler.c:877 1802533/1359/05/40/37 Too many contiguous elapsed fn, dropping 87
Fri Aug 31 17:43:59 2018 <0007> scheduler.c:877 1802535/1359/07/42/39 Too many contiguous elapsed fn, dropping 109
Fri Aug 31 17:44:00 2018 <0007> scheduler.c:877 1802621/1359/15/26/21 Too many contiguous elapsed fn, dropping 747
Fri Aug 31 17:44:00 2018 <0007> scheduler.c:877 1802655/1359/23/09/03 Too many contiguous elapsed fn, dropping 195
Fri Aug 31 17:44:00 2018 <0007> scheduler.c:877 1802712/1359/02/15/08 Too many contiguous elapsed fn, dropping 57
Fri Aug 31 17:44:00 2018 <0000> rsl.c:2672 (bts=0,trx=0,ts=0,ss=4)(NONE) is not active . Dropping message.
Fri Aug 31 17:44:00 2018 <0007> scheduler.c:877 1802744/1359/08/47/40 Too many contiguous elapsed fn, dropping 459
Fri Aug 31 17:44:00 2018 <0007> scheduler.c:877 1802748/1359/12/00/44 Too many contiguous elapsed fn, dropping 411
Fri Aug 31 17:44:01 2018 <0007> scheduler.c:877 1802787/1359/25/39/35 Too many contiguous elapsed fn, dropping 75
Fri Aug 31 17:44:01 2018 <0007> scheduler.c:877 1802828/1359/14/29/24 Too many contiguous elapsed fn, dropping 80
Fri Aug 31 17:44:01 2018 <0007> scheduler.c:877 1802902/1359/10/01/46 Too many contiguous elapsed fn, dropping 677
Fri Aug 31 17:44:01 2018 <0007> scheduler.c:877 1802938/1359/20/37/30 Too many contiguous elapsed fn, dropping 194

I run the following channel combinations:

   timeslot 0
    phys_chan_config CCCH+SDCCH4
    hopping enabled 0
   timeslot 1
    phys_chan_config SDCCH8
    hopping enabled 0
   timeslot 2

bs-ag-blks-res = 2 should be a legal setting, even if I would only use CCCH+SDCCH4 with no SDCCH8. I have tested on a sysmobts as well, there it worked, but the image on that BTS is not very recent.

Actions #27

Updated by dexter over 5 years ago

  • Status changed from In Progress to Stalled
Actions #28

Updated by laforge over 4 years ago

  • Assignee deleted (dexter)
  • Priority changed from High to Normal
Actions #29

Updated by pespin over 2 years ago

This should be fixable now that we have proper OMl NM FSMs in osmo-bts. AFAIu we can then get rid of LCHAN_REL_ACT_REACT.

Actions #30

Updated by pespin over 2 years ago

  • Assignee set to pespin
Actions #31

Updated by pespin 6 months ago

I confirm changing "channel-descrption bs-ag-blks-res 1" to "channel-descrption bs-ag-blks-res 2" for a BTS in osmo-bsc makes phones unable to see the network.

Tested with current osmo-bts-trx + osmo-pcu + osmo-trx master, Using only CCCH+SDCCH4 on TS0, no SDCCH8.

SI3 properly announces "BS_AG_BLKS_RES: 2".

Control Channel Description
    1... .... = MSCR: MSC is Release '99 onwards (1)
    .1.. .... = ATT: MSs in the cell shall apply IMSI attach and detach procedure (1)
    ..01 0... = BS_AG_BLKS_RES: 2
    .... .001 = CCCH-CONF: 1 basic physical channel used for CCCH, combined with SDCCHs (1)
    .00. .... = CBQ3: Iu mode not supported (0)
    .... .101 = BS-PA-MFRMS: 5
    T3212: 5

According to bootstrap_bts(), using 2 is allowed with CCCH+SDCH4:

        /* Limit reserved block to 2 on combined channel according to
           3GPP TS 44.018 Table 10.5.2.11.1 */
        if (bts->si_common.chan_desc.bs_ag_blks_res > 2) {
            LOGP(DNM, LOGL_NOTICE, "CCCH is combined with SDCCHs, " 
                 "reducing BS-AG-BLKS-RES value %d -> 2\n",
                 bts->si_common.chan_desc.bs_ag_blks_res);
            bts->si_common.chan_desc.bs_ag_blks_res = 2;
        }

However, after the OML bringup happens, when using AG_BLKS_RES=2 it seems the BTs is not transmitting on BCCH (no SIs show in GSMTAP). So presumably something ends up wrong at osmo-bts during setup.

Actions #32

Updated by pespin 6 months ago

The "bs_ag_blks_res" received from BSc in osmo-bts is basically only accessed through API "num_agch()".

In rsl_rx_bcch_info() (src(common/rsl.c), some logic seems to do stuff differently based on whether num_agch() returns != -1:

        case SYSINFO_TYPE_3:
            if (trx->nr == 0 && num_agch(trx, "RSL") != 1) {
                lchan_deactivate(&trx->bts->c0->ts[0].lchan[CCCH_LCHAN]);
                /* will be reactivated by sapi_deactivate_cb() */
                trx->bts->c0->ts[0].lchan[CCCH_LCHAN].rel_act_kind =
                    LCHAN_REL_ACT_REACT;
            }

This seems to have some relation with msuraev comment (https://osmocom.org/issues/1575?issue_count=102&issue_position=95&next_issue_id=1573&prev_issue_id=1576#note-4) from 7 years ago, and my enigmatic comment from 2 years ago I cannot decode nowadays ;) (https://osmocom.org/issues/1575?issue_count=102&issue_position=95&next_issue_id=1573&prev_issue_id=1576#note-29)

Actions #33

Updated by pespin 6 months ago

In src/osmo-bts-trx/l1_if.c we seem to be missing some part of the implementation according to this comment:

int bts_model_lchan_deactivate(struct gsm_lchan *lchan)
{
    if (lchan->rel_act_kind == LCHAN_REL_ACT_REACT) {
        lchan->rel_act_kind = LCHAN_REL_ACT_RSL;
        /* FIXME: perform whatever is needed (if any) to set proper PCH/AGCH allocation according to
           3GPP TS 44.018 Table 10.5.2.11.1 using num_agch(lchan->ts->trx, "TRX L1"); function */
        return 0;
    }
    /* set lchan inactive */
    lchan_set_state(lchan, LCHAN_S_NONE);

    return trx_sched_set_lchan(lchan, gsm_lchan2chan_nr(lchan), LID_DEDIC, false);
}

Again, related to LCHAN_REL_ACT_REACT.

Actions #34

Updated by pespin 6 months ago

Also related. include/osmo-bts/lchan.h:

LCHAN_REL_ACT_REACT, /* FIXME: remove once auto-activation hack is removed from opstart_compl() (OS#1575) */

Actions #35

Updated by pespin 6 months ago

If we send AG_BLKS_RES=2, the path mentioned above in rsl.c is entered (if (trx->nr == 0 && num_agch(trx, "RSL") != 1) {), and CCCH_LCHAN is deactivated.

sysmo, lc15 and oc2g seem to have a hack in opstart_compl() to re-enable it, but osmo-bts-trx DOES NOT HAVE IT:

static int opstart_compl(struct gsm_abis_mo *mo, struct msgb *l1_msg)
{
...
    switch (mo->obj_class) {
...
    case NM_OC_CHANNEL:
        /* ugly hack to auto-activate all SAPIs for the BCCH/CCCH on TS0 */
        if (mo->obj_inst.trx_nr == 0 &&
            mo->obj_inst.ts_nr == 0) {
            struct gsm_lchan *cbch = gsm_bts_get_cbch(mo->bts);
            DEBUGP(DL1C, "====> trying to activate lchans of BCCH\n");
            mo->bts->c0->ts[0].lchan[CCCH_LCHAN].rel_act_kind =
                LCHAN_REL_ACT_OML;
            lchan_activate(&mo->bts->c0->ts[0].lchan[CCCH_LCHAN]);
            if (cbch) {
                cbch->rel_act_kind = LCHAN_REL_ACT_OML;
                lchan_activate(cbch);
            }
        }

So all this needs to be cleaned up somehow.

Actions #36

Updated by pespin 6 months ago

At the BSC, BCCH_INFO is sent only normally during RSL bootstrap of the TRX:

bootstrap_rsl
    gsm_bts_trx_set_system_infos
        rsl_si
            rsl_sacch_filling
            rsl_bcch_info

It can also be triggered more time through: ACC (ramping/subset), CTRL ("send-new-system-informations"), VTY ("bts <0-255> resend-system-information")

gsm_bts_set_system_infos
    gsm_bts_trx_set_system_infos

Actions #37

Updated by pespin 6 months ago

The process for sysmo,oc2g,clc15 goes like this:

rsl_rx_bcch_info
    lchan_deactivate(&trx->bts->c0->ts[0].lchan[CCCH_LCHAN]);
        bts_model_lchan_deactivate
            lchan_set_state(lchan, LCHAN_S_REL_REQ);
            enqueue_rel_marker(lchan);
                queue_sapi_command(SAPI_CMD_REL_MARKER)
                    sapi_queue_exeute(SAPI_CMD_REL_MARKER) // Around here this happens async..
                        lchan_deactivate_sapis
                            check_sapi_release
                                enqueue_sapi_deact_cmd    
                                    sapi_deactivate_cb
                                        /* Reactivate CCCH due to SI3 update in RSL */
                                        if (lchan->rel_act_kind == LCHAN_REL_ACT_REACT) {
                                            lchan->rel_act_kind = LCHAN_REL_ACT_RSL;
                                            lchan_activate(lchan);
                                        }
    trx->bts->c0->ts[0].lchan[CCCH_LCHAN].rel_act_kind = LCHAN_REL_ACT_REACT;

Please notice how that due the fact that the entire deep code stack happens asynchronously, "rel_act_kind = LCHAN_REL_ACT_REACT" is applied before sapi_deactivate_cb() is called despite being afterwards in the caller code path.

Actions #38

Updated by pespin 6 months ago

Initial fix here:
https://gerrit.osmocom.org/c/osmo-bts/+/34340 bts-trx: Fix CCCH not enabled if BS_AG_BLKS_RES!=1 is provided by BSC

However, the logic "if (trx->nr == 0 && num_agch(trx, "RSL") != 1) {" in rsl.c rsl_rx_bcch_info() still looks wrong.

One should really not check if "num_agch(trx, "RSL") != 1", but if the value from previous SI3 and new SI3 actually changed.

Actions #39

Updated by pespin 6 months ago

  • Status changed from Stalled to Feedback

https://gerrit.osmocom.org/c/osmo-bts/+/34341 rsl: Improve logic reactivating CCCH upon SI3 BS_AG_BLKS_RES change

I think it would still be nice to maybe keep TS0 (NMChannel-0-0-0) as NM state "Disabled Dependency" until initial BCCH_INFO SI3 (or all required ones?) are received on the RSL link from the BSC. Only then transition to "Disabled Off-line" and let the BSC OPSTART the channel.

Actions #40

Updated by pespin 5 months ago

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

I decided to leave it as is it for now, it's fine enough.

Actions

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)