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
常顺宇
OpenXG-RAN
Commits
9915db73
Commit
9915db73
authored
9 years ago
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
;
...
...
This diff is collapsed.
Click to expand it.
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
{
...
...
This diff is collapsed.
Click to expand it.
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
]
++
;
}
...
...
This diff is collapsed.
Click to expand it.
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
};
...
...
This diff is collapsed.
Click to expand it.
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
};
...
...
This diff is collapsed.
Click to expand it.
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