diff --git a/cmake_targets/CMakeLists.txt b/cmake_targets/CMakeLists.txt index a8af214ce1107d0438c21b557f3520c415f40f3d..eb19864e958a6c6067b483d4bf59d16c00491b4d 100644 --- a/cmake_targets/CMakeLists.txt +++ b/cmake_targets/CMakeLists.txt @@ -405,7 +405,7 @@ add_list1_option(NB_ANTENNAS_RX "2" "Number of antennas in reception" "1" "2" "4 add_list1_option(NB_ANTENNAS_TX "2" "Number of antennas in transmission" "1" "2" "4") add_list1_option(NB_ANTENNAS_TXRX "2" "Number of antennas in ????" "1" "2" "4") -add_list2_option(RF_BOARD "EXMIMO" "RF head type" "False" "EXMIMO" "OAI_USRP" "ETHERNET" "OAI_BLADERF" "OAI_SODERA" "CPRIGW") +add_list2_option(RF_BOARD "EXMIMO" "RF head type" "False" "EXMIMO" "OAI_USRP" "ETHERNET" "OAI_BLADERF" "OAI_LMSSDR" "CPRIGW") Message("RF_BOARD is ${RF_BOARD}") @@ -437,25 +437,19 @@ elseif (${RF_BOARD} STREQUAL "OAI_BLADERF") set(option_HW_lib "bladeRF") #set(LOWLATENCY False) -elseif (${RF_BOARD} STREQUAL "OAI_SODERA") - include_directories("${OPENAIR_TARGETS}/ARCH/SODERA/USERSPACE/LIB") - include_directories("${OPENAIR_TARGETS}/ARCH/SODERA/USERSPACE/LIB/lms7suite/src/lms7002m") - include_directories("${OPENAIR_TARGETS}/ARCH/SODERA/USERSPACE/LIB/lms7suite/src/Si5351C") - include_directories("${OPENAIR_TARGETS}/ARCH/SODERA/USERSPACE/LIB/lms7suite/src/LMS_StreamBoard") +elseif (${RF_BOARD} STREQUAL "OAI_LMSSDR") + include_directories("${OPENAIR_TARGETS}/ARCH/LMSSDR/USERSPACE/LIB") + include_directories("${OPENAIR_TARGETS}/ARCH/LMSSDR/USERSPACE/LIB/lmsSDR") + include_directories("${OPENAIR_TARGETS}/ARCH/LMSSDR/USERSPACE/LIB/lms7002m") +# include_directories("${OPENAIR_TARGETS}/ARCH/LMSSDR/USERSPACE/LIB/Si5351C") + include_directories("${OPENAIR_TARGETS}/ARCH/LMSSDR/USERSPACE/LIB/LMS_StreamBoard") set(HW_SOURCE ${HW_SOURCE} - ${OPENAIR_TARGETS}/ARCH/SODERA/USERSPACE/LIB/sodera_lib.cpp + ${OPENAIR_TARGETS}/ARCH/LMSSDR/USERSPACE/LIB/lms_lib.cpp ) - LINK_DIRECTORIES("${OPENAIR_TARGETS}/ARCH/SODERA/USERSPACE/LIB/lms7suite/src/lms7002m") - LINK_DIRECTORIES("${OPENAIR_TARGETS}/ARCH/SODERA/USERSPACE/LIB/lms7suite/src/Si5351C") - LINK_DIRECTORIES("${OPENAIR_TARGETS}/ARCH/SODERA/USERSPACE/LIB/lms7suite/src/LMS_StreamBoard") - LINK_DIRECTORIES("${OPENAIR_TARGETS}/ARCH/SODERA/USERSPACE/LIB/lms7suite/src/kissFFT") LINK_DIRECTORIES("/usr/lib/x86_64-linux-gnu") - set(option_HW_lib "usb-1.0") - set(LMS7002_LIB "libLMS7002M.a") - set(Si5351C_LIB "libSi5351C.a") - set(LMSStreamBoard_LIB "libLMS_StreamBoard.a") - set(KISSFFT_LIB "libkissFFT.a") - #set(LOWLATENCY False) + set(HW_SOURCE ${HW_SOURCE} ${OPENAIR_TARGETS}/ARCH/LMSSDR/USERSPACE/LIB/lms_lib.cpp) + set(LIB_LMS_LIBRARIES "${OPENAIR_TARGETS}/ARCH/LMSSDR/USERSPACE/LIB/lmsSDR/build/libLMS_SDR.so" "${OPENAIR_TARGETS}/ARCH/LMSSDR/USERSPACE/LIB/lms7002m/build/libLMS7002M.a") + set(LOWLATENCY False) elseif (${RF_BOARD} STREQUAL "ETHERNET") include_directories ("${OPENAIR_TARGETS}/ARCH/ETHERNET/USERSPACE/LIB") @@ -1454,13 +1448,14 @@ add_executable(lte-softmodem target_link_libraries (lte-softmodem -Wl,--start-group - RRC_LIB S1AP_LIB S1AP_ENB GTPV1U SECU_CN SECU_OSA UTIL HASHTABLE SCTP_CLIENT UDP SCHED_LIB PHY LFDS L2 ${MSC_LIB} ${RAL_LIB} ${NAS_UE_LIB} ${ITTI_LIB} ${MIH_LIB} ${LMS7002_LIB} ${Si5351C_LIB} ${LMSStreamBoard_LIB} ${KISSFFT_LIB} + RRC_LIB S1AP_LIB S1AP_ENB GTPV1U SECU_CN SECU_OSA UTIL HASHTABLE SCTP_CLIENT UDP SCHED_LIB PHY LFDS L2 ${MSC_LIB} ${RAL_LIB} ${NAS_UE_LIB} ${ITTI_LIB} ${MIH_LIB} -Wl,--end-group ) target_link_libraries (lte-softmodem ${LIBXML2_LIBRARIES}) target_link_libraries (lte-softmodem pthread m ${CONFIG_LIBRARIES} rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} sctp ${option_HW_lib} ${XFORMS_LIBRARIES} ) target_link_libraries (lte-softmodem ${LIBBOOST_LIBRARIES}) +target_link_libraries (lte-softmodem ${LIB_LMS_LIBRARIES}) # lte-softmodem-nos1 is both eNB and UE implementation ################################################### diff --git a/cmake_targets/build_oai b/cmake_targets/build_oai index 4a18e53f4771493cb8926a560d5bc962f3561850..6d2021eb01b887ce140fd4b8fc591bc6ab715d02 100755 --- a/cmake_targets/build_oai +++ b/cmake_targets/build_oai @@ -90,7 +90,7 @@ Options default is Rel10, Rel8 limits the implementation to 3GPP Release 8 version -w | --hardware - EXMIMO (Default), USRP, BLADERF, SODERA, ETHERNET, None + EXMIMO (Default), USRP, BLADERF, LMSSDR, ETHERNET, None Adds this RF board support (in external packages installation and in compilation) --oaisim Makes the oaisim simulator. Hardware will be defaulted to "NONE". @@ -181,8 +181,8 @@ function main() { if [ "$HW" == "BLADERF" ] ; then HW="OAI_BLADERF" fi - if [ "$HW" == "SODERA" ] ; then - HW="OAI_SODERA" + if [ "$HW" == "LMSSDR" ] ; then + HW="OAI_LMSSDR" fi echo_info "setting hardware to: $HW" shift 2;; @@ -266,7 +266,7 @@ function main() { LOWLATENCY_FLAG_USER="False" elif [ "$HW" = "OAI_BLADERF" ] ; then LOWLATENCY_FLAG_USER="False" - elif [ "$HW" = "OAI_SODERA" ] ; then + elif [ "$HW" = "OAI_LMSSDR" ] ; then LOWLATENCY_FLAG_USER="False" elif [ "$HW" = "None" ] ; then LOWLATENCY_FLAG_USER="False" diff --git a/targets/ARCH/COMMON/common_lib.c b/targets/ARCH/COMMON/common_lib.c index 278d8ed79f1969e85e1d0d317f85423f7a700970..69496f69ef254846a3da848e89b30010250de1b4 100644 --- a/targets/ARCH/COMMON/common_lib.c +++ b/targets/ARCH/COMMON/common_lib.c @@ -61,15 +61,16 @@ int openair0_device_init(openair0_device *device, openair0_config_t *openair0_cf device->type=BLADERF_IF; printf("openair0_dev_init_bladerf ...\n"); return(openair0_dev_init_bladerf(device, openair0_cfg)); -#elif OAI_SODERA - device->type=OAI_SODERA; - printf("openair0_dev_init_sodera ...\n"); +#elif OAI_LMSSDR + device->type=LMSSDR_IF; + printf("openair0_dev_init_lmssdr ...\n"); + /* if (openair0_cfg[0].configFilename==NULL) { printf("Please provide a configuration file for SoDeRa\n"); exit(-1); - } + }*/ - return(openair0_dev_init_sodera(device, openair0_cfg)); + return(openair0_dev_init_lms(device, openair0_cfg)); #endif } diff --git a/targets/ARCH/COMMON/common_lib.h b/targets/ARCH/COMMON/common_lib.h index 3f814a9e555f14326d51e72cd0598039e76b8d3e..8255b8f2ab2e63dedf58e6dcff27d0b9ed5d0117 100644 --- a/targets/ARCH/COMMON/common_lib.h +++ b/targets/ARCH/COMMON/common_lib.h @@ -165,8 +165,8 @@ typedef enum { USRP_X300_IF, /*!\brief device is BLADE RF*/ BLADERF_IF, - /*!\brief device is SODERA RF*/ - SODERARF_IF, + /*!\brief device is LMSSDR*/ + LMSSDR_IF, /*!\brief device is NONE*/ NONE_IF, MAX_DEV_TYPE @@ -298,7 +298,7 @@ extern "C" /*! \brief Initialize Openair ETHERNET target. It returns 0 if OK */ int openair0_dev_init_eth(openair0_device *device, openair0_config_t *openair0_cfg); int openair0_dev_init_bladerf(openair0_device *device, openair0_config_t *openair0_cfg); - int openair0_dev_init_sodera(openair0_device *device, openair0_config_t *openair0_cfg); + int openair0_dev_init_lms(openair0_device *device, openair0_config_t *openair0_cfg); int openair0_dev_init_usrp(openair0_device* device, openair0_config_t *openair0_cfg); int openair0_dev_init_exmimo(openair0_device *device, openair0_config_t *openair0_cfg); /*@}*/ diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf index 5c53803c4dd4d9fe9fd822df0b98f6b7c104e44e..5a6a9a462bdeabd1fde804c0788cc52f7366c427 100644 --- a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf +++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf @@ -142,10 +142,10 @@ eNBs = NETWORK_INTERFACES : { ENB_INTERFACE_NAME_FOR_S1_MME = "eth0"; - ENB_IPV4_ADDRESS_FOR_S1_MME = "192.168.12.212/24"; + ENB_IPV4_ADDRESS_FOR_S1_MME = "192.168.12.215/24"; ENB_INTERFACE_NAME_FOR_S1U = "eth0"; - ENB_IPV4_ADDRESS_FOR_S1U = "192.168.12.212/24"; + ENB_IPV4_ADDRESS_FOR_S1U = "192.168.12.215/24"; ENB_PORT_FOR_S1U = 2152; # Spec 2152 }; diff --git a/targets/RT/USER/lte-softmodem.c b/targets/RT/USER/lte-softmodem.c index 612239bec39dc440e1f460ae89e50dbd6dcd6d07..a431b354980a5145462a7ba3259cf729730e8740 100644 --- a/targets/RT/USER/lte-softmodem.c +++ b/targets/RT/USER/lte-softmodem.c @@ -956,6 +956,8 @@ void do_OFDM_mod_rt(int subframe,PHY_VARS_eNB *phy_vars_eNB) ((short*)dummy_tx_b)[2*i]<<4; #elif OAI_BLADERF ((short*)dummy_tx_b)[2*i]; +#elif OAI_LMSSDR + ((short*)dummy_tx_b)[2*i]; #else ((short*)dummy_tx_b)[2*i]<<4; #endif @@ -964,6 +966,8 @@ void do_OFDM_mod_rt(int subframe,PHY_VARS_eNB *phy_vars_eNB) ((short*)dummy_tx_b)[2*i+1]<<4; #elif OAI_BLADERF ((short*)dummy_tx_b)[2*i+1]; +#elif OAI_LMSSDR + ((short*)dummy_tx_b)[2*i+1]; #else ((short*)dummy_tx_b)[2*i+1]<<4; #endif