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
spbro
OpenXG-RAN
Commits
1fa6be2a
Commit
1fa6be2a
authored
Mar 05, 2024
by
francescomani
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix procedure after T300 expiry
parent
122a5ce9
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
22 additions
and
24 deletions
+22
-24
executables/nr-ue.c
executables/nr-ue.c
+1
-1
openair1/PHY/NR_UE_TRANSPORT/nr_initial_sync.c
openair1/PHY/NR_UE_TRANSPORT/nr_initial_sync.c
+9
-11
openair2/LAYER2/NR_MAC_UE/config_ue.c
openair2/LAYER2/NR_MAC_UE/config_ue.c
+0
-1
openair2/LAYER2/NR_MAC_UE/nr_ra_procedures.c
openair2/LAYER2/NR_MAC_UE/nr_ra_procedures.c
+6
-6
openair2/RRC/NR/MESSAGES/asn1_msg.h
openair2/RRC/NR/MESSAGES/asn1_msg.h
+0
-2
openair2/RRC/NR_UE/rrc_UE.c
openair2/RRC/NR_UE/rrc_UE.c
+5
-2
openair2/RRC/NR_UE/rrc_defs.h
openair2/RRC/NR_UE/rrc_defs.h
+1
-1
No files found.
executables/nr-ue.c
View file @
1fa6be2a
...
...
@@ -538,7 +538,7 @@ void processSlotTX(void *arg)
{
nr_rxtx_thread_data_t
*
rxtxD
=
(
nr_rxtx_thread_data_t
*
)
arg
;
const
UE_nr_rxtx_proc_t
*
proc
=
&
rxtxD
->
proc
;
PHY_VARS_NR_UE
*
UE
=
rxtxD
->
UE
;
PHY_VARS_NR_UE
*
UE
=
rxtxD
->
UE
;
nr_phy_data_tx_t
phy_data
=
{
0
};
if
(
UE
->
if_inst
)
...
...
openair1/PHY/NR_UE_TRANSPORT/nr_initial_sync.c
View file @
1fa6be2a
...
...
@@ -105,8 +105,7 @@ int nr_pbch_detection(const UE_nr_rxtx_proc_t *proc,
int
pbch_initial_symbol
,
c16_t
rxdataF
[][
ue
->
frame_parms
.
samples_per_slot_wCP
])
{
NR_DL_FRAME_PARMS
*
frame_parms
=&
ue
->
frame_parms
;
int
ret
=-
1
;
NR_DL_FRAME_PARMS
*
frame_parms
=
&
ue
->
frame_parms
;
NR_UE_SSB
*
best_ssb
=
NULL
;
NR_UE_SSB
*
current_ssb
;
...
...
@@ -138,8 +137,9 @@ int nr_pbch_detection(const UE_nr_rxtx_proc_t *proc,
}
}
NR_UE_SSB
*
temp_ptr
=
best_ssb
;
while
(
ret
!=
0
&&
temp_ptr
!=
NULL
)
{
NR_UE_SSB
*
temp_ptr
=
best_ssb
;
int
ret
=
-
1
;
while
(
ret
!=
0
&&
temp_ptr
!=
NULL
)
{
start_meas
(
&
ue
->
dlsch_channel_estimation_stats
);
// computing channel estimation for selected best ssb
...
...
@@ -165,14 +165,10 @@ int nr_pbch_detection(const UE_nr_rxtx_proc_t *proc,
free_list
(
best_ssb
);
if
(
ret
==
0
)
if
(
ret
==
0
)
{
frame_parms
->
nb_antenna_ports_gNB
=
1
;
// pbch_tx_ant;
// set initial transmission mode to 1 or 2 depending on number of detected TX antennas
// frame_parms->mode1_flag = (pbch_tx_ant==1);
// openair_daq_vars.dlsch_transmission_mode = (pbch_tx_ant>1) ? 2 : 1;
LOG_I
(
PHY
,
"[UE%d] Initial sync: pbch decoded sucessfully, ssb index %d
\n
"
,
ue
->
Mod_id
,
frame_parms
->
ssb_index
);
LOG_I
(
PHY
,
"[UE%d] Initial sync: pbch decoded sucessfully, ssb index %d
\n
"
,
ue
->
Mod_id
,
frame_parms
->
ssb_index
);
}
return
ret
;
}
...
...
@@ -429,6 +425,8 @@ nr_initial_sync_t nr_initial_sync(UE_nr_rxtx_proc_t *proc, PHY_VARS_NR_UE *ue, i
#ifdef DEBUG_INITIAL_SYNCH
LOG_I
(
PHY
,
"[UE%d] Initial sync : Estimated power: %d dB
\n
"
,
ue
->
Mod_id
,
ue
->
measurements
.
rx_power_avg_dB
[
0
]);
#endif
}
else
{
LOG_A
(
PHY
,
"Initial sync successful
\n
"
);
}
// exit_fun("debug exit");
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_NR_INITIAL_UE_SYNC
,
VCD_FUNCTION_OUT
);
...
...
openair2/LAYER2/NR_MAC_UE/config_ue.c
View file @
1fa6be2a
...
...
@@ -1358,7 +1358,6 @@ void nr_rrc_mac_config_req_reset(module_id_t module_id,
NR_UE_MAC_reset_cause_t
cause
)
{
NR_UE_MAC_INST_t
*
mac
=
get_mac_inst
(
module_id
);
switch
(
cause
)
{
case
GO_TO_IDLE
:
reset_ra
(
&
mac
->
ra
);
...
...
openair2/LAYER2/NR_MAC_UE/nr_ra_procedures.c
View file @
1fa6be2a
...
...
@@ -86,26 +86,26 @@ void init_RA(NR_UE_MAC_INST_t *mac,
if
(
rach_ConfigDedicated
)
{
if
(
rach_ConfigDedicated
->
cfra
){
LOG_I
(
MAC
,
"Initialization of 2-step contention-free random access procedure
\n
"
);
LOG_I
(
NR_
MAC
,
"Initialization of 2-step contention-free random access procedure
\n
"
);
prach_resources
->
RA_TYPE
=
RA_2STEP
;
ra
->
cfra
=
1
;
}
else
if
(
rach_ConfigDedicated
->
ext1
){
if
(
rach_ConfigDedicated
->
ext1
->
cfra_TwoStep_r16
){
LOG_I
(
MAC
,
"Setting RA type to 2-step...
\n
"
);
LOG_I
(
NR_
MAC
,
"Setting RA type to 2-step...
\n
"
);
prach_resources
->
RA_TYPE
=
RA_2STEP
;
ra
->
cfra
=
1
;
}
else
{
LOG_E
(
MAC
,
"Config not handled
\n
"
);
LOG_E
(
NR_
MAC
,
"Config not handled
\n
"
);
}
}
else
{
LOG_E
(
MAC
,
"Config not handled
\n
"
);
LOG_E
(
NR_
MAC
,
"Config not handled
\n
"
);
}
}
else
if
(
nr_rach_ConfigCommon
){
LOG_I
(
MAC
,
"Initialization of 4-step contention-based random access procedure
\n
"
);
LOG_I
(
NR_
MAC
,
"Initialization of 4-step contention-based random access procedure
\n
"
);
prach_resources
->
RA_TYPE
=
RA_4STEP
;
ra
->
cfra
=
0
;
}
else
{
LOG_E
(
MAC
,
"Config not handled
\n
"
);
LOG_E
(
NR_
MAC
,
"Config not handled
\n
"
);
}
switch
(
rach_ConfigGeneric
->
powerRampingStep
){
// in dB
...
...
openair2/RRC/NR/MESSAGES/asn1_msg.h
View file @
1fa6be2a
...
...
@@ -41,10 +41,8 @@
#include <asn_application.h>
#include "RRC/NR/nr_rrc_defs.h"
#include "RRC/NR/nr_rrc_config.h"
/*
* The variant of the above function which dumps the BASIC-XER (XER_F_BASIC)
* output into the chosen string buffer.
...
...
openair2/RRC/NR_UE/rrc_UE.c
View file @
1fa6be2a
...
...
@@ -616,7 +616,7 @@ static void nr_rrc_handle_msg3_indication(NR_UE_RRC_INST_t *rrc, rnti_t rnti)
{
NR_UE_Timers_Constants_t
*
tac
=
&
rrc
->
timers_and_constants
;
switch
(
rrc
->
ra_trigger
)
{
case
INITIAL_ACCESS_FROM_RRC_IDLE
:
case
RRC_CONNECTION_SETUP
:
// After SIB1 is received, prepare RRCConnectionRequest
rrc
->
rnti
=
rnti
;
// start timer T300
...
...
@@ -744,7 +744,7 @@ static int8_t nr_rrc_ue_decode_NR_BCCH_DL_SCH_Message(NR_UE_RRC_INST_t *rrc,
LOG_A
(
NR_RRC
,
"SIB1 decoded
\n
"
);
nr_timer_start
(
&
SI_info
->
sib1_timer
);
if
(
rrc
->
nrRrcState
==
RRC_STATE_IDLE_NR
)
{
rrc
->
ra_trigger
=
INITIAL_ACCESS_FROM_RRC_IDLE
;
rrc
->
ra_trigger
=
RRC_CONNECTION_SETUP
;
// preparing RRC setup request payload in advance
nr_rrc_ue_prepare_RRCSetupRequest
(
rrc
);
}
...
...
@@ -2221,6 +2221,9 @@ void nr_rrc_going_to_IDLE(NR_UE_RRC_INST_t *rrc,
void
handle_t300_expiry
(
NR_UE_RRC_INST_t
*
rrc
)
{
rrc
->
ra_trigger
=
RRC_CONNECTION_SETUP
;
nr_rrc_ue_prepare_RRCSetupRequest
(
rrc
);
// reset MAC, release the MAC configuration
NR_UE_MAC_reset_cause_t
cause
=
T300_EXPIRY
;
nr_rrc_mac_config_req_reset
(
rrc
->
ue_id
,
cause
);
...
...
openair2/RRC/NR_UE/rrc_defs.h
View file @
1fa6be2a
...
...
@@ -105,7 +105,7 @@ typedef enum requested_SI_List_e {
// 3GPP TS 38.300 Section 9.2.6
typedef
enum
RA_trigger_e
{
RA_NOT_RUNNING
,
INITIAL_ACCESS_FROM_RRC_IDLE
,
RRC_CONNECTION_SETUP
,
RRC_CONNECTION_REESTABLISHMENT
,
DURING_HANDOVER
,
NON_SYNCHRONISED
,
...
...
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