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
littleBu
OpenXG-RAN
Commits
be2ed079
Commit
be2ed079
authored
Jan 08, 2025
by
Thomas Schlichter
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
NR UE: add MAC state UE_RECEIVING_SIB ensuring to start RA only after successfully receiving SIBs
parent
9b7e39b1
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
13 additions
and
7 deletions
+13
-7
openair2/LAYER2/NR_MAC_UE/config_ue.c
openair2/LAYER2/NR_MAC_UE/config_ue.c
+3
-1
openair2/LAYER2/NR_MAC_UE/mac_defs.h
openair2/LAYER2/NR_MAC_UE/mac_defs.h
+1
-1
openair2/LAYER2/NR_MAC_UE/nr_ra_procedures.c
openair2/LAYER2/NR_MAC_UE/nr_ra_procedures.c
+1
-1
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
+7
-3
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
+1
-1
No files found.
openair2/LAYER2/NR_MAC_UE/config_ue.c
View file @
be2ed079
...
...
@@ -937,6 +937,8 @@ void nr_rrc_mac_config_req_mib(module_id_t module_id,
mac
->
get_sib1
=
true
;
else
if
(
sched_sib
==
2
)
mac
->
get_otherSI
=
true
;
else
if
(
sched_sib
==
0
&&
mac
->
state
==
UE_RECEIVING_SIB
)
mac
->
state
=
UE_PERFORMING_RA
;
nr_ue_decode_mib
(
mac
,
cc_idP
);
ret
=
pthread_mutex_unlock
(
&
mac
->
if_mutex
);
AssertFatal
(
!
ret
,
"mutex failed %d
\n
"
,
ret
);
...
...
@@ -1690,7 +1692,7 @@ void nr_rrc_mac_config_req_reset(module_id_t module_id, NR_UE_MAC_reset_cause_t
case
T300_EXPIRY
:
reset_ra
(
mac
,
false
);
reset_mac_inst
(
mac
);
mac
->
state
=
UE_
SYNC
;
// still in sync but need to restart RA
mac
->
state
=
UE_
PERFORMING_RA
;
// still in sync but need to restart RA
break
;
case
RE_ESTABLISHMENT
:
reset_mac_inst
(
mac
);
...
...
openair2/LAYER2/NR_MAC_UE/mac_defs.h
View file @
be2ed079
...
...
@@ -165,7 +165,7 @@
// Define the UE L2 states with X-Macro
#define NR_UE_L2_STATES \
UE_STATE(UE_NOT_SYNC) \
UE_STATE(UE_
SYNC
) \
UE_STATE(UE_
RECEIVING_SIB
) \
UE_STATE(UE_PERFORMING_RA) \
UE_STATE(UE_CONNECTED) \
UE_STATE(UE_DETACHING)
...
...
openair2/LAYER2/NR_MAC_UE/nr_ra_procedures.c
View file @
be2ed079
...
...
@@ -1041,7 +1041,7 @@ void nr_ra_failed(NR_UE_MAC_INST_t *mac, uint8_t CC_id, NR_PRACH_RESOURCES_t *pr
void
trigger_MAC_UE_RA
(
NR_UE_MAC_INST_t
*
mac
)
{
LOG_W
(
NR_MAC
,
"Triggering new RA procedure for UE with RNTI %x
\n
"
,
mac
->
crnti
);
mac
->
state
=
UE_
SYNC
;
mac
->
state
=
UE_
PERFORMING_RA
;
reset_ra
(
mac
,
false
);
mac
->
ra
.
msg3_C_RNTI
=
true
;
}
...
...
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
View file @
be2ed079
...
...
@@ -223,10 +223,14 @@ void nr_ue_decode_mib(NR_UE_MAC_INST_t *mac, int cc_id)
if
(
mac
->
first_sync_frame
==
-
1
)
mac
->
first_sync_frame
=
frame
;
if
(
get_softmodem_params
()
->
phy_test
)
if
(
get_softmodem_params
()
->
phy_test
)
mac
->
state
=
UE_CONNECTED
;
else
if
(
mac
->
state
==
UE_NOT_SYNC
)
mac
->
state
=
UE_SYNC
;
else
if
(
mac
->
state
==
UE_NOT_SYNC
)
{
if
(
IS_SA_MODE
(
get_softmodem_params
()))
mac
->
state
=
UE_RECEIVING_SIB
;
else
mac
->
state
=
UE_PERFORMING_RA
;
}
}
static
void
configure_ratematching_csi
(
fapi_nr_dl_config_dlsch_pdu_rel15_t
*
dlsch_pdu
,
...
...
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
View file @
be2ed079
...
...
@@ -1565,7 +1565,7 @@ void nr_ue_ul_scheduler(NR_UE_MAC_INST_t *mac, nr_uplink_indication_t *ul_info)
uint32_t
gNB_index
=
ul_info
->
gNB_index
;
RA_config_t
*
ra
=
&
mac
->
ra
;
if
(
mac
->
state
>
UE_NOT_SYNC
&&
mac
->
state
<
UE_CONNECTED
)
{
if
(
mac
->
state
==
UE_PERFORMING_RA
)
{
nr_ue_get_rach
(
mac
,
cc_id
,
frame_tx
,
gNB_index
,
slot_tx
);
nr_ue_prach_scheduler
(
mac
,
frame_tx
,
slot_tx
);
}
...
...
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