RBS: Fix acceptance of SI2quater in System Information

The DUG20 does not seem to accept SI2quater unless we have
RSL_IE_FULL_BCCH_INFO at the end of the message.

We were already doing this for SI13, but it seems the DUG
needs it for the SI2quater also. In fact, adding this IE
to the end of ALL BCCH SI does not generate any error.

Confirmed bt capturing BCCH off the air and decoding.
All SI as sent via RSL are represented correctly on C0.

Change-Id: Icfd55a8272a42a592b1c546ab3eba8757868b6ca
This commit is contained in:
Keith Whyte 2024-03-06 13:16:49 -06:00
parent 85687bf176
commit 27207aac1a
1 changed files with 5 additions and 4 deletions

View File

@ -281,12 +281,13 @@ __attribute__((weak)) int rsl_bcch_info(const struct gsm_bts_trx *trx, enum osmo
init_dchan_hdr(dh, RSL_MT_BCCH_INFO);
dh->chan_nr = RSL_CHAN_BCCH;
if (trx->bts->type == GSM_BTS_TYPE_RBS2000
&& type == RSL_SYSTEM_INFO_13) {
/* Ericsson proprietary encoding of SI13 */
msgb_tv_put(msg, RSL_IE_SYSINFO_TYPE, RSL_ERIC_SYSTEM_INFO_13);
if (trx->bts->type == GSM_BTS_TYPE_RBS2000) {
/* Ericsson proprietary encoding of SI13 / SI2quater */
msgb_tv_put(msg, RSL_IE_SYSINFO_TYPE,
(type == RSL_SYSTEM_INFO_13) ? RSL_ERIC_SYSTEM_INFO_13 : type);
if (data)
msgb_tlv_put(msg, RSL_IE_FULL_BCCH_INFO, len, data);
/* In fact it does not complain about this for all BCCH SI: */
msgb_tv_put(msg, RSL_IE_ERIC_BCCH_MAPPING, 0x00);
} else {
/* Normal encoding */