diff --git a/openair1/PHY/LTE_TRANSPORT/if4_tools.c b/openair1/PHY/LTE_TRANSPORT/if4_tools.c
index 738fe842b6f867ff056418af70b187a83f775eb0..217492dba6bc5c6ed8493028eb628b48c516df2d 100644
--- a/openair1/PHY/LTE_TRANSPORT/if4_tools.c
+++ b/openair1/PHY/LTE_TRANSPORT/if4_tools.c
@@ -261,6 +261,7 @@ void gen_IF4p5_dl_header(IF4p5_header_t *dl_packet, int frame, int subframe) {
 
 
 void gen_IF4p5_ul_header(IF4p5_header_t *ul_packet, int frame, int subframe) {  
+
   ul_packet->type = IF4p5_PACKET_TYPE; 
   ul_packet->sub_type = IF4p5_PULFFT;
 
diff --git a/openair1/PHY/defs.h b/openair1/PHY/defs.h
index 8e88fba00d55a5c213b3e9f0b80d1bb027bf5793..dd78e575bb487fe68f503237e2583e2a09bf83a3 100755
--- a/openair1/PHY/defs.h
+++ b/openair1/PHY/defs.h
@@ -160,10 +160,10 @@ enum transmission_access_mode {
 typedef enum  {
   eNodeB_3GPP=0,   // classical eNodeB function
   eNodeB_3GPP_BBU, // eNodeB with NGFI IF5
-  NGFI_RRU_IF5,    // NGFI_RRU with IF5
-  NGFI_RRU_IF4p5,    // NGFI_RRU (NGFI remote radio-unit, currently split at common - ue_specific interface, IF4p5) 
-  NGFI_RCC_IF4p5,     // NGFI_RCC (NGFI radio cloud center, currently split at common - ue_specific interface, IF4p5) 
-  NGFI_RAU_IF4p5
+  NGFI_RCC_IF4p5,  // NGFI_RCC (NGFI radio cloud center) 
+  NGFI_RAU_IF4p5,
+  NGFI_RRU_IF5,    // NGFI_RRU (NGFI remote radio-unit,IF5)
+  NGFI_RRU_IF4p5   // NGFI_RRU (NGFI remote radio-unit,IF4p5) 
 } eNB_func_t;
 
 typedef enum {
diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.usrpb210.conf
new file mode 100644
index 0000000000000000000000000000000000000000..f99cdab2a2c2f5ebf51c945410ea4c76e4709e5d
--- /dev/null
+++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.usrpb210.conf
@@ -0,0 +1,190 @@
+Active_eNBs = ( "eNB_Eurecom_LTEBox");
+# Asn1_verbosity, choice in: none, info, annoying
+Asn1_verbosity = "none";
+
+eNBs =
+(
+ {
+    ////////// Identification parameters:
+    eNB_ID    =  0xe00;
+
+    cell_type =  "CELL_MACRO_ENB";
+
+    eNB_name  =  "eNB_Eurecom_LTEBox";
+
+    // Tracking area code, 0x0000 and 0xfffe are reserved values
+    tracking_area_code  =  "1";
+
+    mobile_country_code =  "208";
+
+    mobile_network_code =  "93";
+
+       ////////// Physical parameters:
+
+    component_carriers = (
+      {
+      node_function     = "NGFI_RRU_IF4p5";
+      node_timing       = "synch_to_ext_device";
+      node_synch_ref    = 0;  
+      frame_type					      = "FDD";
+      tdd_config 					      = 3;
+      tdd_config_s            			      = 0;
+      prefix_type             			      = "NORMAL";
+      eutra_band              			      = 7;
+      downlink_frequency      			      = 2660000000L;
+      uplink_frequency_offset 			      = -120000000;
+      Nid_cell					      = 0;
+      N_RB_DL                 			      = 25;
+      Nid_cell_mbsfn          			      = 0;
+      nb_antennas_tx          			      = 1;
+      nb_antennas_rx          			      = 1;
+      tx_gain                                            = 90;
+      rx_gain                                            = 125;
+      prach_root              			      = 0;
+      prach_config_index      			      = 0;
+      prach_high_speed        			      = "DISABLE";
+      prach_zero_correlation  			      = 1;
+      prach_freq_offset       			      = 2;
+      pucch_delta_shift       			      = 1;
+      pucch_nRB_CQI           			      = 1;
+      pucch_nCS_AN            			      = 0;
+      pucch_n1_AN             			      = 32;
+      pdsch_referenceSignalPower 			      = -29;
+      pdsch_p_b                  			      = 0;
+      pusch_n_SB                 			      = 1;
+      pusch_enable64QAM          			      = "DISABLE";
+      pusch_hoppingMode                                  = "interSubFrame";
+      pusch_hoppingOffset                                = 0;
+      pusch_groupHoppingEnabled  			      = "ENABLE";
+      pusch_groupAssignment      			      = 0;
+      pusch_sequenceHoppingEnabled		   	      = "DISABLE";
+      pusch_nDMRS1                                       = 1;
+      phich_duration                                     = "NORMAL";
+      phich_resource                                     = "ONESIXTH";
+      srs_enable                                         = "DISABLE";
+      /*  srs_BandwidthConfig                                =;
+      srs_SubframeConfig                                 =;
+      srs_ackNackST                                      =;
+      srs_MaxUpPts                                       =;*/
+
+      pusch_p0_Nominal                                   = -90;
+      pusch_alpha                                        = "AL1";
+      pucch_p0_Nominal                                   = -96;
+      msg3_delta_Preamble                                = 6;
+      pucch_deltaF_Format1                               = "deltaF2";
+      pucch_deltaF_Format1b                              = "deltaF3";
+      pucch_deltaF_Format2                               = "deltaF0";
+      pucch_deltaF_Format2a                              = "deltaF0";
+      pucch_deltaF_Format2b		    	      = "deltaF0";
+
+      rach_numberOfRA_Preambles                          = 64;
+      rach_preamblesGroupAConfig                         = "DISABLE";
+      /*
+      rach_sizeOfRA_PreamblesGroupA                      = ;
+      rach_messageSizeGroupA                             = ;
+      rach_messagePowerOffsetGroupB                      = ;
+      */
+      rach_powerRampingStep                              = 4;
+      rach_preambleInitialReceivedTargetPower            = -108;
+      rach_preambleTransMax                              = 10;
+      rach_raResponseWindowSize                          = 10;
+      rach_macContentionResolutionTimer                  = 48;
+      rach_maxHARQ_Msg3Tx                                = 4;
+
+      pcch_default_PagingCycle                           = 128;
+      pcch_nB                                            = "oneT";
+      bcch_modificationPeriodCoeff			      = 2;
+      ue_TimersAndConstants_t300			      = 1000;
+      ue_TimersAndConstants_t301			      = 1000;
+      ue_TimersAndConstants_t310			      = 1000;
+      ue_TimersAndConstants_t311			      = 10000;
+      ue_TimersAndConstants_n310			      = 20;
+      ue_TimersAndConstants_n311			      = 1;
+
+      }
+    );
+
+
+    srb1_parameters :
+    {
+        # timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500]
+        timer_poll_retransmit    = 80;
+
+        # timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200]
+        timer_reordering         = 35;
+
+        # timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500]
+        timer_status_prohibit    = 0;
+
+        # poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)]
+        poll_pdu                 =  4;
+
+        # poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)]
+        poll_byte                =  99999;
+
+        # max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32]
+        max_retx_threshold       =  4;
+    }
+
+    # ------- SCTP definitions
+    SCTP :
+    {
+        # Number of streams to use in input/output
+        SCTP_INSTREAMS  = 2;
+        SCTP_OUTSTREAMS = 2;
+    };
+
+
+    ////////// MME parameters:
+    mme_ip_address      = ( { ipv4       = "192.168.12.11";
+                              ipv6       = "192:168:30::17";
+                              active     = "yes";
+                              preference = "ipv4";
+                            }
+                          );
+
+    NETWORK_INTERFACES :
+    {
+
+        ENB_INTERFACE_NAME_FOR_S1_MME            = "eth3";
+        ENB_IPV4_ADDRESS_FOR_S1_MME              = "192.168.12.215/24";
+        ENB_INTERFACE_NAME_FOR_S1U               = "eth3";
+        ENB_IPV4_ADDRESS_FOR_S1U                 = "192.168.12.215/24";
+        ENB_PORT_FOR_S1U                         = 2152; # Spec 2152
+    };
+
+    rrh_gw_config = (
+    {			  
+      	local_if_name = "eth0";			  
+      	remote_address = "34:e6:d7:3c:ae:fc";
+    	local_address = "74:d4:35:cc:8d:15"; 
+    	local_port = 50000;	#for raw option local port must be the same to remote	       
+    	remote_port = 50000; 
+    	rrh_gw_active = "yes";
+    	tr_preference = "raw_if4p5";
+    	rf_preference = "usrp_b200";
+    	iq_txshift = 4;
+    	tx_sample_advance = 80;	
+    	tx_scheduling_advance = 9; 	                
+    }
+    );  
+
+    log_config :
+    {
+      global_log_level                      ="info";
+      global_log_verbosity                  ="medium";
+      hw_log_level                          ="info";
+      hw_log_verbosity                      ="medium";
+      phy_log_level                         ="info";
+      phy_log_verbosity                     ="medium";
+      mac_log_level                         ="info";
+      mac_log_verbosity                     ="high";
+      rlc_log_level                         ="info";
+      rlc_log_verbosity                     ="medium";
+      pdcp_log_level                        ="info";
+      pdcp_log_verbosity                    ="medium";
+      rrc_log_level                         ="info";
+      rrc_log_verbosity                     ="medium";
+   };
+  }
+);
diff --git a/targets/RT/USER/lte-enb.c b/targets/RT/USER/lte-enb.c
index da40b58379a8050f8f3db203e7860b35f806ddf0..b0d1eb3d0ecdadc7984b2d2b092efe06c5f4bc3d 100644
--- a/targets/RT/USER/lte-enb.c
+++ b/targets/RT/USER/lte-enb.c
@@ -1248,7 +1248,8 @@ static void* eNB_thread_FH( void* param ) {
   printf( "got sync (eNB_thread_FH)\n" );
  
 #if defined(ENABLE_ITTI)
-  wait_system_ready ("Waiting for eNB application to be ready %s\r", &start_eNB);
+  if (eNB->node_function < NGFI_RRU_IF5)
+    wait_system_ready ("Waiting for eNB application to be ready %s\r", &start_eNB);
 #endif 
 
 
@@ -1938,45 +1939,12 @@ void init_eNB(eNB_func_t node_function[], eNB_timing_t node_timing[],int nb_inst
   sleep(1);
   LOG_D(HW,"[lte-softmodem.c] eNB threads created\n");
   
-  /*  
-  printf("Creating main eNB_thread \n");
-  error_code = pthread_create( &main_eNB_thread, &attr_dlsch_threads, eNB_thread, NULL );
-  
-  if (error_code!= 0) {
-    LOG_D(HW,"[lte-softmodem.c] Could not allocate eNB_thread, error %d\n",error_code);
-  } else {
-    LOG_D( HW, "[lte-softmodem.c] Allocate eNB_thread successful\n" );
-    pthread_setname_np( main_eNB_thread, "main eNB" );
-  }
-  */
+
 }
 
 
 void stop_eNB(int nb_inst) {
 
-  /*
-#ifdef DEBUG_THREADS
-  printf("Joining eNB_thread ...");
-#endif
-
-  int *eNB_thread_status_p;
-  int result = pthread_join( main_eNB_thread, (void**)&eNB_thread_status_p );
-
-#ifdef DEBUG_THREADS
-  if (result != 0) {
-    printf( "\nError joining main_eNB_thread.\n" );
-  } else {
-    if (eNB_thread_status_p) {
-      printf( "status %d\n", *eNB_thread_status_p );
-    } else {
-      printf( "The thread was killed. No status available.\n");
-    }
-  }
-#else
-  UNUSED(result);
-#endif // DEBUG_THREADS
-  */
-  
   for (int inst=0;inst<nb_inst;inst++) {
     printf("Killing eNB %d processing threads\n",inst);
     kill_eNB_proc(inst);
diff --git a/targets/RT/USER/lte-softmodem.c b/targets/RT/USER/lte-softmodem.c
index f2c3614850e20178a0b013b4e960299ec9efa857..7428a93b85fb4aae263fc497933572ff4f97671b 100644
--- a/targets/RT/USER/lte-softmodem.c
+++ b/targets/RT/USER/lte-softmodem.c
@@ -1656,10 +1656,13 @@ int main( int argc, char **argv )
 
 #if defined(ENABLE_ITTI)
 
-  if (create_tasks(UE_flag ? 0 : 1, UE_flag ? 1 : 0) < 0) {
-    printf("cannot create ITTI tasks\n");
-    exit(-1); // need a softer mode
-  }
+  if ((UE_flag == 1)||
+      (node_function[0]<NGFI_RAU_IF4p5))
+    // don't create if node doesn't connect to RRC/S1/GTP
+    if (create_tasks(UE_flag ? 0 : 1, UE_flag ? 1 : 0) < 0) {
+      printf("cannot create ITTI tasks\n");
+      exit(-1); // need a softer mode
+    }
 
   printf("ITTI tasks created\n");
 #endif