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
wangwenhui
OpenXG-RAN
Commits
28707a69
Commit
28707a69
authored
Sep 28, 2017
by
Raymond Knopp
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fixed Msg4 retransmissions. PUCCH still null after merge with develop
parent
4aa1a41e
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
31 additions
and
11 deletions
+31
-11
openair1/PHY/LTE_TRANSPORT/dci_tools.c
openair1/PHY/LTE_TRANSPORT/dci_tools.c
+11
-4
openair2/LAYER2/MAC/eNB_scheduler_RA.c
openair2/LAYER2/MAC/eNB_scheduler_RA.c
+15
-6
openair2/LAYER2/MAC/eNB_scheduler_bch.c
openair2/LAYER2/MAC/eNB_scheduler_bch.c
+1
-1
targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.50PRB.lo.conf
...TS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.50PRB.lo.conf
+4
-0
No files found.
openair1/PHY/LTE_TRANSPORT/dci_tools.c
View file @
28707a69
...
@@ -881,7 +881,7 @@ void fill_dci_and_dlsch(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,DCI_ALLOC_t *dci
...
@@ -881,7 +881,7 @@ void fill_dci_and_dlsch(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,DCI_ALLOC_t *dci
dci_alloc
->
harq_pid
=
rel8
->
harq_process
;
dci_alloc
->
harq_pid
=
rel8
->
harq_process
;
dci_alloc
->
ra_flag
=
0
;
dci_alloc
->
ra_flag
=
0
;
LOG_
D
(
PHY
,
"NFAPI: DCI format %d, nCCE %d, L %d, rnti %x,harq_pid %d
\n
"
,
LOG_
I
(
PHY
,
"NFAPI: DCI format %d, nCCE %d, L %d, rnti %x,harq_pid %d
\n
"
,
rel8
->
dci_format
,
rel8
->
cce_idx
,
rel8
->
aggregation_level
,
rel8
->
rnti
,
rel8
->
harq_process
);
rel8
->
dci_format
,
rel8
->
cce_idx
,
rel8
->
aggregation_level
,
rel8
->
rnti
,
rel8
->
harq_process
);
if
((
rel8
->
rnti_type
==
2
)
&&
(
rel8
->
rnti
!=
SI_RNTI
)
&&
(
rel8
->
rnti
!=
P_RNTI
))
dci_alloc
->
ra_flag
=
1
;
if
((
rel8
->
rnti_type
==
2
)
&&
(
rel8
->
rnti
!=
SI_RNTI
)
&&
(
rel8
->
rnti
!=
P_RNTI
))
dci_alloc
->
ra_flag
=
1
;
...
@@ -906,13 +906,18 @@ void fill_dci_and_dlsch(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,DCI_ALLOC_t *dci
...
@@ -906,13 +906,18 @@ void fill_dci_and_dlsch(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,DCI_ALLOC_t *dci
dlsch0
->
harq_mask
|=
(
1
<<
rel8
->
harq_process
);
dlsch0
->
harq_mask
|=
(
1
<<
rel8
->
harq_process
);
dlsch0_harq
->
round
=
0
;
dlsch0_harq
->
round
=
0
;
}
}
dlsch0_harq
->
ndi
=
rel8
->
new_data_indicator_1
;
LOG_I
(
PHY
,
"NFAPI: harq_pid %d harq_mask %x, round %d ndi (%d,%d)
\n
"
,
rel8
->
harq_process
,
dlsch0
->
harq_mask
,
dlsch0_harq
->
round
,
dlsch0_harq
->
ndi
,
rel8
->
new_data_indicator_1
);
switch
(
rel8
->
dci_format
)
{
switch
(
rel8
->
dci_format
)
{
case
NFAPI_DL_DCI_FORMAT_1A
:
case
NFAPI_DL_DCI_FORMAT_1A
:
dci_alloc
->
format
=
format1A
;
dci_alloc
->
format
=
format1A
;
dlsch0
->
active
=
1
;
dlsch0
->
active
=
1
;
if
(
rel8
->
rnti
==
SI_RNTI
)
dlsch0_harq
->
round
=
0
;
switch
(
fp
->
N_RB_DL
)
{
switch
(
fp
->
N_RB_DL
)
{
case
6
:
case
6
:
...
@@ -2257,6 +2262,7 @@ void fill_dci0(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,DCI_ALLOC_t *dci_alloc,
...
@@ -2257,6 +2262,7 @@ void fill_dci0(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,DCI_ALLOC_t *dci_alloc,
uint32_t
ndi
=
pdu
->
dci_pdu_rel8
.
new_data_indication_1
;
uint32_t
ndi
=
pdu
->
dci_pdu_rel8
.
new_data_indication_1
;
#ifdef T_TRACER
T
(
T_ENB_PHY_ULSCH_UE_DCI
,
T_INT
(
eNB
->
Mod_id
),
T_INT
(
proc
->
frame_tx
),
T_INT
(
proc
->
subframe_tx
),
T
(
T_ENB_PHY_ULSCH_UE_DCI
,
T_INT
(
eNB
->
Mod_id
),
T_INT
(
proc
->
frame_tx
),
T_INT
(
proc
->
subframe_tx
),
T_INT
(
pdu
->
dci_pdu_rel8
.
rnti
),
T_INT
(((
proc
->
frame_tx
*
10
+
proc
->
subframe_tx
+
4
)
%
8
)
/* TODO: correct harq pid */
),
T_INT
(
pdu
->
dci_pdu_rel8
.
rnti
),
T_INT
(((
proc
->
frame_tx
*
10
+
proc
->
subframe_tx
+
4
)
%
8
)
/* TODO: correct harq pid */
),
T_INT
(
mcs
),
T_INT
(
-
1
/* TODO: remove round? */
),
T_INT
(
mcs
),
T_INT
(
-
1
/* TODO: remove round? */
),
...
@@ -2265,6 +2271,7 @@ void fill_dci0(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,DCI_ALLOC_t *dci_alloc,
...
@@ -2265,6 +2271,7 @@ void fill_dci0(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,DCI_ALLOC_t *dci_alloc,
T_INT
(
-
1
/* TODO: get TBS */
),
T_INT
(
-
1
/* TODO: get TBS */
),
T_INT
(
pdu
->
dci_pdu_rel8
.
aggregation_level
),
T_INT
(
pdu
->
dci_pdu_rel8
.
aggregation_level
),
T_INT
(
pdu
->
dci_pdu_rel8
.
cce_index
));
T_INT
(
pdu
->
dci_pdu_rel8
.
cce_index
));
#endif
void
*
dci_pdu
=
(
void
*
)
dci_alloc
->
dci_pdu
;
void
*
dci_pdu
=
(
void
*
)
dci_alloc
->
dci_pdu
;
...
...
openair2/LAYER2/MAC/eNB_scheduler_RA.c
View file @
28707a69
...
@@ -813,7 +813,7 @@ void generate_Msg4(module_id_t module_idP,int CC_idP,frame_t frameP,sub_frame_t
...
@@ -813,7 +813,7 @@ void generate_Msg4(module_id_t module_idP,int CC_idP,frame_t frameP,sub_frame_t
#endif
#endif
{
// This is normal LTE case
{
// This is normal LTE case
if
((
RA_template
->
Msg4_frame
==
frameP
)
&&
(
RA_template
->
Msg4_subframe
==
subframeP
))
{
if
((
RA_template
->
Msg4_frame
==
frameP
)
&&
(
RA_template
->
Msg4_subframe
==
subframeP
))
{
LOG_
D
(
MAC
,
"[eNB %d][RAPROC] CC_id %d Frame %d, subframeP %d: Generating Msg4 with RRC Piggyback (RNTI %x)
\n
"
,
LOG_
I
(
MAC
,
"[eNB %d][RAPROC] CC_id %d Frame %d, subframeP %d: Generating Msg4 with RRC Piggyback (RNTI %x)
\n
"
,
module_idP
,
CC_idP
,
frameP
,
subframeP
,
RA_template
->
rnti
);
module_idP
,
CC_idP
,
frameP
,
subframeP
,
RA_template
->
rnti
);
/// Choose first 4 RBs for Msg4, should really check that these are free!
/// Choose first 4 RBs for Msg4, should really check that these are free!
...
@@ -868,9 +868,15 @@ void generate_Msg4(module_id_t module_idP,int CC_idP,frame_t frameP,sub_frame_t
...
@@ -868,9 +868,15 @@ void generate_Msg4(module_id_t module_idP,int CC_idP,frame_t frameP,sub_frame_t
RA_template
->
generate_Msg4
=
0
;
RA_template
->
generate_Msg4
=
0
;
RA_template
->
wait_ack_Msg4
=
1
;
RA_template
->
wait_ack_Msg4
=
1
;
RA_template
->
Msg4_frame
++
;
RA_template
->
Msg4_frame
&=
1023
;
// increment Absolute subframe by 8 for Msg4 retransmission
LOG_I
(
MAC
,
"Frame %d, Subframe %d: Preparing for Msg4 retransmission currently %d.%d
\n
"
,
frameP
,
subframeP
,
RA_template
->
Msg4_frame
,
RA_template
->
Msg4_subframe
);
if
(
RA_template
->
Msg4_subframe
>
1
)
RA_template
->
Msg4_frame
++
;
RA_template
->
Msg4_frame
&=
1023
;
RA_template
->
Msg4_subframe
=
(
RA_template
->
Msg4_subframe
+
8
)
%
10
;
LOG_I
(
MAC
,
"Frame %d, Subframe %d: Msg4 retransmission in %d.%d
\n
"
,
frameP
,
subframeP
,
RA_template
->
Msg4_frame
,
RA_template
->
Msg4_subframe
);
lcid
=
0
;
lcid
=
0
;
// put HARQ process round to 0
// put HARQ process round to 0
...
@@ -1091,8 +1097,6 @@ void check_Msg4_retransmission(module_id_t module_idP,int CC_idP,frame_t frameP,
...
@@ -1091,8 +1097,6 @@ void check_Msg4_retransmission(module_id_t module_idP,int CC_idP,frame_t frameP,
}
}
else
else
LOG_D
(
MAC
,
"msg4 retransmission for rnti %x (round %d) fsf %d/%d CCE allocation failed!
\n
"
,
RA_template
->
rnti
,
round
,
frameP
,
subframeP
);
LOG_D
(
MAC
,
"msg4 retransmission for rnti %x (round %d) fsf %d/%d CCE allocation failed!
\n
"
,
RA_template
->
rnti
,
round
,
frameP
,
subframeP
);
LOG_W
(
MAC
,
"[eNB %d][RAPROC] CC_id %d Frame %d, subframeP %d: Msg4 not acknowledged, adding ue specific dci (rnti %x) for RA (Msg4 Retransmission round %d)
\n
"
,
module_idP
,
CC_idP
,
frameP
,
subframeP
,
RA_template
->
rnti
,
round
);
// Program PUCCH1a for ACK/NAK
// Program PUCCH1a for ACK/NAK
...
@@ -1104,8 +1108,13 @@ void check_Msg4_retransmission(module_id_t module_idP,int CC_idP,frame_t frameP,
...
@@ -1104,8 +1108,13 @@ void check_Msg4_retransmission(module_id_t module_idP,int CC_idP,frame_t frameP,
dl_config_pdu
->
dci_dl_pdu
.
dci_dl_pdu_rel8
.
cce_idx
);
dl_config_pdu
->
dci_dl_pdu
.
dci_dl_pdu_rel8
.
cce_idx
);
// prepare frame for retransmission
// prepare frame for retransmission
RA_template
->
Msg4_frame
++
;
if
(
RA_template
->
Msg4_subframe
>
1
)
RA_template
->
Msg4_frame
++
;
RA_template
->
Msg4_frame
&=
1023
;
RA_template
->
Msg4_frame
&=
1023
;
RA_template
->
Msg4_subframe
=
(
RA_template
->
Msg4_subframe
+
8
)
%
10
;
LOG_W
(
MAC
,
"[eNB %d][RAPROC] CC_id %d Frame %d, subframeP %d: Msg4 not acknowledged, adding ue specific dci (rnti %x) for RA (Msg4 Retransmission round %d in %d.%d)
\n
"
,
module_idP
,
CC_idP
,
frameP
,
subframeP
,
RA_template
->
rnti
,
round
,
RA_template
->
Msg4_frame
,
RA_template
->
Msg4_subframe
);
}
// Msg4 frame/subframe
}
// Msg4 frame/subframe
}
// regular LTE case
}
// regular LTE case
}
else
{
}
else
{
...
...
openair2/LAYER2/MAC/eNB_scheduler_bch.c
View file @
28707a69
...
@@ -666,7 +666,7 @@ schedule_SI(
...
@@ -666,7 +666,7 @@ schedule_SI(
dl_config_pdu
->
dci_dl_pdu
.
dci_dl_pdu_rel8
.
harq_process
=
0
;
dl_config_pdu
->
dci_dl_pdu
.
dci_dl_pdu_rel8
.
harq_process
=
0
;
dl_config_pdu
->
dci_dl_pdu
.
dci_dl_pdu_rel8
.
tpc
=
1
;
// no TPC
dl_config_pdu
->
dci_dl_pdu
.
dci_dl_pdu_rel8
.
tpc
=
1
;
// no TPC
dl_config_pdu
->
dci_dl_pdu
.
dci_dl_pdu_rel8
.
new_data_indicator_1
=
1
;
dl_config_pdu
->
dci_dl_pdu
.
dci_dl_pdu_rel8
.
new_data_indicator_1
=
0
;
dl_config_pdu
->
dci_dl_pdu
.
dci_dl_pdu_rel8
.
mcs_1
=
mcs
;
dl_config_pdu
->
dci_dl_pdu
.
dci_dl_pdu_rel8
.
mcs_1
=
mcs
;
dl_config_pdu
->
dci_dl_pdu
.
dci_dl_pdu_rel8
.
redundancy_version_1
=
0
;
dl_config_pdu
->
dci_dl_pdu
.
dci_dl_pdu_rel8
.
redundancy_version_1
=
0
;
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.50PRB.lo.conf
View file @
28707a69
Active_eNBs
= (
"eNB_Eurecom_LTEBox"
);
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity
=
"none"
;
eNBs
=
eNBs
=
(
(
{
{
...
...
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