From 8c0b196f210b7102dcd9854cced9b56a92207d49 Mon Sep 17 00:00:00 2001 From: WEI-TAI CHEN Date: Thu, 12 Jul 2018 00:49:40 -0700 Subject: [PATCH] Fix the BIT STRING ERROR problem in MIB --- openair1/SCHED_NR/fapi_nr_l1.c | 2 +- openair2/RRC/NR/L2_nr_interface.c | 4 ++-- openair2/RRC/NR/MESSAGES/asn1_msg.c | 3 ++- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/openair1/SCHED_NR/fapi_nr_l1.c b/openair1/SCHED_NR/fapi_nr_l1.c index ebfe00b1cd..ca1e5d6154 100644 --- a/openair1/SCHED_NR/fapi_nr_l1.c +++ b/openair1/SCHED_NR/fapi_nr_l1.c @@ -45,7 +45,7 @@ void handle_nr_nfapi_bch_pdu(PHY_VARS_gNB *gNB, AssertFatal(dl_config_pdu->bch_pdu_rel15.length == 3, "BCH PDU has length %d != 3\n", dl_config_pdu->bch_pdu_rel15.length); - LOG_I(PHY,"bch_pdu: %x,%x,%x\n",sdu[0],sdu[1],sdu[2]); + LOG_I(PHY,"pbch_pdu[0]: %x,pbch_pdu[1]: %x,gNB->pbch_pdu[2]: %x\n",sdu[0],sdu[1],sdu[2]); gNB->pbch_pdu[0] = sdu[2]; gNB->pbch_pdu[1] = sdu[1]; gNB->pbch_pdu[2] = sdu[0]; diff --git a/openair2/RRC/NR/L2_nr_interface.c b/openair2/RRC/NR/L2_nr_interface.c index 5d7b889f3a..ccbe06a964 100644 --- a/openair2/RRC/NR/L2_nr_interface.c +++ b/openair2/RRC/NR/L2_nr_interface.c @@ -38,13 +38,13 @@ int8_t mac_rrc_nr_data_req(const module_id_t Mod_idP, mib = &carrier->mib; if( (Srb_id & RAB_OFFSET ) == MIBCH) { - mib->message.choice.mib->systemFrameNumber.buf = &sfn_msb; + mib->message.choice.mib->systemFrameNumber.buf = sfn_msb << 2; enc_rval = uper_encode_to_buffer(&asn_DEF_NR_BCCH_BCH_Message, NULL, (void *)mib, carrier->MIB, 24); - LOG_I(NR_RRC,"Encoded MIB for frame %d (%p), bits %lu\n",sfn_msb,carrier->MIB,enc_rval.encoded); + LOG_I(NR_RRC,"Encoded MIB for frame %d sfn_msb %d (%p), bits %lu\n",frameP,sfn_msb,carrier->MIB,enc_rval.encoded); buffer_pP[0]=carrier->MIB[0]; buffer_pP[1]=carrier->MIB[1]; buffer_pP[2]=carrier->MIB[2]; diff --git a/openair2/RRC/NR/MESSAGES/asn1_msg.c b/openair2/RRC/NR/MESSAGES/asn1_msg.c index f72f48b004..0f223e5f1e 100644 --- a/openair2/RRC/NR/MESSAGES/asn1_msg.c +++ b/openair2/RRC/NR/MESSAGES/asn1_msg.c @@ -206,7 +206,8 @@ uint8_t do_MIB_NR(rrc_gNB_carrier_data_t *carrier, memset(mib->message.choice.mib,0,sizeof(struct NR_MIB)); //36.331 SFN BIT STRING (SIZE (8) , 38.331 SFN BIT STRING (SIZE (6)) uint8_t sfn_msb = (uint8_t)((frame>>4)&0x3f); - mib->message.choice.mib->systemFrameNumber.buf = &sfn_msb; + mib->message.choice.mib->systemFrameNumber.buf = CALLOC(1,sizeof(uint8_t)); + mib->message.choice.mib->systemFrameNumber.buf = sfn_msb << 2; mib->message.choice.mib->systemFrameNumber.size = 1; mib->message.choice.mib->systemFrameNumber.bits_unused=2;