diff --git a/targets/ARCH/EXMIMO/DRIVER/eurecom/exmimo_fw.c b/targets/ARCH/EXMIMO/DRIVER/eurecom/exmimo_fw.c
index 7b88055fee3395a7eec08519613cca9d14a51265..09664e421595f8a0c75763be38b713a6f03f51fd 100644
--- a/targets/ARCH/EXMIMO/DRIVER/eurecom/exmimo_fw.c
+++ b/targets/ARCH/EXMIMO/DRIVER/eurecom/exmimo_fw.c
@@ -54,16 +54,16 @@ void mem_ClearPageReserved(void *kvirt_addr, unsigned int size_pages)
 // returns -1 on error, 0 on success
 int bigshm_init(int card)
 {
-    printk("[openair][module] calling pci_alloc_consistent for card %d, bigshm (size: %u*%lu bytes)...\n", card, BIGSHM_SIZE_PAGES, PAGE_SIZE);
+    printk("[openair][module] calling pci_alloc_consistent for card %d, bigshm (size: %lu*%lu bytes)...\n", card, BIGSHM_SIZE_PAGES, PAGE_SIZE);
 
     if ( sizeof(dma_addr_t) != 4)
-        printk("!!! WARNING: sizeof (dma_addr_t) = %d! Only 32bit mode (= 4) (also: no PAE) is supported at this time!\n", sizeof(dma_addr_t));
+        printk("!!! WARNING: sizeof (dma_addr_t) = %lu! Only 32bit mode (= 4) (also: no PAE) is supported at this time!\n", sizeof(dma_addr_t));
     
     if ( bigshm_head[card] == NULL )
         bigshm_head[card] = pci_alloc_consistent( pdev[card], BIGSHM_SIZE_PAGES<<PAGE_SHIFT, &bigshm_head_phys[card] );
 
     if (bigshm_head[card] == NULL) {
-        printk("[openair][MODULE][ERROR] Cannot Allocate Memory (%d bytes) for shared data (bigshm)\n", BIGSHM_SIZE_PAGES<<PAGE_SHIFT);
+        printk("[openair][MODULE][ERROR] Cannot Allocate Memory (%lu bytes) for shared data (bigshm)\n", BIGSHM_SIZE_PAGES<<PAGE_SHIFT);
         return -ENOMEM;
     }
     else {
@@ -119,7 +119,7 @@ int exmimo_assign_shm_vars(int card_id)
         p_exmimo_pci_phys[card_id] = (exmimo_pci_interface_bot_t *) bigshm_assign( card_id,
                                       sizeof(exmimo_pci_interface_bot_t),
                                       &pphys_exmimo_pci_phys[card_id]);
-        printk("Intializing EXMIMO interface support (exmimo_pci_bot at %p, phys %x, size %d bytes)\n",p_exmimo_pci_phys[card_id],(unsigned int)pphys_exmimo_pci_phys[card_id], sizeof(exmimo_pci_interface_bot_t));
+        printk("Intializing EXMIMO interface support (exmimo_pci_bot at %p, phys %x, size %lu bytes)\n",p_exmimo_pci_phys[card_id],(unsigned int)pphys_exmimo_pci_phys[card_id], sizeof(exmimo_pci_interface_bot_t));
 
         exmimo_pci_kvirt[card_id].firmware_block_ptr = (char *) bigshm_assign( card_id,
                                             MAX_FIRMWARE_BLOCK_SIZE_B,
@@ -173,34 +173,39 @@ int exmimo_assign_shm_vars(int card_id)
 int exmimo_allocate_rx_tx_buffers(int card_id)
 {
     size_t size;
-    int j;
-    
+    int j,i;
+    dma_addr_t dma_addr_dummy; 
     // Round up to the next PAGE_SIZE (typ. 4096 bytes)
     size = (ADAC_BUFFERSZ_PERCHAN_B >> PAGE_SHIFT) + 1;
     size <<= PAGE_SHIFT;
     
     for (j=0; j<MAX_ANTENNAS; j++)
     {
-        exmimo_pci_kvirt[card_id].adc_head[j] = (uint32_t *)pci_alloc_consistent( pdev[card_id], size,
-                                                    (dma_addr_t*)&(p_exmimo_pci_phys[card_id]->adc_head[j]) ); 
+
+        exmimo_pci_kvirt[card_id].adc_head[j] = (uint32_t *)pci_alloc_consistent( pdev[card_id], size, &dma_addr_dummy);
+                                                    p_exmimo_pci_phys[card_id]->adc_head[j]=((uint32_t*)&dma_addr_dummy)[0]; 
         
         printk("exmimo_pci_kvirt[%d].adc_head[%d] = %p (phys = %08x)\n", card_id, j, exmimo_pci_kvirt[card_id].adc_head[j], p_exmimo_pci_phys[card_id]->adc_head[j]);
         if ( exmimo_pci_kvirt[card_id].adc_head[j] == NULL)
             return -1;
-        
+    //  printk("[MODULE MAIN0]Phys address TX[0] : (%8lx)\n",p_exmimo_pci_phys[0]->dac_head[ openair_mmap_getAntTX(2) ]);     
+   
         mem_SetPageReserved( exmimo_pci_kvirt[card_id].adc_head[j], size >> PAGE_SHIFT );
         memset( exmimo_pci_kvirt[card_id].adc_head[j], 0x10+j, size);
         
+    //  printk("[MODULE MAIN1]Phys address TX[0] : (%8lx)\n",p_exmimo_pci_phys[0]->dac_head[ openair_mmap_getAntTX(2) ]);
 
-        exmimo_pci_kvirt[card_id].dac_head[j] = (uint32_t *)pci_alloc_consistent( pdev[card_id], size,
-                                                    (dma_addr_t*)&(p_exmimo_pci_phys[card_id]->dac_head[j]) ); 
+        exmimo_pci_kvirt[card_id].dac_head[j] = (uint32_t *)pci_alloc_consistent( pdev[card_id], size,&dma_addr_dummy);
+                                                    p_exmimo_pci_phys[card_id]->dac_head[j]=((uint32_t*)&dma_addr_dummy)[0]; 
 
-        printk("exmimo_pci_kvirt[%d].dac_head[%d] = %p (phys = %08x)\n", card_id, j, exmimo_pci_kvirt[card_id].dac_head[j], p_exmimo_pci_phys[card_id]->dac_head[j]);
+    //    printk("exmimo_pci_kvirt[%d].dac_head[%d] = %p (phys = %08x)\n", card_id, j, exmimo_pci_kvirt[card_id].dac_head[j], p_exmimo_pci_phys[card_id]->dac_head[j]);
         if ( exmimo_pci_kvirt[card_id].dac_head[j] == NULL)
             return -ENOMEM;
+   //   printk("[MODULE MAIN2]Phys address TX[0] : (%8lx)\n",p_exmimo_pci_phys[0]->dac_head[ openair_mmap_getAntTX(2) ]);
 
         mem_SetPageReserved( exmimo_pci_kvirt[card_id].dac_head[j], size >> PAGE_SHIFT );
         memset( exmimo_pci_kvirt[card_id].dac_head[j], 0x20+j, size);
+   //   printk("[MODULE MAIN3]Phys address TX[0] : (%8lx)\n",p_exmimo_pci_phys[0]->dac_head[ openair_mmap_getAntTX(2) ]);
     }
     return 0;
 }
@@ -215,6 +220,7 @@ int exmimo_allocate_rx_tx_buffers(int card_id)
  */
 int exmimo_memory_alloc(int card)
 {
+int i;
     if ( bigshm_init( card ) ) {
         printk("exmimo_memory_alloc(): bigshm_init failed for card %d.\n", card);
         return -ENOMEM;
@@ -229,6 +235,7 @@ int exmimo_memory_alloc(int card)
         printk("exmimo_memory_alloc(): exmimo_allocate_rx_tx_buffers() failed to allocate enough memory for RX and TX buffers for card %i!\n", card);
         return -ENOMEM;
     }
+
     return 0;
 }
 
@@ -281,7 +288,7 @@ int exmimo_firmware_cleanup(int card)
     }
 
     if ( bigshm_head[card] ) {
-        printk("free bigshm_head[%d] pdev %p, size %u, head %p, phys %x\n", card, pdev[card], BIGSHM_SIZE_PAGES<<PAGE_SHIFT, bigshm_head[card], (unsigned int)bigshm_head_phys[card]);
+        printk("free bigshm_head[%d] pdev %p, size %lu, head %p, phys %x\n", card, pdev[card], BIGSHM_SIZE_PAGES<<PAGE_SHIFT, bigshm_head[card], (unsigned int)bigshm_head_phys[card]);
         mem_ClearPageReserved( bigshm_head[card], BIGSHM_SIZE_PAGES );
 
         pci_free_consistent( pdev[card], BIGSHM_SIZE_PAGES<<PAGE_SHIFT, bigshm_head[card], bigshm_head_phys[card]);
diff --git a/targets/ARCH/EXMIMO/DRIVER/eurecom/module_main.c b/targets/ARCH/EXMIMO/DRIVER/eurecom/module_main.c
index 5658d8cb6a38bb4e4c25151ba3e7d6a7f9864633..af776cceb82237befcd22eee2fdd420122234c0d 100755
--- a/targets/ARCH/EXMIMO/DRIVER/eurecom/module_main.c
+++ b/targets/ARCH/EXMIMO/DRIVER/eurecom/module_main.c
@@ -48,7 +48,6 @@ static int __init openair_init_module( void )
     int res = 0;
     unsigned int readback;
     unsigned int card, j;
-    
     unsigned int vid,did;
     unsigned short vendor, subid;
     exmimo_id_t exmimo_id_tmp[MAX_CARDS];
@@ -153,12 +152,12 @@ static int __init openair_init_module( void )
             }
         }
 
-        if (pci_enable_pcie_error_reporting(pdev[card]) > 0)
-            printk("[openair][INIT_MODULE][INFO]: Enabled PCIe error reporting\n");
-        else
-            printk("[openair][INIT_MODULE][INFO]: Failed to enable PCIe error reporting\n");
+        //if (pci_enable_pcie_error_reporting(pdev[card]) > 0)
+        //    printk("[openair][INIT_MODULE][INFO]: Enabled PCIe error reporting\n");
+        //else
+        //    printk("[openair][INIT_MODULE][INFO]: Failed to enable PCIe error reporting\n");
 
-        pci_cleanup_aer_uncorrect_error_status(pdev[card]);
+        //pci_cleanup_aer_uncorrect_error_status(pdev[card]);
         
         mmio_start[card]  = pci_resource_start(pdev[card], 0); // get start of BAR0
         mmio_length[card] = pci_resource_len  (pdev[card], 0);
@@ -202,7 +201,7 @@ static int __init openair_init_module( void )
             openair_cleanup();
             return -ENOMEM;
         }
-        
+       
         exmimo_pci_kvirt[card].exmimo_id_ptr->board_vendor = exmimo_id_tmp[card].board_vendor;
         exmimo_pci_kvirt[card].exmimo_id_ptr->board_exmimoversion = exmimo_id_tmp[card].board_exmimoversion;
         exmimo_pci_kvirt[card].exmimo_id_ptr->board_hwrev = exmimo_id_tmp[card].board_hwrev;
@@ -276,7 +275,7 @@ static int __init openair_init_module( void )
 
 static void __exit openair_cleanup_module(void)
 {
-    int card;
+    //int card;
     printk("[openair][CLEANUP MODULE]\n");
 
     // stop any ongoing acquisition