From cc8da80fbc49c5ea7231ea36f4ad76e0a093ccd4 Mon Sep 17 00:00:00 2001 From: Robert Schmidt Date: Thu, 13 Oct 2022 18:45:08 +0200 Subject: [PATCH 1/4] Remove EXMIMO leftover - Remove all files referencing EXMIMO - Remove all targets/variables/defines that seem to be related to EXMIMO --- CMakeLists.txt | 24 +---- cmake_targets/build_oai | 47 +--------- cmake_targets/epc_test/CMakeLists.template | 58 ------------ .../s1c_mme_test/CMakeLists.template | 63 ------------- cmake_targets/tools/build_helper | 1 - .../tools/example_enb_exmimo_mme_hss.txt | 91 ------------------- cmake_targets/tools/exmimo2_2arxg.lime | 10 -- cmake_targets/tools/exmimo2_2brxg.lime | 10 -- cmake_targets/tools/exmimo_stop_octave.m | 4 - executables/nr-softmodem-common.h | 3 +- executables/nr-ue.c | 4 +- executables/softmodem-common.h | 1 - openair1/PHY/LTE_TRANSPORT/print_stats.c | 12 --- openair1/PHY/LTE_UE_TRANSPORT/prach_ue.c | 12 --- .../PHY/NR_UE_TRANSPORT/nr_initial_sync.c | 2 +- openair1/PHY/TOOLS/calibration_test.c | 2 - openair1/PHY/TOOLS/smbv.h | 7 -- openair1/PHY/impl_defs_top.h | 6 -- openair1/PHY/impl_defs_top_NB_IoT.h | 6 -- openair1/SCHED_NR_UE/defs.h | 10 -- openair1/SCHED_NR_UE/phy_procedures_nr_ue.c | 10 +- openair1/SCHED_UE/phy_procedures_lte_ue.c | 34 ------- openair1/SCHED_UE/sched_UE.h | 8 -- openair2/LAYER2/MAC/ue_procedures.c | 9 -- .../LAYER2/RLC/UM_v9.3.0/rlc_um_segment.c | 3 - openair2/LAYER2/openair2_proc.c | 4 - openair2/RRC/LTE/rrc_eNB.c | 12 +-- openair2/RRC/LTE/rrc_eNB_S1AP.c | 8 -- sdr/BLADERF/USERSPACE/LIB/bladerf_lib.c | 5 +- sdr/COMMON/common_lib.c | 1 - sdr/COMMON/common_lib.h | 6 +- sdr/ETHERNET/USERSPACE/LIB/ethernet_lib.c | 4 +- sdr/ETHERNET/benetel/4g/benetel.c | 4 +- sdr/ETHERNET/benetel/5g/benetel.c | 4 +- sdr/IRIS/USERSPACE/LIB/iris_lib.cpp | 40 ++++---- sdr/LMSSDR/USERSPACE/LIB/lms_lib.cpp | 3 +- sdr/USRP/USERSPACE/LIB/usrp_lib.cpp | 21 ++--- sdr/rfsimulator/simulator.c | 2 +- targets/COMMON/openairinterface5g_limits.h | 63 ------------- targets/README.txt | 1 - targets/RT/LAUNCH_SCRIPTS/load_module.sh | 7 -- targets/RT/LAUNCH_SCRIPTS/nas_enb.sh | 21 ----- targets/RT/LAUNCH_SCRIPTS/nas_ue.sh | 18 ---- targets/RT/LAUNCH_SCRIPTS/nas_ue2.sh | 18 ---- targets/RT/LAUNCH_SCRIPTS/start_eNb_mode1.sh | 13 --- targets/RT/LAUNCH_SCRIPTS/start_eNb_mode2.sh | 10 -- targets/RT/LAUNCH_SCRIPTS/start_eNb_mode6.sh | 13 --- targets/RT/LAUNCH_SCRIPTS/start_emos.sh | 10 -- targets/RT/LAUNCH_SCRIPTS/start_rf.sh | 2 - targets/RT/LAUNCH_SCRIPTS/start_test_fs4.sh | 13 --- targets/RT/LAUNCH_SCRIPTS/start_ue.sh | 18 ---- targets/RT/LAUNCH_SCRIPTS/start_ue2.sh | 14 --- targets/RT/LAUNCH_SCRIPTS/stop_rf.sh | 7 -- targets/RT/USER/.runinfo | 40 -------- targets/RT/USER/eNB_exmimo2.gtkw | 64 ------------- targets/RT/USER/exmimo2_2arxg.lime | 10 -- targets/RT/USER/exmimo2_2brxg.lime | 10 -- targets/RT/USER/init_exmimo.sh | 12 --- targets/RT/USER/init_exmimo2.sh | 69 -------------- targets/RT/USER/lte-ru.c | 2 +- targets/RT/USER/lte-softmodem.h | 2 +- targets/RT/USER/lte-ue.c | 8 +- targets/RT/USER/lte-uesoftmodem.c | 3 - targets/RT/USER/ue_exmimo2.gtkw | 59 ------------ 64 files changed, 49 insertions(+), 1009 deletions(-) delete mode 100755 cmake_targets/epc_test/CMakeLists.template delete mode 100755 cmake_targets/s1c_mme_test/CMakeLists.template delete mode 100755 cmake_targets/tools/example_enb_exmimo_mme_hss.txt delete mode 100755 cmake_targets/tools/exmimo2_2arxg.lime delete mode 100755 cmake_targets/tools/exmimo2_2brxg.lime delete mode 100755 cmake_targets/tools/exmimo_stop_octave.m delete mode 100644 targets/RT/LAUNCH_SCRIPTS/load_module.sh delete mode 100644 targets/RT/LAUNCH_SCRIPTS/nas_enb.sh delete mode 100644 targets/RT/LAUNCH_SCRIPTS/nas_ue.sh delete mode 100644 targets/RT/LAUNCH_SCRIPTS/nas_ue2.sh delete mode 100644 targets/RT/LAUNCH_SCRIPTS/start_eNb_mode1.sh delete mode 100644 targets/RT/LAUNCH_SCRIPTS/start_eNb_mode2.sh delete mode 100644 targets/RT/LAUNCH_SCRIPTS/start_eNb_mode6.sh delete mode 100644 targets/RT/LAUNCH_SCRIPTS/start_emos.sh delete mode 100644 targets/RT/LAUNCH_SCRIPTS/start_rf.sh delete mode 100644 targets/RT/LAUNCH_SCRIPTS/start_test_fs4.sh delete mode 100644 targets/RT/LAUNCH_SCRIPTS/start_ue.sh delete mode 100644 targets/RT/LAUNCH_SCRIPTS/start_ue2.sh delete mode 100644 targets/RT/LAUNCH_SCRIPTS/stop_rf.sh delete mode 100644 targets/RT/USER/.runinfo delete mode 100644 targets/RT/USER/eNB_exmimo2.gtkw delete mode 100644 targets/RT/USER/exmimo2_2arxg.lime delete mode 100644 targets/RT/USER/exmimo2_2brxg.lime delete mode 100644 targets/RT/USER/init_exmimo.sh delete mode 100644 targets/RT/USER/init_exmimo2.sh delete mode 100644 targets/RT/USER/ue_exmimo2.gtkw diff --git a/CMakeLists.txt b/CMakeLists.txt index 06184ac619..baffcf32fa 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -50,7 +50,7 @@ include_directories(${CRYPTO_INCLUDE_DIRS}) #uhd 4.0 and iris installs by default in /usr/local include_directories("/usr/local/include/") #use native cmake method as this package is not in pkg-config -add_list2_option(RF_BOARD "None" "RF head type" "None" "OAI_USRP" "OAI_BLADERF" "OAI_LMSSDR" "OAI_SIMU" "EXMIMO") +add_list2_option(RF_BOARD "None" "RF head type" "None" "OAI_USRP" "OAI_BLADERF" "OAI_LMSSDR" "OAI_SIMU") if (${RF_BOARD} STREQUAL "OAI_USRP") find_package(Boost REQUIRED) @@ -904,8 +904,6 @@ add_boolean_option(LINUX_LIST False "used only in lists.c: either u ########################## # PHY options ########################## -add_boolean_option(DRIVER2013 True "only relevant for EXMIMO") -add_boolean_option(EXMIMO_IOT True "????") add_boolean_option(LOCALIZATION False "???") add_integer_option(MAX_NUM_CCs 1 "????") add_boolean_option(SMBV False "Rohde&Schwarz SMBV100A vector signal generator") @@ -3084,7 +3082,7 @@ if (${T_TRACER}) nr_ulschsim ldpctest polartest smallblocktest cu_test du_test #all "add_library" definitions ITTI RRC_LIB NR_RRC_LIB S1AP_LIB S1AP_ENB X2AP_LIB X2AP_ENB M2AP_LIB M2AP_ENB M3AP_LIB M3AP_ENB F1AP_LIB F1AP - params_libconfig oai_exmimodevif oai_usrpdevif oai_bladerfdevif oai_lmssdrdevif oai_iqplayer + params_libconfig oai_usrpdevif oai_bladerfdevif oai_lmssdrdevif oai_iqplayer oai_eth_transpro oai_mobipass coding FLPT_MSG FLEXRAN_AGENT HASHTABLE UTIL OMG_SUMO SECU_OSA SECU_CN SCHED_LIB SCHED_NR_LIB SCHED_RU_LIB SCHED_UE_LIB SCHED_NR_UE_LIB default_sched remote_sched RAL NFAPI_COMMON_LIB NFAPI_LIB NFAPI_PNF_LIB NFAPI_VNF_LIB NFAPI_USER_LIB @@ -3181,24 +3179,6 @@ if(OAI_NW_DRIVER_USE_NETLINK) endif() make_driver(ue_ip ${OPENAIR2_DIR}/NETWORK_DRIVER/UE_IP ${ue_ip_src}) - -foreach(file IN ITEMS ${OCT_FILES}) - string(REGEX REPLACE "oct *$" "cc" src ${file}) - add_custom_command( - OUTPUT ${file} - DEPENDS ${OCT_DIR}/${src} OPENAIR0_LIB - COMMAND mkoctfile - ARGS ${OCT_FLAGS} ${OCT_INCL} ${OCT_LIBS} - ARGS -o ${file} ${OCT_DIR}/${src} - COMMENT "Generating ${file}" - VERBATIM - ) -endforeach(file) - -ADD_CUSTOM_TARGET(oarf - DEPENDS ${OCT_FILES} -) - include (${OPENAIR_DIR}/common/utils/telnetsrv/telnetsrv_CMakeLists.txt) include(${OPENAIR1_DIR}/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/CMakeLists.txt) diff --git a/cmake_targets/build_oai b/cmake_targets/build_oai index 5ed0ea3c9b..aaa1bee646 100755 --- a/cmake_targets/build_oai +++ b/cmake_targets/build_oai @@ -110,7 +110,7 @@ Options: --UE-gen-nvram [output path] Specify gen_nvram_path (default \"$gen_nvram_path\") -w | --hardware - EXMIMO, USRP, BLADERF, LMSSDR, IRIS, ADRV9371_ZC706, SIMU, AW2SORI, None (Default) + USRP, BLADERF, LMSSDR, IRIS, ADRV9371_ZC706, SIMU, AW2SORI, None (Default) Adds this RF board support (in external packages installation and in compilation) -t | --transport Selects the transport protocol type, options: None, Ethernet, benetel4g, benetel5g @@ -172,13 +172,7 @@ Options: --sanitize-undefined | -fsanitize=undefined Enable the undefined behavior sanitizer on all targets -h | --help - Print this help - -Usage (first build): - NI/ETTUS B201 + COTS UE : ./build_oai -I -i --eNB -w USRP -Usage (regular): - Eurecom EXMIMO + OAI ENB : ./build_oai --eNB - NI/ETTUS B201 + OAI ENB : ./build_oai --eNB -w USRP" + Print this help" } @@ -293,9 +287,6 @@ function main() { -w | --hardware) # Use OAI_USRP as the key word USRP is used inside UHD driver case "$2" in - "EXMIMO") - HW="EXMIMO" - ;; "USRP" | "BLADERF" | "LMSSDR" | "IRIS" | "ADRV9371_ZC706" | "SIMU" | "AW2SORI") HW="OAI_"$2 ;; @@ -491,16 +482,6 @@ function main() { echo_info "RF HW set to $HW" # If the user doesn't specify the Linux scheduler to use, we set a value - if [ "$DEADLINE_SCHEDULER_FLAG_USER" = "" ]; then - case "$HW" in - "EXMIMO") - DEADLINE_SCHEDULER_FLAG_USER="True" - ;; - *) - DEADLINE_SCHEDULER_FLAG_USER="False" - ;; - esac - fi #Disable CPU Affinity for deadline scheduler if [ "$DEADLINE_SCHEDULER_FLAG_USER" = "True" ] ; then @@ -712,22 +693,6 @@ function main() { compilations $BUILD_DIR test_$f done fi - - #################################### - # EXMIMO drivers & firmware loader # - #################################### - if [ "$HW" = "EXMIMO" ] ; then - echo_info "Compiling Express MIMO 2 board drivers" - compilations $BUILD_DIR openair_rf - compilations $BUILD_DIR updatefw - echo_info "Compiling oarf tools. The logfile for compilation is here: $dlog/oarf.txt" - make -C $OPENAIR_DIR/cmake_targets/$BUILD_DIR/build oarf > $dlog/oarf.txt 2>&1 - if [ -s $OPENAIR_DIR/cmake_targets/$BUILD_DIR/build/oarf_config_exmimo.oct ] ; then - echo_success "oarf tools compiled" - else - echo_error "oarf tools compilation failed" - fi - fi ###################### # Optional libraries # @@ -747,13 +712,7 @@ function main() { if [ "$HW" != "None" ] ; then rm -f liboai_device.so - # link liboai_device.so with the selected RF device library - if [ "$HW" == "EXMIMO" ] ; then - compilations $BUILD_DIR oai_exmimodevif - - ln -sf liboai_exmimodevif.so liboai_device.so - echo_info "liboai_device.so is linked to EXMIMO device library" - elif [ "$HW" == "OAI_USRP" ] ; then + if [ "$HW" == "OAI_USRP" ] ; then compilations $BUILD_DIR oai_usrpdevif ln -sf liboai_usrpdevif.so liboai_device.so diff --git a/cmake_targets/epc_test/CMakeLists.template b/cmake_targets/epc_test/CMakeLists.template deleted file mode 100755 index 28da13437c..0000000000 --- a/cmake_targets/epc_test/CMakeLists.template +++ /dev/null @@ -1,58 +0,0 @@ -cmake_minimum_required(VERSION 2.8) - -set ( CMAKE_BUILD_TYPE "RelWithDebInfo" ) -set ( ASN_DEBUG False) -set ( DEBUG_OMG False ) -set ( DISABLE_XER_PRINT False ) -set ( DRIVER2013 True ) -set ( EMIT_ASN_DEBUG False ) -set ( ENABLE_ITTI True ) -set ( ENABLE_NAS_UE_LOGGING True ) -set ( ENABLE_NEW_MULTICAST True ) -set ( ENABLE_STANDALONE_EPC False) -set ( ENABLE_USE_CPU_EXECUTION_TIME True ) -set ( ENABLE_USE_MME True ) -set ( ENABLE_USE_RAW_SOCKET_FOR_SGI True) -set ( ENABLE_VCD_FIFO False ) -set ( ENB_MODE True ) -set ( EXMIMO_IOT True ) -set ( JUMBO_FRAME True ) -set ( LARGE_SCALE False ) -set ( LINK_ENB_PDCP_TO_GTPV1U True) -set ( LINUX_LIST False ) -set ( LINUX True ) -set ( LOCALIZATION False ) -set ( LOG_NO_THREAD True ) -set ( DEADLINE_SCHEDULER False ) -set ( MAC_CONTEXT 1 ) -set ( MAX_NUM_CCs 1 ) -set ( MSG_PRINT False ) -set ( MU_RECEIVER False ) -set ( NAS_ADDRESS_FIX False ) -set ( NAS_BUILT_IN_UE True) -set ( NAS_MME False ) -set ( NAS_UE True ) -set ( NB_ANTENNAS_RX "2" ) -set ( NB_ANTENNAS_TX "2" ) -set ( NO_RRM True ) -set ( OAISIM False ) -set ( OAI_NW_DRIVER_TYPE_ETHERNET False ) -set ( OAI_NW_DRIVER_USE_NETLINK True ) -set ( OPENAIR2 True ) -set ( OPENAIR_LTE True ) -set ( PACKAGE_NAME "epc_test" ) -set ( PDCP_USE_NETLINK True ) -set ( PDCP_MSG_PRINT False ) -set ( PHY_CONTEXT False ) -set ( PHY_EMUL False ) -set ( PHYSIM True ) -set ( RF_BOARD "False" ) -set ( RLC_STOP_ON_LOST_PDU False ) -set ( RRC_ASN1_VERSION "Rel10" ) -set ( RRC_DEFAULT_RAB_IS_AM True) -set ( RRC_MSG_PRINT False ) -set ( SECU False ) -set ( SMBV False ) -set ( TEST_OMG False ) -set ( USE_MME "R10" ) -set ( XER_PRINT True ) diff --git a/cmake_targets/s1c_mme_test/CMakeLists.template b/cmake_targets/s1c_mme_test/CMakeLists.template deleted file mode 100755 index d2d2d3e053..0000000000 --- a/cmake_targets/s1c_mme_test/CMakeLists.template +++ /dev/null @@ -1,63 +0,0 @@ -cmake_minimum_required(VERSION 2.8) - -set ( CMAKE_BUILD_TYPE "RelWithDebInfo" ) -set ( DEBUG_OMG False ) -set ( DISABLE_XER_PRINT False ) -set ( DRIVER2013 True ) -set ( ENABLE_ITTI True ) -set ( ENABLE_NAS_UE_LOGGING True ) -set ( ENABLE_NEW_MULTICAST True ) -set ( ENABLE_PDCP_NETLINK_FIFO False ) -set ( ENABLE_RAL False ) -set ( ENABLE_STANDALONE_EPC False) -set ( ENABLE_USE_CPU_EXECUTION_TIME True ) -set ( ENABLE_USE_MME True ) -set ( ENABLE_USE_RAW_SOCKET_FOR_SGI True) -set ( ENABLE_VCD_FIFO False ) -set ( ENB_MODE True ) -set ( EXMIMO_IOT True ) -set ( JUMBO_FRAME True ) -set ( LARGE_SCALE False ) -set ( LINK_ENB_PDCP_TO_GTPV1U True) -set ( LINUX_LIST False ) -set ( LINUX True ) -set ( LOCALIZATION False ) -set ( LOG_NO_THREAD True ) -set ( DEADLINE_SCHEDULER False ) -set ( MAC_CONTEXT 1 ) -set ( MAX_NUM_CCs 1 ) -set ( MSG_PRINT False ) -set ( MU_RECEIVER False ) -set ( NAS_ADDRESS_FIX False ) -set ( NAS_BUILT_IN_UE True) -set ( NAS_MME False ) -set ( NAS_UE True ) -set ( NB_ANTENNAS_RX "2" ) -set ( NB_ANTENNAS_TX "2" ) -set ( NO_RRM True ) -set ( OAISIM True ) -set ( OAI_NW_DRIVER_TYPE_ETHERNET False ) -set ( OAI_NW_DRIVER_USE_NETLINK True ) -set ( OPENAIR2 True ) -set ( OPENAIR_LTE True ) -set ( PACKAGE_NAME "oaisim" ) -set ( PDCP_USE_NETLINK True ) -set ( PDCP_MSG_PRINT False ) -set ( PHY_CONTEXT False ) -set ( PHY_EMUL False ) -set ( PHYSIM True ) -set ( RF_BOARD "False" ) -set ( RLC_STOP_ON_LOST_PDU False ) -set ( RRC_ASN1_VERSION "Rel10" ) -set ( RRC_DEFAULT_RAB_IS_AM True) -set ( RRC_MSG_PRINT False ) -set ( SECU False ) -set ( SMBV False ) -set ( TEST_OMG False ) - -set ( TEST_S1C_MME True ) - -set ( USE_3GPP_ADDR_AS_LINK_ADDR False ) -set ( USE_MME "R10" ) -set ( XER_PRINT False ) -set ( XFORMS False ) diff --git a/cmake_targets/tools/build_helper b/cmake_targets/tools/build_helper index adc0a636db..396c8dd4aa 100755 --- a/cmake_targets/tools/build_helper +++ b/cmake_targets/tools/build_helper @@ -160,7 +160,6 @@ clean_kernel() { echo_info "Flushed iptables" $SUDO rmmod nasmesh > /dev/null 2>&1 $SUDO rmmod oai_nw_drv > /dev/null 2>&1 - $SUDO rmmod openair_rf > /dev/null 2>&1 $SUDO rmmod ue_ip > /dev/null 2>&1 echo_info "removed drivers from kernel" } diff --git a/cmake_targets/tools/example_enb_exmimo_mme_hss.txt b/cmake_targets/tools/example_enb_exmimo_mme_hss.txt deleted file mode 100755 index b55266dfe7..0000000000 --- a/cmake_targets/tools/example_enb_exmimo_mme_hss.txt +++ /dev/null @@ -1,91 +0,0 @@ -#/* -# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more -# * contributor license agreements. See the NOTICE file distributed with -# * this work for additional information regarding copyright ownership. -# * The OpenAirInterface Software Alliance licenses this file to You under -# * the OAI Public License, Version 1.1 (the "License"); you may not use this file -# * except in compliance with the License. -# * You may obtain a copy of the License at -# * -# * http://www.openairinterface.org/?page_id=698 -# * -# * Unless required by applicable law or agreed to in writing, software -# * distributed under the License is distributed on an "AS IS" BASIS, -# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# * See the License for the specific language governing permissions and -# * limitations under the License. -# *------------------------------------------------------------------------------- -# * For more information about the OpenAirInterface (OAI) Software Alliance: -# * contact@openairinterface.org -# */ - -# file example_enb_exmimo_mme_hss.txt -# brief -# author Lionel Gauthier - -TODO: a document file, PDF for example, with nice pictures, etc -This example shows how to generate and launch enb, mme_gw, hss executables on the same host: - -################ -Configuration -################ -freediameter 1.2.0 (not 1.1.5, 1.1.6,...) has to be installed and patched (done by check_install_oai_software() calling install_freediameter_from_source() in script build_helper) - -Config File: -/etc/hosts must contain the fqdn of the MME and HSS (same since both run on the same host): -(assuming the realm is openair4G.eur) -127.0.0.1 localhost -127.0.1.1 yang.openair4G.eur yang -... - -################ -BUILDING, RUNNING -################ - -Building HSS: -yang@yang:~/openair4G/trunk/cmake_targets$ tools/build_hss -c --connect-to-mme yang.openair4G.eur -t -T --realm openair4G.eur - -Configuring the HSS: -In oai_db (easier for newbies to access HSS database through http://127.0.0.1/phpmyadmin) - In table mmeidentity, enter the record corresponding to your MME: - (idmmeidentity, mmehost, mmerealm) - In table pdn, enter the record allowing an IMSI to connect to an APN - In table users, enter the record corresponding to your USIM card. - -Running the HSS: -yang@yang:~/openair4G/trunk/cmake_targets$ sudo tools/run_hss -g - - - -Building the MME-GW: -yang@yang:~/openair4G/trunk/cmake_targets/tools$ ./build_epc -c -d -t -T --s6a-server - -Configuring the MME-GW: - You can configure in file openair4G/trunk/cmake_targets/tools/epc.local.enb.conf.in the following parameters: - MCC/MNC of your network - SGI interface (outgoing interface of the S/P-GW) - Integrity algorithms, Ciphering algorithms - Please note that DNS addresses are hardcoded in source code (TODO in list). - -Running the MME-GW: -yang@yang:~/openair4G/trunk/cmake_targets/tools$ sudo ./run_epc -l -g -K - - - -Building eNB: -yang@yang:~/openair4G/trunk/cmake_targets$ ./build_oai --eNB - -Running eNB: -yang@yang:~/openair4G/trunk/cmake_targets$ sudo tools/run_enb_s1_exmimo -c /home/yang/openair4G/trunk/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.yang.epc.eurecom.conf -S -K - - -################ -Tools available: -############### - -1) itti_analyser (list messages exchanged between protocol layers) -2) xforms (Layer 1) -3) vcd (timing mesurements) - - - diff --git a/cmake_targets/tools/exmimo2_2arxg.lime b/cmake_targets/tools/exmimo2_2arxg.lime deleted file mode 100755 index 0c24ef9992..0000000000 --- a/cmake_targets/tools/exmimo2_2arxg.lime +++ /dev/null @@ -1,10 +0,0 @@ -# this file contains the calibration values to compute the RSSI -# we can use three different gain stages (high, low, med) as well as a gain factor for fine tuning -# the three lines in this file gives the total rx gain in dB for the three gain stages if the rx gain is set to 30dB -# this is for Express MIMO2 without any additional RF frontend -# high gain -103 107 106 104 -# med gain -98 101 100 98 -# low gain (byp) -94 97 96 94 diff --git a/cmake_targets/tools/exmimo2_2brxg.lime b/cmake_targets/tools/exmimo2_2brxg.lime deleted file mode 100755 index e99c738cd0..0000000000 --- a/cmake_targets/tools/exmimo2_2brxg.lime +++ /dev/null @@ -1,10 +0,0 @@ -# this file contains the calibration values to compute the RSSI -# we can use three different gain stages (high, low, med) as well as a gain factor for fine tuning -# the three lines in this file gives the total rx gain in dB for the three gain stages if the rx gain is set to 30dB -# this is for Express MIMO2 without any additional RF frontend -# high gain -128 128 128 126 -# med gain -122 123 123 120 -# low gain (byp) -116 117 116 116 diff --git a/cmake_targets/tools/exmimo_stop_octave.m b/cmake_targets/tools/exmimo_stop_octave.m deleted file mode 100755 index 82aa1f2845..0000000000 --- a/cmake_targets/tools/exmimo_stop_octave.m +++ /dev/null @@ -1,4 +0,0 @@ -n=oarf_get_num_detected_cards; -for i=n-1:0 - oarf_stop(i); -end diff --git a/executables/nr-softmodem-common.h b/executables/nr-softmodem-common.h index 36eedd2d3b..6d1c384c5d 100644 --- a/executables/nr-softmodem-common.h +++ b/executables/nr-softmodem-common.h @@ -53,7 +53,7 @@ #define CONFIG_HLP_DLSHIFT "dynamic shift for LLR compuation for TM3/4 (default 0)\n" #define CONFIG_HLP_PHYTST "test UE phy layer, mac disabled\n" #define CONFIG_HLP_DORA "test gNB and UE with RA procedures\n" -#define CONFIG_HLP_DMAMAP "sets flag for improved EXMIMO UE performance\n" +#define CONFIG_HLP_DMAMAP "use DMA memory mapping\n" #define CONFIG_HLP_EXCCLK "tells hardware to use a clock reference (0:internal(default), 1:external, 2:gpsdo)\n" #define CONFIG_HLP_USIM "use XOR autentication algo in case of test usim mode\n" #define CONFIG_HLP_NOSNGLT "Disables single-thread mode in lte-softmodem\n" @@ -62,7 +62,6 @@ #define CONFIG_HLP_ULOFF "Set the uplink frequnecy offset for all component carriers\n" #define CONFIG_HLP_CHOFF "Channel id offset\n" #define CONFIG_HLP_SOFTS "Enable soft scope and L1 and L2 stats (Xforms)\n" -#define CONFIG_HLP_EXMCAL "Calibrate the EXMIMO borad, available files: exmimo2_2arxg.lime exmimo2_2brxg.lime \n" #define CONFIG_HLP_ITTIL "Generate ITTI analyzser logs (similar to wireshark logs but with more details)\n" #define CONFIG_HLP_DLMCS_PHYTEST "Set the downlink MCS for PHYTEST mode\n" #define CONFIG_HLP_DLNL_PHYTEST "Set the downlink nrOfLayers for PHYTEST mode\n" diff --git a/executables/nr-ue.c b/executables/nr-ue.c index 1781ea3d91..030a8c3c48 100644 --- a/executables/nr-ue.c +++ b/executables/nr-ue.c @@ -572,7 +572,7 @@ static void UE_synch(void *arg) { openair0_cfg[UE->rf_map.card].rx_freq[0], openair0_cfg[UE->rf_map.card].tx_freq[0]); - UE->rfdevice.trx_set_freq_func(&UE->rfdevice,&openair0_cfg[0],0); + UE->rfdevice.trx_set_freq_func(&UE->rfdevice,&openair0_cfg[0]); if (UE->UE_scan_carrier == 1) { UE->UE_scan_carrier = 0; } else { @@ -591,7 +591,7 @@ static void UE_synch(void *arg) { LOG_I(PHY, "Initial sync failed: trying carrier off %d Hz\n", freq_offset); - UE->rfdevice.trx_set_freq_func(&UE->rfdevice,&openair0_cfg[0],0); + UE->rfdevice.trx_set_freq_func(&UE->rfdevice,&openair0_cfg[0]); } } break; diff --git a/executables/softmodem-common.h b/executables/softmodem-common.h index f0e60f54aa..67def9e2ef 100644 --- a/executables/softmodem-common.h +++ b/executables/softmodem-common.h @@ -67,7 +67,6 @@ extern "C" #define CONFIG_HLP_ULF "Set the uplink frequency offset for all component carriers\n" #define CONFIG_HLP_CHOFF "Channel id offset\n" #define CONFIG_HLP_SOFTS "Enable soft scope and L1 and L2 stats (Xforms)\n" -#define CONFIG_HLP_EXMCAL "Calibrate the EXMIMO borad, available files: exmimo2_2arxg.lime exmimo2_2brxg.lime \n" #define CONFIG_HLP_ITTIL "Generate ITTI analyzser logs (similar to wireshark logs but with more details)\n" #define CONFIG_HLP_DLMCS "Set the maximum downlink MCS\n" #define CONFIG_HLP_STMON "Enable processing timing measurement of lte softmodem on per subframe basis \n" diff --git a/openair1/PHY/LTE_TRANSPORT/print_stats.c b/openair1/PHY/LTE_TRANSPORT/print_stats.c index 44f57f4304..bdd3cb6f45 100644 --- a/openair1/PHY/LTE_TRANSPORT/print_stats.c +++ b/openair1/PHY/LTE_TRANSPORT/print_stats.c @@ -81,9 +81,6 @@ int dump_ue_stats(PHY_VARS_UE *ue, UE_rxtx_proc_t *proc,char *buffer, int length ue->measurements.n0_power_dB[0], ue->measurements.n0_power_dB[1]); */ -#ifdef EXMIMO - len += sprintf(&buffer[len], "[UE PROC] RX Gain %d dB (LNA %d, vga %d dB)\n",ue->rx_total_gain_dB, openair0_cfg[0].rxg_mode[0],(int)openair0_cfg[0].rx_gain[0]); -#endif len += sprintf(&buffer[len], "[UE PROC] RX Gain %d dB\n",ue->rx_total_gain_dB); len += sprintf(&buffer[len], "[UE_PROC] Frequency offset %d Hz, estimated carrier frequency %f Hz\n",ue->common_vars.freq_offset,openair0_cfg[0].rx_freq[0]-ue->common_vars.freq_offset); len += sprintf(&buffer[len], "[UE PROC] UE mode = %s (%d)\n",mode_string[ue->UE_mode[0]],ue->UE_mode[0]); @@ -496,15 +493,6 @@ int dump_ue_stats(PHY_VARS_UE *ue, UE_rxtx_proc_t *proc,char *buffer, int length 10*log10(ue->measurements.n0_power_tot), ue->measurements.n0_power_dB[0], ue->measurements.n0_power_dB[1]); -#ifdef EXMIMO - ue->rx_total_gain_dB = ((int)(10*log10(ue->measurements.rssi)))-input_level_dBm; - len += sprintf(&buffer[len], "[UE PROC] rxg_mode %d, input level (set by user) %d dBm, VGA gain %d dB ==> total gain %3.2f dB, noise figure %3.2f dB\n", - openair0_cfg[0].rxg_mode[0], - input_level_dBm, - (int)openair0_cfg[0].rx_gain[0], - 10*log10(ue->measurements.rssi)-input_level_dBm, - 10*log10(ue->measurements.n0_power_tot)-ue->rx_total_gain_dB+105); -#endif } len += sprintf(&buffer[len],"EOF\n"); diff --git a/openair1/PHY/LTE_UE_TRANSPORT/prach_ue.c b/openair1/PHY/LTE_UE_TRANSPORT/prach_ue.c index 4faa8367c3..6c05990929 100644 --- a/openair1/PHY/LTE_UE_TRANSPORT/prach_ue.c +++ b/openair1/PHY/LTE_UE_TRANSPORT/prach_ue.c @@ -481,18 +481,6 @@ int32_t generate_prach( PHY_VARS_UE *ue, uint8_t eNB_id, uint8_t subframe, uint1 ((int16_t *)ue->common_vars.txdata[0])[2*i+1] = prach[2*j+1]; } -#if defined(EXMIMO) - - // handle switch before 1st TX subframe, guarantee that the slot prior to transmission is switch on - for (k=prach_start - (ue->frame_parms.samples_per_tti>>1) ; kcommon_vars.txdata[0][k+ue->frame_parms.samples_per_tti*LTE_NUMBER_OF_SUBFRAMES_PER_FRAME] &= 0xFFFEFFFE; - else if (k>(ue->frame_parms.samples_per_tti*LTE_NUMBER_OF_SUBFRAMES_PER_FRAME)) - ue->common_vars.txdata[0][k-ue->frame_parms.samples_per_tti*LTE_NUMBER_OF_SUBFRAMES_PER_FRAME] &= 0xFFFEFFFE; - else - ue->common_vars.txdata[0][k] &= 0xFFFEFFFE; - } -#endif #if defined(PRACH_WRITE_OUTPUT_DEBUG) LOG_M("prach_txF0.m","prachtxF0",prachF,prach_len-Ncp,1,1); diff --git a/openair1/PHY/NR_UE_TRANSPORT/nr_initial_sync.c b/openair1/PHY/NR_UE_TRANSPORT/nr_initial_sync.c index efaf386fe1..94ffee4fc5 100644 --- a/openair1/PHY/NR_UE_TRANSPORT/nr_initial_sync.c +++ b/openair1/PHY/NR_UE_TRANSPORT/nr_initial_sync.c @@ -456,7 +456,7 @@ int nr_initial_sync(UE_nr_rxtx_proc_t *proc, phich_string[fp->phich_config_common.phich_resource], fp->nb_antenna_ports_gNB);*/ -#if defined(OAI_USRP) || defined(EXMIMO) || defined(OAI_BLADERF) || defined(OAI_LMSSDR) || defined(OAI_ADRV9371_ZC706) +#if defined(OAI_USRP) || defined(OAI_BLADERF) || defined(OAI_LMSSDR) || defined(OAI_ADRV9371_ZC706) LOG_I(PHY, "[UE %d] Measured Carrier Frequency %.0f Hz (offset %d Hz)\n", ue->Mod_id, openair0_cfg[0].rx_freq[0]+ue->common_vars.freq_offset, diff --git a/openair1/PHY/TOOLS/calibration_test.c b/openair1/PHY/TOOLS/calibration_test.c index 9e611b6766..838f6293f7 100644 --- a/openair1/PHY/TOOLS/calibration_test.c +++ b/openair1/PHY/TOOLS/calibration_test.c @@ -108,7 +108,6 @@ int main(int argc, char **argv) { //! timing_source .time_source=internal, //internal gpsdo external //! Manual SDR IP address - //#if defined(EXMIMO) || defined(OAI_USRP) || defined(OAI_BLADERF) || defined(OAI_LMSSDR) .sdr_addrs=usrp_addrs, //! Auto calibration flag .autocal={0}, @@ -260,7 +259,6 @@ int main(int argc, char **argv) { /*! \brief Set RX feaquencies * \param device the hardware to use * \param openair0_cfg RF frontend parameters set by application - * \param exmimo_dump_config dump EXMIMO configuration * \returns 0 in success */ .trx_set_freq_func=NULL, diff --git a/openair1/PHY/TOOLS/smbv.h b/openair1/PHY/TOOLS/smbv.h index f8fab67d01..47b9130121 100644 --- a/openair1/PHY/TOOLS/smbv.h +++ b/openair1/PHY/TOOLS/smbv.h @@ -48,13 +48,6 @@ #define MAX_CONFIG_FRAMES 4 unsigned short slen; // sequence length in frames, max is 4 -/* -#ifdef EXMIMO -const unsigned short config_frames[MAX_CONFIG_FRAMES]; -#else -extern const unsigned short config_frames[MAX_CONFIG_FRAMES]; -#endif -*/ // function sends the config file "fname" to SMBV through socket sockfd int smbv_configure_from_file(int sockfd, const char* fname); diff --git a/openair1/PHY/impl_defs_top.h b/openair1/PHY/impl_defs_top.h index ad68bc5769..c28a5b4f7e 100644 --- a/openair1/PHY/impl_defs_top.h +++ b/openair1/PHY/impl_defs_top.h @@ -175,15 +175,9 @@ #define NB_ANTENNA_PORTS_ENB 6 // total number of eNB antenna ports -#ifdef EXMIMO -#define TARGET_RX_POWER 55 // Target digital power for the AGC -#define TARGET_RX_POWER_MAX 55 // Maximum digital power, such that signal does not saturate (value found by simulation) -#define TARGET_RX_POWER_MIN 50 // Minimum digital power, anything below will be discarded (value found by simulation) -#else #define TARGET_RX_POWER 50 // Target digital power for the AGC #define TARGET_RX_POWER_MAX 65 // Maximum digital power, such that signal does not saturate (value found by simulation) #define TARGET_RX_POWER_MIN 35 // Minimum digital power, anything below will be discarded (value found by simulation) -#endif //the min and max gains have to match the calibrated gain table //#define MAX_RF_GAIN 160 diff --git a/openair1/PHY/impl_defs_top_NB_IoT.h b/openair1/PHY/impl_defs_top_NB_IoT.h index f7e0c7ff7f..bfabb59c12 100644 --- a/openair1/PHY/impl_defs_top_NB_IoT.h +++ b/openair1/PHY/impl_defs_top_NB_IoT.h @@ -179,15 +179,9 @@ #define NB_ANTENNA_PORTS_ENB 6 // total number of eNB antenna ports -#ifdef EXMIMO -#define TARGET_RX_POWER 55 // Target digital power for the AGC -#define TARGET_RX_POWER_MAX 55 // Maximum digital power, such that signal does not saturate (value found by simulation) -#define TARGET_RX_POWER_MIN 50 // Minimum digital power, anything below will be discarded (value found by simulation) -#else #define TARGET_RX_POWER 50 // Target digital power for the AGC #define TARGET_RX_POWER_MAX 65 // Maximum digital power, such that signal does not saturate (value found by simulation) #define TARGET_RX_POWER_MIN 35 // Minimum digital power, anything below will be discarded (value found by simulation) -#endif //the min and max gains have to match the calibrated gain table //#define MAX_RF_GAIN 160 diff --git a/openair1/SCHED_NR_UE/defs.h b/openair1/SCHED_NR_UE/defs.h index c4436341fc..57fde873e9 100644 --- a/openair1/SCHED_NR_UE/defs.h +++ b/openair1/SCHED_NR_UE/defs.h @@ -143,16 +143,6 @@ void processSlotTX(void *arg); @param abstraction_flag Indicator of PHY abstraction @param r_type indicates the relaying operation: 0: no_relaying, 1: unicast relaying type 1, 2: unicast relaying type 2, 3: multicast relaying */ -//void phy_procedures_UE_S_TX(PHY_VARS_NR_UE *ue,uint8_t eNB_id,uint8_t abstraction_flag,relaying_type_t r_type); - -/*! \brief Scheduling for UE RX procedures in TDD S-subframes. - @param phy_vars_ue Pointer to UE variables on which to act - @param eNB_id Local id of eNB on which to act - @param abstraction_flag Indicator of PHY abstraction - @param r_type indicates the relaying operation: 0: no_relaying, 1: unicast relaying type 1, 2: unicast relaying type 2, 3: multicast relaying -*/ -//void phy_procedures_UE_S_RX(PHY_VARS_NR_UE *ue,uint8_t eNB_id,uint8_t abstraction_flag, relaying_type_t r_type); - /*! \brief Function to compute subframe type as a function of Frame type and TDD Configuration (implements Table 4.2.2 from 36.211, p.11 from version 8.6) and subframe index. @param frame_parms Pointer to DL frame parameter descriptor diff --git a/openair1/SCHED_NR_UE/phy_procedures_nr_ue.c b/openair1/SCHED_NR_UE/phy_procedures_nr_ue.c index d74e5ee0e8..e131bcef2a 100644 --- a/openair1/SCHED_NR_UE/phy_procedures_nr_ue.c +++ b/openair1/SCHED_NR_UE/phy_procedures_nr_ue.c @@ -78,7 +78,7 @@ fifo_dump_emos_UE emos_dump_UE; char nr_mode_string[NUM_UE_MODE][20] = {"NOT SYNCHED","PRACH","RAR","RA_WAIT_CR", "PUSCH", "RESYNCH"}; -#if defined(EXMIMO) || defined(OAI_USRP) || defined(OAI_BLADERF) || defined(OAI_LMSSDR) || defined(OAI_ADRV9371_ZC706) +#if defined(OAI_USRP) || defined(OAI_BLADERF) || defined(OAI_LMSSDR) || defined(OAI_ADRV9371_ZC706) extern uint64_t downlink_frequency[MAX_NUM_CCs][4]; #endif @@ -1808,14 +1808,6 @@ void nr_ue_prach_procedures(PHY_VARS_NR_UE *ue, UE_nr_rxtx_proc_t *proc, uint8_t ue->prach_vars[gNB_id]->amp = AMP; - /* #if defined(EXMIMO) || defined(OAI_USRP) || defined(OAI_BLADERF) || defined(OAI_LMSSDR) || defined(OAI_ADRV9371_ZC706) - tx_amp = get_tx_amp_prach(ue->tx_power_dBm[nr_slot_tx], ue->tx_power_max_dBm, ue->frame_parms.N_RB_UL); - if (tx_amp != -1) - ue->prach_vars[gNB_id]->amp = tx_amp; - #else - ue->prach_vars[gNB_id]->amp = AMP; - #endif */ - VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_UE_GENERATE_PRACH, VCD_FUNCTION_IN); prach_power = generate_nr_prach(ue, gNB_id, frame_tx, nr_slot_tx); diff --git a/openair1/SCHED_UE/phy_procedures_lte_ue.c b/openair1/SCHED_UE/phy_procedures_lte_ue.c index cdf4cf39f9..08c199943e 100644 --- a/openair1/SCHED_UE/phy_procedures_lte_ue.c +++ b/openair1/SCHED_UE/phy_procedures_lte_ue.c @@ -1210,19 +1210,6 @@ void ulsch_common_procedures(PHY_VARS_UE *ue, ((short *)ue->common_vars.txdata[aa])[2*k+1] = ((short *)dummy_tx_buffer)[2*l+1]; } -#if defined(EXMIMO) - - // handle switch before 1st TX subframe, guarantee that the slot prior to transmission is switch on - for (k=ulsch_start - (frame_parms->samples_per_tti>>1) ; kcommon_vars.txdata[aa][k+frame_parms->samples_per_tti*LTE_NUMBER_OF_SUBFRAMES_PER_FRAME] &= 0xFFFEFFFE; - else if (k>(frame_parms->samples_per_tti*LTE_NUMBER_OF_SUBFRAMES_PER_FRAME)) - ue->common_vars.txdata[aa][k-frame_parms->samples_per_tti*LTE_NUMBER_OF_SUBFRAMES_PER_FRAME] &= 0xFFFEFFFE; - else - ue->common_vars.txdata[aa][k] &= 0xFFFEFFFE; - } -#endif - /* only for debug LOG_I(PHY,"ul-signal [subframe: %d, ulsch_start %d, TA: %d, rxOffset: %d, timing_advance: %d, hw_timing_advance: %d]\n",subframe_tx, ulsch_start, ue->N_TA_offset, ue->rx_offset, ue->timing_advance, ue->hw_timing_advance); @@ -2236,27 +2223,6 @@ void phy_procedures_UE_TX(PHY_VARS_UE *ue, } } -void phy_procedures_UE_S_TX(PHY_VARS_UE *ue, - uint8_t eNB_id, - uint8_t abstraction_flag) { - int aa;//i,aa; - LTE_DL_FRAME_PARMS *frame_parms=&ue->frame_parms; - - for (aa=0; aanb_antennas_tx; aa++) { -#if defined(EXMIMO) //this is the EXPRESS MIMO case - int i; - - // set the whole tx buffer to RX - for (i=0; isamples_per_tti; i++) - ue->common_vars.txdata[aa][i] = 0x00010001; - -#else //this is the normal case - // memset(&ue->common_vars.txdata[aa][0],0, - // (LTE_NUMBER_OF_SUBFRAMES_PER_FRAME*frame_parms->samples_per_tti)*sizeof(int32_t)); -#endif //else EXMIMO - } -} - void ue_measurement_procedures(uint16_t l, // symbol index of each slot [0..6] PHY_VARS_UE *ue, UE_rxtx_proc_t *proc, diff --git a/openair1/SCHED_UE/sched_UE.h b/openair1/SCHED_UE/sched_UE.h index 0dbb779630..1c9f9a391d 100644 --- a/openair1/SCHED_UE/sched_UE.h +++ b/openair1/SCHED_UE/sched_UE.h @@ -70,14 +70,6 @@ int phy_procedures_slot_parallelization_UE_RX(PHY_VARS_UE *ue,UE_rxtx_proc_t *pr void *UE_thread_slot1_dl_processing(void *arg); #endif -/*! \brief Scheduling for UE TX procedures in TDD S-subframes. - @param phy_vars_ue Pointer to UE variables on which to act - @param eNB_id Local id of eNB on which to act - @param abstraction_flag Indicator of PHY abstraction - @param r_type indicates the relaying operation: 0: no_relaying, 1: unicast relaying type 1, 2: unicast relaying type 2, 3: multicast relaying -*/ -void phy_procedures_UE_S_TX(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t abstraction_flag); - /*! \brief Scheduling for UE RX procedures in TDD S-subframes. @param phy_vars_ue Pointer to UE variables on which to act @param eNB_id Local id of eNB on which to act diff --git a/openair2/LAYER2/MAC/ue_procedures.c b/openair2/LAYER2/MAC/ue_procedures.c index d7796d1d40..2c04bc247c 100644 --- a/openair2/LAYER2/MAC/ue_procedures.c +++ b/openair2/LAYER2/MAC/ue_procedures.c @@ -29,10 +29,6 @@ * \email: raymond.knopp@eurecom.fr, navid.nikaein@eurecom.fr javier.morgade@ieee.org */ -#ifdef EXMIMO - #include -#endif - #include "mac_extern.h" #include "mac.h" #include "mac_proto.h" @@ -2974,11 +2970,6 @@ ue_scheduler(const module_id_t module_idP, } while (msg_p != NULL); } - //Mac_rlc_xface->frameP=frameP; - //Rrc_xface->Frame_index=Mac_rlc_xface->frameP; - //if (subframe%5 == 0) - //LG#ifdef EXMIMO - // data to/from NETLINK is treated in pdcp_run. // one socket is used in multiple UE's L2 FAPI simulator and // only first UE need to do this. diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_segment.c b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_segment.c index 4c047e3d92..7b77152e32 100644 --- a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_segment.c +++ b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_segment.c @@ -364,9 +364,6 @@ rlc_um_segment_10 (const protocol_ctxt_t* const ctxt_pP, rlc_um_entity_t *rlc_pP sdu_mngt_p->sdu_remaining_size, pdu_remaining_size - sdu_mngt_p->sdu_remaining_size); #endif -//#if !EXMIMO -// assert(1!=1); -//#endif memcpy(data, data_sdu_p, sdu_mngt_p->sdu_remaining_size); // reduce the size of the PDU continue_fill_pdu_with_sdu = 0; diff --git a/openair2/LAYER2/openair2_proc.c b/openair2/LAYER2/openair2_proc.c index 7ffdc75195..6ef447df5f 100644 --- a/openair2/LAYER2/openair2_proc.c +++ b/openair2/LAYER2/openair2_proc.c @@ -85,11 +85,7 @@ int dump_eNB_l2_stats(char *buffer, int length) { unsigned int stat_timer_reordering_timed_out; unsigned int stat_timer_poll_retransmit_timed_out; unsigned int stat_timer_status_prohibit_timed_out; -#ifdef EXMIMO - number_of_cards=1; -#else number_of_cards=NB_eNB_INST; -#endif eNB_MAC_INST *eNB; UE_info_t *UE_info; diff --git a/openair2/RRC/LTE/rrc_eNB.c b/openair2/RRC/LTE/rrc_eNB.c index fb72899458..57f775f0f7 100644 --- a/openair2/RRC/LTE/rrc_eNB.c +++ b/openair2/RRC/LTE/rrc_eNB.c @@ -1908,9 +1908,6 @@ rrc_eNB_process_RRCConnectionReestablishmentComplete( (LTE_DRB_ToReleaseList_t *)NULL, // DRB2_list, (struct LTE_SPS_Config *)NULL, // maybe ue_context_pP->ue_context.sps_Config, (struct LTE_PhysicalConfigDedicated *)ue_context_pP->ue_context.physicalConfigDedicated, - //#ifdef EXMIMO_IOT - // NULL, NULL, NULL,NULL, - //#else measurements_enabled ? (LTE_MeasObjectToAddModList_t *)MeasObj_list : NULL, // MeasObj_list, measurements_enabled ? (LTE_ReportConfigToAddModList_t *)ReportConfig_list : NULL, // ReportConfig_list, measurements_enabled ? (LTE_QuantityConfig_t *)quantityConfig : NULL, //quantityConfig, @@ -2889,7 +2886,7 @@ void rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t /* Avoid gcc warnings */ (void)PDCP_rlc_AM; (void)PDCP_rlc_UM; -#ifdef RRC_DEFAULT_RAB_IS_AM // EXMIMO_IOT +#ifdef RRC_DEFAULT_RAB_IS_AM PDCP_rlc_AM = CALLOC(1, sizeof(*PDCP_rlc_AM)); DRB_pdcp_config->rlc_AM = PDCP_rlc_AM; PDCP_rlc_AM->statusReportRequired = false; @@ -3652,7 +3649,7 @@ flexran_rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt /* Avoid gcc warnings */ (void)PDCP_rlc_AM; (void)PDCP_rlc_UM; -#ifdef RRC_DEFAULT_RAB_IS_AM // EXMIMO_IOT +#ifdef RRC_DEFAULT_RAB_IS_AM PDCP_rlc_AM = CALLOC(1, sizeof(*PDCP_rlc_AM)); DRB_pdcp_config->rlc_AM = PDCP_rlc_AM; PDCP_rlc_AM->statusReportRequired = 0; // FALSE @@ -5328,7 +5325,7 @@ rrc_eNB_generate_HO_RRCConnectionReconfiguration(const protocol_ctxt_t *const ct /* avoid gcc warnings */ (void)PDCP_rlc_AM; (void)PDCP_rlc_UM; -#ifdef RRC_DEFAULT_RAB_IS_AM // EXMIMO_IOT +#ifdef RRC_DEFAULT_RAB_IS_AM PDCP_rlc_AM = CALLOC(1, sizeof(*PDCP_rlc_AM)); DRB_pdcp_config->rlc_AM = PDCP_rlc_AM; PDCP_rlc_AM->statusReportRequired = 0; // FALSE @@ -6084,9 +6081,6 @@ rrc_eNB_generate_HO_RRCConnectionReconfiguration(const protocol_ctxt_t *const ct NULL, // DRB2_list, (struct LTE_SPS_Config *)NULL, // *sps_Config, (struct LTE_PhysicalConfigDedicated *)*physicalConfigDedicated, - //#ifdef EXMIMO_IOT - // NULL, NULL, NULL,NULL, - //#else measurements_enabled ? (LTE_MeasObjectToAddModList_t *)MeasObj_list : NULL, measurements_enabled ? (LTE_ReportConfigToAddModList_t *)ReportConfig_list : NULL, measurements_enabled ? (LTE_QuantityConfig_t *)quantityConfig : NULL, diff --git a/openair2/RRC/LTE/rrc_eNB_S1AP.c b/openair2/RRC/LTE/rrc_eNB_S1AP.c index 7154b34962..e017083fcc 100644 --- a/openair2/RRC/LTE/rrc_eNB_S1AP.c +++ b/openair2/RRC/LTE/rrc_eNB_S1AP.c @@ -959,14 +959,6 @@ int rrc_eNB_process_S1AP_INITIAL_CONTEXT_SETUP_REQ(MessageDef *msg_p, const char S1AP_INITIAL_CONTEXT_SETUP_REQ(msg_p).security_key); { uint8_t send_security_mode_command = true; -#ifndef EXMIMO_IOT - - if ((ue_context_p->ue_context.ciphering_algorithm == SecurityAlgorithmConfig__cipheringAlgorithm_eea0) - && (ue_context_p->ue_context.integrity_algorithm == INTEGRITY_ALGORITHM_NONE)) { - send_security_mode_command = false; - } - -#endif rrc_pdcp_config_security( &ctxt, ue_context_p, diff --git a/sdr/BLADERF/USERSPACE/LIB/bladerf_lib.c b/sdr/BLADERF/USERSPACE/LIB/bladerf_lib.c index eb1873cc66..e79f1e5f47 100644 --- a/sdr/BLADERF/USERSPACE/LIB/bladerf_lib.c +++ b/sdr/BLADERF/USERSPACE/LIB/bladerf_lib.c @@ -284,12 +284,9 @@ int trx_brf_stop(openair0_device* device) /*! \brief Set frequencies (TX/RX) * \param device the hardware to use * \param openair0_cfg1 openair0 Config structure (ignored. It is there to comply with RF common API) - * \param exmimo_dump_config (ignored) * \returns 0 in success */ -int trx_brf_set_freq(openair0_device* device, - openair0_config_t *openair0_cfg1, - int exmimo_dump_config) +int trx_brf_set_freq(openair0_device* device, openair0_config_t *openair0_cfg1) { int status; brf_state_t *brf = (brf_state_t *)device->priv; diff --git a/sdr/COMMON/common_lib.c b/sdr/COMMON/common_lib.c index 4d681b8d62..a17fcb85c8 100644 --- a/sdr/COMMON/common_lib.c +++ b/sdr/COMMON/common_lib.c @@ -45,7 +45,6 @@ const char* devtype_names[MAX_RF_DEV_TYPE] = { "", - "EXMIMO", "USRP B200", "USRP X300", "USRP N300", diff --git a/sdr/COMMON/common_lib.h b/sdr/COMMON/common_lib.h index 71607cb27f..ab8f4ef85c 100644 --- a/sdr/COMMON/common_lib.h +++ b/sdr/COMMON/common_lib.h @@ -83,8 +83,6 @@ typedef enum { */ typedef enum { MIN_RF_DEV_TYPE = 0, - /*!\brief device is ExpressMIMO */ - EXMIMO_DEV, /*!\brief device is USRP B200/B210*/ USRP_B200_DEV, /*!\brief device is USRP X300/X310*/ @@ -226,7 +224,6 @@ typedef struct { //! timing_source clock_source_t time_source; //! Manual SDR IP address - //#if defined(EXMIMO) || defined(OAI_USRP) || defined(OAI_BLADERF) || defined(OAI_LMSSDR) char *sdr_addrs; //! Auto calibration flag int autocal[4]; @@ -500,10 +497,9 @@ struct openair0_device_t { /*! \brief Set RX feaquencies * \param device the hardware to use * \param openair0_cfg RF frontend parameters set by application - * \param exmimo_dump_config dump EXMIMO configuration * \returns 0 in success */ - int (*trx_set_freq_func)(openair0_device *device, openair0_config_t *openair0_cfg,int exmimo_dump_config); + int (*trx_set_freq_func)(openair0_device *device, openair0_config_t *openair0_cfg); /*! \brief Set gains * \param device the hardware to use diff --git a/sdr/ETHERNET/USERSPACE/LIB/ethernet_lib.c b/sdr/ETHERNET/USERSPACE/LIB/ethernet_lib.c index dfb136749b..eb23ef28cc 100644 --- a/sdr/ETHERNET/USERSPACE/LIB/ethernet_lib.c +++ b/sdr/ETHERNET/USERSPACE/LIB/ethernet_lib.c @@ -252,9 +252,7 @@ int trx_eth_stop(openair0_device *device) { } -int trx_eth_set_freq(openair0_device* device, - openair0_config_t *openair0_cfg, - int exmimo_dump_config) +int trx_eth_set_freq(openair0_device* device, openair0_config_t *openair0_cfg) { return(0); } diff --git a/sdr/ETHERNET/benetel/4g/benetel.c b/sdr/ETHERNET/benetel/4g/benetel.c index d3b72463b4..410a643089 100644 --- a/sdr/ETHERNET/benetel/4g/benetel.c +++ b/sdr/ETHERNET/benetel/4g/benetel.c @@ -57,9 +57,7 @@ int trx_benetel_stop(openair0_device *device) } -int trx_benetel_set_freq(openair0_device* device, - openair0_config_t *openair0_cfg, - int exmimo_dump_config) +int trx_benetel_set_freq(openair0_device* device, openair0_config_t *openair0_cfg) { printf("BENETEL: %s\n", __FUNCTION__); return(0); diff --git a/sdr/ETHERNET/benetel/5g/benetel.c b/sdr/ETHERNET/benetel/5g/benetel.c index cededa968e..79a9109868 100644 --- a/sdr/ETHERNET/benetel/5g/benetel.c +++ b/sdr/ETHERNET/benetel/5g/benetel.c @@ -56,9 +56,7 @@ int trx_benetel_stop(openair0_device *device) } -int trx_benetel_set_freq(openair0_device* device, - openair0_config_t *openair0_cfg, - int exmimo_dump_config) +int trx_benetel_set_freq(openair0_device* device, openair0_config_t *openair0_cfg) { printf("BENETEL: %s\n", __FUNCTION__); return(0); diff --git a/sdr/IRIS/USERSPACE/LIB/iris_lib.cpp b/sdr/IRIS/USERSPACE/LIB/iris_lib.cpp index 488876a4bc..94e9adf54d 100644 --- a/sdr/IRIS/USERSPACE/LIB/iris_lib.cpp +++ b/sdr/IRIS/USERSPACE/LIB/iris_lib.cpp @@ -361,31 +361,27 @@ void *set_freq_thread(void *arg) { * \param dummy dummy variable not used * \returns 0 in success */ -int trx_iris_set_freq(openair0_device *device, openair0_config_t *openair0_cfg, int dont_block) { - iris_state_t *s = (iris_state_t *) device->priv; - pthread_t f_thread; - if (dont_block) - pthread_create(&f_thread, NULL, set_freq_thread, (void *) device); - else { - int r, i; - for (r = 0; r < s->device_num; r++) { - printf("Setting Iris TX Freq %f, RX Freq %f\n", openair0_cfg[0].tx_freq[0], openair0_cfg[0].rx_freq[0]); - for (i = 0; i < s->iris[r]->getNumChannels(SOAPY_SDR_RX); i++) { - if (i < s->rx_num_channels) { - s->iris[r]->setFrequency(SOAPY_SDR_RX, i, "RF", openair0_cfg[0].rx_freq[i]); - } - } - for (i = 0; i < s->iris[r]->getNumChannels(SOAPY_SDR_TX); i++) { - if (i < s->tx_num_channels) { - s->iris[r]->setFrequency(SOAPY_SDR_TX, i, "RF", openair0_cfg[0].tx_freq[i]); - } - } - } +int trx_iris_set_freq(openair0_device *device, openair0_config_t *openair0_cfg) +{ + iris_state_t *s = (iris_state_t *)device->priv; + pthread_t f_thread; + int r, i; + for (r = 0; r < s->device_num; r++) { + printf("Setting Iris TX Freq %f, RX Freq %f\n", openair0_cfg[0].tx_freq[0], openair0_cfg[0].rx_freq[0]); + for (i = 0; i < s->iris[r]->getNumChannels(SOAPY_SDR_RX); i++) { + if (i < s->rx_num_channels) { + s->iris[r]->setFrequency(SOAPY_SDR_RX, i, "RF", openair0_cfg[0].rx_freq[i]); + } } - return (0); + for (i = 0; i < s->iris[r]->getNumChannels(SOAPY_SDR_TX); i++) { + if (i < s->tx_num_channels) { + s->iris[r]->setFrequency(SOAPY_SDR_TX, i, "RF", openair0_cfg[0].tx_freq[i]); + } + } + } + return (0); } - /*! \brief Set Gains (TX/RX) * \param device the hardware to use * \param openair0_cfg RF frontend parameters set by application diff --git a/sdr/LMSSDR/USERSPACE/LIB/lms_lib.cpp b/sdr/LMSSDR/USERSPACE/LIB/lms_lib.cpp index 79a389bfeb..df3e0c8a9b 100644 --- a/sdr/LMSSDR/USERSPACE/LIB/lms_lib.cpp +++ b/sdr/LMSSDR/USERSPACE/LIB/lms_lib.cpp @@ -283,10 +283,9 @@ int trx_lms_stop(openair0_device *device) { /*! \brief Set frequencies (TX/RX) * \param device the hardware to use * \param openair0_cfg openair0 Config structure (ignored. It is there to comply with RF common API) - * \param exmimo_dump_config (ignored) * \returns 0 in success */ -int trx_lms_set_freq(openair0_device* device, openair0_config_t *openair0_cfg,int exmimo_dump_config) { +int trx_lms_set_freq(openair0_device* device, openair0_config_t *openair0_cfg) { //Control port must be connected LMS_SetLOFrequency(lms_device,LMS_CH_TX,0,openair0_cfg->tx_freq[0]); LMS_SetLOFrequency(lms_device,LMS_CH_RX,0,openair0_cfg->rx_freq[0]); diff --git a/sdr/USRP/USERSPACE/LIB/usrp_lib.cpp b/sdr/USRP/USERSPACE/LIB/usrp_lib.cpp index cc58389c34..2a351dcce0 100644 --- a/sdr/USRP/USERSPACE/LIB/usrp_lib.cpp +++ b/sdr/USRP/USERSPACE/LIB/usrp_lib.cpp @@ -794,22 +794,15 @@ void *freq_thread(void *arg) { * \param dummy dummy variable not used * \returns 0 in success */ -int trx_usrp_set_freq(openair0_device *device, openair0_config_t *openair0_cfg, int dont_block) { +int trx_usrp_set_freq(openair0_device *device, openair0_config_t *openair0_cfg) +{ usrp_state_t *s = (usrp_state_t *)device->priv; - pthread_t f_thread; - printf("Setting USRP TX Freq %f, RX Freq %f, tune_offset: %f, dont_block: %d\n", - openair0_cfg[0].tx_freq[0],openair0_cfg[0].rx_freq[0], - openair0_cfg[0].tune_offset, dont_block); + printf("Setting USRP TX Freq %f, RX Freq %f, tune_offset: %f\n", openair0_cfg[0].tx_freq[0], openair0_cfg[0].rx_freq[0], openair0_cfg[0].tune_offset); - // spawn a thread to handle the frequency change to not block the calling thread - if (dont_block == 1) - pthread_create(&f_thread,NULL,freq_thread,(void *)device); - else { - uhd::tune_request_t tx_tune_req(openair0_cfg[0].tx_freq[0], openair0_cfg[0].tune_offset); - uhd::tune_request_t rx_tune_req(openair0_cfg[0].rx_freq[0], openair0_cfg[0].tune_offset); - s->usrp->set_tx_freq(tx_tune_req); - s->usrp->set_rx_freq(rx_tune_req); - } + uhd::tune_request_t tx_tune_req(openair0_cfg[0].tx_freq[0], openair0_cfg[0].tune_offset); + uhd::tune_request_t rx_tune_req(openair0_cfg[0].rx_freq[0], openair0_cfg[0].tune_offset); + s->usrp->set_tx_freq(tx_tune_req); + s->usrp->set_rx_freq(rx_tune_req); return(0); } diff --git a/sdr/rfsimulator/simulator.c b/sdr/rfsimulator/simulator.c index b9b2223bdb..d095a0c7d5 100644 --- a/sdr/rfsimulator/simulator.c +++ b/sdr/rfsimulator/simulator.c @@ -916,7 +916,7 @@ static void rfsimulator_end(openair0_device *device) { static int rfsimulator_stop(openair0_device *device) { return 0; } -static int rfsimulator_set_freq(openair0_device *device, openair0_config_t *openair0_cfg,int exmimo_dump_config) { +static int rfsimulator_set_freq(openair0_device *device, openair0_config_t *openair0_cfg) { return 0; } static int rfsimulator_set_gains(openair0_device *device, openair0_config_t *openair0_cfg) { diff --git a/targets/COMMON/openairinterface5g_limits.h b/targets/COMMON/openairinterface5g_limits.h index d68292bd39..79f3d6b8dd 100644 --- a/targets/COMMON/openairinterface5g_limits.h +++ b/targets/COMMON/openairinterface5g_limits.h @@ -1,7 +1,6 @@ #ifndef OPENAIRINTERFACE5G_LIMITS_H_ #define OPENAIRINTERFACE5G_LIMITS_H_ -#if 1 /*defined(CBMIMO1) || defined(EXMIMO) || defined(OAI_USRP) || defined(OAI_LMSSDR) || defined(OAI_ADRV9371_ZC706)*/ # define NUMBER_OF_eNB_MAX 1 # define NUMBER_OF_gNB_MAX 1 # define NUMBER_OF_RU_MAX 2 @@ -43,67 +42,5 @@ # define NUMBER_OF_CONNECTED_eNB_MAX 1 # define NUMBER_OF_CONNECTED_gNB_MAX 1 # endif -#else -# define NUMBER_OF_eNB_MAX 7 -# define NUMBER_OF_gNB_MAX 7 -# define NUMBER_OF_RU_MAX 32 -# define NUMBER_OF_NR_RU_MAX 32 -# ifndef UE_EXPANSION -/* if the value of MAX_MOBILES_PER_ENB and NUMBER_OF_UE_MAX is different, -eNB process will exit because unexpected access happens. -Now some parts are using NUMBER_OF_UE_MAX -and the other are using MAX_MOBILES_PER_ENB in for-loop. -*/ -# define NUMBER_OF_UE_MAX 16 -# define NUMBER_OF_UCI_VARS_MAX 56 -# define NUMBER_OF_CONNECTED_eNB_MAX 3 -# define NUMBER_OF_CONNECTED_gNB_MAX 3 -# else -# define NUMBER_OF_UE_MAX 256 -# define NUMBER_OF_UCI_VARS_MAX 256 -# define NUMBER_OF_CONNECTED_eNB_MAX 1 -# define NUMBER_OF_CONNECTED_gNB_MAX 1 -# endif -# if defined(STANDALONE) && STANDALONE==1 -# undef NUMBER_OF_eNB_MAX -# undef NUMBER_OF_gNB_MAX - -# undef NUMBER_OF_UE_MAX - -# undef NUMBER_OF_RU_MAX -# undef NUMBER_OF_NR_RU_MAX - -# define NUMBER_OF_eNB_MAX 3 -# define NUMBER_OF_gNB_MAX 3 - -# define NUMBER_OF_UE_MAX 3 - -# define NUMBER_OF_RU_MAX 3 -# define NUMBER_OF_NR_RU_MAX 3 -# endif -# if defined(LARGE_SCALE) && LARGE_SCALE -# undef NUMBER_OF_eNB_MAX -# undef NUMBER_OF_gNB_MAX - -# undef NUMBER_OF_UE_MAX - -# undef NUMBER_OF_CONNECTED_eNB_MAX -# undef NUMBER_OF_CONNECTED_gNB_MAX - -# undef NUMBER_OF_RU_MAX -# undef NUMBER_OF_NR_RU_MAX - -# define NUMBER_OF_eNB_MAX 2 -# define NUMBER_OF_gNB_MAX 2 - -# define NUMBER_OF_UE_MAX 120 - -# define NUMBER_OF_RU_MAX 16 -# define NUMBER_OF_NR_RU_MAX 16 - -# define NUMBER_OF_CONNECTED_eNB_MAX 1 // to save some memory -# define NUMBER_OF_CONNECTED_gNB_MAX 1 -# endif -#endif #endif /* OPENAIRINTERFACE5G_LIMITS_H_ */ diff --git a/targets/README.txt b/targets/README.txt index e50664bbe1..c3a8156d9a 100644 --- a/targets/README.txt +++ b/targets/README.txt @@ -4,7 +4,6 @@ This directory contains different targets for OpenAirInterface.org implementations -ARCH/EXMIMO - Kernel driver for EXMIMO1+2 RTAI/USER - Target to run .11p (uses openairITS) or LTE modem (uses openair1 and openair2) for x86 in RTAI user-space SIMU - Simulator/Emulator target for x86 DOCS - Doxygen documentation generation for openair1/openair2 diff --git a/targets/RT/LAUNCH_SCRIPTS/load_module.sh b/targets/RT/LAUNCH_SCRIPTS/load_module.sh deleted file mode 100644 index 0ddce88e5d..0000000000 --- a/targets/RT/LAUNCH_SCRIPTS/load_module.sh +++ /dev/null @@ -1,7 +0,0 @@ -sh /opt/XIO2000/xio_script.sh -cd ../USERSPACE_TOOLS/OPENAIR_RF -./openair_rf_cbmimo1_lte 0 4 1 -rmmod -f openair_rf -cd ../.. -make install_cbmimo1_softmodem_lte_emos_l2 -cd LAUNCH_SCRIPTS diff --git a/targets/RT/LAUNCH_SCRIPTS/nas_enb.sh b/targets/RT/LAUNCH_SCRIPTS/nas_enb.sh deleted file mode 100644 index ecc3164d5b..0000000000 --- a/targets/RT/LAUNCH_SCRIPTS/nas_enb.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/sh -echo "start setting up eNB interface" - -cd $OPENAIR2_DIR -sudo rmmod nasmesh -#make nasmesh_netlink_address_fix.ko -#make nasmesh_netlink.ko -#make nasmesh.ko -#make rb_tool -#route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0 -cd - - -sudo insmod $OPENAIR2_DIR/NAS/DRIVER/MESH/nasmesh.ko - -sudo ifconfig oai0 10.0.1.1 netmask 255.255.255.0 broadcast 10.0.1.255 - -$OPENAIR2_DIR/NAS/DRIVER/MESH/RB_TOOL/rb_tool -a -c0 -i0 -z0 -s 10.0.1.1 -t 10.0.1.2 -r 3 - -$OPENAIR2_DIR/NAS/DRIVER/MESH/RB_TOOL/rb_tool -a -c1 -i0 -z0 -s 10.0.1.1 -t 10.0.1.3 -r 11 - -echo "end setting up NAS interface" diff --git a/targets/RT/LAUNCH_SCRIPTS/nas_ue.sh b/targets/RT/LAUNCH_SCRIPTS/nas_ue.sh deleted file mode 100644 index 6272dfb466..0000000000 --- a/targets/RT/LAUNCH_SCRIPTS/nas_ue.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -echo "setting up UE NAS interface" - -cd $OPENAIR2_DIR -sudo rmmod nasmesh -#make nasmesh_netlink_address_fix.ko -#make nasmesh_netlink.ko -#make nasmesh.ko -#make rb_tool -#route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0 -cd - -sudo insmod $OPENAIR2_DIR/NAS/DRIVER/MESH/nasmesh.ko - -sudo ifconfig oai0 10.0.1.2 netmask 255.255.255.0 broadcast 10.0.1.255 - -$OPENAIR2_DIR/NAS/DRIVER/MESH/RB_TOOL/rb_tool -a -c0 -i0 -z0 -s 10.0.1.2 -t 10.0.1.1 -r 3 - -echo "end setting up NAS interface" diff --git a/targets/RT/LAUNCH_SCRIPTS/nas_ue2.sh b/targets/RT/LAUNCH_SCRIPTS/nas_ue2.sh deleted file mode 100644 index f8b871fcc7..0000000000 --- a/targets/RT/LAUNCH_SCRIPTS/nas_ue2.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -echo "setting up UE NAS interface" - -cd $OPENAIR2_DIR -sudo rmmod nasmesh -#make nasmesh_netlink_address_fix.ko -#make nasmesh_netlink.ko -#make nasmesh.ko -#make rb_tool -#route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0 -cd - -sudo insmod $OPENAIR2_DIR/NAS/DRIVER/MESH/nasmesh.ko - -sudo ifconfig oai0 10.0.1.3 netmask 255.255.255.0 broadcast 10.0.1.255 - -$OPENAIR2_DIR/NAS/DRIVER/MESH/RB_TOOL/rb_tool -a -c0 -i0 -z0 -s 10.0.1.3 -t 10.0.1.1 -r 3 - -echo "end setting up NAS interface" diff --git a/targets/RT/LAUNCH_SCRIPTS/start_eNb_mode1.sh b/targets/RT/LAUNCH_SCRIPTS/start_eNb_mode1.sh deleted file mode 100644 index 7da89f36d9..0000000000 --- a/targets/RT/LAUNCH_SCRIPTS/start_eNb_mode1.sh +++ /dev/null @@ -1,13 +0,0 @@ -sudo sh $OPENAIR1_DIR/xio_script.sh -sh stop_rf.sh -sh start_rf.sh - -$OPENAIR1_DIR/USERSPACE_TOOLS/OPENAIR_RF/openair_rf_cbmimo1_lte 0 0 0 1 # dump Config -$OPENAIR1_DIR/USERSPACE_TOOLS/OPENAIR_RF/openair_rf_cbmimo1_lte 0 6 110 110 100 100 #Set TX gains -#$OPENAIR1_DIR/USERSPACE_TOOLS/OPENAIR_RF/openair_rf_cbmimo1_lte 2 26 100 #Card v2_10 synched to v2_19 -$OPENAIR1_DIR/USERSPACE_TOOLS/OPENAIR_RF/openair_rf_cbmimo1_lte 0 14 0 #SET RX RF Mode -$OPENAIR1_DIR/USERSPACE_TOOLS/OPENAIR_RF/openair_rf_cbmimo1_lte 0 32 1 #Set DLSCH Transmission Mod -$OPENAIR1_DIR/USERSPACE_TOOLS/OPENAIR_RF/openair_rf_cbmimo1_lte 0 1 0 0 #Start Primary Clusterhead - -#$OPENAIR1_DIR/USERSPACE_TOOLS/SCOPE/lte_scope_ul 0 0 & -#$OPENAIR1_DIR/USERSPACE_TOOLS/SCOPE/lte_scope_ul 0 1 & \ No newline at end of file diff --git a/targets/RT/LAUNCH_SCRIPTS/start_eNb_mode2.sh b/targets/RT/LAUNCH_SCRIPTS/start_eNb_mode2.sh deleted file mode 100644 index 30b77a5069..0000000000 --- a/targets/RT/LAUNCH_SCRIPTS/start_eNb_mode2.sh +++ /dev/null @@ -1,10 +0,0 @@ -sudo sh $OPENAIR1_DIR/xio_script.sh -sh stop_rf.sh -sh start_rf.sh -$OPENAIR1_DIR/USERSPACE_TOOLS/OPENAIR_RF/openair_rf_cbmimo1_lte 0 0 1 1 -$OPENAIR1_DIR/USERSPACE_TOOLS/OPENAIR_RF/openair_rf_cbmimo1_lte 0 6 110 110 100 100 -#$OPENAIR1_DIR/USERSPACE_TOOLS/OPENAIR_RF/openair_rf_cbmimo1_lte 2 26 100 #Card v2_10 synched to v2_19 -$OPENAIR1_DIR/USERSPACE_TOOLS/OPENAIR_RF/openair_rf_cbmimo1_lte 0 14 0 -$OPENAIR1_DIR/USERSPACE_TOOLS/OPENAIR_RF/openair_rf_cbmimo1_lte 0 32 2 -$OPENAIR1_DIR/USERSPACE_TOOLS/OPENAIR_RF/openair_rf_cbmimo1_lte 0 1 1 0 - diff --git a/targets/RT/LAUNCH_SCRIPTS/start_eNb_mode6.sh b/targets/RT/LAUNCH_SCRIPTS/start_eNb_mode6.sh deleted file mode 100644 index c8a93adf4f..0000000000 --- a/targets/RT/LAUNCH_SCRIPTS/start_eNb_mode6.sh +++ /dev/null @@ -1,13 +0,0 @@ -cd USERSPACE_TOOLS/OPENAIR_RF -./openair_rf_cbmimo1_lte 0 4 1 -rmmod -f openair_rf -cd ../.. -make install_cbmimo1_softmodem_lte_emos_l2 -cd USERSPACE_TOOLS/OPENAIR_RF -./openair_rf_cbmimo1_lte 0 0 1 1 -./openair_rf_cbmimo1_lte 0 6 137 137 140 140 -./openair_rf_cbmimo1_lte 0 14 2 -./openair_rf_cbmimo1_lte 0 32 6 -source /opt/XIO2000/xio_script.sh -./openair_rf_cbmimo1_lte 0 1 1 0 -cd ../.. diff --git a/targets/RT/LAUNCH_SCRIPTS/start_emos.sh b/targets/RT/LAUNCH_SCRIPTS/start_emos.sh deleted file mode 100644 index f9d9e8edf0..0000000000 --- a/targets/RT/LAUNCH_SCRIPTS/start_emos.sh +++ /dev/null @@ -1,10 +0,0 @@ -gpsd /dev/ttyUSB0 -cd USERSPACE_TOOLS/OPENAIR_RF - -./openair_rf_cbmimo1_lte 0 4 1 -rmmod -f openair_rf -cd ../.. -make install_cbmimo1_softmodem_lte_emos_l2 -cd EMOS/LTE/GUI -./emos_gui & - diff --git a/targets/RT/LAUNCH_SCRIPTS/start_rf.sh b/targets/RT/LAUNCH_SCRIPTS/start_rf.sh deleted file mode 100644 index a2177b1a6a..0000000000 --- a/targets/RT/LAUNCH_SCRIPTS/start_rf.sh +++ /dev/null @@ -1,2 +0,0 @@ -sudo insmod $OPENAIR2_DIR/RRC/LITE/MESSAGES/asn1_msg_kern.ko -sudo insmod $OPENAIR1_DIR/ARCH/CBMIMO1/DEVICE_DRIVER/openair_rf_softmodem.ko \ No newline at end of file diff --git a/targets/RT/LAUNCH_SCRIPTS/start_test_fs4.sh b/targets/RT/LAUNCH_SCRIPTS/start_test_fs4.sh deleted file mode 100644 index 72f24bbd0a..0000000000 --- a/targets/RT/LAUNCH_SCRIPTS/start_test_fs4.sh +++ /dev/null @@ -1,13 +0,0 @@ -sh $OPENAIR1_DIR/xio_script.sh -cd ../USERSPACE_TOOLS/OPENAIR_RF -./openair_rf_cbmimo1_lte 0 4 1 -rmmod -f openair_rf -cd ../.. -make install_cbmimo1_softmodem -cd USERSPACE_TOOLS/OPENAIR_RF -./openair_rf_cbmimo1_lte 0 0 1 1 -./openair_rf_cbmimo1_lte 0 26 100 -./openair_rf_cbmimo1_lte 0 6 150 150 140 140 -./openair_rf_cbmimo1_lte 0 14 0 -./openair_rf_cbmimo1_lte 0 8 1 -cd ../../LAUNCH_SCRIPTS diff --git a/targets/RT/LAUNCH_SCRIPTS/start_ue.sh b/targets/RT/LAUNCH_SCRIPTS/start_ue.sh deleted file mode 100644 index d504d2c0b0..0000000000 --- a/targets/RT/LAUNCH_SCRIPTS/start_ue.sh +++ /dev/null @@ -1,18 +0,0 @@ -sudo sh $OPENAIR1_DIR/xio_script.sh -sh stop_rf.sh -sh start_rf.sh -$OPENAIR1_DIR/USERSPACE_TOOLS/OPENAIR_RF/openair_rf_cbmimo1_lte 0 0 0 1 # dump config -$OPENAIR1_DIR/USERSPACE_TOOLS/OPENAIR_RF/openair_rf_cbmimo1_lte 0 6 100 100 100 100 #Set TX gains -#./openair_rf_cbmimo1_lte 0 25 0 -#./openair_rf_cbmimo1_lte 0 15 101 # Card v15 synched to card v38 -#./openair_rf_cbmimo1_lte 0 15 117 # Card v15 synched to card v5 -#./openair_rf_cbmimo1_lte 0 15 135 # Card v37 synched to card v5 -#$OPENAIR1_DIR/USERSPACE_TOOLS/OPENAIR_RF/openair_rf_cbmimo1_lte 0 15 89 # Card v42 synched to card v43 -#$OPENAIR1_DIR/USERSPACE_TOOLS/OPENAIR_RF/openair_rf_cbmimo1_lte 0 15 85 # Card v47 synched to card v43 -#./openair_rf_cbmimo1_lte 0 26 400 -#$OPENAIR1_DIR/USERSPACE_TOOLS/OPENAIR_RF/openair_rf_cbmimo1_lte 0 15 103 # Card v47 synched to card v42 -$OPENAIR1_DIR/USERSPACE_TOOLS/OPENAIR_RF/openair_rf_cbmimo1_lte 0 15 110 # Card v42 synched to card v47 -$OPENAIR1_DIR/USERSPACE_TOOLS/OPENAIR_RF/openair_rf_cbmimo1_lte 0 14 0 #RF mode 0 = mixer low gain, lna off -#./openair_rf_cbmimo1_lte 0 14 1 #RF mode 1 = mixer low gain, lna on -#./openair_rf_cbmimo1_lte 0 14 2 #RF mode 2 = mixer high gain, lna on -$OPENAIR1_DIR/USERSPACE_TOOLS/OPENAIR_RF/openair_rf_cbmimo1_lte 0 3 1 0 #Start Node - param 0/1 diff --git a/targets/RT/LAUNCH_SCRIPTS/start_ue2.sh b/targets/RT/LAUNCH_SCRIPTS/start_ue2.sh deleted file mode 100644 index f16a3aa984..0000000000 --- a/targets/RT/LAUNCH_SCRIPTS/start_ue2.sh +++ /dev/null @@ -1,14 +0,0 @@ -sudo sh $OPENAIR1_DIR/xio_script.sh -sh stop_rf.sh -sh start_rf.sh -$OPENAIR1_DIR/USERSPACE_TOOLS/OPENAIR_RF/openair_rf_cbmimo1_lte 0 0 0 1 -$OPENAIR1_DIR/USERSPACE_TOOLS/OPENAIR_RF/openair_rf_cbmimo1_lte 0 6 100 100 100 100 -#./openair_rf_cbmimo1_lte 0 25 0 -#./openair_rf_cbmimo1_lte 0 15 101 # Card v15 synched to card v38 -#./openair_rf_cbmimo1_lte 0 15 117 # Card v15 synched to card v5 -#./openair_rf_cbmimo1_lte 0 15 135 # Card v37 synched to card v5 -#./openair_rf_cbmimo1_lte 0 26 400 -$OPENAIR1_DIR/USERSPACE_TOOLS/OPENAIR_RF/openair_rf_cbmimo1_lte 0 14 0 #RF mode 0 = mixer low gain, lna off -#./openair_rf_cbmimo1_lte 0 14 1 #RF mode 1 = mixer low gain, lna on -#./openair_rf_cbmimo1_lte 0 14 2 #RF mode 2 = mixer high gain, lna on -$OPENAIR1_DIR/USERSPACE_TOOLS/OPENAIR_RF/openair_rf_cbmimo1_lte 0 3 1 1 diff --git a/targets/RT/LAUNCH_SCRIPTS/stop_rf.sh b/targets/RT/LAUNCH_SCRIPTS/stop_rf.sh deleted file mode 100644 index 178ac6a16b..0000000000 --- a/targets/RT/LAUNCH_SCRIPTS/stop_rf.sh +++ /dev/null @@ -1,7 +0,0 @@ -killall lte_scope -killall lte_scope_ul -$OPENAIR1_DIR/USERSPACE_TOOLS/OPENAIR_RF/openair_rf_cbmimo1_lte 0 4 1 -sudo rmmod -f nasmesh -sudo rmmod -f openair_rf -sudo rmmod -f asn1_msg_kern - diff --git a/targets/RT/USER/.runinfo b/targets/RT/USER/.runinfo deleted file mode 100644 index a15bbc6c4b..0000000000 --- a/targets/RT/USER/.runinfo +++ /dev/null @@ -1,40 +0,0 @@ -sleeptest:lxrt+sem+mbx+msg+fifos:!./sleeptest;sleep 1;popall:control_c -synctest:lxrt+sem+mbx+msg+fifos:!./synctest -V;sleep 1;popall:control_c -condtest:lxrt+sem+mbx+msg+fifos:!sudo ./condtest;sleep 1;popall:control_c -msg_test:lxrt+sem+mbx+msg+fifos:!sudo ./msg_test;sleep 1;popall:control_c -msg_many:lxrt+sem+mbx+msg+fifos:!sudo ./msg_test;sleep 1;popall:control_c -eNB:lxrt+sem+mbx+msg+fifos:!sudo ./synctest;sleep 1;popall:control_c -eNB_test:lxrt+sem+mbx+msg+smi:!sudo ./lte-softmodem -S -F enb2tx;sleep 1;popall:control_c -UE:lxrt+sem+mbx+msg+fifos:!sudo ./synctest -U -d -T 108;sleep 1;popall:control_c -UE0:lxrt+sem+mbx+msg+fifos:!sudo ./lte-softmodem -U -d -C 2680000000 -V -K /tmp/itti_UE0.log;sleep 1;popall:control_c -#EXMIMO2 card 5 -#UE0_smbv:lxrt+sem+mbx+msg+fifos:!sudo ./lte-softmodem -U -d -C 1907598252 -V;sleep 1;popall:control_c -#EXMIMO2 card 24 -#UE0_smbv:lxrt+sem+mbx+msg+fifos:!sudo ./lte-softmodem -U -d -C 1907595776 -V;sleep 1;popall:control_c -#EXMIMO2 card 38 -#UE0_smbv:lxrt+sem+mbx+msg+fifos:!sudo ./lte-softmodem -U -d -C 1907592704 -V;sleep 1;popall:control_c -#EXMIMO2 card 39 -UE0_smbv:lxrt+sem+mbx+msg+fifos:!sudo ./lte-softmodem -U -d -C 2679998592 -V;sleep 1;popall:control_c -UE850:lxrt+sem+mbx+msg+fifos:!sudo ./lte-softmodem -U -d -C 859498000 -F ex2_850;sleep 1;popall:control_c -eNB850:lxrt+sem+mbx+msg+fifos:!sudo ./lte-softmodem -d -C 859500000 -F ex2_850;sleep 1;popall:control_c -UE0noL2:lxrt+sem+mbx+msg+fifos:!sudo ./lte-softmodem -U -d -C 1907600480 --no-L2-connect;sleep 1;popall:control_c -UE0calib:lxrt+sem+mbx+msg+fifos:!sudo ./lte-softmodem -U -d -C 1912600000 --calib-ue-rx -70 ;sleep 1;popall:control_c -UE0calibmed:lxrt+sem+mbx+msg+fifos:!sudo ./lte-softmodem -U -d -C 1912600000 --calib-ue-rx-med -70 ;sleep 1;popall:control_c -UE0calibbyp:lxrt+sem+mbx+msg+fifos:!sudo ./lte-softmodem -U -d -C 1912600000 --calib-ue-rx-byp -70 ;sleep 1;popall:control_c -UE0prach:lxrt+sem+mbx+msg+fifos:!sudo ./lte-softmodem -U -d -C 1912606900 -F ue1 --debug-ue-prach;sleep 1;popall:control_c -UE1:lxrt+sem+mbx+msg+fifos:!sudo ./lte-softmodem -U -d -C 1907600000 -F ue1 ;sleep 1;popall:control_c -UE1prach:lxrt+sem+mbx+msg+fifos:!sudo ./lte-softmodem -U -d -C 1907600000 -F ue1 --debug-ue-prach;sleep 1;popall:control_c -UE1noL2:lxrt+sem+mbx+msg+fifos:!sudo ./lte-softmodem -U -d -C 1907600000 -F ue1 --no-L2-connect;sleep 1;popall:control_c -UE2:lxrt+sem+mbx+msg+fifos:!sudo ./lte-softmodem -U -d -C 1907600000 -F ue2;sleep 1;popall:control_c -UE2prach:lxrt+sem+mbx+msg+fifos:!sudo ./lte-softmodem -U -d -C 1907600000 -F ue2 --debug-ue-prach;sleep 1;popall:control_c -UE2noL2:lxrt+sem+mbx+msg+fifos:!sudo ./lte-softmodem -U -d -C 1907600000 -F ue2 --no-L2-connect;sleep 1;popall:control_c -#eNB0:lxrt+sem+mbx+msg+fifos:!sudo ./lte-softmodem -C 1907600000 -d -V;sleep 1;popall:control_c -#eNB0:lxrt+sem+mbx+msg+fifos:!sudo ./lte-softmodem -C 1907598252 -d -V;sleep 1;popall:control_c -eNB0:lxrt+sem+mbx+msg+fifos:!sudo ./lte-softmodem -d -O../../PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.conf -V -K /tmp/itti_eNB0.log;sleep 1;popall:control_c -eNB1:lxrt+sem+mbx+msg+fifos:!sudo ./lte-softmodem -C 2680000000 -r 50 -d -V;sleep 1;popall:control_c -eNB2:lxrt+sem+mbx+msg+fifos:!sudo ./lte-softmodem -C 2680000000 -r 100 -d -V;sleep 1;popall:control_c -dot11:lxrt+sem+mbx+msg+fifos:!sudo ./dot11 -C 1907600000 -d;sleep 1;popall:control_c -dot11_tx_test: lxrt+sem+mbx+msg+fifos:!sudo ./dot11 -C 1907600000 -d -t;sleep 1;popall:control_c -eNB2_750:lxrt+sem+mbx+msg+fifos:!sudo ./synctest_eNB -C 746000000 -F enb1tx_750 -d;sleep 1;popall:control_c -eNB2_1900:lxrt+sem+mbx+msg+fifos:!sudo ./synctest_eNB -C 19076000000 -F enb1tx_1900 -d;sleep 1;popall:control_c -emos-raw:lxrt+sem+mbx+msg+fifos:!sudo ./emos-raw -d -V;sleep 1;popall:control_c diff --git a/targets/RT/USER/eNB_exmimo2.gtkw b/targets/RT/USER/eNB_exmimo2.gtkw deleted file mode 100644 index aede1bef19..0000000000 --- a/targets/RT/USER/eNB_exmimo2.gtkw +++ /dev/null @@ -1,64 +0,0 @@ -[*] -[*] GTKWave Analyzer v3.3.58 (w)1999-2014 BSI -[*] Wed Sep 9 13:46:33 2015 -[*] -[dumpfile] "/homes/kaltenbe/openair_dump_eNB_exmimo2_sequans.vcd" -[dumpfile_mtime] "Mon Sep 7 15:31:31 2015" -[dumpfile_size] 894802540 -[savefile] "/homes/kaltenbe/Devel/openair/openair4G/trunk/targets/RT/USER/eNB_exmimo2.gtkw" -[timestart] 362571890000 -[size] 1855 1056 -[pos] -176 -45 -*-21.066544 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -[sst_width] 257 -[signals_width] 230 -[sst_expanded] 1 -[sst_vpaned_height] 262 -@420 -variables.daq_mbox[63:0] -variables.diff2[63:0] -@28 -functions.rt_sleep -@24 -variables.missed_slot_enb[63:0] -variables.hw_subframe[63:0] -variables.hw_frame[63:0] -variables.frame_number_TX_eNB[63:0] -variables.frame_number_RX_eNB[63:0] -@28 -functions.eNB_thread_rx0 -functions.eNB_thread_tx0 -functions.eNB_thread_rx1 -functions.eNB_thread_tx1 -functions.eNB_thread_rx2 -functions.eNB_thread_tx2 -functions.eNB_thread_rx3 -functions.eNB_thread_tx3 -functions.eNB_thread_rx4 -functions.eNB_thread_tx4 -functions.eNB_thread_rx5 -functions.eNB_thread_tx5 -functions.eNB_thread_rx6 -functions.eNB_thread_tx6 -functions.eNB_thread_rx7 -functions.eNB_thread_tx7 -functions.eNB_thread_rx8 -functions.eNB_thread_tx8 -functions.eNB_thread_rx9 -functions.eNB_thread_tx9 -functions.phy_procedures_eNb_tx -functions.phy_procedures_eNb_rx -functions.phy_enb_prach_rx -functions.phy_eNB_dlsch_encoding -functions.phy_eNB_dlsch_modulation -functions.phy_eNB_dlsch_scrambling -functions.phy_enb_pdcch_tx -@29 -functions.phy_enb_ulsch_decoding -@28 -functions.phy_enb_rs_tx -functions.rrc_mac_config_req -functions.rlc_data_req -functions.udp_enb_task -[pattern_trace] 1 -[pattern_trace] 0 diff --git a/targets/RT/USER/exmimo2_2arxg.lime b/targets/RT/USER/exmimo2_2arxg.lime deleted file mode 100644 index 0c24ef9992..0000000000 --- a/targets/RT/USER/exmimo2_2arxg.lime +++ /dev/null @@ -1,10 +0,0 @@ -# this file contains the calibration values to compute the RSSI -# we can use three different gain stages (high, low, med) as well as a gain factor for fine tuning -# the three lines in this file gives the total rx gain in dB for the three gain stages if the rx gain is set to 30dB -# this is for Express MIMO2 without any additional RF frontend -# high gain -103 107 106 104 -# med gain -98 101 100 98 -# low gain (byp) -94 97 96 94 diff --git a/targets/RT/USER/exmimo2_2brxg.lime b/targets/RT/USER/exmimo2_2brxg.lime deleted file mode 100644 index e99c738cd0..0000000000 --- a/targets/RT/USER/exmimo2_2brxg.lime +++ /dev/null @@ -1,10 +0,0 @@ -# this file contains the calibration values to compute the RSSI -# we can use three different gain stages (high, low, med) as well as a gain factor for fine tuning -# the three lines in this file gives the total rx gain in dB for the three gain stages if the rx gain is set to 30dB -# this is for Express MIMO2 without any additional RF frontend -# high gain -128 128 128 126 -# med gain -122 123 123 120 -# low gain (byp) -116 117 116 116 diff --git a/targets/RT/USER/init_exmimo.sh b/targets/RT/USER/init_exmimo.sh deleted file mode 100644 index 6dc4121f1a..0000000000 --- a/targets/RT/USER/init_exmimo.sh +++ /dev/null @@ -1,12 +0,0 @@ -sudo rmmod openair_rf -sudo insmod $OPENAIR1_DIR/ARCH/CBMIMO1/DEVICE_DRIVER/openair_rf_softmodem.ko -sudo mknod /dev/openair0 c 127 0 -sudo chmod a+rw /dev/openair0 - -$OPENAIR1_DIR/USERSPACE_TOOLS/OAI_FW_INIT/updatefw -f $OPENAIR1_DIR/USERSPACE_TOOLS/OAI_FW_INIT/main -s 0x43fffff0 -sudo rmmod openair_rf -sudo insmod $OPENAIR1_DIR/ARCH/CBMIMO1/DEVICE_DRIVER/openair_rf_softmodem.ko - -sudo rmmod nasmesh -sudo insmod $OPENAIR2_DIR/NAS/DRIVER/MESH/nasmesh.ko - diff --git a/targets/RT/USER/init_exmimo2.sh b/targets/RT/USER/init_exmimo2.sh deleted file mode 100644 index 849c62f852..0000000000 --- a/targets/RT/USER/init_exmimo2.sh +++ /dev/null @@ -1,69 +0,0 @@ -#!/bin/bash - -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() { - 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 -} - -load_module $OPENAIR_TARGETS/ARCH/EXMIMO/DRIVER/eurecom/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 == '08' ]; then - echo "Using firmware version 8" - $OPENAIR_TARGETS/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/updatefw -s 0x43fffff0 -b -f $OPENAIR_TARGETS/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/sdr_expressmimo2 -else - if [ $DEVICE_SWID == '09' ]; then - echo "Using firmware version 9" - $OPENAIR_TARGETS/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/updatefw -s 0x43fffff0 -b -f $OPENAIR_TARGETS/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/sdr_expressmimo2_v9 - else - if [ $DEVICE_SWID == '0a' ]; then - echo "Using firware version 10" - #$OPENAIR_TARGETS/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/updatefw -s 0x43fffff0 -b -f $OPENAIR0_DIR/express-mimo/software/sdr/exmimo2/sdr_expressmimo2 - #$OPENAIR_TARGETS/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/updatefw -s 0x43fffff0 -b -f $OPENAIR_TARGETS/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/sdr_expressmimo2_v10_spectra - $OPENAIR_TARGETS/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/updatefw -s 0x43fffff0 -b -f $OPENAIR_TARGETS/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/sdr_expressmimo2_v10 - else - echo 'No corresponding firmware found' - return - fi - fi -fi - -#load_module $OPENAIR2_DIR/NAS/DRIVER/MESH/nasmesh.ko - -#if [ "$1" = "eNB" ]; then -# echo "bring up oai0 interface for enb" -# sudo ifconfig oai0 10.0.1.1 netmask 255.255.255.0 broadcast 10.0.1.255 -# $OPENAIR2_DIR/NAS/DRIVER/MESH/RB_TOOL/rb_tool -a -c0 -i0 -z0 -s 10.0.1.1 -t 10.0.1.9 -r 1 -#else -# if [ "$1" = "UE" ]; then -# echo "bring up oai0 interface for UE" -# sudo ifconfig oai0 10.0.1.9 netmask 255.255.255.0 broadcast 10.0.1.255 -# $OPENAIR2_DIR/NAS/DRIVER/MESH/RB_TOOL/rb_tool -a -c0 -i0 -z0 -s 10.0.1.9 -t 10.0.1.1 -r 1 -# fi -#fi diff --git a/targets/RT/USER/lte-ru.c b/targets/RT/USER/lte-ru.c index 5a103cf886..8d2b785e78 100644 --- a/targets/RT/USER/lte-ru.c +++ b/targets/RT/USER/lte-ru.c @@ -1082,7 +1082,7 @@ static void do_ru_synch(RU_t *ru) { ru->rfdevice.openair0_cfg->tx_freq[i] = temp_freq1; } - ru->rfdevice.trx_set_freq_func(&ru->rfdevice,ru->rfdevice.openair0_cfg,0); + ru->rfdevice.trx_set_freq_func(&ru->rfdevice,ru->rfdevice.openair0_cfg); while ((ru->in_synch ==0)&&(!oai_exit)) { // read in frame diff --git a/targets/RT/USER/lte-softmodem.h b/targets/RT/USER/lte-softmodem.h index 774561e268..61f64cf774 100644 --- a/targets/RT/USER/lte-softmodem.h +++ b/targets/RT/USER/lte-softmodem.h @@ -75,7 +75,7 @@ #define CONFIG_HLP_PRB "Set the PRB, valid values: 6, 25, 50, 100 \n" #define CONFIG_HLP_DLSHIFT "dynamic shift for LLR compuation for TM3/4 (default 0)\n" #define CONFIG_HLP_USRP_ARGS "set the arguments to identify USRP (same syntax as in UHD)\n" -#define CONFIG_HLP_DMAMAP "sets flag for improved EXMIMO UE performance\n" +#define CONFIG_HLP_DMAMAP "use DMA memory mapping\n" #define CONFIG_HLP_TDD "Set hardware to TDD mode (default: FDD). Used only with -U (otherwise set in config file).\n" #define CONFIG_HLP_TADV "Set timing_advance\n" diff --git a/targets/RT/USER/lte-ue.c b/targets/RT/USER/lte-ue.c index 73520dd918..9b57b5631f 100644 --- a/targets/RT/USER/lte-ue.c +++ b/targets/RT/USER/lte-ue.c @@ -637,7 +637,7 @@ static void *UE_thread_synch(void *arg) { break; } - UE->rfdevice.trx_set_freq_func(&UE->rfdevice,&openair0_cfg[0],0); + UE->rfdevice.trx_set_freq_func(&UE->rfdevice,&openair0_cfg[0]); //UE->rfdevice.trx_set_gains_func(&openair0,&openair0_cfg[0]); //UE->rfdevice.trx_stop_func(&UE->rfdevice); sleep(1); @@ -721,7 +721,7 @@ static void *UE_thread_synch(void *arg) { openair0_cfg[UE->rf_map.card].autocal[UE->rf_map.chain+i] = 1; } - UE->rfdevice.trx_set_freq_func(&UE->rfdevice,&openair0_cfg[0],0); + UE->rfdevice.trx_set_freq_func(&UE->rfdevice,&openair0_cfg[0]); }// initial_sync=0 break; @@ -858,10 +858,6 @@ static void *UE_thread_rxn_txnp4(void *arg) { (UE->frame_parms.frame_type == FDD) ) phy_procedures_UE_TX(UE,proc,0,0,UE->mode); - if ((subframe_select( &UE->frame_parms, proc->subframe_tx) == SF_S) && - (UE->frame_parms.frame_type == TDD)) - phy_procedures_UE_S_TX(UE,0,0); - proc->instance_cnt_rxtx--; if (IS_SOFTMODEM_RFSIM) { diff --git a/targets/RT/USER/lte-uesoftmodem.c b/targets/RT/USER/lte-uesoftmodem.c index 24d444751f..acb762682f 100644 --- a/targets/RT/USER/lte-uesoftmodem.c +++ b/targets/RT/USER/lte-uesoftmodem.c @@ -703,9 +703,6 @@ int main( int argc, char **argv ) { printf("error reading from file\n"); } - //p_exmimo_config->framing.tdd_config = TXRXSWITCH_TESTRX; - - if(IS_SOFTMODEM_DOSCOPE) load_softscope("ue",NULL); diff --git a/targets/RT/USER/ue_exmimo2.gtkw b/targets/RT/USER/ue_exmimo2.gtkw deleted file mode 100644 index 5be62a28de..0000000000 --- a/targets/RT/USER/ue_exmimo2.gtkw +++ /dev/null @@ -1,59 +0,0 @@ -[*] -[*] GTKWave Analyzer v3.3.58 (w)1999-2014 BSI -[*] Tue Jun 23 10:22:38 2015 -[*] -[dumpfile] "/tmp/openair_dump_UE.vcd" -[dumpfile_mtime] "Tue Jun 23 10:21:56 2015" -[dumpfile_size] 15561726 -[savefile] "/home/stevens/openair4G/targets/RT/USER/ue_exmimo2.gtkw" -[timestart] 10448200000 -[size] 1215 640 -[pos] 105 102 -*-23.292629 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -[sst_width] 224 -[signals_width] 262 -[sst_expanded] 1 -[sst_vpaned_height] 155 -@24 -variables.hw_subframe[63:0] -variables.daq_mbox[63:0] -variables.diff2[63:0] -variables.ue_rx_offset[63:0] -variables.rx_offset_mbox[63:0] -@28 -functions.rt_sleep -@24 -variables.subframe_number_RX_UE[63:0] -variables.subframe_number_TX_UE[63:0] -variables.slot_number_RX_UE[63:0] -variables.slot_number_RX_UE[63:0] -@28 -functions.ue_thread_rx -functions.ue_thread_tx -@420 -variables.ue_inst_cnt_rx[63:0] -@421 -variables.ue_inst_cnt_tx[63:0] -@28 -functions.phy_procedures_ue_rx -functions.phy_procedures_ue_tx -@24 -variables.frame_number_RX_UE[63:0] -variables.frame_number_TX_UE[63:0] -@28 -functions.ue_slot_fep -functions.lte_ue_measurement_procedures -functions.ue_rrc_measurements -functions.ue_gain_control -functions.ue_adjust_synch -functions.lte_ue_pbch_procedures -functions.lte_ue_pdcch_procedures -functions.rx_pdcch -functions.dci_decoding -functions.phy_ue_generate_prach -functions.phy_ue_ulsch_encoding -functions.phy_ue_ulsch_modulation -functions.phy_ue_ulsch_scrambling -functions.phy_ue_config_sib2 -[pattern_trace] 1 -[pattern_trace] 0 From 634e38bd31d6caf4ebe9176d928741cae25fe88f Mon Sep 17 00:00:00 2001 From: Robert Schmidt Date: Thu, 13 Oct 2022 18:45:51 +0200 Subject: [PATCH 2/4] Remove DEADLINE_SCHEDULER and CPU_AFFINITY defines --- CMakeLists.txt | 2 - cmake_targets/build_oai | 30 ------------- common/utils/system.c | 45 ------------------- common/utils/telnetsrv/telnetsrv_proccmd.c | 5 --- .../oai_enb.log | 5 +-- targets/RT/USER/lte-enb.c | 8 ---- targets/RT/USER/lte-ru.c | 9 ---- targets/RT/USER/lte-ue.c | 17 ------- 8 files changed, 1 insertion(+), 120 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index baffcf32fa..67b09f1e22 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -877,8 +877,6 @@ include_directories ("${OPENAIR_DIR}/sdr/COMMON") ############################################################## add_boolean_option(OAI_NW_DRIVER_TYPE_ETHERNET False "????") -add_boolean_option(DEADLINE_SCHEDULER False "Use the Linux scheduler SCHED_DEADLINE: kernel >= 3.14") -add_boolean_option(CPU_AFFINITY False "Enable CPU Affinity of threads (only valid without deadline scheduler). It is enabled only with >2 CPUs") add_boolean_option(NAS_NETLINK False "useless ??? Must be True to compile nasmesh driver without rtai ????") add_boolean_option(OAI_NW_DRIVER_USE_NETLINK True "????") diff --git a/cmake_targets/build_oai b/cmake_targets/build_oai index aaa1bee646..0537a93aea 100755 --- a/cmake_targets/build_oai +++ b/cmake_targets/build_oai @@ -40,7 +40,6 @@ conf_nvram_path=$OPENAIR_DIR/openair3/NAS/TOOLS/ue_eurecom_test_sfr.conf XFORMS="True" SKIP_SHARED_LIB_FLAG="False" PRINT_STATS="False" -DEADLINE_SCHEDULER_FLAG_USER="" HW="None" TP="Ethernet" EPC=0 @@ -346,26 +345,6 @@ function main() { BUILD_COVERITY_SCAN=1 echo_info "Will build Coverity-Scan objects for upload" shift;; - --disable-deadline) - DEADLINE_SCHEDULER_FLAG_USER="False" - CMAKE_CMD="$CMAKE_CMD -DDEADLINE_SCHEDULER=False" - echo_info "Disabling the usage of deadline scheduler" - shift 1;; - --enable-deadline) - DEADLINE_SCHEDULER_FLAG_USER="True" - CMAKE_CMD="$CMAKE_CMD -DDEADLINE_SCHEDULER=True" - echo_info "Enabling the usage of deadline scheduler" - shift 1;; - --enable-cpu-affinity) - CPU_AFFINITY_FLAG_USER="True" - CMAKE_CMD="$CMAKE_CMD -DCPU_AFFINITY=True" - echo_info "Enabling CPU Affinity (only valid when not using deadline scheduler)" - shift 1;; - --disable-cpu-affinity) - CPU_AFFINITY_FLAG_USER="False" - CMAKE_CMD="$CMAKE_CMD -DCPU_AFFINITY=False" - echo_info "Disabling CPU Affinity (only valid when not using deadline scheduler)" - shift 1;; --disable-T-Tracer) CMAKE_CMD="$CMAKE_CMD -DT_TRACER=False" echo_info "Disabling the T tracer" @@ -483,15 +462,6 @@ function main() { echo_info "RF HW set to $HW" # If the user doesn't specify the Linux scheduler to use, we set a value - #Disable CPU Affinity for deadline scheduler - if [ "$DEADLINE_SCHEDULER_FLAG_USER" = "True" ] ; then - CPU_AFFINITY_FLAG_USER="False" - CMAKE_CMD="$CMAKE_CMD -DCPU_AFFINITY=False" - fi - - echo_info "Flags for Deadline scheduler: $DEADLINE_SCHEDULER_FLAG_USER" - echo_info "Flags for CPU Affinity: $CPU_AFFINITY_FLAG_USER" - ####################################################### # Setting and printing OAI envs, we should check here # ####################################################### diff --git a/common/utils/system.c b/common/utils/system.c index f13fd84289..aeea9a1595 100644 --- a/common/utils/system.c +++ b/common/utils/system.c @@ -280,28 +280,6 @@ void thread_top_init(char *thread_name, uint64_t deadline, uint64_t period) { -#ifdef DEADLINE_SCHEDULER - struct sched_attr attr; - - unsigned int flags = 0; - - attr.size = sizeof(attr); - attr.sched_flags = 0; - attr.sched_nice = 0; - attr.sched_priority = 0; - - attr.sched_policy = SCHED_DEADLINE; - attr.sched_runtime = runtime; - attr.sched_deadline = deadline; - attr.sched_period = period; - - if (sched_setattr(0, &attr, flags) < 0 ) { - perror("[SCHED] eNB tx thread: sched_setattr failed\n"); - fprintf(stderr,"sched_setattr Error = %s",strerror(errno)); - exit(1); - } - -#else //LOW_LATENCY int policy, s, j; struct sched_param sparam; char cpu_affinity[1024]; @@ -314,27 +292,6 @@ void thread_top_init(char *thread_name, /* Enable CPU Affinity only if number of CPUs > 2 */ CPU_ZERO(&cpuset); -#ifdef CPU_AFFINITY - if (affinity == 0) { - LOG_W(HW,"thread_top_init() called with affinity==0, but overruled by #ifdef CPU_AFFINITY\n"); - } - else if (get_nprocs() > 2) - { - for (j = 2; j < get_nprocs(); j++) - CPU_SET(j, &cpuset); - s = pthread_setaffinity_np(pthread_self(), sizeof(cpu_set_t), &cpuset); - if (s != 0) - { - perror( "pthread_setaffinity_np"); - exit_fun("Error setting processor affinity"); - } - } -#else //CPU_AFFINITY - if (affinity) { - LOG_W(HW,"thread_top_init() called with affinity>0, but overruled by #ifndef CPU_AFFINITY.\n"); - } -#endif //CPU_AFFINITY - /* Check the actual affinity mask assigned to the thread */ s = pthread_getaffinity_np(pthread_self(), sizeof(cpu_set_t), &cpuset); if (s != 0) @@ -384,8 +341,6 @@ void thread_top_init(char *thread_name, "???", sparam.sched_priority, cpu_affinity ); } - -#endif //LOW_LATENCY } diff --git a/common/utils/telnetsrv/telnetsrv_proccmd.c b/common/utils/telnetsrv/telnetsrv_proccmd.c index 6a0da678e2..99d5ebd94e 100644 --- a/common/utils/telnetsrv/telnetsrv_proccmd.c +++ b/common/utils/telnetsrv/telnetsrv_proccmd.c @@ -121,11 +121,6 @@ char toksep[2]; case SCHED_RR: lptr+=sprintf(lptr,"%s ","rt: rr"); break; -#ifdef SCHED_DEADLINE - case SCHED_DEADLINE: - lptr+=sprintf(lptr,"%s ","rt: deadline"); - break; -#endif default: lptr+=sprintf(lptr,"%s ","????"); break; diff --git a/doc/testing_gnb_w_cots_ue_resources/oai_enb.log b/doc/testing_gnb_w_cots_ue_resources/oai_enb.log index 7356c0c88d..a24e22432a 100755 --- a/doc/testing_gnb_w_cots_ue_resources/oai_enb.log +++ b/doc/testing_gnb_w_cots_ue_resources/oai_enb.log @@ -343,7 +343,6 @@ Initializing RU threads [PHY] Starting RU 0 (eNodeB_3GPP,synch_to_ext_device), waiting for sync (ru_thread,-1/0xff4968,0x17af520,0x16952a0) channel 0, Setting tx_gain offset 0.000000, rx_gain offset 118.000000, tx_freq 2680000000.000000, rx_freq 2560000000.000000 -[HW] thread_top_init() called with affinity>0, but overruled by #ifndef CPU_AFFINITY. [PHY] Initializing frame parms for N_RB_DL 25, Ncp 0, osf 1 [PHY] lte_parms.c: Setting N_RB_DL to 25, ofdm_symbol_size 512 [PHY] Initializing RU signal buffers (if_south local RF) nb_tx 1 @@ -624,10 +623,8 @@ cnx_id 1 assoc_id 904 [PHY] init_eNB_proc(inst:0) RC.nb_CC[inst]:1 [PHY] Initializing eNB processes instance:0 CC_id 0 [PHY] eNB->single_thread_flag:0 -[HW] thread_top_init() called with affinity>0, but overruled by #ifndef CPU_AFFINITY. [HW] [SCHED][eNB] eNB_thread_prach started on CPU 0, sched_policy = SCHED_FIFO , priority = 99, CPU Affinity= CPU_0 CPU_1 CPU_2 CPU_3 [ENB_APP] ALL RUs ready - ALL eNBs ready -[HW] thread_top_init() called with affinity>0, but overruled by #ifndef CPU_AFFINITY. [HW] [SCHED][eNB] eNB_thread_prach_br started on CPU 0, sched_policy = SCHED_FIFO , priority = 99, CPU Affinity= CPU_0 CPU_1 CPU_2 CPU_3 [ENB_APP] Sending sync to all threads [MME_APP] Creating MME_APP eNB Task @@ -1908,4 +1905,4 @@ len = 336 [X2AP] X2 has 1 process ongoing [X2AP] X2 has 1 process ongoing [X2AP] X2 has 1 process ongoing - \ No newline at end of file + diff --git a/targets/RT/USER/lte-enb.c b/targets/RT/USER/lte-enb.c index 5d01df15ef..de169417fc 100644 --- a/targets/RT/USER/lte-enb.c +++ b/targets/RT/USER/lte-enb.c @@ -917,14 +917,6 @@ void init_eNB_proc(int inst) { pthread_mutex_init( &proc->mutex_RU_PRACH_br,NULL); pthread_cond_init( &proc->cond_prach_br, NULL); pthread_attr_init( &proc->attr_prach_br); -#ifndef DEADLINE_SCHEDULER - attr0 = &L1_proc->attr; - attr1 = &L1_proc_tx->attr; - attr_prach = &proc->attr_prach; - attr_prach_br = &proc->attr_prach_br; - // attr_td = &proc->attr_td; - // attr_te = &proc->attr_te; -#endif if(get_thread_worker_conf() == WORKER_ENABLE) { init_te_thread(eNB); diff --git a/targets/RT/USER/lte-ru.c b/targets/RT/USER/lte-ru.c index 8d2b785e78..1595ce737f 100644 --- a/targets/RT/USER/lte-ru.c +++ b/targets/RT/USER/lte-ru.c @@ -2277,15 +2277,6 @@ void init_RU_proc(RU_t *ru) { pthread_mutex_init( &proc->mutex_rf_tx, NULL); pthread_cond_init( &proc->cond_rf_tx, NULL); #endif -#ifndef DEADLINE_SCHEDULER - attr_FH = &proc->attr_FH; - attr_FH1 = &proc->attr_FH1; - attr_prach = &proc->attr_prach; - attr_synch = &proc->attr_synch; - attr_asynch = &proc->attr_asynch_rxtx; - attr_emulateRF = &proc->attr_emulateRF; - attr_prach_br = &proc->attr_prach_br; -#endif if (ru->has_ctrl_prt == 1) pthread_create( &proc->pthread_ctrl, attr_ctrl, ru_thread_control, (void*)ru ); else { diff --git a/targets/RT/USER/lte-ue.c b/targets/RT/USER/lte-ue.c index 9b57b5631f..26d37bff5e 100644 --- a/targets/RT/USER/lte-ue.c +++ b/targets/RT/USER/lte-ue.c @@ -203,22 +203,6 @@ void init_thread(int sched_runtime, int sched_fifo, cpu_set_t *cpuset, char *name) { -#ifdef DEADLINE_SCHEDULER - - if (sched_runtime!=0) { - struct sched_attr attr= {0}; - attr.size = sizeof(attr); - attr.sched_policy = SCHED_DEADLINE; - attr.sched_runtime = sched_runtime; - attr.sched_deadline = sched_deadline; - attr.sched_period = 0; - AssertFatal(sched_setattr(0, &attr, 0) == 0, - "[SCHED] %s thread: sched_setattr failed %s \n", name, strerror(errno)); - LOG_I(HW,"[SCHED][eNB] %s deadline thread %lu started on CPU %d\n", - name, (unsigned long)gettid(), sched_getcpu()); - } - -#else int settingPriority = 1; if (checkIfFedoraDistribution()) @@ -250,7 +234,6 @@ void init_thread(int sched_runtime, } CPU_FREE(cset); -#endif } void init_UE(int nb_inst, From 37e6021955bbbfba22cdf11854473c6a3635d9a9 Mon Sep 17 00:00:00 2001 From: Robert Schmidt Date: Fri, 7 Oct 2022 08:28:51 +0200 Subject: [PATCH 3/4] Fix compilation warnings in oai_irisdevif --- sdr/IRIS/USERSPACE/LIB/iris_lib.cpp | 80 +++++++++++++---------------- 1 file changed, 35 insertions(+), 45 deletions(-) diff --git a/sdr/IRIS/USERSPACE/LIB/iris_lib.cpp b/sdr/IRIS/USERSPACE/LIB/iris_lib.cpp index 94e9adf54d..051efe7a53 100644 --- a/sdr/IRIS/USERSPACE/LIB/iris_lib.cpp +++ b/sdr/IRIS/USERSPACE/LIB/iris_lib.cpp @@ -88,7 +88,7 @@ static int trx_iris_start(openair0_device *device) { for (r = 0; r < s->device_num; r++) { int ret = s->iris[r]->activateStream(s->rxStream[r], flags, timeNs, 0); int ret2 = s->iris[r]->activateStream(s->txStream[r]); - if (ret < 0 | ret2 < 0) + if (ret < 0 || ret2 < 0) return -1; } return 0; @@ -135,12 +135,7 @@ static void trx_iris_end(openair0_device *device) { static int trx_iris_write(openair0_device *device, openair0_timestamp timestamp, void **buff, int nsamps, int cc, int flags) { using namespace std::chrono; - static long long int loop = 0; - static long time_min = 0, time_max = 0, time_avg = 0; - struct timespec tp_start, tp_end; - long time_diff; - int ret = 0, ret_i = 0; int flag = 0; iris_state_t *s = (iris_state_t *) device->priv; @@ -161,20 +156,17 @@ trx_iris_write(openair0_device *device, openair0_timestamp timestamp, void **buf } } - clock_gettime(CLOCK_MONOTONIC_RAW, &tp_start); - // This hack was added by cws to help keep packets flowing if (flags) flag |= SOAPY_SDR_HAS_TIME; else { - long long tempHack = s->iris[0]->getHardwareTime(""); return nsamps; } if (flags == 2 || flags == 1) { // start of burst - } else if (flags == 3 | flags == 4) { + } else if (flags == 3 || flags == 4) { flag |= SOAPY_SDR_END_BURST; } @@ -196,7 +188,7 @@ trx_iris_write(openair0_device *device, openair0_timestamp timestamp, void **buf printf("\n"); //printf("\nHardware time before write: %lld, tx_time_stamp: %lld\n", s->iris[0]->getHardwareTime(""), timeNs); #endif - ret = s->iris[r]->writeStream(s->txStream[r], (void **) samps, (size_t)(nsamps), flag, timeNs, 1000000); + const int ret = s->iris[r]->writeStream(s->txStream[r], (void **) samps, (size_t)(nsamps), flag, timeNs, 1000000); if (ret < 0) printf("Unable to write stream!\n"); @@ -231,7 +223,7 @@ static int trx_iris_read(openair0_device *device, openair0_timestamp *ptimestamp bool time_set = false; long long timeNs = 0; int flags; - int samples_received; + int samples_received = 0; uint32_t *samps[2]; //= (uint32_t **)buff; int r; @@ -255,7 +247,7 @@ static int trx_iris_read(openair0_device *device, openair0_timestamp *ptimestamp if (ret < 0) { if (ret == SOAPY_SDR_TIME_ERROR) printf("[recv] Time Error in tx stream!\n"); - else if (ret == SOAPY_SDR_OVERFLOW | (flags & SOAPY_SDR_END_ABRUPT)) + else if (ret == SOAPY_SDR_OVERFLOW || (flags & SOAPY_SDR_END_ABRUPT)) printf("[recv] Overflow occured!\n"); else if (ret == SOAPY_SDR_TIMEOUT) printf("[recv] Timeout occured!\n"); @@ -344,15 +336,16 @@ void *set_freq_thread(void *arg) { device->openair0_cfg[0].rx_freq[0]); // add check for the number of channels in the cfg for (r = 0; r < s->device_num; r++) { - for (i = 0; i < s->iris[r]->getNumChannels(SOAPY_SDR_RX); i++) { + for (i = 0; i < (int) s->iris[r]->getNumChannels(SOAPY_SDR_RX); i++) { if (i < s->rx_num_channels) s->iris[r]->setFrequency(SOAPY_SDR_RX, i, "RF", device->openair0_cfg[0].rx_freq[i]); } - for (i = 0; i < s->iris[r]->getNumChannels(SOAPY_SDR_TX); i++) { + for (i = 0; i < (int) s->iris[r]->getNumChannels(SOAPY_SDR_TX); i++) { if (i < s->tx_num_channels) s->iris[r]->setFrequency(SOAPY_SDR_TX, i, "RF", device->openair0_cfg[0].tx_freq[i]); } } + return NULL; } /*! \brief Set frequencies (TX/RX) @@ -364,16 +357,15 @@ void *set_freq_thread(void *arg) { int trx_iris_set_freq(openair0_device *device, openair0_config_t *openair0_cfg) { iris_state_t *s = (iris_state_t *)device->priv; - pthread_t f_thread; int r, i; for (r = 0; r < s->device_num; r++) { printf("Setting Iris TX Freq %f, RX Freq %f\n", openair0_cfg[0].tx_freq[0], openair0_cfg[0].rx_freq[0]); - for (i = 0; i < s->iris[r]->getNumChannels(SOAPY_SDR_RX); i++) { + for (i = 0; i < (int) s->iris[r]->getNumChannels(SOAPY_SDR_RX); i++) { if (i < s->rx_num_channels) { s->iris[r]->setFrequency(SOAPY_SDR_RX, i, "RF", openair0_cfg[0].rx_freq[i]); } } - for (i = 0; i < s->iris[r]->getNumChannels(SOAPY_SDR_TX); i++) { + for (i = 0; i < (int) s->iris[r]->getNumChannels(SOAPY_SDR_TX); i++) { if (i < s->tx_num_channels) { s->iris[r]->setFrequency(SOAPY_SDR_TX, i, "RF", openair0_cfg[0].tx_freq[i]); } @@ -495,11 +487,9 @@ extern "C" { */ int device_init(openair0_device *device, openair0_config_t *openair0_cfg) { - size_t i, r, card; int bw_gain_adjust = 0; openair0_cfg[0].rx_gain_calib_table = calib_table_iris; - iris_state_t *s = (iris_state_t *) malloc(sizeof(iris_state_t)); - memset(s, 0, sizeof(iris_state_t)); + iris_state_t *s = (iris_state_t *) calloc(1, sizeof(*s)); std::string devFE("DEV"); std::string cbrsFE("CBRS"); @@ -576,7 +566,7 @@ int device_init(openair0_device *device, openair0_config_t *openair0_cfg) { exit(-1); } - for (r = 0; r < s->device_num; r++) { + for (int r = 0; r < s->device_num; r++) { //this is unnecessary -- it will set the correct master clock based on sample rate /*switch ((int) openair0_cfg[0].sample_rate) { case 1920000: @@ -600,7 +590,7 @@ int device_init(openair0_device *device, openair0_config_t *openair0_cfg) { break; }*/ - for (i = 0; i < s->iris[r]->getNumChannels(SOAPY_SDR_RX); i++) { + for (int i = 0; i < (int) s->iris[r]->getNumChannels(SOAPY_SDR_RX); i++) { if (i < s->rx_num_channels) { s->iris[r]->setSampleRate(SOAPY_SDR_RX, i, openair0_cfg[0].sample_rate / SAMPLE_RATE_DOWN); #ifdef MOVE_DC @@ -633,7 +623,7 @@ int device_init(openair0_device *device, openair0_config_t *openair0_cfg) { s->iris[r]->setDCOffsetMode(SOAPY_SDR_RX, i, true); // move somewhere else } } - for (i = 0; i < s->iris[r]->getNumChannels(SOAPY_SDR_TX); i++) { + for (int i = 0; i < (int) s->iris[r]->getNumChannels(SOAPY_SDR_TX); i++) { if (i < s->tx_num_channels) { s->iris[r]->setSampleRate(SOAPY_SDR_TX, i, openair0_cfg[0].sample_rate / SAMPLE_RATE_DOWN); #ifdef MOVE_DC @@ -682,24 +672,24 @@ int device_init(openair0_device *device, openair0_config_t *openair0_cfg) { rx_filt_bw *= 3; #endif /* Setting TX/RX BW */ - for (i = 0; i < s->tx_num_channels; i++) { - if (i < s->iris[r]->getNumChannels(SOAPY_SDR_TX)) { + for (int i = 0; i < s->tx_num_channels; i++) { + if (i < (int) s->iris[r]->getNumChannels(SOAPY_SDR_TX)) { s->iris[r]->setBandwidth(SOAPY_SDR_TX, i, tx_filt_bw); - printf("Setting tx bandwidth on channel %zu/%lu: BW %f (readback %f)\n", i, + printf("Setting tx bandwidth on channel %d/%lu: BW %f (readback %f)\n", i, s->iris[r]->getNumChannels(SOAPY_SDR_TX), tx_filt_bw / 1e6, s->iris[r]->getBandwidth(SOAPY_SDR_TX, i) / 1e6); } } - for (i = 0; i < s->rx_num_channels; i++) { - if (i < s->iris[r]->getNumChannels(SOAPY_SDR_RX)) { + for (int i = 0; i < s->rx_num_channels; i++) { + if (i < (int) s->iris[r]->getNumChannels(SOAPY_SDR_RX)) { s->iris[r]->setBandwidth(SOAPY_SDR_RX, i, rx_filt_bw); - printf("Setting rx bandwidth on channel %zu/%lu : BW %f (readback %f)\n", i, + printf("Setting rx bandwidth on channel %d/%lu : BW %f (readback %f)\n", i, s->iris[r]->getNumChannels(SOAPY_SDR_RX), rx_filt_bw / 1e6, s->iris[r]->getBandwidth(SOAPY_SDR_RX, i) / 1e6); } } - for (i = 0; i < s->iris[r]->getNumChannels(SOAPY_SDR_TX); i++) { + for (int i = 0; i < (int) s->iris[r]->getNumChannels(SOAPY_SDR_TX); i++) { if (i < s->tx_num_channels) { printf("\nUsing SKLK calibration...\n"); s->iris[r]->writeSetting(SOAPY_SDR_TX, i, "CALIBRATE", "SKLK"); @@ -708,7 +698,7 @@ int device_init(openair0_device *device, openair0_config_t *openair0_cfg) { } - for (i = 0; i < s->iris[r]->getNumChannels(SOAPY_SDR_RX); i++) { + for (int i = 0; i < (int) s->iris[r]->getNumChannels(SOAPY_SDR_RX); i++) { if (i < s->rx_num_channels) { printf("\nUsing SKLK calibration...\n"); s->iris[r]->writeSetting(SOAPY_SDR_RX, i, "CALIBRATE", "SKLK"); @@ -718,7 +708,7 @@ int device_init(openair0_device *device, openair0_config_t *openair0_cfg) { } if (s->iris[r]->getHardwareInfo()["frontend"].compare(devFE) == 0) { - for (i = 0; i < s->iris[r]->getNumChannels(SOAPY_SDR_RX); i++) { + for (int i = 0; i < (int) s->iris[r]->getNumChannels(SOAPY_SDR_RX); i++) { if (openair0_cfg[0].duplex_mode == 0) { printf("\nFDD: Setting receive antenna to %s\n", s->iris[r]->listAntennas(SOAPY_SDR_RX, i)[1].c_str()); if (i < s->rx_num_channels) @@ -741,22 +731,22 @@ int device_init(openair0_device *device, openair0_config_t *openair0_cfg) { rxStreamArgs["WIRE"] = SOAPY_SDR_CS16; std::vector channels; - for (i = 0; i < s->rx_num_channels; i++) - if (i < s->iris[r]->getNumChannels(SOAPY_SDR_RX)) + for (int i = 0; i < s->rx_num_channels; i++) + if (i < (int) s->iris[r]->getNumChannels(SOAPY_SDR_RX)) channels.push_back(i); s->rxStream.push_back(s->iris[r]->setupStream(SOAPY_SDR_RX, SOAPY_SDR_CS16, channels));//, rxStreamArgs)); std::vector tx_channels = {}; - for (i = 0; i < s->tx_num_channels; i++) - if (i < s->iris[r]->getNumChannels(SOAPY_SDR_TX)) + for (int i = 0; i < s->tx_num_channels; i++) + if (i < (int) s->iris[r]->getNumChannels(SOAPY_SDR_TX)) tx_channels.push_back(i); s->txStream.push_back(s->iris[r]->setupStream(SOAPY_SDR_TX, SOAPY_SDR_CS16, tx_channels)); //, arg)); //s->iris[r]->setHardwareTime(0, ""); std::cout << "Front end detected: " << s->iris[r]->getHardwareInfo()["frontend"] << "\n"; - for (i = 0; i < s->rx_num_channels; i++) { - if (i < s->iris[r]->getNumChannels(SOAPY_SDR_RX)) { - printf("RX Channel %zu\n", i); + for (int i = 0; i < s->rx_num_channels; i++) { + if (i < (int) s->iris[r]->getNumChannels(SOAPY_SDR_RX)) { + printf("RX Channel %d\n", i); printf("Actual RX sample rate: %fMSps...\n", (s->iris[r]->getSampleRate(SOAPY_SDR_RX, i) / 1e6)); printf("Actual RX frequency: %fGHz...\n", (s->iris[r]->getFrequency(SOAPY_SDR_RX, i) / 1e9)); printf("Actual RX gain: %f...\n", (s->iris[r]->getGain(SOAPY_SDR_RX, i))); @@ -772,9 +762,9 @@ int device_init(openair0_device *device, openair0_config_t *openair0_cfg) { } } - for (i = 0; i < s->tx_num_channels; i++) { - if (i < s->iris[r]->getNumChannels(SOAPY_SDR_TX)) { - printf("TX Channel %zu\n", i); + for (int i = 0; i < s->tx_num_channels; i++) { + if (i < (int) s->iris[r]->getNumChannels(SOAPY_SDR_TX)) { + printf("TX Channel %d\n", i); printf("Actual TX sample rate: %fMSps...\n", (s->iris[r]->getSampleRate(SOAPY_SDR_TX, i) / 1e6)); printf("Actual TX frequency: %fGHz...\n", (s->iris[r]->getFrequency(SOAPY_SDR_TX, i) / 1e9)); printf("Actual TX gain: %f...\n", (s->iris[r]->getGain(SOAPY_SDR_TX, i))); @@ -791,10 +781,10 @@ int device_init(openair0_device *device, openair0_config_t *openair0_cfg) { } } s->iris[0]->writeSetting("SYNC_DELAYS", ""); - for (r = 0; r < s->device_num; r++) + for (int r = 0; r < s->device_num; r++) s->iris[r]->setHardwareTime(0, "TRIGGER"); s->iris[0]->writeSetting("TRIGGER_GEN", ""); - for (r = 0; r < s->device_num; r++) + for (int r = 0; r < s->device_num; r++) printf("Device timestamp: %f...\n", (s->iris[r]->getHardwareTime("TRIGGER") / 1e9)); device->priv = s; From 06ccfdfc518c8afc5cc3aa683be13918928c4e0c Mon Sep 17 00:00:00 2001 From: Robert Schmidt Date: Thu, 13 Oct 2022 16:33:37 +0200 Subject: [PATCH 4/4] Remove ADRV9371_ZC706 driver leftovers --- cmake_targets/build_oai | 20 +-- .../SYRTEM_IQ_QuickStart.readme | 136 ------------------ .../SYRTEM_IQ_uninstall_previous_SW.sh | 28 ---- sdr/COMMON/common_lib.c | 1 - sdr/COMMON/common_lib.h | 2 - 5 files changed, 2 insertions(+), 185 deletions(-) delete mode 100755 sdr/ADRV9371_ZC706/SYRTEM_IQ_QuickStart.readme delete mode 100755 sdr/ADRV9371_ZC706/SYRTEM_IQ_uninstall_previous_SW.sh diff --git a/cmake_targets/build_oai b/cmake_targets/build_oai index 0537a93aea..ea74b87bb0 100755 --- a/cmake_targets/build_oai +++ b/cmake_targets/build_oai @@ -109,7 +109,7 @@ Options: --UE-gen-nvram [output path] Specify gen_nvram_path (default \"$gen_nvram_path\") -w | --hardware - USRP, BLADERF, LMSSDR, IRIS, ADRV9371_ZC706, SIMU, AW2SORI, None (Default) + USRP, BLADERF, LMSSDR, IRIS, SIMU, AW2SORI, None (Default) Adds this RF board support (in external packages installation and in compilation) -t | --transport Selects the transport protocol type, options: None, Ethernet, benetel4g, benetel5g @@ -286,7 +286,7 @@ function main() { -w | --hardware) # Use OAI_USRP as the key word USRP is used inside UHD driver case "$2" in - "USRP" | "BLADERF" | "LMSSDR" | "IRIS" | "ADRV9371_ZC706" | "SIMU" | "AW2SORI") + "USRP" | "BLADERF" | "LMSSDR" | "IRIS" | "SIMU" | "AW2SORI") HW="OAI_"$2 ;; "None") @@ -499,10 +499,6 @@ function main() { install_usrp_uhd_driver $UHD_IMAGES_DIR fi fi -# if [ "$HW" == "OAI_ADRV9371_ZC706" ] ; then -# echo_info "\nInstalling packages for ADRV9371_ZC706 support" -# check_install_libiio_driver -# fi if [ "$HW" == "OAI_BLADERF" ] ; then echo_info "installing packages for BLADERF support" check_install_bladerf_driver @@ -706,18 +702,6 @@ function main() { ln -s liboai_irisdevif.so liboai_device.so echo_info "liboai_device.so is linked to IRIS device library" - elif [ "$HW" == "OAI_ADRV9371_ZC706" ] ; then - SYRIQ_KVER=$(uname -r) - SYRIQ_KMAJ=$(echo $SYRIQ_KVER | sed -e 's/^\([0-9][0-9]*\)\.[0-9][0-9]*\.[0-9][0-9]*.*/\1/') - SYRIQ_KMIN=$(echo $SYRIQ_KVER | sed -e 's/^[0-9][0-9]*\.\([0-9][0-9]*\)\.[0-9][0-9]*.*/\1/') -# echo $SYRIQ_KMAJ$SYRIQ_KMIN - if [ "$SYRIQ_KMAJ$SYRIQ_KMIN" == "319" ] || [ "$SYRIQ_KMAJ$SYRIQ_KMIN" == "410" ] || [ "$SYRIQ_KMAJ$SYRIQ_KMIN" == "415" ] ; then -# echo "Kernel $SYRIQ_KMAJ.$SYRIQ_KMIN detected" - ln -sf /usr/local/lib/syriq/libadrv9371zc706.so liboai_device.so - else - echo_error "== FAILED == Unexpected Kernel $SYRIQ_KMAJ.$SYRIQ_KMIN" - fi - echo_info "liboai_device.so is linked to ADRV9371_ZC706 device library for Kernel $SYRIQ_KMAJ.$SYRIQ_KMIN" elif [ "$HW" == "OAI_AW2SORI" ] ; then compilations $BUILD_DIR aw2sori_transpro diff --git a/sdr/ADRV9371_ZC706/SYRTEM_IQ_QuickStart.readme b/sdr/ADRV9371_ZC706/SYRTEM_IQ_QuickStart.readme deleted file mode 100755 index 5467c398e4..0000000000 --- a/sdr/ADRV9371_ZC706/SYRTEM_IQ_QuickStart.readme +++ /dev/null @@ -1,136 +0,0 @@ -/* ********** ********** ********** ********** ********** ********** ********** */ -Requirements: -------------- -- Previous kernel module/libraries shall be uninstalled !!! - - cf. command line below "SYRTEM_IQ_uninstall_previous_SW.sh" -./SYRTEM_IQ_unload_previous_SW.sh -- You shall have SYRIQ1.4.6nr.tar.gz -- Ubuntu kernel version is restricted to: - - Kernel 4.15.0-20-lowlatency (Ubuntu 18.04) - - Kernel 4.10.0-42-lowlatency (Ubuntu 17.04) - - Kernel 3.19.0-61-lowlatency (Ubuntu 14.04) -- ADRV9371+ZC706 PCIe board shall be switched on -- PC shall be reboot once ADRV9371+ZC706 PCIe board is switched on - -mkdir eur_oai_develop-nr -cd eur_oai_develop-nr - -git clone https://gitlab.eurecom.fr/oai/openairinterface5g.git -cd openairinterface5g - -git checkout 375-syrtem-sdr-platform -or -git checkout develop-nr (after merge request accepted) - -./sdr/ADRV9371_ZC706/SYRTEM_IQ_uninstall_previous_SW.sh --> Reading package lists... Done --> Building dependency tree --> Reading state information... Done --> linux-headers-4.15.0-20-lowlatency is already the newest version (4.15.0-20.21). --> 0 upgraded, 0 newly installed, 0 to remove and 327 not upgraded. --> Previous SYRIQ is loaded! - -> previous SYRIQ is unloaded! - -> previous SYRIQ is uninstall! --> Previous SYRIQ uninstallation is done - - - - -/* ********** ********** ********** ********** ********** ********** ********** */ -UE: ---- -configuration: --------------- -sudo apt update -sudo apt-get update - -tar -xvzf SYRIQ1.4.6nr.tar.gz -./SYRIQplatformR1.4.6nr_install.sh -sudo reboot - -sudo lspci -vv | grep Xilinx -sudo lspci -vv -s 02:00.0 | grep LnkSta -sudo lspci -vv -s 03:00.0 | grep LnkSta -sudo lspci -vv -s 02:00.0 | grep Interr -sudo lspci -vv -s 03:00.0 | grep Interr - -sudo gedit /usr/local/etc/syriq/cpu-irq.sh -echo '1' > /proc/irq/49/smp_affinity_list -echo '5' > /proc/irq/48/smp_affinity_list - -gedit oaienv -export IIOD_REMOTE=192.168.1.11 - - - -compilation: ------------- -sudo cset shield --reset -cd eur_oai_develop-nr/openairinterface5g/ -source oaienv - -sudo -E ./cmake_targets/build_oai -c --nrUE -w ADRV9371_ZC706 -I -sudo -E ./cmake_targets/build_oai -c --nrUE -w ADRV9371_ZC706 - - - -run: ----- -source oaienv -sudo -E /usr/local/etc/syriq/cpu-irq.sh - -sudo -E cset shield -e ./cmake_targets/ran_build/nr-uesoftmodem -- --numerology 1 -r 106 -C 3510000000 --loop-memory --rf-config-file /usr/local/etc/syriq/ue.band22.tm1.PRB100.NR40.dat - - - - - -/* ********** ********** ********** ********** ********** ********** ********** */ -gNB: ----- -configuration: --------------- -sudo apt update -sudo apt-get update - -tar -xvzf SYRIQ1.4.6nr.tar.gz -./SYRIQplatformR1.4.6nr_install.sh -sudo reboot - -sudo lspci -vv | grep Xilinx -sudo lspci -vv -s 02:00.0 | grep LnkSta -sudo lspci -vv -s 02:00.0 | grep Interr - -sudo gedit /usr/local/etc/syriq/cpu-irq.sh -echo '1' > /proc/irq/46/smp_affinity_list - -gedit oaienv -export IIOD_REMOTE=192.168.1.21 - - - -compilation: ------------- -sudo cset shield --reset -cd eur_oai_develop-nr/openairinterface5g/ -source oaienv - -sudo -E ./cmake_targets/build_oai -c --gNB -w ADRV9371_ZC706 -I --enable-cpu-affinity - -/* CPU available shall be mapped on CPU2 to get_nprocs() number with hyperthreading disabled */ -/* because : */ -/* - cset shield leave CPU0 for system */ -/* - CPU1 is reserved for HwRxTx thread for I/Q acquisition ! */ -/* Note: "/usr/local/etc/syriq/cpu-irq.sh" shall be changed if more than 8 cores are used */ -/* ie. "cset shield --force --kthread on -c 1-7" where "-c 1-7" reserves CPU1 to CPU7 for application (CPU0 is for system) */ - -sudo -E ./cmake_targets/build_oai -c --gNB -w ADRV9371_ZC706 --enable-cpu-affinity - - - -run: ----- -source oaienv -sudo -E /usr/local/etc/syriq/cpu-irq.sh - -sudo -E cset shield -e ./cmake_targets/ran_build/build/nr-softmodem -- -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/gnb.band22.tm1.106PRB.adrv9371zc706.conf --rf-config-file /usr/local/etc/syriq/gnb.band22.tm1.PRB100.NR40_hwgain15.dat diff --git a/sdr/ADRV9371_ZC706/SYRTEM_IQ_uninstall_previous_SW.sh b/sdr/ADRV9371_ZC706/SYRTEM_IQ_uninstall_previous_SW.sh deleted file mode 100755 index e0d5289f00..0000000000 --- a/sdr/ADRV9371_ZC706/SYRTEM_IQ_uninstall_previous_SW.sh +++ /dev/null @@ -1,28 +0,0 @@ -# Previous SYRIQ uninstall -#!/bin/sh -MODULE="riffa" -KERNEL_VERSION=$(uname -r) -RHR=/etc/redhat-release - -sudo apt-get install -y linux-headers-`uname -r` - -if lsmod | grep "$MODULE" &> /dev/null ; then - echo "Previous SYRIQ is loaded!" - sudo rmmod $MODULE - echo " -> previous SYRIQ is unloaded!" - sudo rm -f /usr/local/lib/libriffa.so* - sudo rm -f /usr/local/include/riffa.h - sudo rm -f /usr/local/include/riffa_driver.h - sudo rm -f /etc/ld.so.conf.d/riffa.conf - sudo rm -rf /lib/modules/$KERNEL_VERSION/kernel/drivers/riffa - sudo rm -f /etc/udev/rules.d/99-riffa.rules - sudo sed -i '/riffa/d' /etc/modules - sudo ldconfig - sudo depmod - echo " -> previous SYRIQ is uninstall!" - echo "Previous SYRIQ uninstallation is done" - exit 0 -else - echo "Previous SYRIQ is not loaded!" - exit 1 -fi diff --git a/sdr/COMMON/common_lib.c b/sdr/COMMON/common_lib.c index a17fcb85c8..b5d90d3621 100644 --- a/sdr/COMMON/common_lib.c +++ b/sdr/COMMON/common_lib.c @@ -53,7 +53,6 @@ const char* devtype_names[MAX_RF_DEV_TYPE] = { "LMSSDR", "IRIS", "No HW", - "ADRV9371_ZC706", "UEDv2", "RFSIMULATOR" }; diff --git a/sdr/COMMON/common_lib.h b/sdr/COMMON/common_lib.h index ab8f4ef85c..368e8e9ac5 100644 --- a/sdr/COMMON/common_lib.h +++ b/sdr/COMMON/common_lib.h @@ -99,8 +99,6 @@ typedef enum { IRIS_DEV, /*!\brief device is NONE*/ NONE_DEV, - /*!\brief device is ADRV9371_ZC706 */ - ADRV9371_ZC706_DEV, /*!\brief device is UEDv2 */ UEDv2_DEV, RFSIMULATOR,