From aa4d373c22a69e0e52753694eb39e2dd688e0d05 Mon Sep 17 00:00:00 2001 From: winckel Date: Fri, 13 Dec 2013 16:10:29 +0000 Subject: [PATCH] Updated some log messages format. Added PHY_FIND_CELL_REQ sent to PHY when starting RRC. Fixed an issue with ITTI tasks creation with RTAI builds. git-svn-id: http://svn.eurecom.fr/openair4G/trunk@4726 818b1a75-f10b-46b9-bf7c-635c3b92a50f --- openair2/ENB_APP/enb_app.c | 2 +- openair2/RRC/LITE/MESSAGES/asn1_msg.c | 28 +++--- openair2/RRC/LITE/rrc_UE.c | 21 +++-- openair2/RRC/LITE/rrc_eNB.c | 118 ++++++++++++-------------- targets/RTAI/USER/lte-enb.c | 13 +-- targets/RTAI/USER/lte-softmodem.c | 34 ++++---- 6 files changed, 110 insertions(+), 106 deletions(-) diff --git a/openair2/ENB_APP/enb_app.c b/openair2/ENB_APP/enb_app.c index abd0fe36f5..524827efae 100644 --- a/openair2/ENB_APP/enb_app.c +++ b/openair2/ENB_APP/enb_app.c @@ -208,7 +208,7 @@ static Enb_properties_t *enb_properties[] = }; /*------------------------------------------------------------------------------*/ -static void configure_rrc() +static void configure_rrc(void) { uint32_t eNB_id_start = 0; uint32_t eNB_id_end = 1; diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.c b/openair2/RRC/LITE/MESSAGES/asn1_msg.c index 05e1273d35..5ff850f23f 100644 --- a/openair2/RRC/LITE/MESSAGES/asn1_msg.c +++ b/openair2/RRC/LITE/MESSAGES/asn1_msg.c @@ -698,19 +698,17 @@ uint8_t do_SIB2_AT4(uint8_t Mod_id, } uint8_t do_SIB23(uint8_t Mod_id, - LTE_DL_FRAME_PARMS *frame_parms, - uint8_t *buffer, - BCCH_DL_SCH_Message_t *bcch_message, - SystemInformationBlockType2_t **sib2, - SystemInformationBlockType3_t **sib3 + LTE_DL_FRAME_PARMS *frame_parms, + uint8_t *buffer, + BCCH_DL_SCH_Message_t *bcch_message, + SystemInformationBlockType2_t **sib2, + SystemInformationBlockType3_t **sib3 #ifdef Rel10 - , + , SystemInformationBlockType13_r9_t **sib13, - uint8_t MBMS_flag + uint8_t MBMS_flag #endif - ) { - - + ) { struct SystemInformation_r8_IEs_sib_TypeAndInfo_Member *sib2_part,*sib3_part; #ifdef Rel10 struct SystemInformation_r8_IEs_sib_TypeAndInfo_Member *sib13_part; @@ -723,23 +721,23 @@ uint8_t do_SIB23(uint8_t Mod_id, if (bcch_message) memset(bcch_message,0,sizeof(BCCH_DL_SCH_Message_t)); else { - LOG_E(RRC,"BCCH_MESSAGE is null, exiting\n"); + LOG_E(RRC,"[eNB %d] BCCH_MESSAGE is null, exiting\n", Mod_id); exit(-1); } if (!sib2) { - LOG_E(RRC,"sib2 is null, exiting\n"); + LOG_E(RRC,"[eNB %d] sib2 is null, exiting\n", Mod_id); exit(-1); } if (!sib3) { - LOG_E(RRC,"sib3 is null, exiting\n"); + LOG_E(RRC,"[eNB %d] sib3 is null, exiting\n", Mod_id); exit(-1); } #ifdef Rel10 - LOG_I(RRC,"Configuration SIB2/3, MBMS = %d\n",MBMS_flag); + LOG_I(RRC,"[eNB %d] Configuration SIB2/3, MBMS = %d\n", Mod_id, MBMS_flag); #else - LOG_I(RRC,"Configuration SIB2/3\n"); + LOG_I(RRC,"[eNB %d] Configuration SIB2/3\n", Mod_id); #endif sib2_part = CALLOC(1,sizeof(struct SystemInformation_r8_IEs_sib_TypeAndInfo_Member)); sib3_part = CALLOC(1,sizeof(struct SystemInformation_r8_IEs_sib_TypeAndInfo_Member)); diff --git a/openair2/RRC/LITE/rrc_UE.c b/openair2/RRC/LITE/rrc_UE.c index 3c02b73016..367cee795e 100644 --- a/openair2/RRC/LITE/rrc_UE.c +++ b/openair2/RRC/LITE/rrc_UE.c @@ -2431,7 +2431,7 @@ void *rrc_ue_task(void *args_p) { /* MAC messages */ case RRC_MAC_IN_SYNC_IND: - LOG_I(RRC, "[UE %d] Received %s: frame %d, eNB %d\n", Mod_id, msg_name, + LOG_D(RRC, "[UE %d] Received %s: frame %d, eNB %d\n", Mod_id, msg_name, RRC_MAC_IN_SYNC_IND (msg_p).frame, RRC_MAC_IN_SYNC_IND (msg_p).enb_index); UE_rrc_inst[Mod_id].Info[RRC_MAC_IN_SYNC_IND (msg_p).enb_index].N310_cnt = 0; @@ -2447,7 +2447,7 @@ void *rrc_ue_task(void *args_p) { break; case RRC_MAC_BCCH_DATA_IND: - LOG_I(RRC, "[UE %d] Received %s: frame %d, eNB %d\n", Mod_id, msg_name, + LOG_D(RRC, "[UE %d] Received %s: frame %d, eNB %d\n", Mod_id, msg_name, RRC_MAC_BCCH_DATA_IND (msg_p).frame, RRC_MAC_BCCH_DATA_IND (msg_p).enb_index); decode_BCCH_DLSCH_Message (Mod_id, RRC_MAC_BCCH_DATA_IND (msg_p).frame, @@ -2525,12 +2525,23 @@ void *rrc_ue_task(void *args_p) { itti_send_msg_to_task(TASK_L2L1, NB_eNB_INST + Mod_id, message_p); UE_rrc_inst[Mod_id].RrcState = RRC_STATE_IDLE; - break; + /* Fall through to next case */ } case RRC_STATE_IDLE: - /* Ask to layer 1 to find a cell matching the criterion */ - break; + { + /* Ask to layer 1 to find a cell matching the criterion */ + MessageDef *message_p; + + message_p = itti_alloc_new_message(TASK_RRC_UE, PHY_FIND_CELL_REQ); + + PHY_FIND_CELL_REQ (message_p).earfcn_start = 1; + PHY_FIND_CELL_REQ (message_p).earfcn_end = 1; + + itti_send_msg_to_task(TASK_PHY_UE, NB_eNB_INST + Mod_id, message_p); + + break; + } case RRC_STATE_CONNECTED: /* should not happen */ diff --git a/openair2/RRC/LITE/rrc_eNB.c b/openair2/RRC/LITE/rrc_eNB.c index 05c55bfac0..353a92fe3c 100644 --- a/openair2/RRC/LITE/rrc_eNB.c +++ b/openair2/RRC/LITE/rrc_eNB.c @@ -186,7 +186,7 @@ static void init_SI (u8 Mod_id ); else { - LOG_E (RRC, "[eNB] init_SI: FATAL, no memory for SIB1 allocated\n"); + LOG_E (RRC, "[eNB %d] init_SI: FATAL, no memory for SIB1 allocated\n", Mod_id); mac_xface->macphy_exit (""); } /* @@ -195,28 +195,24 @@ static void init_SI (u8 Mod_id mac_xface->lte_frame_parms->frame_type, mac_xface->lte_frame_parms->tdd_config); */ - if (eNB_rrc_inst[Mod_id].sizeof_SIB1 == 255) - mac_xface->macphy_exit (""); + if (eNB_rrc_inst[Mod_id].sizeof_SIB1 == 255) + mac_xface->macphy_exit (""); - eNB_rrc_inst[Mod_id].SIB23 = (u8 *) malloc16 (64); - if (eNB_rrc_inst[Mod_id].SIB23) { - - eNB_rrc_inst[Mod_id].sizeof_SIB23 = do_SIB23 (Mod_id, - mac_xface-> - lte_frame_parms, - eNB_rrc_inst[Mod_id]. - SIB23, - &eNB_rrc_inst[Mod_id]. - systemInformation, - &eNB_rrc_inst[Mod_id]. - sib2, - &eNB_rrc_inst[Mod_id].sib3 + eNB_rrc_inst[Mod_id].SIB23 = (u8 *) malloc16 (64); + if (eNB_rrc_inst[Mod_id].SIB23) { + eNB_rrc_inst[Mod_id].sizeof_SIB23 = do_SIB23 (Mod_id, + mac_xface-> + lte_frame_parms, + eNB_rrc_inst[Mod_id].SIB23, + &eNB_rrc_inst[Mod_id].systemInformation, + &eNB_rrc_inst[Mod_id].sib2, + &eNB_rrc_inst[Mod_id].sib3 #ifdef Rel10 - , - &eNB_rrc_inst[Mod_id].sib13, - eNB_rrc_inst[Mod_id].MBMS_flag + , + &eNB_rrc_inst[Mod_id].sib13, + eNB_rrc_inst[Mod_id].MBMS_flag #endif - ); + ); /* eNB_rrc_inst[Mod_id].sizeof_SIB23 = do_SIB2_AT4(Mod_id, eNB_rrc_inst[Mod_id].SIB23, @@ -224,7 +220,7 @@ static void init_SI (u8 Mod_id &eNB_rrc_inst[Mod_id].sib2); */ if (eNB_rrc_inst[Mod_id].sizeof_SIB23 == 255) - mac_xface->macphy_exit ("eNB_rrc_inst[Mod_id].sizeof_SIB23 == 255"); + mac_xface->macphy_exit ("eNB_rrc_inst[Mod_id].sizeof_SIB23 == 255"); LOG_T (RRC, "[eNB %d] SIB2/3 Contents (partial)\n", Mod_id); LOG_T (RRC, "[eNB %d] pusch_config_common.n_SB = %ld\n", Mod_id, @@ -259,46 +255,42 @@ static void init_SI (u8 Mod_id eNB_rrc_inst[Mod_id].sib2->radioResourceConfigCommon. pusch_ConfigCommon.ul_ReferenceSignalsPUSCH.cyclicShift); - #ifdef Rel10 - if (eNB_rrc_inst[Mod_id].MBMS_flag > 0) { - + if (eNB_rrc_inst[Mod_id].MBMS_flag > 0) { for (i=0; - i< eNB_rrc_inst[Mod_id].sib2->mbsfn_SubframeConfigList->list.count; - i++){ - // SIB 2 - // LOG_D(RRC, "[eNB %d] mbsfn_SubframeConfigList.list.count = %ld\n", Mod_id, eNB_rrc_inst[Mod_id].sib2->mbsfn_SubframeConfigList->list.count); - LOG_D (RRC, "[eNB %d] SIB13 contents for MBSFN subframe allocation %d/%d(partial)\n", - Mod_id,i,eNB_rrc_inst[Mod_id].sib2->mbsfn_SubframeConfigList->list.count); - LOG_D (RRC, "[eNB %d] mbsfn_Subframe_pattern is = %x\n", Mod_id, - eNB_rrc_inst[Mod_id].sib2->mbsfn_SubframeConfigList->list.array[i]->subframeAllocation.choice.oneFrame.buf[0]>>0); - LOG_D (RRC, "[eNB %d] radioframe_allocation_period = %ld (just index number, not the real value)\n", Mod_id, eNB_rrc_inst[Mod_id].sib2->mbsfn_SubframeConfigList->list.array[i]->radioframeAllocationPeriod); // need to display the real value, using array of char (like in dumping SIB2) - LOG_D (RRC, "[eNB %d] radioframe_allocation_offset = %ld\n", - Mod_id, - eNB_rrc_inst[Mod_id].sib2->mbsfn_SubframeConfigList->list.array[i]->radioframeAllocationOffset); - } - // SIB13 + i< eNB_rrc_inst[Mod_id].sib2->mbsfn_SubframeConfigList->list.count; + i++){ + // SIB 2 + // LOG_D(RRC, "[eNB %d] mbsfn_SubframeConfigList.list.count = %ld\n", Mod_id, eNB_rrc_inst[Mod_id].sib2->mbsfn_SubframeConfigList->list.count); + LOG_D (RRC, "[eNB %d] SIB13 contents for MBSFN subframe allocation %d/%d(partial)\n", + Mod_id,i,eNB_rrc_inst[Mod_id].sib2->mbsfn_SubframeConfigList->list.count); + LOG_D (RRC, "[eNB %d] mbsfn_Subframe_pattern is = %x\n", Mod_id, + eNB_rrc_inst[Mod_id].sib2->mbsfn_SubframeConfigList->list.array[i]->subframeAllocation.choice.oneFrame.buf[0]>>0); + LOG_D (RRC, "[eNB %d] radioframe_allocation_period = %ld (just index number, not the real value)\n", Mod_id, eNB_rrc_inst[Mod_id].sib2->mbsfn_SubframeConfigList->list.array[i]->radioframeAllocationPeriod); // need to display the real value, using array of char (like in dumping SIB2) + LOG_D (RRC, "[eNB %d] radioframe_allocation_offset = %ld\n", + Mod_id, + eNB_rrc_inst[Mod_id].sib2->mbsfn_SubframeConfigList->list.array[i]->radioframeAllocationOffset); + } + // SIB13 for (i=0; - i< eNB_rrc_inst[Mod_id].sib13->mbsfn_AreaInfoList_r9.list.count; - i++){ - LOG_D (RRC,"[eNB %d] SIB13 contents for MBSFN sync area %d/2 (partial)\n", - Mod_id, i, - eNB_rrc_inst[Mod_id].sib13->mbsfn_AreaInfoList_r9.list.count); - LOG_D (RRC,"[eNB %d] MCCH Repetition Period: %d (just index number, not real value)\n", - Mod_id, - eNB_rrc_inst[Mod_id].sib13->mbsfn_AreaInfoList_r9.list.array[i]->mcch_Config_r9.mcch_RepetitionPeriod_r9); - LOG_D (RRC, "[eNB %d] MCCH Offset: %d\n", Mod_id, - eNB_rrc_inst[Mod_id].sib13->mbsfn_AreaInfoList_r9.list.array[i]->mcch_Config_r9.mcch_Offset_r9); - - } - } + i< eNB_rrc_inst[Mod_id].sib13->mbsfn_AreaInfoList_r9.list.count; + i++){ + LOG_D (RRC,"[eNB %d] SIB13 contents for MBSFN sync area %d/2 (partial)\n", + Mod_id, i, + eNB_rrc_inst[Mod_id].sib13->mbsfn_AreaInfoList_r9.list.count); + LOG_D (RRC,"[eNB %d] MCCH Repetition Period: %d (just index number, not real value)\n", + Mod_id, + eNB_rrc_inst[Mod_id].sib13->mbsfn_AreaInfoList_r9.list.array[i]->mcch_Config_r9.mcch_RepetitionPeriod_r9); + LOG_D (RRC, "[eNB %d] MCCH Offset: %d\n", Mod_id, + eNB_rrc_inst[Mod_id].sib13->mbsfn_AreaInfoList_r9.list.array[i]->mcch_Config_r9.mcch_Offset_r9); + } + } #endif - LOG_D (RRC, - "[MSC_MSG][FRAME unknown][RRC_UE][MOD %02d][][--- MAC_CONFIG_REQ (SIB1.tdd & SIB2 params) --->][MAC_UE][MOD %02d][]\n", - Mod_id, Mod_id); + LOG_D (RRC, "[MSC_MSG][FRAME unknown][RRC_UE][MOD %02d][][--- MAC_CONFIG_REQ (SIB1.tdd & SIB2 params) --->][MAC_UE][MOD %02d][]\n", + Mod_id, Mod_id); - rrc_mac_config_req (Mod_id, 1, 0, 0, + rrc_mac_config_req (Mod_id, 1, 0, 0, (RadioResourceConfigCommonSIB_t *) & eNB_rrc_inst[Mod_id].sib2-> radioResourceConfigCommon, @@ -308,7 +300,7 @@ static void init_SI (u8 Mod_id (struct LogicalChannelConfig *) NULL, (MeasGapConfig_t *) NULL, eNB_rrc_inst[Mod_id].sib1->tdd_Config, - NULL, + NULL, &SIwindowsize, &SIperiod, eNB_rrc_inst[Mod_id].sib2->freqInfo.ul_CarrierFreq, eNB_rrc_inst[Mod_id].sib2->freqInfo.ul_Bandwidth, @@ -2421,6 +2413,8 @@ char openair_rrc_lite_eNB_init (u8 Mod_id) LOG_D (RRC, "[MSC_NEW][FRAME 00000][RRC_eNB][MOD %02d][]\n", Mod_id); LOG_D (RRC, "[MSC_NEW][FRAME 00000][IP][MOD %02d][]\n", Mod_id); + DevAssert(eNB_rrc_inst != NULL); + for (j = 0; j < NUMBER_OF_UE_MAX; j++) eNB_rrc_inst[Mod_id].Info.UE[j].Status = RRC_IDLE; //CH_READY; @@ -2460,15 +2454,14 @@ char openair_rrc_lite_eNB_init (u8 Mod_id) /// System Information INIT - LOG_I (RRC, "Checking release \n"); + LOG_I (RRC, "[eNB %d] Checking release \n", Mod_id); #ifdef Rel10 - // Thishas to come from some top-level configuration - printf ("Rel10 RRC detected, MBMS flag %d\n", - eNB_rrc_inst[Mod_id].MBMS_flag); + // This has to come from some top-level configuration + LOG_I (RRC, "[eNB %d] Rel10 RRC detected, MBMS flag %d\n", Mod_id, eNB_rrc_inst[Mod_id].MBMS_flag); #else - printf ("Rel8 RRC\n"); + LOG_I (RRC, "[eNB %d] Rel8 RRC\n", Mod_id); #endif #ifdef CBA for (j = 0; j < NUM_MAX_CBA_GROUP; j++) @@ -2477,8 +2470,7 @@ char openair_rrc_lite_eNB_init (u8 Mod_id) if (eNB_rrc_inst[Mod_id].num_active_cba_groups > NUM_MAX_CBA_GROUP) eNB_rrc_inst[Mod_id].num_active_cba_groups = NUM_MAX_CBA_GROUP; - LOG_D (RRC, - "[eNB %d] Initialization of 4 cba_RNTI values (%x %x %x %x) num active groups %d\n", + LOG_D (RRC, "[eNB %d] Initialization of 4 cba_RNTI values (%x %x %x %x) num active groups %d\n", Mod_id, eNB_rrc_inst[Mod_id].cba_rnti[0], eNB_rrc_inst[Mod_id].cba_rnti[1], eNB_rrc_inst[Mod_id].cba_rnti[2], eNB_rrc_inst[Mod_id].cba_rnti[3], diff --git a/targets/RTAI/USER/lte-enb.c b/targets/RTAI/USER/lte-enb.c index 4879c27fef..ac2cfc46e8 100644 --- a/targets/RTAI/USER/lte-enb.c +++ b/targets/RTAI/USER/lte-enb.c @@ -755,12 +755,6 @@ int main(int argc, char **argv) itti_init(TASK_MAX, THREAD_MAX, MESSAGES_ID_MAX, tasks_info, messages_info, messages_definition_xml, itti_dump_file); - - if (create_tasks(1, 0)) { - exit(EXIT_FAILURE); // need a softer mode - } - - printf("After create tasks\n"); #endif #ifdef NAS_NETLINK @@ -948,6 +942,12 @@ int main(int argc, char **argv) mac_xface->macphy_exit = &exit_fun; +#if defined(ENABLE_ITTI) + if (create_tasks(UE_flag ? 0 : 1, UE_flag ? 1 : 0) < 0) { + exit(-1); // need a softer mode + } + printf("ITTI tasks created\n"); +#endif number_of_cards = openair0_num_detected_cards; if (p_exmimo_id->board_exmimoversion==1) { //ExpressMIMO1 @@ -1088,6 +1088,7 @@ int main(int argc, char **argv) // rt_sleep_ns(FRAME_PERIOD); #if defined(ENABLE_ITTI) + printf("Entering ITTI signals handler\n"); itti_wait_tasks_end(); #else rt_sem_wait(mutex); diff --git a/targets/RTAI/USER/lte-softmodem.c b/targets/RTAI/USER/lte-softmodem.c index 6a07a5a85f..7a1a68220e 100644 --- a/targets/RTAI/USER/lte-softmodem.c +++ b/targets/RTAI/USER/lte-softmodem.c @@ -1248,10 +1248,6 @@ int main(int argc, char **argv) { } itti_init(TASK_MAX, THREAD_MAX, MESSAGES_ID_MAX, tasks_info, messages_info, messages_definition_xml, itti_dump_file); - - if (create_tasks(UE_flag ? 0 : 1, UE_flag ? 1 : 0) < 0) { - exit(-1); // need a softer mode - } #endif #ifdef NAS_NETLINK @@ -1361,8 +1357,8 @@ int main(int argc, char **argv) { #endif compute_prach_seq(&PHY_vars_UE_g[0]->lte_frame_parms.prach_config_common, - PHY_vars_UE_g[0]->lte_frame_parms.frame_type, - PHY_vars_UE_g[0]->X_u); + PHY_vars_UE_g[0]->lte_frame_parms.frame_type, + PHY_vars_UE_g[0]->X_u); PHY_vars_UE_g[0]->lte_ue_pdcch_vars[0]->crnti = 0x1234; #ifndef OPENAIR2 @@ -1391,7 +1387,7 @@ int main(int argc, char **argv) { for (i=0; i<4; i++) { PHY_vars_UE_g[0]->rx_gain_mode[i] = max_gain; // frame_parms->rfmode[i] = rf_mode_max[i]; - rf_mode[i] = (rf_mode[i] & (~LNAGAINMASK)) | LNAMax; + rf_mode[i] = (rf_mode[i] & (~LNAGAINMASK)) | LNAMax; } PHY_vars_UE_g[0]->rx_total_gain_dB = PHY_vars_UE_g[0]->rx_gain_max[0] + rxgain[0] - 30; //-30 because it was calibrated with a 30dB gain } @@ -1399,15 +1395,15 @@ int main(int argc, char **argv) { for (i=0; i<4; i++) { PHY_vars_UE_g[0]->rx_gain_mode[i] = med_gain; // frame_parms->rfmode[i] = rf_mode_med[i]; - rf_mode[i] = (rf_mode[i] & (~LNAGAINMASK)) | LNAMed; + rf_mode[i] = (rf_mode[i] & (~LNAGAINMASK)) | LNAMed; } - PHY_vars_UE_g[0]->rx_total_gain_dB = PHY_vars_UE_g[0]->rx_gain_med[0] + rxgain[0] - 30; //-30 because it was calibrated with a 30dB gain; + PHY_vars_UE_g[0]->rx_total_gain_dB = PHY_vars_UE_g[0]->rx_gain_med[0] + rxgain[0] - 30; //-30 because it was calibrated with a 30dB gain; } else if ((mode == rx_calib_ue_byp)) { for (i=0; i<4; i++) { PHY_vars_UE_g[0]->rx_gain_mode[i] = byp_gain; // frame_parms->rfmode[i] = rf_mode_byp[i]; - rf_mode[i] = (rf_mode[i] & (~LNAGAINMASK)) | LNAByp; + rf_mode[i] = (rf_mode[i] & (~LNAGAINMASK)) | LNAByp; } PHY_vars_UE_g[0]->rx_total_gain_dB = PHY_vars_UE_g[0]->rx_gain_byp[0] + rxgain[0] - 30; //-30 because it was calibrated with a 30dB gain; } @@ -1465,9 +1461,9 @@ int main(int argc, char **argv) { #endif compute_prach_seq(&PHY_vars_eNB_g[0]->lte_frame_parms.prach_config_common, - PHY_vars_eNB_g[0]->lte_frame_parms.frame_type, - PHY_vars_eNB_g[0]->X_u); - + PHY_vars_eNB_g[0]->lte_frame_parms.frame_type, + PHY_vars_eNB_g[0]->X_u); + NB_eNB_INST=1; NB_INST=1; @@ -1486,8 +1482,6 @@ int main(int argc, char **argv) { // frame_parms->rfmode[i] = rf_mode_max[i]; rf_mode[i] = (rf_mode[i] & (~LNAGAINMASK)) | LNAMax; } - - } // Initialize card @@ -1603,7 +1597,14 @@ int main(int argc, char **argv) { mac_xface->macphy_exit = &exit_fun; -#ifdef OPENAIR2 +#if defined(ENABLE_ITTI) + if (create_tasks(UE_flag ? 0 : 1, UE_flag ? 1 : 0) < 0) { + exit(-1); // need a softer mode + } + printf("ITTI tasks created\n"); +#endif + + #ifdef OPENAIR2 //if (otg_enabled) { init_all_otg(0); g_otg->seed = 0; @@ -1853,6 +1854,7 @@ int main(int argc, char **argv) { //getchar(); #if defined(ENABLE_ITTI) + printf("Entering ITTI signals handler\n"); itti_wait_tasks_end(); #else while (oai_exit==0)