diff --git a/targets/ARCH/COMMON/common_lib.h b/targets/ARCH/COMMON/common_lib.h index 2dc1650bfd..3a4b83f4e6 100644 --- a/targets/ARCH/COMMON/common_lib.h +++ b/targets/ARCH/COMMON/common_lib.h @@ -199,6 +199,8 @@ typedef struct { double tx_bw; //! clock source clock_source_t clock_source; + //! timing_source + clock_source_t timing_source; //! Auto calibration flag int autocal[4]; //! rf devices work with x bits iqs when oai have its own iq format diff --git a/targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c b/targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c index 108c4ca069..595b8a52e8 100644 --- a/targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c +++ b/targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c @@ -116,7 +116,7 @@ int trx_eth_start(openair0_device *device) { */ /* adjust MTU wrt number of samples per packet */ - if(ethernet_tune (device,MTU_SIZE,UDP_IF4p5_PRACH_SIZE_BYTES)!=0) return -1; + //if(ethernet_tune (device,MTU_SIZE,UDP_IF4p5_PRACH_SIZE_BYTES)!=0) return -1; diff --git a/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp b/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp index 8b62a8e698..aba84b24da 100644 --- a/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp +++ b/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp @@ -1004,6 +1004,15 @@ extern "C" { else s->usrp->set_clock_source("external"); + if (openair0_cfg[0].time_source == internal){ + LOG_I(PHY,"Setting time source to internal\n"); + s->usrp->set_time_source("internal"); + } + else{ + LOG_I(PHY,"Setting time source to external\n"); + s->usrp->set_time_source("external"); + } + //Setting device type to USRP X300/X310 device->type=USRP_X300_DEV; @@ -1062,12 +1071,22 @@ extern "C" { // lock mboard clocks if (openair0_cfg[0].clock_source == internal){ + LOG_I(PHY,"Setting clock source to internal\n"); s->usrp->set_clock_source("internal"); } else{ + LOG_I(PHY,"Setting clock source to external\n"); s->usrp->set_clock_source("external"); - s->usrp->set_time_source("external"); } + if (openair0_cfg[0].time_source == internal){ + LOG_I(PHY,"Setting time source to internal\n"); + s->usrp->set_time_source("internal"); + } + else{ + LOG_I(PHY,"Setting time source to external\n"); + s->usrp->set_time_source("external"); + } + device->type = USRP_B200_DEV; if ((vers == 3) && (subvers == 9) && (subsubvers>=2)) { diff --git a/targets/RT/USER/lte-ru.c b/targets/RT/USER/lte-ru.c index 35b29a1798..732c5a2ba7 100644 --- a/targets/RT/USER/lte-ru.c +++ b/targets/RT/USER/lte-ru.c @@ -1880,7 +1880,7 @@ void *ru_thread_synch(void *arg) { ru->state = RU_RUN; } // symc_pos > 0 else { - if (cnt>50) { + if (cnt>1000) { write_output("ru_sync.m","sync",(void*)&sync_corr[0],fp->samples_per_tti*5,1,2); write_output("ru_rx.m","rxs",(void*)ru->common.rxdata[0],fp->samples_per_tti*10,1,1); exit(1);