aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2013-03-14 10:59:57 +0100
committerHolger Hans Peter Freyther <zecke@selfish.org>2013-03-14 11:03:37 +0100
commit692daaf2d26d1296db4b7e780f4805bb1b36bf31 (patch)
tree3c6c5a4260b143a840df45093a49903042946546 /openbsc/src
parent10eb96e6b1e7ec11b2b6024b82e123382c0ad805 (diff)
si: Add a hack to disable SI2ter/SI2bis/SI5ter/SI5bis messages
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.
Diffstat (limited to 'openbsc/src')
-rw-r--r--openbsc/src/libbsc/system_information.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/openbsc/src/libbsc/system_information.c b/openbsc/src/libbsc/system_information.c
index 439b1281d..e3d779e4a 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 */