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
926cf580
Commit
926cf580
authored
Jul 18, 2019
by
laurent
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'develop' of
https://gitlab.eurecom.fr/oai/openairinterface5g
into fs6
parents
8f3a5d45
2d6d1dd9
Changes
8
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
126 additions
and
3 deletions
+126
-3
ci-scripts/conf_files/rcc.band38.tm1.50PRB.multi.rru.conf
ci-scripts/conf_files/rcc.band38.tm1.50PRB.multi.rru.conf
+2
-0
ci-scripts/conf_files/rru.band38.tm1.master.conf
ci-scripts/conf_files/rru.band38.tm1.master.conf
+1
-0
ci-scripts/conf_files/rru.band38.tm1.slave.conf
ci-scripts/conf_files/rru.band38.tm1.slave.conf
+1
-0
ci-scripts/main.py
ci-scripts/main.py
+72
-1
ci-scripts/xml_files/enb_usrp210_band7_test_10mhz_tm1.xml
ci-scripts/xml_files/enb_usrp210_band7_test_10mhz_tm1.xml
+36
-0
openair1/PHY/defs_eNB.h
openair1/PHY/defs_eNB.h
+2
-0
openair2/ENB_APP/enb_paramdef.h
openair2/ENB_APP/enb_paramdef.h
+4
-1
targets/RT/USER/lte-ru.c
targets/RT/USER/lte-ru.c
+8
-1
No files found.
ci-scripts/conf_files/rcc.band38.tm1.50PRB.multi.rru.conf
View file @
926cf580
...
...
@@ -193,6 +193,7 @@ RUs = (
att_rx
=
20
;
eNB_instances
= [
0
];
is_slave
=
"no"
;
ota_sync_enabled
=
"yes"
;
},
{
local_if_name
=
"enp129s0f0"
;
...
...
@@ -210,6 +211,7 @@ RUs = (
att_rx
=
20
;
eNB_instances
= [
0
];
is_slave
=
"yes"
;
ota_sync_enabled
=
"yes"
;
}
);
...
...
ci-scripts/conf_files/rru.band38.tm1.master.conf
View file @
926cf580
...
...
@@ -15,6 +15,7 @@ RUs = (
max_rxgain
=
100
;
bands
= [
38
];
is_slave
=
"no"
;
ota_sync_enabled
=
"yes"
;
}
);
...
...
ci-scripts/conf_files/rru.band38.tm1.slave.conf
View file @
926cf580
...
...
@@ -15,6 +15,7 @@ RUs = (
max_rxgain
=
100
;
bands
= [
38
];
is_slave
=
"yes"
;
ota_sync_enabled
=
"yes"
;
}
);
...
...
ci-scripts/main.py
View file @
926cf580
...
...
@@ -58,6 +58,11 @@ OAI_UE_PROCESS_FAILED = -23
OAI_UE_PROCESS_NO_TUNNEL_INTERFACE
=
-
24
OAI_UE_PROCESS_OK
=
+
6
UE_STATUS_DETACHED
=
0
UE_STATUS_DETACHING
=
1
UE_STATUS_ATTACHING
=
2
UE_STATUS_ATTACHED
=
3
#-----------------------------------------------------------
# Import
#-----------------------------------------------------------
...
...
@@ -127,6 +132,7 @@ class SSHConnection():
self
.
iperf_profile
=
''
self
.
nbMaxUEtoAttach
=
-
1
self
.
UEDevices
=
[]
self
.
UEDevicesStatus
=
[]
self
.
CatMDevices
=
[]
self
.
UEIPAddresses
=
[]
self
.
htmlFile
=
''
...
...
@@ -350,6 +356,37 @@ class SSHConnection():
# Raphael: here add a check if git clone or git fetch went smoothly
self
.
command
(
'git config user.email "jenkins@openairinterface.org"'
,
'\$'
,
5
)
self
.
command
(
'git config user.name "OAI Jenkins"'
,
'\$'
,
5
)
# Checking the BUILD INFO file
if
not
self
.
backgroundBuild
:
self
.
command
(
'ls *.txt'
,
'\$'
,
5
)
result
=
re
.
search
(
'LAST_BUILD_INFO'
,
str
(
self
.
ssh
.
before
))
if
result
is
not
None
:
mismatch
=
False
self
.
command
(
'grep SRC_COMMIT LAST_BUILD_INFO.txt'
,
'\$'
,
2
)
result
=
re
.
search
(
self
.
ranCommitID
,
str
(
self
.
ssh
.
before
))
if
result
is
None
:
mismatch
=
True
self
.
command
(
'grep MERGED_W_TGT_BRANCH LAST_BUILD_INFO.txt'
,
'\$'
,
2
)
if
(
self
.
ranAllowMerge
):
result
=
re
.
search
(
'YES'
,
str
(
self
.
ssh
.
before
))
if
result
is
None
:
mismatch
=
True
self
.
command
(
'grep TGT_BRANCH LAST_BUILD_INFO.txt'
,
'\$'
,
2
)
if
self
.
ranTargetBranch
==
''
:
result
=
re
.
search
(
'develop'
,
str
(
self
.
ssh
.
before
))
else
:
result
=
re
.
search
(
self
.
ranTargetBranch
,
str
(
self
.
ssh
.
before
))
if
result
is
None
:
mismatch
=
True
else
:
result
=
re
.
search
(
'NO'
,
str
(
self
.
ssh
.
before
))
if
result
is
None
:
mismatch
=
True
if
not
mismatch
:
self
.
close
()
self
.
CreateHtmlTestRow
(
self
.
Build_eNB_args
,
'OK'
,
ALL_PROCESSES_OK
)
return
self
.
command
(
'echo '
+
lPassWord
+
' | sudo -S git clean -x -d -ff'
,
'\$'
,
30
)
# if the commit ID is provided use it to point to it
if
self
.
ranCommitID
!=
''
:
...
...
@@ -419,6 +456,18 @@ class SSHConnection():
result
=
re
.
search
(
'lte-softmodem'
,
str
(
self
.
ssh
.
before
))
if
result
is
None
:
buildStatus
=
False
else
:
# Generating a BUILD INFO file
self
.
command
(
'echo "SRC_BRANCH: '
+
self
.
ranBranch
+
'" > ../LAST_BUILD_INFO.txt'
,
'\$'
,
2
)
self
.
command
(
'echo "SRC_COMMIT: '
+
self
.
ranCommitID
+
'" >> ../LAST_BUILD_INFO.txt'
,
'\$'
,
2
)
if
(
self
.
ranAllowMerge
):
self
.
command
(
'echo "MERGED_W_TGT_BRANCH: YES" >> ../LAST_BUILD_INFO.txt'
,
'\$'
,
2
)
if
self
.
ranTargetBranch
==
''
:
self
.
command
(
'echo "TGT_BRANCH: develop" >> ../LAST_BUILD_INFO.txt'
,
'\$'
,
2
)
else
:
self
.
command
(
'echo "TGT_BRANCH: '
+
self
.
ranTargetBranch
+
'" >> ../LAST_BUILD_INFO.txt'
,
'\$'
,
2
)
else
:
self
.
command
(
'echo "MERGED_W_TGT_BRANCH: NO" >> ../LAST_BUILD_INFO.txt'
,
'\$'
,
2
)
self
.
command
(
'mkdir -p build_log_'
+
testcaseId
,
'\$'
,
5
)
self
.
command
(
'mv log/* '
+
'build_log_'
+
testcaseId
,
'\$'
,
5
)
self
.
command
(
'mv compile_oai_enb.log '
+
'build_log_'
+
testcaseId
,
'\$'
,
5
)
...
...
@@ -1194,6 +1243,7 @@ class SSHConnection():
nb_ue_to_connect
=
0
for
device_id
in
self
.
UEDevices
:
if
(
self
.
nbMaxUEtoAttach
==
-
1
)
or
(
nb_ue_to_connect
<
self
.
nbMaxUEtoAttach
):
self
.
UEDevicesStatus
[
nb_ue_to_connect
]
=
UE_STATUS_ATTACHING
p
=
Process
(
target
=
self
.
AttachUE_common
,
args
=
(
device_id
,
status_queue
,
lock
,))
p
.
daemon
=
True
p
.
start
()
...
...
@@ -1222,6 +1272,11 @@ class SSHConnection():
html_cell
=
'<pre style="background-color:white">UE ('
+
device_id
+
')
\n
'
+
message
+
' in '
+
str
(
count
+
2
)
+
' seconds</pre>'
html_queue
.
put
(
html_cell
)
if
(
attach_status
):
cnt
=
0
while
cnt
<
len
(
self
.
UEDevices
):
if
self
.
UEDevicesStatus
[
cnt
]
==
UE_STATUS_ATTACHING
:
self
.
UEDevicesStatus
[
cnt
]
=
UE_STATUS_ATTACHED
cnt
+=
1
self
.
CreateHtmlTestRowQueue
(
'N/A'
,
'OK'
,
len
(
self
.
UEDevices
),
html_queue
)
result
=
re
.
search
(
'T_stdout'
,
str
(
self
.
Initialize_eNB_args
))
if
result
is
not
None
:
...
...
@@ -1255,11 +1310,14 @@ class SSHConnection():
self
.
CreateHtmlTabFooter
(
False
)
sys
.
exit
(
1
)
multi_jobs
=
[]
cnt
=
0
for
device_id
in
self
.
UEDevices
:
self
.
UEDevicesStatus
[
cnt
]
=
UE_STATUS_DETACHING
p
=
Process
(
target
=
self
.
DetachUE_common
,
args
=
(
device_id
,))
p
.
daemon
=
True
p
.
start
()
multi_jobs
.
append
(
p
)
cnt
+=
1
for
job
in
multi_jobs
:
job
.
join
()
self
.
CreateHtmlTestRow
(
'N/A'
,
'OK'
,
ALL_PROCESSES_OK
)
...
...
@@ -1267,6 +1325,10 @@ class SSHConnection():
if
result
is
not
None
:
logging
.
debug
(
'Waiting 5 seconds to fill up record file'
)
time
.
sleep
(
5
)
cnt
=
0
while
cnt
<
len
(
self
.
UEDevices
):
self
.
UEDevicesStatus
[
cnt
]
=
UE_STATUS_DETACHED
cnt
+=
1
def
RebootUE_common
(
self
,
device_id
):
try
:
...
...
@@ -1387,6 +1449,11 @@ class SSHConnection():
if
len
(
self
.
UEDevices
)
==
0
:
logging
.
debug
(
'
\u001B
[1;37;41m UE Not Found!
\u001B
[0m'
)
sys
.
exit
(
1
)
if
len
(
self
.
UEDevicesStatus
)
==
0
:
cnt
=
0
while
cnt
<
len
(
self
.
UEDevices
):
self
.
UEDevicesStatus
.
append
(
UE_STATUS_DETACHED
)
cnt
+=
1
self
.
close
()
def
GetAllCatMDevices
(
self
,
terminate_ue_flag
):
...
...
@@ -1537,7 +1604,11 @@ class SSHConnection():
self
.
close
()
return
ue_ip_status
self
.
open
(
self
.
ADBIPAddress
,
self
.
ADBUserName
,
self
.
ADBPassword
)
idx
=
0
for
device_id
in
self
.
UEDevices
:
if
self
.
UEDevicesStatus
[
idx
]
!=
UE_STATUS_ATTACHED
:
idx
+=
1
continue
count
=
0
while
count
<
4
:
self
.
command
(
'stdbuf -o0 adb -s '
+
device_id
+
' shell ip addr show | grep rmnet'
,
'\$'
,
15
)
...
...
@@ -1559,6 +1630,7 @@ class SSHConnection():
ue_ip_status
-=
1
continue
self
.
UEIPAddresses
.
append
(
UE_IPAddress
)
idx
+=
1
self
.
close
()
return
ue_ip_status
...
...
@@ -3239,7 +3311,6 @@ class SSHConnection():
self
.
command
(
'cd cmake_targets'
,
'\$'
,
5
)
self
.
command
(
'rm -f build.log.zip'
,
'\$'
,
5
)
self
.
command
(
'zip build.log.zip build_log_*/*'
,
'\$'
,
60
)
self
.
command
(
'echo '
+
Password
+
' | sudo -S rm -rf build_log_*'
,
'\$'
,
5
)
self
.
close
()
def
LogCollecteNB
(
self
):
...
...
ci-scripts/xml_files/enb_usrp210_band7_test_10mhz_tm1.xml
View file @
926cf580
...
...
@@ -28,12 +28,19 @@
030201
040101
030111 040301 040511 040613 040614 040615 040616 040617 040651 040652 040653 040654 040401 040201 030201
030112 040302 040512 040612 040650 040401 040201 030201
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase
id=
"030111"
>
<class>
Initialize_eNB
</class>
<desc>
Initialize eNB (FDD/Band7/10MHz)
</desc>
<Initialize_eNB_args>
-O ci-scripts/conf_files/enb.band7.tm1.50PRB.usrpb210.conf --eNBs.[0].component_carriers.[0].drx_Config_present prRelease
</Initialize_eNB_args>
</testCase>
<testCase
id=
"030112"
>
<class>
Initialize_eNB
</class>
<desc>
Initialize eNB (FDD/Band7/10MHz) with CDRX
</desc>
<Initialize_eNB_args>
-O ci-scripts/conf_files/enb.band7.tm1.50PRB.usrpb210.conf
</Initialize_eNB_args>
</testCase>
...
...
@@ -57,6 +64,12 @@
<desc>
Attach UE
</desc>
</testCase>
<testCase
id=
"040302"
>
<class>
Attach_UE
</class>
<desc>
Attach UE
</desc>
<nbMaxUEtoAttach>
1
</nbMaxUEtoAttach>
</testCase>
<testCase
id=
"040401"
>
<class>
Detach_UE
</class>
<desc>
Detach UE
</desc>
...
...
@@ -69,6 +82,21 @@
<ping_packetloss_threshold>
5
</ping_packetloss_threshold>
</testCase>
<testCase
id=
"040512"
>
<class>
Ping
</class>
<desc>
ping (10MHz - 20 sec)
</desc>
<ping_args>
-c 20
</ping_args>
<ping_packetloss_threshold>
5
</ping_packetloss_threshold>
</testCase>
<testCase
id=
"040612"
>
<class>
Iperf
</class>
<desc>
iperf (10MHz - DL/30Mbps/UDP)(30 sec)(balanced profile)
</desc>
<iperf_args>
-u -b 30M -t 30 -i 1
</iperf_args>
<iperf_packetloss_threshold>
50
</iperf_packetloss_threshold>
<iperf_profile>
balanced
</iperf_profile>
</testCase>
<testCase
id=
"040613"
>
<class>
Iperf
</class>
<desc>
iperf (10MHz - DL/30Mbps/UDP)(30 sec)(balanced profile)
</desc>
...
...
@@ -109,6 +137,14 @@
<iperf_profile>
balanced
</iperf_profile>
</testCase>
<testCase
id=
"040650"
>
<class>
Iperf
</class>
<desc>
iperf (10MHz - UL/20Mbps/UDP)(30 sec)(balanced profile)
</desc>
<iperf_args>
-u -b 20M -t 30 -i 1 -R
</iperf_args>
<iperf_packetloss_threshold>
50
</iperf_packetloss_threshold>
<iperf_profile>
balanced
</iperf_profile>
</testCase>
<testCase
id=
"040651"
>
<class>
Iperf
</class>
<desc>
iperf (10MHz - UL/20Mbps/UDP)(30 sec)(balanced profile)
</desc>
...
...
openair1/PHY/defs_eNB.h
View file @
926cf580
...
...
@@ -339,6 +339,8 @@ typedef struct RU_t_s{
int
north_out_cnt
;
/// flag to indicate the RU is a slave to another source
int
is_slave
;
/// flag to indicate if the RU has to perform OTA sync
int
ota_sync_enable
;
/// flag to indicate that the RU should generate the DMRS sequence in slot 2 (subframe 1) for OTA synchronization and calibration
int
generate_dmrs_sync
;
/// flag to indicate if the RU has a control channel
...
...
openair2/ENB_APP/enb_paramdef.h
View file @
926cf580
...
...
@@ -104,6 +104,7 @@ typedef enum {
#define CONFIG_STRING_RU_SDR_CLK_SRC "clock_src"
#define CONFIG_STRING_RU_SF_EXTENSION "sf_extension"
#define CONFIG_STRING_RU_END_OF_BURST_DELAY "end_of_burst_delay"
#define CONFIG_STRING_RU_OTA_SYNC_ENABLE "ota_sync_enabled"
#define RU_LOCAL_IF_NAME_IDX 0
#define RU_LOCAL_ADDRESS_IDX 1
...
...
@@ -128,6 +129,7 @@ typedef enum {
#define RU_SDR_CLK_SRC 20
#define RU_SF_EXTENSION_IDX 21
#define RU_END_OF_BURST_DELAY_IDX 22
#define RU_OTA_SYNC_ENABLE_IDX 23
...
...
@@ -159,6 +161,7 @@ typedef enum {
{CONFIG_STRING_RU_SDR_CLK_SRC, NULL, 0, strptr:NULL, defstrval:"internal", TYPE_STRING, 0}, \
{CONFIG_STRING_RU_SF_EXTENSION, NULL, 0, uptr:NULL, defuintval:312, TYPE_UINT, 0}, \
{CONFIG_STRING_RU_END_OF_BURST_DELAY, NULL, 0, uptr:NULL, defuintval:400, TYPE_UINT, 0}, \
{CONFIG_STRING_RU_OTA_SYNC_ENABLE, NULL, 0, strptr:NULL, defstrval:"no", TYPE_STRING, 0}, \
}
/*---------------------------------------------------------------------------------------------------------------------------------------*/
...
...
targets/RT/USER/lte-ru.c
View file @
926cf580
...
...
@@ -2633,7 +2633,11 @@ void init_RU(char *rf_config_file, clock_source_t clock_source,clock_source_t ti
// NOTE: multiple CC_id are not handled here yet!
ru
->
openair0_cfg
.
clock_source
=
clock_source
;
ru
->
openair0_cfg
.
time_source
=
time_source
;
ru
->
generate_dmrs_sync
=
(
ru
->
is_slave
==
0
)
?
1
:
0
;
//ru->generate_dmrs_sync = (ru->is_slave == 0) ? 1 : 0;
if
((
ru
->
is_slave
==
0
)
&&
(
ru
->
ota_sync_enable
==
1
))
ru
->
generate_dmrs_sync
=
1
;
else
ru
->
generate_dmrs_sync
=
0
;
if
(
ru
->
generate_dmrs_sync
==
1
)
{
generate_ul_ref_sigs
();
ru
->
dmrssync
=
(
int16_t
*
)
malloc16_clear
(
ru
->
frame_parms
.
ofdm_symbol_size
*
2
*
sizeof
(
int16_t
));
...
...
@@ -2920,6 +2924,9 @@ void RCconfig_RU(void) {
printf
(
"RU %d is_slave=%s
\n
"
,
j
,
*
(
RUParamList
.
paramarray
[
j
][
RU_IS_SLAVE_IDX
].
strptr
));
if
(
strcmp
(
*
(
RUParamList
.
paramarray
[
j
][
RU_IS_SLAVE_IDX
].
strptr
),
"yes"
)
==
0
)
RC
.
ru
[
j
]
->
is_slave
=
1
;
else
RC
.
ru
[
j
]
->
is_slave
=
0
;
printf
(
"RU %d ota_sync_enabled=%s
\n
"
,
j
,
*
(
RUParamList
.
paramarray
[
j
][
RU_OTA_SYNC_ENABLE_IDX
].
strptr
));
if
(
strcmp
(
*
(
RUParamList
.
paramarray
[
j
][
RU_OTA_SYNC_ENABLE_IDX
].
strptr
),
"yes"
)
==
0
)
RC
.
ru
[
j
]
->
ota_sync_enable
=
1
;
else
RC
.
ru
[
j
]
->
ota_sync_enable
=
0
;
}
RC
.
ru
[
j
]
->
max_pdschReferenceSignalPower
=
*
(
RUParamList
.
paramarray
[
j
][
RU_MAX_RS_EPRE_IDX
].
uptr
);;
RC
.
ru
[
j
]
->
max_rxgain
=
*
(
RUParamList
.
paramarray
[
j
][
RU_MAX_RXGAIN_IDX
].
uptr
);
...
...
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