From 58a95ac799034fdb60ec277eb23bc3c411d7c5e6 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Fri, 9 Mar 2018 22:15:53 +0100 Subject: sysinfo.c: SI1 is optional; Send SI2 at TC=0 if no SI1 exists SI1 is only required if frequency hopping is used or if NCH is used. So it's optional. If OsmoBTS has no SI1 configured, it will transmit the empty SI1 buffer at TC=0, and as a result no valid SI will be broadcast at TC=0. Change-Id: I41ab885c00e943199b2e939e98f30e267ecffbee Closes: OS#3051 --- src/common/sysinfo.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/common/sysinfo.c b/src/common/sysinfo.c index cf863804..6f7a3874 100644 --- a/src/common/sysinfo.c +++ b/src/common/sysinfo.c @@ -73,7 +73,9 @@ uint8_t *bts_sysinfo_get(struct gsm_bts *bts, const struct gsm_time *g_time) * present in a cell. If the MS finds another message * when TC = 0, it can assume that System Information * Type 1 is not in use. */ - return GSM_BTS_SI(bts, SYSINFO_TYPE_1); + if (GSM_BTS_HAS_SI(bts, SYSINFO_TYPE_1)) + return GSM_BTS_SI(bts, SYSINFO_TYPE_1); + return GSM_BTS_SI(bts, SYSINFO_TYPE_2); case 1: /* A SI 2 message will be sent at least every time TC = 1. */ return GSM_BTS_SI(bts, SYSINFO_TYPE_2); -- cgit v1.2.3