Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
canghaiwuhen
OpenXG-RAN
Commits
4e62f468
Commit
4e62f468
authored
Jan 23, 2019
by
Florian Kaltenberger
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
some more error checking in RRC UE
parent
c4121a99
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
37 additions
and
28 deletions
+37
-28
openair2/GNB_APP/gnb_config.c
openair2/GNB_APP/gnb_config.c
+1
-1
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
+27
-24
openair2/RRC/NR_UE/rrc_UE.c
openair2/RRC/NR_UE/rrc_UE.c
+9
-3
No files found.
openair2/GNB_APP/gnb_config.c
View file @
4e62f468
...
...
@@ -448,7 +448,7 @@ void RCconfig_NRRRC(MessageDef *msg_p, uint32_t i, gNB_RRC_INST *rrc) {
//MIB
int32_t
MIB_subCarrierSpacingCommon
=
0
;
int32_t
MIB_ssb_SubcarrierOffset
=
0
;
int32_t
MIB_dmrs_TypeA_Position
=
0
;
int32_t
MIB_dmrs_TypeA_Position
=
2
;
int32_t
pdcch_ConfigSIB1
=
0
;
//SIB1
...
...
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
View file @
4e62f468
...
...
@@ -38,6 +38,8 @@
#include "common/utils/LOG/log.h"
#include "openair2/LAYER2/MAC/mac.h"
#define DEBUG_MIB
#include <stdio.h>
#include <math.h>
...
...
@@ -230,41 +232,42 @@ int8_t nr_ue_decode_mib(
LOG_I
(
MAC
,
"[L2][MAC] decode mib
\n
"
);
NR_UE_MAC_INST_t
*
mac
=
get_mac_inst
(
module_id
);
NR_UE_MAC_INST_t
*
mac
=
get_mac_inst
(
module_id
);
nr_mac_rrc_data_ind_ue
(
module_id
,
cc_id
,
gNB_index
,
NR_BCCH_BCH
,
(
uint8_t
*
)
pduP
,
3
);
// fixed 3 bytes MIB PDU
AssertFatal
(
mac
->
mib
!=
NULL
,
"nr_ue_decode_mib() mac->mib == NULL
\n
"
);
//if(mac->mib != NULL){
uint16_t
frame
=
(
mac
->
mib
->
systemFrameNumber
.
buf
[
0
]
>>
mac
->
mib
->
systemFrameNumber
.
bits_unused
);
uint16_t
frame_number_4lsb
=
0
;
for
(
int
i
=
0
;
i
<
4
;
i
++
)
frame_number_4lsb
|=
((
extra_bits
>>
i
)
&
1
)
<<
(
3
-
i
);
uint8_t
half_frame_bit
=
(
extra_bits
>>
4
)
&
0x1
;
// extra bits[4]
uint8_t
ssb_subcarrier_offset_msb
=
(
extra_bits
>>
5
)
&
0x1
;
// extra bits[5]
uint8_t
ssb_subcarrier_offset
=
(
uint8_t
)
mac
->
mib
->
ssb_SubcarrierOffset
;
//uint32_t ssb_index = 0; // TODO: ssb_index should obtain from L1 in case Lssb != 64
frame
=
frame
<<
4
;
frame
=
frame
|
frame_number_4lsb
;
if
(
ssb_length
==
64
){
ssb_index
=
ssb_index
&
((
extra_bits
>>
2
)
&
0x1C
);
// { extra_bits[5:7], ssb_index[2:0] }
}
else
{
if
(
ssb_subcarrier_offset_msb
){
ssb_subcarrier_offset
=
ssb_subcarrier_offset
|
0x10
;
}
}
uint16_t
frame
=
(
mac
->
mib
->
systemFrameNumber
.
buf
[
0
]
>>
mac
->
mib
->
systemFrameNumber
.
bits_unused
);
uint16_t
frame_number_4lsb
=
0
;
for
(
int
i
=
0
;
i
<
4
;
i
++
)
frame_number_4lsb
|=
((
extra_bits
>>
i
)
&
1
)
<<
(
3
-
i
);
uint8_t
half_frame_bit
=
(
extra_bits
>>
4
)
&
0x1
;
// extra bits[4]
uint8_t
ssb_subcarrier_offset_msb
=
(
extra_bits
>>
5
)
&
0x1
;
// extra bits[5]
uint8_t
ssb_subcarrier_offset
=
(
uint8_t
)
mac
->
mib
->
ssb_SubcarrierOffset
;
//uint32_t ssb_index = 0; // TODO: ssb_index should obtain from L1 in case Lssb != 64
frame
=
frame
<<
4
;
frame
=
frame
|
frame_number_4lsb
;
if
(
ssb_length
==
64
){
ssb_index
=
ssb_index
&
((
extra_bits
>>
2
)
&
0x1C
);
// { extra_bits[5:7], ssb_index[2:0] }
}
else
{
if
(
ssb_subcarrier_offset_msb
){
ssb_subcarrier_offset
=
ssb_subcarrier_offset
|
0x10
;
}
}
#ifdef DEBUG_MIB
LOG_I
(
MAC
,
"system frame number(6 MSB bits): %d
\n
"
,
mac
->
mib
->
systemFrameNumber
.
buf
[
0
]);
LOG_I
(
MAC
,
"system frame number(with LSB): %d
\n
"
,
(
int
)
frame
);
LOG_I
(
MAC
,
"subcarrier spacing (0=15or60, 1=30or120): %d
\n
"
,
(
int
)
mac
->
mib
->
subCarrierSpacingCommon
);
LOG_I
(
MAC
,
"ssb carrier offset(with MSB): %d
\n
"
,
(
int
)
ssb_subcarrier_offset
);
LOG_I
(
MAC
,
"dmrs type A position (0=pos2,1=pos3): %d
\n
"
,
(
int
)
mac
->
mib
->
dmrs_TypeA_Position
);
LOG_I
(
MAC
,
"pdcch config sib1: %d
\n
"
,
(
int
)
mac
->
mib
->
pdcch_ConfigSIB1
);
LOG_I
(
MAC
,
"pdcch config sib1 controlResourceSetZero: %d
\n
"
,
(
int
)
mac
->
mib
->
pdcch_ConfigSIB1
.
controlResourceSetZero
);
LOG_I
(
MAC
,
"pdcch config sib1 searchSapceZero: %d
\n
"
,
(
int
)
mac
->
mib
->
pdcch_ConfigSIB1
.
searchSpaceZero
);
LOG_I
(
MAC
,
"cell barred (0=barred,1=notBarred): %d
\n
"
,
(
int
)
mac
->
mib
->
cellBarred
);
LOG_I
(
MAC
,
"intra frequency reselection (0=allowed,1=notAllowed): %d
\n
"
,
(
int
)
mac
->
mib
->
intraFreqReselection
);
LOG_I
(
MAC
,
"half frame bit(extra bits): %d
\n
"
,
(
int
)
half_frame_bit
);
...
...
openair2/RRC/NR_UE/rrc_UE.c
View file @
4e62f468
...
...
@@ -321,17 +321,23 @@ int8_t nr_rrc_ue_decode_NR_BCCH_BCH_Message(
(
void
**
)
&
bcch_message
,
(
const
void
*
)
bufferP
,
buffer_len
);
if
((
dec_rval
.
code
!=
RC_OK
)
||
(
dec_rval
.
consumed
==
0
))
{
printf
(
"NR_BCCH_BCH decode error
\n
"
);
printf
(
"NR_BCCH_BCH decode error
(return value %d)
\n
"
,
dec_rval
.
code
);
for
(
i
=
0
;
i
<
buffer_len
;
i
++
){
printf
(
"%02x "
,
bufferP
[
i
]);
}
printf
(
"
\n
"
);
mib
=
NULL
;
// free the memory
SEQUENCE_free
(
&
asn_DEF_NR_BCCH_BCH_Message
,
(
void
*
)
bcch_message
,
1
);
return
-
1
;
}
else
if
(
bcch_message
->
message
.
present
!=
NR_BCCH_BCH_MessageType_PR_mib
)
{
printf
(
"NR_BCCH_BCH message type is not MIB
\n
"
);
mib
=
NULL
;
SEQUENCE_free
(
&
asn_DEF_NR_BCCH_BCH_Message
,
(
void
*
)
bcch_message
,
1
);
return
-
1
;
}
else
{
// link to rrc instance
mib
=
bcch_message
->
message
.
choice
.
mib
;
...
...
@@ -340,7 +346,7 @@ int8_t nr_rrc_ue_decode_NR_BCCH_BCH_Message(
// sizeof(NR_MIB_t) );
nr_rrc_mac_config_req_ue
(
0
,
0
,
0
,
mib
,
NULL
,
NULL
,
NULL
);
}
}
return
0
;
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment