Projects
osmocom:master
osmo-bts
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 72
View file
osmo-bts.spec
Changed
@@ -14,13 +14,13 @@ Name: osmo-bts Requires: osmocom-master -Version: 1.6.0.60.4ff6 +Version: 1.6.0.63.7a64 Release: 0 Summary: Osmocom BTS-Side code (Abis, scheduling) License: AGPL-3.0-or-later AND GPL-2.0-only Group: Productivity/Telephony/Servers URL: https://osmocom.org/projects/osmobts -Source: osmo-bts_1.6.0.60.4ff6.tar.xz +Source: osmo-bts_1.6.0.63.7a64.tar.xz Source1: rpmlintrc BuildRequires: autoconf BuildRequires: automake
View file
commit_4ff6888a81be71ecf831fa10ebfff0738516a9fa.txt
Deleted
View file
commit_7a646f963b690e509784fc3cc60ca9dc2dc5d77a.txt
Added
View file
osmo-bts_1.6.0.60.4ff6.dsc
Deleted
@@ -1,24 +0,0 @@ -Format: 3.0 (native) -Source: osmo-bts -Binary: osmo-bts, osmo-bts-trx, osmo-bts-trx-dbg, osmo-bts-virtual, osmo-bts-virtual-dbg, osmo-bts-doc -Architecture: any all -Version: 1.6.0.60.4ff6 -Maintainer: Osmocom team <openbsc@lists.osmocom.org> -Homepage: https://projects.osmocom.org/projects/osmobts -Standards-Version: 3.9.8 -Vcs-Browser: https://gitea.osmocom.org/cellular-infrastructure/osmo-bts -Vcs-Git: https://gitea.osmocom.org/cellular-infrastructure/osmo-bts -Build-Depends: debhelper (>= 9), pkg-config, dh-autoreconf, autotools-dev, libosmocore-dev (>= 1.8.0), libosmo-abis-dev (>= 1.4.0), libosmo-netif-dev (>= 1.3.0), libgps-dev, txt2man, osmo-gsm-manuals-dev (>= 1.4.0) -Package-List: - osmo-bts deb net optional arch=any - osmo-bts-doc deb doc optional arch=all - osmo-bts-trx deb net optional arch=any - osmo-bts-trx-dbg deb debug extra arch=any - osmo-bts-virtual deb net optional arch=any - osmo-bts-virtual-dbg deb debug extra arch=any -Checksums-Sha1: - bcd13713d0a87698144ece2782aca1d180b1069d 467184 osmo-bts_1.6.0.60.4ff6.tar.xz -Checksums-Sha256: - 6b6b43191e6877e3676bc1ce53e9e5f0c3f19d75829d0fcee2eb3af9c7717d6e 467184 osmo-bts_1.6.0.60.4ff6.tar.xz -Files: - 6e3fab2e00fd07751a5f40a731d5a3a9 467184 osmo-bts_1.6.0.60.4ff6.tar.xz
View file
osmo-bts_1.6.0.63.7a64.dsc
Added
@@ -0,0 +1,24 @@ +Format: 3.0 (native) +Source: osmo-bts +Binary: osmo-bts, osmo-bts-trx, osmo-bts-trx-dbg, osmo-bts-virtual, osmo-bts-virtual-dbg, osmo-bts-doc +Architecture: any all +Version: 1.6.0.63.7a64 +Maintainer: Osmocom team <openbsc@lists.osmocom.org> +Homepage: https://projects.osmocom.org/projects/osmobts +Standards-Version: 3.9.8 +Vcs-Browser: https://gitea.osmocom.org/cellular-infrastructure/osmo-bts +Vcs-Git: https://gitea.osmocom.org/cellular-infrastructure/osmo-bts +Build-Depends: debhelper (>= 9), pkg-config, dh-autoreconf, autotools-dev, libosmocore-dev (>= 1.8.0), libosmo-abis-dev (>= 1.4.0), libosmo-netif-dev (>= 1.3.0), libgps-dev, txt2man, osmo-gsm-manuals-dev (>= 1.4.0) +Package-List: + osmo-bts deb net optional arch=any + osmo-bts-doc deb doc optional arch=all + osmo-bts-trx deb net optional arch=any + osmo-bts-trx-dbg deb debug extra arch=any + osmo-bts-virtual deb net optional arch=any + osmo-bts-virtual-dbg deb debug extra arch=any +Checksums-Sha1: + 2c2caf64f282d3cb7b0713963033244b1b9339a8 468164 osmo-bts_1.6.0.63.7a64.tar.xz +Checksums-Sha256: + b3d7fd0e7ff644152a0092a59812f110f422512e3910d30ce0325ed665ce8ed4 468164 osmo-bts_1.6.0.63.7a64.tar.xz +Files: + 70bd29ce8ca3062e88e815d59b92dade 468164 osmo-bts_1.6.0.63.7a64.tar.xz
View file
osmo-bts_1.6.0.60.4ff6.tar.xz/.tarball-version -> osmo-bts_1.6.0.63.7a64.tar.xz/.tarball-version
Changed
@@ -1 +1 @@ -1.6.0.60-4ff6 +1.6.0.63-7a64
View file
osmo-bts_1.6.0.60.4ff6.tar.xz/debian/changelog -> osmo-bts_1.6.0.63.7a64.tar.xz/debian/changelog
Changed
@@ -1,8 +1,8 @@ -osmo-bts (1.6.0.60.4ff6) unstable; urgency=medium +osmo-bts (1.6.0.63.7a64) unstable; urgency=medium * Automatically generated changelog entry for building the Osmocom master feed - -- Osmocom OBS scripts <info@osmocom.org> Mon, 03 Apr 2023 15:28:21 +0000 + -- Osmocom OBS scripts <info@osmocom.org> Tue, 04 Apr 2023 18:41:29 +0000 osmo-bts (1.6.0) unstable; urgency=medium
View file
osmo-bts_1.6.0.60.4ff6.tar.xz/include/osmo-bts/bts.h -> osmo-bts_1.6.0.63.7a64.tar.xz/include/osmo-bts/bts.h
Changed
@@ -158,6 +158,7 @@ /* Base Station Identification Code (BSIC), lower 3 bits is BCC, * which is used as TSC for the CCCH */ uint8_t bsic; + bool bsic_configured; /* type of BTS */ enum gsm_bts_type_variant variant; enum gsm_band band;
View file
osmo-bts_1.6.0.60.4ff6.tar.xz/include/osmo-bts/gsm_data.h -> osmo-bts_1.6.0.63.7a64.tar.xz/include/osmo-bts/gsm_data.h
Changed
@@ -91,7 +91,10 @@ /* Training Sequence Code (range 0..7) */ uint8_t tsc_oml; /* configured via OML */ - uint8_t tsc; /* currently in use */ + bool tsc_oml_configured; + uint8_t tsc_rsl; /* configured via RSL (Osmo extension) */ + bool tsc_rsl_configured; + uint8_t tsc; /* TSC currently in use. Preference: RSL, OML, BTS-BSIC-OML */ /* Training Sequence Set (range 0..3) */ uint8_t tsc_set; @@ -194,6 +197,8 @@ bool ts_is_pdch(const struct gsm_bts_trx_ts *ts); +void gsm_ts_apply_configured_tsc(struct gsm_bts_trx_ts *ts); + void gsm_ts_release(struct gsm_bts_trx_ts *ts); #endif /* _GSM_DATA_H */
View file
osmo-bts_1.6.0.60.4ff6.tar.xz/src/common/bts.c -> osmo-bts_1.6.0.63.7a64.tar.xz/src/common/bts.c
Changed
@@ -351,6 +351,8 @@ power_ctrl_params_def_reset(&bts->ms_dpc_params, false); /* configurable via OML */ + bts->bsic = 0xff; /* invalid value, guarded by bsc_configured=false */ + bts->bsic_configured = false; bts->load.ccch.load_ind_period = 112; bts->rtp_jitter_buf_ms = 100; bts->max_ta = 63;
View file
osmo-bts_1.6.0.60.4ff6.tar.xz/src/common/bts_trx.c -> osmo-bts_1.6.0.63.7a64.tar.xz/src/common/bts_trx.c
Changed
@@ -74,6 +74,10 @@ ts->trx = trx; ts->nr = tn; + ts->tsc_oml_configured = false; + ts->tsc_rsl_configured = false; + ts->tsc = ts->tsc_oml = ts->tsc_rsl = 0xff; + ts->mo.fi = osmo_fsm_inst_alloc(&nm_chan_fsm, trx, ts, LOGL_INFO, NULL); osmo_fsm_inst_update_id_f(ts->mo.fi, "%s-ts%u", @@ -99,6 +103,10 @@ ts->trx = trx; ts->nr = tn; + ts->tsc_oml_configured = false; + ts->tsc_rsl_configured = false; + ts->tsc = ts->tsc_oml = ts->tsc_rsl = 0xff; + /* Link both primary and shadow */ trx->tstn.vamos.peer = ts; ts->vamos.peer = &trx->tstn;
View file
osmo-bts_1.6.0.60.4ff6.tar.xz/src/common/gsm_data.c -> osmo-bts_1.6.0.63.7a64.tar.xz/src/common/gsm_data.c
Changed
@@ -306,6 +306,29 @@ } } +/* Apply ts->tsc based on what was configured coming from different sources. + * Priorities (preferred first, overrides ones afterward): + * 1- RSL OSMO_TSC IE + * 2- OML SetChannelAttr TSC IE + * 3- OML SetBtsAttr BSIC IE + */ +void gsm_ts_apply_configured_tsc(struct gsm_bts_trx_ts *ts) +{ + if (ts->tsc_rsl_configured) { + ts->tsc = ts->tsc_rsl; + return; + } + if (ts->tsc_oml_configured) { + ts->tsc = ts->tsc_oml; + return; + } + if (ts->trx->bts->bsic_configured) { + ts->tsc = BTS_TSC(ts->trx->bts); + return; + } + ts->tsc = 0xff; /* invalid value */ +} + void gsm_ts_release(struct gsm_bts_trx_ts *ts) { unsigned int ln; @@ -318,4 +341,8 @@ /* Make sure pchan_is is reset, since PCU act_req to release it will be * ignored as the lchan will already be released. */ ts->dyn.pchan_is = ts->dyn.pchan_want = GSM_PCHAN_NONE; + + ts->tsc_oml_configured = false; + ts->tsc_rsl_configured = false; + ts->tsc = ts->tsc_oml = ts->tsc_rsl = 0xff; }
View file
osmo-bts_1.6.0.60.4ff6.tar.xz/src/common/nm_bts_fsm.c -> osmo-bts_1.6.0.63.7a64.tar.xz/src/common/nm_bts_fsm.c
Changed
@@ -60,6 +60,8 @@ struct gsm_bts *bts = (struct gsm_bts *)fi->priv; /* Reset state: */ bts->si_valid = 0; + bts->bsic_configured = false; + bts->bsic = 0xff; /* invalid value */ TALLOC_FREE(bts->mo.nm_attr); bts_cbch_reset(bts);
View file
osmo-bts_1.6.0.60.4ff6.tar.xz/src/common/oml.c -> osmo-bts_1.6.0.63.7a64.tar.xz/src/common/oml.c
Changed
@@ -712,8 +712,35 @@ bts->c0->arfcn = ntohs(tlvp_val16_unal(&tp, NM_ATT_BCCH_ARFCN)); /* 9.4.9 BSIC */ - if (TLVP_PRES_LEN(&tp, NM_ATT_BSIC, 1)) + if (TLVP_PRES_LEN(&tp, NM_ATT_BSIC, 1)) { + struct gsm_bts_trx *trx; + uint8_t bts_tsc; + bts->bsic = *TLVP_VAL(&tp, NM_ATT_BSIC); + bts->bsic_configured = true; + bts_tsc = BTS_TSC(bts); + + /* Apply TSC update on each TS if required: */ + llist_for_each_entry(trx, &bts->trx_list, list) { /* C0..n */ + unsigned int tn; + for (tn = 0; tn < ARRAY_SIZE(trx->ts); tn++) { + struct gsm_bts_trx_ts *ts = &trx->tstn; + + /* First some config validation: */ + if (ts->tsc_oml_configured && + ts->tsc_oml != bts_tsc && + !osmo_bts_has_feature(bts->features, BTS_FEAT_MULTI_TSC)) { + LOGPFOH(DOML, LOGL_ERROR, foh, "SET BTS ATTR: this BTS model does not " + "support TSC %u != BSIC-BCC %u (TSC %u)\n", + ts->tsc_oml, bts->bsic, bts_tsc); + return oml_fom_ack_nack(msg, NM_NACK_PARAM_RANGE); + } + + /* Now update TS TSC if needed: */ + gsm_ts_apply_configured_tsc(ts); + } + } + } /* call into BTS driver to apply new attributes to hardware */ return bts_model_apply_oml(bts, msg, tp_merged, NM_OC_BTS, bts); @@ -984,20 +1011,25 @@ /* 9.4.60 TSC */ if (TLVP_PRES_LEN(&tp, NM_ATT_TSC, 1)) { - ts->tsc_oml = ts->tsc = *TLVP_VAL(&tp, NM_ATT_TSC); - if (ts->tsc != BTS_TSC(bts) && + ts->tsc_oml = *TLVP_VAL(&tp, NM_ATT_TSC); + ts->tsc_oml_configured = true; + } + + if (ts->tsc_oml_configured) { + if (bts->bsic_configured && + ts->tsc_oml != BTS_TSC(bts) && !osmo_bts_has_feature(bts->features, BTS_FEAT_MULTI_TSC)) { LOGPFOH(DOML, LOGL_ERROR, foh, "SET CHAN ATTR: this BTS model does not " - "support TSC %u != BSIC-BCC %u\n", ts->tsc, BTS_TSC(bts)); + "support TSC %u != BSIC-BCC %u\n", ts->tsc_oml, BTS_TSC(bts)); talloc_free(tp_merged); return oml_fom_ack_nack(msg, NM_NACK_PARAM_RANGE); } - } else { - /* If there is no TSC specified, use the BCC */ - ts->tsc_oml = ts->tsc = BTS_TSC(bts); + gsm_ts_apply_configured_tsc(ts); } - LOGPFOH(DOML, LOGL_INFO, foh, "SET CHAN ATTR (TSC=%u pchan=%s", - ts->tsc, gsm_pchan_name(ts->pchan)); + + LOGPFOH(DOML, LOGL_INFO, foh, "SET CHAN ATTR (TSC=%d pchan=%s", + ts->tsc_oml_configured ? (int)ts->tsc_oml : -1, + gsm_pchan_name(ts->pchan)); if (ts->hopping.enabled) LOGPC(DOML, LOGL_INFO, " hsn=%u maio=%u chan_num=%u", ts->hopping.hsn, ts->hopping.maio, ts->hopping.arfcn_num);
View file
osmo-bts_1.6.0.60.4ff6.tar.xz/src/common/rsl.c -> osmo-bts_1.6.0.63.7a64.tar.xz/src/common/rsl.c
Changed
@@ -294,11 +294,14 @@ if (TLVP_PRES_LEN(tp, RSL_IE_OSMO_TRAINING_SEQUENCE, 2)) { const uint8_t *ie = TLVP_VAL(tp, RSL_IE_OSMO_TRAINING_SEQUENCE); lchan->ts->tsc_set = ie0 & 0x03; /* Range: 0..3 */ - lchan->ts->tsc = ie1 & 0x07; /* Range: 0..7 */ + lchan->ts->tsc_rsl = ie1 & 0x07; /* Range: 0..7 */ + lchan->ts->tsc_rsl_configured = true; } else { - lchan->ts->tsc = lchan->ts->tsc_oml; + lchan->ts->tsc_rsl_configured = false; + lchan->ts->tsc_rsl = 0xff; lchan->ts->tsc_set = 0; } + gsm_ts_apply_configured_tsc(lchan->ts); return 0; }
View file
osmo-bts_1.6.0.60.4ff6.tar.xz/src/osmo-bts-lc15/oml.c -> osmo-bts_1.6.0.63.7a64.tar.xz/src/osmo-bts-lc15/oml.c
Changed
@@ -1814,14 +1814,6 @@ struct gsm_bts_trx *trx; struct lc15l1_hdl *fl1h; - /* TODO: NM Object without FSM: */ - switch (foh->obj_class) { - case NM_OC_GPRS_NSE: - case NM_OC_GPRS_CELL: - case NM_OC_GPRS_NSVC: - return oml_fom_ack_nack(ev_data.msg, ev_data.cause); - } - switch (foh->msg_type) { case NM_MT_SET_RADIO_ATTR: trx = obj;
View file
osmo-bts_1.6.0.60.4ff6.tar.xz/src/osmo-bts-oc2g/oml.c -> osmo-bts_1.6.0.63.7a64.tar.xz/src/osmo-bts-oc2g/oml.c
Changed
@@ -1824,14 +1824,6 @@ struct oc2gl1_hdl *fl1h; uint8_t cell_size; - /* TODO: NM Object without FSM: */ - switch (foh->obj_class) { - case NM_OC_GPRS_NSE: - case NM_OC_GPRS_CELL: - case NM_OC_GPRS_NSVC: - return oml_fom_ack_nack(ev_data.msg, ev_data.cause); - } - switch (foh->msg_type) { case NM_MT_SET_RADIO_ATTR: trx = obj;
View file
osmo-bts_1.6.0.60.4ff6.tar.xz/src/osmo-bts-octphy/l1_oml.c -> osmo-bts_1.6.0.63.7a64.tar.xz/src/osmo-bts-octphy/l1_oml.c
Changed
@@ -1754,14 +1754,6 @@ int rc; struct gsm_bts_trx *trx; - /* TODO: NM Object without FSM: */ - switch (foh->obj_class) { - case NM_OC_GPRS_NSE: - case NM_OC_GPRS_CELL: - case NM_OC_GPRS_NSVC: - return oml_fom_ack_nack(ev_data.msg, ev_data.cause); - } - switch (foh->msg_type) { case NM_MT_SET_RADIO_ATTR: trx = obj;
View file
osmo-bts_1.6.0.60.4ff6.tar.xz/src/osmo-bts-omldummy/bts_model.c -> osmo-bts_1.6.0.63.7a64.tar.xz/src/osmo-bts-omldummy/bts_model.c
Changed
@@ -104,14 +104,6 @@ }; int rc; - /* TODO: NM Object without FSM: */ - switch (foh->obj_class) { - case NM_OC_GPRS_NSE: - case NM_OC_GPRS_CELL: - case NM_OC_GPRS_NSVC: - return oml_fom_ack_nack(ev_data.msg, ev_data.cause); - } - switch (foh->msg_type) { case NM_MT_SET_BTS_ATTR: ev_data.cause = vbts_set_bts(obj);
View file
osmo-bts_1.6.0.60.4ff6.tar.xz/src/osmo-bts-sysmo/oml.c -> osmo-bts_1.6.0.63.7a64.tar.xz/src/osmo-bts-sysmo/oml.c
Changed
@@ -1727,14 +1727,6 @@ struct gsm_bts_trx *trx; struct femtol1_hdl *fl1h; - /* TODO: NM Object without FSM: */ - switch (foh->obj_class) { - case NM_OC_GPRS_NSE: - case NM_OC_GPRS_CELL: - case NM_OC_GPRS_NSVC: - return oml_fom_ack_nack(ev_data.msg, ev_data.cause); - } - switch (foh->msg_type) { case NM_MT_SET_RADIO_ATTR: trx = obj;
View file
osmo-bts_1.6.0.60.4ff6.tar.xz/src/osmo-bts-trx/l1_if.c -> osmo-bts_1.6.0.63.7a64.tar.xz/src/osmo-bts-trx/l1_if.c
Changed
@@ -206,7 +206,7 @@ } /* set bts attributes */ -static uint8_t trx_set_bts(struct gsm_bts *bts, struct tlv_parsed *new_attr) +static uint8_t trx_set_bts(struct gsm_bts *bts) { struct phy_instance *pinst = trx_phy_instance(bts->c0); struct trx_l1h *l1h = pinst->u.osmotrx.hdl; @@ -559,17 +559,9 @@ }; int rc; - /* TODO: NM Object without FSM: */ - switch (foh->obj_class) { - case NM_OC_GPRS_NSE: - case NM_OC_GPRS_CELL: - case NM_OC_GPRS_NSVC: - return oml_fom_ack_nack(ev_data.msg, ev_data.cause); - } - switch (foh->msg_type) { case NM_MT_SET_BTS_ATTR: - ev_data.cause = trx_set_bts(obj, new_attr); + ev_data.cause = trx_set_bts(obj); break; case NM_MT_SET_RADIO_ATTR: ev_data.cause = trx_set_trx(obj);
View file
osmo-bts_1.6.0.60.4ff6.tar.xz/src/osmo-bts-virtual/bts_model.c -> osmo-bts_1.6.0.63.7a64.tar.xz/src/osmo-bts-virtual/bts_model.c
Changed
@@ -139,14 +139,6 @@ }; int rc; - /* TODO: NM Object without FSM: */ - switch (foh->obj_class) { - case NM_OC_GPRS_NSE: - case NM_OC_GPRS_CELL: - case NM_OC_GPRS_NSVC: - return oml_fom_ack_nack(ev_data.msg, ev_data.cause); - } - switch (foh->msg_type) { case NM_MT_SET_BTS_ATTR: ev_data.cause = vbts_set_bts(obj);
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.