Remove EXMIMO leftover
- Remove all files referencing EXMIMO - Remove all targets/variables/defines that seem to be related to EXMIMO
This commit is contained in:
+2
-22
@@ -50,7 +50,7 @@ include_directories(${CRYPTO_INCLUDE_DIRS})
|
|||||||
#uhd 4.0 and iris installs by default in /usr/local
|
#uhd 4.0 and iris installs by default in /usr/local
|
||||||
include_directories("/usr/local/include/")
|
include_directories("/usr/local/include/")
|
||||||
#use native cmake method as this package is not in pkg-config
|
#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")
|
if (${RF_BOARD} STREQUAL "OAI_USRP")
|
||||||
find_package(Boost REQUIRED)
|
find_package(Boost REQUIRED)
|
||||||
|
|
||||||
@@ -904,8 +904,6 @@ add_boolean_option(LINUX_LIST False "used only in lists.c: either u
|
|||||||
##########################
|
##########################
|
||||||
# PHY options
|
# PHY options
|
||||||
##########################
|
##########################
|
||||||
add_boolean_option(DRIVER2013 True "only relevant for EXMIMO")
|
|
||||||
add_boolean_option(EXMIMO_IOT True "????")
|
|
||||||
add_boolean_option(LOCALIZATION False "???")
|
add_boolean_option(LOCALIZATION False "???")
|
||||||
add_integer_option(MAX_NUM_CCs 1 "????")
|
add_integer_option(MAX_NUM_CCs 1 "????")
|
||||||
add_boolean_option(SMBV False "Rohde&Schwarz SMBV100A vector signal generator")
|
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
|
nr_ulschsim ldpctest polartest smallblocktest cu_test du_test
|
||||||
#all "add_library" definitions
|
#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
|
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
|
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
|
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
|
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()
|
endif()
|
||||||
make_driver(ue_ip ${OPENAIR2_DIR}/NETWORK_DRIVER/UE_IP ${ue_ip_src})
|
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 (${OPENAIR_DIR}/common/utils/telnetsrv/telnetsrv_CMakeLists.txt)
|
||||||
include(${OPENAIR1_DIR}/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/CMakeLists.txt)
|
include(${OPENAIR1_DIR}/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/CMakeLists.txt)
|
||||||
|
|
||||||
|
|||||||
+3
-44
@@ -110,7 +110,7 @@ Options:
|
|||||||
--UE-gen-nvram [output path]
|
--UE-gen-nvram [output path]
|
||||||
Specify gen_nvram_path (default \"$gen_nvram_path\")
|
Specify gen_nvram_path (default \"$gen_nvram_path\")
|
||||||
-w | --hardware
|
-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)
|
Adds this RF board support (in external packages installation and in compilation)
|
||||||
-t | --transport
|
-t | --transport
|
||||||
Selects the transport protocol type, options: None, Ethernet, benetel4g, benetel5g
|
Selects the transport protocol type, options: None, Ethernet, benetel4g, benetel5g
|
||||||
@@ -172,13 +172,7 @@ Options:
|
|||||||
--sanitize-undefined | -fsanitize=undefined
|
--sanitize-undefined | -fsanitize=undefined
|
||||||
Enable the undefined behavior sanitizer on all targets
|
Enable the undefined behavior sanitizer on all targets
|
||||||
-h | --help
|
-h | --help
|
||||||
Print this 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"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -293,9 +287,6 @@ function main() {
|
|||||||
-w | --hardware)
|
-w | --hardware)
|
||||||
# Use OAI_USRP as the key word USRP is used inside UHD driver
|
# Use OAI_USRP as the key word USRP is used inside UHD driver
|
||||||
case "$2" in
|
case "$2" in
|
||||||
"EXMIMO")
|
|
||||||
HW="EXMIMO"
|
|
||||||
;;
|
|
||||||
"USRP" | "BLADERF" | "LMSSDR" | "IRIS" | "ADRV9371_ZC706" | "SIMU" | "AW2SORI")
|
"USRP" | "BLADERF" | "LMSSDR" | "IRIS" | "ADRV9371_ZC706" | "SIMU" | "AW2SORI")
|
||||||
HW="OAI_"$2
|
HW="OAI_"$2
|
||||||
;;
|
;;
|
||||||
@@ -491,16 +482,6 @@ function main() {
|
|||||||
|
|
||||||
echo_info "RF HW set to $HW"
|
echo_info "RF HW set to $HW"
|
||||||
# If the user doesn't specify the Linux scheduler to use, we set a value
|
# 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
|
#Disable CPU Affinity for deadline scheduler
|
||||||
if [ "$DEADLINE_SCHEDULER_FLAG_USER" = "True" ] ; then
|
if [ "$DEADLINE_SCHEDULER_FLAG_USER" = "True" ] ; then
|
||||||
@@ -712,22 +693,6 @@ function main() {
|
|||||||
compilations $BUILD_DIR test_$f
|
compilations $BUILD_DIR test_$f
|
||||||
done
|
done
|
||||||
fi
|
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 #
|
# Optional libraries #
|
||||||
@@ -747,13 +712,7 @@ function main() {
|
|||||||
if [ "$HW" != "None" ] ; then
|
if [ "$HW" != "None" ] ; then
|
||||||
rm -f liboai_device.so
|
rm -f liboai_device.so
|
||||||
|
|
||||||
# link liboai_device.so with the selected RF device library
|
if [ "$HW" == "OAI_USRP" ] ; then
|
||||||
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
|
|
||||||
compilations $BUILD_DIR oai_usrpdevif
|
compilations $BUILD_DIR oai_usrpdevif
|
||||||
|
|
||||||
ln -sf liboai_usrpdevif.so liboai_device.so
|
ln -sf liboai_usrpdevif.so liboai_device.so
|
||||||
|
|||||||
@@ -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 )
|
|
||||||
@@ -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 )
|
|
||||||
@@ -160,7 +160,6 @@ clean_kernel() {
|
|||||||
echo_info "Flushed iptables"
|
echo_info "Flushed iptables"
|
||||||
$SUDO rmmod nasmesh > /dev/null 2>&1
|
$SUDO rmmod nasmesh > /dev/null 2>&1
|
||||||
$SUDO rmmod oai_nw_drv > /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
|
$SUDO rmmod ue_ip > /dev/null 2>&1
|
||||||
echo_info "removed drivers from kernel"
|
echo_info "removed drivers from kernel"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
n=oarf_get_num_detected_cards;
|
|
||||||
for i=n-1:0
|
|
||||||
oarf_stop(i);
|
|
||||||
end
|
|
||||||
@@ -53,7 +53,7 @@
|
|||||||
#define CONFIG_HLP_DLSHIFT "dynamic shift for LLR compuation for TM3/4 (default 0)\n"
|
#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_PHYTST "test UE phy layer, mac disabled\n"
|
||||||
#define CONFIG_HLP_DORA "test gNB and UE with RA procedures\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_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_USIM "use XOR autentication algo in case of test usim mode\n"
|
||||||
#define CONFIG_HLP_NOSNGLT "Disables single-thread mode in lte-softmodem\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_ULOFF "Set the uplink frequnecy offset for all component carriers\n"
|
||||||
#define CONFIG_HLP_CHOFF "Channel id offset\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_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_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_DLMCS_PHYTEST "Set the downlink MCS for PHYTEST mode\n"
|
||||||
#define CONFIG_HLP_DLNL_PHYTEST "Set the downlink nrOfLayers for PHYTEST mode\n"
|
#define CONFIG_HLP_DLNL_PHYTEST "Set the downlink nrOfLayers for PHYTEST mode\n"
|
||||||
|
|||||||
+2
-2
@@ -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].rx_freq[0],
|
||||||
openair0_cfg[UE->rf_map.card].tx_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) {
|
if (UE->UE_scan_carrier == 1) {
|
||||||
UE->UE_scan_carrier = 0;
|
UE->UE_scan_carrier = 0;
|
||||||
} else {
|
} 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);
|
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;
|
break;
|
||||||
|
|||||||
@@ -67,7 +67,6 @@ extern "C"
|
|||||||
#define CONFIG_HLP_ULF "Set the uplink frequency offset for all component carriers\n"
|
#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_CHOFF "Channel id offset\n"
|
||||||
#define CONFIG_HLP_SOFTS "Enable soft scope and L1 and L2 stats (Xforms)\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_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_DLMCS "Set the maximum downlink MCS\n"
|
||||||
#define CONFIG_HLP_STMON "Enable processing timing measurement of lte softmodem on per subframe basis \n"
|
#define CONFIG_HLP_STMON "Enable processing timing measurement of lte softmodem on per subframe basis \n"
|
||||||
|
|||||||
@@ -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[0],
|
||||||
ue->measurements.n0_power_dB[1]);
|
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] 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] 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]);
|
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),
|
10*log10(ue->measurements.n0_power_tot),
|
||||||
ue->measurements.n0_power_dB[0],
|
ue->measurements.n0_power_dB[0],
|
||||||
ue->measurements.n0_power_dB[1]);
|
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");
|
len += sprintf(&buffer[len],"EOF\n");
|
||||||
|
|||||||
@@ -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];
|
((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) ; k<prach_start ; k++) {
|
|
||||||
if (k<0)
|
|
||||||
ue->common_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)
|
#if defined(PRACH_WRITE_OUTPUT_DEBUG)
|
||||||
LOG_M("prach_txF0.m","prachtxF0",prachF,prach_len-Ncp,1,1);
|
LOG_M("prach_txF0.m","prachtxF0",prachF,prach_len-Ncp,1,1);
|
||||||
|
|||||||
@@ -456,7 +456,7 @@ int nr_initial_sync(UE_nr_rxtx_proc_t *proc,
|
|||||||
phich_string[fp->phich_config_common.phich_resource],
|
phich_string[fp->phich_config_common.phich_resource],
|
||||||
fp->nb_antenna_ports_gNB);*/
|
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",
|
LOG_I(PHY, "[UE %d] Measured Carrier Frequency %.0f Hz (offset %d Hz)\n",
|
||||||
ue->Mod_id,
|
ue->Mod_id,
|
||||||
openair0_cfg[0].rx_freq[0]+ue->common_vars.freq_offset,
|
openair0_cfg[0].rx_freq[0]+ue->common_vars.freq_offset,
|
||||||
|
|||||||
@@ -108,7 +108,6 @@ int main(int argc, char **argv) {
|
|||||||
//! timing_source
|
//! timing_source
|
||||||
.time_source=internal, //internal gpsdo external
|
.time_source=internal, //internal gpsdo external
|
||||||
//! Manual SDR IP address
|
//! Manual SDR IP address
|
||||||
//#if defined(EXMIMO) || defined(OAI_USRP) || defined(OAI_BLADERF) || defined(OAI_LMSSDR)
|
|
||||||
.sdr_addrs=usrp_addrs,
|
.sdr_addrs=usrp_addrs,
|
||||||
//! Auto calibration flag
|
//! Auto calibration flag
|
||||||
.autocal={0},
|
.autocal={0},
|
||||||
@@ -260,7 +259,6 @@ int main(int argc, char **argv) {
|
|||||||
/*! \brief Set RX feaquencies
|
/*! \brief Set RX feaquencies
|
||||||
* \param device the hardware to use
|
* \param device the hardware to use
|
||||||
* \param openair0_cfg RF frontend parameters set by application
|
* \param openair0_cfg RF frontend parameters set by application
|
||||||
* \param exmimo_dump_config dump EXMIMO configuration
|
|
||||||
* \returns 0 in success
|
* \returns 0 in success
|
||||||
*/
|
*/
|
||||||
.trx_set_freq_func=NULL,
|
.trx_set_freq_func=NULL,
|
||||||
|
|||||||
@@ -48,13 +48,6 @@
|
|||||||
#define MAX_CONFIG_FRAMES 4
|
#define MAX_CONFIG_FRAMES 4
|
||||||
|
|
||||||
unsigned short slen; // sequence length in frames, max is 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
|
// function sends the config file "fname" to SMBV through socket sockfd
|
||||||
int smbv_configure_from_file(int sockfd, const char* fname);
|
int smbv_configure_from_file(int sockfd, const char* fname);
|
||||||
|
|||||||
@@ -175,15 +175,9 @@
|
|||||||
|
|
||||||
#define NB_ANTENNA_PORTS_ENB 6 // total number of eNB antenna ports
|
#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 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_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)
|
#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
|
//the min and max gains have to match the calibrated gain table
|
||||||
//#define MAX_RF_GAIN 160
|
//#define MAX_RF_GAIN 160
|
||||||
|
|||||||
@@ -179,15 +179,9 @@
|
|||||||
|
|
||||||
#define NB_ANTENNA_PORTS_ENB 6 // total number of eNB antenna ports
|
#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 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_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)
|
#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
|
//the min and max gains have to match the calibrated gain table
|
||||||
//#define MAX_RF_GAIN 160
|
//#define MAX_RF_GAIN 160
|
||||||
|
|||||||
@@ -143,16 +143,6 @@ void processSlotTX(void *arg);
|
|||||||
@param abstraction_flag Indicator of PHY abstraction
|
@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
|
@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.
|
/*! \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
|
@param frame_parms Pointer to DL frame parameter descriptor
|
||||||
|
|||||||
@@ -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"};
|
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];
|
extern uint64_t downlink_frequency[MAX_NUM_CCs][4];
|
||||||
#endif
|
#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;
|
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);
|
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);
|
prach_power = generate_nr_prach(ue, gNB_id, frame_tx, nr_slot_tx);
|
||||||
|
|||||||
@@ -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];
|
((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) ; k<ulsch_start ; k++) {
|
|
||||||
if (k<0)
|
|
||||||
ue->common_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
|
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);
|
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; aa<frame_parms->nb_antennas_tx; aa++) {
|
|
||||||
#if defined(EXMIMO) //this is the EXPRESS MIMO case
|
|
||||||
int i;
|
|
||||||
|
|
||||||
// set the whole tx buffer to RX
|
|
||||||
for (i=0; i<LTE_NUMBER_OF_SUBFRAMES_PER_FRAME*frame_parms->samples_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]
|
void ue_measurement_procedures(uint16_t l, // symbol index of each slot [0..6]
|
||||||
PHY_VARS_UE *ue,
|
PHY_VARS_UE *ue,
|
||||||
UE_rxtx_proc_t *proc,
|
UE_rxtx_proc_t *proc,
|
||||||
|
|||||||
@@ -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);
|
void *UE_thread_slot1_dl_processing(void *arg);
|
||||||
#endif
|
#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.
|
/*! \brief Scheduling for UE RX procedures in TDD S-subframes.
|
||||||
@param phy_vars_ue Pointer to UE variables on which to act
|
@param phy_vars_ue Pointer to UE variables on which to act
|
||||||
@param eNB_id Local id of eNB on which to act
|
@param eNB_id Local id of eNB on which to act
|
||||||
|
|||||||
@@ -29,10 +29,6 @@
|
|||||||
* \email: raymond.knopp@eurecom.fr, navid.nikaein@eurecom.fr javier.morgade@ieee.org
|
* \email: raymond.knopp@eurecom.fr, navid.nikaein@eurecom.fr javier.morgade@ieee.org
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef EXMIMO
|
|
||||||
#include <pthread.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "mac_extern.h"
|
#include "mac_extern.h"
|
||||||
#include "mac.h"
|
#include "mac.h"
|
||||||
#include "mac_proto.h"
|
#include "mac_proto.h"
|
||||||
@@ -2974,11 +2970,6 @@ ue_scheduler(const module_id_t module_idP,
|
|||||||
} while (msg_p != NULL);
|
} 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.
|
// data to/from NETLINK is treated in pdcp_run.
|
||||||
// one socket is used in multiple UE's L2 FAPI simulator and
|
// one socket is used in multiple UE's L2 FAPI simulator and
|
||||||
// only first UE need to do this.
|
// only first UE need to do this.
|
||||||
|
|||||||
@@ -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,
|
sdu_mngt_p->sdu_remaining_size,
|
||||||
pdu_remaining_size - sdu_mngt_p->sdu_remaining_size);
|
pdu_remaining_size - sdu_mngt_p->sdu_remaining_size);
|
||||||
#endif
|
#endif
|
||||||
//#if !EXMIMO
|
|
||||||
// assert(1!=1);
|
|
||||||
//#endif
|
|
||||||
memcpy(data, data_sdu_p, sdu_mngt_p->sdu_remaining_size);
|
memcpy(data, data_sdu_p, sdu_mngt_p->sdu_remaining_size);
|
||||||
// reduce the size of the PDU
|
// reduce the size of the PDU
|
||||||
continue_fill_pdu_with_sdu = 0;
|
continue_fill_pdu_with_sdu = 0;
|
||||||
|
|||||||
@@ -85,11 +85,7 @@ int dump_eNB_l2_stats(char *buffer, int length) {
|
|||||||
unsigned int stat_timer_reordering_timed_out;
|
unsigned int stat_timer_reordering_timed_out;
|
||||||
unsigned int stat_timer_poll_retransmit_timed_out;
|
unsigned int stat_timer_poll_retransmit_timed_out;
|
||||||
unsigned int stat_timer_status_prohibit_timed_out;
|
unsigned int stat_timer_status_prohibit_timed_out;
|
||||||
#ifdef EXMIMO
|
|
||||||
number_of_cards=1;
|
|
||||||
#else
|
|
||||||
number_of_cards=NB_eNB_INST;
|
number_of_cards=NB_eNB_INST;
|
||||||
#endif
|
|
||||||
eNB_MAC_INST *eNB;
|
eNB_MAC_INST *eNB;
|
||||||
UE_info_t *UE_info;
|
UE_info_t *UE_info;
|
||||||
|
|
||||||
|
|||||||
@@ -1908,9 +1908,6 @@ rrc_eNB_process_RRCConnectionReestablishmentComplete(
|
|||||||
(LTE_DRB_ToReleaseList_t *)NULL, // DRB2_list,
|
(LTE_DRB_ToReleaseList_t *)NULL, // DRB2_list,
|
||||||
(struct LTE_SPS_Config *)NULL, // maybe ue_context_pP->ue_context.sps_Config,
|
(struct LTE_SPS_Config *)NULL, // maybe ue_context_pP->ue_context.sps_Config,
|
||||||
(struct LTE_PhysicalConfigDedicated *)ue_context_pP->ue_context.physicalConfigDedicated,
|
(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_MeasObjectToAddModList_t *)MeasObj_list : NULL, // MeasObj_list,
|
||||||
measurements_enabled ? (LTE_ReportConfigToAddModList_t *)ReportConfig_list : NULL, // ReportConfig_list,
|
measurements_enabled ? (LTE_ReportConfigToAddModList_t *)ReportConfig_list : NULL, // ReportConfig_list,
|
||||||
measurements_enabled ? (LTE_QuantityConfig_t *)quantityConfig : NULL, //quantityConfig,
|
measurements_enabled ? (LTE_QuantityConfig_t *)quantityConfig : NULL, //quantityConfig,
|
||||||
@@ -2889,7 +2886,7 @@ void rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t
|
|||||||
/* Avoid gcc warnings */
|
/* Avoid gcc warnings */
|
||||||
(void)PDCP_rlc_AM;
|
(void)PDCP_rlc_AM;
|
||||||
(void)PDCP_rlc_UM;
|
(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));
|
PDCP_rlc_AM = CALLOC(1, sizeof(*PDCP_rlc_AM));
|
||||||
DRB_pdcp_config->rlc_AM = PDCP_rlc_AM;
|
DRB_pdcp_config->rlc_AM = PDCP_rlc_AM;
|
||||||
PDCP_rlc_AM->statusReportRequired = false;
|
PDCP_rlc_AM->statusReportRequired = false;
|
||||||
@@ -3652,7 +3649,7 @@ flexran_rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt
|
|||||||
/* Avoid gcc warnings */
|
/* Avoid gcc warnings */
|
||||||
(void)PDCP_rlc_AM;
|
(void)PDCP_rlc_AM;
|
||||||
(void)PDCP_rlc_UM;
|
(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));
|
PDCP_rlc_AM = CALLOC(1, sizeof(*PDCP_rlc_AM));
|
||||||
DRB_pdcp_config->rlc_AM = PDCP_rlc_AM;
|
DRB_pdcp_config->rlc_AM = PDCP_rlc_AM;
|
||||||
PDCP_rlc_AM->statusReportRequired = 0; // FALSE
|
PDCP_rlc_AM->statusReportRequired = 0; // FALSE
|
||||||
@@ -5328,7 +5325,7 @@ rrc_eNB_generate_HO_RRCConnectionReconfiguration(const protocol_ctxt_t *const ct
|
|||||||
/* avoid gcc warnings */
|
/* avoid gcc warnings */
|
||||||
(void)PDCP_rlc_AM;
|
(void)PDCP_rlc_AM;
|
||||||
(void)PDCP_rlc_UM;
|
(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));
|
PDCP_rlc_AM = CALLOC(1, sizeof(*PDCP_rlc_AM));
|
||||||
DRB_pdcp_config->rlc_AM = PDCP_rlc_AM;
|
DRB_pdcp_config->rlc_AM = PDCP_rlc_AM;
|
||||||
PDCP_rlc_AM->statusReportRequired = 0; // FALSE
|
PDCP_rlc_AM->statusReportRequired = 0; // FALSE
|
||||||
@@ -6084,9 +6081,6 @@ rrc_eNB_generate_HO_RRCConnectionReconfiguration(const protocol_ctxt_t *const ct
|
|||||||
NULL, // DRB2_list,
|
NULL, // DRB2_list,
|
||||||
(struct LTE_SPS_Config *)NULL, // *sps_Config,
|
(struct LTE_SPS_Config *)NULL, // *sps_Config,
|
||||||
(struct LTE_PhysicalConfigDedicated *)*physicalConfigDedicated,
|
(struct LTE_PhysicalConfigDedicated *)*physicalConfigDedicated,
|
||||||
//#ifdef EXMIMO_IOT
|
|
||||||
// NULL, NULL, NULL,NULL,
|
|
||||||
//#else
|
|
||||||
measurements_enabled ? (LTE_MeasObjectToAddModList_t *)MeasObj_list : NULL,
|
measurements_enabled ? (LTE_MeasObjectToAddModList_t *)MeasObj_list : NULL,
|
||||||
measurements_enabled ? (LTE_ReportConfigToAddModList_t *)ReportConfig_list : NULL,
|
measurements_enabled ? (LTE_ReportConfigToAddModList_t *)ReportConfig_list : NULL,
|
||||||
measurements_enabled ? (LTE_QuantityConfig_t *)quantityConfig : NULL,
|
measurements_enabled ? (LTE_QuantityConfig_t *)quantityConfig : NULL,
|
||||||
|
|||||||
@@ -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);
|
S1AP_INITIAL_CONTEXT_SETUP_REQ(msg_p).security_key);
|
||||||
{
|
{
|
||||||
uint8_t send_security_mode_command = true;
|
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(
|
rrc_pdcp_config_security(
|
||||||
&ctxt,
|
&ctxt,
|
||||||
ue_context_p,
|
ue_context_p,
|
||||||
|
|||||||
@@ -284,12 +284,9 @@ int trx_brf_stop(openair0_device* device)
|
|||||||
/*! \brief Set frequencies (TX/RX)
|
/*! \brief Set frequencies (TX/RX)
|
||||||
* \param device the hardware to use
|
* \param device the hardware to use
|
||||||
* \param openair0_cfg1 openair0 Config structure (ignored. It is there to comply with RF common API)
|
* \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
|
* \returns 0 in success
|
||||||
*/
|
*/
|
||||||
int trx_brf_set_freq(openair0_device* device,
|
int trx_brf_set_freq(openair0_device* device, openair0_config_t *openair0_cfg1)
|
||||||
openair0_config_t *openair0_cfg1,
|
|
||||||
int exmimo_dump_config)
|
|
||||||
{
|
{
|
||||||
int status;
|
int status;
|
||||||
brf_state_t *brf = (brf_state_t *)device->priv;
|
brf_state_t *brf = (brf_state_t *)device->priv;
|
||||||
|
|||||||
@@ -45,7 +45,6 @@
|
|||||||
|
|
||||||
const char* devtype_names[MAX_RF_DEV_TYPE] = {
|
const char* devtype_names[MAX_RF_DEV_TYPE] = {
|
||||||
"",
|
"",
|
||||||
"EXMIMO",
|
|
||||||
"USRP B200",
|
"USRP B200",
|
||||||
"USRP X300",
|
"USRP X300",
|
||||||
"USRP N300",
|
"USRP N300",
|
||||||
|
|||||||
@@ -83,8 +83,6 @@ typedef enum {
|
|||||||
*/
|
*/
|
||||||
typedef enum {
|
typedef enum {
|
||||||
MIN_RF_DEV_TYPE = 0,
|
MIN_RF_DEV_TYPE = 0,
|
||||||
/*!\brief device is ExpressMIMO */
|
|
||||||
EXMIMO_DEV,
|
|
||||||
/*!\brief device is USRP B200/B210*/
|
/*!\brief device is USRP B200/B210*/
|
||||||
USRP_B200_DEV,
|
USRP_B200_DEV,
|
||||||
/*!\brief device is USRP X300/X310*/
|
/*!\brief device is USRP X300/X310*/
|
||||||
@@ -226,7 +224,6 @@ typedef struct {
|
|||||||
//! timing_source
|
//! timing_source
|
||||||
clock_source_t time_source;
|
clock_source_t time_source;
|
||||||
//! Manual SDR IP address
|
//! Manual SDR IP address
|
||||||
//#if defined(EXMIMO) || defined(OAI_USRP) || defined(OAI_BLADERF) || defined(OAI_LMSSDR)
|
|
||||||
char *sdr_addrs;
|
char *sdr_addrs;
|
||||||
//! Auto calibration flag
|
//! Auto calibration flag
|
||||||
int autocal[4];
|
int autocal[4];
|
||||||
@@ -500,10 +497,9 @@ struct openair0_device_t {
|
|||||||
/*! \brief Set RX feaquencies
|
/*! \brief Set RX feaquencies
|
||||||
* \param device the hardware to use
|
* \param device the hardware to use
|
||||||
* \param openair0_cfg RF frontend parameters set by application
|
* \param openair0_cfg RF frontend parameters set by application
|
||||||
* \param exmimo_dump_config dump EXMIMO configuration
|
|
||||||
* \returns 0 in success
|
* \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
|
/*! \brief Set gains
|
||||||
* \param device the hardware to use
|
* \param device the hardware to use
|
||||||
|
|||||||
@@ -252,9 +252,7 @@ int trx_eth_stop(openair0_device *device) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int trx_eth_set_freq(openair0_device* device,
|
int trx_eth_set_freq(openair0_device* device, openair0_config_t *openair0_cfg)
|
||||||
openair0_config_t *openair0_cfg,
|
|
||||||
int exmimo_dump_config)
|
|
||||||
{
|
{
|
||||||
return(0);
|
return(0);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -57,9 +57,7 @@ int trx_benetel_stop(openair0_device *device)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int trx_benetel_set_freq(openair0_device* device,
|
int trx_benetel_set_freq(openair0_device* device, openair0_config_t *openair0_cfg)
|
||||||
openair0_config_t *openair0_cfg,
|
|
||||||
int exmimo_dump_config)
|
|
||||||
{
|
{
|
||||||
printf("BENETEL: %s\n", __FUNCTION__);
|
printf("BENETEL: %s\n", __FUNCTION__);
|
||||||
return(0);
|
return(0);
|
||||||
|
|||||||
@@ -56,9 +56,7 @@ int trx_benetel_stop(openair0_device *device)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int trx_benetel_set_freq(openair0_device* device,
|
int trx_benetel_set_freq(openair0_device* device, openair0_config_t *openair0_cfg)
|
||||||
openair0_config_t *openair0_cfg,
|
|
||||||
int exmimo_dump_config)
|
|
||||||
{
|
{
|
||||||
printf("BENETEL: %s\n", __FUNCTION__);
|
printf("BENETEL: %s\n", __FUNCTION__);
|
||||||
return(0);
|
return(0);
|
||||||
|
|||||||
@@ -361,31 +361,27 @@ void *set_freq_thread(void *arg) {
|
|||||||
* \param dummy dummy variable not used
|
* \param dummy dummy variable not used
|
||||||
* \returns 0 in success
|
* \returns 0 in success
|
||||||
*/
|
*/
|
||||||
int trx_iris_set_freq(openair0_device *device, openair0_config_t *openair0_cfg, int dont_block) {
|
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;
|
iris_state_t *s = (iris_state_t *)device->priv;
|
||||||
if (dont_block)
|
pthread_t f_thread;
|
||||||
pthread_create(&f_thread, NULL, set_freq_thread, (void *) device);
|
int r, i;
|
||||||
else {
|
for (r = 0; r < s->device_num; r++) {
|
||||||
int r, i;
|
printf("Setting Iris TX Freq %f, RX Freq %f\n", openair0_cfg[0].tx_freq[0], openair0_cfg[0].rx_freq[0]);
|
||||||
for (r = 0; r < s->device_num; r++) {
|
for (i = 0; i < s->iris[r]->getNumChannels(SOAPY_SDR_RX); i++) {
|
||||||
printf("Setting Iris TX Freq %f, RX Freq %f\n", openair0_cfg[0].tx_freq[0], openair0_cfg[0].rx_freq[0]);
|
if (i < s->rx_num_channels) {
|
||||||
for (i = 0; i < s->iris[r]->getNumChannels(SOAPY_SDR_RX); i++) {
|
s->iris[r]->setFrequency(SOAPY_SDR_RX, i, "RF", openair0_cfg[0].rx_freq[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]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
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)
|
/*! \brief Set Gains (TX/RX)
|
||||||
* \param device the hardware to use
|
* \param device the hardware to use
|
||||||
* \param openair0_cfg RF frontend parameters set by application
|
* \param openair0_cfg RF frontend parameters set by application
|
||||||
|
|||||||
@@ -283,10 +283,9 @@ int trx_lms_stop(openair0_device *device) {
|
|||||||
/*! \brief Set frequencies (TX/RX)
|
/*! \brief Set frequencies (TX/RX)
|
||||||
* \param device the hardware to use
|
* \param device the hardware to use
|
||||||
* \param openair0_cfg openair0 Config structure (ignored. It is there to comply with RF common API)
|
* \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
|
* \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
|
//Control port must be connected
|
||||||
LMS_SetLOFrequency(lms_device,LMS_CH_TX,0,openair0_cfg->tx_freq[0]);
|
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]);
|
LMS_SetLOFrequency(lms_device,LMS_CH_RX,0,openair0_cfg->rx_freq[0]);
|
||||||
|
|||||||
@@ -794,22 +794,15 @@ void *freq_thread(void *arg) {
|
|||||||
* \param dummy dummy variable not used
|
* \param dummy dummy variable not used
|
||||||
* \returns 0 in success
|
* \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;
|
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\n", openair0_cfg[0].tx_freq[0], openair0_cfg[0].rx_freq[0], openair0_cfg[0].tune_offset);
|
||||||
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);
|
|
||||||
|
|
||||||
// spawn a thread to handle the frequency change to not block the calling thread
|
uhd::tune_request_t tx_tune_req(openair0_cfg[0].tx_freq[0], openair0_cfg[0].tune_offset);
|
||||||
if (dont_block == 1)
|
uhd::tune_request_t rx_tune_req(openair0_cfg[0].rx_freq[0], openair0_cfg[0].tune_offset);
|
||||||
pthread_create(&f_thread,NULL,freq_thread,(void *)device);
|
s->usrp->set_tx_freq(tx_tune_req);
|
||||||
else {
|
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);
|
return(0);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -916,7 +916,7 @@ static void rfsimulator_end(openair0_device *device) {
|
|||||||
static int rfsimulator_stop(openair0_device *device) {
|
static int rfsimulator_stop(openair0_device *device) {
|
||||||
return 0;
|
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;
|
return 0;
|
||||||
}
|
}
|
||||||
static int rfsimulator_set_gains(openair0_device *device, openair0_config_t *openair0_cfg) {
|
static int rfsimulator_set_gains(openair0_device *device, openair0_config_t *openair0_cfg) {
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
#ifndef OPENAIRINTERFACE5G_LIMITS_H_
|
#ifndef OPENAIRINTERFACE5G_LIMITS_H_
|
||||||
#define 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_eNB_MAX 1
|
||||||
# define NUMBER_OF_gNB_MAX 1
|
# define NUMBER_OF_gNB_MAX 1
|
||||||
# define NUMBER_OF_RU_MAX 2
|
# define NUMBER_OF_RU_MAX 2
|
||||||
@@ -43,67 +42,5 @@
|
|||||||
# define NUMBER_OF_CONNECTED_eNB_MAX 1
|
# define NUMBER_OF_CONNECTED_eNB_MAX 1
|
||||||
# define NUMBER_OF_CONNECTED_gNB_MAX 1
|
# define NUMBER_OF_CONNECTED_gNB_MAX 1
|
||||||
# endif
|
# 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_ */
|
#endif /* OPENAIRINTERFACE5G_LIMITS_H_ */
|
||||||
|
|||||||
@@ -4,7 +4,6 @@
|
|||||||
|
|
||||||
This directory contains different targets for OpenAirInterface.org implementations
|
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
|
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
|
SIMU - Simulator/Emulator target for x86
|
||||||
DOCS - Doxygen documentation generation for openair1/openair2
|
DOCS - Doxygen documentation generation for openair1/openair2
|
||||||
|
|||||||
@@ -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
|
|
||||||
@@ -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"
|
|
||||||
@@ -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"
|
|
||||||
@@ -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"
|
|
||||||
@@ -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 &
|
|
||||||
@@ -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
|
|
||||||
|
|
||||||
@@ -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 ../..
|
|
||||||
@@ -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 &
|
|
||||||
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
|
|
||||||
@@ -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
|
|
||||||
@@ -1082,7 +1082,7 @@ static void do_ru_synch(RU_t *ru) {
|
|||||||
ru->rfdevice.openair0_cfg->tx_freq[i] = temp_freq1;
|
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)) {
|
while ((ru->in_synch ==0)&&(!oai_exit)) {
|
||||||
// read in frame
|
// read in frame
|
||||||
|
|||||||
@@ -75,7 +75,7 @@
|
|||||||
#define CONFIG_HLP_PRB "Set the PRB, valid values: 6, 25, 50, 100 \n"
|
#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_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_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_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"
|
#define CONFIG_HLP_TADV "Set timing_advance\n"
|
||||||
|
|
||||||
|
|||||||
@@ -637,7 +637,7 @@ static void *UE_thread_synch(void *arg) {
|
|||||||
break;
|
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_set_gains_func(&openair0,&openair0_cfg[0]);
|
||||||
//UE->rfdevice.trx_stop_func(&UE->rfdevice);
|
//UE->rfdevice.trx_stop_func(&UE->rfdevice);
|
||||||
sleep(1);
|
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;
|
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
|
}// initial_sync=0
|
||||||
|
|
||||||
break;
|
break;
|
||||||
@@ -858,10 +858,6 @@ static void *UE_thread_rxn_txnp4(void *arg) {
|
|||||||
(UE->frame_parms.frame_type == FDD) )
|
(UE->frame_parms.frame_type == FDD) )
|
||||||
phy_procedures_UE_TX(UE,proc,0,0,UE->mode);
|
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--;
|
proc->instance_cnt_rxtx--;
|
||||||
|
|
||||||
if (IS_SOFTMODEM_RFSIM) {
|
if (IS_SOFTMODEM_RFSIM) {
|
||||||
|
|||||||
@@ -703,9 +703,6 @@ int main( int argc, char **argv ) {
|
|||||||
printf("error reading from file\n");
|
printf("error reading from file\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
//p_exmimo_config->framing.tdd_config = TXRXSWITCH_TESTRX;
|
|
||||||
|
|
||||||
|
|
||||||
if(IS_SOFTMODEM_DOSCOPE)
|
if(IS_SOFTMODEM_DOSCOPE)
|
||||||
load_softscope("ue",NULL);
|
load_softscope("ue",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
|
|
||||||
Reference in New Issue
Block a user