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
ae253f45
Commit
ae253f45
authored
Nov 25, 2016
by
Wilson W.K. Thong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
added more logs to debug missing SI-RNTI DCIs
parent
726a543a
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
50 additions
and
7 deletions
+50
-7
openair1/PHY/LTE_TRANSPORT/dci.c
openair1/PHY/LTE_TRANSPORT/dci.c
+9
-2
targets/RT/USER/lte-ue.c
targets/RT/USER/lte-ue.c
+41
-5
No files found.
openair1/PHY/LTE_TRANSPORT/dci.c
View file @
ae253f45
...
@@ -1126,6 +1126,9 @@ void pdcch_extract_rbs_dual(int32_t **rxdataF,
...
@@ -1126,6 +1126,9 @@ void pdcch_extract_rbs_dual(int32_t **rxdataF,
int
nushiftmod3
=
frame_parms
->
nushift
%
3
;
int
nushiftmod3
=
frame_parms
->
nushift
%
3
;
symbol_mod
=
(
symbol
>=
(
7
-
frame_parms
->
Ncp
))
?
symbol
-
(
7
-
frame_parms
->
Ncp
)
:
symbol
;
symbol_mod
=
(
symbol
>=
(
7
-
frame_parms
->
Ncp
))
?
symbol
-
(
7
-
frame_parms
->
Ncp
)
:
symbol
;
#ifdef DEBUG_DCI_DECODING
LOG_I
(
PHY
,
"extract_rbs_dual: symbol_mod %d
\n
"
,
symbol_mod
);
#endif
for
(
aarx
=
0
;
aarx
<
frame_parms
->
nb_antennas_rx
;
aarx
++
)
{
for
(
aarx
=
0
;
aarx
<
frame_parms
->
nb_antennas_rx
;
aarx
++
)
{
...
@@ -2679,11 +2682,15 @@ void dci_decoding_procedure0(LTE_UE_PDCCH **pdcch_vars,
...
@@ -2679,11 +2682,15 @@ void dci_decoding_procedure0(LTE_UE_PDCCH **pdcch_vars,
nCCE
=
get_nCCE
(
pdcch_vars
[
eNB_id
]
->
num_pdcch_symbols
,
frame_parms
,
mi
);
nCCE
=
get_nCCE
(
pdcch_vars
[
eNB_id
]
->
num_pdcch_symbols
,
frame_parms
,
mi
);
if
(
nCCE
>
get_nCCE
(
3
,
frame_parms
,
1
))
if
(
nCCE
>
get_nCCE
(
3
,
frame_parms
,
1
))
{
LOG_D
(
PHY
,
"skip DCI decoding: nCCE=%d > get_nCCE(3,frame_parms,1)=%d
\n
"
,
nCCE
,
get_nCCE
(
3
,
frame_parms
,
1
));
return
;
return
;
}
if
(
nCCE
<
L2
)
if
(
nCCE
<
L2
)
{
LOG_D
(
PHY
,
"skip DCI decoding: nCCE=%d < L2=%d
\n
"
,
nCCE
,
L2
);
return
;
return
;
}
if
(
do_common
==
1
)
{
if
(
do_common
==
1
)
{
nb_candidates
=
(
L2
==
4
)
?
4
:
2
;
nb_candidates
=
(
L2
==
4
)
?
4
:
2
;
...
...
targets/RT/USER/lte-ue.c
View file @
ae253f45
...
@@ -433,7 +433,14 @@ static void *UE_thread_synch(void *arg)
...
@@ -433,7 +433,14 @@ static void *UE_thread_synch(void *arg)
if
(
initial_sync
(
UE
,
UE
->
mode
)
==
0
)
{
if
(
initial_sync
(
UE
,
UE
->
mode
)
==
0
)
{
hw_slot_offset
=
(
UE
->
rx_offset
<<
1
)
/
UE
->
frame_parms
.
samples_per_tti
;
hw_slot_offset
=
(
UE
->
rx_offset
<<
1
)
/
UE
->
frame_parms
.
samples_per_tti
;
LOG_I
(
HW
,
"Got synch: hw_slot_offset %d
\n
"
,
hw_slot_offset
);
LOG_I
(
HW
,
"Got synch: hw_slot_offset %d, carrier off %d Hz, rxgain %d (DL %u, UL %u), UE_scan_carrier %d
\n
"
,
hw_slot_offset
,
freq_offset
,
UE
->
rx_total_gain_dB
,
downlink_frequency
[
0
][
0
]
+
freq_offset
,
downlink_frequency
[
0
][
0
]
+
uplink_frequency_offset
[
0
][
0
]
+
freq_offset
,
UE
->
UE_scan_carrier
);
if
(
UE
->
UE_scan_carrier
==
1
)
{
if
(
UE
->
UE_scan_carrier
==
1
)
{
UE
->
UE_scan_carrier
=
0
;
UE
->
UE_scan_carrier
=
0
;
...
@@ -710,10 +717,21 @@ static void *UE_thread_rxn_txnp4(void *arg)
...
@@ -710,10 +717,21 @@ static void *UE_thread_rxn_txnp4(void *arg)
while
(
sync_var
<
0
)
while
(
sync_var
<
0
)
pthread_cond_wait
(
&
sync_cond
,
&
sync_mutex
);
pthread_cond_wait
(
&
sync_cond
,
&
sync_mutex
);
#if 1 // 2016-11-23 wilson add pthread name to the logging
#define THREAD_NAME_LEN 16
char
threadname
[
THREAD_NAME_LEN
];
ret
=
pthread_getname_np
(
proc
->
pthread_rxtx
,
threadname
,
THREAD_NAME_LEN
);
if
(
ret
!=
0
)
{
perror
(
"pthread_getname_np : "
);
exit_fun
(
"Error getting thread name"
);
}
#endif
pthread_mutex_unlock
(
&
sync_mutex
);
pthread_mutex_unlock
(
&
sync_mutex
);
printf
(
"unlocked sync_mutex, waiting (UE_thread_rxtx)
\n
"
);
printf
(
"unlocked sync_mutex, waiting (UE_thread_rxtx)
\n
"
);
printf
(
"Starting UE RXN_TXNP4 thread
\n
"
);
printf
(
"Starting UE RXN_TXNP4 thread
(%s)
\n
"
,
threadname
);
while
(
!
oai_exit
)
{
while
(
!
oai_exit
)
{
if
(
pthread_mutex_lock
(
&
proc
->
mutex_rxtx
)
!=
0
)
{
if
(
pthread_mutex_lock
(
&
proc
->
mutex_rxtx
)
!=
0
)
{
...
@@ -739,10 +757,27 @@ static void *UE_thread_rxn_txnp4(void *arg)
...
@@ -739,10 +757,27 @@ static void *UE_thread_rxn_txnp4(void *arg)
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME
(
VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_RX0_UE
+
(
proc
->
subframe_rx
&
1
),
proc
->
frame_rx
);
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME
(
VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_RX0_UE
+
(
proc
->
subframe_rx
&
1
),
proc
->
frame_rx
);
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME
(
VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_TX0_UE
+
(
proc
->
subframe_tx
&
1
),
proc
->
frame_tx
);
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME
(
VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_TX0_UE
+
(
proc
->
subframe_tx
&
1
),
proc
->
frame_tx
);
if
((
subframe_select
(
&
UE
->
frame_parms
,
proc
->
subframe_rx
)
==
SF_DL
)
||
lte_subframe_t
sf_type
=
subframe_select
(
&
UE
->
frame_parms
,
proc
->
subframe_rx
);
(
UE
->
frame_parms
.
frame_type
==
FDD
)
||
if
((
sf_type
==
SF_DL
)
||
(
subframe_select
(
&
UE
->
frame_parms
,
proc
->
subframe_rx
)
==
SF_S
))
{
(
UE
->
frame_parms
.
frame_type
==
FDD
)
||
(
sf_type
==
SF_S
))
{
if
(
UE
->
frame_parms
.
frame_type
==
TDD
)
{
LOG_D
(
PHY
,
"%s,TDD%d,%s: calling UE_RX
\n
"
,
threadname
,
UE
->
frame_parms
.
tdd_config
,
(
sf_type
==
SF_DL
?
"SF_DL"
:
(
sf_type
==
SF_UL
?
"SF_UL"
:
(
sf_type
==
SF_S
?
"SF_S"
:
"UNKNOWN_SF_TYPE"
))));
}
else
{
LOG_D
(
PHY
,
"%s,%s,%s: calling UE_RX
\n
"
,
threadname
,
(
UE
->
frame_parms
.
frame_type
==
FDD
?
"FDD"
:
(
UE
->
frame_parms
.
frame_type
==
TDD
?
"TDD"
:
"UNKNOWN_DUPLEX_MODE"
)),
(
sf_type
==
SF_DL
?
"SF_DL"
:
(
sf_type
==
SF_UL
?
"SF_UL"
:
(
sf_type
==
SF_S
?
"SF_S"
:
"UNKNOWN_SF_TYPE"
))));
}
phy_procedures_UE_RX
(
UE
,
proc
,
0
,
0
,
UE
->
mode
,
no_relay
,
NULL
);
phy_procedures_UE_RX
(
UE
,
proc
,
0
,
0
,
UE
->
mode
,
no_relay
,
NULL
);
}
}
...
@@ -1122,6 +1157,7 @@ void *UE_thread(void *arg) {
...
@@ -1122,6 +1157,7 @@ void *UE_thread(void *arg) {
exit_fun
(
"nothing to add"
);
exit_fun
(
"nothing to add"
);
return
&
UE_thread_retval
;
return
&
UE_thread_retval
;
}
}
LOG_D
(
PHY
,
"firing up rxtx_thread[%d] at subframe %d
\n
"
,
sf
&
1
,
sf
);
}
else
{
}
else
{
LOG_E
(
PHY
,
"[SCHED][UE] UE RX thread busy (IC %d)!!
\n
"
,
instance_cnt_rxtx
);
LOG_E
(
PHY
,
"[SCHED][UE] UE RX thread busy (IC %d)!!
\n
"
,
instance_cnt_rxtx
);
if
(
instance_cnt_rxtx
>
2
)
{
if
(
instance_cnt_rxtx
>
2
)
{
...
...
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