Change in osmo-bsc[master]: bsc: Enable force-combined-si on nanoBTS by default

Pau Espin Pedrol gerrit-no-reply at lists.osmocom.org
Tue Nov 20 16:43:55 UTC 2018


Pau Espin Pedrol has submitted this change and it was merged. ( https://gerrit.osmocom.org/11834 )

Change subject: bsc: Enable force-combined-si on nanoBTS by default
......................................................................

bsc: Enable force-combined-si on nanoBTS by default

Some nanoBTS firmwares (if not all) are known to not work properly with
SI2ter. If BSC enables SI2ter through RSL, SI3 bit announcing SI2ter
available will be forwarded by nanoBTS to MS, but will still only send
SI2 message instead of expected SI2ter during TC=5 (see GSM 05.02 sec 6.3.4 "Mapping
of BCCH data"). As a result, some MS won't allow registering to the
network.

To avoid this kind of scenario, enable force-combined-si by default on
nanoBTS while still allowing to overwrite the feature through VTY. Other
BTS models are kept with force-combined-si disabled by default as
usually, since they seems to be working fine when SI2ter is enabled.

Related: OS#3063
Change-Id: Ide6e8967de0eedc9e2bcaf4414aaa537b009d72d
---
M doc/examples/osmo-bsc/osmo-bsc.cfg
M doc/examples/osmo-bsc/osmo-bsc_custom-sccp.cfg
M include/osmocom/bsc/gsm_data.h
M src/osmo-bsc/bsc_vty.c
M src/osmo-bsc/bts_ipaccess_nanobts.c
M src/osmo-bsc/bts_sysmobts.c
M src/osmo-bsc/system_information.c
7 files changed, 19 insertions(+), 6 deletions(-)

Approvals:
  Neels Hofmeyr: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/doc/examples/osmo-bsc/osmo-bsc.cfg b/doc/examples/osmo-bsc/osmo-bsc.cfg
index 750b089..eec154d 100644
--- a/doc/examples/osmo-bsc/osmo-bsc.cfg
+++ b/doc/examples/osmo-bsc/osmo-bsc.cfg
@@ -40,7 +40,6 @@
   oml ip.access stream_id 255 line 0
   codec-support fr
   gprs mode none
-  no force-combined-si
   trx 0
    rf_locked 0
    arfcn 871
diff --git a/doc/examples/osmo-bsc/osmo-bsc_custom-sccp.cfg b/doc/examples/osmo-bsc/osmo-bsc_custom-sccp.cfg
index d1b3678..fd3a349 100644
--- a/doc/examples/osmo-bsc/osmo-bsc_custom-sccp.cfg
+++ b/doc/examples/osmo-bsc/osmo-bsc_custom-sccp.cfg
@@ -39,7 +39,6 @@
   oml ip.access stream_id 255 line 0
   codec-support fr
   gprs mode none
-  no force-combined-si
   trx 0
    rf_locked 0
    arfcn 871
diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h
index 4d8a4d0..ba52c99 100644
--- a/include/osmocom/bsc/gsm_data.h
+++ b/include/osmocom/bsc/gsm_data.h
@@ -756,6 +756,9 @@
 	void (*config_write_trx)(struct vty *vty, struct gsm_bts_trx *trx);
 	void (*config_write_ts)(struct vty *vty, struct gsm_bts_trx_ts *ts);
 
+	/* Should SI2bis and SI2ter be disabled by default on this BTS model? */
+	bool force_combined_si;
+
 	struct tlv_definition nm_att_tlvdef;
 
 	/* features of a given BTS model set via gsm_bts_model_register() locally */
@@ -1046,6 +1049,7 @@
 
 	/* SI related items */
 	int force_combined_si;
+	bool force_combined_si_set;
 	int bcch_change_mark;
 
 	/* Abis NM queue */
diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c
index 3ac592c..931db5b 100644
--- a/src/osmo-bsc/bsc_vty.c
+++ b/src/osmo-bsc/bsc_vty.c
@@ -985,8 +985,9 @@
 	if (bts->excl_from_rf_lock)
 		vty_out(vty, "  rf-lock-exclude%s", VTY_NEWLINE);
 
-	vty_out(vty, "  %sforce-combined-si%s",
-		bts->force_combined_si ? "" : "no ", VTY_NEWLINE);
+	if (bts->force_combined_si_set)
+		vty_out(vty, "  %sforce-combined-si%s",
+			bts->force_combined_si ? "" : "no ", VTY_NEWLINE);
 
 	for (i = 0; i < ARRAY_SIZE(bts->depends_on); ++i) {
 		int j;
@@ -3411,6 +3412,7 @@
 {
 	struct gsm_bts *bts = vty->index;
 	bts->force_combined_si = 1;
+	bts->force_combined_si_set = true;
 	return CMD_SUCCESS;
 }
 
@@ -3421,6 +3423,7 @@
 {
 	struct gsm_bts *bts = vty->index;
 	bts->force_combined_si = 0;
+	bts->force_combined_si_set = true;
 	return CMD_SUCCESS;
 }
 
diff --git a/src/osmo-bsc/bts_ipaccess_nanobts.c b/src/osmo-bsc/bts_ipaccess_nanobts.c
index 1fffd89..cf81a22 100644
--- a/src/osmo-bsc/bts_ipaccess_nanobts.c
+++ b/src/osmo-bsc/bts_ipaccess_nanobts.c
@@ -63,7 +63,12 @@
 	.start = bts_model_nanobts_start,
 	.oml_rcvmsg = &abis_nm_rcvmsg,
 	.oml_status = &get_oml_status,
-	.e1line_bind_ops = bts_model_nanobts_e1line_bind_ops, 
+	.e1line_bind_ops = bts_model_nanobts_e1line_bind_ops,
+	/* Some nanoBTS firmwares (if not all) don't support SI2ter and cause
+	 * problems on some MS if it is enabled, see OS#3063. Disable it by
+	 * default, can still be enabled through VTY cmd with same name.
+	 */
+	.force_combined_si = true,
 	.nm_att_tlvdef = {
 		.def = {
 			/* ip.access specifics */
diff --git a/src/osmo-bsc/bts_sysmobts.c b/src/osmo-bsc/bts_sysmobts.c
index 91d1118..2537864 100644
--- a/src/osmo-bsc/bts_sysmobts.c
+++ b/src/osmo-bsc/bts_sysmobts.c
@@ -48,6 +48,9 @@
 	model_sysmobts.name = "sysmobts";
 	model_sysmobts.type = GSM_BTS_TYPE_OSMOBTS;
 
+	/* Unlike nanoBTS, sysmoBTS supports SI2bis and SI2ter fine */
+	model_sysmobts.force_combined_si = false;
+
 	model_sysmobts.features.data = &model_sysmobts._features_data[0];
 	model_sysmobts.features.data_len =
 				sizeof(model_sysmobts._features_data);
diff --git a/src/osmo-bsc/system_information.c b/src/osmo-bsc/system_information.c
index 0148ac3..0a441dc 100644
--- a/src/osmo-bsc/system_information.c
+++ b/src/osmo-bsc/system_information.c
@@ -327,7 +327,7 @@
 static inline int use_arfcn(const struct gsm_bts *bts, const bool bis, const bool ter,
 			const bool pgsm, const int arfcn)
 {
-	if (bts->force_combined_si)
+	if (bts->force_combined_si_set ? bts->force_combined_si : bts->model->force_combined_si)
 		return !bis && !ter;
 	if (!bis && !ter && band_compatible(bts, arfcn))
 		return 1;

-- 
To view, visit https://gerrit.osmocom.org/11834
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: Ide6e8967de0eedc9e2bcaf4414aaa537b009d72d
Gerrit-Change-Number: 11834
Gerrit-PatchSet: 3
Gerrit-Owner: Pau Espin Pedrol <pespin at sysmocom.de>
Gerrit-Reviewer: Jenkins Builder (1000002)
Gerrit-Reviewer: Neels Hofmeyr <nhofmeyr at sysmocom.de>
Gerrit-Reviewer: Pau Espin Pedrol <pespin at sysmocom.de>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20181120/6062206b/attachment.html>


More information about the gerrit-log mailing list