Change in osmo-bsc[master]: Add VTY option to avoid sending empty Full BCCH Info for disabled SI

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

Pau Espin Pedrol gerrit-no-reply at lists.osmocom.org
Wed Dec 5 12:46:22 UTC 2018


Pau Espin Pedrol has uploaded this change for review. ( https://gerrit.osmocom.org/12133


Change subject: Add VTY option to avoid sending empty Full BCCH Info for disabled SI
......................................................................

Add VTY option to avoid sending empty Full BCCH Info for disabled SI

According to 3GPP TS 08.58 §8.5.1 BCCH INFORMATION:
"If the Full BCCH information element is not included this indicates that
transmission of the indicated SYSTEM INFORMATION message shall be stopped."

However, some ipaccess nanoBTS firmware versions are known to not support
some SI elements and also to dislike receiving BCCH Information for those SI,
even if received with empty BCCH Information meaning they should not be used.

Upon receival of this kind of message, nanoBTS sends a Failure Report
with following text:
Type=processing failure, Severity=critical failure, Probable cause=Manufacturer specific values: Fatal software error, Additional Text=l2_bch.c:1149
****
** l2_bch.c#1149:BCHbcchSItypeValid( prim_p->infoType )
** IPA_SW_FATAL_ERROR
** In task "TRX Proc:L2_BCH" @ (325).
****

This kind of issue only appears with some fw versions, since it's known
to work fine in other ones, so let's not disable this kind of mesage by
default on all BTs of type "nanobts".

Instead, add a VTY command that allows disabling this kind of message in
order to be able to operate those nanoBTS units.

Fixes: OS#3707
Change-Id: Idec1daabc21de4eea5c55edd1dbb0e0775720fc7
---
M include/osmocom/bsc/gsm_data.h
M src/osmo-bsc/bsc_init.c
M src/osmo-bsc/bsc_vty.c
M src/osmo-bsc/gsm_data.c
4 files changed, 48 insertions(+), 6 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/33/12133/1

diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h
index 2f60e4d..23c7b4f 100644
--- a/include/osmocom/bsc/gsm_data.h
+++ b/include/osmocom/bsc/gsm_data.h
@@ -968,6 +968,9 @@
 	/* offsets used while generating SI2quater */
 	size_t e_offset;
 	size_t u_offset;
+	/* 3GPP TS 08.58 §8.5.1 BCCH INFORMATION. Some nanoBTS fail upon
+	 * receival of empty SI disabling unsupported SI. see OS#3707. */
+	bool si_disabled_send_empty;
 
 	/* ip.accesss Unit ID's have Site/BTS/TRX layout */
 	union {
diff --git a/src/osmo-bsc/bsc_init.c b/src/osmo-bsc/bsc_init.c
index 2f44b20..4827529 100644
--- a/src/osmo-bsc/bsc_init.c
+++ b/src/osmo-bsc/bsc_init.c
@@ -173,12 +173,16 @@
 
 	for (n = 0; n < n_si; n++) {
 		i = gen_si[n];
-		/* if we don't currently have this SI, we send a zero-length
-		 * RSL BCCH FILLING / SACCH FILLING * in order to deactivate
-		 * the SI, in case it might have previously been active */
-		if (!GSM_BTS_HAS_SI(bts, i))
-			rc = rsl_si(trx, i, 0);
-		else
+		/* 3GPP TS 08.58 §8.5.1 BCCH INFORMATION. If we don't currently
+		 * have this SI, we send a zero-length RSL BCCH FILLING /
+		 * SACCH FILLING in order to deactivate the SI, in case it
+		 * might have previously been active */
+		if (!GSM_BTS_HAS_SI(bts, i)) {
+			if (bts->si_disabled_send_empty)
+				rc = rsl_si(trx, i, 0);
+			else
+				rc = 0; /* some nanoBTs fw don't like receiving empty unsupported SI */
+		} else
 			rc = rsl_si(trx, i, si_len[i]);
 		if (rc < 0)
 			return rc;
diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c
index 983dcb9..5524612 100644
--- a/src/osmo-bsc/bsc_vty.c
+++ b/src/osmo-bsc/bsc_vty.c
@@ -3087,6 +3087,38 @@
 	return CMD_SUCCESS;
 }
 
+DEFUN(cfg_bts_si_disabled_send_empty, cfg_bts_si_disabled_send_empty_cmd,
+	"system-information disabled-si-send-empty-bcch-info",
+	SI_TEXT
+	"Send BCCH Info with empty 'Full BCCH Info' TLV to notify disabled SI. "
+	"Some nanoBTS fw versions are known to fail upron receival of these messages.\n")
+{
+	struct gsm_bts *bts = vty->index;
+
+	bts->si_disabled_send_empty = true;
+
+	return CMD_SUCCESS;
+}
+
+DEFUN(cfg_bts_no_si_disabled_send_empty, cfg_bts_no_si_disabled_send_empty_cmd,
+	"no system-information disabled-si-send-empty-bcch-info",
+	NO_STR SI_TEXT
+	"Avoid sending BCCH Info with empty 'Full BCCH Info' TLV to notify disabled SI. "
+	"Some nanoBTS fw versions are known to fail upron receival of these messages.\n")
+{
+	struct gsm_bts *bts = vty->index;
+
+	if (!is_ipaccess_bts(bts) || is_sysmobts_v2(bts)) {
+		vty_out(vty, "This command is only intended for ipaccess nanoBTS. See OS#3707.%s",
+			VTY_NEWLINE);
+		return CMD_WARNING;
+	}
+
+	bts->si_disabled_send_empty = false;
+
+	return CMD_SUCCESS;
+}
+
 DEFUN(cfg_bts_early_cm, cfg_bts_early_cm_cmd,
 	"early-classmark-sending (allowed|forbidden)",
 	"Early Classmark Sending\n"
@@ -5082,6 +5114,8 @@
 	install_element(BTS_NODE, &cfg_bts_pag_free_cmd);
 	install_element(BTS_NODE, &cfg_bts_si_mode_cmd);
 	install_element(BTS_NODE, &cfg_bts_si_static_cmd);
+	install_element(BTS_NODE, &cfg_bts_si_disabled_send_empty_cmd);
+	install_element(BTS_NODE, &cfg_bts_no_si_disabled_send_empty_cmd);
 	install_element(BTS_NODE, &cfg_bts_early_cm_cmd);
 	install_element(BTS_NODE, &cfg_bts_early_cm_3g_cmd);
 	install_element(BTS_NODE, &cfg_bts_neigh_mode_cmd);
diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c
index 6d39642..f406f80 100644
--- a/src/osmo-bsc/gsm_data.c
+++ b/src/osmo-bsc/gsm_data.c
@@ -855,6 +855,7 @@
 	bts->gprs.ctrl_ack_type_use_block = true; /* use RLC/MAC control block */
 	bts->neigh_list_manual_mode = NL_MODE_AUTOMATIC;
 	bts->early_classmark_allowed_3g = true; /* 3g Early Classmark Sending controlled by bts->early_classmark_allowed param */
+	bts->si_disabled_send_empty = true;
 	bts->si_common.cell_sel_par.cell_resel_hyst = 2; /* 4 dB */
 	bts->si_common.cell_sel_par.rxlev_acc_min = 0;
 	bts->si_common.si2quater_neigh_list.arfcn = bts->si_common.data.earfcn_list;

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

Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Idec1daabc21de4eea5c55edd1dbb0e0775720fc7
Gerrit-Change-Number: 12133
Gerrit-PatchSet: 1
Gerrit-Owner: Pau Espin Pedrol <pespin at sysmocom.de>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20181205/fe2848f5/attachment.htm>


More information about the gerrit-log mailing list