diff --git a/cmake_targets/CMakeLists.txt b/cmake_targets/CMakeLists.txt index d7a656e61cf1ea376de35dd398c62f6629b981e5..33867b6723b815ac273233ea214f3fcf368b6bd4 100644 --- a/cmake_targets/CMakeLists.txt +++ b/cmake_targets/CMakeLists.txt @@ -421,7 +421,7 @@ elseif (${RF_BOARD} STREQUAL "OAI_USRP") ${OPENAIR_TARGETS}/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp) LINK_DIRECTORIES("/opt/lib") set(option_HW_lib "uhd") - set(LOWLATENCY False) + #set(LOWLATENCY False) elseif (${RF_BOARD} STREQUAL "OAI_BLADERF") include_directories("${OPENAIR_TARGETS}/ARCH/BLADERF/USERSPACE/LIB/") @@ -432,14 +432,14 @@ elseif (${RF_BOARD} STREQUAL "OAI_BLADERF") ) LINK_DIRECTORIES("/usr/lib/x86_64-linux-gnu") set(option_HW_lib "bladeRF") -#set(LOWLATENCY False) + #set(LOWLATENCY False) elseif (${RF_BOARD} STREQUAL "ETHERNET") include_directories ("${OPENAIR_TARGETS}/ARCH/ETHERNET/USERSPACE/LIB") set(HW_SOURCE ${HW_SOURCE} ${OPENAIR_TARGETS}/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c ) - set(LOWLATENCY True) + #set(LOWLATENCY True) elseif (${RF_BOARD} STREQUAL "CPRIGW") set(HW_SOURCE ${HW_SOURCE} @@ -451,6 +451,7 @@ endif (${RF_BOARD} STREQUAL "EXMIMO") include_directories ("${OPENAIR_TARGETS}/ARCH/COMMON") +Message("LOWLATENCY flag is ${LOWLATENCY}") ############################################################## # ???!!! TO BE DOCUMENTED OPTIONS !!!??? diff --git a/cmake_targets/autotests/run_exec_lte-softmodem_tests.py b/cmake_targets/autotests/run_exec_lte-softmodem_tests.py index aa35207e0b2bf80ec83f09f3db1f17b1e05dc51e..6ed97d5180f802ed1a645e4c1abce5bf3ce0c88e 100644 --- a/cmake_targets/autotests/run_exec_lte-softmodem_tests.py +++ b/cmake_targets/autotests/run_exec_lte-softmodem_tests.py @@ -869,8 +869,10 @@ def search_test_case_group(testcasename, testcasegroup, test_case_exclude): if match >=0: return True return False - - + +def cleanOldProgramsAllMachines(oai_list, CleanOldProgs, CleanUpAluLteBox, ExmimoRfStop): + for index in oai_list: + cleanOldPrograms(oai_list[index], CleanUpOldProgs, CleanUpAluLteBox, ExmimoRfStop) #thread1 = myThread(1, "Thread-1", 1) debug = 0 @@ -884,7 +886,7 @@ xmlInputFile="./test_case_list.xml" NFSResultsDir = '/mnt/sradio' cleanupOldProgramsScript = '$OPENAIR_DIR/cmake_targets/autotests/tools/remove_old_programs.bash' testcasegroup='' - +cleanUpRemoteMachines=False logdir = '/tmp/' + 'OAITestFrameWork-' + getpass.getuser() + '/' logdirOAI5GRepo = logdir + 'openairinterface5g/' logdirOpenaircnRepo = logdir + 'openair-cn/' @@ -924,12 +926,15 @@ while i < len (sys.argv): elif arg == '-g' : testcasegroup = sys.argv[i+1].replace("\"","") i = i +1 + elif arg == '-c': + cleanUpRemoteMachines=True elif arg == '-h' : print "-d: low debug level" print "-dd: high debug level" print "-p: set the prompt" print "-r: Remove the log directory in autotests" print "-g: Run test cases in a group" + print "-c: Run cleanup scripts on remote machines" print "-w: set the password for ssh to localhost" print "-l: use local shell instead of ssh connection" print "-t: set the time out in second for commands" @@ -1131,7 +1136,12 @@ for index in oai_list: cmd = cmd + 'git clone '+ GitOAI5GRepo + '\n' cmd = cmd + 'git clone '+ GitOpenaircnRepo + '\n' cmd = cmd + 'cd ' + logdirOAI5GRepo + '\n' + cmd = cmd + 'git checkout ' + GitOAI5GRepoBranch + '\n' cmd = cmd + 'git checkout ' + GitOAI5GHeadVersion + '\n' + cmd = cmd + 'git_head = `git ls-remote |grep \"' + GitOAI5GRepoBranch + '\"' + cmd = cmd + 'git_head = ($git_head)' + cmd = cmd + 'git_head = ${git_head[0]}' + cmd = cmd + 'if [ \"$git_head\" != \"'+ GitOAI5GHeadVersion + '\" ]; then echo \"error: Git openairinterface5g head version does not match\" ; fi ' cmd = cmd + 'source oaienv' + '\n' cmd = cmd + 'cd ' + logdirOpenaircnRepo + '\n' cmd = cmd + 'git checkout ' + GitOpenaircnRepoBranch + '\n' @@ -1220,6 +1230,9 @@ if (out != '') : print "status = " + str(status) + "\n Check files for error = " + out print sys.exit(1) +if cleanUpRemoteMachines == True: + cleanOldProgramsAllMachines(oai_list, CleanOldProgs, CleanUpAluLteBox, ExmimoRfStop) + sys.exit(0) threadListGlobal=[] testcaseList=xmlRoot.findall('testCase') @@ -1231,6 +1244,7 @@ for testcase in testcaseList: desc = testcase.findtext('desc',default='') #print "Machine list top level = " + ','.join(MachineList) if search_test_case_group(testcasename, testcasegroup, TestCaseExclusionList) == True: + cleanOldProgramsAllMachines(oai_list, CleanOldProgs, CleanUpAluLteBox, ExmimoRfStop) if testcaseclass == 'lte-softmodem' : eNBMachine = testcase.findtext('eNB',default='') UEMachine = testcase.findtext('UE',default='') diff --git a/cmake_targets/autotests/test_case_list.xml b/cmake_targets/autotests/test_case_list.xml index 6df11e81ada42ee4f10c81c662baa1915a52ed2a..ceb86c6c35a8afe88946bbf14b35ede8e765b7e1 100644 --- a/cmake_targets/autotests/test_case_list.xml +++ b/cmake_targets/autotests/test_case_list.xml @@ -8,7 +8,7 @@ <GitOpenair-cnRepoBranch>feature-17-test_framework</GitOpenair-cnRepoBranch> <CleanUpOldProgs>oaisim* oaisim_nos1* lte-softmodem* lte-softmodem-nos1* mme_gw* run_epc* run_hss* iperf* hss hss_sim configure_cots_bandrich_ue* wvdial* run_exec_autotests* iperf</CleanUpOldProgs> <CleanUpAluLteBox>/opt/ltebox/tools/stop_ltebox</CleanUpAluLteBox> -<ExmimoRfStop>cd $OPENAIR_DIR/cmake_targets/autotests/tools/exmimo; sudo -E -S octave ./exmimo_stop.m</ExmimoRfStop> +<ExmimoRfStop>$OPENAIR_DIR/cmake_targets/build_oai -w EXMIMO -c; sudo -S -E $OPENAIR_DIR/cmake_targets/tools/stop_exmimo2</ExmimoRfStop> <Timeout_execution>36000</Timeout_execution> <TestCaseExclusionList>0104+ 015502 015505 015506 015507 015508 015508 015509 015510 015511 015600 015700 016102 016105</TestCaseExclusionList> <MachineListGeneric>calisson stevens mozart nano amerique</MachineListGeneric> @@ -1012,7 +1012,7 @@ <HSS_main_exec_args></HSS_main_exec_args> <EPC_traffic_exec>sleep 5; iperf -s -i 1 -u -f m -B 192.172.0.1</EPC_traffic_exec> <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=2.0Mbits/sec max=2.0Mbits/sec average=2.0Mbits/sec duration=300.0s </EPC_search_expr_true> + <EPC_search_expr_true>throughput_test min=1.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec duration=300.0s </EPC_search_expr_true> <EPC_search_expr_false></EPC_search_expr_false> <EPC_terminate_missing_procs>True</EPC_terminate_missing_procs> <tags>USRPb210.ALU_EPC.Bandrich.10MHz.FDD.Band_7.UL.1TX.1RX</tags> @@ -1095,7 +1095,7 @@ <HSS_main_exec_args></HSS_main_exec_args> <EPC_traffic_exec>sleep 5; iperf -s -i 1 -u -f m -B 192.172.0.1</EPC_traffic_exec> <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=4.0Mbits/sec max=4.0Mbits/sec average=4.0Mbits/sec duration=300.0s </EPC_search_expr_true> + <EPC_search_expr_true>throughput_test min=1.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec duration=300.0s </EPC_search_expr_true> <EPC_search_expr_false></EPC_search_expr_false> <EPC_terminate_missing_procs>True</EPC_terminate_missing_procs> <tags>USRPb210.ALU_EPC.Bandrich.20MHz.FDD.Band_7.UL.1TX.1RX</tags> @@ -2001,7 +2001,7 @@ <HSS_main_exec_args></HSS_main_exec_args> <EPC_traffic_exec>sleep 5; iperf -s -i 1 -u -f m -B 192.172.0.1</EPC_traffic_exec> <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=2.0Mbits/sec max=2.0Mbits/sec average=2.0Mbits/sec duration=300.0s </EPC_search_expr_true> + <EPC_search_expr_true>throughput_test min=1.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec duration=300.0s </EPC_search_expr_true> <EPC_search_expr_false></EPC_search_expr_false> <EPC_terminate_missing_procs>True</EPC_terminate_missing_procs> <tags>USRPx310.ALU_EPC.Bandrich.10MHz.FDD.Band_7.UL.1TX.1RX</tags> @@ -2079,7 +2079,7 @@ <HSS_main_exec_args></HSS_main_exec_args> <EPC_traffic_exec>sleep 5; iperf -s -i 1 -u -f m -B 192.172.0.1</EPC_traffic_exec> <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=4.0Mbits/sec max=4.0Mbits/sec average=4.0Mbits/sec duration=300.0s </EPC_search_expr_true> + <EPC_search_expr_true>throughput_test min=1.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec duration=300.0s </EPC_search_expr_true> <EPC_search_expr_false></EPC_search_expr_false> <EPC_terminate_missing_procs>True</EPC_terminate_missing_procs> <tags>USRPx310.ALU_EPC.Bandrich.20MHz.FDD.Band_7.UL.1TX.1RX</tags> @@ -2470,7 +2470,7 @@ <HSS_main_exec_args></HSS_main_exec_args> <EPC_traffic_exec>sleep 5; iperf -s -i 1 -u -f m -B 192.172.0.1</EPC_traffic_exec> <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=2.0Mbits/sec max=2.0Mbits/sec average=2.0Mbits/sec duration=300.0s </EPC_search_expr_true> + <EPC_search_expr_true>throughput_test min=1.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec duration=300.0s </EPC_search_expr_true> <EPC_search_expr_false></EPC_search_expr_false> <EPC_terminate_missing_procs>True</EPC_terminate_missing_procs> <tags>EXMIMO.ALU_EPC.Bandrich.10MHz.FDD.Band_7.UL.1TX.1RX</tags> @@ -2548,7 +2548,7 @@ <HSS_main_exec_args></HSS_main_exec_args> <EPC_traffic_exec>sleep 5; iperf -s -i 1 -u -f m -B 192.172.0.1</EPC_traffic_exec> <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=4.0Mbits/sec max=4.0Mbits/sec average=4.0Mbits/sec duration=300.0s </EPC_search_expr_true> + <EPC_search_expr_true>throughput_test min=1.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec duration=300.0s </EPC_search_expr_true> <EPC_search_expr_false></EPC_search_expr_false> <EPC_terminate_missing_procs>True</EPC_terminate_missing_procs> <tags>EXMIMO.ALU_EPC.Bandrich.20MHz.FDD.Band_7.UL.1TX.1RX</tags> diff --git a/cmake_targets/autotests/tools/exmimo/init_exmimo2 b/cmake_targets/autotests/tools/exmimo/init_exmimo2 deleted file mode 100755 index 66eedf93dd4d407deaabee6a61091c8f04fd0a61..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/tools/exmimo/init_exmimo2 +++ /dev/null @@ -1,85 +0,0 @@ -#!/bin/bash - -################################################################################ -# OpenAirInterface -# Copyright(c) 1999 - 2015 Eurecom -# -# OpenAirInterface is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# -# OpenAirInterface is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with OpenAirInterface.The full GNU General Public License is -# included in this distribution in the file called "COPYING". If not, -# see <http://www.gnu.org/licenses/>. -# -# Contact Information -# OpenAirInterface Admin: openair_admin@eurecom.fr -# OpenAirInterface Tech : openair_tech@eurecom.fr -# OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr -# -# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE -# -################################################################################ -# file init_nas_nos1 -# brief loads the nasmesh module and sets up the radio bearers (used to provide ip interface without S1 interface) -# author Florian Kaltenberger -# -####################################### - -load_module() -{ - mod_name=${1##*/} - mod_name=${mod_name%.*} - if awk "/$mod_name/ {found=1 ;exit} END {if (found!=1) exit 1}" /proc/modules - then - echo "module $mod_name already loaded: I remove it first" - sudo rmmod $mod_name - fi - echo loading $mod_name - sudo insmod $1 -} - - -function main() -{ -PCI=`lspci -m | grep Xilinx` -if [ -z "$PCI" ]; then - echo "No card found. Stopping!" - return -fi - -## This part corrects the wrong configuration of the endpoint done by the bios in some machines -echo "$PCI" | while read config_reg; do -SLOT_NUMBER=`echo $config_reg | awk -F\" '{print $1}'` -sudo setpci -s $SLOT_NUMBER 60.b=10 -done - - -load_module $OPENAIR_DIR/targets/bin/openair_rf.ko -sleep 1 - -if [ ! -e /dev/openair0 ]; then - sudo mknod /dev/openair0 c 127 0 - sudo chmod a+rw /dev/openair0 -fi - -DEVICE=`echo $PCI | awk -F\" '{print $(NF-1)}' | awk '{print $2}'` -DEVICE_SWID=${DEVICE:2:2} -if [ $DEVICE_SWID == '0a' ]; then - echo "Using firware version 10" - $OPENAIR_DIR/targets/bin/updatefw -s 0x43fffff0 -b -f $OPENAIR_TARGETS/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/sdr_expressmimo2_v10 -else - echo 'No corresponding firmware found' - return -fi -} - -main "$@" diff --git a/cmake_targets/autotests/tools/exmimo/oarf_config_exmimo.oct b/cmake_targets/autotests/tools/exmimo/oarf_config_exmimo.oct deleted file mode 100755 index f8c24153f648cb6f0211defd9f958dab8dae92b2..0000000000000000000000000000000000000000 Binary files a/cmake_targets/autotests/tools/exmimo/oarf_config_exmimo.oct and /dev/null differ diff --git a/cmake_targets/autotests/tools/exmimo/oarf_get_frame.oct b/cmake_targets/autotests/tools/exmimo/oarf_get_frame.oct deleted file mode 100755 index 8dd108b798d3958df6e296fe1e7101744e041f2e..0000000000000000000000000000000000000000 Binary files a/cmake_targets/autotests/tools/exmimo/oarf_get_frame.oct and /dev/null differ diff --git a/cmake_targets/autotests/tools/exmimo/oarf_get_num_detected_cards.oct b/cmake_targets/autotests/tools/exmimo/oarf_get_num_detected_cards.oct deleted file mode 100755 index 3d84d86ebad99e6997ec6f86e4f09e8cf83be245..0000000000000000000000000000000000000000 Binary files a/cmake_targets/autotests/tools/exmimo/oarf_get_num_detected_cards.oct and /dev/null differ diff --git a/cmake_targets/autotests/tools/exmimo/oarf_send_frame.oct b/cmake_targets/autotests/tools/exmimo/oarf_send_frame.oct deleted file mode 100755 index 4da12f517237f8125b673ffa8c8d56c36a85f6a5..0000000000000000000000000000000000000000 Binary files a/cmake_targets/autotests/tools/exmimo/oarf_send_frame.oct and /dev/null differ diff --git a/cmake_targets/autotests/tools/exmimo/oarf_stop.oct b/cmake_targets/autotests/tools/exmimo/oarf_stop.oct deleted file mode 100755 index b234829cc085c05b638981d5e03919ebc4300859..0000000000000000000000000000000000000000 Binary files a/cmake_targets/autotests/tools/exmimo/oarf_stop.oct and /dev/null differ diff --git a/cmake_targets/autotests/tools/exmimo/oarf_stop_without_reset.oct b/cmake_targets/autotests/tools/exmimo/oarf_stop_without_reset.oct deleted file mode 100755 index 74ca17e3e0d1ed96a16c879a057623cfb20a5f47..0000000000000000000000000000000000000000 Binary files a/cmake_targets/autotests/tools/exmimo/oarf_stop_without_reset.oct and /dev/null differ diff --git a/cmake_targets/autotests/tools/exmimo/openair_rf.ko b/cmake_targets/autotests/tools/exmimo/openair_rf.ko deleted file mode 100644 index 2f948c087147032d9bd0b4259cdeaa337a853d3c..0000000000000000000000000000000000000000 Binary files a/cmake_targets/autotests/tools/exmimo/openair_rf.ko and /dev/null differ diff --git a/cmake_targets/autotests/tools/exmimo/updatefw b/cmake_targets/autotests/tools/exmimo/updatefw deleted file mode 100755 index d404a74cbbe032cb3efda14a80ab613c6c92f07b..0000000000000000000000000000000000000000 Binary files a/cmake_targets/autotests/tools/exmimo/updatefw and /dev/null differ diff --git a/cmake_targets/build_oai b/cmake_targets/build_oai index 25bec96b98cd28571ef6b9f65457cb256bffb3e8..165a2c6b0c1539326084d161475f0e6baf0440ff 100755 --- a/cmake_targets/build_oai +++ b/cmake_targets/build_oai @@ -45,6 +45,7 @@ MSC_GEN="False" XFORMS="False" PRINT_STATS="False" VCD_TIMING="False" +LOWLATENCY_FLAG_USER="True" REL="Rel10" HW="EXMIMO" NOS1=0 @@ -113,6 +114,8 @@ Options Shows detailed compilation instructions in makefile --cflags_processor Manually Add CFLAGS of processor if they are not detected correctly by script. Only add these flags if you know your processor supports them. Example flags: -msse3 -msse4.1 -msse4.2 -mavx2 +--disable-deadline + Disables deadline scheduler of Linux kernel (>=3.14.x). The deadline scheduler is enabled by default Usage (first build): oaisim (eNB + UE): ./build_oai -I -g --oaisim -x --install-system-files @@ -225,6 +228,10 @@ function main() { CFLAGS_PROCESSOR_USER=$2 echo_info "setting CPU FLAGS from USER to: $CFLAGS_PROCESSOR_USER" shift 2;; + --disable-deadline) + LOWLATENCY_FLAG_USER="False" + echo_info "Disabling the usage of deadline scheduler" + shift 1;; -h | --help) print_help exit 1;; @@ -321,6 +328,7 @@ function main() { echo "set ( ENABLE_VCD_FIFO $VCD_TIMING )" >> $cmake_file echo "set ( RF_BOARD \"${HW}\")" >> $cmake_file echo "set(PACKAGE_NAME \"${lte_exec}\")" >> $cmake_file + echo "set (LOWLATENCY \"${LOWLATENCY_FLAG_USER}\" )" >>$cmake_file echo 'include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)' >> $cmake_file cd $DIR/$lte_build_dir/build cmake .. @@ -539,6 +547,7 @@ function main() { echo "set(ENABLE_ITTI False )" >> $cmake_file echo "set(RF_BOARD \"${HW}\")" >> $cmake_file echo 'set(PACKAGE_NAME "\"rrh_gw\"")' >> $cmake_file + echo "set(LOWLATENCY \"${LOWLATENCY_FLAG_USER}\")" >>$cmake_file echo 'include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)' >> $cmake_file [ "$CLEAN" = "1" ] && rm -rf $DIR/rrh_gw/build diff --git a/cmake_targets/autotests/tools/exmimo/exmimo_stop.m b/cmake_targets/tools/exmimo_stop_octave.m similarity index 100% rename from cmake_targets/autotests/tools/exmimo/exmimo_stop.m rename to cmake_targets/tools/exmimo_stop_octave.m diff --git a/cmake_targets/tools/stop_exmimo2 b/cmake_targets/tools/stop_exmimo2 new file mode 100755 index 0000000000000000000000000000000000000000..6931229f7a0790b5a6ec87820b4a71b51bc214b7 --- /dev/null +++ b/cmake_targets/tools/stop_exmimo2 @@ -0,0 +1,16 @@ +#!/bin/bash + +echo "This script stops exmimo2 as it might be transmitting signal by itself if lte-softmodem terminates incorrectly" + +if [ "$OPENAIR_DIR" == "" ]; then + echo "Is the OPENAIR_DIR path set correctly? Exiting now" + exit +fi + +#load the module +sudo -E $OPENAIR_DIR/cmake_targets/tools/init_exmimo2 + +#now we stop the card from transmitting anything +cd $OPENAIR_DIR/targets/bin +sudo -E octave $OPENAIR_DIR/cmake_targets/tools/exmimo_stop_octave.m + diff --git a/openair1/PHY/TOOLS/lte_dfts.c b/openair1/PHY/TOOLS/lte_dfts.c index c031d5d384d751e55e9b484cc3d86872589ccdd9..ec4577a67a170f5d453b6d3e8fe02318e4bbf16a 100644 --- a/openair1/PHY/TOOLS/lte_dfts.c +++ b/openair1/PHY/TOOLS/lte_dfts.c @@ -94,7 +94,7 @@ static inline void cmacc(__m128i a,__m128i b, __m128i *re32, __m128i *im32) cmac_tmp = _mm_sign_epi16(b,*(__m128i*)reflip); // cmac_tmp = _mm_shufflelo_epi16(b,_MM_SHUFFLE(2,3,0,1)); // cmac_tmp = _mm_shufflehi_epi16(cmac_tmp,_MM_SHUFFLE(2,3,0,1)); - cmac_tmp = _mm_shuffle_epi8(b,_mm_set_epi8(13,12,15,14,9,8,11,10,5,4,7,6,1,0,3,2)); + cmac_tmp = _mm_shuffle_epi8(cmac_tmp,_mm_set_epi8(13,12,15,14,9,8,11,10,5,4,7,6,1,0,3,2)); cmac_tmp_im32 = _mm_madd_epi16(cmac_tmp,a); *re32 = _mm_add_epi32(*re32,cmac_tmp_re32); diff --git a/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp b/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp index 0885ef6dd15f0ef1741f9580bb02c36032d8fa4c..b12f7397f01160dafd9b3fbff8c43410b381f2e4 100644 --- a/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp +++ b/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp @@ -464,7 +464,7 @@ int openair0_dev_init_usrp(openair0_device* device, openair0_config_t *openair0_ break; case 7680000: openair0_cfg[0].samples_per_packet = 1024; - openair0_cfg[0].tx_sample_advance = 103; + openair0_cfg[0].tx_sample_advance = 70;//103; openair0_cfg[0].tx_scheduling_advance = 5*openair0_cfg[0].samples_per_packet; break; case 1920000: @@ -479,13 +479,11 @@ int openair0_dev_init_usrp(openair0_device* device, openair0_config_t *openair0_ } } - - for(i=0;i<s->usrp->get_rx_num_channels();i++) { if (i<openair0_cfg[0].rx_num_channels) { s->usrp->set_rx_rate(openair0_cfg[0].sample_rate,i); s->usrp->set_rx_bandwidth(openair0_cfg[0].rx_bw,i); - printf("Setting rx freq/gain on channel %lu/%lu\n",i,s->usrp->get_rx_num_channels()); + printf("Setting rx freq/gain on channel %lu/%lu : BW %f (readback %f)\n",i,s->usrp->get_rx_num_channels(),openair0_cfg[0].rx_bw/1e6,s->usrp->get_rx_bandwidth(i)/1e6); s->usrp->set_rx_freq(openair0_cfg[0].rx_freq[i],i); set_rx_gain_offset(&openair0_cfg[0],i); @@ -506,7 +504,7 @@ int openair0_dev_init_usrp(openair0_device* device, openair0_config_t *openair0_ if (i<openair0_cfg[0].tx_num_channels) { s->usrp->set_tx_rate(openair0_cfg[0].sample_rate,i); s->usrp->set_tx_bandwidth(openair0_cfg[0].tx_bw,i); - printf("Setting tx freq/gain on channel %lu/%lu\n",i,s->usrp->get_tx_num_channels()); + printf("Setting tx freq/gain on channel %lu/%lu: BW %f (readback %f)\n",i,s->usrp->get_tx_num_channels(),openair0_cfg[0].tx_bw/1e6,s->usrp->get_tx_bandwidth(i)/1e6); s->usrp->set_tx_freq(openair0_cfg[0].tx_freq[i],i); s->usrp->set_tx_gain(openair0_cfg[0].tx_gain[i],i); } diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf index 2f11e42ba9d817b5e5c11c1f6ed91bd9475b8e0d..d8ea58910a66cfb45eeb394b6c2556295b32bb40 100644 --- a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf +++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf @@ -36,7 +36,7 @@ eNBs = nb_antennas_tx = 1; nb_antennas_rx = 1; tx_gain = 90; - rx_gain = 120; + rx_gain = 132; prach_root = 0; prach_config_index = 0; prach_high_speed = "DISABLE"; @@ -143,10 +143,10 @@ eNBs = NETWORK_INTERFACES : { ENB_INTERFACE_NAME_FOR_S1_MME = "eth0"; - ENB_IPV4_ADDRESS_FOR_S1_MME = "192.168.12.216/24"; + ENB_IPV4_ADDRESS_FOR_S1_MME = "192.168.12.213/24"; ENB_INTERFACE_NAME_FOR_S1U = "eth0"; - ENB_IPV4_ADDRESS_FOR_S1U = "192.168.12.216/24"; + ENB_IPV4_ADDRESS_FOR_S1U = "192.168.12.213/24"; ENB_PORT_FOR_S1U = 2152; # Spec 2152 }; diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf index e864f47edb1663570633f9daf064346e42dd289b..6470b310f0bf25c58d4109709e52e39b340f842f 100644 --- a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf +++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf @@ -36,7 +36,7 @@ eNBs = nb_antennas_tx = 1; nb_antennas_rx = 1; tx_gain = 90; - rx_gain = 120; + rx_gain = 132; prach_root = 0; prach_config_index = 0; prach_high_speed = "DISABLE"; diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf index 7bc8e8593ac5297209ebad2acb2ca3cf2ac64b7c..4722040b07638f68bbdbcf2905499ffa32d499ea 100644 --- a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf +++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf @@ -35,7 +35,7 @@ eNBs = nb_antennas_tx = 1; nb_antennas_rx = 1; tx_gain = 90; - rx_gain = 119; + rx_gain = 132; prach_root = 0; prach_config_index = 0; prach_high_speed = "DISABLE"; diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.usrpb210.conf index 57a43fb4146d320c25580c96429639132c9a59e4..6e3357e49b5ee8cef961837ffeefbea21e3a29da 100644 --- a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.usrpb210.conf +++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.usrpb210.conf @@ -36,7 +36,7 @@ eNBs = nb_antennas_tx = 2; nb_antennas_rx = 2; tx_gain = 90; - rx_gain = 115; + rx_gain = 132; prach_root = 0; prach_config_index = 0; prach_high_speed = "DISABLE"; @@ -132,7 +132,7 @@ eNBs = }; ////////// MME parameters: - mme_ip_address = ( { ipv4 = "192.168.13.11"; + mme_ip_address = ( { ipv4 = "192.168.12.11"; ipv6 = "192:168:30::17"; active = "yes"; preference = "ipv4"; @@ -142,10 +142,10 @@ eNBs = NETWORK_INTERFACES : { ENB_INTERFACE_NAME_FOR_S1_MME = "eth0"; - ENB_IPV4_ADDRESS_FOR_S1_MME = "192.168.13.10/24"; + ENB_IPV4_ADDRESS_FOR_S1_MME = "192.168.12.213/24"; ENB_INTERFACE_NAME_FOR_S1U = "eth0"; - ENB_IPV4_ADDRESS_FOR_S1U = "192.168.13.10/24"; + ENB_IPV4_ADDRESS_FOR_S1U = "192.168.12.213/24"; ENB_PORT_FOR_S1U = 2152; # Spec 2152 }; diff --git a/targets/RT/USER/lte-softmodem.c b/targets/RT/USER/lte-softmodem.c index ec76faa87ede7b2fd08b8503b5162d5e37ae252f..2409f102a4c506649651a8e2ecd6d1cd944c59ad 100644 --- a/targets/RT/USER/lte-softmodem.c +++ b/targets/RT/USER/lte-softmodem.c @@ -316,6 +316,7 @@ static LTE_DL_FRAME_PARMS *frame_parms[MAX_NUM_CCs]; int multi_thread=1; uint32_t target_dl_mcs = 28; //maximum allowed mcs uint32_t target_ul_mcs = 10; +uint32_t timing_advance = 0; uint8_t exit_missed_slots=1; uint64_t num_missed_slots=0; // counter for the number of missed slots @@ -2059,7 +2060,7 @@ static void get_options (int argc, char **argv) {NULL, 0, NULL, 0} }; - while ((c = getopt_long (argc, argv, "a:C:dK:g:F:G:hqO:m:SUVRM:r:P:Ws:t:Tx:",long_options,NULL)) != -1) { + while ((c = getopt_long (argc, argv, "A:a:C:dK:g:F:G:hqO:m:SUVRM:r:P:Ws:t:Tx:",long_options,NULL)) != -1) { switch (c) { case LONG_OPTION_MAXPOWER: tx_max_power[0]=atoi(optarg); @@ -2134,6 +2135,10 @@ static void get_options (int argc, char **argv) #endif break; + case 'A': + timing_advance = atoi (optarg); + break; + case 'C': for (CC_id=0; CC_id<MAX_NUM_CCs; CC_id++) { downlink_frequency[CC_id][0] = atof(optarg); // Use float to avoid issue with frequency over 2^31. @@ -2794,7 +2799,7 @@ int main( int argc, char **argv ) PHY_vars_eNB_g[0] = malloc(sizeof(PHY_VARS_eNB*)); for (CC_id=0; CC_id<MAX_NUM_CCs; CC_id++) { - PHY_vars_eNB_g[0][CC_id] = init_lte_eNB(frame_parms[CC_id],0,Nid_cell,cooperation_flag,transmission_mode,abstraction_flag); + PHY_vars_eNB_g[0][CC_id] = init_lte_eNB(frame_parms[CC_id],0,frame_parms[CC_id]->Nid_cell,cooperation_flag,transmission_mode,abstraction_flag); PHY_vars_eNB_g[0][CC_id]->CC_id = CC_id; #ifndef OPENAIR2 @@ -2883,8 +2888,8 @@ int main( int argc, char **argv ) } else if (frame_parms[0]->N_RB_DL == 25) { openair0_cfg[card].sample_rate=7.68e6; openair0_cfg[card].samples_per_frame = 76800; - openair0_cfg[card].tx_bw = 2.5e6; - openair0_cfg[card].rx_bw = 2.5e6; + openair0_cfg[card].tx_bw = 5e6; + openair0_cfg[card].rx_bw = 5e6; } else if (frame_parms[0]->N_RB_DL == 6) { openair0_cfg[card].sample_rate=1.92e6; @@ -3065,7 +3070,7 @@ int main( int argc, char **argv ) // connect the TX/RX buffers if (UE_flag==1) { #ifdef OAI_USRP - openair_daq_vars.timing_advance = 0; + openair_daq_vars.timing_advance = timing_advance; #else openair_daq_vars.timing_advance = 160; #endif diff --git a/targets/RT/USER/lte-ue.c b/targets/RT/USER/lte-ue.c index 7aa2213d949dcc40af02580bdbf2f4e26324c287..973f10373ada60b0c9d482a9f89e6c817e008197 100644 --- a/targets/RT/USER/lte-ue.c +++ b/targets/RT/USER/lte-ue.c @@ -1020,6 +1020,10 @@ void *UE_thread(void *arg) openair0_timestamp timestamp; +#ifdef NAS_UE + MessageDef *message_p; +#endif + #ifdef RTAI RT_TASK *task = rt_task_init_schmod(nam2num("UE thread"), 0, 0, 0, SCHED_FIFO, 0xF); @@ -1075,6 +1079,11 @@ void *UE_thread(void *arg) printf("starting UE thread\n"); +#ifdef NAS_UE + message_p = itti_alloc_new_message(TASK_NAS_UE, INITIALIZE_MESSAGE); + itti_send_msg_to_task (TASK_NAS_UE, INSTANCE_DEFAULT, message_p); +#endif + T0 = rt_get_time_ns(); first_rx = 1; rxpos=0;