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
ZhouShuya
OpenXG-RAN
Commits
9915db73
Commit
9915db73
authored
Mar 11, 2016
by
gauthier
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
extra logging for debugging (with Csaba Sipos)
parent
b37e234e
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
32 additions
and
22 deletions
+32
-22
openair2/LAYER2/MAC/defs.h
openair2/LAYER2/MAC/defs.h
+1
-0
openair2/LAYER2/MAC/eNB_scheduler_primitives.c
openair2/LAYER2/MAC/eNB_scheduler_primitives.c
+3
-2
openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
+23
-15
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf
...TS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf
+2
-2
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf
...PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf
+3
-3
No files found.
openair2/LAYER2/MAC/defs.h
View file @
9915db73
...
...
@@ -745,6 +745,7 @@ typedef struct {
int32_t
cqi_req_timer
;
int32_t
ul_inactivity_timer
;
int32_t
ul_failure_timer
;
int32_t
ul_scheduled
;
int32_t
ra_pdcch_order_sent
;
int32_t
ul_out_of_sync
;
int32_t
phr_received
;
...
...
openair2/LAYER2/MAC/eNB_scheduler_primitives.c
View file @
9915db73
...
...
@@ -707,7 +707,7 @@ uint8_t UE_is_to_be_scheduled(module_id_t module_idP,int CC_id,uint8_t UE_id)
(
UE_template
->
bsr_info
[
LCGID2
]
>
0
)
||
(
UE_template
->
bsr_info
[
LCGID3
]
>
0
)
||
(
UE_template
->
ul_SR
>
0
)
||
(
UE_sched_ctl
->
ul_inactivity_timer
>
100
))
{
// uplink scheduling request
(
(
UE_sched_ctl
->
ul_inactivity_timer
>
100
)
&&
(
UE_sched_ctl
->
ul_scheduled
>
0
)
))
{
// uplink scheduling request
LOG_D
(
MAC
,
"[eNB %d][PUSCH] UE %d/%x should be scheduled
\n
"
,
module_idP
,
UE_id
,
UE_RNTI
(
module_idP
,
UE_id
));
return
(
1
);
...
...
@@ -1105,7 +1105,8 @@ void SR_indication(module_id_t mod_idP, int cc_idP, frame_t frameP, rnti_t rntiP
UE_list_t
*
UE_list
=
&
eNB_mac_inst
[
mod_idP
].
UE_list
;
if
(
UE_id
!=
-
1
)
{
LOG_D
(
MAC
,
"[eNB %d][SR %x] Frame %d subframeP %d Signaling SR for UE %d on CC_id %d
\n
"
,
mod_idP
,
rntiP
,
frameP
,
subframeP
,
UE_id
,
cc_idP
);
if
(
mac_eNB_get_rrc_status
(
mod_idP
,
UE_RNTI
(
mod_idP
,
UE_id
))
<
RRC_CONNECTED
)
LOG_I
(
MAC
,
"[eNB %d][SR %x] Frame %d subframeP %d Signaling SR for UE %d on CC_id %d
\n
"
,
mod_idP
,
rntiP
,
frameP
,
subframeP
,
UE_id
,
cc_idP
);
UE_list
->
UE_template
[
cc_idP
][
UE_id
].
ul_SR
=
1
;
UE_list
->
UE_template
[
cc_idP
][
UE_id
].
ul_active
=
TRUE
;
}
else
{
...
...
openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
View file @
9915db73
...
...
@@ -109,7 +109,9 @@ void rx_sdu(
if
(
UE_id
!=-
1
)
{
UE_list
->
UE_sched_ctrl
[
UE_id
].
ul_inactivity_timer
=
0
;
UE_list
->
UE_sched_ctrl
[
UE_id
].
ul_failure_timer
=
0
;
UE_list
->
UE_sched_ctrl
[
UE_id
].
ul_failure_timer
=
0
;
UE_list
->
UE_sched_ctrl
[
UE_id
].
ul_scheduled
&=
(
~
(
1
<<
harq_pidP
));
if
(
UE_list
->
UE_sched_ctrl
[
UE_id
].
ul_out_of_sync
>
0
)
{
UE_list
->
UE_sched_ctrl
[
UE_id
].
ul_out_of_sync
=
0
;
mac_eNB_rrc_ul_in_sync
(
enb_mod_idP
,
CC_idP
,
frameP
,
subframeP
,
UE_RNTI
(
enb_mod_idP
,
UE_id
));
...
...
@@ -173,6 +175,7 @@ void rx_sdu(
// update buffer info
// old_buffer_info = UE_list->UE_template[CC_idP][UE_id].ul_buffer_info[lcgid];
UE_list
->
UE_template
[
CC_idP
][
UE_id
].
ul_buffer_info
[
lcgid
]
=
BSR_TABLE
[
UE_list
->
UE_template
[
CC_idP
][
UE_id
].
bsr_info
[
lcgid
]];
UE_list
->
UE_template
[
CC_idP
][
UE_id
].
ul_total_buffer
+=
UE_list
->
UE_template
[
CC_idP
][
UE_id
].
ul_buffer_info
[
lcgid
];
...
...
@@ -192,10 +195,10 @@ void rx_sdu(
if
(
UE_list
->
UE_template
[
CC_idP
][
UE_id
].
ul_buffer_creation_time
[
lcgid
]
==
0
)
{
UE_list
->
UE_template
[
CC_idP
][
UE_id
].
ul_buffer_creation_time
[
lcgid
]
=
frameP
;
}
LOG_D
(
MAC
,
"[eNB %d] CC_id %d MAC CE_LCID %d : ul_total_buffer = %d (lcg increment %d, old %d)
\n
"
,
LOG_I
(
MAC
,
"[eNB %d] CC_id %d MAC CE_LCID %d : ul_total_buffer = %d (lcg increment %d)
\n
"
,
enb_mod_idP
,
CC_idP
,
rx_ces
[
i
],
UE_list
->
UE_template
[
CC_idP
][
UE_id
].
ul_total_buffer
,
UE_list
->
UE_template
[
CC_idP
][
UE_id
].
ul_buffer_info
[
lcgid
],
old_buffer_info
);
UE_list
->
UE_template
[
CC_idP
][
UE_id
].
ul_buffer_info
[
lcgid
]);
}
else
{
...
...
@@ -793,6 +796,8 @@ void schedule_ulsch_rnti(module_id_t module_idP,
eNB_MAC_INST
*
eNB
=&
eNB_mac_inst
[
module_idP
];
UE_list_t
*
UE_list
=&
eNB
->
UE_list
;
UE_TEMPLATE
*
UE_template
;
UE_sched_ctrl
*
UE_sched_ctrl
;
// int rvidx_tab[4] = {0,2,3,1};
LTE_DL_FRAME_PARMS
*
frame_parms
;
int
drop_ue
=
0
;
...
...
@@ -851,7 +856,8 @@ void schedule_ulsch_rnti(module_id_t module_idP,
if
(
eNB_UE_stats
->
mode
==
PUSCH
)
{
// ue has a ulsch channel
DCI_pdu
=
&
eNB
->
common_channels
[
CC_id
].
DCI_pdu
;
UE_template
=
&
UE_list
->
UE_template
[
CC_id
][
UE_id
];
UE_template
=
&
UE_list
->
UE_template
[
CC_id
][
UE_id
];
UE_sched_ctrl
=
&
UE_list
->
UE_sched_ctrl
[
UE_id
];
if
(
mac_xface
->
get_ue_active_harq_pid
(
module_idP
,
CC_id
,
rnti
,
frameP
,
subframeP
,
&
harq_pid
,
&
round
,
1
)
==
-
1
)
{
LOG_W
(
MAC
,
"[eNB %d] Scheduler Frame %d, subframeP %d: candidate harq_pid from PHY for UE %d CC %d RNTI %x
\n
"
,
...
...
@@ -867,17 +873,17 @@ void schedule_ulsch_rnti(module_id_t module_idP,
{
LOG_D
(
MAC
,
"[eNB %d][PUSCH] Frame %d subframe %d Scheduling UE %d/%x in round %d(SR %d,UL_inactivity timer %d,UL_failure timer %d)
\n
"
,
module_idP
,
frameP
,
subframeP
,
UE_id
,
rnti
,
round
,
UE_template
->
ul_SR
,
UE_
list
->
UE_sched_ctrl
[
UE_id
].
ul_inactivity_timer
,
UE_
list
->
UE_sched_ctrl
[
UE_id
].
ul_failure_timer
);
UE_
sched_ctrl
->
ul_inactivity_timer
,
UE_
sched_ctrl
->
ul_failure_timer
);
// reset the scheduling request
UE_template
->
ul_SR
=
0
;
aggregation
=
process_ue_cqi
(
module_idP
,
UE_id
);
// =2 by default!!
status
=
mac_eNB_get_rrc_status
(
module_idP
,
rnti
);
if
(
status
<
RRC_CONNECTED
)
cqi_req
=
0
;
else
if
(
UE_
list
->
UE_sched_ctrl
[
UE_id
].
cqi_req_timer
>
30
)
{
else
if
(
UE_
sched_ctrl
->
cqi_req_timer
>
30
)
{
cqi_req
=
1
;
UE_
list
->
UE_sched_ctrl
[
UE_id
].
cqi_req_timer
=
0
;
UE_
sched_ctrl
->
cqi_req_timer
=
0
;
}
else
cqi_req
=
0
;
...
...
@@ -955,12 +961,14 @@ void schedule_ulsch_rnti(module_id_t module_idP,
first_rb
[
CC_id
]
+=
rb_table
[
rb_table_index
];
//store for possible retransmission
UE_template
->
nb_rb_ul
[
harq_pid
]
=
rb_table
[
rb_table_index
];
UE_sched_ctrl
->
ul_scheduled
|=
(
1
<<
harq_pid
);
LOG_D
(
MAC
,
"[eNB %d][PUSCH %d/%x] CC_id %d Frame %d subframeP %d Scheduled UE %d (mcs %d, first rb %d, nb_rb %d, rb_table_index %d, TBS %d, harq_pid %d)
\n
"
,
module_idP
,
harq_pid
,
rnti
,
CC_id
,
frameP
,
subframeP
,
UE_id
,
mcs
,
first_rb
[
CC_id
],
rb_table
[
rb_table_index
],
rb_table_index
,
TBS
,
harq_pid
);
if
(
mac_eNB_get_rrc_status
(
module_idP
,
rnti
)
<
RRC_CONNECTED
)
LOG_I
(
MAC
,
"[eNB %d][PUSCH %d/%x] CC_id %d Frame %d subframeP %d Scheduled UE %d (mcs %d, first rb %d, nb_rb %d, rb_table_index %d, TBS %d, harq_pid %d)
\n
"
,
module_idP
,
harq_pid
,
rnti
,
CC_id
,
frameP
,
subframeP
,
UE_id
,
mcs
,
first_rb
[
CC_id
],
rb_table
[
rb_table_index
],
rb_table_index
,
TBS
,
harq_pid
);
/*
// Adjust BSR entries for LCGIDs
adjust_bsr_info(buffer_occupancy,
...
...
@@ -1313,7 +1321,7 @@ void schedule_ulsch_cba_rnti(module_id_t module_idP, unsigned char cooperation_f
// simple UE identity based grouping
if
((
UE_id
%
total_groups
)
==
cba_group
)
{
// this could be simplifed to active_UEs[UE_id % total_groups]++;
if
((
mac_
get_rrc_status
(
module_idP
,
1
,
UE_id
)
>
RRC_CONNECTED
)
&&
if
((
mac_
eNB_get_rrc_status
(
module_idP
,
rnti
)
>
RRC_CONNECTED
)
&&
(
UE_is_to_be_scheduled
(
module_idP
,
CC_id
,
UE_id
)
==
0
))
{
active_UEs
[
cba_group
]
++
;
}
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf
View file @
9915db73
...
...
@@ -140,10 +140,10 @@ eNBs =
NETWORK_INTERFACES
:
{
ENB_INTERFACE_NAME_FOR_S1_MME
=
"eth0"
;
ENB_IPV4_ADDRESS_FOR_S1_MME
=
"192.168.12.21
5
/24"
;
ENB_IPV4_ADDRESS_FOR_S1_MME
=
"192.168.12.21
3
/24"
;
ENB_INTERFACE_NAME_FOR_S1U
=
"eth0"
;
ENB_IPV4_ADDRESS_FOR_S1U
=
"192.168.12.21
5
/24"
;
ENB_IPV4_ADDRESS_FOR_S1U
=
"192.168.12.21
3
/24"
;
ENB_PORT_FOR_S1U
=
2152
;
# Spec 2152
};
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf
View file @
9915db73
...
...
@@ -82,7 +82,7 @@ eNBs =
rach_messagePowerOffsetGroupB
= ;
*/
rach_powerRampingStep
=
4
;
rach_preambleInitialReceivedTargetPower
= -
10
8
;
rach_preambleInitialReceivedTargetPower
= -
10
0
;
rach_preambleTransMax
=
10
;
rach_raResponseWindowSize
=
10
;
rach_macContentionResolutionTimer
=
48
;
...
...
@@ -143,10 +143,10 @@ eNBs =
NETWORK_INTERFACES
:
{
ENB_INTERFACE_NAME_FOR_S1_MME
=
"eth0"
;
ENB_IPV4_ADDRESS_FOR_S1_MME
=
"192.168.12.21
5
/24"
;
ENB_IPV4_ADDRESS_FOR_S1_MME
=
"192.168.12.21
3
/24"
;
ENB_INTERFACE_NAME_FOR_S1U
=
"eth0"
;
ENB_IPV4_ADDRESS_FOR_S1U
=
"192.168.12.21
5
/24"
;
ENB_IPV4_ADDRESS_FOR_S1U
=
"192.168.12.21
3
/24"
;
ENB_PORT_FOR_S1U
=
2152
;
# Spec 2152
};
...
...
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