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
wangjie
OpenXG-RAN
Commits
0efa1185
Commit
0efa1185
authored
Feb 07, 2018
by
naoi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: UE dosen't respond to pdcch order(contention based)
parent
3ea62dbd
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
11 additions
and
2 deletions
+11
-2
openair1/PHY/LTE_TRANSPORT/dci_tools.c
openair1/PHY/LTE_TRANSPORT/dci_tools.c
+9
-1
openair2/LAYER2/MAC/eNB_scheduler.c
openair2/LAYER2/MAC/eNB_scheduler.c
+2
-1
No files found.
openair1/PHY/LTE_TRANSPORT/dci_tools.c
View file @
0efa1185
...
@@ -907,6 +907,7 @@ void fill_pdcch_order(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,DCI_ALLOC_t *dci_a
...
@@ -907,6 +907,7 @@ void fill_pdcch_order(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,DCI_ALLOC_t *dci_a
((
DCI1A_1_5MHz_TDD_1_6_t
*
)
dci_pdu
)
->
TPC
=
rel8
->
tpc
;
((
DCI1A_1_5MHz_TDD_1_6_t
*
)
dci_pdu
)
->
TPC
=
rel8
->
tpc
;
((
DCI1A_1_5MHz_TDD_1_6_t
*
)
dci_pdu
)
->
harq_pid
=
rel8
->
harq_process
;
((
DCI1A_1_5MHz_TDD_1_6_t
*
)
dci_pdu
)
->
harq_pid
=
rel8
->
harq_process
;
((
DCI1A_1_5MHz_TDD_1_6_t
*
)
dci_pdu
)
->
dai
=
rel8
->
downlink_assignment_index
;
((
DCI1A_1_5MHz_TDD_1_6_t
*
)
dci_pdu
)
->
dai
=
rel8
->
downlink_assignment_index
;
((
DCI1A_1_5MHz_TDD_1_6_t
*
)
dci_pdu
)
->
padding
=
0
;
}
else
{
}
else
{
dci_alloc
->
dci_length
=
sizeof_DCI1A_1_5MHz_FDD_t
;
dci_alloc
->
dci_length
=
sizeof_DCI1A_1_5MHz_FDD_t
;
((
DCI1A_1_5MHz_FDD_t
*
)
dci_pdu
)
->
type
=
1
;
((
DCI1A_1_5MHz_FDD_t
*
)
dci_pdu
)
->
type
=
1
;
...
@@ -917,6 +918,7 @@ void fill_pdcch_order(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,DCI_ALLOC_t *dci_a
...
@@ -917,6 +918,7 @@ void fill_pdcch_order(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,DCI_ALLOC_t *dci_a
((
DCI1A_1_5MHz_FDD_t
*
)
dci_pdu
)
->
rv
=
rel8
->
redundancy_version_1
;
((
DCI1A_1_5MHz_FDD_t
*
)
dci_pdu
)
->
rv
=
rel8
->
redundancy_version_1
;
((
DCI1A_1_5MHz_FDD_t
*
)
dci_pdu
)
->
TPC
=
rel8
->
tpc
;
((
DCI1A_1_5MHz_FDD_t
*
)
dci_pdu
)
->
TPC
=
rel8
->
tpc
;
((
DCI1A_1_5MHz_FDD_t
*
)
dci_pdu
)
->
harq_pid
=
rel8
->
harq_process
;
((
DCI1A_1_5MHz_FDD_t
*
)
dci_pdu
)
->
harq_pid
=
rel8
->
harq_process
;
((
DCI1A_1_5MHz_FDD_t
*
)
dci_pdu
)
->
padding
=
0
;
// printf("FDD 1A: mcs %d, rballoc %x,rv %d, NPRB %d\n",mcs,rballoc,rv,NPRB);
// printf("FDD 1A: mcs %d, rballoc %x,rv %d, NPRB %d\n",mcs,rballoc,rv,NPRB);
}
}
break
;
break
;
...
@@ -932,6 +934,7 @@ void fill_pdcch_order(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,DCI_ALLOC_t *dci_a
...
@@ -932,6 +934,7 @@ void fill_pdcch_order(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,DCI_ALLOC_t *dci_a
((
DCI1A_5MHz_TDD_1_6_t
*
)
dci_pdu
)
->
TPC
=
rel8
->
tpc
;
((
DCI1A_5MHz_TDD_1_6_t
*
)
dci_pdu
)
->
TPC
=
rel8
->
tpc
;
((
DCI1A_5MHz_TDD_1_6_t
*
)
dci_pdu
)
->
harq_pid
=
rel8
->
harq_process
;
((
DCI1A_5MHz_TDD_1_6_t
*
)
dci_pdu
)
->
harq_pid
=
rel8
->
harq_process
;
((
DCI1A_5MHz_TDD_1_6_t
*
)
dci_pdu
)
->
dai
=
rel8
->
downlink_assignment_index
;
((
DCI1A_5MHz_TDD_1_6_t
*
)
dci_pdu
)
->
dai
=
rel8
->
downlink_assignment_index
;
((
DCI1A_5MHz_TDD_1_6_t
*
)
dci_pdu
)
->
padding
=
0
;
// printf("TDD 1A: mcs %d, rballoc %x,rv %d, NPRB %d\n",mcs,rballoc,rv,NPRB);
// printf("TDD 1A: mcs %d, rballoc %x,rv %d, NPRB %d\n",mcs,rballoc,rv,NPRB);
}
else
{
}
else
{
dci_alloc
->
dci_length
=
sizeof_DCI1A_5MHz_FDD_t
;
dci_alloc
->
dci_length
=
sizeof_DCI1A_5MHz_FDD_t
;
...
@@ -943,6 +946,7 @@ void fill_pdcch_order(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,DCI_ALLOC_t *dci_a
...
@@ -943,6 +946,7 @@ void fill_pdcch_order(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,DCI_ALLOC_t *dci_a
((
DCI1A_5MHz_FDD_t
*
)
dci_pdu
)
->
rv
=
rel8
->
redundancy_version_1
;
((
DCI1A_5MHz_FDD_t
*
)
dci_pdu
)
->
rv
=
rel8
->
redundancy_version_1
;
((
DCI1A_5MHz_FDD_t
*
)
dci_pdu
)
->
TPC
=
rel8
->
tpc
;
((
DCI1A_5MHz_FDD_t
*
)
dci_pdu
)
->
TPC
=
rel8
->
tpc
;
((
DCI1A_5MHz_FDD_t
*
)
dci_pdu
)
->
harq_pid
=
rel8
->
harq_process
;
((
DCI1A_5MHz_FDD_t
*
)
dci_pdu
)
->
harq_pid
=
rel8
->
harq_process
;
((
DCI1A_5MHz_FDD_t
*
)
dci_pdu
)
->
padding
=
0
;
// printf("FDD 1A: mcs %d, rballoc %x,rv %d, NPRB %d\n",mcs,rballoc,rv,NPRB);
// printf("FDD 1A: mcs %d, rballoc %x,rv %d, NPRB %d\n",mcs,rballoc,rv,NPRB);
}
}
break
;
break
;
...
@@ -958,6 +962,7 @@ void fill_pdcch_order(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,DCI_ALLOC_t *dci_a
...
@@ -958,6 +962,7 @@ void fill_pdcch_order(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,DCI_ALLOC_t *dci_a
((
DCI1A_10MHz_TDD_1_6_t
*
)
dci_pdu
)
->
TPC
=
rel8
->
tpc
;
((
DCI1A_10MHz_TDD_1_6_t
*
)
dci_pdu
)
->
TPC
=
rel8
->
tpc
;
((
DCI1A_10MHz_TDD_1_6_t
*
)
dci_pdu
)
->
harq_pid
=
rel8
->
harq_process
;
((
DCI1A_10MHz_TDD_1_6_t
*
)
dci_pdu
)
->
harq_pid
=
rel8
->
harq_process
;
((
DCI1A_10MHz_TDD_1_6_t
*
)
dci_pdu
)
->
dai
=
rel8
->
downlink_assignment_index
;
((
DCI1A_10MHz_TDD_1_6_t
*
)
dci_pdu
)
->
dai
=
rel8
->
downlink_assignment_index
;
((
DCI1A_10MHz_TDD_1_6_t
*
)
dci_pdu
)
->
padding
=
0
;
// printf("TDD 1A: mcs %d, rballoc %x,rv %d, NPRB %d\n",mcs,rballoc,rv,NPRB);
// printf("TDD 1A: mcs %d, rballoc %x,rv %d, NPRB %d\n",mcs,rballoc,rv,NPRB);
}
else
{
}
else
{
dci_alloc
->
dci_length
=
sizeof_DCI1A_10MHz_FDD_t
;
dci_alloc
->
dci_length
=
sizeof_DCI1A_10MHz_FDD_t
;
...
@@ -969,6 +974,7 @@ void fill_pdcch_order(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,DCI_ALLOC_t *dci_a
...
@@ -969,6 +974,7 @@ void fill_pdcch_order(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,DCI_ALLOC_t *dci_a
((
DCI1A_10MHz_FDD_t
*
)
dci_pdu
)
->
rv
=
rel8
->
redundancy_version_1
;
((
DCI1A_10MHz_FDD_t
*
)
dci_pdu
)
->
rv
=
rel8
->
redundancy_version_1
;
((
DCI1A_10MHz_FDD_t
*
)
dci_pdu
)
->
TPC
=
rel8
->
tpc
;
((
DCI1A_10MHz_FDD_t
*
)
dci_pdu
)
->
TPC
=
rel8
->
tpc
;
((
DCI1A_10MHz_FDD_t
*
)
dci_pdu
)
->
harq_pid
=
rel8
->
harq_process
;
((
DCI1A_10MHz_FDD_t
*
)
dci_pdu
)
->
harq_pid
=
rel8
->
harq_process
;
((
DCI1A_10MHz_FDD_t
*
)
dci_pdu
)
->
padding
=
0
;
// printf("FDD 1A: mcs %d, rballoc %x,rv %d, NPRB %d\n",mcs,rballoc,rv,NPRB);
// printf("FDD 1A: mcs %d, rballoc %x,rv %d, NPRB %d\n",mcs,rballoc,rv,NPRB);
}
}
break
;
break
;
...
@@ -984,6 +990,7 @@ void fill_pdcch_order(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,DCI_ALLOC_t *dci_a
...
@@ -984,6 +990,7 @@ void fill_pdcch_order(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,DCI_ALLOC_t *dci_a
((
DCI1A_20MHz_TDD_1_6_t
*
)
dci_pdu
)
->
TPC
=
rel8
->
tpc
;
((
DCI1A_20MHz_TDD_1_6_t
*
)
dci_pdu
)
->
TPC
=
rel8
->
tpc
;
((
DCI1A_20MHz_TDD_1_6_t
*
)
dci_pdu
)
->
harq_pid
=
rel8
->
harq_process
;
((
DCI1A_20MHz_TDD_1_6_t
*
)
dci_pdu
)
->
harq_pid
=
rel8
->
harq_process
;
((
DCI1A_20MHz_TDD_1_6_t
*
)
dci_pdu
)
->
dai
=
rel8
->
downlink_assignment_index
;
((
DCI1A_20MHz_TDD_1_6_t
*
)
dci_pdu
)
->
dai
=
rel8
->
downlink_assignment_index
;
((
DCI1A_20MHz_TDD_1_6_t
*
)
dci_pdu
)
->
padding
=
0
;
// printf("TDD 1A: mcs %d, rballoc %x,rv %d, NPRB %d\n",mcs,rballoc,rv,NPRB);
// printf("TDD 1A: mcs %d, rballoc %x,rv %d, NPRB %d\n",mcs,rballoc,rv,NPRB);
}
else
{
}
else
{
dci_alloc
->
dci_length
=
sizeof_DCI1A_20MHz_FDD_t
;
dci_alloc
->
dci_length
=
sizeof_DCI1A_20MHz_FDD_t
;
...
@@ -995,6 +1002,7 @@ void fill_pdcch_order(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,DCI_ALLOC_t *dci_a
...
@@ -995,6 +1002,7 @@ void fill_pdcch_order(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,DCI_ALLOC_t *dci_a
((
DCI1A_20MHz_FDD_t
*
)
dci_pdu
)
->
rv
=
rel8
->
redundancy_version_1
;
((
DCI1A_20MHz_FDD_t
*
)
dci_pdu
)
->
rv
=
rel8
->
redundancy_version_1
;
((
DCI1A_20MHz_FDD_t
*
)
dci_pdu
)
->
TPC
=
rel8
->
tpc
;
((
DCI1A_20MHz_FDD_t
*
)
dci_pdu
)
->
TPC
=
rel8
->
tpc
;
((
DCI1A_20MHz_FDD_t
*
)
dci_pdu
)
->
harq_pid
=
rel8
->
harq_process
;
((
DCI1A_20MHz_FDD_t
*
)
dci_pdu
)
->
harq_pid
=
rel8
->
harq_process
;
((
DCI1A_20MHz_FDD_t
*
)
dci_pdu
)
->
padding
=
0
;
// printf("FDD 1A: mcs %d, rballoc %x,rv %d, NPRB %d\n",mcs,rballoc,rv,NPRB);
// printf("FDD 1A: mcs %d, rballoc %x,rv %d, NPRB %d\n",mcs,rballoc,rv,NPRB);
}
}
break
;
break
;
...
...
openair2/LAYER2/MAC/eNB_scheduler.c
View file @
0efa1185
...
@@ -550,7 +550,8 @@ check_ul_failure(module_id_t module_idP, int CC_id, int UE_id,
...
@@ -550,7 +550,8 @@ check_ul_failure(module_id_t module_idP, int CC_id, int UE_id,
UE_list
->
UE_sched_ctrl
[
UE_id
].
ul_failure_timer
++
;
UE_list
->
UE_sched_ctrl
[
UE_id
].
ul_failure_timer
++
;
// check threshold
// check threshold
if
(
UE_list
->
UE_sched_ctrl
[
UE_id
].
ul_failure_timer
>
20000
)
{
if
(
UE_list
->
UE_sched_ctrl
[
UE_id
].
ul_failure_timer
>
4000
)
{
// note: probably ul_failure_timer is should be less than UE radio link failure time(see T310/N310/N311)
// inform RRC of failure and clear timer
// inform RRC of failure and clear timer
LOG_I
(
MAC
,
LOG_I
(
MAC
,
"UE %d rnti %x: UL Failure after repeated PDCCH orders: Triggering RRC
\n
"
,
"UE %d rnti %x: UL Failure after repeated PDCCH orders: Triggering RRC
\n
"
,
...
...
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