Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
openairinterface5G
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Merge Requests
23
Merge Requests
23
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Commits
Open sidebar
oai
openairinterface5G
Commits
12cc3593
Commit
12cc3593
authored
Jan 18, 2017
by
knopp
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'develop' into develop-new-LMSSDR
Conflicts: targets/RT/USER/lte-softmodem.c
parents
c70e705a
dec41a2a
Changes
147
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
147 changed files
with
127513 additions
and
122618 deletions
+127513
-122618
.gitlab-ci.yml
.gitlab-ci.yml
+16
-35
cmake_targets/autotests/test_case_list.xml
cmake_targets/autotests/test_case_list.xml
+1
-1
cmake_targets/autotests/v2/actions/alu_epc.bash
cmake_targets/autotests/v2/actions/alu_epc.bash
+2
-0
cmake_targets/autotests/v2/actions/alu_epc_stop.bash
cmake_targets/autotests/v2/actions/alu_epc_stop.bash
+1
-0
cmake_targets/autotests/v2/actions/alu_hss.bash
cmake_targets/autotests/v2/actions/alu_hss.bash
+2
-0
cmake_targets/autotests/v2/actions/bandrich.txt
cmake_targets/autotests/v2/actions/bandrich.txt
+136
-0
cmake_targets/autotests/v2/actions/client_tcp.bash
cmake_targets/autotests/v2/actions/client_tcp.bash
+2
-0
cmake_targets/autotests/v2/actions/client_udp.bash
cmake_targets/autotests/v2/actions/client_udp.bash
+3
-0
cmake_targets/autotests/v2/actions/clone_repository.bash
cmake_targets/autotests/v2/actions/clone_repository.bash
+6
-0
cmake_targets/autotests/v2/actions/compilation.bash
cmake_targets/autotests/v2/actions/compilation.bash
+9
-0
cmake_targets/autotests/v2/actions/execution.bash
cmake_targets/autotests/v2/actions/execution.bash
+2
-0
cmake_targets/autotests/v2/actions/execution_compile.bash
cmake_targets/autotests/v2/actions/execution_compile.bash
+8
-0
cmake_targets/autotests/v2/actions/modem.py
cmake_targets/autotests/v2/actions/modem.py
+103
-0
cmake_targets/autotests/v2/actions/run_enb.bash
cmake_targets/autotests/v2/actions/run_enb.bash
+10
-0
cmake_targets/autotests/v2/actions/server_tcp.bash
cmake_targets/autotests/v2/actions/server_tcp.bash
+4
-0
cmake_targets/autotests/v2/actions/server_udp.bash
cmake_targets/autotests/v2/actions/server_udp.bash
+4
-0
cmake_targets/autotests/v2/actions/start_bandrich.bash
cmake_targets/autotests/v2/actions/start_bandrich.bash
+24
-0
cmake_targets/autotests/v2/actions/start_bandrich.py
cmake_targets/autotests/v2/actions/start_bandrich.py
+55
-0
cmake_targets/autotests/v2/actions/stop_bandrich.py
cmake_targets/autotests/v2/actions/stop_bandrich.py
+29
-0
cmake_targets/autotests/v2/actions/wvdial.bandrich.conf
cmake_targets/autotests/v2/actions/wvdial.bandrich.conf
+36
-0
cmake_targets/autotests/v2/alu_test.py
cmake_targets/autotests/v2/alu_test.py
+389
-0
cmake_targets/autotests/v2/config/enb.band7.tm1.usrpb210.10MHz.conf
...ets/autotests/v2/config/enb.band7.tm1.usrpb210.10MHz.conf
+175
-0
cmake_targets/autotests/v2/config/enb.band7.tm1.usrpb210.20MHz.conf
...ets/autotests/v2/config/enb.band7.tm1.usrpb210.20MHz.conf
+175
-0
cmake_targets/autotests/v2/config/enb.band7.tm1.usrpb210.5MHz.conf
...gets/autotests/v2/config/enb.band7.tm1.usrpb210.5MHz.conf
+175
-0
cmake_targets/autotests/v2/connection.py
cmake_targets/autotests/v2/connection.py
+104
-0
cmake_targets/autotests/v2/machine_list.py
cmake_targets/autotests/v2/machine_list.py
+79
-0
cmake_targets/autotests/v2/main.py
cmake_targets/autotests/v2/main.py
+687
-0
cmake_targets/autotests/v2/task.py
cmake_targets/autotests/v2/task.py
+370
-0
cmake_targets/autotests/v2/utils.py
cmake_targets/autotests/v2/utils.py
+84
-0
cmake_targets/tools/init_nas_s1
cmake_targets/tools/init_nas_s1
+71
-0
common/utils/T/T_messages.txt
common/utils/T/T_messages.txt
+79
-0
common/utils/T/tracer/Makefile
common/utils/T/tracer/Makefile
+6
-1
common/utils/T/tracer/enb.c
common/utils/T/tracer/enb.c
+30
-0
common/utils/T/tracer/ue.c
common/utils/T/tracer/ue.c
+876
-0
common/utils/itti/intertask_interface.c
common/utils/itti/intertask_interface.c
+2
-2
common/utils/itti/itti_types.h
common/utils/itti/itti_types.h
+0
-2
openair1/PHY/CODING/TESTBENCH/ltetest.c
openair1/PHY/CODING/TESTBENCH/ltetest.c
+1
-0
openair1/PHY/INIT/lte_init.c
openair1/PHY/INIT/lte_init.c
+11
-11
openair1/PHY/LTE_ESTIMATION/lte_dl_channel_estimation.c
openair1/PHY/LTE_ESTIMATION/lte_dl_channel_estimation.c
+7
-0
openair1/PHY/LTE_ESTIMATION/lte_ue_measurements.c
openair1/PHY/LTE_ESTIMATION/lte_ue_measurements.c
+80
-17
openair1/PHY/LTE_TRANSPORT/dci.c
openair1/PHY/LTE_TRANSPORT/dci.c
+45
-26
openair1/PHY/LTE_TRANSPORT/dci_tools.c
openair1/PHY/LTE_TRANSPORT/dci_tools.c
+288
-193
openair1/PHY/LTE_TRANSPORT/defs.h
openair1/PHY/LTE_TRANSPORT/defs.h
+5
-1
openair1/PHY/LTE_TRANSPORT/dlsch_coding.c
openair1/PHY/LTE_TRANSPORT/dlsch_coding.c
+0
-1
openair1/PHY/LTE_TRANSPORT/dlsch_decoding.c
openair1/PHY/LTE_TRANSPORT/dlsch_decoding.c
+20
-0
openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c
openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c
+19
-2
openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c
openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c
+1
-1
openair1/PHY/LTE_TRANSPORT/group_hopping.c
openair1/PHY/LTE_TRANSPORT/group_hopping.c
+2
-1
openair1/PHY/LTE_TRANSPORT/initial_sync.c
openair1/PHY/LTE_TRANSPORT/initial_sync.c
+1
-1
openair1/PHY/LTE_TRANSPORT/phich.c
openair1/PHY/LTE_TRANSPORT/phich.c
+59
-33
openair1/PHY/LTE_TRANSPORT/proto.h
openair1/PHY/LTE_TRANSPORT/proto.h
+33
-1
openair1/PHY/LTE_TRANSPORT/pucch.c
openair1/PHY/LTE_TRANSPORT/pucch.c
+1
-0
openair1/PHY/LTE_TRANSPORT/sss.c
openair1/PHY/LTE_TRANSPORT/sss.c
+27
-4
openair1/PHY/LTE_TRANSPORT/uci_tools.c
openair1/PHY/LTE_TRANSPORT/uci_tools.c
+1
-0
openair1/PHY/LTE_TRANSPORT/ulsch_coding.c
openair1/PHY/LTE_TRANSPORT/ulsch_coding.c
+14
-2
openair1/PHY/MODULATION/compute_bf_weights.c
openair1/PHY/MODULATION/compute_bf_weights.c
+9
-2
openair1/PHY/defs.h
openair1/PHY/defs.h
+2
-0
openair1/PHY/impl_defs_lte.h
openair1/PHY/impl_defs_lte.h
+12
-2
openair1/SCHED/defs.h
openair1/SCHED/defs.h
+22
-1
openair1/SCHED/phy_procedures_lte_common.c
openair1/SCHED/phy_procedures_lte_common.c
+155
-47
openair1/SCHED/phy_procedures_lte_eNb.c
openair1/SCHED/phy_procedures_lte_eNb.c
+3
-3
openair1/SCHED/phy_procedures_lte_ue.c
openair1/SCHED/phy_procedures_lte_ue.c
+339
-99
openair1/SCHED/pucch_pc.c
openair1/SCHED/pucch_pc.c
+2
-2
openair1/SCHED/pusch_pc.c
openair1/SCHED/pusch_pc.c
+5
-5
openair1/SIMULATION/LTE_PHY/dlsim_tm7.c
openair1/SIMULATION/LTE_PHY/dlsim_tm7.c
+4
-0
openair1/SIMULATION/LTE_PHY/mbmssim.c
openair1/SIMULATION/LTE_PHY/mbmssim.c
+1
-0
openair1/SIMULATION/LTE_PHY/pdcchsim.c
openair1/SIMULATION/LTE_PHY/pdcchsim.c
+1
-0
openair1/SIMULATION/LTE_PHY/syncsim.c
openair1/SIMULATION/LTE_PHY/syncsim.c
+6
-0
openair2/COMMON/commonDef.h
openair2/COMMON/commonDef.h
+9
-0
openair2/COMMON/platform_types.h
openair2/COMMON/platform_types.h
+9
-0
openair2/ENB_APP/enb_app.c
openair2/ENB_APP/enb_app.c
+1
-1
openair2/LAYER2/MAC/config.c
openair2/LAYER2/MAC/config.c
+2
-2
openair2/LAYER2/MAC/eNB_scheduler.c
openair2/LAYER2/MAC/eNB_scheduler.c
+1
-1
openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
+4
-1
openair2/LAYER2/MAC/eNB_scheduler_primitives.c
openair2/LAYER2/MAC/eNB_scheduler_primitives.c
+2
-1
openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
+4
-4
openair2/LAYER2/MAC/main.c
openair2/LAYER2/MAC/main.c
+4
-4
openair2/LAYER2/MAC/proto.h
openair2/LAYER2/MAC/proto.h
+1
-1
openair2/LAYER2/MAC/ue_procedures.c
openair2/LAYER2/MAC/ue_procedures.c
+15
-15
openair2/LAYER2/PDCP_v10.1.0/pdcp.c
openair2/LAYER2/PDCP_v10.1.0/pdcp.c
+26
-18
openair2/LAYER2/PDCP_v10.1.0/pdcp_control_primitive.c
openair2/LAYER2/PDCP_v10.1.0/pdcp_control_primitive.c
+1
-1
openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c
openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c
+91
-10
openair2/LAYER2/PDCP_v10.1.0/pdcp_util.c
openair2/LAYER2/PDCP_v10.1.0/pdcp_util.c
+1
-1
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.c
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.c
+4
-4
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_in_sdu.c
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_in_sdu.c
+2
-2
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_init.c
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_init.c
+5
-5
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_reassembly.c
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_reassembly.c
+3
-3
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_receiver.c
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_receiver.c
+3
-3
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_retransmit.c
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_retransmit.c
+7
-7
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_rx_list.c
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_rx_list.c
+0
-1
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segment.c
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segment.c
+3
-3
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_status_report.c
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_status_report.c
+2
-2
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_test.c
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_test.c
+5
-5
openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm.c
openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm.c
+5
-5
openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_init.c
openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_init.c
+4
-4
openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.c
openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.c
+5
-5
openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_dar.c
openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_dar.c
+55
-9
openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_reassembly.c
openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_reassembly.c
+1
-1
openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_receiver.c
openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_receiver.c
+1
-1
openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_segment.c
openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_segment.c
+8
-8
openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_test.c
openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_test.c
+10
-10
openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_very_simple_test.c
openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_very_simple_test.c
+3
-3
openair2/LAYER2/RLC/rlc.c
openair2/LAYER2/RLC/rlc.c
+14
-14
openair2/LAYER2/RLC/rlc_mac.c
openair2/LAYER2/RLC/rlc_mac.c
+2
-2
openair2/LAYER2/RLC/rlc_rrc.c
openair2/LAYER2/RLC/rlc_rrc.c
+4
-4
openair2/PHY_INTERFACE/defs.h
openair2/PHY_INTERFACE/defs.h
+1
-1
openair2/RRC/LITE/defs.h
openair2/RRC/LITE/defs.h
+8
-0
openair2/RRC/LITE/rrc_UE.c
openair2/RRC/LITE/rrc_UE.c
+60
-46
openair2/RRC/LITE/rrc_common.c
openair2/RRC/LITE/rrc_common.c
+2
-1
openair2/RRC/LITE/rrc_eNB.c
openair2/RRC/LITE/rrc_eNB.c
+24
-22
openair2/RRC/LITE/rrc_eNB_S1AP.c
openair2/RRC/LITE/rrc_eNB_S1AP.c
+3
-3
openair2/UTIL/LISTS/list.c
openair2/UTIL/LISTS/list.c
+1
-1
openair2/UTIL/LISTS/list2.c
openair2/UTIL/LISTS/list2.c
+1
-1
openair2/UTIL/LOG/log_if.h
openair2/UTIL/LOG/log_if.h
+2
-2
openair2/UTIL/LOG/vcd_signal_dumper.c
openair2/UTIL/LOG/vcd_signal_dumper.c
+13
-1
openair2/UTIL/LOG/vcd_signal_dumper.h
openair2/UTIL/LOG/vcd_signal_dumper.h
+13
-1
openair2/UTIL/MEM/mem_block.c
openair2/UTIL/MEM/mem_block.c
+24
-3
openair2/UTIL/MEM/mem_block.h
openair2/UTIL/MEM/mem_block.h
+2
-2
openair2/UTIL/MEM/mem_mngt.c
openair2/UTIL/MEM/mem_mngt.c
+6
-6
openair2/UTIL/OMG/common.c
openair2/UTIL/OMG/common.c
+5
-1
openair2/UTIL/OPT/probe.c
openair2/UTIL/OPT/probe.c
+5
-3
openair2/UTIL/OTG/otg_kpi.c
openair2/UTIL/OTG/otg_kpi.c
+1
-1
openair2/UTIL/OTG/otg_rx.c
openair2/UTIL/OTG/otg_rx.c
+5
-3
openair2/UTIL/OTG/otg_tx.c
openair2/UTIL/OTG/otg_tx.c
+9
-9
openair2/UTIL/TIMER/umts_timer.c
openair2/UTIL/TIMER/umts_timer.c
+4
-4
openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1u.c
openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1u.c
+2
-2
openair3/NAS/COMMON/API/NETWORK/nas_message.c
openair3/NAS/COMMON/API/NETWORK/nas_message.c
+31
-25
openair3/NAS/COMMON/UTIL/nas_log.h
openair3/NAS/COMMON/UTIL/nas_log.h
+2
-2
openair3/NAS/UE/EMM/IdleMode.c
openair3/NAS/UE/EMM/IdleMode.c
+6
-5
openair3/S1AP/s1ap_eNB_handlers.c
openair3/S1AP/s1ap_eNB_handlers.c
+8
-8
openair3/S1AP/s1ap_eNB_nas_procedures.c
openair3/S1AP/s1ap_eNB_nas_procedures.c
+8
-4
openair3/UDP/udp_eNB_task.c
openair3/UDP/udp_eNB_task.c
+1
-1
targets/ARCH/EXMIMO/BITSTREAM/exmimo2_prom.cfi
targets/ARCH/EXMIMO/BITSTREAM/exmimo2_prom.cfi
+6
-6
targets/ARCH/EXMIMO/BITSTREAM/exmimo2_prom.mcs
targets/ARCH/EXMIMO/BITSTREAM/exmimo2_prom.mcs
+121706
-121706
targets/ARCH/EXMIMO/BITSTREAM/exmimo2_prom.prm
targets/ARCH/EXMIMO/BITSTREAM/exmimo2_prom.prm
+6
-6
targets/ARCH/EXMIMO/BITSTREAM/express-mimo2.bit
targets/ARCH/EXMIMO/BITSTREAM/express-mimo2.bit
+0
-0
targets/ARCH/EXMIMO/BITSTREAM/express-mimo2.msk
targets/ARCH/EXMIMO/BITSTREAM/express-mimo2.msk
+0
-0
targets/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.c
targets/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.c
+18
-6
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.usrpb210.conf
...ROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.usrpb210.conf
+14
-9
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band39.tm1.usrpb210.conf
...ROJECTS/GENERIC-LTE-EPC/CONF/enb.band39.tm1.usrpb210.conf
+23
-26
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band40.tm1.usrpb210.conf
...ROJECTS/GENERIC-LTE-EPC/CONF/enb.band40.tm1.usrpb210.conf
+175
-0
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf
...TS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf
+1
-1
targets/RT/USER/lte-enb.c
targets/RT/USER/lte-enb.c
+6
-4
targets/RT/USER/lte-softmodem.c
targets/RT/USER/lte-softmodem.c
+11
-1
targets/RT/USER/lte-ue.c
targets/RT/USER/lte-ue.c
+49
-35
targets/SIMU/USER/init_lte.c
targets/SIMU/USER/init_lte.c
+1
-1
targets/TEST/PDCP/with_rlc/test_pdcp_rlc.c
targets/TEST/PDCP/with_rlc/test_pdcp_rlc.c
+2
-2
No files found.
.gitlab-ci.yml
View file @
12cc3593
job1
:
script
:
-
echo $PWD
-
echo $USER
-
echo $OAI_USER
-
echo $OAI_EXTRA_ARGS
-
echo $NFS_SHARE_DIR
-
echo $EXTERNAL_SHARE_DIR
-
echo $SHELL
-
echo $OAI_TEST_CASE_GROUP
-
echo $MACHINELIST
-
echo $MACHINELISTGENERIC
-
git rev-parse --abbrev-ref HEAD
-
git_repo=`git config --get remote.origin.url`
-
git_head=`git rev-parse HEAD`
-
echo $git_head
-
tmp=`git show-ref --head | grep $git_head`
-
tmp=(${tmp///// })
-
git_branch=${tmp[@]:(-1)}
-
echo $git_branch
-
source oaienv
-
echo $OPENAIR_DIR
-
NFS_TEST_RESULTS_DIR=$NFS_SHARE_DIR/$git_branch/$git_head
-
EXTERNAL_SHARE_RESULTS_DIR=$EXTERNAL_SHARE_DIR/$git_branch/$git_head
-
echo $NFS_TEST_RESULTS_DIR
-
echo $EXTERNAL_SHARE_RESULTS_DIR
-
echo $NRUNS_LTE_SOFTMODEM
-
echo $TIMEOUT_CMD
-
mkdir -p $OPENAIR_DIR/cmake_targets/autotests/log
-
python $OPENAIR_DIR/cmake_targets/autotests/run_exec_lte-softmodem_tests.py -c -5GRepo $git_repo -MachineList "$MACHINELIST" -MachineListGeneric "$MACHINELISTGENERIC" -5GRepoHeadVersion $git_head -n $NFS_SHARE_DIR -u $OAI_USER -p $OAI_PASS $OAI_EXTRA_ARGS -g "$OAI_TEST_CASE_GROUP">& $OPENAIR_DIR/cmake_targets/autotests/python_autotest_cleanup.log
-
python $OPENAIR_DIR/cmake_targets/autotests/run_exec_lte-softmodem_tests.py -r -5GRepo $git_repo -MachineList "$MACHINELIST" -MachineListGeneric "$MACHINELISTGENERIC" -5GRepoHeadVersion $git_head -n $NFS_SHARE_DIR -u $OAI_USER -p $OAI_PASS `echo $OAI_EXTRA_ARGS` -g "$OAI_TEST_CASE_GROUP" --nrun_lte_softmodem $NRUNS_LTE_SOFTMODEM --timeout_cmd $TIMEOUT_CMD >& $OPENAIR_DIR/cmake_targets/autotests/python_autotest.log
-
mv $OPENAIR_DIR/cmake_targets/autotests/python_autotest.log $OPENAIR_DIR/cmake_targets/autotests/log/python_autotest.log
-
mv $OPENAIR_DIR/cmake_targets/autotests/python_autotest_cleanup.log $OPENAIR_DIR/cmake_targets/autotests/log/python_autotest_cleanup.log
-
sshpass -p "$OAI_PASS" rsync -az -e "ssh -o StrictHostKeyChecking=no " --rsync-path="mkdir -p $NFS_TEST_RESULTS_DIR && rsync" $OPENAIR_DIR/cmake_targets/autotests/log $OAI_USER@localhost:$NFS_TEST_RESULTS_DIR
-
sshpass -p "$OAI_PASS" rsync -az -e "ssh -o StrictHostKeyChecking=no " --rsync-path="mkdir -p $EXTERNAL_SHARE_DIR && rsync" $OPENAIR_DIR/cmake_targets/autotests/log $OAI_USER@localhost:$EXTERNAL_SHARE_DIR
-
cat $OPENAIR_DIR/cmake_targets/autotests/log/results_autotests.xml
-
date
-
pwd
-
echo $OAI_USER
-
echo $OAI_PASS
-
echo $OAI_TEST_CASE_GROUP
-
echo $MACHINELIST
-
echo $MACHINELISTGENERIC
-
echo $RESULT_DIR
-
echo $NRUNS_LTE_SOFTMODEM
-
source oaienv
-
rm -rf cmake_targets/autotests/log
-
mkdir cmake_targets/autotests/log
-
cd cmake_targets/autotests/v2
-
python main.py
-
date
only
:
-
triggers
-
triggers
cmake_targets/autotests/test_case_list.xml
View file @
12cc3593
...
...
@@ -13,7 +13,7 @@
<Timeout_execution>36000</Timeout_execution>
<TestCaseExclusionList>010141 0102+ 010301 010303 010304 010305 0104+ 015508 015511 015520 015523 015518 015519 015520 015521 015522 015523 015602 015605 015818 015819 015820 015821 015822 015823 016102 016105 016502 016505 017002 017005 018002 018005 018502 018505 025514 025517 025520 025523 025518 025519 025520 025521 025522 025523</TestCaseExclusionList>
<nruns_lte-softmodem>3</nruns_lte-softmodem>
<MachineListGeneric>
amerique
mozart hutch starsky stevens calisson superserver </MachineListGeneric>
<MachineListGeneric>
nano
mozart hutch starsky stevens calisson superserver </MachineListGeneric>
<testCase id="010101" >
<class>compilation</class>
<desc>Build oaisim.Rel8</desc>
...
...
cmake_targets/autotests/v2/actions/alu_epc.bash
0 → 100644
View file @
12cc3593
sudo
/opt/ltebox/tools/stop_ltebox
||
true
sudo
/opt/ltebox/tools/start_ltebox
cmake_targets/autotests/v2/actions/alu_epc_stop.bash
0 → 100644
View file @
12cc3593
sudo
/opt/ltebox/tools/stop_ltebox
cmake_targets/autotests/v2/actions/alu_hss.bash
0 → 100644
View file @
12cc3593
sudo
/opt/ltebox/tools/stop_ltebox
||
true
sudo
/opt/hss_sim0609/starthss_real
cmake_targets/autotests/v2/actions/bandrich.txt
0 → 100644
View file @
12cc3593
The configuration for the bandrich in the test setup is a bit hackish.
Here come some notes explaining what we do here.
To get /dev/bandrich.data and /dev/bandrich.control (so that you don't need
to look for which /dev/ttyUSBx are used by your dongle, and always use
the same files, no matter what), add a udev file:
/etc/udev/rules.d/bandrich.rules
containing lines:
SUBSYSTEM=="tty", ENV{ID_VENDOR_ID}=="1a8d", ENV{ID_MODEL_ID}=="100d", ENV{ID_SERIAL_SHORT}=="357473040068155", ENV{ID_USB_INTERFACE_NUM}=="00", SYMLINK+="bandrich.data", MODE="0666"
SUBSYSTEM=="tty", ENV{ID_VENDOR_ID}=="1a8d", ENV{ID_MODEL_ID}=="100d", ENV{ID_SERIAL_SHORT}=="357473040068155", ENV{ID_USB_INTERFACE_NUM}=="02", SYMLINK+="bandrich.control", MODE="0666"
Change vendor_id/model_id/serial/interface num to match yours.
Use lsusb -v to find values.
At first we used /dev/ttyUSB2 linked to /dev/bandrich for both data (in
the wvdial configuration file) and control (in the python code, opening
/dev/bandrich the standard unix way and read and write into it, with no
special libusb commands).
But it turned out that using /dev/ttyUSB2 for data gives bad throughput
results. We tested downlink UDP at 15Mb/s but the maximum throughput for
a 5MHz cell was around 13, and we had a lot of packets lost at the iperf's
UDP level. Radio was looking fine (all packets acked correctly), so it was
not a radio problem. The dongle in a windows machine was working fine,
15Mbs/s. Using the wvdial configuration file from test setup v1 gave also
good results. The only difference was the use of /dev/ttyUSB0 instead of
/dev/ttyUSB2. Using /dev/ttyUSB0 solved the throughput issue.
But using /dev/ttyUSB0 for control in the pyton code did not work. The
output was incorrect.
So we decided to have /dev/bandrich.data linked to /dev/ttyUSB0 for data
(wvdial) and /dev/bandrich.control linked to /dev/ttyUSB2 for control
(in python code).
It may not be the correct way to go, but it seems to do the trick so far.
Your device may need some other solution.
Here, we get, as result of lsusb -v:
[SNIP]
Bus 003 Device 009: ID 1a8d:100d BandRich, Inc. 4G LTE adapter
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x1a8d BandRich, Inc.
idProduct 0x100d 4G LTE adapter
bcdDevice 0.00
iManufacturer 10 BandRich, Inc.
iProduct 9 BandLuxe HSPA-LTE Adapter
iSerial 11 357473040068155
[SNIP]
You can also run:
udevadm monitor
and unplug/replug the dongle. It will print some information.
The command:
udevadm info --export-db
is also important to get the right identifier to put in ENV{}. (It also
gives the correct value.)
Here is extracted what we have for our dongle:
P: /devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1.2/3-1.2:1.2/ttyUSB2/tty/ttyUSB2
N: ttyUSB2
S: bandrich
S: serial/by-id/usb-BandRich__Inc._BandLuxe_HSPA-LTE_Adapter_357473040068155-if02-port0
S: serial/by-path/pci-0000:00:1a.0-usb-0:1.2:1.2-port0
E: DEVLINKS=/dev/bandrich /dev/serial/by-id/usb-BandRich__Inc._BandLuxe_HSPA-LTE_Adapter_357473040068155-if02-port0 /dev/serial/by-path/pci-0000:00:1a.0-usb-0:1.2:1.2-port0
E: DEVNAME=/dev/ttyUSB2
E: DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1.2/3-1.2:1.2/ttyUSB2/tty/ttyUSB2
E: ID_BUS=usb
E: ID_MM_CANDIDATE=1
E: ID_MODEL=BandLuxe_HSPA-LTE_Adapter
E: ID_MODEL_ENC=BandLuxe\x20HSPA-LTE\x20Adapter
E: ID_MODEL_FROM_DATABASE=4G LTE adapter
E: ID_MODEL_ID=100d
E: ID_PATH=pci-0000:00:1a.0-usb-0:1.2:1.2
E: ID_PATH_TAG=pci-0000_00_1a_0-usb-0_1_2_1_2
E: ID_REVISION=0000
E: ID_SERIAL=BandRich__Inc._BandLuxe_HSPA-LTE_Adapter_357473040068155
E: ID_SERIAL_SHORT=357473040068155
E: ID_TYPE=generic
E: ID_USB_DRIVER=option
E: ID_USB_INTERFACES=:ffffff:020600:0a0000:080650:
E: ID_USB_INTERFACE_NUM=02
E: ID_VENDOR=BandRich__Inc.
E: ID_VENDOR_ENC=BandRich\x2c\x20Inc.
E: ID_VENDOR_FROM_DATABASE=BandRich, Inc.
E: ID_VENDOR_ID=1a8d
E: MAJOR=188
E: MINOR=2
E: SUBSYSTEM=tty
E: USEC_INITIALIZED=672068596
You can also run:
udevadm info -a -p /sys/bus/usb-serial/devices/ttyUSB0
udevadm info -a -p /sys/bus/usb-serial/devices/ttyUSB2
Note: after creating the udev files, you need to unplug/replug your
dongle for /dev/bandrich.data and /dev/bandrich.control to appear.
Note: the mode 0666 is for everyone to access the dongle (no need for
root privileges). If you prefer you can set it to 0600 (only root)
or 0660 (root and group).
Then you need to configure pppd, to get correct 'route' information when
you run wvdial.
The file /etc/ppp/peers/wvdial should have the following content:
noauth
name wvdial
usepeerdns
defaultroute
replacedefaultroute
The file wvdial.bandrich.conf has been created by copying some information
found on the Internet. Its content may not be fully correct. Adapt to your
situation. It seems to work here.
cmake_targets/autotests/v2/actions/client_tcp.bash
0 → 100644
View file @
12cc3593
echo
$SERVER_IP
timeout
-s
9 20s iperf
-c
$SERVER_IP
-i1
cmake_targets/autotests/v2/actions/client_udp.bash
0 → 100644
View file @
12cc3593
echo
$SERVER_IP
echo
$UDP_BANDWIDTH
timeout
-s
9 20s iperf
-c
$SERVER_IP
-i1
-u
-b
$UDP_BANDWIDTH
cmake_targets/autotests/v2/actions/clone_repository.bash
0 → 100644
View file @
12cc3593
sudo rm
-rf
/tmp/oai_test_setup
mkdir
/tmp/oai_test_setup
cd
/tmp/oai_test_setup
git clone
$REPOSITORY_URL
oai
cd
oai
git checkout
$COMMIT_ID
cmake_targets/autotests/v2/actions/compilation.bash
0 → 100644
View file @
12cc3593
cd
/tmp/oai_test_setup/oai
source
oaienv
cd
cmake_targets
rm
-rf
log
mkdir
-p
log
echo
$BUILD_ARGUMENTS
./build_oai
$BUILD_ARGUMENTS
echo
$BUILD_OUTPUT
ls
$BUILD_OUTPUT
cmake_targets/autotests/v2/actions/execution.bash
0 → 100644
View file @
12cc3593
echo
$EXEC
$EXEC_ARGS
$EXEC
$EXEC_ARGS
cmake_targets/autotests/v2/actions/execution_compile.bash
0 → 100644
View file @
12cc3593
cd
/tmp/oai_test_setup/oai
source
oaienv
cd
cmake_targets
rm
-rf
log
mkdir
-p
log
bash
-c
"
$PRE_BUILD
"
$BUILD_PROG
$BUILD_ARGUMENTS
bash
-c
"
$PRE_EXEC
"
cmake_targets/autotests/v2/actions/modem.py
0 → 100644
View file @
12cc3593
import
sys
,
os
,
select
,
re
,
time
def
quit
(
r
):
sys
.
stdout
.
flush
()
os
.
_exit
(
r
)
class
ModemResponse
:
def
__init__
(
self
,
retcode
,
retstring
):
self
.
ret
=
retcode
self
.
data
=
retstring
class
Modem
:
def
open
(
self
):
self
.
i
=
os
.
open
(
self
.
devname
,
os
.
O_RDONLY
)
self
.
o
=
os
.
open
(
self
.
devname
,
os
.
O_WRONLY
)
#clear output of modem, if any is pending (not sure of this)
while
True
:
(
ri
,
ro
,
re
)
=
select
.
select
([
self
.
i
],
[],
[
self
.
i
],
0
)
if
len
(
ri
)
==
0
:
break
l
=
os
.
read
(
self
.
i
,
65536
)
print
"WARNING: modem had unread data: '"
+
\
l
.
replace
(
'
\r
'
,
'
\\
r'
)
+
"'"
def
__init__
(
self
,
devname
):
self
.
devname
=
devname
self
.
i
=
-
1
self
.
o
=
-
1
self
.
open
()
def
send
(
self
,
s
):
print
"DEBUG: SEND TO MODEM: '"
+
s
+
"'"
os
.
write
(
self
.
o
,
s
+
"
\r
"
)
def
recv
(
self
):
return
os
.
read
(
self
.
i
,
65536
)
def
wait
(
self
):
ok
=
'
\r\n
OK
\r\n
'
error
=
'
\r\n
ERROR
\r\n
'
cme_error
=
'
\r\n
CME ERROR:[^
\r
]*
\r\n
'
no_carrier
=
'
\r\n
NO CARRIER
\r\n
'
l
=
''
while
True
:
l
=
l
+
self
.
recv
()
print
"DEBUG: CURRENT MODEM RESPONSE: '"
+
\
l
.
replace
(
'
\r
'
,
'
\\
r'
).
replace
(
'
\n
'
,
'
\\
n'
)
+
"'"
#AT returned 'things' are "\r\nXXXX\r\n", look for that.
#Check if last one matches 'ok', 'error' or 'cme_error'.
#(Hopefully this is enough and no other reply is possible.)
#This code accepts invalid responses from modem, ie. all
#that does not fit in the 'findall' is thrashed away, maybe
#we want to do something in this case?
res
=
re
.
findall
(
'
\r\n
[^
\r
]*
\r\n
'
,
l
)
if
len
(
res
)
==
0
:
print
"DEBUG: NO MATCH: wait for more input from modem"
continue
last_res
=
res
[
len
(
res
)
-
1
]
print
"DEBUG: CURRENT LAST LINE: '"
+
\
last_res
.
replace
(
'
\r
'
,
'
\\
r'
).
replace
(
'
\n
'
,
'
\\
n'
)
+
"'"
if
re
.
match
(
ok
,
last_res
)
!=
None
:
return
ModemResponse
(
True
,
l
)
if
(
re
.
match
(
error
,
last_res
)
!=
None
or
re
.
match
(
cme_error
,
last_res
)
!=
None
or
re
.
match
(
no_carrier
,
last_res
)
!=
None
):
return
ModemResponse
(
False
,
l
)
#TODO purge?
#re.purge()
def
modem_reset_cycle
(
self
):
#close all
os
.
close
(
self
.
i
)
os
.
close
(
self
.
o
)
self
.
i
=
-
1
self
.
o
=
-
1
print
"DEBUG: RESET CYCLE: wait for modem to go away"
#wait for file descriptor to go away
while
True
:
try
:
test
=
os
.
open
(
self
.
devname
,
os
.
O_RDONLY
)
os
.
close
(
test
)
time
.
sleep
(
0.1
)
except
BaseException
,
e
:
break
print
"DEBUG: RESET CYCLE: modem has gone away"
print
"DEBUG: RESET CYCLE: wait for modem to come back"
#wait for file descriptor to be back, try to open it over and over
#TODO: use inotify here? (it's not in basic python as it seems)
while
True
:
try
:
test
=
os
.
open
(
self
.
devname
,
os
.
O_RDONLY
)
os
.
close
(
test
)
break
except
BaseException
,
e
:
time
.
sleep
(
0.1
)
print
"DEBUG: RESET CYCLE: modem is back"
#back to business
self
.
open
()
cmake_targets/autotests/v2/actions/run_enb.bash
0 → 100644
View file @
12cc3593
#enable control+C reception (to be refined if it does not work)
stty
isig intr ^C
cd
/tmp/oai_test_setup/oai
source
oaienv
cd
cmake_targets/lte_build_oai/build
ulimit
-c
unlimited
sudo rm
-f
core
#sudo -E ./lte-softmodem -O $OPENAIR_DIR/cmake_targets/autotests/v2/config/enb.band7.tm1.usrpb210.conf
sudo
-E
./lte-softmodem
-O
/tmp/enb.conf
cmake_targets/autotests/v2/actions/server_tcp.bash
0 → 100644
View file @
12cc3593
stty
isig intr ^C
#timeout -s 9 20s iperf -s -i1
iperf
-s
-i1
cmake_targets/autotests/v2/actions/server_udp.bash
0 → 100644
View file @
12cc3593
stty
isig intr ^C
#timeout -s 9 20s iperf -s -i1 -u
iperf
-s
-i1
-u
cmake_targets/autotests/v2/actions/start_bandrich.bash
0 → 100644
View file @
12cc3593
#enable control+C reception (to be refined if it does not work)
stty
isig intr ^C
#If /dev/bandrich is not present when we start the test, what to do?
#The following commented lines are an attempt at solving this.
#This is not satisfying, so we rather do nothing.
##the UE got stuck once, I had to run usb_modeswitch by hand.
##So at this point, if /dev/bandrich does not exist, maybe the UE is
##stuck for whatever reason. Let's forcefully run usb_modeswitch.
#if [ ! -e /dev/bandrich ]; then sudo usb_modeswitch -v 1a8d -p 1000 -I -W -K; true; fi
#
##wait for /dev/bandrich (TODO: use inotify?)
##may fail if the bandrich is in a bad state
#while [ ! -e /dev/bandrich ]; do sleep 1; done
cd
/tmp/oai_test_setup/oai
source
oaienv
cd
cmake_targets/autotests/v2/actions
python start_bandrich.py
sudo
wvdial
-C
wvdial.bandrich.conf
||
true
python stop_bandrich.py
cmake_targets/autotests/v2/actions/start_bandrich.py
0 → 100644
View file @
12cc3593
import
time
from
modem
import
quit
,
Modem
try
:
modem
=
Modem
(
"/dev/bandrich.control"
)
#test that modem is there
print
"INFO: check modem's presence"
modem
.
send
(
'AT'
)
if
modem
.
wait
().
ret
!=
True
:
print
"ERROR: no modem?"
quit
(
1
)
#activate the modem, be brutal and reset it too!
print
"INFO: reset and activate the modem"
modem
.
send
(
'AT+CFUN=1,1'
)
if
modem
.
wait
().
ret
!=
True
:
print
"ERROR: failed asking modem for activation"
quit
(
1
)
#modem has gone! wait for it to pop up again
modem
.
modem_reset_cycle
()
#wait for modem to be connected
#timeout after one minute
print
"INFO: wait for modem to be connected (timeout: one minute)"
start_time
=
time
.
time
()
while
True
:
modem
.
send
(
'AT+CGATT?'
)
r
=
modem
.
wait
()
if
r
.
ret
!=
True
:
print
"ERROR: failed checking attachment status of modem"
quit
(
1
)
if
"+CGATT: 1"
in
r
.
data
:
break
if
not
"CGATT: 0"
in
r
.
data
:
print
"ERROR: bad data when checking attachment status of modem"
quit
(
1
)
time
.
sleep
(
0.1
)
if
time
.
time
()
>
start_time
+
60
:
print
"ERROR: modem not connected after one minute, close modem"
modem
.
send
(
'AT+CFUN=4'
)
r
=
modem
.
wait
()
if
r
.
ret
!=
True
:
print
"ERROR: closing modem failed"
quit
(
1
)
print
"INFO: modem is connected"
except
BaseException
,
e
:
print
"ERROR: "
+
str
(
e
)
quit
(
1
)
quit
(
0
)
cmake_targets/autotests/v2/actions/stop_bandrich.py
0 → 100644
View file @
12cc3593
import
time
from
modem
import
quit
,
Modem
try
:
modem
=
Modem
(
"/dev/bandrich.control"
)
#test that modem is there
print
"INFO: check modem's presence"
modem
.
send
(
'AT'
)
r
=
modem
.
wait
()
if
r
.
ret
!=
True
and
"NO CARRIER"
not
in
r
.
data
:
print
"ERROR: no modem?"
quit
(
1
)
if
"NO CARRIER"
in
r
.
data
:
print
"WARNING: 'NO CARRIER' detected, not sure if handled correctly"
#deactivate the modem
print
"INFO: deactivate the modem"
modem
.
send
(
'AT+CFUN=4'
)
if
modem
.
wait
().
ret
!=
True
:
print
"ERROR: failed asking modem for deactivation"
quit
(
1
)
except
BaseException
,
e
:
print
"ERROR: "
+
str
(
e
)
quit
(
1
)
quit
(
0
)
cmake_targets/autotests/v2/actions/wvdial.bandrich.conf
0 → 100644
View file @
12cc3593
[
Dialer
Defaults
]
Modem
= /
dev
/
bandrich
.
data
ISDN
=
off
Modem
Type
=
Analog
Modem
Baud
=
9600
Init
=
ATZ
Init2
=
AT
+
CPIN
?
Init3
=
AT
+
CGREG
?
Init4
=
AT
+
COPS
?
Init5
=
AT
+
CSQ
Init6
=
Init7
=
AT
+
CGATT
=
1
Init8
=
Init9
=
Phone
= *
99
***
1
#
Phone1
=
Phone2
=
Phone3
=
Phone4
=
Dial
Prefix
=
Dial
Attempts
=
1
Dial
Command
=
ATM1L3DT
Ask
Password
=
off
Password
=
''
Username
=
ImaginLab
Auto
Reconnect
=
off
Abort
on
Busy
=
off
Carrier
Check
=
on
Check
Def
Route
=
on
Abort
on
No
Dialtone
=
on
Stupid
Mode
=
on
Idle
Seconds
=
0
Auto
DNS
=
on
;
Minimize
=
off
;
Dock
=
off
;
Do
NOT
edit
this
file
by
hand
!
cmake_targets/autotests/v2/alu_test.py
0 → 100644
View file @
12cc3593
This diff is collapsed.
Click to expand it.
cmake_targets/autotests/v2/config/enb.band7.tm1.usrpb210.10MHz.conf
0 → 100644
View file @
12cc3593
Active_eNBs
= (
"eNB_Eurecom_LTEBox"
);
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity
=
"none"
;
eNBs
=
(
{
//////////
Identification
parameters
:
eNB_ID
=
0
xe00
;
cell_type
=
"CELL_MACRO_ENB"
;
eNB_name
=
"eNB_Eurecom_LTEBox"
;
//
Tracking
area
code
,
0
x0000
and
0
xfffe
are
reserved
values
tracking_area_code
=
"1"
;
mobile_country_code
=
"208"
;
mobile_network_code
=
"92"
;
//////////
Physical
parameters
:
component_carriers
= (
{
node_function
=
"eNodeB_3GPP"
;
node_timing
=
"synch_to_ext_device"
;
node_synch_ref
=
0
;
frame_type
=
"FDD"
;
tdd_config
=
3
;
tdd_config_s
=
0
;
prefix_type
=
"NORMAL"
;
eutra_band
=
7
;
downlink_frequency
=
2660000000
L
;
uplink_frequency_offset
= -
120000000
;
Nid_cell
=
0
;
N_RB_DL
=
50
;
Nid_cell_mbsfn
=
0
;
nb_antenna_ports
=
1
;
nb_antennas_tx
=
1
;
nb_antennas_rx
=
1
;
tx_gain
=
90
;
rx_gain
=
125
;
prach_root
=
0
;
prach_config_index
=
0
;
prach_high_speed
=
"DISABLE"
;
prach_zero_correlation
=
1
;
prach_freq_offset
=
2
;
pucch_delta_shift
=
1
;
pucch_nRB_CQI
=
1
;
pucch_nCS_AN
=
0
;
pucch_n1_AN
=
32
;
pdsch_referenceSignalPower
= -
24
;
pdsch_p_b
=
0
;