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
promise
OpenXG-RAN
Commits
8713e749
Commit
8713e749
authored
8 years ago
by
Raymond Knopp
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
changes from Cedric
parent
215a27c1
Changes
19
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
260 additions
and
28 deletions
+260
-28
cmake_targets/CMakeLists.txt
cmake_targets/CMakeLists.txt
+13
-2
common/utils/T/T_messages.txt
common/utils/T/T_messages.txt
+8
-0
common/utils/T/tracer/macpdu2wireshark.c
common/utils/T/tracer/macpdu2wireshark.c
+5
-4
common/utils/T/tracer/record.c
common/utils/T/tracer/record.c
+1
-0
common/utils/T/tracer/view/stdout.c
common/utils/T/tracer/view/stdout.c
+1
-0
openair1/PHY/LTE_TRANSPORT/dci_tools.c
openair1/PHY/LTE_TRANSPORT/dci_tools.c
+12
-0
openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c
openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c
+5
-0
openair1/SCHED/phy_procedures_lte_eNb.c
openair1/SCHED/phy_procedures_lte_eNb.c
+26
-3
openair1/SCHED/phy_procedures_lte_ue.c
openair1/SCHED/phy_procedures_lte_ue.c
+6
-0
openair2/LAYER2/MAC/eNB_scheduler.c
openair2/LAYER2/MAC/eNB_scheduler.c
+125
-12
openair2/LAYER2/MAC/eNB_scheduler_primitives.c
openair2/LAYER2/MAC/eNB_scheduler_primitives.c
+2
-1
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.c
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.c
+1
-1
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_retransmit.c
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_retransmit.c
+1
-0
openair2/RRC/LITE/rrc_eNB.c
openair2/RRC/LITE/rrc_eNB.c
+3
-0
openair2/UTIL/OSA/osa_stream_eea.c
openair2/UTIL/OSA/osa_stream_eea.c
+5
-0
openair3/SECU/nas_stream_eea2.c
openair3/SECU/nas_stream_eea2.c
+5
-0
targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
+4
-3
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf
...C-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf
+2
-2
targets/RT/USER/lte-softmodem.c
targets/RT/USER/lte-softmodem.c
+35
-0
No files found.
cmake_targets/CMakeLists.txt
View file @
8713e749
...
...
@@ -124,7 +124,7 @@ endmacro(add_list_string_option)
####################################################
# compilation flags
#############################################
set
(
CMAKE_BUILD_TYPE
"Debug"
)
#
set(CMAKE_BUILD_TYPE "Debug")
if
(
CMAKE_BUILD_TYPE STREQUAL
""
)
set
(
CMAKE_BUILD_TYPE
"RelWithDebInfo"
)
endif
()
...
...
@@ -1106,6 +1106,15 @@ set (MAC_SRC
${
MAC_DIR
}
/config.c
)
set_source_files_properties
(
${
RLC_DIR
}
/rlc_mac.c PROPERTIES COMPILE_FLAGS
"-g -O0"
)
set_source_files_properties
(
${
RLC_AM_DIR
}
/rlc_am.c PROPERTIES COMPILE_FLAGS
"-g -O0"
)
set_source_files_properties
(
${
RLC_AM_DIR
}
/rlc_am_status_report.c PROPERTIES COMPILE_FLAGS
"-g -O0"
)
set_source_files_properties
(
${
RLC_AM_DIR
}
/rlc_am_receiver.c PROPERTIES COMPILE_FLAGS
"-g -O0"
)
set_source_files_properties
(
${
RLC_AM_DIR
}
/rlc_am_retransmit.c PROPERTIES COMPILE_FLAGS
"-g -O0"
)
set_source_files_properties
(
${
MAC_DIR
}
/ue_procedures.c PROPERTIES COMPILE_FLAGS
"-g -O0"
)
set_source_files_properties
(
${
MAC_DIR
}
/eNB_scheduler.c PROPERTIES COMPILE_FLAGS
"-g -O0"
)
set_source_files_properties
(
${
MAC_DIR
}
/eNB_scheduler_primitives.c PROPERTIES COMPILE_FLAGS
"-g -O0"
)
if
(
${
FAPI
}
)
set
(
MAC_SRC
${
MAC_SRC
}
${
MAC_DIR
}
/ff-mac.c
...
...
@@ -1113,6 +1122,8 @@ set (MAC_SRC ${MAC_SRC}
)
endif
(
${
FAPI
}
)
set_source_files_properties
(
${
MAC_DIR
}
/ff-mac.c PROPERTIES COMPILE_FLAGS
"-g -O0"
)
if
(
${
FAPI_TRACER
}
)
set
(
MAC_SRC
${
MAC_SRC
}
${
MAC_DIR
}
/ffdebug.c
...
...
@@ -1699,7 +1710,7 @@ target_link_libraries (lte-softmodem-nos1
target_link_libraries
(
lte-softmodem-nos1
${
LIBXML2_LIBRARIES
}
)
target_link_libraries
(
lte-softmodem-nos1 pthread m
${
CONFIG_LIBRARIES
}
rt crypt
${
CRYPTO_LIBRARIES
}
${
OPENSSL_LIBRARIES
}
${
NETTLE_LIBRARIES
}
${
option_HW_lib
}
${
option_TP_lib
}
${
XFORMS_LIBRARIES
}
)
target_link_libraries
(
lte-softmodem-nos1
${
LIB_LMS_LIBRARIES
}
)
target_link_libraries
(
lte-softmodem
-nos1
${
T_LIB
}
)
target_link_libraries
(
lte-softmodem
${
T_LIB
}
)
# rrh
################################
...
...
This diff is collapsed.
Click to expand it.
common/utils/T/T_messages.txt
View file @
8713e749
...
...
@@ -99,6 +99,14 @@ ID = ENB_MAC_UE_DL_PDU_WITH_DATA
DESC = MAC downlink PDU for an UE
GROUP = ALL:MAC:ENB
FORMAT = int,eNB_ID : int,CC_id : int,rnti : int,frame : int,subframe : int,harq_pid : buffer,data
ID = UE_MAC_UE_UL_PDU_WITH_DATA
DESC = MAC uplink sent PDU by the UE
GROUP = ALL:MAC:UE:HEAVY
FORMAT = int,eNB_ID : int,CC_id : int,rnti : int,frame : int,subframe : int,harq_pid : int,sdu_length : int,num_ce : int,num_sdu : buffer,data
ID = UE_MAC_UE_DL_PDU_WITH_DATA
DESC = MAC downlink received PDU by the UE
GROUP = ALL:MAC:UE:HEAVY
FORMAT = int,UE_ID : int,rnti : int,frame : int,subframe : int,harq_pid : buffer,data
#RLC logs
ID = ENB_RLC_DL
...
...
This diff is collapsed.
Click to expand it.
common/utils/T/tracer/macpdu2wireshark.c
View file @
8713e749
...
...
@@ -51,7 +51,7 @@ void ul(void *_d, event e)
/* for newer version of wireshark? */
fsf
=
(
e
.
e
[
d
->
ul_frame
].
i
<<
4
)
+
e
.
e
[
d
->
ul_subframe
].
i
;
/* for older version? */
fsf
=
e
.
e
[
d
->
ul_subframe
].
i
;
//
fsf = e.e[d->ul_subframe].i;
PUTC
(
&
d
->
buf
,
MAC_LTE_FRAME_SUBFRAME_TAG
);
PUTC
(
&
d
->
buf
,
(
fsf
>>
8
)
&
255
);
PUTC
(
&
d
->
buf
,
fsf
&
255
);
...
...
@@ -86,7 +86,7 @@ void dl(void *_d, event e)
/* for newer version of wireshark? */
fsf
=
(
e
.
e
[
d
->
dl_frame
].
i
<<
4
)
+
e
.
e
[
d
->
dl_subframe
].
i
;
/* for older version? */
fsf
=
e
.
e
[
d
->
dl_subframe
].
i
;
//
fsf = e.e[d->dl_subframe].i;
PUTC
(
&
d
->
buf
,
MAC_LTE_FRAME_SUBFRAME_TAG
);
PUTC
(
&
d
->
buf
,
(
fsf
>>
8
)
&
255
);
PUTC
(
&
d
->
buf
,
fsf
&
255
);
...
...
@@ -177,7 +177,7 @@ void usage(void)
printf
(
"options:
\n
"
" -d <database file> this option is mandatory
\n
"
" -i
n <dump file>
read events from this dump file
\n
"
" -i
<dump file>
read events from this dump file
\n
"
" -ip <IP address> send packets to this IP address (default %s)
\n
"
" -p <port> send packets to this port (default %d)
\n
"
,
DEFAULT_IP
,
...
...
@@ -205,7 +205,7 @@ int main(int n, char **v)
if
(
!
strcmp
(
v
[
i
],
"-h"
)
||
!
strcmp
(
v
[
i
],
"--help"
))
usage
();
if
(
!
strcmp
(
v
[
i
],
"-d"
))
{
if
(
i
>
n
-
2
)
usage
();
database_filename
=
v
[
++
i
];
continue
;
}
if
(
!
strcmp
(
v
[
i
],
"-i
n
"
))
if
(
!
strcmp
(
v
[
i
],
"-i"
))
{
if
(
i
>
n
-
2
)
usage
();
input_filename
=
v
[
++
i
];
continue
;
}
if
(
!
strcmp
(
v
[
i
],
"-ip"
))
{
if
(
i
>
n
-
2
)
usage
();
ip
=
v
[
++
i
];
continue
;
}
if
(
!
strcmp
(
v
[
i
],
"-p"
))
{
if
(
i
>
n
-
2
)
usage
();
port
=
atoi
(
v
[
++
i
]);
continue
;
}
...
...
@@ -231,6 +231,7 @@ int main(int n, char **v)
h
=
new_handler
(
database
);
ul_id
=
event_id_from_name
(
database
,
"ENB_MAC_UE_UL_PDU_WITH_DATA"
);
//dl_id = event_id_from_name(database, "UE_MAC_UE_DL_PDU_WITH_DATA");
dl_id
=
event_id_from_name
(
database
,
"ENB_MAC_UE_DL_PDU_WITH_DATA"
);
setup_data
(
&
d
,
database
,
ul_id
,
dl_id
);
...
...
This diff is collapsed.
Click to expand it.
common/utils/T/tracer/record.c
View file @
8713e749
...
...
@@ -80,6 +80,7 @@ int main(int n, char **v)
{
on_off_name
[
on_off_n
]
=
NULL
;
on_off_action
[
on_off_n
++
]
=
1
;
continue
;
}
if
(
!
strcmp
(
v
[
i
],
"-OFF"
))
{
on_off_name
[
on_off_n
]
=
NULL
;
on_off_action
[
on_off_n
++
]
=
0
;
continue
;
}
printf
(
"unknown option %s
\n
"
,
v
[
i
]);
usage
();
}
...
...
This diff is collapsed.
Click to expand it.
common/utils/T/tracer/view/stdout.c
View file @
8713e749
...
...
@@ -18,6 +18,7 @@ static void append(view *_this, char *s)
struct
stdout
*
this
=
(
struct
stdout
*
)
_this
;
if
(
pthread_mutex_lock
(
&
this
->
lock
))
abort
();
printf
(
"%s
\n
"
,
s
);
fflush
(
stdout
);
if
(
pthread_mutex_unlock
(
&
this
->
lock
))
abort
();
}
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/LTE_TRANSPORT/dci_tools.c
View file @
8713e749
...
...
@@ -194,6 +194,7 @@ void conv_rballoc(uint8_t ra_header,uint32_t rb_alloc,uint32_t N_RB_DL,uint32_t
if
((
rb_alloc
&
1
)
!=
0
)
rb_alloc2
[
0
]
|=
(
1
<<
24
);
}
else
{
#if 0
subset = rb_alloc&1;
shift = (rb_alloc>>1)&1;
...
...
@@ -203,6 +204,14 @@ void conv_rballoc(uint8_t ra_header,uint32_t rb_alloc,uint32_t N_RB_DL,uint32_t
//printf("rb_alloc2 (type 1) %x\n",rb_alloc2);
}
#endif
subset
=
(
rb_alloc
>>
12
)
&
1
;
shift
=
(
rb_alloc
>>
11
)
&
1
;
for
(
i
=
0
;
i
<
11
;
i
++
)
{
if
((
rb_alloc
&
(
1
<<
(
10
-
i
)))
!=
0
)
rb_alloc2
[
0
]
|=
(
1
<<
(
2
*
i
));
}
if
((
shift
==
0
)
&&
(
subset
==
1
))
rb_alloc2
[
0
]
<<=
1
;
...
...
@@ -210,6 +219,7 @@ void conv_rballoc(uint8_t ra_header,uint32_t rb_alloc,uint32_t N_RB_DL,uint32_t
rb_alloc2
[
0
]
<<=
4
;
else
if
((
shift
==
1
)
&&
(
subset
==
1
))
rb_alloc2
[
0
]
<<=
3
;
printf
(
"YOYO rb_alloc2 %x (from %x)
\n
"
,
rb_alloc2
[
0
],
rb_alloc
);
}
break
;
...
...
@@ -7223,7 +7233,9 @@ int generate_eNB_ulsch_params_from_dci(void *dci_pdu,
if
(
cqi_req
==
1
)
{
fprintf
(
stderr
,
"cqi_req = 1 in dci_tools!
\n
"
);
ulsch
->
harq_processes
[
harq_pid
]
->
O_RI
=
1
;
//we only support 2 antenna ports, so this is always 1 according to 3GPP 36.213 Table
ulsch
->
harq_processes
[
harq_pid
]
->
O_RI
=
0
;
//we only support 2 antenna ports, so this is always 1 according to 3GPP 36.213 Table
switch
(
transmission_mode
)
{
// The aperiodic CQI reporting mode is fixed for every transmission mode instead of being configured by higher layer signaling
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c
View file @
8713e749
...
...
@@ -423,6 +423,8 @@ unsigned int ulsch_decoding(PHY_VARS_eNB *phy_vars_eNB,
Qprime
=
Qprime
/
(
8
*
sumKr
);
}
if
(
Qprime
>
nb_rb
*
12
*
ulsch_harq
->
Nsymb_pusch
)
{
fprintf
(
stderr
,
"reduce Qprime %d -> %d
\n
"
,
Qprime
,
nb_rb
*
12
*
ulsch_harq
->
Nsymb_pusch
);
Qprime
=
nb_rb
*
12
*
ulsch_harq
->
Nsymb_pusch
;
}
G
=
nb_rb
*
(
12
*
Q_m
)
*
(
ulsch_harq
->
Nsymb_pusch
);
...
...
@@ -432,6 +434,8 @@ unsigned int ulsch_decoding(PHY_VARS_eNB *phy_vars_eNB,
msg
(
"ulsch_decoding: G %d, Q_RI %d, Q_CQI %d (L %d, Or1 %d) O_ACK %d
\n
"
,
G
,
Q_RI
,
Q_CQI
,
L
,
ulsch_harq
->
Or1
,
ulsch_harq
->
O_ACK
);
#endif
if
(
Q_CQI
)
fprintf
(
stderr
,
"G %d Q_CQI %d Q_RI %d
\n
"
,
G
,
Q_CQI
,
Q_RI
);
G
=
G
-
Q_RI
-
Q_CQI
;
if
((
int
)
G
<
0
)
{
...
...
@@ -919,6 +923,7 @@ unsigned int ulsch_decoding(PHY_VARS_eNB *phy_vars_eNB,
// CQI
// printf("before cqi c[%d] = %p\n",0,ulsch_harq->c[0]);
ulsch_harq
->
cqi_crc_status
=
0
;
if
(
Q_CQI
>
0
)
{
memset
((
void
*
)
&
dummy_w_cc
[
0
],
0
,
3
*
(
ulsch_harq
->
Or1
+
8
+
32
));
...
...
This diff is collapsed.
Click to expand it.
openair1/SCHED/phy_procedures_lte_eNb.c
View file @
8713e749
...
...
@@ -190,6 +190,7 @@ int mac_phy_remove_ue(module_id_t Mod_idP,rnti_t rntiP) {
#ifdef DEBUG_PHY_PROC
LOG_I
(
PHY
,
"eNB %d removing UE %d with rnti %x
\n
"
,
phy_vars_eNB
->
Mod_id
,
i
,
rnti
);
#endif
LOG_I
(
PHY
,
"eNB %d removing UE %d with rnti %x
\n
"
,
phy_vars_eNB
->
Mod_id
,
i
,
rntiP
);
//msg("[PHY] UE_id %d\n",i);
clean_eNb_dlsch
(
phy_vars_eNB
->
dlsch_eNB
[
i
][
0
]);
clean_eNb_ulsch
(
phy_vars_eNB
->
ulsch_eNB
[
i
]);
...
...
@@ -2143,7 +2144,7 @@ void prach_procedures(PHY_VARS_eNB *phy_vars_eNB,uint8_t sched_subframe,uint8_t
phy_vars_eNB
->
eNB_UE_stats
[(
uint32_t
)
UE_id
].
UE_timing_offset
=
preamble_delay_list
[
preamble_max
]
&
0x1FFF
;
//limit to 13 (=11+2) bits
phy_vars_eNB
->
eNB_UE_stats
[(
uint32_t
)
UE_id
].
sector
=
0
;
LOG_
D
(
PHY
,
"[eNB %d/%d][RAPROC] Frame %d, subframe %d Initiating RA procedure (UE_id %d) with preamble %d, energy %d.%d dB, delay %d
\n
"
,
LOG_
E
(
PHY
,
"[eNB %d/%d][RAPROC] Frame %d, subframe %d Initiating RA procedure (UE_id %d) with preamble %d, energy %d.%d dB, delay %d
\n
"
,
phy_vars_eNB
->
Mod_id
,
phy_vars_eNB
->
CC_id
,
frame
,
...
...
@@ -2944,7 +2945,18 @@ printf("PHY RX f/sf %d/%d sched_sf %d\n", frame, subframe, sched_subframe);
#endif
phy_vars_eNB
->
ulsch_eNB
[
i
]
->
harq_processes
[
harq_pid
]
->
subframe_scheduling_flag
=
0
;
#if FAPI
/* a hack to report nice CQI all the time it's asked */
if
(
phy_vars_eNB
->
ulsch_eNB
[
i
]
->
harq_processes
[
harq_pid
]
->
Or1
)
{
int
cqi_subband
[
13
];
int
k
;
for
(
k
=
0
;
k
<
13
;
k
++
)
cqi_subband
[
k
]
=
15
;
mac_xface
->
fapi_dl_cqi_report
(
phy_vars_eNB
->
Mod_id
,
phy_vars_eNB
->
ulsch_eNB
[
i
]
->
rnti
,
frame
,
subframe
,
15
,
cqi_subband
,
0
);
}
#endif
if
(
phy_vars_eNB
->
ulsch_eNB
[
i
]
->
harq_processes
[
harq_pid
]
->
cqi_crc_status
==
1
)
{
fprintf
(
stderr
,
"extract CQI! Or1 = %d
\n
"
,
phy_vars_eNB
->
ulsch_eNB
[
i
]
->
harq_processes
[
harq_pid
]
->
Or1
);
#ifdef DEBUG_PHY_PROC
//if (((phy_vars_eNB->proc[sched_subframe].frame_tx%10) == 0) || (phy_vars_eNB->proc[sched_subframe].frame_tx < 50))
print_CQI
(
phy_vars_eNB
->
ulsch_eNB
[
i
]
->
harq_processes
[
harq_pid
]
->
o
,
phy_vars_eNB
->
ulsch_eNB
[
i
]
->
harq_processes
[
harq_pid
]
->
uci_format
,
0
,
phy_vars_eNB
->
lte_frame_parms
.
N_RB_DL
);
...
...
@@ -2988,7 +3000,7 @@ printf("PHY RX f/sf %d/%d sched_sf %d\n", frame, subframe, sched_subframe);
LOG_D
(
PHY
,
"[eNB][PUSCH %d] Increasing to round %d
\n
"
,
harq_pid
,
phy_vars_eNB
->
ulsch_eNB
[
i
]
->
harq_processes
[
harq_pid
]
->
round
);
if
(
phy_vars_eNB
->
ulsch_eNB
[
i
]
->
Msg3_flag
==
1
)
{
LOG_
D
(
PHY
,
"[eNB %d/%d][RAPROC] frame %d, subframe %d, UE %d: Error receiving ULSCH (Msg3), round %d/%d
\n
"
,
LOG_
E
(
PHY
,
"[eNB %d/%d][RAPROC] frame %d, subframe %d, UE %d: Error receiving ULSCH (Msg3), round %d/%d
\n
"
,
phy_vars_eNB
->
Mod_id
,
phy_vars_eNB
->
CC_id
,
frame
,
subframe
,
i
,
...
...
@@ -3011,7 +3023,7 @@ printf("PHY RX f/sf %d/%d sched_sf %d\n", frame, subframe, sched_subframe);
if
(
phy_vars_eNB
->
ulsch_eNB
[
i
]
->
harq_processes
[
harq_pid
]
->
round
==
phy_vars_eNB
->
lte_frame_parms
.
maxHARQ_Msg3Tx
)
{
LOG_
D
(
PHY
,
"[eNB %d][RAPROC] maxHARQ_Msg3Tx reached, abandoning RA procedure for UE %d
\n
"
,
LOG_
E
(
PHY
,
"[eNB %d][RAPROC] maxHARQ_Msg3Tx reached, abandoning RA procedure for UE %d
\n
"
,
phy_vars_eNB
->
Mod_id
,
i
);
phy_vars_eNB
->
eNB_UE_stats
[
i
].
mode
=
PRACH
;
if
(
phy_vars_eNB
->
mac_enabled
==
1
)
{
...
...
@@ -3259,6 +3271,17 @@ printf("PHY RX f/sf %d/%d sched_sf %d\n", frame, subframe, sched_subframe);
0
,
0
);
LOG_I
(
PHY
,
"[eNB %d] Frame %d subframe %d, sect %d: received ULSCH harq_pid %d for UE %d, ret = %d, CQI CRC Status %d, ACK %d,%d, ulsch_errors %d/%d
\n
"
,
phy_vars_eNB
->
Mod_id
,
frame
,
subframe
,
phy_vars_eNB
->
eNB_UE_stats
[
i
].
sector
,
harq_pid
,
i
,
ret
,
phy_vars_eNB
->
ulsch_eNB
[
i
]
->
harq_processes
[
harq_pid
]
->
cqi_crc_status
,
phy_vars_eNB
->
ulsch_eNB
[
i
]
->
harq_processes
[
harq_pid
]
->
o_ACK
[
0
],
phy_vars_eNB
->
ulsch_eNB
[
i
]
->
harq_processes
[
harq_pid
]
->
o_ACK
[
1
],
phy_vars_eNB
->
eNB_UE_stats
[
i
].
ulsch_errors
[
harq_pid
],
phy_vars_eNB
->
eNB_UE_stats
[
i
].
ulsch_decoding_attempts
[
harq_pid
][
0
]);
#ifdef DEBUG_PHY_PROC
LOG_D
(
PHY
,
"[eNB %d] Frame %d subframe %d, sect %d: received ULSCH harq_pid %d for UE %d, ret = %d, CQI CRC Status %d, ACK %d,%d, ulsch_errors %d/%d
\n
"
,
phy_vars_eNB
->
Mod_id
,
frame
,
subframe
,
...
...
This diff is collapsed.
Click to expand it.
openair1/SCHED/phy_procedures_lte_ue.c
View file @
8713e749
...
...
@@ -38,6 +38,8 @@
* \warning
*/
#include "T.h"
#include "assertions.h"
#include "defs.h"
#include "PHY/defs.h"
...
...
@@ -2690,6 +2692,10 @@ int phy_procedures_UE_RX(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t abstrac
#endif
#endif
if
(
phy_vars_ue
->
mac_enabled
==
1
)
{
T
(
T_UE_MAC_UE_DL_PDU_WITH_DATA
,
T_INT
(
phy_vars_ue
->
Mod_id
),
T_INT
(
phy_vars_ue
->
dlsch_ue
[
eNB_id
][
0
]
->
rnti
),
T_INT
(
frame_rx
),
T_INT
(
subframe_prev
),
T_INT
(
phy_vars_ue
->
dlsch_ue
[
eNB_id
][
0
]
->
current_harq_pid
),
T_BUFFER
(
phy_vars_ue
->
dlsch_ue
[
eNB_id
][
0
]
->
harq_processes
[
phy_vars_ue
->
dlsch_ue
[
eNB_id
][
0
]
->
current_harq_pid
]
->
b
,
phy_vars_ue
->
dlsch_ue
[
eNB_id
][
0
]
->
harq_processes
[
phy_vars_ue
->
dlsch_ue
[
eNB_id
][
0
]
->
current_harq_pid
]
->
TBS
>>
3
));
mac_xface
->
ue_send_sdu
(
phy_vars_ue
->
Mod_id
,
CC_id
,
frame_rx
,
...
...
This diff is collapsed.
Click to expand it.
openair2/LAYER2/MAC/eNB_scheduler.c
View file @
8713e749
This diff is collapsed.
Click to expand it.
openair2/LAYER2/MAC/eNB_scheduler_primitives.c
View file @
8713e749
...
...
@@ -1180,7 +1180,8 @@ void SR_indication(module_id_t mod_idP, int cc_idP, frame_t frameP, rnti_t rntiP
UE_id
=
find_UE_id
(
mod_idP
,
rntiP
);
if
(
UE_id
==
-
1
)
{
LOG_E
(
MAC
,
"%s:%d:%s: rnti %x: no such UE
\n
"
,
__FILE__
,
__LINE__
,
__FUNCTION__
,
rntiP
);
abort
();
return
;
//abort();
}
fapi
=
eNB_mac_inst
[
mod_idP
].
fapi
;
...
...
This diff is collapsed.
Click to expand it.
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.c
View file @
8713e749
...
...
@@ -326,7 +326,7 @@ rlc_am_get_pdus (
case
RLC_DATA_TRANSFER_READY_STATE
:
// TRY TO SEND CONTROL PDU FIRST
if
((
rlc_pP
->
nb_bytes_requested_by_mac
>
2
)
&&
(
rlc_pP
->
status_requested
))
{
if
((
rlc_pP
->
nb_bytes_requested_by_mac
>
=
2
)
&&
(
rlc_pP
->
status_requested
))
{
// When STATUS reporting has been triggered, the receiving side of an AM RLC entity shall:
// - if t-StatusProhibit is not running:
// - at the first transmission opportunity indicated by lower layer, construct a STATUS PDU and deliver it to lower layer;
...
...
This diff is collapsed.
Click to expand it.
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_retransmit.c
View file @
8713e749
...
...
@@ -653,6 +653,7 @@ mem_block_t* rlc_am_retransmit_get_subsegment(
// fill the segment pdu_p with Lis and data
//---------------------------------------------------------------
LOG_T
(
RLC
,
PROTOCOL_RLC_AM_CTXT_FMT
"[RE-SEGMENT] fill the segment pdu_p with Lis and data, test_num_li %d
\n
"
,
PROTOCOL_RLC_AM_CTXT_ARGS
(
ctxt_pP
,
rlc_pP
),
test_num_li
);
if
(
test_num_li
>
0
)
{
...
...
This diff is collapsed.
Click to expand it.
openair2/RRC/LITE/rrc_eNB.c
View file @
8713e749
...
...
@@ -3445,6 +3445,9 @@ rrc_eNB_process_RRCConnectionReconfigurationComplete(
)
//-----------------------------------------------------------------------------
{
#ifdef FAPI
extern
int
cqi_ready
[
65536
];
cqi_ready
[
ctxt_pP
->
rnti
]
=
1
;
#endif
int
i
;
#ifdef PDCP_USE_NETLINK
int
oip_ifup
=
0
;
...
...
This diff is collapsed.
Click to expand it.
openair2/UTIL/OSA/osa_stream_eea.c
View file @
8713e749
...
...
@@ -35,6 +35,7 @@
#include <nettle/nettle-meta.h>
#include <nettle/aes.h>
#include <nettle/ctr.h>
//#include <nettle/version.h>
#include "UTIL/LOG/log.h"
...
...
@@ -199,8 +200,12 @@ int stream_encrypt_eea2(stream_cipher_t *stream_cipher, uint8_t **out)
}
#endif
#if NETTLE_VERSION_MAJOR >= 3
nettle_aes128
.
set_encrypt_key
(
ctx
,
stream_cipher
->
key
);
#else
nettle_aes128
.
set_encrypt_key
(
ctx
,
stream_cipher
->
key_length
,
stream_cipher
->
key
);
#endif
nettle_ctr_crypt
(
ctx
,
nettle_aes128
.
encrypt
,
nettle_aes128
.
block_size
,
m
,
...
...
This diff is collapsed.
Click to expand it.
openair3/SECU/nas_stream_eea2.c
View file @
8713e749
...
...
@@ -34,6 +34,7 @@
#include <nettle/nettle-meta.h>
#include <nettle/aes.h>
#include <nettle/ctr.h>
//#include <nettle/version.h>
#include "assertions.h"
#include "conversions.h"
...
...
@@ -85,8 +86,12 @@ int nas_stream_encrypt_eea2(nas_stream_cipher_t *stream_cipher, uint8_t *out)
}
#endif
#if NETTLE_VERSION_MAJOR >= 3
nettle_aes128
.
set_encrypt_key
(
ctx
,
stream_cipher
->
key
);
#else
nettle_aes128
.
set_encrypt_key
(
ctx
,
stream_cipher
->
key_length
,
stream_cipher
->
key
);
#endif
nettle_ctr_crypt
(
ctx
,
nettle_aes128
.
encrypt
,
nettle_aes128
.
block_size
,
m
,
...
...
This diff is collapsed.
Click to expand it.
targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
View file @
8713e749
...
...
@@ -172,6 +172,7 @@ static void trx_usrp_end(openair0_device *device)
*/
static
int
trx_usrp_write
(
openair0_device
*
device
,
openair0_timestamp
timestamp
,
void
**
buff
,
int
nsamps
,
int
cc
,
int
flags
)
{
int
ret
;
usrp_state_t
*
s
=
(
usrp_state_t
*
)
device
->
priv
;
s
->
tx_md
.
time_spec
=
uhd
::
time_spec_t
::
from_ticks
(
timestamp
,
s
->
sample_rate
);
if
(
flags
)
...
...
@@ -182,13 +183,13 @@ static int trx_usrp_write(openair0_device *device, openair0_timestamp timestamp,
if
(
cc
>
1
)
{
std
::
vector
<
void
*>
buff_ptrs
;
for
(
int
i
=
0
;
i
<
cc
;
i
++
)
buff_ptrs
.
push_back
(
buff
[
i
]);
s
->
tx_stream
->
send
(
buff_ptrs
,
nsamps
,
s
->
tx_md
);
ret
=
s
->
tx_stream
->
send
(
buff_ptrs
,
nsamps
,
s
->
tx_md
);
}
else
s
->
tx_stream
->
send
(
buff
[
0
],
nsamps
,
s
->
tx_md
);
ret
=
s
->
tx_stream
->
send
(
buff
[
0
],
nsamps
,
s
->
tx_md
);
s
->
tx_md
.
start_of_burst
=
false
;
return
0
;
return
ret
;
}
/*! \brief Receive samples from hardware.
...
...
This diff is collapsed.
Click to expand it.
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf
View file @
8713e749
...
...
@@ -52,7 +52,7 @@ eNBs =
pusch_n_SB
=
1
;
pusch_enable64QAM
=
"DISABLE"
;
pusch_hoppingMode
=
"interSubFrame"
;
pusch_hoppingOffset
=
0
;
pusch_hoppingOffset
=
1
;
pusch_groupHoppingEnabled
=
"ENABLE"
;
pusch_groupAssignment
=
0
;
pusch_sequenceHoppingEnabled
=
"DISABLE"
;
...
...
@@ -65,7 +65,7 @@ eNBs =
srs_ackNackST
=;
srs_MaxUpPts
=;*/
pusch_p0_Nominal
= -
108
;
pusch_p0_Nominal
= -
90
; //-
108
;
pusch_alpha
=
"AL1"
;
pucch_p0_Nominal
= -
96
; //-
108
;
msg3_delta_Preamble
=
6
;
...
...
This diff is collapsed.
Click to expand it.
targets/RT/USER/lte-softmodem.c
View file @
8713e749
...
...
@@ -2210,6 +2210,7 @@ static void* eNB_thread( void* arg )
#endif
/* TODO: is it the right place for master tick? */
T
(
T_ENB_MASTER_TICK
,
T_INT
(
0
),
T_INT
(
frame
%
1024
),
T_INT
(
sf
));
#if 0
if (frame>50) {
for (int CC_id=0; CC_id<MAX_NUM_CCs; CC_id++) {
#ifdef EXMIMO
...
...
@@ -2258,6 +2259,38 @@ static void* eNB_thread( void* arg )
}
}
}
#endif
/* do TX */
int
CC_id
;
for
(
CC_id
=
0
;
CC_id
<
MAX_NUM_CCs
;
CC_id
++
)
{
eNB_proc_t
*
proc
=
&
PHY_vars_eNB_g
[
0
][
CC_id
]
->
proc
[
sf
];
// printf("call phy_procedures_eNB_TX CC_id %d sf %d %lu\n", proc->CC_id, sf, daclock());
phy_procedures_eNB_TX
(
proc
->
subframe
,
PHY_vars_eNB_g
[
0
][
proc
->
CC_id
],
0
,
no_relay
,
NULL
);
// printf("done phy_procedures_eNB_TX CC_id %d sf %d %lu\n", proc->CC_id, sf, daclock());
// printf("call do_OFDM_mod_rt CC_id %d sf %d %ld\n", proc->CC_id, sf, daclock());
do_OFDM_mod_rt
(
proc
->
subframe_tx
,
PHY_vars_eNB_g
[
0
][
proc
->
CC_id
]
);
// printf("done do_OFDM_mod_rt CC_id %d sf %d %ld\n", proc->CC_id, sf, daclock());
proc
->
frame_tx
++
;
if
(
proc
->
frame_tx
==
1024
)
proc
->
frame_tx
=
0
;
}
/* do RX */
for
(
CC_id
=
0
;
CC_id
<
MAX_NUM_CCs
;
CC_id
++
)
{
if
(
CC_id
!=
0
)
continue
;
eNB_proc_t
*
proc
=
&
PHY_vars_eNB_g
[
0
][
CC_id
]
->
proc
[
sf
];
// printf("call phy_procedures_eNB_RX CC_id %d sf %d %lu\n", proc->CC_id, sf, daclock());
phy_procedures_eNB_RX
(
proc
->
subframe
,
PHY_vars_eNB_g
[
0
][
proc
->
CC_id
],
0
,
no_relay
);
if
((
subframe_select
(
&
PHY_vars_eNB_g
[
0
][
proc
->
CC_id
]
->
lte_frame_parms
,
proc
->
subframe_rx
)
==
SF_S
))
{
phy_procedures_eNB_S_RX
(
proc
->
subframe
,
PHY_vars_eNB_g
[
0
][
proc
->
CC_id
],
0
,
no_relay
);
}
// printf("done phy_procedures_eNB_RX CC_id %d sf %d %lu\n", proc->CC_id, sf, daclock());
proc
->
frame_rx
++
;
if
(
proc
->
frame_rx
==
1024
)
proc
->
frame_rx
=
0
;
}
}
#ifdef EXMIMO
...
...
@@ -3747,6 +3780,8 @@ int main( int argc, char **argv )
#ifdef RTAI
main_eNB_thread
=
rt_thread_create
(
eNB_thread
,
NULL
,
PTHREAD_STACK_MIN
);
#else
if
(
pthread_attr_setstacksize
(
&
attr_dlsch_threads
,
1024
*
PTHREAD_STACK_MIN
)
!=
0
)
abort
();
error_code
=
pthread_create
(
&
main_eNB_thread
,
&
attr_dlsch_threads
,
eNB_thread
,
NULL
);
if
(
error_code
!=
0
)
{
...
...
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