diff --git a/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c b/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
index ea10f5a9fd95c039568d766c27b22e08781392e1..b1410003c2c7ab90461f777de1abc1c8cbc322fa 100644
--- a/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
+++ b/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
@@ -525,54 +525,6 @@ uint32_t bytes_to_bsr_index(int32_t nbytes)
   return(i-1);
 }
 
-/*
-void adjust_bsr_info(int buffer_occupancy,
-                     uint16_t TBS,
-                     UE_TEMPLATE *UE_template)
-{
-
-  uint32_t         tmp_bsr;
-
-  // could not serve all the uplink traffic
-  if (buffer_occupancy > 0 ) {
-    if (BSR_TABLE[UE_template->bsr_info[LCGID0]] <=  TBS ) {
-      tmp_bsr = BSR_TABLE[UE_template->bsr_info[LCGID0]]; // serving this amout of  bytes
-      UE_template->bsr_info[LCGID0] = 0;
-
-      if (BSR_TABLE[UE_template->bsr_info[LCGID1]] <= (TBS-tmp_bsr)) {
-        tmp_bsr += BSR_TABLE[UE_template->bsr_info[LCGID1]];
-        UE_template->bsr_info[LCGID1] = 0;
-
-        if (BSR_TABLE[UE_template->bsr_info[LCGID2]] <= (TBS-tmp_bsr)) {
-          tmp_bsr += BSR_TABLE[UE_template->bsr_info[LCGID2]];
-          UE_template->bsr_info[LCGID2] = 0;
-
-          if (BSR_TABLE[UE_template->bsr_info[LCGID3]] <= (TBS-tmp_bsr)) {
-            tmp_bsr += BSR_TABLE[UE_template->bsr_info[LCGID3]];
-            UE_template->bsr_info[LCGID3] = 0;
-          } else {
-            UE_template->bsr_info[LCGID3] = bytes_to_bsr_index((int32_t)BSR_TABLE[UE_template->bsr_info[LCGID3]] - ((int32_t) TBS - (int32_t)tmp_bsr));
-          }
-        } else {
-          UE_template->bsr_info[LCGID2] = bytes_to_bsr_index((int32_t)BSR_TABLE[UE_template->bsr_info[LCGID2]] - ((int32_t)TBS - (int32_t)tmp_bsr));
-        }
-      } else {
-        UE_template->bsr_info[LCGID1] = bytes_to_bsr_index((int32_t)BSR_TABLE[UE_template->bsr_info[LCGID1]] - ((int32_t)TBS - (int32_t)tmp_bsr));
-      }
-    } else {
-      UE_template->bsr_info[LCGID0] = bytes_to_bsr_index((int32_t)BSR_TABLE[UE_template->bsr_info[LCGID0]] - (int32_t)TBS);
-    }
-  } else { // we have flushed all buffers so clear bsr
-    UE_template->bsr_info[LCGID0] = 0;
-    UE_template->bsr_info[LCGID1] = 0;
-    UE_template->bsr_info[LCGID2] = 0;
-    UE_template->bsr_info[LCGID3] = 0;
-  }
-
-
-}
-*/
-
 void add_ue_ulsch_info(module_id_t module_idP, int CC_id, int UE_id, sub_frame_t subframeP, UE_ULSCH_STATUS status)
 {
 
@@ -584,66 +536,6 @@ void add_ue_ulsch_info(module_id_t module_idP, int CC_id, int UE_id, sub_frame_t
 
 }
 
-// This seems not to be used anymore
-/*
-int schedule_next_ulue(module_id_t module_idP, int UE_id, sub_frame_t subframeP){
-
-  int next_ue;
-
-  // first phase: scheduling for ACK
-  switch (subframeP) {
-    // scheduling for subframeP 2: for scheduled user during subframeP 5 and 6
-  case 8:
-    if  ((eNB_dlsch_info[module_idP][UE_id].status == S_DL_SCHEDULED) &&
-   (eNB_dlsch_info[module_idP][UE_id].subframe == 5 || eNB_dlsch_info[module_idP][UE_id].subframe == 6)){
-      // set the downlink status
-      eNB_dlsch_info[module_idP][UE_id].status = S_DL_BUFFERED;
-      return UE_id;
-    }
-    break;
-    // scheduling for subframeP 3: for scheduled user during subframeP 7 and 8
-  case 9:
-    if  ((eNB_dlsch_info[module_idP][UE_id].status == S_DL_SCHEDULED) &&
-   (eNB_dlsch_info[module_idP][UE_id].subframe == 7 || eNB_dlsch_info[module_idP][UE_id].subframe == 8)){
-      eNB_dlsch_info[module_idP][UE_id].status = S_DL_BUFFERED;
-      return UE_id;
-    }
-    break;
-    // scheduling UL subframeP 4: for scheduled user during subframeP 9 and 0
-  case 0 :
-    if  ((eNB_dlsch_info[module_idP][UE_id].status == S_DL_SCHEDULED) &&
-   (eNB_dlsch_info[module_idP][UE_id].subframe == 9 || eNB_dlsch_info[module_idP][UE_id].subframe == 0)){
-      eNB_dlsch_info[module_idP][UE_id].status = S_DL_BUFFERED;
-      return UE_id;
-    }
-    break;
-  default:
-    break;
-  }
-
-  // second phase
-  for (next_ue=0; next_ue <NUMBER_OF_UE_MAX; next_ue++ ){
-
-    if  (eNB_ulsch_info[module_idP][next_ue].status == S_UL_WAITING )
-      return next_ue;
-    else if (eNB_ulsch_info[module_idP][next_ue].status == S_UL_SCHEDULED){
-      eNB_ulsch_info[module_idP][next_ue].status = S_UL_BUFFERED;
-    }
-  }
-  for (next_ue=0; next_ue <NUMBER_OF_UE_MAX; next_ue++ ){
-    if (eNB_ulsch_info[module_idP][next_ue].status != S_UL_NONE )// do this just for active UEs
-      eNB_ulsch_info[module_idP][next_ue].status = S_UL_WAITING;
-  }
-  next_ue = 0;
-  return next_ue;
-
-}
- */
-
-
-
-
-
 unsigned char *parse_ulsch_header(unsigned char *mac_header,
                                   unsigned char *num_ce,
                                   unsigned char *num_sdu,
@@ -957,7 +849,7 @@ void schedule_ulsch_rnti(module_id_t   module_idP,
 	    //            buffer_occupancy = UE_template->ul_total_buffer;
 
             while (((rb_table[rb_table_index]>(frame_parms->N_RB_UL-1-first_rb[CC_id])) ||
-		    (rb_table[rb_table_index]>39)) &&
+		    (rb_table[rb_table_index]>45)) &&
                    (rb_table_index>0)) {
               rb_table_index--;
             }
@@ -984,12 +876,6 @@ void schedule_ulsch_rnti(module_id_t   module_idP,
 		    first_rb[CC_id],rb_table[rb_table_index],
 		    rb_table_index,TBS,harq_pid);
 	    
-	    /*	    
-            // Adjust BSR entries for LCGIDs
-            adjust_bsr_info(buffer_occupancy,
-                            TBS,
-                            UE_template);
-	    */
 	    // adjust total UL buffer status by TBS, wait for UL sdus to do final update
 	    LOG_D(MAC,"[eNB %d] CC_id %d UE %d/%x : adjusting ul_total_buffer, old %d, TBS %d\n", module_idP,CC_id,UE_id,rnti,UE_template->ul_total_buffer,TBS);
 	    if (UE_template->ul_total_buffer > TBS)
@@ -998,16 +884,8 @@ void schedule_ulsch_rnti(module_id_t   module_idP,
 	      UE_template->ul_total_buffer = 0;
 	    LOG_D(MAC,"ul_total_buffer, new %d\n", UE_template->ul_total_buffer);
 	    // Cyclic shift for DM RS
-	    if(cooperation_flag == 2) {
-	      if(UE_id == 1) { // For Distriibuted Alamouti, cyclic shift applied to 2nd UE
-		cshift = 1;
-	      } else {
-		cshift = 0;
-	      }
-	    } else {
-	      cshift = 0;// values from 0 to 7 can be used for mapping the cyclic shift (36.211 , Table 5.5.2.1.1-1)
-	    }
-	    
+	    cshift = 0;// values from 0 to 7 can be used for mapping the cyclic shift (36.211 , Table 5.5.2.1.1-1)
+	    	    
 	    if (frame_parms->frame_type == TDD) {
 	      switch (frame_parms->N_RB_UL) {
 	      case 6:
diff --git a/openair2/LAYER2/MAC/pre_processor.c b/openair2/LAYER2/MAC/pre_processor.c
index 2acda1c746fed6e66f19a7e40d7ae8336807ab6c..3cbecbb69cb75c4a9ecd2db5071c64bce92f1d0a 100644
--- a/openair2/LAYER2/MAC/pre_processor.c
+++ b/openair2/LAYER2/MAC/pre_processor.c
@@ -47,6 +47,7 @@
 #include "LAYER2/MAC/proto.h"
 #include "LAYER2/MAC/extern.h"
 #include "UTIL/LOG/log.h"
+#include "UTIL/LOG/vcd_signal_dumper.h"
 #include "UTIL/OPT/opt.h"
 #include "OCG.h"
 #include "OCG_extern.h"
@@ -807,6 +808,9 @@ void dlsch_scheduler_pre_processor_reset (int module_idP,
     ue_sched_ctl->ta_timer--;
     ue_sched_ctl->ta_update =0; // don't trigger a timing advance command
   }
+  if (UE_id==0) {
+    VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME(VCD_SIGNAL_DUMPER_VARIABLES_UE0_TIMING_ADVANCE,ue_sched_ctl->ta_update);
+  }
   nb_rbs_required[CC_id][UE_id]=0;
   ue_sched_ctl->pre_nb_available_rbs[CC_id] = 0;
   ue_sched_ctl->dl_pow_off[CC_id] = 2;
@@ -937,9 +941,6 @@ void ulsch_scheduler_pre_processor(module_id_t module_idP,
   UE_TEMPLATE        *UE_template = 0;
   LTE_DL_FRAME_PARMS   *frame_parms = 0;
 
-  // LOG_I(MAC,"store ulsch buffers\n");
-  // convert BSR to bytes for comparison with tbs
-  //  store_ulsch_buffer(module_idP,frameP, subframeP);
 
   //LOG_I(MAC,"assign max mcs min rb\n");
   // maximize MCS and then allocate required RB according to the buffer occupancy with the limit of max available UL RB
@@ -1097,51 +1098,6 @@ void ulsch_scheduler_pre_processor(module_id_t module_idP,
   }
 }
 
-/*
-void store_ulsch_buffer(module_id_t module_idP, int frameP, sub_frame_t subframeP)
-{
-
-  int                 UE_id,pCC_id,lcgid;
-  UE_list_t           *UE_list = &eNB_mac_inst[module_idP].UE_list;
-  UE_TEMPLATE         *UE_template;
-
-  for (UE_id=UE_list->head_ul; UE_id>=0; UE_id=UE_list->next_ul[UE_id]) {
-
-
-    if (UE_list->UE_sched_ctrl[UE_id].ul_out_of_sync == 1)
-      continue;
-
-    UE_template = &UE_list->UE_template[UE_PCCID(module_idP,UE_id)][UE_id];
-    //LOG_I(MAC,"[UE %d next %d] SR is %d\n",UE_id, UE_list->next_ul[UE_id], UE_template->ul_SR);
-
-    UE_template->ul_total_buffer=0;
-
-    for (lcgid=0; lcgid<MAX_NUM_LCGID; lcgid++) {
-      UE_template->ul_buffer_info[lcgid]=BSR_TABLE[UE_template->bsr_info[lcgid]];
-      UE_template->ul_total_buffer+= UE_template->ul_buffer_info[lcgid]; // apply traffic aggregtaion if packets are small
-      //   UE_template->ul_buffer_creation_time_max=cmax(UE_template->ul_buffer_creation_time_max, frame_cycle*1024 + frameP-UE_template->ul_buffer_creation_time[lcgid]));
-    }
-
-    if ( UE_template->ul_total_buffer >0)
-      LOG_D(MAC,"[eNB %d] Frame %d subframe %d UE %d CC id %d: LCGID0 %d, LCGID1 %d, LCGID2 %d LCGID3 %d, BO %d\n",
-            module_idP, frameP,subframeP, UE_id, UE_PCCID(module_idP,UE_id),
-            UE_template->ul_buffer_info[LCGID0],
-            UE_template->ul_buffer_info[LCGID1],
-            UE_template->ul_buffer_info[LCGID2],
-            UE_template->ul_buffer_info[LCGID3],
-            UE_template->ul_total_buffer);
-    else if (UE_is_to_be_scheduled(module_idP,UE_PCCID(module_idP,UE_id),UE_id) > 0 ) {
-      if (UE_template->ul_total_buffer == 0 ) {
-        UE_template->ul_total_buffer = BSR_TABLE[11];
-      }
-
-      LOG_D(MAC,"[eNB %d] Frame %d subframe %d UE %d CC id %d: SR active, set BO to %d \n",
-            module_idP, frameP,subframeP, UE_id, UE_PCCID(module_idP,UE_id),
-            UE_template->ul_total_buffer);
-    }
-  }
-}
-*/
 
 
 void assign_max_mcs_min_rb(module_id_t module_idP,int frameP, sub_frame_t subframeP, uint16_t *first_rb)
diff --git a/openair2/UTIL/LOG/vcd_signal_dumper.c b/openair2/UTIL/LOG/vcd_signal_dumper.c
index abf552c633b44cb55b1fde06c32a0715c7bb0d30..4038c33bda3e14e8816dd41b24d500ef8179aedd 100644
--- a/openair2/UTIL/LOG/vcd_signal_dumper.c
+++ b/openair2/UTIL/LOG/vcd_signal_dumper.c
@@ -122,6 +122,7 @@ const char* eurecomVariablesNames[] = {
   "ue0_BSR",
   "ue0_BO",
   "ue0_scheduled",
+  "ue0_timing_advance",
   "ue0_SR_ENERGY",
   "ue0_SR_THRES",
   "ue0_rssi0",
diff --git a/openair2/UTIL/LOG/vcd_signal_dumper.h b/openair2/UTIL/LOG/vcd_signal_dumper.h
index 6eb125786f9ac8b2d10453a5cd9de0d7aea0be0d..24a0efee2794ba260a7d5e8fd1f7fa78b3d00372 100644
--- a/openair2/UTIL/LOG/vcd_signal_dumper.h
+++ b/openair2/UTIL/LOG/vcd_signal_dumper.h
@@ -94,6 +94,7 @@ typedef enum {
   VCD_SIGNAL_DUMPER_VARIABLES_UE0_BSR,
   VCD_SIGNAL_DUMPER_VARIABLES_UE0_BO,
   VCD_SIGNAL_DUMPER_VARIABLES_UE0_SCHEDULED,
+  VCD_SIGNAL_DUMPER_VARIABLES_UE0_TIMING_ADVANCE,
   VCD_SIGNAL_DUMPER_VARIABLES_UE0_SR_ENERGY,
   VCD_SIGNAL_DUMPER_VARIABLES_UE0_SR_THRES,
   VCD_SIGNAL_DUMPER_VARIABLES_UE0_RSSI0,
diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf
index 72047f44de697396ef22c0acc8ff45073aee08df..7e17a07512a3aa8902a9c17aadc897d33ca7e060 100644
--- a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf
+++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf
@@ -140,10 +140,10 @@ eNBs =
     NETWORK_INTERFACES :
     {
         ENB_INTERFACE_NAME_FOR_S1_MME            = "eth0";
-        ENB_IPV4_ADDRESS_FOR_S1_MME              = "192.168.12.213/24";
+        ENB_IPV4_ADDRESS_FOR_S1_MME              = "192.168.12.215/24";
 
         ENB_INTERFACE_NAME_FOR_S1U               = "eth0";
-        ENB_IPV4_ADDRESS_FOR_S1U                 = "192.168.12.213/24";
+        ENB_IPV4_ADDRESS_FOR_S1U                 = "192.168.12.215/24";
         ENB_PORT_FOR_S1U                         = 2152; # Spec 2152
     };
 
diff --git a/targets/RT/USER/eNB_usrp.gtkw b/targets/RT/USER/eNB_usrp.gtkw
index 8722fd14b0b8da9da6ada453f4ce6232a246c5c1..b7810896d576763a51ac8f5ad3fd00e3c3d62924 100644
--- a/targets/RT/USER/eNB_usrp.gtkw
+++ b/targets/RT/USER/eNB_usrp.gtkw
@@ -1,15 +1,15 @@
 [*]
 [*] GTKWave Analyzer v3.3.58 (w)1999-2014 BSI
-[*] Mon Mar 14 12:40:13 2016
+[*] Thu Mar 17 23:50:10 2016
 [*]
 [dumpfile] "/tmp/openair_dump_eNB.vcd"
-[dumpfile_mtime] "Mon Mar 14 11:08:33 2016"
-[dumpfile_size] 54022345
-[savefile] "/home/abeille/openairinterface5g/targets/RT/USER/eNB_usrp.gtkw"
-[timestart] 12592600000
+[dumpfile_mtime] "Thu Mar 17 23:49:36 2016"
+[dumpfile_size] 236045612
+[savefile] "/home/papillon/openairinterface5g/targets/RT/USER/eNB_usrp.gtkw"
+[timestart] 10372000000
 [size] 1535 876
 [pos] -1 -1
-*-25.793451 12619679774 -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
+*-29.793451 12619679774 -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] 284
 [signals_width] 238
 [sst_expanded] 1
@@ -54,11 +54,11 @@ functions.phy_procedures_eNb_rx
 variables.ue0_BO[63:0]
 @420
 variables.ue0_BSR[63:0]
+@421
+variables.ue0_timing_advance[63:0]
 @28
 functions.macxface_initiate_ra_proc
-@29
 functions.macxface_terminate_ra_proc
-@28
 functions.macxface_SR_indication
 @420
 variables.ue0_SR_ENERGY[63:0]