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/.
laforge gerrit-no-reply at lists.osmocom.orglaforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24621 )
Change subject: pcuif: Support receiving System Information 2
......................................................................
pcuif: Support receiving System Information 2
OsmoPCU will need this SI2 in order to gain knowledge of the BCCH
Frequency List being broadcasted, in order to build a per-MS specific
Neighbour List using NC_FREQUENCY_LIST bits in Packet Measurement Order.
Related: SYS#5303
Change-Id: I4a9c4f70beac6805322a19835a0d30f7247780b4
---
M src/bts.h
M src/pcu_l1_if.cpp
2 files changed, 33 insertions(+), 0 deletions(-)
Approvals:
Jenkins Builder: Verified
laforge: Looks good to me, approved
diff --git a/src/bts.h b/src/bts.h
index 2a7d883..a2f4598 100644
--- a/src/bts.h
+++ b/src/bts.h
@@ -231,6 +231,9 @@
uint8_t si1[GSM_MACBLOCK_LEN];
bool si1_is_set;
+ uint8_t si2[GSM_MACBLOCK_LEN];
+ bool si2_is_set;
+ struct gsm_sysinfo_freq si2_bcch_cell_list[1024];
uint8_t si3[GSM_MACBLOCK_LEN];
bool si3_is_set;
uint8_t si13[GSM_MACBLOCK_LEN];
diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp
index 0453b92..818cb1a 100644
--- a/src/pcu_l1_if.cpp
+++ b/src/pcu_l1_if.cpp
@@ -286,9 +286,28 @@
return rc;
}
+static int list_arfcn(const struct gprs_rlcmac_bts *bts, const struct gsm_sysinfo_freq *freq, const char *text)
+{
+ int n = 0, i;
+ for (i = 0; i < 1024; i++) {
+ if (freq[i].mask) {
+ if (!n)
+ LOGP(DL1IF, LOGL_INFO, "BTS%d: %s", bts->nr, text);
+ LOGPC(DL1IF, LOGL_INFO, " %d", i);
+ n++;
+ }
+ }
+ if (n)
+ LOGPC(DL1IF, LOGL_INFO, "\n");
+
+ return n;
+}
+
static int pcu_rx_data_ind_bcch(struct gprs_rlcmac_bts *bts, uint8_t *data, uint8_t len)
{
+ struct gsm48_system_information_type_2 *si2;
const uint8_t *si_ro;
+
switch (len) {
case 0:
/* Due to historical reasons also accept a completely empty message as
@@ -305,6 +324,9 @@
case SYSINFO_TYPE_1:
bts->si1_is_set = false;
break;
+ case SYSINFO_TYPE_2:
+ bts->si2_is_set = false;
+ break;
case SYSINFO_TYPE_3:
bts->si3_is_set = false;
break;
@@ -328,6 +350,14 @@
memcpy(bts->si1, data, GSM_MACBLOCK_LEN);
bts->si1_is_set = true;
break;
+ case GSM48_MT_RR_SYSINFO_2:
+ memcpy(bts->si2, data, GSM_MACBLOCK_LEN);
+ bts->si2_is_set = true;
+ si2 = (struct gsm48_system_information_type_2 *)bts->si2;
+ gsm48_decode_freq_list(bts->si2_bcch_cell_list, si2->bcch_frequency_list,
+ sizeof(si2->bcch_frequency_list), 0xce, 1);
+ list_arfcn(bts, bts->si2_bcch_cell_list, "SI2 Neighbour cells in same band:");
+ break;
case GSM48_MT_RR_SYSINFO_3:
memcpy(bts->si3, data, GSM_MACBLOCK_LEN);
bts->si3_is_set = true;
--
To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24621
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Change-Id: I4a9c4f70beac6805322a19835a0d30f7247780b4
Gerrit-Change-Number: 24621
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin at sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge at osmocom.org>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20210615/b76fb7b9/attachment.htm>