diff --git a/openair2/LAYER2/MAC/eNB_scheduler.c b/openair2/LAYER2/MAC/eNB_scheduler.c index 2b74d5fe9cbf2f9ea44bc66b8c1c7ada36e23198..34ac1376a98636c0e5c382774376df9152321de4 100644 --- a/openair2/LAYER2/MAC/eNB_scheduler.c +++ b/openair2/LAYER2/MAC/eNB_scheduler.c @@ -524,7 +524,7 @@ void SR_indication(module_id_t enb_mod_idP, frame_t frameP, rnti_t rntiP, sub_fr eNB_mac_inst[enb_mod_idP].UE_template[ue_mod_id].ul_active = TRUE; } else { // AssertFatal(0, "find_UE_id(%u,rnti %d) not found", enb_mod_idP, rntiP); - AssertError(0, 0, "find_UE_id(%u,rnti %d) not found", enb_mod_idP, rntiP); + AssertError(0, 0, "find_UE_id(%u,rnti %d) not found\n", enb_mod_idP, rntiP); } } diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp.c b/openair2/LAYER2/PDCP_v10.1.0/pdcp.c index 6926e8cbd2bb98bdc6de839fcfe8c991260d7d06..38236dd4bee75c7ae767f18f0f3a5312c72cf892 100755 --- a/openair2/LAYER2/PDCP_v10.1.0/pdcp.c +++ b/openair2/LAYER2/PDCP_v10.1.0/pdcp.c @@ -295,11 +295,7 @@ boolean_t pdcp_data_req( else stop_meas(&UE_pdcp_stats[ue_mod_idP].apply_security); } - LOG_D(PDCP,"MAC_I is %02x.%02x.%02x.%02x\n", - pdcp_pdu_p->data[pdcp_header_len + sdu_buffer_sizeP ], - pdcp_pdu_p->data[pdcp_header_len + sdu_buffer_sizeP +1], - pdcp_pdu_p->data[pdcp_header_len + sdu_buffer_sizeP +2], - pdcp_pdu_p->data[pdcp_header_len + sdu_buffer_sizeP +3]); + #endif /* Print octets of outgoing data in hexadecimal form */ @@ -327,7 +323,15 @@ boolean_t pdcp_data_req( * Ask sublayer to transmit data and check return value * to see if RLC succeeded */ +#ifdef PDCP_MSG_PRINT + int i=0; + LOG_F(PDCP,"[MSG] PDCP DL %s PDU on rb_id %d\n", (srb_flagP)? "CONTROL" : "DATA", rb_idP); + for (i = 0; i < pdcp_pdu_size; i++) + LOG_F(PDCP,"%02x ", ((uint8_t*)pdcp_pdu_p->data)[i]); + LOG_F(PDCP,"\n"); +#endif rlc_status = rlc_data_req(enb_mod_idP, ue_mod_idP, frameP, enb_flagP, srb_flagP, MBMS_FLAG_NO, rb_idP, muiP, confirmP, pdcp_pdu_size, pdcp_pdu_p); + } switch (rlc_status) { case RLC_OP_STATUS_OK: @@ -428,6 +432,14 @@ boolean_t pdcp_data_ind( oai_emulation.info.first_ue_local); } #endif +#ifdef PDCP_MSG_PRINT + int i=0; + LOG_F(PDCP,"[MSG] PDCP UL %s PDU on rb_id %d\n", (srb_flagP)? "CONTROL" : "DATA", rb_idP); + for (i = 0; i < sdu_buffer_sizeP; i++) + LOG_F(PDCP,"%02x ", ((uint8_t*)sdu_buffer_pP->data)[i]); + LOG_F(PDCP,"\n"); +#endif + if (MBMS_flagP) { AssertError (rb_idP < NB_RB_MBMS_MAX, return FALSE, "RB id is too high (%u/%d) %u %u!\n", rb_idP, NB_RB_MBMS_MAX, ue_mod_idP, enb_mod_idP); if (enb_flagP == ENB_FLAG_NO) { diff --git a/openair2/RRC/LITE/rrc_eNB.c b/openair2/RRC/LITE/rrc_eNB.c index c703a2116c6e8032cdae2bae07add3e5f9e73790..8b2621df8bf383772011b40abdfef17a45be2205 100644 --- a/openair2/RRC/LITE/rrc_eNB.c +++ b/openair2/RRC/LITE/rrc_eNB.c @@ -563,7 +563,8 @@ void rrc_eNB_generate_SecurityModeCommand( eNB_rrc_inst[enb_mod_idP].integrity_algorithm[ue_mod_idP]); #ifdef RRC_MSG_PRINT - LOG_F(RRC,"RRC Security Mode Command\n"); + uint16_t i=0; + LOG_F(RRC,"[MSG] RRC Security Mode Command\n"); for (i = 0; i < size; i++) LOG_F(RRC,"%02x ", ((uint8_t*)buffer)[i]); LOG_F(RRC,"\n"); @@ -1144,7 +1145,7 @@ static void rrc_eNB_generate_defaultRRCConnectionReconfiguration( mac_MainConfig, NULL, NULL, Sparams, rsrp, cba_RNTI, dedicatedInfoNASList); #ifdef RRC_MSG_PRINT - LOG_F(RRC,"RRC Connection Reconfiguration\n"); + LOG_F(RRC,"[MSG] RRC Connection Reconfiguration\n"); for (i = 0; i < size; i++) LOG_F(RRC,"%02x ", ((uint8_t*)buffer)[i]); LOG_F(RRC,"\n"); @@ -2459,9 +2460,9 @@ void rrc_eNB_generate_RRCConnectionSetup( SRB_configList, &eNB_rrc_inst[enb_mod_idP].physicalConfigDedicated[ue_mod_idP]); #ifdef RRC_MSG_PRINT - LOG_F(RRC,"RRC Connection Setup\n"); - for (cnt = 0; cnt < eNB_rrc_inst[Mod_id].Srb0.Tx_buffer.payload_size; cnt++) - LOG_F(RRC,"%02x ", ((uint8_t*)eNB_rrc_inst[Mod_id].Srb0.Tx_buffer.Payload)[cnt]); + LOG_F(RRC,"[MSG] RRC Connection Setup\n"); + for (cnt = 0; cnt < eNB_rrc_inst[enb_mod_idP].Srb0.Tx_buffer.payload_size; cnt++) + LOG_F(RRC,"%02x ", ((uint8_t*)eNB_rrc_inst[enb_mod_idP].Srb0.Tx_buffer.Payload)[cnt]); LOG_F(RRC,"\n"); ////////////////////////////////// #endif @@ -2702,7 +2703,7 @@ int rrc_eNB_decode_ccch( case UL_CCCH_MessageType__c1_PR_rrcConnectionReestablishmentRequest: #ifdef RRC_MSG_PRINT - LOG_F(RRC, "RRC Connection Reestablishement Request\n"); + LOG_F(RRC,"[MSG] RRC Connection Reestablishement Request\n"); for (i = 0; i < Srb_info->Rx_buffer.payload_size; i++) LOG_F(RRC,"%02x ", ((uint8_t*)Srb_info->Rx_buffer.Payload)[i]); LOG_F(RRC,"\n"); @@ -2737,7 +2738,7 @@ int rrc_eNB_decode_ccch( */ case UL_CCCH_MessageType__c1_PR_rrcConnectionRequest: #ifdef RRC_MSG_PRINT - LOG_F(RRC, "RRC Connection Request\n"); + LOG_F(RRC,"[MSG] RRC Connection Request\n"); for (i = 0; i < Srb_info->Rx_buffer.payload_size; i++) LOG_F(RRC,"%02x ", ((uint8_t*)Srb_info->Rx_buffer.Payload)[i]); LOG_F(RRC,"\n"); @@ -2879,7 +2880,8 @@ int rrc_eNB_decode_dcch( //UL_DCCH_Message_t uldcchmsg; UL_DCCH_Message_t *ul_dcch_msg = NULL; //&uldcchmsg; UE_EUTRA_Capability_t *UE_EUTRA_Capability = NULL; - + int i; + if ((Srb_id != 1) && (Srb_id != 2)) { LOG_E(RRC, "[eNB %d] Frame %d: Received message on SRB%d, should not have ...\n", enb_mod_idP, frameP, Srb_id); } @@ -2917,9 +2919,7 @@ int rrc_eNB_decode_dcch( # endif #endif - { - int i; - + { for (i = 0; i < sdu_sizeP; i++) LOG_T(RRC, "%x.", Rx_sdu[i]); LOG_T(RRC, "\n"); @@ -2951,9 +2951,9 @@ int rrc_eNB_decode_dcch( case UL_DCCH_MessageType__c1_PR_rrcConnectionReconfigurationComplete: #ifdef RRC_MSG_PRINT - LOG_F(RRC," RRC Connection Reconfiguration Complete\n"); - for (i = 0; i < sdu_size; i++) - LOF_F(RRC,"%02x ", ((uint8_t*)Rx_sdu)[i]); + LOG_F(RRC,"[MSG] RRC Connection Reconfiguration Complete\n"); + for (i = 0; i < sdu_sizeP; i++) + LOG_F(RRC,"%02x ", ((uint8_t*)Rx_sdu)[i]); LOG_F(RRC,"\n"); #endif LOG_D(RRC, @@ -2984,8 +2984,8 @@ int rrc_eNB_decode_dcch( case UL_DCCH_MessageType__c1_PR_rrcConnectionReestablishmentComplete: #ifdef RRC_MSG_PRINT - LOG_F(RRC,"RRC Connection Reestablishment Complete\n"); - for (i = 0; i < sdu_size; i++) + LOG_F(RRC,"[MSG] RRC Connection Reestablishment Complete\n"); + for (i = 0; i < sdu_sizeP; i++) LOG_F(RRC,"%02x ", ((uint8_t*)Rx_sdu)[i]); LOG_F(RRC,"\n"); #endif @@ -2997,8 +2997,8 @@ int rrc_eNB_decode_dcch( case UL_DCCH_MessageType__c1_PR_rrcConnectionSetupComplete: #ifdef RRC_MSG_PRINT - LOG_F(RRC,"RRC Connection SetupComplete\n"); - for (i = 0; i < sdu_size; i++) + LOG_F(RRC,"[MSG] RRC Connection SetupComplete\n"); + for (i = 0; i < sdu_sizeP; i++) LOG_F(RRC,"%02x ", ((uint8_t*)Rx_sdu)[i]); LOG_F(RRC,"\n"); #endif @@ -3027,8 +3027,8 @@ int rrc_eNB_decode_dcch( case UL_DCCH_MessageType__c1_PR_securityModeComplete: #ifdef RRC_MSG_PRINT - LOG_F(RRC,"RRC Security Mode Complete\n"); - for (i = 0; i < sdu_size; i++) + LOG_F(RRC,"[MSG] RRC Security Mode Complete\n"); + for (i = 0; i < sdu_sizeP; i++) LOG_F(RRC,"%02x ", ((uint8_t*)Rx_sdu)[i]); LOG_F(RRC,"\n"); #endif @@ -3049,8 +3049,8 @@ int rrc_eNB_decode_dcch( case UL_DCCH_MessageType__c1_PR_securityModeFailure: #ifdef RRC_MSG_PRINT - LOG_F(RRC,"RRC Security Mode Failure\n"); - for (i = 0; i < sdu_size; i++) + LOG_F(RRC,"[MSG] RRC Security Mode Failure\n"); + for (i = 0; i < sdu_sizeP; i++) LOG_F(RRC,"%02x ", ((uint8_t*)Rx_sdu)[i]); LOG_F(RRC,"\n"); #endif @@ -3068,8 +3068,8 @@ int rrc_eNB_decode_dcch( case UL_DCCH_MessageType__c1_PR_ueCapabilityInformation: #ifdef RRC_MSG_PRINT - LOG_F(RRC,"RRC UECapablility Information \n"); - for (i = 0; i < sdu_size; i++) + LOG_F(RRC,"[MSG] RRC UECapablility Information \n"); + for (i = 0; i < sdu_sizeP; i++) LOG_F(RRC,"%02x ", ((uint8_t*)Rx_sdu)[i]); LOG_F(RRC,"\n"); #endif @@ -3110,8 +3110,8 @@ int rrc_eNB_decode_dcch( case UL_DCCH_MessageType__c1_PR_ulInformationTransfer: #ifdef RRC_MSG_PRINT - LOG_F(RRC,"RRC UL Information Transfer \n"); - for (i = 0; i < sdu_size; i++) + LOG_F(RRC,"[MSG] RRC UL Information Transfer \n"); + for (i = 0; i < sdu_sizeP; i++) LOG_F(RRC,"%02x ", ((uint8_t*)Rx_sdu)[i]); LOG_F(RRC,"\n"); #endif diff --git a/openair2/RRC/LITE/rrc_eNB_S1AP.c b/openair2/RRC/LITE/rrc_eNB_S1AP.c index e9760524216e358c593278a71b5a2a0d043f3d3f..af46936af8824fe22c5957dd63c13e6ccca82145 100644 --- a/openair2/RRC/LITE/rrc_eNB_S1AP.c +++ b/openair2/RRC/LITE/rrc_eNB_S1AP.c @@ -594,7 +594,8 @@ int rrc_eNB_process_S1AP_DOWNLINK_NAS(MessageDef *msg_p, const char *msg_name, i S1AP_DOWNLINK_NAS (msg_p).nas_pdu.buffer); #ifdef RRC_MSG_PRINT - LOG_F(RRC,"RRC DL Information Transfer\n"); + int i=0; + LOG_F(RRC,"[MSG] RRC DL Information Transfer\n"); for (i = 0; i < length; i++) LOG_F(RRC,"%02x ", ((uint8_t*)buffer)[i]); LOG_F(RRC,"\n"); diff --git a/openair2/UTIL/LOG/log.c b/openair2/UTIL/LOG/log.c index 1874c9d6e18699a091e81a091e26e0c9f6fcf110..1932eb3e36c6b7a5a09a1137a629bdf6a4c0effc 100755 --- a/openair2/UTIL/LOG/log.c +++ b/openair2/UTIL/LOG/log.c @@ -153,7 +153,7 @@ int logInit (void) g_log->log_component[RRC].flag = LOG_MED; g_log->log_component[RRC].interval = 1; g_log->log_component[RRC].fd = 0; - g_log->log_component[RRC].filelog = 1; + g_log->log_component[RRC].filelog = 0; g_log->log_component[RRC].filelog_name = "/tmp/rrc.log"; g_log->log_component[NAS].name = "NAS"; @@ -694,14 +694,14 @@ void logRecord_mt(const char *file, const char *func, int line, int comp, // OAI printf compatibility if ((g_log->onlinelog == 1) && (level != LOG_FILE)) #ifdef RTAI - if (len > MAX_LOG_TOTAL) { - rt_printk ("[OPENAIR] FIFO_PRINTF WROTE OUTSIDE ITS MEMORY BOUNDARY : ERRORS WILL OCCUR\n"); - } + if (len > MAX_LOG_TOTAL) { + rt_printk ("[OPENAIR] FIFO_PRINTF WROTE OUTSIDE ITS MEMORY BOUNDARY : ERRORS WILL OCCUR\n"); + } if (len > 0) { - rtf_put (FIFO_PRINTF_NO, c->log_buffer, len); + rtf_put (FIFO_PRINTF_NO, c->log_buffer, len); } #else - fwrite(c->log_buffer, len, 1, stdout); + fwrite(c->log_buffer, len, 1, stdout); #endif #ifndef RTAI @@ -718,6 +718,11 @@ void logRecord_mt(const char *file, const char *func, int line, int comp, // TODO assert ? } } +#else + // online print messges + if ((g_log->log_component[comp].filelog) && (level == LOG_FILE)) { + printf(c->log_buffer); + } #endif #if defined(ENABLE_ITTI) @@ -934,14 +939,19 @@ void set_glog_filelog(int enable) void set_component_filelog(int comp) { - - if (g_log->log_component[comp].filelog == 0) { - g_log->log_component[comp].filelog = 1; - if (g_log->log_component[comp].fd == 0) { - g_log->log_component[comp].fd = open(g_log->log_component[comp].filelog_name, - O_WRONLY | O_CREAT | O_TRUNC, 0666); - } + if (g_log->log_component[comp].filelog == 0) { + g_log->log_component[comp].filelog = 1; +#ifndef RTAI + + if (g_log->log_component[comp].fd == 0) { + g_log->log_component[comp].fd = open(g_log->log_component[comp].filelog_name, + O_WRONLY | O_CREAT | O_TRUNC, 0666); } + +#else + +#endif + } } /* diff --git a/targets/RTAI/USER/Makefile b/targets/RTAI/USER/Makefile index 4317eec1af647747288d5f734cf1630ed4b6b562..4151d1a8d535fe5b73c28ff8b753a0188aeca733 100644 --- a/targets/RTAI/USER/Makefile +++ b/targets/RTAI/USER/Makefile @@ -123,8 +123,9 @@ ifdef ENABLE_ITTI CFLAGS += -DEXMIMO_IOT endif -ifdef RRC_MSG_PRINT -CFLAG += -DRRC_MSG_PRINT +ifdef MSG_PRINT +CFLAGS += -DRRC_MSG_PRINT +CFLAGS += -DPDCP_MSG_PRINT endif CFLAGS += $(L2_incl) $(ENB_APP_incl) $(UTIL_incl) $(UTILS_incl) diff --git a/targets/RTAI/USER/lte-softmodem.c b/targets/RTAI/USER/lte-softmodem.c index 21c668eeb614f89ee831bbb7410e9c648b8fecaa..0aaa37896a337d383351f2b299057bedf3767a51 100644 --- a/targets/RTAI/USER/lte-softmodem.c +++ b/targets/RTAI/USER/lte-softmodem.c @@ -238,7 +238,7 @@ static uint32_t txgain[4] = {20,20,20,20}; static runmode_t mode; static int rx_input_level_dBm; -static int log_messages=0; +static int online_log_messages=0; #ifdef XFORMS extern int otg_enabled; static char do_forms=0; @@ -1260,7 +1260,7 @@ static void get_options (int argc, char **argv) opp_enabled = 1; break; case 'R' : - log_messages =1; + online_log_messages =1; break; default: break; @@ -1386,8 +1386,10 @@ int main(int argc, char **argv) { #endif #endif set_comp_log(ENB_APP, LOG_INFO, LOG_HIGH, 1); - if (log_messages == 1) + if (online_log_messages == 1) { set_component_filelog(RRC); + set_component_filelog(PDCP); + } } if (ouput_vcd) {