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
ac1d0dd0
Commit
ac1d0dd0
authored
May 31, 2021
by
rmagueta
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/ci_sa_rfsim_test' into develop-NR_SA_F1AP_5GRECORDS
parents
42365c9a
8fbf4445
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
512 additions
and
10 deletions
+512
-10
ci-scripts/conf_files/gnb.band78.sa.fr1.106PRB.usrpb210.conf
ci-scripts/conf_files/gnb.band78.sa.fr1.106PRB.usrpb210.conf
+297
-0
ci-scripts/reportTestLocally.sh
ci-scripts/reportTestLocally.sh
+76
-0
ci-scripts/runTestOnVM.sh
ci-scripts/runTestOnVM.sh
+139
-10
No files found.
ci-scripts/conf_files/gnb.band78.sa.fr1.106PRB.usrpb210.conf
0 → 100644
View file @
ac1d0dd0
Active_gNBs
= (
"gNB-Eurecom-DU"
);
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity
=
"none"
;
gNBs
=
(
{
//////////
Identification
parameters
:
gNB_ID
=
0
xe00
;
gNB_name
=
"gNB-Eurecom-DU"
;
//
Tracking
area
code
,
0
x0000
and
0
xfffe
are
reserved
values
tracking_area_code
=
1
;
plmn_list
= ({
mcc
=
222
;
mnc
=
01
;
mnc_length
=
2
;
snssaiList
= (
{
sst
=
1
;
sd
=
0
x1
; //
0
false
,
else
true
},
{
sst
=
1
;
sd
=
0
x112233
; //
0
false
,
else
true
}
);
});
nr_cellid
=
12345678
L
;
//////////
Physical
parameters
:
ssb_SubcarrierOffset
=
0
;
pdsch_AntennaPorts
=
1
;
pusch_AntennaPorts
=
1
;
pdcch_ConfigSIB1
= (
{
controlResourceSetZero
=
12
;
searchSpaceZero
=
0
;
}
);
servingCellConfigCommon
= (
{
#spCellConfigCommon
physCellId
=
0
;
# downlinkConfigCommon
#frequencyInfoDL
# this is 3600 MHz + 43 PRBs@30kHz SCS (same as initial BWP)
absoluteFrequencySSB
=
641280
;
dl_frequencyBand
=
78
;
# this is 3600 MHz
dl_absoluteFrequencyPointA
=
640008
;
#scs-SpecificCarrierList
dl_offstToCarrier
=
0
;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
dl_subcarrierSpacing
=
1
;
dl_carrierBandwidth
=
106
;
#initialDownlinkBWP
#genericParameters
# this is RBstart=27,L=48 (275*(L-1))+RBstart
initialDLBWPlocationAndBandwidth
=
12952
;
# 6366 12925 12956 28875 12952
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialDLBWPsubcarrierSpacing
=
1
;
#pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero
=
12
;
initialDLBWPsearchSpaceZero
=
0
;
#pdsch-ConfigCommon
#pdschTimeDomainAllocationList (up to 16 entries)
initialDLBWPk0_0
=
0
;
#for DL slot
initialDLBWPmappingType_0
=
0
;
#0=typeA,1=typeB
initialDLBWPstartSymbolAndLength_0
=
40
;
#this is SS=1,L=13
initialDLBWPk0_1
=
0
;
#for mixed slot
initialDLBWPmappingType_1
=
0
;
initialDLBWPstartSymbolAndLength_1
=
57
;
#this is SS=1,L=5
#uplinkConfigCommon
#frequencyInfoUL
ul_frequencyBand
=
78
;
#scs-SpecificCarrierList
ul_offstToCarrier
=
0
;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
ul_subcarrierSpacing
=
1
;
ul_carrierBandwidth
=
106
;
pMax
=
20
;
#initialUplinkBWP
#genericParameters
initialULBWPlocationAndBandwidth
=
12952
;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialULBWPsubcarrierSpacing
=
1
;
#rach-ConfigCommon
#rach-ConfigGeneric
prach_ConfigurationIndex
=
98
;
#prach_msg1_FDM
#0 = one, 1=two, 2=four, 3=eight
prach_msg1_FDM
=
0
;
prach_msg1_FrequencyStart
=
0
;
zeroCorrelationZoneConfig
=
13
;
preambleReceivedTargetPower
= -
96
;
#preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200)
preambleTransMax
=
6
;
#powerRampingStep
# 0=dB0,1=dB2,2=dB4,3=dB6
powerRampingStep
=
1
;
#ra_ReponseWindow
#1,2,4,8,10,20,40,80
ra_ResponseWindow
=
4
;
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
=
4
;
#oneHalf (0..15) 4,8,12,16,...60,64
ssb_perRACH_OccasionAndCB_PreamblesPerSSB
=
14
;
#ra_ContentionResolutionTimer
#(0..7) 8,16,24,32,40,48,56,64
ra_ContentionResolutionTimer
=
7
;
rsrp_ThresholdSSB
=
19
;
#prach-RootSequenceIndex_PR
#1 = 839, 2 = 139
prach_RootSequenceIndex_PR
=
2
;
prach_RootSequenceIndex
=
1
;
# SCS for msg1, can only be 15 for 30 kHz < 6 GHz, takes precendence over the one derived from prach-ConfigIndex
#
msg1_SubcarrierSpacing
=
1
,
# restrictedSetConfig
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig
=
0
,
# pusch-ConfigCommon (up to 16 elements)
initialULBWPk2_0
=
6
;
# used for UL slot
initialULBWPmappingType_0
=
1
initialULBWPstartSymbolAndLength_0
=
41
;
# this is SS=0 L=13
initialULBWPk2_1
=
6
;
# used for mixed slot
initialULBWPmappingType_1
=
1
;
initialULBWPstartSymbolAndLength_1
=
69
;
# this is SS=0 L=12
initialULBWPk2_2
=
7
;
# used for Msg.3 during RA
initialULBWPmappingType_2
=
1
;
initialULBWPstartSymbolAndLength_2
=
52
;
# this is SS=10 L=4
msg3_DeltaPreamble
=
1
;
p0_NominalWithGrant
=-
90
;
# pucch-ConfigCommon setup :
# pucchGroupHopping
# 0 = neither, 1= group hopping, 2=sequence hopping
pucchGroupHopping
=
0
;
hoppingId
=
40
;
p0_nominal
= -
90
;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR
=
2
;
ssb_PositionsInBurst_Bitmap
=
1
;
# ssb_periodicityServingCell
# 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1
ssb_periodicityServingCell
=
2
;
# dmrs_TypeA_position
# 0 = pos2, 1 = pos3
dmrs_TypeA_Position
=
0
;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
subcarrierSpacing
=
1
;
#tdd-UL-DL-ConfigurationCommon
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
referenceSubcarrierSpacing
=
1
;
# pattern1
# dl_UL_TransmissionPeriodicity
# 0=ms0p5, 1=ms0p625, 2=ms1, 3=ms1p25, 4=ms2, 5=ms2p5, 6=ms5, 7=ms10
dl_UL_TransmissionPeriodicity
=
6
;
nrofDownlinkSlots
=
7
;
nrofDownlinkSymbols
=
6
;
nrofUplinkSlots
=
2
;
nrofUplinkSymbols
=
4
;
ssPBCH_BlockPower
= -
25
;
}
);
# ------- SCTP definitions
SCTP
:
{
# Number of streams to use in input/output
SCTP_INSTREAMS
=
2
;
SCTP_OUTSTREAMS
=
2
;
};
//////////
MME
parameters
:
amf_ip_address
= ( {
ipv4
=
"CI_MME_IP_ADDR"
;
ipv6
=
"192:168:30::17"
;
active
=
"yes"
;
preference
=
"ipv4"
;
}
);
NETWORK_INTERFACES
:
{
GNB_INTERFACE_NAME_FOR_NG_AMF
=
"eth0"
;
GNB_IPV4_ADDRESS_FOR_NG_AMF
=
"CI_GNB_IP_ADDR"
;
GNB_INTERFACE_NAME_FOR_NGU
=
"eth0"
;
GNB_IPV4_ADDRESS_FOR_NGU
=
"CI_GNB_IP_ADDR"
;
GNB_PORT_FOR_S1U
=
2152
;
# Spec 2152
};
}
);
MACRLCs
= (
{
num_cc
=
1
;
tr_s_preference
=
"local_L1"
;
tr_n_preference
=
"local_RRC"
;
}
);
L1s
= (
{
num_cc
=
1
;
tr_n_preference
=
"local_mac"
;
pusch_proc_threads
=
8
;
}
);
RUs
= (
{
local_rf
=
"yes"
nb_tx
=
1
nb_rx
=
1
att_tx
=
0
att_rx
=
0
;
bands
= [
7
];
max_pdschReferenceSignalPower
= -
27
;
max_rxgain
=
114
;
eNB_instances
= [
0
];
#beamforming 1x4 matrix:
bf_weights
= [
0
x00007fff
,
0
x0000
,
0
x0000
,
0
x0000
];
clock_src
=
"internal"
;
}
);
THREAD_STRUCT
= (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config
=
"PARALLEL_SINGLE_THREAD"
;
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config
=
"WORKER_ENABLE"
;
}
);
rfsimulator
:
{
serveraddr
=
"server"
;
serverport
=
"4043"
;
options
= ();
#("saviq"); or/and "chanmod"
modelname
=
"AWGN"
;
IQfile
=
"/tmp/rfsimulator.iqs"
;
};
log_config
:
{
global_log_level
=
"info"
;
global_log_verbosity
=
"medium"
;
hw_log_level
=
"info"
;
hw_log_verbosity
=
"medium"
;
phy_log_level
=
"info"
;
phy_log_verbosity
=
"medium"
;
mac_log_level
=
"info"
;
mac_log_verbosity
=
"high"
;
rlc_log_level
=
"info"
;
rlc_log_verbosity
=
"medium"
;
pdcp_log_level
=
"info"
;
pdcp_log_verbosity
=
"medium"
;
rrc_log_level
=
"info"
;
rrc_log_verbosity
=
"medium"
;
ngap_log_level
=
"debug"
;
ngap_log_verbosity
=
"medium"
;
};
ci-scripts/reportTestLocally.sh
View file @
ac1d0dd0
...
@@ -748,6 +748,82 @@ function report_test {
...
@@ -748,6 +748,82 @@ function report_test {
echo
" <th>Statistics</th>"
>>
./test_simulator_results.html
echo
" <th>Statistics</th>"
>>
./test_simulator_results.html
echo
" </tr>"
>>
./test_simulator_results.html
echo
" </tr>"
>>
./test_simulator_results.html
#SA
EPC_CONFIGS
=(
"noS1"
)
TRANS_MODES
=(
"tdd"
)
FR_MODE
=(
"SA"
)
BW_CASES
=(
106
)
for
CN_CONFIG
in
${
EPC_CONFIGS
[@]
}
do
for
TMODE
in
${
TRANS_MODES
[@]
}
do
for
BW
in
${
BW_CASES
[@]
}
do
echo
" <tr bgcolor =
\"
#8FBC8F
\"
>"
>>
./test_simulator_results.html
if
[[
$CN_CONFIG
=
~ .
*
wS1.
*
]]
then
echo
" <td align =
\"
center
\"
colspan = 4 >Test with EPC (aka withS1):
${
TMODE
}
--
${
BW
}
PRB --
${
FR_MODE
}
</td>"
>>
./test_simulator_results.html
else
echo
" <td align =
\"
center
\"
colspan = 4 >Test without EPC (aka noS1):
${
TMODE
}
--
${
BW
}
PRB --
${
FR_MODE
}
</td>"
>>
./test_simulator_results.html
fi
echo
" </tr>"
>>
./test_simulator_results.html
#SA test (--sa option)
SA_ENB_LOG
=
$ARCHIVES_LOC
/
${
TMODE
}
_
${
BW
}
prb_
${
CN_CONFIG
}
_gnb_sa_test.log
SA_UE_LOG
=
$ARCHIVES_LOC
/
${
TMODE
}
_
${
BW
}
prb_
${
CN_CONFIG
}
_ue_sa_test.log
if
[
-f
$RA_ENB_LOG
]
&&
[
-f
$RA_UE_LOG
]
then
#get rid of full path
NAME_ENB
=
`
echo
$SA_ENB_LOG
|
sed
-e
"s#
$ARCHIVES_LOC
/##"
`
NAME_UE
=
`
echo
$SA_UE_LOG
|
sed
-e
"s#
$ARCHIVES_LOC
/##"
`
echo
" <tr>"
>>
./test_simulator_results.html
echo
" <td>
$NAME_ENB
---
$NAME_UE
</td>"
>>
./test_simulator_results.html
echo
" <td>Check if SA proc succeeded</td>"
>>
./test_simulator_results.html
RRC_CHECK
=
`
egrep
-c
"Received rrcSetupComplete"
$SA_ENB_LOG
`
CBRA_CHECK
=
`
egrep
-c
"Received Ack of RA-Msg4
\.
CBRA procedure succeeded"
$SA_ENB_LOG
`
SIB1_CHECK
=
`
egrep
-c
"SIB1 decoded"
$SA_UE_LOG
`
if
[
$RRC_CHECK
-gt
0
]
&&
[
$CBRA_CHECK
-gt
0
]
&&
[
$SIB1_CHECK
-gt
0
]
then
echo
" <td bgcolor =
\"
green
\"
>OK</td>"
>>
./test_simulator_results.html
else
echo
" <td bgcolor =
\"
red
\"
>KO</td>"
>>
./test_simulator_results.html
fi
echo
" <td><pre>"
>>
./test_simulator_results.html
if
[
$RRC_CHECK
-gt
0
]
then
echo
"<font color =
\"
blue
\"
>- Received rrcSetupComplete OK</font>"
>>
./test_simulator_results.html
else
echo
"<font color =
\"
red
\"
><b>- Received rrcSetupComplete KO</b></font>"
>>
./test_simulator_results.html
fi
if
[
$CBRA_CHECK
-gt
0
]
then
echo
"<font color =
\"
blue
\"
>- CBRA procedure succeeded OK</font>"
>>
./test_simulator_results.html
else
echo
"<font color =
\"
red
\"
><b>- CBRA procedure succeeded KO</b></font>"
>>
./test_simulator_results.html
fi
if
[
$SIB1_CHECK
-gt
0
]
then
echo
"<font color =
\"
blue
\"
>- SIB1 decoded OK</font>"
>>
./test_simulator_results.html
else
echo
"<font color =
\"
red
\"
><b>- SIB1 decoded KO</b></font>"
>>
./test_simulator_results.html
fi
echo
" </pre></td>"
>>
./test_simulator_results.html
echo
" </tr>"
>>
./test_simulator_results.html
fi
done
done
done
EPC_CONFIGS
=(
"noS1"
)
EPC_CONFIGS
=(
"noS1"
)
TRANS_MODES
=(
"tdd"
)
TRANS_MODES
=(
"tdd"
)
FR_MODE
=(
"FR2"
)
FR_MODE
=(
"FR2"
)
...
...
ci-scripts/runTestOnVM.sh
View file @
ac1d0dd0
...
@@ -277,6 +277,46 @@ function check_ping_result {
...
@@ -277,6 +277,46 @@ function check_ping_result {
}
}
function
check_sa_result
{
local
LOC_GNB_LOG
=
$1
local
LOC_UE_LOG
=
$2
#if log files exist
if
[
-f
$LOC_GNB_LOG
]
&&
[
-f
$LOC_UE_LOG
]
then
#gNB SA test
#console check
echo
"Checking gNB Log for SA success"
egrep
"Received rrcSetupComplete"
$1
egrep
"Received Ack of RA-Msg4
\.
CBRA procedure succeeded"
$1
#script check
local
RRC_CHECK
=
`
egrep
-c
"Received rrcSetupComplete"
$1
`
local
CBRA_CHECK
=
`
egrep
-c
"Received Ack of RA-Msg4
\.
CBRA procedure succeeded"
$1
`
#UE SA test
#console check
echo
'Checking UE Log for SA success'
egrep
"SIB1 decoded"
$2
#script check
local
SIB1_CHECK
=
`
egrep
-c
"SIB1 decoded"
$2
`
#generate status
if
[
$RRC_CHECK
-eq
0
]
||
[
$CBRA_CHECK
-eq
0
]
||
[
$SIB1_CHECK
-eq
0
]
then
SA_STATUS
=
-1
echo
"SA test FAILED, could not find the markers"
fi
#case where log files do not exist
else
echo
"SA test log files not present"
SA_STATUS
=
-1
fi
}
function
check_ra_result
{
function
check_ra_result
{
local
LOC_GNB_LOG
=
$1
local
LOC_GNB_LOG
=
$1
local
LOC_UE_LOG
=
$2
local
LOC_UE_LOG
=
$2
...
@@ -1209,8 +1249,8 @@ function start_rf_sim_gnb {
...
@@ -1209,8 +1249,8 @@ function start_rf_sim_gnb {
local
LOC_CONF_FILE
=
$5
local
LOC_CONF_FILE
=
$5
# 1 is with S1 and 0 without S1 aka noS1
# 1 is with S1 and 0 without S1 aka noS1
local
LOC_S1_CONFIGURATION
=
$6
local
LOC_S1_CONFIGURATION
=
$6
#LOC_RA_
TEST=1 will run the RA test check
#LOC_RA_
SA_TEST=1 will run the RA test check ; =2 will run the SA test
local
LOC_RA_TEST
=
$7
local
LOC_RA_
SA_
TEST
=
$7
if
[
-e
rbconfig.raw
]
;
then
rm
-f
rbconfig.raw
;
fi
if
[
-e
rbconfig.raw
]
;
then
rm
-f
rbconfig.raw
;
fi
if
[
-e
reconfig.raw
]
;
then
rm
-f
reconfig.raw
;
fi
if
[
-e
reconfig.raw
]
;
then
rm
-f
reconfig.raw
;
fi
...
@@ -1233,11 +1273,14 @@ function start_rf_sim_gnb {
...
@@ -1233,11 +1273,14 @@ function start_rf_sim_gnb {
echo
"sudo rm -f r*config.raw"
>>
$1
echo
"sudo rm -f r*config.raw"
>>
$1
if
[
$LOC_S1_CONFIGURATION
-eq
0
]
if
[
$LOC_S1_CONFIGURATION
-eq
0
]
then
then
if
[
$LOC_RA_TEST
-eq
0
]
#no RA test => use --phy-test option
if
[
$LOC_RA_
SA_
TEST
-eq
0
]
#no RA test => use --phy-test option
then
then
echo
"echo
\"
./nr-softmodem -O /home/ubuntu/tmp/ci-scripts/conf_files/ci-
$LOC_CONF_FILE
--log_config.global_log_options level,nocolor --parallel-config PARALLEL_SINGLE_THREAD --noS1 --nokrnmod 1 --rfsim --phy-test --lowmem --noS1
\"
> ./my-nr-softmodem-run.sh "
>>
$1
echo
"echo
\"
./nr-softmodem -O /home/ubuntu/tmp/ci-scripts/conf_files/ci-
$LOC_CONF_FILE
--log_config.global_log_options level,nocolor --parallel-config PARALLEL_SINGLE_THREAD --noS1 --nokrnmod 1 --rfsim --phy-test --lowmem --noS1
\"
> ./my-nr-softmodem-run.sh "
>>
$1
else
#RA test => use --do-ra option
elif
[
$LOC_RA_SA_TEST
-eq
1
]
#RA test => use --do-ra option
then
echo
"echo
\"
./nr-softmodem -O /home/ubuntu/tmp/ci-scripts/conf_files/ci-
$LOC_CONF_FILE
--log_config.global_log_options level,nocolor --parallel-config PARALLEL_SINGLE_THREAD --rfsim --do-ra --lowmem --noS1
\"
> ./my-nr-softmodem-run.sh "
>>
$1
echo
"echo
\"
./nr-softmodem -O /home/ubuntu/tmp/ci-scripts/conf_files/ci-
$LOC_CONF_FILE
--log_config.global_log_options level,nocolor --parallel-config PARALLEL_SINGLE_THREAD --rfsim --do-ra --lowmem --noS1
\"
> ./my-nr-softmodem-run.sh "
>>
$1
else
#SA test => use --sa option
echo
"echo
\"
./nr-softmodem -O /home/ubuntu/tmp/ci-scripts/conf_files/ci-
$LOC_CONF_FILE
--log_config.global_log_options level,nocolor --parallel-config PARALLEL_SINGLE_THREAD --rfsim --sa --lowmem
\"
> ./my-nr-softmodem-run.sh "
>>
$1
fi
fi
fi
fi
echo
"chmod 775 ./my-nr-softmodem-run.sh"
>>
$1
echo
"chmod 775 ./my-nr-softmodem-run.sh"
>>
$1
...
@@ -1273,7 +1316,7 @@ function start_rf_sim_gnb {
...
@@ -1273,7 +1316,7 @@ function start_rf_sim_gnb {
fi
fi
# check noS1 config only outside RA test (as it does not support noS1)
# check noS1 config only outside RA test (as it does not support noS1)
if
[
$LOC_S1_CONFIGURATION
-eq
0
]
&&
[
$LOC_RA_TEST
-eq
0
]
if
[
$LOC_S1_CONFIGURATION
-eq
0
]
&&
[
$LOC_RA_
SA_
TEST
-eq
0
]
then
then
echo
"ifconfig oaitun_enb1 | egrep -c
\"
inet addr
\"
"
>
$1
echo
"ifconfig oaitun_enb1 | egrep -c
\"
inet addr
\"
"
>
$1
# Checking oaitun_enb1 interface has now an IP address
# Checking oaitun_enb1 interface has now an IP address
...
@@ -1318,8 +1361,8 @@ function start_rf_sim_nr_ue {
...
@@ -1318,8 +1361,8 @@ function start_rf_sim_nr_ue {
local
LOC_FREQUENCY
=
$6
local
LOC_FREQUENCY
=
$6
# 1 is with S1 and 0 without S1 aka noS1
# 1 is with S1 and 0 without S1 aka noS1
local
LOC_S1_CONFIGURATION
=
$7
local
LOC_S1_CONFIGURATION
=
$7
#LOC_RA_
TEST=1 will run the RA test check
#LOC_RA_
SA_TEST=1 will run the RA test check ; =2 will run the SA test
local
LOC_RA_TEST
=
$8
local
LOC_RA_
SA_
TEST
=
$8
# Copy the RAW files from the gNB run
# Copy the RAW files from the gNB run
scp
-o
StrictHostKeyChecking
=
no rbconfig.raw ubuntu@
$LOC_NR_UE_VM_IP_ADDR
:/home/ubuntu/tmp
scp
-o
StrictHostKeyChecking
=
no rbconfig.raw ubuntu@
$LOC_NR_UE_VM_IP_ADDR
:/home/ubuntu/tmp
...
@@ -1336,11 +1379,14 @@ function start_rf_sim_nr_ue {
...
@@ -1336,11 +1379,14 @@ function start_rf_sim_nr_ue {
echo
"cd /home/ubuntu/tmp/cmake_targets/ran_build/build/"
>>
$1
echo
"cd /home/ubuntu/tmp/cmake_targets/ran_build/build/"
>>
$1
if
[
$LOC_S1_CONFIGURATION
-eq
0
]
if
[
$LOC_S1_CONFIGURATION
-eq
0
]
then
then
if
[
$LOC_RA_TEST
-eq
0
]
#no RA test => use --phy-test option
if
[
$LOC_RA_
SA_
TEST
-eq
0
]
#no RA test => use --phy-test option
then
then
echo
"echo
\"
./nr-uesoftmodem --nokrnmod 1 --rfsim --phy-test --rrc_config_path /home/ubuntu/tmp/cmake_targets/ran_build/build/ --log_config.global_log_options level,nocolor --noS1
\"
> ./my-nr-softmodem-run.sh "
>>
$1
echo
"echo
\"
./nr-uesoftmodem --nokrnmod 1 --rfsim --phy-test --rrc_config_path /home/ubuntu/tmp/cmake_targets/ran_build/build/ --log_config.global_log_options level,nocolor --noS1
\"
> ./my-nr-softmodem-run.sh "
>>
$1
else
#RA test => use --do-ra option
elif
[
$LOC_RA_SA_TEST
-eq
1
]
#RA test => use --do-ra option
then
echo
"echo
\"
./nr-uesoftmodem --rfsim --do-ra --log_config.global_log_options level,nocolor --rrc_config_path /home/ubuntu/tmp/cmake_targets/ran_build/build/
\"
> ./my-nr-softmodem-run.sh "
>>
$1
echo
"echo
\"
./nr-uesoftmodem --rfsim --do-ra --log_config.global_log_options level,nocolor --rrc_config_path /home/ubuntu/tmp/cmake_targets/ran_build/build/
\"
> ./my-nr-softmodem-run.sh "
>>
$1
else
#SA test => use --sa option
echo
"echo
\"
./nr-uesoftmodem -r 106 --numerology 1 --band 78 -C 3619200000 --rfsim --sa --log_config.global_log_options level,nocolor
\"
> ./my-nr-softmodem-run.sh "
>>
$1
fi
fi
fi
fi
echo
"chmod 775 ./my-nr-softmodem-run.sh"
>>
$1
echo
"chmod 775 ./my-nr-softmodem-run.sh"
>>
$1
...
@@ -1375,7 +1421,7 @@ function start_rf_sim_nr_ue {
...
@@ -1375,7 +1421,7 @@ function start_rf_sim_nr_ue {
echo
"RF-SIM NR-UE is sync'ed w/ gNB"
echo
"RF-SIM NR-UE is sync'ed w/ gNB"
fi
fi
# Checking oaitun_ue1 interface has now an IP address (only outside RA test)
# Checking oaitun_ue1 interface has now an IP address (only outside RA test)
if
[
$LOC_RA_TEST
-eq
0
]
if
[
$LOC_RA_
SA_
TEST
-eq
0
]
then
then
i
=
"0"
i
=
"0"
echo
"ifconfig oaitun_ue1 | egrep -c
\"
inet addr
\"
"
>
$1
echo
"ifconfig oaitun_ue1 | egrep -c
\"
inet addr
\"
"
>
$1
...
@@ -2189,6 +2235,88 @@ function run_test_on_vm {
...
@@ -2189,6 +2235,88 @@ function run_test_on_vm {
if
[[
"
$RUN_OPTIONS
"
==
"complex"
]]
&&
[[
$VM_NAME
=
~ .
*
-rf-sim
.
*
]]
if
[[
"
$RUN_OPTIONS
"
==
"complex"
]]
&&
[[
$VM_NAME
=
~ .
*
-rf-sim
.
*
]]
then
then
echo
"############################################################"
echo
"SA TEST"
echo
"############################################################"
#SA test, attention : has a different config file from the rest of the test
CN_CONFIG
=
"noS1"
CONF_FILE
=
gnb.band78.sa.fr1.106PRB.usrpb210.conf
S1_NOS1_CFG
=
0
PRB
=
106
FREQUENCY
=
3510
if
[
!
-d
$ARCHIVES_LOC
]
then
mkdir
--parents
$ARCHIVES_LOC
fi
local
try_cnt
=
0
NR_STATUS
=
0
######### start of SA TEST loop
while
[
$try_cnt
-lt
5
]
#5 because it hardly succeed within CI
do
SYNC_STATUS
=
0
SA_STATUS
=
0
rm
-f
$ARCHIVES_LOC
/tdd_
${
PRB
}
prb_
${
CN_CONFIG
}*
sa_test.log
echo
"############################################################"
echo
"
${
CN_CONFIG
}
: Starting the gNB"
echo
"############################################################"
CURRENT_GNB_LOG_FILE
=
tdd_
${
PRB
}
prb_
${
CN_CONFIG
}
_gnb_sa_test.log
#last argument = 2 is to enable --sa for SA test
start_rf_sim_gnb
$GNB_VM_CMDS
"
$GNB_VM_IP_ADDR
"
$CURRENT_GNB_LOG_FILE
$PRB
$CONF_FILE
$S1_NOS1_CFG
2
echo
"############################################################"
echo
"
${
CN_CONFIG
}
: Starting the NR-UE"
echo
"############################################################"
CURRENT_NR_UE_LOG_FILE
=
tdd_
${
PRB
}
prb_
${
CN_CONFIG
}
_ue_sa_test.log
#last argument = 2 is to enable --sa for SA test
start_rf_sim_nr_ue
$NR_UE_VM_CMDS
$NR_UE_VM_IP_ADDR
$GNB_VM_IP_ADDR
$CURRENT_NR_UE_LOG_FILE
$PRB
$FREQUENCY
$S1_NOS1_CFG
2
if
[
$NR_UE_SYNC
-eq
0
]
then
echo
"Problem w/ gNB and NR-UE not syncing"
terminate_enb_ue_basic_sim
$NR_UE_VM_CMDS
$NR_UE_VM_IP_ADDR
2
terminate_enb_ue_basic_sim
$GNB_VM_CMDS
$GNB_VM_IP_ADDR
1
scp
-o
StrictHostKeyChecking
=
no ubuntu@
$GNB_VM_IP_ADDR
:/home/ubuntu/tmp/cmake_targets/log/
$CURRENT_GNB_LOG_FILE
$ARCHIVES_LOC
scp
-o
StrictHostKeyChecking
=
no ubuntu@
$NR_UE_VM_IP_ADDR
:/home/ubuntu/tmp/cmake_targets/log/
$CURRENT_NR_UE_LOG_FILE
$ARCHIVES_LOC
SYNC_STATUS
=
-1
try_cnt
=
$((
try_cnt+1
))
continue
fi
echo
"############################################################"
echo
"
${
CN_CONFIG
}
: Terminate gNB/NR-UE simulators"
echo
"############################################################"
sleep
20
terminate_enb_ue_basic_sim
$NR_UE_VM_CMDS
$NR_UE_VM_IP_ADDR
2
terminate_enb_ue_basic_sim
$GNB_VM_CMDS
$GNB_VM_IP_ADDR
1
scp
-o
StrictHostKeyChecking
=
no ubuntu@
$GNB_VM_IP_ADDR
:/home/ubuntu/tmp/cmake_targets/log/
$CURRENT_GNB_LOG_FILE
$ARCHIVES_LOC
scp
-o
StrictHostKeyChecking
=
no ubuntu@
$NR_UE_VM_IP_ADDR
:/home/ubuntu/tmp/cmake_targets/log/
$CURRENT_NR_UE_LOG_FILE
$ARCHIVES_LOC
#check SA markers in gNB and NR UE log files
echo
"############################################################"
echo
"
${
CN_CONFIG
}
: Checking SA on gNB / NR-UE"
echo
"############################################################"
# Proper check to be done when SA test is working!
check_sa_result
$ARCHIVES_LOC
/
$CURRENT_GNB_LOG_FILE
$ARCHIVES_LOC
/
$CURRENT_NR_UE_LOG_FILE
if
[
$SA_STATUS
-ne
0
]
then
echo
"SA test NOT OK"
echo
"try_cnt = "
$try_cnt
try_cnt
=
$((
try_cnt+1
))
else
try_cnt
=
$((
try_cnt+10
))
fi
done
########### end SA test
sleep
30
echo
"############################################################"
echo
"############################################################"
echo
"RA TEST FR2"
echo
"RA TEST FR2"
echo
"############################################################"
echo
"############################################################"
...
@@ -2493,6 +2621,7 @@ function run_test_on_vm {
...
@@ -2493,6 +2621,7 @@ function run_test_on_vm {
echo
"Checking run status"
echo
"Checking run status"
echo
"############################################################"
echo
"############################################################"
if
[
$SA_STATUS
-ne
0
]
;
then
NR_STATUS
=
-1
;
fi
if
[
$RA_FR2_STATUS
-ne
0
]
;
then
NR_STATUS
=
-1
;
fi
if
[
$RA_FR2_STATUS
-ne
0
]
;
then
NR_STATUS
=
-1
;
fi
if
[
$RA_STATUS
-ne
0
]
;
then
NR_STATUS
=
-1
;
fi
if
[
$RA_STATUS
-ne
0
]
;
then
NR_STATUS
=
-1
;
fi
if
[
$SYNC_STATUS
-ne
0
]
;
then
NR_STATUS
=
-1
;
fi
if
[
$SYNC_STATUS
-ne
0
]
;
then
NR_STATUS
=
-1
;
fi
...
...
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