[PATCH 1/9] si: Add a hack to disable SI2ter/SI2bis/SI5ter/SI5bis messages

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/OpenBSC@lists.osmocom.org/.

Jacob Erlbeck jerlbeck at sysmocom.de
Tue Jan 14 13:24:15 UTC 2014


From: Holger Hans Peter Freyther <zecke at selfish.org>

The iPhone5 (US) appears to have some issues with the SIs generated,
or the nanoBTS is not sending them correctly. Add a hack to put all
bands into the SI2/SI5 message.

This is a quick change without much reflection and watching for side
effects. I have verfied that a network with ARFCN 134 and neighbors
ARFCN 130 and 512 do not get generate the SI2ter and announce everything
inside the SI2.
---
 openbsc/src/libbsc/system_information.c |    8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/openbsc/src/libbsc/system_information.c b/openbsc/src/libbsc/system_information.c
index c901a4a..cb67011 100644
--- a/openbsc/src/libbsc/system_information.c
+++ b/openbsc/src/libbsc/system_information.c
@@ -44,6 +44,7 @@
  * array. DCS1800 and PCS1900 can not be used at the same time so conserve
  * memory and do the below.
  */
+#if 0
 static int band_compatible(const struct gsm_bts *bts, int arfcn)
 {
 	enum gsm_band band = gsm_arfcn2band(arfcn);
@@ -57,6 +58,7 @@ static int band_compatible(const struct gsm_bts *bts, int arfcn)
 
 	return 0;
 }
+#endif
 
 static int is_dcs_net(const struct gsm_bts *bts)
 {
@@ -70,6 +72,11 @@ static int is_dcs_net(const struct gsm_bts *bts)
 static int use_arfcn(const struct gsm_bts *bts, const int bis, const int ter,
 			const int pgsm, const int arfcn)
 {
+	if (bis || ter)
+		return 0;
+	return 1;
+#if 0
+	Correct but somehow broken with either the nanoBTS or the iPhone5
 	if (!bis && !ter && band_compatible(bts, arfcn))
 		return 1;
 	if (bis && pgsm && band_compatible(bts, arfcn) && (arfcn < 1 || arfcn > 124))
@@ -77,6 +84,7 @@ static int use_arfcn(const struct gsm_bts *bts, const int bis, const int ter,
 	if (ter && !band_compatible(bts, arfcn))
 		return 1;
 	return 0;
+#endif
 }
 
 /* Frequency Lists as per TS 04.08 10.5.2.13 */
-- 
1.7.9.5





More information about the OpenBSC mailing list