From 29000feee061956edc75ea944f8144c70fbe0b37 Mon Sep 17 00:00:00 2001 From: "Ubuntu 14.04" Date: Mon, 12 Oct 2015 04:25:53 -0700 Subject: [PATCH 01/85] Fix for issue 35 on gitlab for TM1. --- .../PHY/LTE_TRANSPORT/dlsch_demodulation.c | 150 +++++++++++++----- 1 file changed, 109 insertions(+), 41 deletions(-) diff --git a/openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c b/openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c index 3dc325861c..467b90326e 100644 --- a/openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c +++ b/openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c @@ -53,7 +53,7 @@ #endif //#define DEBUG_PHY 1 -//#define DEBUG_DLSCH_MOD 1 +//#define DEBUG_DLSCH_DEMOD 1 int avg[4]; @@ -3229,12 +3229,40 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF, else rb_alloc_ind = 0; + if (rb_alloc_ind == 1) + nb_rb++; + // For second half of RBs skip DC carrier if (rb==(frame_parms->N_RB_DL>>1)) { rxF = &rxdataF[aarx][(1 + (symbol*(frame_parms->ofdm_symbol_size)))]; //dl_ch0++; } + // PBCH + if ((subframe==0) && (rb>=((frame_parms->N_RB_DL>>1)-3)) && (rb<((frame_parms->N_RB_DL>>1)+3)) && (l>=nsymb>>1) && (l<((nsymb>>1) + 4))) { + rb_alloc_ind = 0; + } + + //SSS + if (((subframe==0)||(subframe==5)) && (rb>=((frame_parms->N_RB_DL>>1)-3)) && (rb<((frame_parms->N_RB_DL>>1)+3)) && (l==sss_symb) ) { + rb_alloc_ind = 0; + } + + + if (frame_parms->frame_type == FDD) { + //PSS + if (((subframe==0)||(subframe==5)) && (rb>=((frame_parms->N_RB_DL>>1)-3)) && (rb<((frame_parms->N_RB_DL>>1)+3)) && (l==pss_symb) ) { + rb_alloc_ind = 0; + } + } + + if ((frame_parms->frame_type == TDD) && + (subframe==6)) { //TDD Subframe 6 + if ((rb>=((frame_parms->N_RB_DL>>1)-3)) && (rb<((frame_parms->N_RB_DL>>1)+3)) && (l==pss_symb) ) { + rb_alloc_ind = 0; + } + } + if (rb_alloc_ind==1) { *pmi_ext = (pmi>>((rb>>2)<<1))&3; memcpy(dl_ch0_ext,dl_ch0,12*sizeof(int)); @@ -3272,7 +3300,7 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF, rxF_ext+=10; } - nb_rb++; + } dl_ch0+=12; @@ -3281,7 +3309,9 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF, } else { // Odd number of RBs for (rb=0; rbN_RB_DL>>1; rb++) { - // printf("dlch_ext %d\n",dl_ch0_ext-&dl_ch_estimates_ext[aarx][0]); +#ifdef DEBUG_DLSCH_DEMOD + printf("dlch_ext %d\n",dl_ch0_ext-&dl_ch_estimates_ext[aarx][0]); +#endif skip_half=0; if (rb < 32) @@ -3295,6 +3325,8 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF, else rb_alloc_ind = 0; + if (rb_alloc_ind == 1) + nb_rb++; // PBCH if ((subframe==0) && (rb>((frame_parms->N_RB_DL>>1)-3)) && (rb<((frame_parms->N_RB_DL>>1)+3)) && (l>=(nsymb>>1)) && (l<((nsymb>>1) + 4))) { @@ -3352,55 +3384,68 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF, if (rb_alloc_ind==1) { - // printf("rb %d/symbol %d (skip_half %d)\n",rb,l,skip_half); - +#ifdef DEBUG_DLSCH_DEMOD + printf("rb %d/symbol %d (skip_half %d)\n",rb,l,skip_half); +#endif if (pilots==0) { - // printf("Extracting w/o pilots (symbol %d, rb %d, skip_half %d)\n",l,rb,skip_half); + // printf("Extracting w/o pilots (symbol %d, rb %d, skip_half %d)\n",l,rb,skip_half); if (skip_half==1) { memcpy(dl_ch0_ext,dl_ch0,6*sizeof(int)); - for (i=0; i<6; i++) - rxF_ext[i]=rxF[i]; - + for (i=0; i<6; i++) { + rxF_ext[i]=rxF[i]; +#ifdef DEBUG_DLSCH_DEMOD + printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[i],*(1+(short*)&rxF_ext[i])); +#endif + } dl_ch0_ext+=6; rxF_ext+=6; } else if (skip_half==2) { memcpy(dl_ch0_ext,dl_ch0+6,6*sizeof(int)); - for (i=0; i<6; i++) + for (i=0; i<6; i++) { rxF_ext[i]=rxF[(i+6)]; - +#ifdef DEBUG_DLSCH_DEMOD + printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[i],*(1+(short*)&rxF_ext[i])); +#endif + } dl_ch0_ext+=6; rxF_ext+=6; } else { memcpy(dl_ch0_ext,dl_ch0,12*sizeof(int)); - for (i=0; i<12; i++) + for (i=0; i<12; i++) { rxF_ext[i]=rxF[i]; - +#ifdef DEBUG_DLSCH_DEMOD + printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[i],*(1+(short*)&rxF_ext[i])); +#endif + } dl_ch0_ext+=12; rxF_ext+=12; } } else { - // printf("Extracting with pilots (symbol %d, rb %d, skip_half %d)\n",l,rb,skip_half); + // printf("Extracting with pilots (symbol %d, rb %d, skip_half %d)\n",l,rb,skip_half); j=0; if (skip_half==1) { for (i=0; i<6; i++) { if (i!=((frame_parms->nushift+poffset)%6)) { rxF_ext[j]=rxF[i]; - // printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j])); +#ifdef DEBUG_DLSCH_DEMOD + printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j])); +#endif dl_ch0_ext[j++]=dl_ch0[i]; } } dl_ch0_ext+=5; - rxF_ext+=5; } else if (skip_half==2) { for (i=0; i<6; i++) { if (i!=((frame_parms->nushift+poffset)%6)) { rxF_ext[j]=rxF[(i+6)]; - // printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j])); +#ifdef DEBUG_DLSCH_DEMOD + printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j])); +#endif dl_ch0_ext[j++]=dl_ch0[i+6]; } } @@ -3412,7 +3457,9 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF, if ((i!=(frame_parms->nushift+poffset)) && (i!=((frame_parms->nushift+poffset+6)%12))) { rxF_ext[j]=rxF[i]; - // printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j])); +#ifdef DEBUG_DLSCH_DEMOD + printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j])); +#endif dl_ch0_ext[j++]=dl_ch0[i]; } @@ -3422,8 +3469,6 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF, rxF_ext+=10; } } - - nb_rb++; } dl_ch0+=12; @@ -3444,6 +3489,8 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF, rb_alloc_ind = 0; + if (rb_alloc_ind == 1) + nb_rb++; // PBCH if ((subframe==0) && (rb>=((frame_parms->N_RB_DL>>1)-3)) && (rb<((frame_parms->N_RB_DL>>1)+3)) && (l>=(nsymb>>1)) && (l<((nsymb>>1) + 4))) { @@ -3473,7 +3520,9 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF, // printf("dlch_ext %d\n",dl_ch0_ext-&dl_ch_estimates_ext[aarx][0]); // printf("DC rb %d (%p)\n",rb,rxF); if (rb_alloc_ind==1) { - // printf("rb %d/symbol %d (skip_half %d)\n",rb,l,skip_half); +#ifdef DEBUG_DLSCH_DEMOD + printf("rb %d/symbol %d (skip_half %d)\n",rb,l,skip_half); +#endif if (pilots==0) { for (i=0; i<6; i++) { dl_ch0_ext[i]=dl_ch0[i]; @@ -3496,7 +3545,9 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF, if (i!=((frame_parms->nushift+poffset)%6)) { dl_ch0_ext[j]=dl_ch0[i]; rxF_ext[j++]=rxF[i]; - // printf("**extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[j-1],*(1+(short*)&rxF_ext[j-1])); +#ifdef DEBUG_DLSCH_DEMOD + printf("**extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[j-1],*(1+(short*)&rxF_ext[j-1])); +#endif } } @@ -3506,7 +3557,9 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF, if (i!=((frame_parms->nushift+6+poffset)%12)) { dl_ch0_ext[j]=dl_ch0[i]; rxF_ext[j++]=rxF[(1+i-6)]; - // printf("**extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[j-1],*(1+(short*)&rxF_ext[j-1])); +#ifdef DEBUG_DLSCH_DEMOD + printf("**extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[j-1],*(1+(short*)&rxF_ext[j-1])); +#endif } } @@ -3514,7 +3567,6 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF, rxF_ext+=10; } // symbol_mod==0 - nb_rb++; } // rballoc==1 else { rxF = &rxdataF[aarx][((symbol*(frame_parms->ofdm_symbol_size)))]; @@ -3540,7 +3592,8 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF, else rb_alloc_ind = 0; - + if (rb_alloc_ind == 1) + nb_rb++; // PBCH if ((subframe==0) && (rb>((frame_parms->N_RB_DL>>1)-3)) && (rb<((frame_parms->N_RB_DL>>1)+3)) && (l>=nsymb>>1) && (l<((nsymb>>1) + 4))) { @@ -3590,7 +3643,9 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF, } if (rb_alloc_ind==1) { - // printf("rb %d/symbol %d (skip_half %d)\n",rb,l,skip_half); +#ifdef DEBUG_DLSCH_DEMOD + printf("rb %d/symbol %d (skip_half %d)\n",rb,l,skip_half); +#endif /* printf("rb %d\n",rb); for (i=0;i<12;i++) @@ -3598,43 +3653,54 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF, printf("\n"); */ if (pilots==0) { - // printf("Extracting w/o pilots (symbol %d, rb %d, skip_half %d)\n",l,rb,skip_half); + // printf("Extracting w/o pilots (symbol %d, rb %d, skip_half %d)\n",l,rb,skip_half); if (skip_half==1) { memcpy(dl_ch0_ext,dl_ch0,6*sizeof(int)); - for (i=0; i<6; i++) + for (i=0; i<6; i++) { rxF_ext[i]=rxF[i]; - +#ifdef DEBUG_DLSCH_DEMOD + printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[i],*(1+(short*)&rxF_ext[i])); +#endif + } dl_ch0_ext+=6; rxF_ext+=6; } else if (skip_half==2) { memcpy(dl_ch0_ext,dl_ch0+6,6*sizeof(int)); - for (i=0; i<6; i++) + for (i=0; i<6; i++) { rxF_ext[i]=rxF[(i+6)]; - +#ifdef DEBUG_DLSCH_DEMOD + printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[i],*(1+(short*)&rxF_ext[i])); +#endif + } dl_ch0_ext+=6; rxF_ext+=6; } else { memcpy(dl_ch0_ext,dl_ch0,12*sizeof(int)); - for (i=0; i<12; i++) + for (i=0; i<12; i++) { rxF_ext[i]=rxF[i]; - +#ifdef DEBUG_DLSCH_DEMOD + printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[i],*(1+(short*)&rxF_ext[i])); +#endif + } dl_ch0_ext+=12; rxF_ext+=12; } } else { - // printf("Extracting with pilots (symbol %d, rb %d, skip_half %d)\n",l,rb,skip_half); + // printf("Extracting with pilots (symbol %d, rb %d, skip_half %d)\n",l,rb,skip_half); j=0; if (skip_half==1) { for (i=0; i<6; i++) { if (i!=((frame_parms->nushift+poffset)%6)) { rxF_ext[j]=rxF[i]; - // printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j])); +#ifdef DEBUG_DLSCH_DEMOD + printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j])); +#endif dl_ch0_ext[j++]=dl_ch0[i]; } } @@ -3645,7 +3711,9 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF, for (i=0; i<6; i++) { if (i!=((frame_parms->nushift+poffset)%6)) { rxF_ext[j]=rxF[(i+6)]; - // printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j])); +#ifdef DEBUG_DLSCH_DEMOD + printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j])); +#endif dl_ch0_ext[j++]=dl_ch0[i+6]; } } @@ -3657,7 +3725,9 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF, if ((i!=(frame_parms->nushift+poffset)) && (i!=((frame_parms->nushift+poffset+6)%12))) { rxF_ext[j]=rxF[i]; - // printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j])); +#ifdef DEBUG_DLSCH_DEMOD + printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j])); +#endif dl_ch0_ext[j++]=dl_ch0[i]; } } @@ -3666,8 +3736,6 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF, rxF_ext+=10; } } // pilots=0 - - nb_rb++; } dl_ch0+=12; @@ -4126,7 +4194,7 @@ void dump_dlsch2(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint16_t coded_bits_per #endif #ifdef DEBUG_DLSCH_DEMOD - +/* void print_bytes(char *s,__m128i *x) { @@ -4164,5 +4232,5 @@ void print_ints(char *s,__m128i *x) printf("%s : %d,%d,%d,%d\n",s, tempb[0],tempb[1],tempb[2],tempb[3]); -} +}*/ #endif From 83023e4ef5e71803a5f4276b5ade865a3c1201ad Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Mon, 12 Oct 2015 17:15:42 +0200 Subject: [PATCH 02/85] fixed bugs in autotest framework --- cmake_targets/autotests/README.txt | 224 +++++++++++- .../autotests/run_exec_autotests.bash | 344 ++++++++++++++---- cmake_targets/tools/build_helper | 3 +- 3 files changed, 481 insertions(+), 90 deletions(-) diff --git a/cmake_targets/autotests/README.txt b/cmake_targets/autotests/README.txt index 24f3a71c8d..51f94d2066 100644 --- a/cmake_targets/autotests/README.txt +++ b/cmake_targets/autotests/README.txt @@ -5,25 +5,206 @@ Obj.# Case# Test# Description 01 pre-commit test case 01 01 Build OAI -01 01 00 Check Makefiles and -01 01 01 Build oaisim Rel8 -01 01 02 Build oaisim Rel8 + network device driver(nasmesh_fix) -01 01 03 Build lte-softmode Rel8 -01 01 04 Build dlsim Rel8 -01 01 05 Build ulsim Rel8 -01 01 06 Build oaisim Rel10 -01 01 07 Build oaisim Rel8 with cellular RRC for eNB -01 01 08 Build oaisim Rel8 with cellular RRC for UE -01 01 09 "commented test in targets/TEST/OAI/case01.py" -01 01 10 "commented test in targets/TEST/OAI/case01.py" -01 01 11 "commented test in targets/TEST/OAI/case01.py" -01 01 12 "commented test in targets/TEST/OAI/case01.py" -01 01 13 Build network device driver(oai_nw_drv type ethernet) -01 01 14 Build oaisim Rel8 with RRC lite (new cellular+ITTI) + RAL (802.21) -01 01 15 Build oaisim Rel10 with RRC lite (new cellular+ITTI) + RAL (802.21) +01 01 01 Build oaisim.Rel8 +01 01 02 Build oaisim.Rel8 + network device driver(nasmesh_fix) +01 01 03 Build (lte-softmodem.Rel8.EXMIMO + lte-softmodem.Rel10.EXMIMO + lte-softmodem.Rel10.USRP) +01 01 04 Build (dlsim.Rel10 + ulsim.Rel10 + pucchsim.Rel10 + prachsim.Rel10 + pdcchsim.Rel10 + pbchsim.Rel10 + mbmssim.Rel10 + secu_knas_encrypt_eia1.Rel10 secu_kenb.Rel10 aes128_ctr_encrypt.Rel10 aes128_ctr_decrypt.Rel10 secu_knas_encrypt_eea2.Rel10 + secu_knas.Rel10 secu_knas_encrypt_eea1.Rel10 kdf.Rel10 aes128_cmac_encrypt.Rel10 secu_knas_encrypt_eia2.Rel10) +01 01 06 Build oaisim.Rel8 + ITTI +01 01 07 Build oaisim.Rel10 +01 01 08 Build oaisim.Rel10 + ITTI +01 01 20 Build Nasmesh +01 01 30 Build RRH Gateway + + +01 02 Run OAISIM Rel10 (TDD + 5MHz + Transmission mode 1), and check the operation +01 02 00 Run OAISIM Rel10 TDD, 1 eNB + 1 UE (5 MHz) and search for errors, segmentation fault or exit +01 02 01 Run OAISIM Rel10 TDD, 1 eNB + 1 UE (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit +01 02 02 Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (5 MHz) and search for errors, segmentation fault or exit +01 02 03 Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit +01 02 04 Run OAI Rel10 TDD, 1 eNB + 1 UE (5 MHz) without abstraction mode, send ping from from eNB to UE, and check that there is no packet losses +01 02 05 Run OAI Rel10 TDD, 1 eNB + 1 UE (5 MHz) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check that there is no packet losses + +01 03 Run OAISIM Rel10 (FDD + 5MHz + Tranmission mode 1), and check the operation +01 03 00 Run OAISIM Rel10 FDD, 1 eNB + 1 UE (5 MHz) and search for errors, segmentation fault or exit +01 03 01 Run OAISIM Rel10 FDD, 1 eNB + 1 UE (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit +01 03 02 Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (5 MHz) and search for errors, segmentation fault or exit +01 03 03 Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit +01 03 04 Run OAI Rel10 FDD, 1 eNB + 1 UE (5 MHz) without abstraction mode, send ping from from eNB to UE, and check that there is no packet losses +01 03 05 Run OAI Rel10 FDD, 1 eNB + 1 UE (5 MHz) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check that there is no packet losses + +01 04 Run OAISIM Rel10 (TDD + 10MHz + Tranmission mode 1), and check the operation +01 04 00 Run OAISIM Rel10 TDD, 1 eNB + 1 UE (10 MHz) and search for errors, segmentation fault or exit +01 04 01 Run OAISIM Rel10 TDD, 1 eNB + 1 UE (10 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit +01 04 02 Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (10 MHz) and search for errors, segmentation fault or exit +01 04 03 Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (10 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit +01 04 04 Run OAI Rel10 TDD, 1 eNB + 1 UE (10 MHz) without abstraction mode, send ping from from eNB to UE, and check that there is no packet losses +01 04 05 Run OAI Rel10 TDD, 1 eNB + 1 UE (10 MHz) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check that there is no packet losses + +01 05 Run OAISIM Rel10 (FDD + 10MHz + Tranmission mode 1), and check the operation +01 05 00 Run OAISIM Rel10 FDD, 1 eNB + 1 UE (10 MHz) and search for errors, segmentation fault or exit +01 05 01 Run OAISIM Rel10 FDD, 1 eNB + 1 UE (10 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit +01 05 02 Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (10 MHz) and search for errors, segmentation fault or exit +01 05 03 Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (10 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit +01 05 04 Run OAI Rel10 FDD, 1 eNB + 1 UE (10 MHz) without abstraction mode, send ping from from eNB to UE, and check that there is no packet losses +01 05 05 Run OAI Rel10 FDD, 1 eNB + 1 UE (10 MHz) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check that there is no packet losses + +01 06 Run OAISIM Rel10 (TDD + 20MHz + Tranmission mode 1), and check the operation +01 06 00 Run OAISIM Rel10 TDD, 1 eNB + 1 UE (20MHz) and search for errors, segmentation fault or exit +01 06 01 Run OAISIM Rel10 TDD, 1 eNB + 1 UE (20MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit +01 06 02 Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (20MHz) and search for errors, segmentation fault or exit +01 06 03 Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (20MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit +01 06 04 Run OAI Rel10 TDD, 1 eNB + 1 UE (20 MHz) without abstraction mode, send ping from from eNB to UE, and check that there is no packet losses +01 06 05 Run OAI Rel10 TDD, 1 eNB + 1 UE (20 MHz) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check that there is no packet losses + +01 07 Run OAISIM Rel10 (FDD + 20MHz + Tranmission mode 1), and check the operation +01 07 00 Run OAISIM Rel10 FDD, 1 eNB + 1 UE (20MHz) and search for errors, segmentation fault or exit +01 07 01 Run OAISIM Rel10 FDD, 1 eNB + 1 UE (20MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit +01 07 02 Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (20MHz) and search for errors, segmentation fault or exit +01 07 03 Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (20MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit +01 07 04 Run OAI Rel10 FDD, 1 eNB + 1 UE (20 MHz) without abstraction mode, send ping from from eNB to UE, and check that there is no packet losses +01 07 05 Run OAI Rel10 FDD, 1 eNB + 1 UE (20 MHz) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check that there is no packet losses + +01 08 Run OAISIM Rel10 (TDD + 5 MHz + Tranmission mode 1), and check the operation +01 08 00 Run OAISIM Rel10 TDD, 2 eNB + 1 UE per eNB (5 MHz) and search for errors, segmentation fault or exit +01 08 01 Run OAISIM Rel10 TDD, 2 eNB + 1 UE per eNB (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit +01 08 02 Run OAISIM Rel10 TDD, 2 eNB + 3 UEs per eNB (5 MHz) and search for errors, segmentation fault or exit +01 08 03 Run OAISIM Rel10 TDD, 2 eNB + 3 UEs per eNB (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit +01 08 04 Run OAI Rel10 TDD, 2 eNB + 1 UE per eNB (5 MHz) without abstraction mode, send ping from from eNB to UE, and check there is no packet losses +01 08 05 Run OAI Rel10 TDD, 2 eNB + 1 UE per eNB (5 MHz) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check there is no packet losses + +01 09 Run OAISIM Rel10 (FDD + 5 MHz + Tranmission mode 1), and check the operation +01 09 00 Run OAISIM Rel10 FDD, 2 eNB + 1 UE per eNB (5 MHz) and search for errors, segmentation fault or exit +01 09 01 Run OAISIM Rel10 FDD, 2 eNB + 1 UE per eNB (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit +01 09 02 Run OAISIM Rel10 FDD, 2 eNB + 3 UEs per eNB (5 MHz) and search for errors, segmentation fault or exit +01 09 03 Run OAISIM Rel10 FDD, 2 eNB + 3 UEs per eNB (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit +01 09 04 Run OAI Rel10 FDD, 2 eNB + 1 UE per eNB (5 MHz) without abstraction mode, send ping from from eNB to UE, and check there is no packet losses +01 09 05 Run OAI Rel10 FDD, 2 eNB + 1 UE per eNB (5 MHz) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check there is no packet losses + + +01 10 Run OAISIM Rel10 (TDD + 5MHz + Transmission mode 2), and check the operation +01 10 00 Run OAISIM Rel10 TDD, 1 eNB + 1 UE (5 MHz) and search for errors, segmentation fault or exit +01 10 01 Run OAISIM Rel10 TDD, 1 eNB + 1 UE (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit +01 10 02 Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (5 MHz) and search for errors, segmentation fault or exit +01 10 03 Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit +01 10 04 Run OAI Rel10 TDD, 1 eNB + 1 UE (5 MHz) without abstraction mode, send ping from from eNB to UE, and check that there is no packet losses +01 10 05 Run OAI Rel10 TDD, 1 eNB + 1 UE (5 MHz) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check that there is no packet losses + +01 11 Run OAISIM Rel10 (FDD + 5MHz + Tranmission mode 2), and check the operation +01 11 00 Run OAISIM Rel10 FDD, 1 eNB + 1 UE (5 MHz) and search for errors, segmentation fault or exit +01 11 01 Run OAISIM Rel10 FDD, 1 eNB + 1 UE (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit +01 11 02 Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (5 MHz) and search for errors, segmentation fault or exit +01 11 03 Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit +01 11 04 Run OAI Rel10 FDD, 1 eNB + 1 UE (5 MHz) without abstraction mode, send ping from from eNB to UE, and check that there is no packet losses +01 11 05 Run OAI Rel10 FDD, 1 eNB + 1 UE (5 MHz) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check that there is no packet losses + +01 12 Run OAISIM Rel10 (TDD + 10MHz + Tranmission mode 2), and check the operation +01 12 00 Run OAISIM Rel10 TDD, 1 eNB + 1 UE (10 MHz) and search for errors, segmentation fault or exit +01 12 01 Run OAISIM Rel10 TDD, 1 eNB + 1 UE (10 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit +01 12 02 Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (10 MHz) and search for errors, segmentation fault or exit +01 12 03 Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (10 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit +01 12 04 Run OAI Rel10 TDD, 1 eNB + 1 UE (10 MHz) without abstraction mode, send ping from from eNB to UE, and check that there is no packet losses +01 12 05 Run OAI Rel10 TDD, 1 eNB + 1 UE (10 MHz) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check that there is no packet losses + +01 13 Run OAISIM Rel10 (FDD + 10MHz + Tranmission mode 2), and check the operation +01 13 00 Run OAISIM Rel10 FDD, 1 eNB + 1 UE (10 MHz) and search for errors, segmentation fault or exit +01 13 01 Run OAISIM Rel10 FDD, 1 eNB + 1 UE (10 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit +01 13 02 Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (10 MHz) and search for errors, segmentation fault or exit +01 13 03 Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (10 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit +01 13 04 Run OAI Rel10 FDD, 1 eNB + 1 UE (10 MHz) without abstraction mode, send ping from from eNB to UE, and check that there is no packet losses +01 13 05 Run OAI Rel10 FDD, 1 eNB + 1 UE (10 MHz) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check that there is no packet losses + +01 14 Run OAISIM Rel10 (TDD + 20MHz + Tranmission mode 2), and check the operation +01 14 00 Run OAISIM Rel10 TDD, 1 eNB + 1 UE (20MHz) and search for errors, segmentation fault or exit +01 14 01 Run OAISIM Rel10 TDD, 1 eNB + 1 UE (20MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit +01 14 02 Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (20MHz) and search for errors, segmentation fault or exit +01 14 03 Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (20MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit +01 14 04 Run OAI Rel10 TDD, 1 eNB + 1 UE (20 MHz) without abstraction mode, send ping from from eNB to UE, and check that there is no packet losses +01 14 05 Run OAI Rel10 TDD, 1 eNB + 1 UE (20 MHz) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check that there is no packet losses + +01 15 Run OAISIM Rel10 (FDD + 20MHz + Tranmission mode 2), and check the operation +01 15 00 Run OAISIM Rel10 FDD, 1 eNB + 1 UE (20MHz) and search for errors, segmentation fault or exit +01 15 01 Run OAISIM Rel10 FDD, 1 eNB + 1 UE (20MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit +01 15 02 Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (20MHz) and search for errors, segmentation fault or exit +01 15 03 Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (20MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit +01 15 04 Run OAI Rel10 FDD, 1 eNB + 1 UE (20 MHz) without abstraction mode, send ping from from eNB to UE, and check that there is no packet losses +01 15 05 Run OAI Rel10 FDD, 1 eNB + 1 UE (20 MHz) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check that there is no packet losses + +01 16 Run OAISIM Rel10 (TDD + 5 MHz + Tranmission mode 2), and check the operation +01 16 00 Run OAISIM Rel10 TDD, 2 eNB + 1 UE per eNB (5 MHz) and search for errors, segmentation fault or exit +01 16 01 Run OAISIM Rel10 TDD, 2 eNB + 1 UE per eNB (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit +01 16 02 Run OAISIM Rel10 TDD, 2 eNB + 3 UEs per eNB (5 MHz) and search for errors, segmentation fault or exit +01 16 03 Run OAISIM Rel10 TDD, 2 eNB + 3 UEs per eNB (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit +01 16 04 Run OAI Rel10 TDD, 2 eNB + 1 UE per eNB (5 MHz) without abstraction mode, send ping from from eNB to UE, and check there is no packet losses +01 16 05 Run OAI Rel10 TDD, 2 eNB + 1 UE per eNB (5 MHz) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check there is no packet losses + +01 17 Run OAISIM Rel10 (FDD + 5 MHz + Tranmission mode 2), and check the operation +01 17 00 Run OAISIM Rel10 FDD, 2 eNB + 1 UE per eNB (5 MHz) and search for errors, segmentation fault or exit +01 17 01 Run OAISIM Rel10 FDD, 2 eNB + 1 UE per eNB (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit +01 17 02 Run OAISIM Rel10 FDD, 2 eNB + 3 UEs per eNB (5 MHz) and search for errors, segmentation fault or exit +01 17 03 Run OAISIM Rel10 FDD, 2 eNB + 3 UEs per eNB (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit +01 17 04 Run OAI Rel10 FDD, 2 eNB + 1 UE per eNB (5 MHz) without abstraction mode, send ping from from eNB to UE, and check there is no packet losses +01 17 05 Run OAI Rel10 FDD, 2 eNB + 1 UE per eNB (5 MHz) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check there is no packet losses + +01 18 Run OAISIM Rel10 (TDD + 5MHz + Transmission mode 5), and check the operation +01 18 00 Run OAISIM Rel10 TDD, 1 eNB + 1 UE (5 MHz) and search for errors, segmentation fault or exit +01 18 01 Run OAISIM Rel10 TDD, 1 eNB + 1 UE (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit +01 18 02 Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (5 MHz) and search for errors, segmentation fault or exit +01 18 03 Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit +01 18 04 Run OAI Rel10 TDD, 1 eNB + 1 UE (5 MHz) without abstraction mode, send ping from from eNB to UE, and check that there is no packet losses +01 18 05 Run OAI Rel10 TDD, 1 eNB + 1 UE (5 MHz) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check that there is no packet losses + +01 19 Run OAISIM Rel10 (FDD + 5MHz + Tranmission mode 5), and check the operation +01 19 00 Run OAISIM Rel10 FDD, 1 eNB + 1 UE (5 MHz) and search for errors, segmentation fault or exit +01 19 01 Run OAISIM Rel10 FDD, 1 eNB + 1 UE (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit +01 19 02 Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (5 MHz) and search for errors, segmentation fault or exit +01 19 03 Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit +01 19 04 Run OAI Rel10 FDD, 1 eNB + 1 UE (5 MHz) without abstraction mode, send ping from from eNB to UE, and check that there is no packet losses +01 19 05 Run OAI Rel10 FDD, 1 eNB + 1 UE (5 MHz) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check that there is no packet losses + + +01 26 Run OAISIM Rel10 (TDD + 5MHz + Transmission mode 6), and check the operation +01 26 00 Run OAISIM Rel10 TDD, 1 eNB + 1 UE (5 MHz) and search for errors, segmentation fault or exit +01 26 01 Run OAISIM Rel10 TDD, 1 eNB + 1 UE (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit +01 26 02 Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (5 MHz) and search for errors, segmentation fault or exit +01 26 03 Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit +01 26 04 Run OAI Rel10 TDD, 1 eNB + 1 UE (5 MHz) without abstraction mode, send ping from from eNB to UE, and check that there is no packet losses +01 26 05 Run OAI Rel10 TDD, 1 eNB + 1 UE (5 MHz) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check that there is no packet losses + +01 27 Run OAISIM Rel10 (FDD + 5MHz + Tranmission mode 6), and check the operation +01 27 00 Run OAISIM Rel10 FDD, 1 eNB + 1 UE (5 MHz) and search for errors, segmentation fault or exit +01 27 01 Run OAISIM Rel10 FDD, 1 eNB + 1 UE (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit +01 27 02 Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (5 MHz) and search for errors, segmentation fault or exit +01 27 03 Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit +01 27 04 Run OAI Rel10 FDD, 1 eNB + 1 UE (5 MHz) without abstraction mode, send ping from from eNB to UE, and check that there is no packet losses +01 27 05 Run OAI Rel10 FDD, 1 eNB + 1 UE (5 MHz) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check that there is no packet losses + + +01 50 Run PHY unitary secuirity tests +01 50 00 aes128_cmac_encrypt +01 50 01 aes128_ctr_decrypt +01 50 02 aes128_ctr_encrypt +01 50 03 secu_kenb +01 50 04 secu_knas +01 50 05 secu_knas_encrypt_eea1 +01 50 06 secu_knas_encrypt_eea2 +01 50 07 secu_knas_encrypt_eia1 +01 50 08 secu_knas_encrypt_eia2 +01 50 09 kdf + + + +01 51 Run PHY simulator tests +01 51 00 dlsim +01 51 00 ulsim +01 51 00 pucchsim +01 51 00 prachsim +01 51 00 pdcchsim +01 51 00 pbchsim +01 51 00 mbmssim + -01 02 Run OAI Rel8, and check the operation -01 02 00 Run OAI Rel8, and search for segmentation fault or exit 01 02 01 Run OAI Rel8, and search for execution errors 01 02 02 Run OAI Rel8 in abstraction mode and check that RRC proc is finished completely for the configured number of eNB and UE 01 02 03 Run OAI Rel8 in abstraction mode, send ping from from one eNB to each UE, and check that there is no packet losses @@ -48,3 +229,10 @@ Obj.# Case# Test# Description 05 Performance test case + +#TODO: Add test cases for 10,20 MHz +#TODO: Add test cases for TDD/FDD +#TODO: Test and compile seperately for Rel8/Rel10 +#TODO: Case03.py eMBMS test case + + diff --git a/cmake_targets/autotests/run_exec_autotests.bash b/cmake_targets/autotests/run_exec_autotests.bash index 9a2a86ed41..6c9ec4c366 100755 --- a/cmake_targets/autotests/run_exec_autotests.bash +++ b/cmake_targets/autotests/run_exec_autotests.bash @@ -11,8 +11,9 @@ source $OPENAIR_DIR/cmake_targets/tools/test_helper #SUDO="sudo -E " tdir=$OPENAIR_DIR/cmake_targets/autotests +rm -fr $tdir/bin $tdir/log mkdir -p $tdir/bin $tdir/log -results_file="$tdir/log/execution_autotests.xml" +results_file="$tdir/log/results_autotests.xml" updated=$(svn st -q $OPENAIR_DIR) if [ "$updated" != "" ] ; then @@ -21,6 +22,92 @@ fi cd $tdir +#\param $1 -> name of test case +#\param $2 -> name of compilation program +#\param $3 -> arguments for compilation program +#\param $4 -> name of pre-executable to install kernel modules, etc +#\param $5 -> arguments of pre-executable +#\param $6 -> name of executable +#\param $7 -> arguments for running the program +#\param $8 -> search expression +#\param $9 -> search expression which should NOT be found (for ex. segmentation fault) +#\param $10 -> number of runs +#\param $11 -> pre_compile program execution +#\param $12 -> class of the test case (compilation, execution) + +test_compile() { + + xUnit_start + test_case_name=$1 + log_dir=$tdir/log + log_file=$tdir/log/test.$1.txt + compile_prog=$2 + compile_args=$3 + pre_exec_file=$4 + pre_exec_args=$5 + exec_args=$7 + search_expr_array=("${!8}") + search_expr_negative=$9 + nruns=${10} + pre_compile_prog=${11} + class=${12} + build_dir=$tdir/$1/build + exec_file=$build_dir/$6 + + #Temporary log file where execution log is stored. + temp_exec_log=$log_dir/temp_log.txt + + + + #echo "log_dir = $log_dir" + #echo "log_file = $log_file" + #echo "exec_file = $exec_file" + #echo "exec_args = $exec_args" + #echo "search_expr = $search_expr" + #echo "pre_exec_file = $pre_exec_file" + #echo "nruns = $nruns" + echo "class = $class" + + compile_prog_array=() + read -a compile_prog_array <<<"$compile_prog" + + pre_compile_prog_array=() + readarray -t pre_compile_prog_array <<< "$pre_compile_prog" + for (( run_index=1; run_index <= $nruns; run_index++ )) + do + + for pre_compile_prog_array_index in "${pre_compile_prog_array[@]}" + do + + for compile_prog_array_index in "${compile_prog_array[@]}" + do + echo "Compiling test case $test_case_name.$compile_prog_array_index Log file = $log_file" + echo "" >> $log_file + rm -fr $build_dir + mkdir -p $build_dir + cd $build_dir + { + eval $pre_compile_prog_array_index + cmake .. + #rm -fv $exec_file + make -j`nproc` $compile_prog_array_index $compile_args + }>> $log_file 2>&1 + echo "" >> $log_file 2>&1 + if [ "$class" == "compilation" ]; then + if [ -s "$compile_prog_array_index" ] ; then + echo_success "$test_case_name $compile_prog_array_index compiled" + xUnit_success "compilation" "$test_case_name.$compile_prog_array_index" "PASS" "$run_index" + else + echo_error "$test_case_name $exec_prog compilation failed" + xUnit_fail "compilation" "$test_case_name.$compile_prog_array_index" "FAIL" "$run_index" + fi + fi + done # End of for loop compile_prog_array + done # End of for loop (pre_compile_prog_array_index) + done #End of for loop (run_index) +} + + #\param $1 -> name of test case #\param $2 -> name of compilation program @@ -32,10 +119,12 @@ cd $tdir #\param $8 -> search expression #\param $9 -> search expression which should NOT be found (for ex. segmentation fault) #\param $10 -> number of runs +#\param $11 -> pre_compile program execution +#\param $12 -> class of the test case (compilation, execution) test_compile_and_run() { xUnit_start - test_case_name=$1.$2 + test_case_name=$1 log_dir=$tdir/log log_file=$tdir/log/test.$1.txt compile_prog=$2 @@ -46,101 +135,128 @@ test_compile_and_run() { search_expr_array=("${!8}") search_expr_negative=$9 nruns=${10} + pre_compile_prog=${11} + class=${12} build_dir=$tdir/$1/build exec_file=$build_dir/$6 #Temporary log file where execution log is stored. temp_exec_log=$log_dir/temp_log.txt - echo "Compiling test case $test_case_name. Log file = $log_file" + + - rm -fr $build_dir - mkdir -p $build_dir #echo "log_dir = $log_dir" #echo "log_file = $log_file" #echo "exec_file = $exec_file" - #echo "args = $args" + #echo "exec_args = $exec_args" #echo "search_expr = $search_expr" #echo "pre_exec_file = $pre_exec_file" #echo "nruns = $nruns" + echo "class = $class" + compile_prog_array=() + read -a compile_prog_array <<<"$compile_prog" + + for search_expr in "${compile_prog_array[@]}" + do + echo "Compiling test case $test_case_name.$search_expr Log file = $log_file" + echo "" >> $log_file + + rm -fr $build_dir + mkdir -p $build_dir + + cd $build_dir + { + eval $pre_compile_prog + cmake .. + #rm -fv $exec_file + make -j`nproc` $search_expr $compile_args + }>> $log_file 2>&1 + echo "" >> $log_file 2>&1 + if [ "$class" == "compilation" ]; then + echo "compilation 1" + #TODO: The number of runs for compilation test cases is always 1 + if [ -s "$search_expr" ] ; then + echo "compilation 1 pass" + echo_success "$test_case_name $search_expr compiled" + xUnit_success "compilation" "$test_name.$search_expr" "PASS" 1 + else + echo "compilation 1 fail" + echo_error "$test_case_name $exec_prog compilation failed" + xUnit_fail "compilation" "$test_name.$search_expr" "FAIL" 1 + fi + fi + done + + #process the test case if it is that of execution + if [ "$class" == "execution" ]; then + for (( run_index=1; run_index <= $nruns; run_index++ )) + do + + echo "Executing test case $test_case_name, Run Index = $run_index, Log file = $log_file" + + echo "-----------------------------------------------------------------------------" >> $log_file 2>&1 + echo "" >> $log_file 2>&1 + if [ -n "$pre_exec_file" ]; then + { eval "source $pre_exec_file $pre_exec_args"; } >> $log_file 2>&1 + fi - echo "" > $log_file - cd $build_dir - { - cmake .. - #rm -fv $exec_file - make -j`nproc` $compile_prog - }>> $log_file 2>&1 - echo "" >> $log_file 2>&1 + { eval "$exec_file $exec_args" ;} > $temp_exec_log 2>&1 - for (( run_index=1; run_index <= $nruns; run_index++ )) - do - - echo "Executing test case $test_case_name, Run Index = $run_index, Log file = $log_file" - - echo "-----------------------------------------------------------------------------" >> $log_file 2>&1 - echo "" >> $log_file 2>&1 - - if [ -n "$pre_exec_file" ]; then - { source $pre_exec_file $pre_exec_args; } >> $log_file 2>&1 - fi - - { $exec_file $exec_args ;} > $temp_exec_log 2>&1 - - cat $temp_exec_log >> $log_file 2>&1 - echo "" >> $log_file 2>&1 + cat $temp_exec_log >> $log_file 2>&1 + echo "" >> $log_file 2>&1 - result=1 - for search_expr in "${search_expr_array[@]}" - do + result=1 + for search_expr in "${search_expr_array[@]}" + do - search_result=`grep -E "$search_expr" $temp_exec_log` + search_result=`grep -E "$search_expr" $temp_exec_log` #echo "search_expr = $search_expr" #echo "search_result = $search_result" - if [ -z "$search_result" ]; then - let "result = result & 0" - else - let "result = result & 1" + if [ -z "$search_result" ]; then + let "result = result & 0" + else + let "result = result & 1" + fi + done + + #echo "result = $result" + + test_case_result="" + if [ "$result" -eq "0" ]; then + test_case_result="FAIL" fi - done - #echo "result = $result" + if [ "$result" -eq "1" ]; then + test_case_result="PASS" + fi - test_case_result="" - if [ "$result" -eq "0" ]; then - test_case_result="FAIL" - fi + #If we find a negative search result then there is crash of program and test case is failed even if above condition is true - if [ "$result" -eq "1" ]; then - test_case_result="PASS" - fi - - #If we find a negative search result then there is crash of program and test case is failed even if above condition is true - - search_result=`grep -iE "$search_expr_negative" $temp_exec_log` - if [ -n "$search_result" ]; then - test_case_result="FAIL" - fi + search_result=`grep -iE "$search_expr_negative" $temp_exec_log` + if [ -n "$search_result" ]; then + test_case_result="FAIL" + fi - if [ "$test_case_result" == "FAIL" ]; then - echo_error "execution $test_case_name FAIL $run_index" - xUnit_fail "execution" "$test_case_name" "FAIL" "$run_index" - fi + if [ "$test_case_result" == "FAIL" ]; then + echo_error "execution $test_case_name.$compile_prog FAIL $run_index" + xUnit_fail "execution" "$test_case_name.$compile_prog" "FAIL" "$run_index" + fi - if [ "$test_case_result" == "PASS" ]; then - echo_success "execution $test_case_name PASS $run_index" - xUnit_success "execution" "$test_case_name" "PASS" "$run_index" - fi - -# End of for loop - done + if [ "$test_case_result" == "PASS" ]; then + echo_success "execution $test_case_name.$compile_prog PASS $run_index" + xUnit_success "execution" "$test_case_name.$compile_prog" "PASS" "$run_index" + fi + # End of for loop + done + fi } dbin=$OPENAIR_DIR/cmake_targets/autotests/bin @@ -169,6 +285,88 @@ else fi } +main () { + +xml_conf="$OPENAIR_DIR/cmake_targets/autotests/test_case_list.xml" + +test_case_list=`xmlstarlet sel -T -t -m /xml/testCaseList/testCase -s D:N:- "@id" -v "@id" -n $xml_conf` + +echo "test_case_list = $test_case_list" + +readarray -t test_case_array <<<"$test_case_list" + +for search_expr in "${test_case_array[@]}" + do + name=$search_expr + class=`xmlstarlet sel -t -v "/xml/testCaseList/testCase[@id='$search_expr']/class" $xml_conf` + desc=`xmlstarlet sel -t -v "/xml/testCaseList/testCase[@id='$search_expr']/desc" $xml_conf` + pre_compile_prog=`xmlstarlet sel -t -v "/xml/testCaseList/testCase[@id='$search_expr']/pre_compile_prog" $xml_conf` + compile_prog=`xmlstarlet sel -t -v "/xml/testCaseList/testCase[@id='$search_expr']/compile_prog" $xml_conf` + compile_prog_args=`xmlstarlet sel -t -v "/xml/testCaseList/testCase[@id='$search_expr']/compile_prog_args" $xml_conf` + pre_exec=`xmlstarlet sel -t -v "/xml/testCaseList/testCase[@id='$search_expr']/pre_exec" $xml_conf` + pre_exec_args=`xmlstarlet sel -t -v "/xml/testCaseList/testCase[@id='$search_expr']/pre_exec_args" $xml_conf` + main_exec=`xmlstarlet sel -t -v "/xml/testCaseList/testCase[@id='$search_expr']/main_exec" $xml_conf` + main_exec_args=`xmlstarlet sel -t -v "/xml/testCaseList/testCase[@id='$search_expr']/main_exec_args" $xml_conf` + search_expr_true=`xmlstarlet sel -t -v "/xml/testCaseList/testCase[@id='$search_expr']/search_expr_true" $xml_conf` + search_expr_false=`xmlstarlet sel -t -v "/xml/testCaseList/testCase[@id='$search_expr']/search_expr_false" $xml_conf` + nruns=`xmlstarlet sel -t -v "/xml/testCaseList/testCase[@id='$search_expr']/nruns" $xml_conf` + + echo "class = $class" + echo "name = $name" + echo "Description = $desc" + echo "pre_compile_prog = $pre_compile_prog" + echo "compile_prog = $compile_prog" + echo "pre_exec = $pre_exec" + echo "pre_exec_args = $pre_exec_args" + echo "main_exec = $main_exec" + echo "main_exec_args = $main_exec_args" + echo "search_expr_true = $search_expr_true" + echo "search_expr_false = $search_expr_false" + echo "nruns = $nruns" + + #eval $pre_exec + + search_array_true=() + + IFS=\" #set the shell's field separator + set -f #don't try to glob + #set -- $search_expr_true #split on $IFS + for i in $search_expr_true + do echo "i = $i" + if [ -n "$i" ] && [ "$i" != " " ]; then + search_array_true+=("$i") + #echo "inside i = \"$i\" " + fi + done + unset IFS + + #echo "arg1 = ${search_array_true[0]}" + #echo " arg2 = ${search_array_true[1]}" + if [ "$class" == "compilation" ]; then + test_compile "$name" "$compile_prog" "$compile_prog_args" "$pre_exec" "$pre_exec_args" "$main_exec" "$main_exec_args" "search_array_true[@]" "$search_expr_false" "$nruns" "$pre_compile_prog" "$class" + elif "$class" == "execution" ]; then + test_compile_and_run "$name" "$compile_prog" "$compile_prog_args" "$pre_exec" "$pre_exec_args" "$main_exec" "$main_exec_args" "search_array_true[@]" "$search_expr_false" "$nruns" "$pre_compile_prog" "$class" + else + echo "Unexpected class of test case...Exiting...." + fi + + done + + + +} + +main + +xUnit_write "$results_file" + +echo "Test Results are written to $results_file" + +exit + + + + #$1 -> name of test case #$2 -> name of compilation program #$3 -> arguments for compilation program @@ -179,19 +377,22 @@ fi #$8 -> search expression ARRAY which needs to be found #$9 -> search expression which should NOT be found (for ex. segmentation fault) #$10 -> number of runs +#$11 -> pre compile program + + #oaisim tests search_array=("Received RRCConnectionReconfigurationComplete from UE 0") -test_compile_and_run 010200 "oaisim_nos1" "" "$OPENAIR_DIR/cmake_targets/tools/init_nas_nos1" "" "oaisim_nos1" " -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -b1 -u1 -n100" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3 +test_compile_and_run 010200 "oaisim_nos1" "" "$OPENAIR_DIR/cmake_targets/tools/init_nas_nos1" "" "oaisim_nos1" " -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3 search_array=("Received RRCConnectionReconfigurationComplete from UE 0") -test_compile_and_run 010201 "oaisim_nos1" "" "$OPENAIR_DIR/cmake_targets/tools/init_nas_nos1" "" "oaisim_nos1" " -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -b1 -u1 -a -n100" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3 +test_compile_and_run 010201 "oaisim_nos1" "" "$OPENAIR_DIR/cmake_targets/tools/init_nas_nos1" "" "oaisim_nos1" " -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -a -n100" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3 search_array=("Received RRCConnectionReconfigurationComplete from UE 0" "Received RRCConnectionReconfigurationComplete from UE 1" "Received RRCConnectionReconfigurationComplete from UE 2") -test_compile_and_run 010202 "oaisim_nos1" "" "$OPENAIR_DIR/cmake_targets/tools/init_nas_nos1" "" "oaisim_nos1" " -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -b1 -u3 -n100" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3 +test_compile_and_run 010202 "oaisim_nos1" "" "$OPENAIR_DIR/cmake_targets/tools/init_nas_nos1" "" "oaisim_nos1" " -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3 search_array=("Received RRCConnectionReconfigurationComplete from UE 0" "Received RRCConnectionReconfigurationComplete from UE 1" "Received RRCConnectionReconfigurationComplete from UE 2") -test_compile_and_run 010203 "oaisim_nos1" "" "$OPENAIR_DIR/cmake_targets/tools/init_nas_nos1" "" "oaisim_nos1" " -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -b1 -u3 -a -n100" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3 +test_compile_and_run 010203 "oaisim_nos1" "" "$OPENAIR_DIR/cmake_targets/tools/init_nas_nos1" "" "oaisim_nos1" " -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -a -n100" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3 #PHY unitary simulations for secuirity tests search_array=("finished with 0 errors") @@ -224,8 +425,7 @@ test_compile_and_run 010308 "test_secu_knas_encrypt_eia2" "" "" "" "test_secu_kn search_array=("finished with 0 errors") test_compile_and_run 010309 "test_kdf" "" "" "" "test_kdf" " --verbose" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3 -#TODO: Add test cases for 10,20 MHz -#TODO: Test and compile seperately for Rel8/Rel10 + #test_compile_and_run 0200 "oaisim_nos1" "" "$OPENAIR_DIR/cmake_targets/tools/init_nas_nos1" "" "oaisim_nos1" " -O /home/calisson/rohit/oai_snav/taets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -b1 -u1 -a " "RRC_CONN" 3 @@ -240,3 +440,5 @@ xUnit_write "$results_file" echo "Test Results are written to $results_file" + + diff --git a/cmake_targets/tools/build_helper b/cmake_targets/tools/build_helper index 4968a42016..46997c2773 100755 --- a/cmake_targets/tools/build_helper +++ b/cmake_targets/tools/build_helper @@ -254,7 +254,8 @@ check_install_oai_software() { openssh-server \ openssl \ python \ - subversion + subversion \ + xmlstarlet $SUDO update-alternatives --set liblapack.so /usr/lib/atlas-base/atlas/liblapack.so if [ `lsb_release -rs` = '12.04' ] ; then install_nettle_from_source From cb0892100ef9a804812cc408dde2b31dfde896d5 Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Mon, 12 Oct 2015 17:27:08 +0200 Subject: [PATCH 03/85] added a list of test cases in xml file --- cmake_targets/autotests/test_case_list.xml | 162 +++++++++++++++++++++ 1 file changed, 162 insertions(+) create mode 100644 cmake_targets/autotests/test_case_list.xml diff --git a/cmake_targets/autotests/test_case_list.xml b/cmake_targets/autotests/test_case_list.xml new file mode 100644 index 0000000000..5186d6d5e5 --- /dev/null +++ b/cmake_targets/autotests/test_case_list.xml @@ -0,0 +1,162 @@ + + + + + compilation + Build oaisim.Rel8 + + oaisim_nos1 + + + + + + + + 2 + + + + + + compilation + Build oaisim.Rel8 + network device driver(nasmesh_fix) + + oaisim_nos1 + + + + + + + + 1 + + + + + + compilation + Build lte-softmodem EXMIMO.Rel8 + EXMIMO.Rel10 + USRP.Rel10 + cp -vf ../CMakeLists.txt.Rel8 ../CMakeLists.txt + cp -vf ../CMakeLists.txt.Rel10 ../CMakeLists.txt + cp -vf ../CMakeLists.txt.USRP ../CMakeLists.txt + lte-softmodem + + + + + + + + 1 + + + + + + compilation + Build phy unitary simulators + secuirity unitary tests + + dlsim ulsim pucchsim prachsim pdcchsim pbchsim mbmssim test_secu_knas_encrypt_eia1 test_secu_kenb test_aes128_ctr_encrypt test_aes128_ctr_decrypt test_secu_knas_encrypt_eea2 test_secu_knas test_secu_knas_encrypt_eea1 test_kdf test_aes128_cmac_encrypt test_secu_knas_encrypt_eia2 + + + + + + + + 1 + + + + + + compilation + Build oaisim.Rel8 + ITTI + + oaisim + + + + + + + + 1 + + + + + + compilation + Build oaisim_nos1.Rel10 + + oaisim_nos1 + + + + + + + + 1 + + + + + + compilation + Build oaisim.Rel10 + ITTI + + oaisim + + + + + + + + 1 + + + + + + compilation + Build Nasmesh + + nasmesh + + + + + + + + 1 + + + + + + compilation + Build RRH Gateway + + rrh_gw + + + + + + + + 1 + + + + + + + + From 30631888046f3951ba2635067c326af6067df5b3 Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Mon, 12 Oct 2015 19:09:18 +0200 Subject: [PATCH 04/85] fixed bugs in autotests script --- .../autotests/run_exec_autotests.bash | 45 ++++++++++++++++--- cmake_targets/autotests/test_case_list.xml | 6 ++- cmake_targets/tools/test_helper | 6 +-- 3 files changed, 47 insertions(+), 10 deletions(-) diff --git a/cmake_targets/autotests/run_exec_autotests.bash b/cmake_targets/autotests/run_exec_autotests.bash index 6c9ec4c366..edf2040f0e 100755 --- a/cmake_targets/autotests/run_exec_autotests.bash +++ b/cmake_targets/autotests/run_exec_autotests.bash @@ -34,7 +34,7 @@ cd $tdir #\param $10 -> number of runs #\param $11 -> pre_compile program execution #\param $12 -> class of the test case (compilation, execution) - +#\param $13 -> output of compilation program that needs to be found for test case to pass test_compile() { xUnit_start @@ -51,6 +51,7 @@ test_compile() { nruns=${10} pre_compile_prog=${11} class=${12} + compile_prog_out=${13} build_dir=$tdir/$1/build exec_file=$build_dir/$6 @@ -94,7 +95,7 @@ test_compile() { }>> $log_file 2>&1 echo "" >> $log_file 2>&1 if [ "$class" == "compilation" ]; then - if [ -s "$compile_prog_array_index" ] ; then + if [ -s "$compile_prog_array_index" ] || [ -s "$compile_prog_out" ] ; then echo_success "$test_case_name $compile_prog_array_index compiled" xUnit_success "compilation" "$test_case_name.$compile_prog_array_index" "PASS" "$run_index" else @@ -284,12 +285,43 @@ else fi fi } +print_help() { + echo_info ' +This program runs automated test case system for OpenAirInterface +You should have ubuntu 14.xx, updated, and the Linux kernel >= 3.14 +Options +-h | --help + This help +-g | --run-group + Run test cases in a group. For example, ./run_exec_autotests "0101* 010102" +' +} main () { +RUN_GROUP=0 +test_case_list="" + +until [ -z "$1" ] + do + case "$1" in + -g | --run-group) + RUN_GROUP=1 + test_case_list=$2 + "Will execute test cases only in group $test_case_list" + shift 2;; + -h | --help) + print_help + exit 1;; + *) + print_help + echo_fatal "Unknown option $1" + break;; + esac + done xml_conf="$OPENAIR_DIR/cmake_targets/autotests/test_case_list.xml" -test_case_list=`xmlstarlet sel -T -t -m /xml/testCaseList/testCase -s D:N:- "@id" -v "@id" -n $xml_conf` +test_case_list=`xmlstarlet sel -T -t -m /xml/testCaseList/testCase -s A:N:- "@id" -v "@id" -n $xml_conf` echo "test_case_list = $test_case_list" @@ -310,7 +342,8 @@ for search_expr in "${test_case_array[@]}" search_expr_true=`xmlstarlet sel -t -v "/xml/testCaseList/testCase[@id='$search_expr']/search_expr_true" $xml_conf` search_expr_false=`xmlstarlet sel -t -v "/xml/testCaseList/testCase[@id='$search_expr']/search_expr_false" $xml_conf` nruns=`xmlstarlet sel -t -v "/xml/testCaseList/testCase[@id='$search_expr']/nruns" $xml_conf` - + compile_prog_out=`xmlstarlet sel -t -v "/xml/testCaseList/testCase[@id='$search_expr']/compile_prog_out" $xml_conf` + echo "class = $class" echo "name = $name" echo "Description = $desc" @@ -343,7 +376,7 @@ for search_expr in "${test_case_array[@]}" #echo "arg1 = ${search_array_true[0]}" #echo " arg2 = ${search_array_true[1]}" if [ "$class" == "compilation" ]; then - test_compile "$name" "$compile_prog" "$compile_prog_args" "$pre_exec" "$pre_exec_args" "$main_exec" "$main_exec_args" "search_array_true[@]" "$search_expr_false" "$nruns" "$pre_compile_prog" "$class" + test_compile "$name" "$compile_prog" "$compile_prog_args" "$pre_exec" "$pre_exec_args" "$main_exec" "$main_exec_args" "search_array_true[@]" "$search_expr_false" "$nruns" "$pre_compile_prog" "$class" "$compile_prog_out" elif "$class" == "execution" ]; then test_compile_and_run "$name" "$compile_prog" "$compile_prog_args" "$pre_exec" "$pre_exec_args" "$main_exec" "$main_exec_args" "search_array_true[@]" "$search_expr_false" "$nruns" "$pre_compile_prog" "$class" else @@ -356,7 +389,7 @@ for search_expr in "${test_case_array[@]}" } -main +main "$@" xUnit_write "$results_file" diff --git a/cmake_targets/autotests/test_case_list.xml b/cmake_targets/autotests/test_case_list.xml index 5186d6d5e5..6945d75598 100644 --- a/cmake_targets/autotests/test_case_list.xml +++ b/cmake_targets/autotests/test_case_list.xml @@ -1,6 +1,6 @@ - + compilation Build oaisim.Rel8 @@ -128,6 +128,7 @@ nasmesh + CMakeFiles/nasmesh/nasmesh.ko @@ -155,6 +156,9 @@ + + + diff --git a/cmake_targets/tools/test_helper b/cmake_targets/tools/test_helper index 59ab9bc840..628567e762 100644 --- a/cmake_targets/tools/test_helper +++ b/cmake_targets/tools/test_helper @@ -33,12 +33,12 @@ xUnit_fail() { currtime=$(date +%s.%N) time=$(echo "$currtime - $XUNIT_START" | bc -l) xml="" - XUNIT_TESTCASES_XML="$XUNIT_TESTCASES_XML \n$xml" + XUNIT_TESTCASES_XML="$xml \n$XUNIT_TESTCASES_XML" XUNIT_FAILED=$((XUNIT_FAILED+1)) } ## Call this after the testcase finished successfully. -# \sa xUnit_fail() +# \sa xUnit_success() # \pre xUnit_start() must have been called before # \param $1 classname # \param $2 testcase name @@ -52,7 +52,7 @@ xUnit_success() { currtime=$(date +%s.%N) time=$(echo "$currtime - $XUNIT_START" | bc -l) xml="" - XUNIT_TESTCASES_XML="$XUNIT_TESTCASES_XML \n$xml" + XUNIT_TESTCASES_XML="$xml \n$XUNIT_TESTCASES_XML" XUNIT_SUCCESS=$((XUNIT_SUCCESS+1)) } From efc4808a6f21c49c25ec4ad8ce588741c6ccf7b1 Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Tue, 13 Oct 2015 16:00:35 +0200 Subject: [PATCH 05/85] updated test case list from older make pre-ci build system --- cmake_targets/autotests/010113/CMakeLists.txt | 5 - cmake_targets/autotests/010114/CMakeLists.txt | 72 ------------ cmake_targets/autotests/010115/CMakeLists.txt | 107 ------------------ cmake_targets/autotests/010204/CMakeLists.txt | 87 ++++++++++++++ cmake_targets/autotests/010205/CMakeLists.txt | 87 ++++++++++++++ cmake_targets/autotests/010400/CMakeLists.txt | 87 ++++++++++++++ cmake_targets/autotests/010401/CMakeLists.txt | 87 ++++++++++++++ cmake_targets/autotests/010402/CMakeLists.txt | 87 ++++++++++++++ cmake_targets/autotests/010403/CMakeLists.txt | 87 ++++++++++++++ .../{010309 => 015000}/CMakeLists.txt | 4 +- .../{010307 => 015001}/CMakeLists.txt | 4 +- .../{010308 => 015002}/CMakeLists.txt | 4 +- .../{010306 => 015003}/CMakeLists.txt | 4 +- cmake_targets/autotests/015004/CMakeLists.txt | 15 +++ cmake_targets/autotests/015005/CMakeLists.txt | 15 +++ cmake_targets/autotests/015006/CMakeLists.txt | 15 +++ cmake_targets/autotests/015007/CMakeLists.txt | 15 +++ cmake_targets/autotests/015008/CMakeLists.txt | 15 +++ cmake_targets/autotests/015009/CMakeLists.txt | 15 +++ cmake_targets/autotests/015100/CMakeLists.txt | 15 +++ cmake_targets/autotests/015101/CMakeLists.txt | 15 +++ 21 files changed, 650 insertions(+), 192 deletions(-) delete mode 100644 cmake_targets/autotests/010113/CMakeLists.txt delete mode 100644 cmake_targets/autotests/010114/CMakeLists.txt delete mode 100644 cmake_targets/autotests/010115/CMakeLists.txt create mode 100644 cmake_targets/autotests/010204/CMakeLists.txt create mode 100644 cmake_targets/autotests/010205/CMakeLists.txt create mode 100644 cmake_targets/autotests/010400/CMakeLists.txt create mode 100644 cmake_targets/autotests/010401/CMakeLists.txt create mode 100644 cmake_targets/autotests/010402/CMakeLists.txt create mode 100644 cmake_targets/autotests/010403/CMakeLists.txt rename cmake_targets/autotests/{010309 => 015000}/CMakeLists.txt (77%) rename cmake_targets/autotests/{010307 => 015001}/CMakeLists.txt (77%) rename cmake_targets/autotests/{010308 => 015002}/CMakeLists.txt (77%) rename cmake_targets/autotests/{010306 => 015003}/CMakeLists.txt (77%) create mode 100644 cmake_targets/autotests/015004/CMakeLists.txt create mode 100644 cmake_targets/autotests/015005/CMakeLists.txt create mode 100644 cmake_targets/autotests/015006/CMakeLists.txt create mode 100644 cmake_targets/autotests/015007/CMakeLists.txt create mode 100644 cmake_targets/autotests/015008/CMakeLists.txt create mode 100644 cmake_targets/autotests/015009/CMakeLists.txt create mode 100644 cmake_targets/autotests/015100/CMakeLists.txt create mode 100644 cmake_targets/autotests/015101/CMakeLists.txt diff --git a/cmake_targets/autotests/010113/CMakeLists.txt b/cmake_targets/autotests/010113/CMakeLists.txt deleted file mode 100644 index 2ac0caecde..0000000000 --- a/cmake_targets/autotests/010113/CMakeLists.txt +++ /dev/null @@ -1,5 +0,0 @@ -cmake_minimum_required(VERSION 2.8) -set(OAI_NW_DRIVER_TYPE_ETHERNET True) -set(OAI_NW_DRIVER_USE_NETLINK True) -set(NAS_NETLINK True) -include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt) diff --git a/cmake_targets/autotests/010114/CMakeLists.txt b/cmake_targets/autotests/010114/CMakeLists.txt deleted file mode 100644 index 23497976f1..0000000000 --- a/cmake_targets/autotests/010114/CMakeLists.txt +++ /dev/null @@ -1,72 +0,0 @@ -cmake_minimum_required(VERSION 2.8) - -set(ADDR_CONF False) -set(DEBUG_OMG False) -set(DISABLE_XER_PRINT False) -set(DRIVER2013 False) -set(ENABLE_FXP True) -set(ENABLE_ITTI True) -set(ENABLE_NAS_UE_LOGGING False) -set(ENABLE_NEW_MULTICAST True) -set(ENABLE_PGM_TRANSPORT True) -set(ENABLE_RAL False) -set(ENABLE_SECURITY False) -set(ENABLE_USE_CPU_EXECUTION_TIME True) -set(ENABLE_USE_MME False) -set(ENABLE_VCD_FIFO True) -set(HARD_RT False) -set(JUMBO_FRAME True) -set(LARGE_SCALE False) -set(LINK_ENB_PDCP_TO_GTPV1U False) -set(LINUX_LIST False) -set(LINUX True) -set(LOCALIZATION False) -set(LOG_NO_THREAD True) -set(LOWLATENCY False) -set(MAC_CONTEXT 1) -set(MAX_NUM_CCs 1) -set(MIH_C_MEDIEVAL_EXTENSIONS False) -set(MSG_PRINT False) -set(MU_RECEIVER False) -set(NAS_ADDRESS_FIX true) -set(NAS_NETLINK True) -set(NAS_UE True) -set(NEW_FFT True) -set(NO_RRM True) -set(OAI_EMU True) -set(OAI_EMU True) -set(OAI_NW_DRIVER_TYPE_ETHERNET True) -set(OPENAIR1 False) -set(OPENAIR2 True) -set(OPENAIR_EMU True) -set(OPENAIR_LTE True) -set (PACKAGE_NAME "oaisim") -set(PACKAGE_NAME "oaisim") -set(PBS_SIM False) -set(PC_DSP False) -set(PC_TARGET False) -set(PDCP_MSG_PRINT False) -set(PERFECT_CE False) -set(PHY_ABSTRACTION True) -set(PHY_ABSTRACTION True) -set(PHY_EMUL False) -set(PHYSIM False) -set(PUCCH True) -set(RANDOM_BF False) -set(RF_BOARD "NoBoard") -set(RLC_STOP_ON_LOST_PDU True) -set(RRC_ASN1_VERSION Rel8) -set(RRC_ASN1_VERSION "Rel8") -set(RRC_MSG_PRINT False) -set(RTAI False) -set(SECU False) -set(SMBV False) -set(SPECTRA False) -set(TEST_OMG False) -set(USE_3GPP_ADDR_AS_LINK_ADDR False) -set(USE_MME False) -set(USER_MODE True) -set(XER_PRINT False) -set(XFORMS False) - -include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt) diff --git a/cmake_targets/autotests/010115/CMakeLists.txt b/cmake_targets/autotests/010115/CMakeLists.txt deleted file mode 100644 index 01c00574a4..0000000000 --- a/cmake_targets/autotests/010115/CMakeLists.txt +++ /dev/null @@ -1,107 +0,0 @@ -cmake_minimum_required(VERSION 2.8) - -set ( ADDR_CONF False ) -set ( DEBUG_OMG False ) -set ( DISABLE_USE_NAS False ) -set ( DISABLE_XER_PRINT False ) -set ( DRIVER2013 False ) -set ( EMOS False ) -set ( ENABLE_FXP True ) -set ( ENABLE_ITTI True ) -set ( ENABLE_NAS_UE_LOGGING False ) -set ( ENABLE_NEW_MULTICAST True ) -set ( ENABLE_PGM_TRANSPORT True ) -set ( ENABLE_RAL False ) -set ( ENABLE_SECURITY False ) -set ( ENABLE_STANDALONE_EPC False ) -set ( ENABLE_USE_CPU_EXECUTION_TIME True ) -set ( ENABLE_USE_MME False ) -set ( ENABLE_VCD_FIFO True ) -set ( ENB_MODE True ) -set ( EPC_BUILD False ) -set ( HARD_RT False ) -set ( JUMBO_FRAME True ) -set ( LARGE_SCALE False ) -set ( LINK_ENB_PDCP_TO_GTPV1U False ) -set ( LINK_ENB_PDCP_TO_IP_DRIVER False ) -set ( LINUX_LIST False ) -set ( LINUX True ) -set ( LOCALIZATION False ) -set ( LOG_NO_THREAD True ) -set ( LOWLATENCY False ) -set ( MAC_CONTEXT 1 ) -set ( MAX_NUM_CCs 1 ) -set ( MESSAGE_CHART_GENERATOR False ) -set ( MESSAGE_CHART_GENERATOR_RLC_MAC False ) -set ( MESSAGE_CHART_GENERATOR_PHY False ) -set ( MIH_C_MEDIEVAL_EXTENSIONS False ) -set ( MSG_PRINT False ) -set ( MU_RECEIVER False ) -set ( NAS_ADDRESS_FIX False ) -set ( NAS_BUILT_IN_EPC False ) -set ( NAS_BUILT_IN_UE False ) -set ( NAS_MME False ) -set ( NAS_NETLINK False ) -set ( NAS_UE False ) -set ( NB_ANTENNAS_RX 2 ) -set ( NB_ANTENNAS_TX 2 ) -set ( NB_ANTENNAS_TXRX 2 ) -set ( NEW_FFT True ) -set ( NO_RRM True ) -set ( OAI_EMU True ) -set ( OAI_NW_DRIVER_TYPE_ETHERNET True ) -set ( OAI_NW_DRIVER_USE_NETLINK False ) -set ( OAISIM True ) -set ( OPENAIR1 False ) -set ( OPENAIR2 True ) -set ( OPENAIR_EMU False ) -set ( OPENAIR_LTE True ) -set ( PBS_SIM False ) -set ( PC_DSP False ) -set ( PC_TARGET False ) -set ( PDCP_MSG_PRINT False ) -set ( PDCP_USE_NETLINK_QUEUES False ) -set ( PDCP_USE_NETLINK True ) -set ( PERFECT_CE False ) -set ( PHY_ABSTRACTION True ) -set ( PHY_CONTEXT 1 ) -set ( PHY_EMUL False ) -set ( PHYSIM False ) -set ( PUCCH True ) -set ( RANDOM_BF False ) -set ( RF_BOARD False ) -set ( RLC_STOP_ON_LOST_PDU True ) -set ( RRC_ASN1_VERSION Rel10 ) -set ( RRC_DEFAULT_RAB_IS_AM False ) -set ( RRC_MSG_PRINT False ) -set ( RTAI False ) -set ( S1AP_LIMIT_STREAM_ID_TO_1 False ) -set ( S1AP_VERSION R10 ) -set ( SMBV False ) -set ( SPECTRA False ) -set ( STOP_ON_IP_TRAFFIC_OVERLOAD False ) -set ( TEST_OMG False ) -set ( TRACE_RLC_AM_BO False ) -set ( TRACE_RLC_AM_FREE_SDU False ) -set ( TRACE_RLC_AM_HOLE False ) -set ( TRACE_RLC_AM_PDU True ) -set ( TRACE_RLC_AM_RESEGMENT False ) -set ( TRACE_RLC_AM_RX_DECODE False ) -set ( TRACE_RLC_AM_RX False ) -set ( TRACE_RLC_AM_STATUS_CREATION False ) -set ( TRACE_RLC_AM_TX False ) -set ( TRACE_RLC_AM_TX_STATUS False ) -set ( TRACE_RLC_PAYLOAD False ) -set ( TRACE_RLC_UM_DAR False ) -set ( TRACE_RLC_UM_DISPLAY_ASCII_DATA False ) -set ( TRACE_RLC_UM_PDU True ) -set ( TRACE_RLC_UM_RX False ) -set ( TRACE_RLC_UM_SEGMENT False ) -set ( TRACE_RLC_UM_TX_STATUS False ) -set ( USE_3GPP_ADDR_AS_LINK_ADDR False ) -set ( USE_MME False ) -set ( USER_MODE True ) -set ( XER_PRINT False ) -set ( XFORMS False ) - -include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt) diff --git a/cmake_targets/autotests/010204/CMakeLists.txt b/cmake_targets/autotests/010204/CMakeLists.txt new file mode 100644 index 0000000000..e6c4bdfe47 --- /dev/null +++ b/cmake_targets/autotests/010204/CMakeLists.txt @@ -0,0 +1,87 @@ +cmake_minimum_required(VERSION 2.8) + +set ( CMAKE_BUILD_TYPE "RelWithDebInfo" ) +set ( ADDR_CONF False ) +set ( DEBUG_OMG False ) +set ( DISABLE_XER_PRINT False ) +set ( DRIVER2013 True ) +set ( EMOS False ) +set ( ENABLE_FXP True ) +set ( ENABLE_ITTI True ) +set ( ENABLE_NAS_UE_LOGGING False ) +set ( ENABLE_NEW_MULTICAST True ) +set ( ENABLE_PGM_TRANSPORT True ) +set ( ENABLE_RAL False ) +set ( ENABLE_SECURITY False ) +set ( ENABLE_STANDALONE_EPC False) +set ( ENABLE_USE_CPU_EXECUTION_TIME True ) +set ( ENABLE_USE_MME False ) +set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False) +set ( ENABLE_VCD_FIFO False ) +set ( ENB_MODE True ) +set ( EXMIMO_IOT True ) +set ( HARD_RT False ) +set ( JUMBO_FRAME True ) +set ( LARGE_SCALE False ) +set ( LINK_ENB_PDCP_TO_GTPV1U False) +set ( LINUX_LIST False ) +set ( LINUX True ) +set ( LOCALIZATION False ) +set ( LOG_NO_THREAD 1 ) +set ( LOWLATENCY False ) +set ( MAC_CONTEXT 1 ) +set ( MAX_NUM_CCs 1 ) +set ( MESSAGE_CHART_GENERATOR False ) +set ( MESSAGE_CHART_GENERATOR_RLC_MAC False ) +set ( MESSAGE_CHART_GENERATOR_PHY False ) +set ( MIH_C_MEDIEVAL_EXTENSIONS False ) +set ( MSG_PRINT False ) +set ( MU_RECEIVER False ) +set ( NAS_ADDRESS_FIX True ) +set ( NAS_BUILT_IN_UE False) +set ( NAS_MME False ) +set ( NAS_UE False ) +set ( NB_ANTENNAS_RX "2" ) +set ( NB_ANTENNAS_TX "2" ) +set ( NB_ANTENNAS_TXRX "2" ) +set ( NEW_FFT True ) +set ( NO_RRM True ) +set ( OAI_EMU True ) +set ( OAISIM True ) +set ( OAI_NW_DRIVER_TYPE_ETHERNET True ) +set ( OAI_NW_DRIVER_USE_NETLINK True ) +set ( OPENAIR1 True ) +set ( OPENAIR2 True ) +set ( OPENAIR_EMU False ) +set ( OPENAIR_LTE True ) +set ( PACKAGE_NAME "oaisim" ) +set ( PBS_SIM False ) +set ( PDCP_USE_NETLINK True ) +set ( PC_DSP True ) +set ( PC_TARGET True ) +set ( PDCP_MSG_PRINT False ) +set ( PERFECT_CE False ) +set ( PHY_ABSTRACTION True ) +set ( PHY_CONTEXT False ) +set ( PHY_EMUL False ) +set ( PHYSIM True ) +set ( PUCCH True ) +set ( RANDOM_BF False ) +set ( RF_BOARD "False" ) +set ( RRC_ASN1_VERSION "Rel10" ) +set ( RLC_STOP_ON_LOST_PDU False ) +set ( RRC_MSG_PRINT False ) +set ( RTAI False ) +set ( SECU False ) +set ( SMBV False ) +set ( SPECTRA False ) +set ( TEST_OMG False ) +set ( USE_3GPP_ADDR_AS_LINK_ADDR False ) +set ( USE_MME "R10" ) +set ( USER_MODE True ) +set ( XER_PRINT False ) +set ( XFORMS False ) +set ( PRINT_STATS False ) +set ( RRC_ASN1_VERSION "Rel10") +set ( ENABLE_VCD_FIFO False ) +include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt) diff --git a/cmake_targets/autotests/010205/CMakeLists.txt b/cmake_targets/autotests/010205/CMakeLists.txt new file mode 100644 index 0000000000..e6c4bdfe47 --- /dev/null +++ b/cmake_targets/autotests/010205/CMakeLists.txt @@ -0,0 +1,87 @@ +cmake_minimum_required(VERSION 2.8) + +set ( CMAKE_BUILD_TYPE "RelWithDebInfo" ) +set ( ADDR_CONF False ) +set ( DEBUG_OMG False ) +set ( DISABLE_XER_PRINT False ) +set ( DRIVER2013 True ) +set ( EMOS False ) +set ( ENABLE_FXP True ) +set ( ENABLE_ITTI True ) +set ( ENABLE_NAS_UE_LOGGING False ) +set ( ENABLE_NEW_MULTICAST True ) +set ( ENABLE_PGM_TRANSPORT True ) +set ( ENABLE_RAL False ) +set ( ENABLE_SECURITY False ) +set ( ENABLE_STANDALONE_EPC False) +set ( ENABLE_USE_CPU_EXECUTION_TIME True ) +set ( ENABLE_USE_MME False ) +set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False) +set ( ENABLE_VCD_FIFO False ) +set ( ENB_MODE True ) +set ( EXMIMO_IOT True ) +set ( HARD_RT False ) +set ( JUMBO_FRAME True ) +set ( LARGE_SCALE False ) +set ( LINK_ENB_PDCP_TO_GTPV1U False) +set ( LINUX_LIST False ) +set ( LINUX True ) +set ( LOCALIZATION False ) +set ( LOG_NO_THREAD 1 ) +set ( LOWLATENCY False ) +set ( MAC_CONTEXT 1 ) +set ( MAX_NUM_CCs 1 ) +set ( MESSAGE_CHART_GENERATOR False ) +set ( MESSAGE_CHART_GENERATOR_RLC_MAC False ) +set ( MESSAGE_CHART_GENERATOR_PHY False ) +set ( MIH_C_MEDIEVAL_EXTENSIONS False ) +set ( MSG_PRINT False ) +set ( MU_RECEIVER False ) +set ( NAS_ADDRESS_FIX True ) +set ( NAS_BUILT_IN_UE False) +set ( NAS_MME False ) +set ( NAS_UE False ) +set ( NB_ANTENNAS_RX "2" ) +set ( NB_ANTENNAS_TX "2" ) +set ( NB_ANTENNAS_TXRX "2" ) +set ( NEW_FFT True ) +set ( NO_RRM True ) +set ( OAI_EMU True ) +set ( OAISIM True ) +set ( OAI_NW_DRIVER_TYPE_ETHERNET True ) +set ( OAI_NW_DRIVER_USE_NETLINK True ) +set ( OPENAIR1 True ) +set ( OPENAIR2 True ) +set ( OPENAIR_EMU False ) +set ( OPENAIR_LTE True ) +set ( PACKAGE_NAME "oaisim" ) +set ( PBS_SIM False ) +set ( PDCP_USE_NETLINK True ) +set ( PC_DSP True ) +set ( PC_TARGET True ) +set ( PDCP_MSG_PRINT False ) +set ( PERFECT_CE False ) +set ( PHY_ABSTRACTION True ) +set ( PHY_CONTEXT False ) +set ( PHY_EMUL False ) +set ( PHYSIM True ) +set ( PUCCH True ) +set ( RANDOM_BF False ) +set ( RF_BOARD "False" ) +set ( RRC_ASN1_VERSION "Rel10" ) +set ( RLC_STOP_ON_LOST_PDU False ) +set ( RRC_MSG_PRINT False ) +set ( RTAI False ) +set ( SECU False ) +set ( SMBV False ) +set ( SPECTRA False ) +set ( TEST_OMG False ) +set ( USE_3GPP_ADDR_AS_LINK_ADDR False ) +set ( USE_MME "R10" ) +set ( USER_MODE True ) +set ( XER_PRINT False ) +set ( XFORMS False ) +set ( PRINT_STATS False ) +set ( RRC_ASN1_VERSION "Rel10") +set ( ENABLE_VCD_FIFO False ) +include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt) diff --git a/cmake_targets/autotests/010400/CMakeLists.txt b/cmake_targets/autotests/010400/CMakeLists.txt new file mode 100644 index 0000000000..e6c4bdfe47 --- /dev/null +++ b/cmake_targets/autotests/010400/CMakeLists.txt @@ -0,0 +1,87 @@ +cmake_minimum_required(VERSION 2.8) + +set ( CMAKE_BUILD_TYPE "RelWithDebInfo" ) +set ( ADDR_CONF False ) +set ( DEBUG_OMG False ) +set ( DISABLE_XER_PRINT False ) +set ( DRIVER2013 True ) +set ( EMOS False ) +set ( ENABLE_FXP True ) +set ( ENABLE_ITTI True ) +set ( ENABLE_NAS_UE_LOGGING False ) +set ( ENABLE_NEW_MULTICAST True ) +set ( ENABLE_PGM_TRANSPORT True ) +set ( ENABLE_RAL False ) +set ( ENABLE_SECURITY False ) +set ( ENABLE_STANDALONE_EPC False) +set ( ENABLE_USE_CPU_EXECUTION_TIME True ) +set ( ENABLE_USE_MME False ) +set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False) +set ( ENABLE_VCD_FIFO False ) +set ( ENB_MODE True ) +set ( EXMIMO_IOT True ) +set ( HARD_RT False ) +set ( JUMBO_FRAME True ) +set ( LARGE_SCALE False ) +set ( LINK_ENB_PDCP_TO_GTPV1U False) +set ( LINUX_LIST False ) +set ( LINUX True ) +set ( LOCALIZATION False ) +set ( LOG_NO_THREAD 1 ) +set ( LOWLATENCY False ) +set ( MAC_CONTEXT 1 ) +set ( MAX_NUM_CCs 1 ) +set ( MESSAGE_CHART_GENERATOR False ) +set ( MESSAGE_CHART_GENERATOR_RLC_MAC False ) +set ( MESSAGE_CHART_GENERATOR_PHY False ) +set ( MIH_C_MEDIEVAL_EXTENSIONS False ) +set ( MSG_PRINT False ) +set ( MU_RECEIVER False ) +set ( NAS_ADDRESS_FIX True ) +set ( NAS_BUILT_IN_UE False) +set ( NAS_MME False ) +set ( NAS_UE False ) +set ( NB_ANTENNAS_RX "2" ) +set ( NB_ANTENNAS_TX "2" ) +set ( NB_ANTENNAS_TXRX "2" ) +set ( NEW_FFT True ) +set ( NO_RRM True ) +set ( OAI_EMU True ) +set ( OAISIM True ) +set ( OAI_NW_DRIVER_TYPE_ETHERNET True ) +set ( OAI_NW_DRIVER_USE_NETLINK True ) +set ( OPENAIR1 True ) +set ( OPENAIR2 True ) +set ( OPENAIR_EMU False ) +set ( OPENAIR_LTE True ) +set ( PACKAGE_NAME "oaisim" ) +set ( PBS_SIM False ) +set ( PDCP_USE_NETLINK True ) +set ( PC_DSP True ) +set ( PC_TARGET True ) +set ( PDCP_MSG_PRINT False ) +set ( PERFECT_CE False ) +set ( PHY_ABSTRACTION True ) +set ( PHY_CONTEXT False ) +set ( PHY_EMUL False ) +set ( PHYSIM True ) +set ( PUCCH True ) +set ( RANDOM_BF False ) +set ( RF_BOARD "False" ) +set ( RRC_ASN1_VERSION "Rel10" ) +set ( RLC_STOP_ON_LOST_PDU False ) +set ( RRC_MSG_PRINT False ) +set ( RTAI False ) +set ( SECU False ) +set ( SMBV False ) +set ( SPECTRA False ) +set ( TEST_OMG False ) +set ( USE_3GPP_ADDR_AS_LINK_ADDR False ) +set ( USE_MME "R10" ) +set ( USER_MODE True ) +set ( XER_PRINT False ) +set ( XFORMS False ) +set ( PRINT_STATS False ) +set ( RRC_ASN1_VERSION "Rel10") +set ( ENABLE_VCD_FIFO False ) +include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt) diff --git a/cmake_targets/autotests/010401/CMakeLists.txt b/cmake_targets/autotests/010401/CMakeLists.txt new file mode 100644 index 0000000000..e6c4bdfe47 --- /dev/null +++ b/cmake_targets/autotests/010401/CMakeLists.txt @@ -0,0 +1,87 @@ +cmake_minimum_required(VERSION 2.8) + +set ( CMAKE_BUILD_TYPE "RelWithDebInfo" ) +set ( ADDR_CONF False ) +set ( DEBUG_OMG False ) +set ( DISABLE_XER_PRINT False ) +set ( DRIVER2013 True ) +set ( EMOS False ) +set ( ENABLE_FXP True ) +set ( ENABLE_ITTI True ) +set ( ENABLE_NAS_UE_LOGGING False ) +set ( ENABLE_NEW_MULTICAST True ) +set ( ENABLE_PGM_TRANSPORT True ) +set ( ENABLE_RAL False ) +set ( ENABLE_SECURITY False ) +set ( ENABLE_STANDALONE_EPC False) +set ( ENABLE_USE_CPU_EXECUTION_TIME True ) +set ( ENABLE_USE_MME False ) +set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False) +set ( ENABLE_VCD_FIFO False ) +set ( ENB_MODE True ) +set ( EXMIMO_IOT True ) +set ( HARD_RT False ) +set ( JUMBO_FRAME True ) +set ( LARGE_SCALE False ) +set ( LINK_ENB_PDCP_TO_GTPV1U False) +set ( LINUX_LIST False ) +set ( LINUX True ) +set ( LOCALIZATION False ) +set ( LOG_NO_THREAD 1 ) +set ( LOWLATENCY False ) +set ( MAC_CONTEXT 1 ) +set ( MAX_NUM_CCs 1 ) +set ( MESSAGE_CHART_GENERATOR False ) +set ( MESSAGE_CHART_GENERATOR_RLC_MAC False ) +set ( MESSAGE_CHART_GENERATOR_PHY False ) +set ( MIH_C_MEDIEVAL_EXTENSIONS False ) +set ( MSG_PRINT False ) +set ( MU_RECEIVER False ) +set ( NAS_ADDRESS_FIX True ) +set ( NAS_BUILT_IN_UE False) +set ( NAS_MME False ) +set ( NAS_UE False ) +set ( NB_ANTENNAS_RX "2" ) +set ( NB_ANTENNAS_TX "2" ) +set ( NB_ANTENNAS_TXRX "2" ) +set ( NEW_FFT True ) +set ( NO_RRM True ) +set ( OAI_EMU True ) +set ( OAISIM True ) +set ( OAI_NW_DRIVER_TYPE_ETHERNET True ) +set ( OAI_NW_DRIVER_USE_NETLINK True ) +set ( OPENAIR1 True ) +set ( OPENAIR2 True ) +set ( OPENAIR_EMU False ) +set ( OPENAIR_LTE True ) +set ( PACKAGE_NAME "oaisim" ) +set ( PBS_SIM False ) +set ( PDCP_USE_NETLINK True ) +set ( PC_DSP True ) +set ( PC_TARGET True ) +set ( PDCP_MSG_PRINT False ) +set ( PERFECT_CE False ) +set ( PHY_ABSTRACTION True ) +set ( PHY_CONTEXT False ) +set ( PHY_EMUL False ) +set ( PHYSIM True ) +set ( PUCCH True ) +set ( RANDOM_BF False ) +set ( RF_BOARD "False" ) +set ( RRC_ASN1_VERSION "Rel10" ) +set ( RLC_STOP_ON_LOST_PDU False ) +set ( RRC_MSG_PRINT False ) +set ( RTAI False ) +set ( SECU False ) +set ( SMBV False ) +set ( SPECTRA False ) +set ( TEST_OMG False ) +set ( USE_3GPP_ADDR_AS_LINK_ADDR False ) +set ( USE_MME "R10" ) +set ( USER_MODE True ) +set ( XER_PRINT False ) +set ( XFORMS False ) +set ( PRINT_STATS False ) +set ( RRC_ASN1_VERSION "Rel10") +set ( ENABLE_VCD_FIFO False ) +include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt) diff --git a/cmake_targets/autotests/010402/CMakeLists.txt b/cmake_targets/autotests/010402/CMakeLists.txt new file mode 100644 index 0000000000..e6c4bdfe47 --- /dev/null +++ b/cmake_targets/autotests/010402/CMakeLists.txt @@ -0,0 +1,87 @@ +cmake_minimum_required(VERSION 2.8) + +set ( CMAKE_BUILD_TYPE "RelWithDebInfo" ) +set ( ADDR_CONF False ) +set ( DEBUG_OMG False ) +set ( DISABLE_XER_PRINT False ) +set ( DRIVER2013 True ) +set ( EMOS False ) +set ( ENABLE_FXP True ) +set ( ENABLE_ITTI True ) +set ( ENABLE_NAS_UE_LOGGING False ) +set ( ENABLE_NEW_MULTICAST True ) +set ( ENABLE_PGM_TRANSPORT True ) +set ( ENABLE_RAL False ) +set ( ENABLE_SECURITY False ) +set ( ENABLE_STANDALONE_EPC False) +set ( ENABLE_USE_CPU_EXECUTION_TIME True ) +set ( ENABLE_USE_MME False ) +set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False) +set ( ENABLE_VCD_FIFO False ) +set ( ENB_MODE True ) +set ( EXMIMO_IOT True ) +set ( HARD_RT False ) +set ( JUMBO_FRAME True ) +set ( LARGE_SCALE False ) +set ( LINK_ENB_PDCP_TO_GTPV1U False) +set ( LINUX_LIST False ) +set ( LINUX True ) +set ( LOCALIZATION False ) +set ( LOG_NO_THREAD 1 ) +set ( LOWLATENCY False ) +set ( MAC_CONTEXT 1 ) +set ( MAX_NUM_CCs 1 ) +set ( MESSAGE_CHART_GENERATOR False ) +set ( MESSAGE_CHART_GENERATOR_RLC_MAC False ) +set ( MESSAGE_CHART_GENERATOR_PHY False ) +set ( MIH_C_MEDIEVAL_EXTENSIONS False ) +set ( MSG_PRINT False ) +set ( MU_RECEIVER False ) +set ( NAS_ADDRESS_FIX True ) +set ( NAS_BUILT_IN_UE False) +set ( NAS_MME False ) +set ( NAS_UE False ) +set ( NB_ANTENNAS_RX "2" ) +set ( NB_ANTENNAS_TX "2" ) +set ( NB_ANTENNAS_TXRX "2" ) +set ( NEW_FFT True ) +set ( NO_RRM True ) +set ( OAI_EMU True ) +set ( OAISIM True ) +set ( OAI_NW_DRIVER_TYPE_ETHERNET True ) +set ( OAI_NW_DRIVER_USE_NETLINK True ) +set ( OPENAIR1 True ) +set ( OPENAIR2 True ) +set ( OPENAIR_EMU False ) +set ( OPENAIR_LTE True ) +set ( PACKAGE_NAME "oaisim" ) +set ( PBS_SIM False ) +set ( PDCP_USE_NETLINK True ) +set ( PC_DSP True ) +set ( PC_TARGET True ) +set ( PDCP_MSG_PRINT False ) +set ( PERFECT_CE False ) +set ( PHY_ABSTRACTION True ) +set ( PHY_CONTEXT False ) +set ( PHY_EMUL False ) +set ( PHYSIM True ) +set ( PUCCH True ) +set ( RANDOM_BF False ) +set ( RF_BOARD "False" ) +set ( RRC_ASN1_VERSION "Rel10" ) +set ( RLC_STOP_ON_LOST_PDU False ) +set ( RRC_MSG_PRINT False ) +set ( RTAI False ) +set ( SECU False ) +set ( SMBV False ) +set ( SPECTRA False ) +set ( TEST_OMG False ) +set ( USE_3GPP_ADDR_AS_LINK_ADDR False ) +set ( USE_MME "R10" ) +set ( USER_MODE True ) +set ( XER_PRINT False ) +set ( XFORMS False ) +set ( PRINT_STATS False ) +set ( RRC_ASN1_VERSION "Rel10") +set ( ENABLE_VCD_FIFO False ) +include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt) diff --git a/cmake_targets/autotests/010403/CMakeLists.txt b/cmake_targets/autotests/010403/CMakeLists.txt new file mode 100644 index 0000000000..e6c4bdfe47 --- /dev/null +++ b/cmake_targets/autotests/010403/CMakeLists.txt @@ -0,0 +1,87 @@ +cmake_minimum_required(VERSION 2.8) + +set ( CMAKE_BUILD_TYPE "RelWithDebInfo" ) +set ( ADDR_CONF False ) +set ( DEBUG_OMG False ) +set ( DISABLE_XER_PRINT False ) +set ( DRIVER2013 True ) +set ( EMOS False ) +set ( ENABLE_FXP True ) +set ( ENABLE_ITTI True ) +set ( ENABLE_NAS_UE_LOGGING False ) +set ( ENABLE_NEW_MULTICAST True ) +set ( ENABLE_PGM_TRANSPORT True ) +set ( ENABLE_RAL False ) +set ( ENABLE_SECURITY False ) +set ( ENABLE_STANDALONE_EPC False) +set ( ENABLE_USE_CPU_EXECUTION_TIME True ) +set ( ENABLE_USE_MME False ) +set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False) +set ( ENABLE_VCD_FIFO False ) +set ( ENB_MODE True ) +set ( EXMIMO_IOT True ) +set ( HARD_RT False ) +set ( JUMBO_FRAME True ) +set ( LARGE_SCALE False ) +set ( LINK_ENB_PDCP_TO_GTPV1U False) +set ( LINUX_LIST False ) +set ( LINUX True ) +set ( LOCALIZATION False ) +set ( LOG_NO_THREAD 1 ) +set ( LOWLATENCY False ) +set ( MAC_CONTEXT 1 ) +set ( MAX_NUM_CCs 1 ) +set ( MESSAGE_CHART_GENERATOR False ) +set ( MESSAGE_CHART_GENERATOR_RLC_MAC False ) +set ( MESSAGE_CHART_GENERATOR_PHY False ) +set ( MIH_C_MEDIEVAL_EXTENSIONS False ) +set ( MSG_PRINT False ) +set ( MU_RECEIVER False ) +set ( NAS_ADDRESS_FIX True ) +set ( NAS_BUILT_IN_UE False) +set ( NAS_MME False ) +set ( NAS_UE False ) +set ( NB_ANTENNAS_RX "2" ) +set ( NB_ANTENNAS_TX "2" ) +set ( NB_ANTENNAS_TXRX "2" ) +set ( NEW_FFT True ) +set ( NO_RRM True ) +set ( OAI_EMU True ) +set ( OAISIM True ) +set ( OAI_NW_DRIVER_TYPE_ETHERNET True ) +set ( OAI_NW_DRIVER_USE_NETLINK True ) +set ( OPENAIR1 True ) +set ( OPENAIR2 True ) +set ( OPENAIR_EMU False ) +set ( OPENAIR_LTE True ) +set ( PACKAGE_NAME "oaisim" ) +set ( PBS_SIM False ) +set ( PDCP_USE_NETLINK True ) +set ( PC_DSP True ) +set ( PC_TARGET True ) +set ( PDCP_MSG_PRINT False ) +set ( PERFECT_CE False ) +set ( PHY_ABSTRACTION True ) +set ( PHY_CONTEXT False ) +set ( PHY_EMUL False ) +set ( PHYSIM True ) +set ( PUCCH True ) +set ( RANDOM_BF False ) +set ( RF_BOARD "False" ) +set ( RRC_ASN1_VERSION "Rel10" ) +set ( RLC_STOP_ON_LOST_PDU False ) +set ( RRC_MSG_PRINT False ) +set ( RTAI False ) +set ( SECU False ) +set ( SMBV False ) +set ( SPECTRA False ) +set ( TEST_OMG False ) +set ( USE_3GPP_ADDR_AS_LINK_ADDR False ) +set ( USE_MME "R10" ) +set ( USER_MODE True ) +set ( XER_PRINT False ) +set ( XFORMS False ) +set ( PRINT_STATS False ) +set ( RRC_ASN1_VERSION "Rel10") +set ( ENABLE_VCD_FIFO False ) +include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt) diff --git a/cmake_targets/autotests/010309/CMakeLists.txt b/cmake_targets/autotests/015000/CMakeLists.txt similarity index 77% rename from cmake_targets/autotests/010309/CMakeLists.txt rename to cmake_targets/autotests/015000/CMakeLists.txt index 36a9eb75da..7a0e84b425 100644 --- a/cmake_targets/autotests/010309/CMakeLists.txt +++ b/cmake_targets/autotests/015000/CMakeLists.txt @@ -5,11 +5,11 @@ set(RF_BOARD None) set(XFORMS False) set(DEBUG_PHY False) -set(MU_RECIEVER Flase) +set(MU_RECIEVER False) set(RANDOM_BF False) set(PBS_SIM False) set(PERFECT_CE False) set(NAS_UE False) set(MESSAGE_CHART_GENERATOR False) -include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt) +include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt) diff --git a/cmake_targets/autotests/010307/CMakeLists.txt b/cmake_targets/autotests/015001/CMakeLists.txt similarity index 77% rename from cmake_targets/autotests/010307/CMakeLists.txt rename to cmake_targets/autotests/015001/CMakeLists.txt index 36a9eb75da..7a0e84b425 100644 --- a/cmake_targets/autotests/010307/CMakeLists.txt +++ b/cmake_targets/autotests/015001/CMakeLists.txt @@ -5,11 +5,11 @@ set(RF_BOARD None) set(XFORMS False) set(DEBUG_PHY False) -set(MU_RECIEVER Flase) +set(MU_RECIEVER False) set(RANDOM_BF False) set(PBS_SIM False) set(PERFECT_CE False) set(NAS_UE False) set(MESSAGE_CHART_GENERATOR False) -include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt) +include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt) diff --git a/cmake_targets/autotests/010308/CMakeLists.txt b/cmake_targets/autotests/015002/CMakeLists.txt similarity index 77% rename from cmake_targets/autotests/010308/CMakeLists.txt rename to cmake_targets/autotests/015002/CMakeLists.txt index 36a9eb75da..7a0e84b425 100644 --- a/cmake_targets/autotests/010308/CMakeLists.txt +++ b/cmake_targets/autotests/015002/CMakeLists.txt @@ -5,11 +5,11 @@ set(RF_BOARD None) set(XFORMS False) set(DEBUG_PHY False) -set(MU_RECIEVER Flase) +set(MU_RECIEVER False) set(RANDOM_BF False) set(PBS_SIM False) set(PERFECT_CE False) set(NAS_UE False) set(MESSAGE_CHART_GENERATOR False) -include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt) +include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt) diff --git a/cmake_targets/autotests/010306/CMakeLists.txt b/cmake_targets/autotests/015003/CMakeLists.txt similarity index 77% rename from cmake_targets/autotests/010306/CMakeLists.txt rename to cmake_targets/autotests/015003/CMakeLists.txt index 36a9eb75da..7a0e84b425 100644 --- a/cmake_targets/autotests/010306/CMakeLists.txt +++ b/cmake_targets/autotests/015003/CMakeLists.txt @@ -5,11 +5,11 @@ set(RF_BOARD None) set(XFORMS False) set(DEBUG_PHY False) -set(MU_RECIEVER Flase) +set(MU_RECIEVER False) set(RANDOM_BF False) set(PBS_SIM False) set(PERFECT_CE False) set(NAS_UE False) set(MESSAGE_CHART_GENERATOR False) -include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt) +include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt) diff --git a/cmake_targets/autotests/015004/CMakeLists.txt b/cmake_targets/autotests/015004/CMakeLists.txt new file mode 100644 index 0000000000..7a0e84b425 --- /dev/null +++ b/cmake_targets/autotests/015004/CMakeLists.txt @@ -0,0 +1,15 @@ +cmake_minimum_required(VERSION 2.8) +set(PACKAGE_NAME "unitary_tests_simulators") +set(PHYSIM True) +set(RF_BOARD None) +set(XFORMS False) + +set(DEBUG_PHY False) +set(MU_RECIEVER False) +set(RANDOM_BF False) +set(PBS_SIM False) +set(PERFECT_CE False) +set(NAS_UE False) +set(MESSAGE_CHART_GENERATOR False) + +include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt) diff --git a/cmake_targets/autotests/015005/CMakeLists.txt b/cmake_targets/autotests/015005/CMakeLists.txt new file mode 100644 index 0000000000..7a0e84b425 --- /dev/null +++ b/cmake_targets/autotests/015005/CMakeLists.txt @@ -0,0 +1,15 @@ +cmake_minimum_required(VERSION 2.8) +set(PACKAGE_NAME "unitary_tests_simulators") +set(PHYSIM True) +set(RF_BOARD None) +set(XFORMS False) + +set(DEBUG_PHY False) +set(MU_RECIEVER False) +set(RANDOM_BF False) +set(PBS_SIM False) +set(PERFECT_CE False) +set(NAS_UE False) +set(MESSAGE_CHART_GENERATOR False) + +include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt) diff --git a/cmake_targets/autotests/015006/CMakeLists.txt b/cmake_targets/autotests/015006/CMakeLists.txt new file mode 100644 index 0000000000..7a0e84b425 --- /dev/null +++ b/cmake_targets/autotests/015006/CMakeLists.txt @@ -0,0 +1,15 @@ +cmake_minimum_required(VERSION 2.8) +set(PACKAGE_NAME "unitary_tests_simulators") +set(PHYSIM True) +set(RF_BOARD None) +set(XFORMS False) + +set(DEBUG_PHY False) +set(MU_RECIEVER False) +set(RANDOM_BF False) +set(PBS_SIM False) +set(PERFECT_CE False) +set(NAS_UE False) +set(MESSAGE_CHART_GENERATOR False) + +include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt) diff --git a/cmake_targets/autotests/015007/CMakeLists.txt b/cmake_targets/autotests/015007/CMakeLists.txt new file mode 100644 index 0000000000..7a0e84b425 --- /dev/null +++ b/cmake_targets/autotests/015007/CMakeLists.txt @@ -0,0 +1,15 @@ +cmake_minimum_required(VERSION 2.8) +set(PACKAGE_NAME "unitary_tests_simulators") +set(PHYSIM True) +set(RF_BOARD None) +set(XFORMS False) + +set(DEBUG_PHY False) +set(MU_RECIEVER False) +set(RANDOM_BF False) +set(PBS_SIM False) +set(PERFECT_CE False) +set(NAS_UE False) +set(MESSAGE_CHART_GENERATOR False) + +include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt) diff --git a/cmake_targets/autotests/015008/CMakeLists.txt b/cmake_targets/autotests/015008/CMakeLists.txt new file mode 100644 index 0000000000..7a0e84b425 --- /dev/null +++ b/cmake_targets/autotests/015008/CMakeLists.txt @@ -0,0 +1,15 @@ +cmake_minimum_required(VERSION 2.8) +set(PACKAGE_NAME "unitary_tests_simulators") +set(PHYSIM True) +set(RF_BOARD None) +set(XFORMS False) + +set(DEBUG_PHY False) +set(MU_RECIEVER False) +set(RANDOM_BF False) +set(PBS_SIM False) +set(PERFECT_CE False) +set(NAS_UE False) +set(MESSAGE_CHART_GENERATOR False) + +include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt) diff --git a/cmake_targets/autotests/015009/CMakeLists.txt b/cmake_targets/autotests/015009/CMakeLists.txt new file mode 100644 index 0000000000..7a0e84b425 --- /dev/null +++ b/cmake_targets/autotests/015009/CMakeLists.txt @@ -0,0 +1,15 @@ +cmake_minimum_required(VERSION 2.8) +set(PACKAGE_NAME "unitary_tests_simulators") +set(PHYSIM True) +set(RF_BOARD None) +set(XFORMS False) + +set(DEBUG_PHY False) +set(MU_RECIEVER False) +set(RANDOM_BF False) +set(PBS_SIM False) +set(PERFECT_CE False) +set(NAS_UE False) +set(MESSAGE_CHART_GENERATOR False) + +include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt) diff --git a/cmake_targets/autotests/015100/CMakeLists.txt b/cmake_targets/autotests/015100/CMakeLists.txt new file mode 100644 index 0000000000..7a0e84b425 --- /dev/null +++ b/cmake_targets/autotests/015100/CMakeLists.txt @@ -0,0 +1,15 @@ +cmake_minimum_required(VERSION 2.8) +set(PACKAGE_NAME "unitary_tests_simulators") +set(PHYSIM True) +set(RF_BOARD None) +set(XFORMS False) + +set(DEBUG_PHY False) +set(MU_RECIEVER False) +set(RANDOM_BF False) +set(PBS_SIM False) +set(PERFECT_CE False) +set(NAS_UE False) +set(MESSAGE_CHART_GENERATOR False) + +include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt) diff --git a/cmake_targets/autotests/015101/CMakeLists.txt b/cmake_targets/autotests/015101/CMakeLists.txt new file mode 100644 index 0000000000..7a0e84b425 --- /dev/null +++ b/cmake_targets/autotests/015101/CMakeLists.txt @@ -0,0 +1,15 @@ +cmake_minimum_required(VERSION 2.8) +set(PACKAGE_NAME "unitary_tests_simulators") +set(PHYSIM True) +set(RF_BOARD None) +set(XFORMS False) + +set(DEBUG_PHY False) +set(MU_RECIEVER False) +set(RANDOM_BF False) +set(PBS_SIM False) +set(PERFECT_CE False) +set(NAS_UE False) +set(MESSAGE_CHART_GENERATOR False) + +include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt) From 8990e3bf816f7d8cee6368cd6b9f4012b5d5f28c Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Tue, 13 Oct 2015 16:01:20 +0200 Subject: [PATCH 06/85] updated test case list from older make pre-ci build system --- cmake_targets/autotests/README.txt | 244 ++----- .../autotests/run_exec_autotests.bash | 173 +++-- cmake_targets/autotests/test_case_list.xml | 622 +++++++++++++++++- cmake_targets/tools/test_helper | 4 +- 4 files changed, 765 insertions(+), 278 deletions(-) diff --git a/cmake_targets/autotests/README.txt b/cmake_targets/autotests/README.txt index 51f94d2066..4d31da76f9 100644 --- a/cmake_targets/autotests/README.txt +++ b/cmake_targets/autotests/README.txt @@ -18,208 +18,74 @@ Obj.# Case# Test# Description 01 01 30 Build RRH Gateway -01 02 Run OAISIM Rel10 (TDD + 5MHz + Transmission mode 1), and check the operation -01 02 00 Run OAISIM Rel10 TDD, 1 eNB + 1 UE (5 MHz) and search for errors, segmentation fault or exit -01 02 01 Run OAISIM Rel10 TDD, 1 eNB + 1 UE (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit -01 02 02 Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (5 MHz) and search for errors, segmentation fault or exit -01 02 03 Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit -01 02 04 Run OAI Rel10 TDD, 1 eNB + 1 UE (5 MHz) without abstraction mode, send ping from from eNB to UE, and check that there is no packet losses -01 02 05 Run OAI Rel10 TDD, 1 eNB + 1 UE (5 MHz) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check that there is no packet losses +01 02 Run OAISIM Rel10 (TDD + 5MHz/10MHz/20MHz + TM 1,2,5,6), and check the operation +01 02 00 Run OAISIM Rel10 TDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) and search for errors, segmentation fault or exit +01 02 01 Run OAISIM Rel10 TDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode and search for errors +01 02 02 Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2,5,6) and search for errors, segmentation fault or exit +01 02 03 Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode and search for errors +01 02 04 Run OAI Rel10 TDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) without PHY_ABSTRACTION mode, ping from from eNB to UE, + and for check for no packet losses +01 02 05 Run OAI Rel10 TDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode, send ping from from eNB to UE, + and check for no packet losses -01 03 Run OAISIM Rel10 (FDD + 5MHz + Tranmission mode 1), and check the operation -01 03 00 Run OAISIM Rel10 FDD, 1 eNB + 1 UE (5 MHz) and search for errors, segmentation fault or exit -01 03 01 Run OAISIM Rel10 FDD, 1 eNB + 1 UE (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit -01 03 02 Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (5 MHz) and search for errors, segmentation fault or exit -01 03 03 Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit -01 03 04 Run OAI Rel10 FDD, 1 eNB + 1 UE (5 MHz) without abstraction mode, send ping from from eNB to UE, and check that there is no packet losses -01 03 05 Run OAI Rel10 FDD, 1 eNB + 1 UE (5 MHz) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check that there is no packet losses - -01 04 Run OAISIM Rel10 (TDD + 10MHz + Tranmission mode 1), and check the operation -01 04 00 Run OAISIM Rel10 TDD, 1 eNB + 1 UE (10 MHz) and search for errors, segmentation fault or exit -01 04 01 Run OAISIM Rel10 TDD, 1 eNB + 1 UE (10 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit -01 04 02 Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (10 MHz) and search for errors, segmentation fault or exit -01 04 03 Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (10 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit -01 04 04 Run OAI Rel10 TDD, 1 eNB + 1 UE (10 MHz) without abstraction mode, send ping from from eNB to UE, and check that there is no packet losses -01 04 05 Run OAI Rel10 TDD, 1 eNB + 1 UE (10 MHz) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check that there is no packet losses - -01 05 Run OAISIM Rel10 (FDD + 10MHz + Tranmission mode 1), and check the operation -01 05 00 Run OAISIM Rel10 FDD, 1 eNB + 1 UE (10 MHz) and search for errors, segmentation fault or exit -01 05 01 Run OAISIM Rel10 FDD, 1 eNB + 1 UE (10 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit -01 05 02 Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (10 MHz) and search for errors, segmentation fault or exit -01 05 03 Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (10 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit -01 05 04 Run OAI Rel10 FDD, 1 eNB + 1 UE (10 MHz) without abstraction mode, send ping from from eNB to UE, and check that there is no packet losses -01 05 05 Run OAI Rel10 FDD, 1 eNB + 1 UE (10 MHz) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check that there is no packet losses - -01 06 Run OAISIM Rel10 (TDD + 20MHz + Tranmission mode 1), and check the operation -01 06 00 Run OAISIM Rel10 TDD, 1 eNB + 1 UE (20MHz) and search for errors, segmentation fault or exit -01 06 01 Run OAISIM Rel10 TDD, 1 eNB + 1 UE (20MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit -01 06 02 Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (20MHz) and search for errors, segmentation fault or exit -01 06 03 Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (20MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit -01 06 04 Run OAI Rel10 TDD, 1 eNB + 1 UE (20 MHz) without abstraction mode, send ping from from eNB to UE, and check that there is no packet losses -01 06 05 Run OAI Rel10 TDD, 1 eNB + 1 UE (20 MHz) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check that there is no packet losses - -01 07 Run OAISIM Rel10 (FDD + 20MHz + Tranmission mode 1), and check the operation -01 07 00 Run OAISIM Rel10 FDD, 1 eNB + 1 UE (20MHz) and search for errors, segmentation fault or exit -01 07 01 Run OAISIM Rel10 FDD, 1 eNB + 1 UE (20MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit -01 07 02 Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (20MHz) and search for errors, segmentation fault or exit -01 07 03 Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (20MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit -01 07 04 Run OAI Rel10 FDD, 1 eNB + 1 UE (20 MHz) without abstraction mode, send ping from from eNB to UE, and check that there is no packet losses -01 07 05 Run OAI Rel10 FDD, 1 eNB + 1 UE (20 MHz) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check that there is no packet losses - -01 08 Run OAISIM Rel10 (TDD + 5 MHz + Tranmission mode 1), and check the operation -01 08 00 Run OAISIM Rel10 TDD, 2 eNB + 1 UE per eNB (5 MHz) and search for errors, segmentation fault or exit -01 08 01 Run OAISIM Rel10 TDD, 2 eNB + 1 UE per eNB (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit -01 08 02 Run OAISIM Rel10 TDD, 2 eNB + 3 UEs per eNB (5 MHz) and search for errors, segmentation fault or exit -01 08 03 Run OAISIM Rel10 TDD, 2 eNB + 3 UEs per eNB (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit -01 08 04 Run OAI Rel10 TDD, 2 eNB + 1 UE per eNB (5 MHz) without abstraction mode, send ping from from eNB to UE, and check there is no packet losses -01 08 05 Run OAI Rel10 TDD, 2 eNB + 1 UE per eNB (5 MHz) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check there is no packet losses - -01 09 Run OAISIM Rel10 (FDD + 5 MHz + Tranmission mode 1), and check the operation -01 09 00 Run OAISIM Rel10 FDD, 2 eNB + 1 UE per eNB (5 MHz) and search for errors, segmentation fault or exit -01 09 01 Run OAISIM Rel10 FDD, 2 eNB + 1 UE per eNB (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit -01 09 02 Run OAISIM Rel10 FDD, 2 eNB + 3 UEs per eNB (5 MHz) and search for errors, segmentation fault or exit -01 09 03 Run OAISIM Rel10 FDD, 2 eNB + 3 UEs per eNB (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit -01 09 04 Run OAI Rel10 FDD, 2 eNB + 1 UE per eNB (5 MHz) without abstraction mode, send ping from from eNB to UE, and check there is no packet losses -01 09 05 Run OAI Rel10 FDD, 2 eNB + 1 UE per eNB (5 MHz) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check there is no packet losses +01 03 Run OAISIM Rel10 (FDD + 5MHz/10MHz/20MHz + TM 1,2,5,6), and check the operation +01 03 00 Run OAISIM Rel10 FDD, 1 eNB + 1 UE 1 eNB (5 MHz/10MHz/20MHz), (TM 1,2,5,6) and search for errors, segmentation fault or exit +01 03 01 Run OAISIM Rel10 FDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode and search for errors +01 03 02 Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2,5,6) and search for errors, segmentation fault or exit +01 03 03 Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode and search for errors +01 03 04 Run OAI Rel10 FDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) without PHY_ABSTRACTION mode, ping from from eNB to UE, + and for check for no packet losses +01 03 05 Run OAI Rel10 FDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode, send ping from from eNB to UE, + and check for no packet losses -01 10 Run OAISIM Rel10 (TDD + 5MHz + Transmission mode 2), and check the operation -01 10 00 Run OAISIM Rel10 TDD, 1 eNB + 1 UE (5 MHz) and search for errors, segmentation fault or exit -01 10 01 Run OAISIM Rel10 TDD, 1 eNB + 1 UE (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit -01 10 02 Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (5 MHz) and search for errors, segmentation fault or exit -01 10 03 Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit -01 10 04 Run OAI Rel10 TDD, 1 eNB + 1 UE (5 MHz) without abstraction mode, send ping from from eNB to UE, and check that there is no packet losses -01 10 05 Run OAI Rel10 TDD, 1 eNB + 1 UE (5 MHz) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check that there is no packet losses -01 11 Run OAISIM Rel10 (FDD + 5MHz + Tranmission mode 2), and check the operation -01 11 00 Run OAISIM Rel10 FDD, 1 eNB + 1 UE (5 MHz) and search for errors, segmentation fault or exit -01 11 01 Run OAISIM Rel10 FDD, 1 eNB + 1 UE (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit -01 11 02 Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (5 MHz) and search for errors, segmentation fault or exit -01 11 03 Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit -01 11 04 Run OAI Rel10 FDD, 1 eNB + 1 UE (5 MHz) without abstraction mode, send ping from from eNB to UE, and check that there is no packet losses -01 11 05 Run OAI Rel10 FDD, 1 eNB + 1 UE (5 MHz) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check that there is no packet losses - -01 12 Run OAISIM Rel10 (TDD + 10MHz + Tranmission mode 2), and check the operation -01 12 00 Run OAISIM Rel10 TDD, 1 eNB + 1 UE (10 MHz) and search for errors, segmentation fault or exit -01 12 01 Run OAISIM Rel10 TDD, 1 eNB + 1 UE (10 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit -01 12 02 Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (10 MHz) and search for errors, segmentation fault or exit -01 12 03 Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (10 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit -01 12 04 Run OAI Rel10 TDD, 1 eNB + 1 UE (10 MHz) without abstraction mode, send ping from from eNB to UE, and check that there is no packet losses -01 12 05 Run OAI Rel10 TDD, 1 eNB + 1 UE (10 MHz) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check that there is no packet losses - -01 13 Run OAISIM Rel10 (FDD + 10MHz + Tranmission mode 2), and check the operation -01 13 00 Run OAISIM Rel10 FDD, 1 eNB + 1 UE (10 MHz) and search for errors, segmentation fault or exit -01 13 01 Run OAISIM Rel10 FDD, 1 eNB + 1 UE (10 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit -01 13 02 Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (10 MHz) and search for errors, segmentation fault or exit -01 13 03 Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (10 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit -01 13 04 Run OAI Rel10 FDD, 1 eNB + 1 UE (10 MHz) without abstraction mode, send ping from from eNB to UE, and check that there is no packet losses -01 13 05 Run OAI Rel10 FDD, 1 eNB + 1 UE (10 MHz) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check that there is no packet losses - -01 14 Run OAISIM Rel10 (TDD + 20MHz + Tranmission mode 2), and check the operation -01 14 00 Run OAISIM Rel10 TDD, 1 eNB + 1 UE (20MHz) and search for errors, segmentation fault or exit -01 14 01 Run OAISIM Rel10 TDD, 1 eNB + 1 UE (20MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit -01 14 02 Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (20MHz) and search for errors, segmentation fault or exit -01 14 03 Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (20MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit -01 14 04 Run OAI Rel10 TDD, 1 eNB + 1 UE (20 MHz) without abstraction mode, send ping from from eNB to UE, and check that there is no packet losses -01 14 05 Run OAI Rel10 TDD, 1 eNB + 1 UE (20 MHz) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check that there is no packet losses - -01 15 Run OAISIM Rel10 (FDD + 20MHz + Tranmission mode 2), and check the operation -01 15 00 Run OAISIM Rel10 FDD, 1 eNB + 1 UE (20MHz) and search for errors, segmentation fault or exit -01 15 01 Run OAISIM Rel10 FDD, 1 eNB + 1 UE (20MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit -01 15 02 Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (20MHz) and search for errors, segmentation fault or exit -01 15 03 Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (20MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit -01 15 04 Run OAI Rel10 FDD, 1 eNB + 1 UE (20 MHz) without abstraction mode, send ping from from eNB to UE, and check that there is no packet losses -01 15 05 Run OAI Rel10 FDD, 1 eNB + 1 UE (20 MHz) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check that there is no packet losses - -01 16 Run OAISIM Rel10 (TDD + 5 MHz + Tranmission mode 2), and check the operation -01 16 00 Run OAISIM Rel10 TDD, 2 eNB + 1 UE per eNB (5 MHz) and search for errors, segmentation fault or exit -01 16 01 Run OAISIM Rel10 TDD, 2 eNB + 1 UE per eNB (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit -01 16 02 Run OAISIM Rel10 TDD, 2 eNB + 3 UEs per eNB (5 MHz) and search for errors, segmentation fault or exit -01 16 03 Run OAISIM Rel10 TDD, 2 eNB + 3 UEs per eNB (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit -01 16 04 Run OAI Rel10 TDD, 2 eNB + 1 UE per eNB (5 MHz) without abstraction mode, send ping from from eNB to UE, and check there is no packet losses -01 16 05 Run OAI Rel10 TDD, 2 eNB + 1 UE per eNB (5 MHz) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check there is no packet losses - -01 17 Run OAISIM Rel10 (FDD + 5 MHz + Tranmission mode 2), and check the operation -01 17 00 Run OAISIM Rel10 FDD, 2 eNB + 1 UE per eNB (5 MHz) and search for errors, segmentation fault or exit -01 17 01 Run OAISIM Rel10 FDD, 2 eNB + 1 UE per eNB (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit -01 17 02 Run OAISIM Rel10 FDD, 2 eNB + 3 UEs per eNB (5 MHz) and search for errors, segmentation fault or exit -01 17 03 Run OAISIM Rel10 FDD, 2 eNB + 3 UEs per eNB (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit -01 17 04 Run OAI Rel10 FDD, 2 eNB + 1 UE per eNB (5 MHz) without abstraction mode, send ping from from eNB to UE, and check there is no packet losses -01 17 05 Run OAI Rel10 FDD, 2 eNB + 1 UE per eNB (5 MHz) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check there is no packet losses - -01 18 Run OAISIM Rel10 (TDD + 5MHz + Transmission mode 5), and check the operation -01 18 00 Run OAISIM Rel10 TDD, 1 eNB + 1 UE (5 MHz) and search for errors, segmentation fault or exit -01 18 01 Run OAISIM Rel10 TDD, 1 eNB + 1 UE (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit -01 18 02 Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (5 MHz) and search for errors, segmentation fault or exit -01 18 03 Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit -01 18 04 Run OAI Rel10 TDD, 1 eNB + 1 UE (5 MHz) without abstraction mode, send ping from from eNB to UE, and check that there is no packet losses -01 18 05 Run OAI Rel10 TDD, 1 eNB + 1 UE (5 MHz) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check that there is no packet losses - -01 19 Run OAISIM Rel10 (FDD + 5MHz + Tranmission mode 5), and check the operation -01 19 00 Run OAISIM Rel10 FDD, 1 eNB + 1 UE (5 MHz) and search for errors, segmentation fault or exit -01 19 01 Run OAISIM Rel10 FDD, 1 eNB + 1 UE (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit -01 19 02 Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (5 MHz) and search for errors, segmentation fault or exit -01 19 03 Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit -01 19 04 Run OAI Rel10 FDD, 1 eNB + 1 UE (5 MHz) without abstraction mode, send ping from from eNB to UE, and check that there is no packet losses -01 19 05 Run OAI Rel10 FDD, 1 eNB + 1 UE (5 MHz) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check that there is no packet losses - - -01 26 Run OAISIM Rel10 (TDD + 5MHz + Transmission mode 6), and check the operation -01 26 00 Run OAISIM Rel10 TDD, 1 eNB + 1 UE (5 MHz) and search for errors, segmentation fault or exit -01 26 01 Run OAISIM Rel10 TDD, 1 eNB + 1 UE (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit -01 26 02 Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (5 MHz) and search for errors, segmentation fault or exit -01 26 03 Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit -01 26 04 Run OAI Rel10 TDD, 1 eNB + 1 UE (5 MHz) without abstraction mode, send ping from from eNB to UE, and check that there is no packet losses -01 26 05 Run OAI Rel10 TDD, 1 eNB + 1 UE (5 MHz) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check that there is no packet losses - -01 27 Run OAISIM Rel10 (FDD + 5MHz + Tranmission mode 6), and check the operation -01 27 00 Run OAISIM Rel10 FDD, 1 eNB + 1 UE (5 MHz) and search for errors, segmentation fault or exit -01 27 01 Run OAISIM Rel10 FDD, 1 eNB + 1 UE (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit -01 27 02 Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (5 MHz) and search for errors, segmentation fault or exit -01 27 03 Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit -01 27 04 Run OAI Rel10 FDD, 1 eNB + 1 UE (5 MHz) without abstraction mode, send ping from from eNB to UE, and check that there is no packet losses -01 27 05 Run OAI Rel10 FDD, 1 eNB + 1 UE (5 MHz) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check that there is no packet losses +01 04 MBSFN Tests +01 04 00 Check if eMBMS procedure is not finished completely, make sure that the SIB13/MCCH have been correclty received by UEs +01 04 01 Check if eMBMS multicast/broadcast data is received, make sure that the SIB13/MCCH/MTCH have been correclty received by UEs +01 04 02 Check for eMBMS multicast/broadcast data received in fdd mode, make sure that the SIB13/MCCH/MTCH have been correctly + received by UEs +01 04 03 Check for eMBMS multicast/broadcast DF relaying working properly in fdd mode, make sure that the SIB13/MCCH/MTCH have been + correclty received by UEs 01 50 Run PHY unitary secuirity tests -01 50 00 aes128_cmac_encrypt -01 50 01 aes128_ctr_decrypt -01 50 02 aes128_ctr_encrypt -01 50 03 secu_kenb -01 50 04 secu_knas -01 50 05 secu_knas_encrypt_eea1 -01 50 06 secu_knas_encrypt_eea2 -01 50 07 secu_knas_encrypt_eia1 -01 50 08 secu_knas_encrypt_eia2 -01 50 09 kdf +01 50 00 test_aes128_cmac_encrypt +01 50 01 test_aes128_ctr_decrypt +01 50 02 test_aes128_ctr_encrypt +01 50 03 test_secu_kenb +01 50 04 test_secu_knas +01 50 05 test_secu_knas_encrypt_eea1 +01 50 06 test_secu_knas_encrypt_eea2 +01 50 07 test_secu_knas_encrypt_eia1 +01 50 08 test_secu_knas_encrypt_eia2 +01 50 09 test_kdf 01 51 Run PHY simulator tests -01 51 00 dlsim -01 51 00 ulsim -01 51 00 pucchsim -01 51 00 prachsim -01 51 00 pdcchsim -01 51 00 pbchsim -01 51 00 mbmssim +01 51 00 dlsim test cases (Test 1: 10 MHz, R2.FDD (MCS 5), EVA5, -1dB), + (Test 5: 1.4 MHz, R4.FDD (MCS 4), EVA5, 0dB (70%)), + (Test 6: 10 MHz, R3.FDD (MCS 15), EVA5, 6.7dB (70%)), + (Test 6b: 5 MHz, R3-1.FDD (MCS 15), EVA5, 6.7dB (70%)), + (Test 7: 5 MHz, R3-1.FDD (MCS 15), EVA5, 6.7dB (30%)), + (Test 7b: 5 MHz, R3-1.FDD (MCS 15), ETU70, 1.4 dB (30%)), + (Test 10: 5 MHz, R6.FDD (MCS 25), EVA5, 17.4 dB (70%)), + (Test 10b: 5 MHz, R6-1.FDD (MCS 24,18 PRB), EVA5, 17.5dB (70%)), + (Test 11: 10 MHz, R7.FDD (MCS 25), EVA5, 17.7dB (70%)) +01 51 01 ulsim Test cases. (Test 1, 5 MHz, FDD (MCS 5), AWGN, 6dB), + (Test 2, 5 MHz, FDD (MCS 16), AWGN , 12dB (70%)), + (Test 3, 10 MHz, R3.FDD (MCS 5), AWGN, 6dB (70%)), + (Test 4, 10 MHz, R3-1.FDD (MCS 16), AWGN, 12dB (70%)), + (Test 5, 20 MHz, FDD (MCS 5), AWGN, 6dB (70%)), + (Test 6, 20 MHz, FDD (MCS 16), AWGN, 12 dB (70%)) +01 51 02 pucchsim (TBD) +01 51 03 prachsim (TBD) +01 51 04 pdcchsim (TBD) +01 51 05 pbchsim (TBD) +01 51 06 mbmssim (TBD) -01 02 01 Run OAI Rel8, and search for execution errors -01 02 02 Run OAI Rel8 in abstraction mode and check that RRC proc is finished completely for the configured number of eNB and UE -01 02 03 Run OAI Rel8 in abstraction mode, send ping from from one eNB to each UE, and check that there is no packet losses -01 02 04 Run OAI Rel8 with full PHY, and check that the RRC proc for eNBsxUEs -01 02 05 Run OAI Rel8 with full PHY in FDD mode, and check that the RRC proc for eNBsxUEs - -01 03 Run OAI Rel10, and check the operation -01 03 00 Run OAI Rel10, and search for segmentation fault or exit -01 03 01 Run OAI Rel10, and search for execution errors -01 03 02 Run OAI Rel10 in abstraction mode, and check the RRC proc for eNBsxUEs -01 03 03 Run OAI Rel10 in full phy mode, and check the RRC proc for eNBsxUEs -01 03 04 Run OAI Rel10 in full phy mode in FDD mode, and check the RRC proc for eNBsxUEs -01 03 05 Run OAI Rel10 with eMBMS enabled, and check the SIB13 and MCCH -01 03 06 Run OAI Rel10 with eMBMS enabled, and check the MTCH -01 03 07 Run OAI Rel10 with eMBMS enabled and FDD mode, and check the MTCH 02 Functional test case diff --git a/cmake_targets/autotests/run_exec_autotests.bash b/cmake_targets/autotests/run_exec_autotests.bash index edf2040f0e..fb1d2e9ae0 100755 --- a/cmake_targets/autotests/run_exec_autotests.bash +++ b/cmake_targets/autotests/run_exec_autotests.bash @@ -35,6 +35,7 @@ cd $tdir #\param $11 -> pre_compile program execution #\param $12 -> class of the test case (compilation, execution) #\param $13 -> output of compilation program that needs to be found for test case to pass +#\param $14 -> tags to help identify the test case for readability in output xml file test_compile() { xUnit_start @@ -52,6 +53,7 @@ test_compile() { pre_compile_prog=${11} class=${12} compile_prog_out=${13} + tags=${14} build_dir=$tdir/$1/build exec_file=$build_dir/$6 @@ -71,18 +73,21 @@ test_compile() { compile_prog_array=() read -a compile_prog_array <<<"$compile_prog" - + + tags_array=() + read -a tags_array <<<"$tags" + pre_compile_prog_array=() readarray -t pre_compile_prog_array <<< "$pre_compile_prog" for (( run_index=1; run_index <= $nruns; run_index++ )) do - + tags_array_index=0 for pre_compile_prog_array_index in "${pre_compile_prog_array[@]}" do - + for compile_prog_array_index in "${compile_prog_array[@]}" do - echo "Compiling test case $test_case_name.$compile_prog_array_index Log file = $log_file" + echo "Compiling test case $test_case_name.$compile_prog_array_index.${tags_array[$tags_array_index]} Log file = $log_file" echo "" >> $log_file rm -fr $build_dir mkdir -p $build_dir @@ -96,13 +101,14 @@ test_compile() { echo "" >> $log_file 2>&1 if [ "$class" == "compilation" ]; then if [ -s "$compile_prog_array_index" ] || [ -s "$compile_prog_out" ] ; then - echo_success "$test_case_name $compile_prog_array_index compiled" - xUnit_success "compilation" "$test_case_name.$compile_prog_array_index" "PASS" "$run_index" + echo_success "$test_case_name.$compile_prog_array_index.${tags_array[$tags_array_index]} compiled" + xUnit_success "compilation" "$test_case_name.$compile_prog_array_index.${tags_array[$tags_array_index]}" "PASS" "$run_index" else - echo_error "$test_case_name $exec_prog compilation failed" - xUnit_fail "compilation" "$test_case_name.$compile_prog_array_index" "FAIL" "$run_index" + echo_error "$test_case_name.$exec_prog.${tags_array[$tags_array_index]} compilation failed" + xUnit_fail "compilation" "$test_case_name.$compile_prog_array_index.${tags_array[$tags_array_index]}" "FAIL" "$run_index" fi fi + let "tags_array_index++" done # End of for loop compile_prog_array done # End of for loop (pre_compile_prog_array_index) done #End of for loop (run_index) @@ -122,6 +128,8 @@ test_compile() { #\param $10 -> number of runs #\param $11 -> pre_compile program execution #\param $12 -> class of the test case (compilation, execution) +#\param $13 -> output of compilation program that needs to be found for test case to pass +#\param $14 -> tags to help identify the test case for readability in output xml file test_compile_and_run() { xUnit_start @@ -132,12 +140,15 @@ test_compile_and_run() { compile_args=$3 pre_exec_file=$4 pre_exec_args=$5 + main_exec=$6 exec_args=$7 search_expr_array=("${!8}") search_expr_negative=$9 nruns=${10} pre_compile_prog=${11} class=${12} + compile_prog_out=${13} + tags=${14} build_dir=$tdir/$1/build exec_file=$build_dir/$6 @@ -160,6 +171,11 @@ test_compile_and_run() { compile_prog_array=() read -a compile_prog_array <<<"$compile_prog" + tags_array=() + read -a tags_array <<<"$tags" + + main_exec_args_array=() + readarray -t main_exec_args_array <<< "$exec_args" for search_expr in "${compile_prog_array[@]}" do @@ -178,14 +194,10 @@ test_compile_and_run() { }>> $log_file 2>&1 echo "" >> $log_file 2>&1 if [ "$class" == "compilation" ]; then - echo "compilation 1" - #TODO: The number of runs for compilation test cases is always 1 if [ -s "$search_expr" ] ; then - echo "compilation 1 pass" echo_success "$test_case_name $search_expr compiled" xUnit_success "compilation" "$test_name.$search_expr" "PASS" 1 else - echo "compilation 1 fail" echo_error "$test_case_name $exec_prog compilation failed" xUnit_fail "compilation" "$test_name.$search_expr" "FAIL" 1 fi @@ -194,69 +206,74 @@ test_compile_and_run() { #process the test case if it is that of execution if [ "$class" == "execution" ]; then - for (( run_index=1; run_index <= $nruns; run_index++ )) + tags_array_index=0 + for main_exec_args_array_index in "${main_exec_args_array[@]}" + do + for (( run_index=1; run_index <= $nruns; run_index++ )) do + echo "Executing test case $test_case_name.$main_exec.${tags_array[$tags_array_index]}, Run Index = $run_index, Log file = $log_file" - echo "Executing test case $test_case_name, Run Index = $run_index, Log file = $log_file" - - echo "-----------------------------------------------------------------------------" >> $log_file 2>&1 - echo "" >> $log_file 2>&1 + echo "-----------------------------------------------------------------------------" >> $log_file 2>&1 + echo "" >> $log_file 2>&1 - if [ -n "$pre_exec_file" ]; then - { eval "source $pre_exec_file $pre_exec_args"; } >> $log_file 2>&1 - fi + if [ -n "$pre_exec_file" ]; then + { eval "source $pre_exec_file $pre_exec_args"; } >> $log_file 2>&1 + fi + echo "Executing $exec_file $main_exec_args_array_index " + echo "Executing $exec_file $main_exec_args_array_index " >> $log_file + { eval "$exec_file $main_exec_args_array_index" ;} > $temp_exec_log 2>&1 - { eval "$exec_file $exec_args" ;} > $temp_exec_log 2>&1 - - cat $temp_exec_log >> $log_file 2>&1 - echo "" >> $log_file 2>&1 + cat $temp_exec_log >> $log_file 2>&1 + echo "" >> $log_file 2>&1 - result=1 - for search_expr in "${search_expr_array[@]}" - do + result=1 + for search_expr in "${search_expr_array[@]}" + do - search_result=`grep -E "$search_expr" $temp_exec_log` + search_result=`grep -E "$search_expr" $temp_exec_log` - #echo "search_expr = $search_expr" - #echo "search_result = $search_result" + #echo "search_expr = $search_expr" + #echo "search_result = $search_result" - if [ -z "$search_result" ]; then - let "result = result & 0" - else - let "result = result & 1" - fi - done + if [ -z "$search_result" ]; then + let "result = result & 0" + else + let "result = result & 1" + fi + done - #echo "result = $result" + #echo "result = $result" - test_case_result="" - if [ "$result" -eq "0" ]; then - test_case_result="FAIL" - fi + test_case_result="" + if [ "$result" -eq "0" ]; then + test_case_result="FAIL" + fi - if [ "$result" -eq "1" ]; then - test_case_result="PASS" - fi + if [ "$result" -eq "1" ]; then + test_case_result="PASS" + fi - #If we find a negative search result then there is crash of program and test case is failed even if above condition is true + #If we find a negative search result then there is crash of program and test case is failed even if above condition is true - search_result=`grep -iE "$search_expr_negative" $temp_exec_log` - if [ -n "$search_result" ]; then - test_case_result="FAIL" - fi + search_result=`grep -iE "$search_expr_negative" $temp_exec_log` + if [ -n "$search_result" ]; then + test_case_result="FAIL" + fi - if [ "$test_case_result" == "FAIL" ]; then - echo_error "execution $test_case_name.$compile_prog FAIL $run_index" - xUnit_fail "execution" "$test_case_name.$compile_prog" "FAIL" "$run_index" - fi + if [ "$test_case_result" == "FAIL" ]; then + echo_error "execution $test_case_name.$compile_prog.${tags_array[$tags_array_index]} FAIL $run_index" + xUnit_fail "execution" "$test_case_name.$compile_prog.${tags_array[$tags_array_index]}" "FAIL" "$run_index" + fi - if [ "$test_case_result" == "PASS" ]; then - echo_success "execution $test_case_name.$compile_prog PASS $run_index" - xUnit_success "execution" "$test_case_name.$compile_prog" "PASS" "$run_index" - fi + if [ "$test_case_result" == "PASS" ]; then + echo_success "execution $test_case_name.$compile_prog.${tags_array[$tags_array_index]} PASS $run_index" + xUnit_success "execution" "$test_case_name.$compile_prog.${tags_array[$tags_array_index]}" "PASS" "$run_index" + fi - # End of for loop - done + + done + let "tags_array_index++" + done # End of for loop (nindex) fi } @@ -299,15 +316,17 @@ Options main () { RUN_GROUP=0 -test_case_list="" +test_case_group="" +test_case_group_array=() +test_case_array=() until [ -z "$1" ] do case "$1" in -g | --run-group) RUN_GROUP=1 - test_case_list=$2 - "Will execute test cases only in group $test_case_list" + test_case_group=$2 + echo_info "Will execute test cases only in group $test_case_group" shift 2;; -h | --help) print_help @@ -319,6 +338,7 @@ until [ -z "$1" ] esac done + xml_conf="$OPENAIR_DIR/cmake_targets/autotests/test_case_list.xml" test_case_list=`xmlstarlet sel -T -t -m /xml/testCaseList/testCase -s A:N:- "@id" -v "@id" -n $xml_conf` @@ -327,8 +347,30 @@ echo "test_case_list = $test_case_list" readarray -t test_case_array <<<"$test_case_list" +read -a test_case_group_array <<< "$test_case_group" + for search_expr in "${test_case_array[@]}" do + flag_run_test_case=0 + # search if this test case needs to be executed + if [ "$RUN_GROUP" -eq "1" ]; then + for search_group in "${test_case_group_array[@]}" + do + if [[ $search_expr == $search_group ]];then + flag_run_test_case=1 + echo_info "Test case $search_expr match found in group" + break + fi + done + else + flag_run_test_case=1 + fi + + #We skip this test case if it is not in the group list + if [ "$flag_run_test_case" -ne "1" ]; then + continue + fi + name=$search_expr class=`xmlstarlet sel -t -v "/xml/testCaseList/testCase[@id='$search_expr']/class" $xml_conf` desc=`xmlstarlet sel -t -v "/xml/testCaseList/testCase[@id='$search_expr']/desc" $xml_conf` @@ -343,6 +385,7 @@ for search_expr in "${test_case_array[@]}" search_expr_false=`xmlstarlet sel -t -v "/xml/testCaseList/testCase[@id='$search_expr']/search_expr_false" $xml_conf` nruns=`xmlstarlet sel -t -v "/xml/testCaseList/testCase[@id='$search_expr']/nruns" $xml_conf` compile_prog_out=`xmlstarlet sel -t -v "/xml/testCaseList/testCase[@id='$search_expr']/compile_prog_out" $xml_conf` + tags=`xmlstarlet sel -t -v "/xml/testCaseList/testCase[@id='$search_expr']/tags" $xml_conf` echo "class = $class" echo "name = $name" @@ -376,9 +419,9 @@ for search_expr in "${test_case_array[@]}" #echo "arg1 = ${search_array_true[0]}" #echo " arg2 = ${search_array_true[1]}" if [ "$class" == "compilation" ]; then - test_compile "$name" "$compile_prog" "$compile_prog_args" "$pre_exec" "$pre_exec_args" "$main_exec" "$main_exec_args" "search_array_true[@]" "$search_expr_false" "$nruns" "$pre_compile_prog" "$class" "$compile_prog_out" - elif "$class" == "execution" ]; then - test_compile_and_run "$name" "$compile_prog" "$compile_prog_args" "$pre_exec" "$pre_exec_args" "$main_exec" "$main_exec_args" "search_array_true[@]" "$search_expr_false" "$nruns" "$pre_compile_prog" "$class" + test_compile "$name" "$compile_prog" "$compile_prog_args" "$pre_exec" "$pre_exec_args" "$main_exec" "$main_exec_args" "search_array_true[@]" "$search_expr_false" "$nruns" "$pre_compile_prog" "$class" "$compile_prog_out" "$tags" + elif [ "$class" == "execution" ]; then + test_compile_and_run "$name" "$compile_prog" "$compile_prog_args" "$pre_exec" "$pre_exec_args" "$main_exec" "$main_exec_args" "search_array_true[@]" "$search_expr_false" "$nruns" "$pre_compile_prog" "$class" "$compile_prog_out" "$tags" else echo "Unexpected class of test case...Exiting...." fi diff --git a/cmake_targets/autotests/test_case_list.xml b/cmake_targets/autotests/test_case_list.xml index 6945d75598..c59989f46b 100644 --- a/cmake_targets/autotests/test_case_list.xml +++ b/cmake_targets/autotests/test_case_list.xml @@ -15,9 +15,7 @@ 2 - - compilation Build oaisim.Rel8 + network device driver(nasmesh_fix) @@ -32,9 +30,7 @@ 1 - - compilation Build lte-softmodem EXMIMO.Rel8 + EXMIMO.Rel10 + USRP.Rel10 @@ -51,9 +47,7 @@ 1 - - - + compilation Build phy unitary simulators + secuirity unitary tests @@ -68,9 +62,7 @@ 1 - - compilation Build oaisim.Rel8 + ITTI @@ -85,9 +77,7 @@ 1 - - compilation Build oaisim_nos1.Rel10 @@ -102,9 +92,7 @@ 1 - - - + compilation Build oaisim.Rel10 + ITTI @@ -119,9 +107,7 @@ 1 - - - + compilation Build Nasmesh @@ -137,9 +123,8 @@ 1 - - + compilation Build RRH Gateway @@ -154,11 +139,604 @@ 1 + + + + execution + Run OAISIM Rel10 TDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) and search for errors, segmentation fault or exit + + oaisim_nos1 + + $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 + + oaisim_nos1 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 1 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 1 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 1 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 2 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 2 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 2 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 5 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 5 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 5 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 6 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 6 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 6 + tdd.5MHz.TM1 tdd.10MHz.TM1 tdd.20MHz.TM1 tdd.5MHz.TM2 tdd.10MHz.TM2 tdd.20MHz.TM2 tdd.5MHz.TM5 tdd.10MHz.TM5 tdd.20MHz.TM5 tdd.5MHz.TM6 tdd.10MHz.TM6 tdd.20MHz.TM6 + "Received RRCConnectionReconfigurationComplete from UE 0" + segmentation fault|assertion|exiting|fatal + 3 + + + + execution + Run OAISIM Rel10 TDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit + + oaisim_nos1 + + $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 + + oaisim_nos1 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 1 -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 1 -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 1 -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 2 -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 2 -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 2 -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 5 -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 5 -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 5 -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 6 -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 6 -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 6 -a + tdd.5MHz.TM1 tdd.10MHz.TM1 tdd.20MHz.TM1 tdd.5MHz.TM2 tdd.10MHz.TM2 tdd.20MHz.TM2 tdd.5MHz.TM5 tdd.10MHz.TM5 tdd.20MHz.TM5 tdd.5MHz.TM6 tdd.10MHz.TM6 tdd.20MHz.TM6 + "Received RRCConnectionReconfigurationComplete from UE 0" + segmentation fault|assertion|exiting|fatal + 3 + + + + execution + Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2,5,6) and search for errors, segmentation fault or exit + + oaisim_nos1 + + $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 + + oaisim_nos1 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 1 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 1 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 1 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 2 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 2 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 2 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 5 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 5 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 5 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 6 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 6 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 6 + tdd.5MHz.TM1 tdd.10MHz.TM1 tdd.20MHz.TM1 tdd.5MHz.TM2 tdd.10MHz.TM2 tdd.20MHz.TM2 tdd.5MHz.TM5 tdd.10MHz.TM5 tdd.20MHz.TM5 tdd.5MHz.TM6 tdd.10MHz.TM6 tdd.20MHz.TM6 + "Received RRCConnectionReconfigurationComplete from UE 0" "Received RRCConnectionReconfigurationComplete from UE 1" "Received RRCConnectionReconfigurationComplete from UE 2" + segmentation fault|assertion|exiting|fatal + 3 + + + + execution + Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit + + oaisim_nos1 + + $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 + + oaisim_nos1 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 1 -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 1 -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 1 -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 2 -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 2 -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 2 -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 5 -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 5 -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 5 -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 6 -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 6 -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 6 -a + tdd.5MHz.TM1 tdd.10MHz.TM1 tdd.20MHz.TM1 tdd.5MHz.TM2 tdd.10MHz.TM2 tdd.20MHz.TM2 tdd.5MHz.TM5 tdd.10MHz.TM5 tdd.20MHz.TM5 tdd.5MHz.TM6 tdd.10MHz.TM6 tdd.20MHz.TM6 + "Received RRCConnectionReconfigurationComplete from UE 0" "Received RRCConnectionReconfigurationComplete from UE 1" "Received RRCConnectionReconfigurationComplete from UE 2" + segmentation fault|assertion|exiting|fatal + 3 + + + + execution + Run OAI Rel10 TDD, 1 eNB + 1 UE (5 MHz) without abstraction mode, send ping from from eNB to UE, and check that there is no packet losses + + oaisim_nos1 + + $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 + + oaisim_nos1 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 1 -c26 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 1 -c26 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 1 -c26 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 2 -c26 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 2 -c26 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 2 -c26 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 5 -c26 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 5 -c26 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 5 -c26 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 6 -c26 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 6 -c26 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 6 -c26 + tdd.5MHz.TM1 tdd.10MHz.TM1 tdd.20MHz.TM1 tdd.5MHz.TM2 tdd.10MHz.TM2 tdd.20MHz.TM2 tdd.5MHz.TM5 tdd.10MHz.TM5 tdd.20MHz.TM5 tdd.5MHz.TM6 tdd.10MHz.TM6 tdd.20MHz.TM6 + "DL and UL loss rate below 10" + segmentation fault|assertion|exiting|fatal + 3 + + + + execution + Run OAI Rel10 TDD, 1 eNB + 1 UE (5 MHz) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check that there is no packet losses + + oaisim_nos1 + + $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 + + oaisim_nos1 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 1 -c26 -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 1 -c26 -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 1 -c26 -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 2 -c26 -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 2 -c26 -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 2 -c26 -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 5 -c26 -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 5 -c26 -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 5 -c26 -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 6 -c26 -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 6 -c26 -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 6 -c26 -a + tdd.5MHz.TM1 tdd.10MHz.TM1 tdd.20MHz.TM1 tdd.5MHz.TM2 tdd.10MHz.TM2 tdd.20MHz.TM2 tdd.5MHz.TM5 tdd.10MHz.TM5 tdd.20MHz.TM5 tdd.5MHz.TM6 tdd.10MHz.TM6 tdd.20MHz.TM6 + "DL and UL loss rate below 10" + segmentation fault|assertion|exiting|fatal + 3 + + + + execution + Run OAISIM Rel10 FDD, 1 eNB + 1 UE 1 eNB (5 MHz/10MHz/20MHz), (TM 1,2,5,6) and search for errors, segmentation fault or exit + + oaisim_nos1 + + $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 + + oaisim_nos1 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 1 -F + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 1 -F + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 1 -F + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 2 -F + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 2 -F + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 2 -F + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 5 -F + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 5 -F + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 5 -F + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 6 -F + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 6 -F + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 6 -F + FDD.5MHz.TM1 FDD.10MHz.TM1 FDD.20MHz.TM1 FDD.5MHz.TM2 FDD.10MHz.TM2 FDD.20MHz.TM2 FDD.5MHz.TM5 FDD.10MHz.TM5 FDD.20MHz.TM5 FDD.5MHz.TM6 FDD.10MHz.TM6 FDD.20MHz.TM6 + "Received RRCConnectionReconfigurationComplete from UE 0" + segmentation fault|assertion|exiting|fatal + 3 + + + + execution + Run OAISIM Rel10 FDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode and search for errors + + oaisim_nos1 + + $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 + + oaisim_nos1 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 1 -F -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 1 -F -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 1 -F -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 2 -F -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 2 -F -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 2 -F -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 5 -F -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 5 -F -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 5 -F -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 6 -F -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 6 -F -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 6 -F -a + FDD.5MHz.TM1 FDD.10MHz.TM1 FDD.20MHz.TM1 FDD.5MHz.TM2 FDD.10MHz.TM2 FDD.20MHz.TM2 FDD.5MHz.TM5 FDD.10MHz.TM5 FDD.20MHz.TM5 FDD.5MHz.TM6 FDD.10MHz.TM6 FDD.20MHz.TM6 + "Received RRCConnectionReconfigurationComplete from UE 0" + segmentation fault|assertion|exiting|fatal + 3 + + + + execution + Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2,5,6) and search for errors, segmentation fault or exit + + oaisim_nos1 + + $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 + + oaisim_nos1 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 1 -F + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 1 -F + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 1 -F + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 2 -F + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 2 -F + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 2 -F + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 5 -F + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 5 -F + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 5 -F + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 6 -F + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 6 -F + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 6 -F + FDD.5MHz.TM1 FDD.10MHz.TM1 FDD.20MHz.TM1 FDD.5MHz.TM2 FDD.10MHz.TM2 FDD.20MHz.TM2 FDD.5MHz.TM5 FDD.10MHz.TM5 FDD.20MHz.TM5 FDD.5MHz.TM6 FDD.10MHz.TM6 FDD.20MHz.TM6 + "Received RRCConnectionReconfigurationComplete from UE 0" "Received RRCConnectionReconfigurationComplete from UE 1" "Received RRCConnectionReconfigurationComplete from UE 2" + segmentation fault|assertion|exiting|fatal + 3 + + + + execution + Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode and search for errors + + oaisim_nos1 + + $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 + + oaisim_nos1 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 1 -F -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 1 -F -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 1 -F -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 2 -F -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 2 -F -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 2 -F -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 5 -F -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 5 -F -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 5 -F -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 6 -F -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 6 -F -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 6 -F -a + FDD.5MHz.TM1 FDD.10MHz.TM1 FDD.20MHz.TM1 FDD.5MHz.TM2 FDD.10MHz.TM2 FDD.20MHz.TM2 FDD.5MHz.TM5 FDD.10MHz.TM5 FDD.20MHz.TM5 FDD.5MHz.TM6 FDD.10MHz.TM6 FDD.20MHz.TM6 + "Received RRCConnectionReconfigurationComplete from UE 0" "Received RRCConnectionReconfigurationComplete from UE 1" "Received RRCConnectionReconfigurationComplete from UE 2" + segmentation fault|assertion|exiting|fatal + 3 + + + + execution + Run OAI Rel10 FDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) without PHY_ABSTRACTION mode, ping from from eNB to UE, and for check for no packet losses + + oaisim_nos1 + + $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 + + oaisim_nos1 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 1 -F -c26 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 1 -F -c26 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 1 -F -c26 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 2 -F -c26 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 2 -F -c26 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 2 -F -c26 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 5 -F -c26 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 5 -F -c26 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 5 -F -c26 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 6 -F -c26 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 6 -F -c26 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 6 -F -c26 + FDD.5MHz.TM1 FDD.10MHz.TM1 FDD.20MHz.TM1 FDD.5MHz.TM2 FDD.10MHz.TM2 FDD.20MHz.TM2 FDD.5MHz.TM5 FDD.10MHz.TM5 FDD.20MHz.TM5 FDD.5MHz.TM6 FDD.10MHz.TM6 FDD.20MHz.TM6 + "DL and UL loss rate below 10" + segmentation fault|assertion|exiting|fatal + 3 + + + + execution + Run OAI Rel10 FDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check for no packet losses + + oaisim_nos1 + + $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 + + oaisim_nos1 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 1 -F -c26 -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 1 -F -c26 -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 1 -F -c26 -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 2 -F -c26 -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 2 -F -c26 -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 2 -F -c26 -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 5 -F -c26 -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 5 -F -c26 -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 5 -F -c26 -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 6 -F -c26 -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 6 -F -c26 -a + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 6 -F -c26 -a + FDD.5MHz.TM1 FDD.10MHz.TM1 FDD.20MHz.TM1 FDD.5MHz.TM2 FDD.10MHz.TM2 FDD.20MHz.TM2 FDD.5MHz.TM5 FDD.10MHz.TM5 FDD.20MHz.TM5 FDD.5MHz.TM6 FDD.10MHz.TM6 FDD.20MHz.TM6 + "DL and UL loss rate below 10" + segmentation fault|assertion|exiting|fatal + 3 + + + + execution + Check if eMBMS procedure is not finished completely, make sure that the SIB13/MCCH have been correclty received by UEs + + oaisim_nos1 + + $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 + + oaisim_nos1 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -l7 -x 1 -Q3 -n 100 -b1 -u1 + "Found MBSFNAreaConfiguration from eNB 0" + segmentation fault|assertion|exiting|fatal + 3 + + + + execution + Check if eMBMS multicast/broadcast data is received, make sure that the SIB13/MCCH/MTCH have been correclty received by UEs + + oaisim_nos1 + + $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 + + oaisim_nos1 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -l7 -x 1 -T mscbr -Q3 -n 100 -b1 -u1 + "Received a multicast packet" + segmentation fault|assertion|exiting|fatal + 3 + + + + execution + Check for eMBMS multicast/broadcast data received in fdd mode, make sure that the SIB13/MCCH/MTCH have been correclty received by UEs + + oaisim_nos1 + + $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 + + oaisim_nos1 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -l7 -F -T mscbr -x 1 -Q3 -n 100 -b1 -u1 + "Received a multicast packet" + segmentation fault|assertion|exiting|fatal + 3 + + + + execution + Check for eMBMS multicast/broadcast DF relaying working properly in fdd mode, make sure that the SIB13/MCCH/MTCH have been correclty received by UEs + + oaisim_nos1 + + $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 + + oaisim_nos1 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -l7 -c43 -F -T mbvbr -Q4 -j1 -n120 + "MTCH for sync area 1" + segmentation fault|assertion|exiting|fatal + 3 + + + + execution + test_aes128_cmac_encrypt + + test_aes128_cmac_encrypt + + + + test_aes128_cmac_encrypt + --verbose + "finished with 0 errors" + segmentation fault|assertion|exiting|fatal + 3 + + + + execution + test_aes128_ctr_decrypt + + test_aes128_ctr_decrypt + + + + test_aes128_ctr_decrypt + --verbose + "finished with 0 errors" + segmentation fault|assertion|exiting|fatal + 3 + + + + execution + test_aes128_ctr_encrypt + + test_aes128_ctr_encrypt + + + + test_aes128_ctr_encrypt + --verbose + "finished with 0 errors" + segmentation fault|assertion|exiting|fatal + 3 + + + + execution + test_secu_kenb + + test_secu_kenb + + + + test_secu_kenb + --verbose + "finished with 0 errors" + segmentation fault|assertion|exiting|fatal + 3 + + + + execution + test_secu_knas + + test_secu_knas + + + + test_secu_knas + --verbose + "finished with 0 errors" + segmentation fault|assertion|exiting|fatal + 3 + + + + execution + test_secu_knas_encrypt_eea1 + + test_secu_knas_encrypt_eea1 + + + + test_secu_knas_encrypt_eea1 + --verbose + "finished with 0 errors" + segmentation fault|assertion|exiting|fatal + 3 + + + + execution + test_secu_knas_encrypt_eea2 + + test_secu_knas_encrypt_eea2 + + + + test_secu_knas_encrypt_eea2 + --verbose + "finished with 0 errors" + segmentation fault|assertion|exiting|fatal + 3 + + + + execution + test_secu_knas_encrypt_eia1 + + test_secu_knas_encrypt_eia1 + + + + test_secu_knas_encrypt_eia1 + --verbose + "finished with 0 errors" + segmentation fault|assertion|exiting|fatal + 3 + + + + execution + test_secu_knas_encrypt_eia2 + + test_secu_knas_encrypt_eia2 + + + + test_secu_knas_encrypt_eia2 + --verbose + "finished with 0 errors" + segmentation fault|assertion|exiting|fatal + 3 + + + + execution + test_kdf + + test_kdf + + + + test_kdf + --verbose + "finished with 0 errors" + segmentation fault|assertion|exiting|fatal + 3 + + + + execution + dlsim test cases (Test 1: 10 MHz, R2.FDD (MCS 5), EVA5, -1dB), + (Test 5: 1.4 MHz, R4.FDD (MCS 4), EVA5, 0dB (70%)), + (Test 6, 10 MHz, R3.FDD (MCS 15), EVA5, 6.7dB (70%)), + (Test 6b, 5 MHz, R3-1.FDD (MCS 15), EVA5, 6.7dB (70%)), + (Test 7, 5 MHz, R3-1.FDD (MCS 15), EVA5, 6.7dB (30%)), + (Test 7b, 5 MHz, R3-1.FDD (MCS 15), ETU70, 1.4 dB (30%)), + (Test 10, 5 MHz, R6.FDD (MCS 25), EVA5, 17.4 dB (70%)), + (Test 10b, 5 MHz, R6-1.FDD (MCS 24,18 PRB), EVA5, 17.5dB (70%)), + (Test 11, 10 MHz, R7.FDD (MCS 25), EVA5, 17.7dB (70%)) + + + dlsim + + + + dlsim + -m5 -gF -s-1 -w1.0 -f.2 -n500 -B50 -c2 -z2 -O70 -L + -m4 -gF -s0 -w1.0 -f.2 -n500 -B6 -c4 -z2 -O70 + -m15 -gF -s6.7 -w1.0 -f.2 -n500 -B50 -c2 -z2 -O70 -L + -m14 -gF -s6.7 -w1.0 -f.2 -n500 -B25 -c3 -z2 -O70 -L + -m15 -gG -s6.7 -w1.0 -f.2 -n500 -B50 -c2 -z2 -O30 -L + -m14 -gG -s1.4 -w1.0 -f.2 -n500 -B25 -c3 -z2 -O30 -L + -m25 -gF -s17.4 -w1.0 -f.2 -n500 -B25 -c3 -z2 -O70 -L + -m25 -gF -s17.5 -w1.0 -f.2 -n500 -B25 -c3 -z2 -r1022 -O70 -L + -m26 -gF -s17.7 -w1.0 -f.2 -n500 -B50 -c2 -z2 -O70 -L + test1 test5 test6 test6b test7 test7b test10 test10b test11 + "passed" + segmentation fault|assertion|exiting|fatal + 3 + + + + execution + ulsim Test cases. (Test 1, 5 MHz, FDD (MCS 5), AWGN, 6dB), + (Test 2, 5 MHz, FDD (MCS 16), AWGN , 12dB (70%)), + (Test 3, 10 MHz, R3.FDD (MCS 5), AWGN, 6dB (70%)), + (Test 4, 10 MHz, R3-1.FDD (MCS 16), AWGN, 12dB (70%)), + (Test 5, 20 MHz, FDD (MCS 5), AWGN, 6dB (70%)), + (Test 6, 20 MHz, FDD (MCS 16), AWGN, 12 dB (70%)) + + ulsim + + + + ulsim + -B25 -m5 -y1 -gN -x1 -s6 -w1.0 -e.1 -P -n500 -O70 -L + -B25 -m16 -y1 -gN -x1 -s12 -w1.0 -e.1 -P -n500 -O70 -L + -B50 -m5 -y1 -gN -x1 -s6 -w1.0 -e.1 -P -n500 -O70 -L + -B50 -m16 -y1 -gN -x1 -s12 -w1.0 -e.1 -P -n500 -O70 -L + -B100 -m5 -y1 -gN -x1 -s6 -w1.0 -e.1 -P -n500 -O70 -L + -B100 -m16 -y1 -gN -x1 -s12 -w1.0 -e.1 -P -n500 -O70 -L + test1 test2 test3 test4 test5 test6 + "passed" + segmentation fault|assertion|exiting|fatal + 3 + + + - - - diff --git a/cmake_targets/tools/test_helper b/cmake_targets/tools/test_helper index 628567e762..35752e9d20 100644 --- a/cmake_targets/tools/test_helper +++ b/cmake_targets/tools/test_helper @@ -33,7 +33,7 @@ xUnit_fail() { currtime=$(date +%s.%N) time=$(echo "$currtime - $XUNIT_START" | bc -l) xml="" - XUNIT_TESTCASES_XML="$xml \n$XUNIT_TESTCASES_XML" + XUNIT_TESTCASES_XML="$XUNIT_TESTCASES_XML \n$xml" XUNIT_FAILED=$((XUNIT_FAILED+1)) } @@ -52,7 +52,7 @@ xUnit_success() { currtime=$(date +%s.%N) time=$(echo "$currtime - $XUNIT_START" | bc -l) xml="" - XUNIT_TESTCASES_XML="$xml \n$XUNIT_TESTCASES_XML" + XUNIT_TESTCASES_XML="$XUNIT_TESTCASES_XML \n$xml" XUNIT_SUCCESS=$((XUNIT_SUCCESS+1)) } From 6dd87747e3ebfff4791ab4db9e80e6a99e6f3b3e Mon Sep 17 00:00:00 2001 From: Raymond Knopp Date: Tue, 13 Oct 2015 07:19:14 -0700 Subject: [PATCH 07/85] Fixes TM2 UE performance. Issues were related to improper RE extraction for 5 MHz channels. --- .../PHY/LTE_TRANSPORT/dlsch_demodulation.c | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c b/openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c index 467b90326e..0fc060d207 100644 --- a/openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c +++ b/openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c @@ -53,7 +53,7 @@ #endif //#define DEBUG_PHY 1 -//#define DEBUG_DLSCH_DEMOD 1 +#define DEBUG_DLSCH_DEMOD 1 int avg[4]; @@ -3091,19 +3091,21 @@ void dlsch_alamouti(LTE_DL_FRAME_PARMS *frame_parms, ch_mag1 = (__m128i *)&dl_ch_mag[2][jj]; ch_mag0b = (__m128i *)&dl_ch_magb[0][jj]; ch_mag1b = (__m128i *)&dl_ch_magb[2][jj]; - + for (rb=0; rb>(prb-96)) & 1; else rb_alloc_ind = 0; + + if (rb_alloc_ind == 1) + nb_rb++; // PBCH if ((subframe==0) && @@ -3907,7 +3912,6 @@ unsigned short dlsch_extract_rbs_dual(int **rxdataF, rxF_ext+=8; } // pilots==1 - nb_rb++; } else { // Odd number of RBs @@ -3997,7 +4001,7 @@ unsigned short dlsch_extract_rbs_dual(int **rxdataF, memcpy(dl_ch0_ext,dl_ch0p,12*sizeof(int32_t)); memcpy(dl_ch1_ext,dl_ch1p,12*sizeof(int32_t)); memcpy(rxF_ext,rxF,12*sizeof(int32_t)); - for (i=0;i<12;i++) + // for (i=0;i<12;i++) // printf("extract rb %d, re %d => (%d,%d)\n",prb,i,*(short *)&rxF_ext[i],*(1+(short*)&rxF_ext[i])); dl_ch0_ext+=12; dl_ch1_ext+=12; @@ -4050,7 +4054,6 @@ unsigned short dlsch_extract_rbs_dual(int **rxdataF, rxF_ext+=8; } //skip_half==0 } //pilots==1 - nb_rb++; } else { // Do middle RB (around DC) if (pilots==0) { @@ -4067,7 +4070,7 @@ unsigned short dlsch_extract_rbs_dual(int **rxdataF, dl_ch0p+=6; dl_ch1p+=6; - rxF = &rxdataF[aarx][((symbol*(frame_parms->ofdm_symbol_size)))]; + rxF = &rxdataF[aarx][1+((symbol*(frame_parms->ofdm_symbol_size)))]; memcpy(dl_ch0_ext,dl_ch0p,6*sizeof(int32_t)); memcpy(dl_ch1_ext,dl_ch1p,6*sizeof(int32_t)); @@ -4090,14 +4093,14 @@ unsigned short dlsch_extract_rbs_dual(int **rxdataF, //printf("(pilots)extract rb %d, re %d => (%d,%d)\n",prb,i,*(short *)&rxF[i],*(1+(short*)&rxF[i])); } } - rxF = &rxdataF[aarx][symbol*(frame_parms->ofdm_symbol_size)]; + rxF = &rxdataF[aarx][1+symbol*(frame_parms->ofdm_symbol_size)]; for (; i<12; i++) { if ((i!=((frame_parms->nushift+6)%12)) && (i!=((frame_parms->nushift+9)%12))) { dl_ch0_ext[j]=dl_ch0p[i]; dl_ch1_ext[j]=dl_ch1p[i]; - rxF_ext[j++]=rxF[(1+i-6)]; + rxF_ext[j++]=rxF[(i-6)]; //printf("(pilots)extract rb %d, re %d => (%d,%d)\n",prb,i,*(short *)&rxF[1+i-6],*(1+(short*)&rxF[1+i-6])); } } @@ -4106,7 +4109,6 @@ unsigned short dlsch_extract_rbs_dual(int **rxdataF, dl_ch1_ext+=8; rxF_ext+=8; } //pilots==1 - nb_rb++; } // if Middle PRB } // if odd PRB } // if rballoc==1 From 5c30151d28f1ac3d2f14202e1ada2ad5559d0317 Mon Sep 17 00:00:00 2001 From: Florian Kaltenberger Date: Tue, 13 Oct 2015 23:29:07 +0200 Subject: [PATCH 08/85] fixes issue 40 --- openair1/PHY/LTE_TRANSPORT/proto.h | 7 +- openair1/SIMULATION/LTE_PHY/dlsim.c | 20 +-- openair1/SIMULATION/LTE_PHY/mbmssim.c | 26 +--- openair1/SIMULATION/LTE_PHY/pbchsim.c | 12 +- openair1/SIMULATION/LTE_PHY/pdcchsim.c | 22 +-- openair1/SIMULATION/LTE_PHY/prachsim.c | 5 +- openair1/SIMULATION/LTE_PHY/pucchsim.c | 5 +- openair1/SIMULATION/LTE_PHY/ulsim.c | 24 +--- openair1/SIMULATION/TOOLS/abstraction.c | 2 +- openair1/SIMULATION/TOOLS/defs.h | 11 +- .../SIMULATION/TOOLS/multipath_tv_channel.c | 8 +- openair1/SIMULATION/TOOLS/random_channel.c | 127 ++++++++++++++---- targets/SIMU/USER/channel_sim.c | 8 +- targets/SIMU/USER/oaisim_functions.c | 32 +++-- targets/SIMU/USER/sinr_sim.c | 6 +- 15 files changed, 167 insertions(+), 148 deletions(-) diff --git a/openair1/PHY/LTE_TRANSPORT/proto.h b/openair1/PHY/LTE_TRANSPORT/proto.h index eb32aab24e..9891128456 100644 --- a/openair1/PHY/LTE_TRANSPORT/proto.h +++ b/openair1/PHY/LTE_TRANSPORT/proto.h @@ -72,8 +72,11 @@ LTE_eNB_DLSCH_t *new_eNB_dlsch(uint8_t Kmimo,uint8_t Mdlharq,uint8_t N_RB_DL, ui */ void free_ue_dlsch(LTE_UE_DLSCH_t *dlsch); +LTE_eNB_ULSCH_t *new_eNB_ulsch(uint8_t Mdlharq,uint8_t max_turbo_iterations,uint8_t N_RB_UL, uint8_t abstraction_flag); + LTE_UE_DLSCH_t *new_ue_dlsch(uint8_t Kmimo,uint8_t Mdlharq,uint8_t max_turbo_iterations,uint8_t N_RB_DL, uint8_t abstraction_flag); +LTE_UE_ULSCH_t *new_ue_ulsch(unsigned char Mdlharq,unsigned char N_RB_UL, uint8_t abstraction_flag); void clean_eNb_ulsch(LTE_eNB_ULSCH_t *ulsch, uint8_t abstraction_flag); @@ -1764,7 +1767,9 @@ double computeRhoB_UE(PDSCH_CONFIG_DEDICATED *pdsch_config_dedicated, LTE_UE_DLSCH_t *dlsch_ue); */ - uint8_t get_prach_prb_offset(LTE_DL_FRAME_PARMS *frame_parms, uint8_t tdd_mapindex, uint16_t Nf); +uint8_t get_prach_prb_offset(LTE_DL_FRAME_PARMS *frame_parms, uint8_t tdd_mapindex, uint16_t Nf); + +uint8_t ul_subframe2pdcch_alloc_subframe(LTE_DL_FRAME_PARMS *frame_parms,uint8_t n); /**@}*/ #endif diff --git a/openair1/SIMULATION/LTE_PHY/dlsim.c b/openair1/SIMULATION/LTE_PHY/dlsim.c index 28e7bc8216..08ecfe9dde 100644 --- a/openair1/SIMULATION/LTE_PHY/dlsim.c +++ b/openair1/SIMULATION/LTE_PHY/dlsim.c @@ -326,7 +326,7 @@ int main(int argc, char **argv) uint32_t DLSCH_RB_ALLOC = 0x1fff; int numCCE=0; int dci_length_bytes=0,dci_length=0; - double BW = 5.0; + //double channel_bandwidth = 5.0, sampling_rate=7.68; int common_flag=0,TPC=0; double cpu_freq_GHz; @@ -680,27 +680,19 @@ int main(int argc, char **argv) switch (N_RB_DL) { case 6: if (rballocset==0) DLSCH_RB_ALLOC = 0x3f; - - BW = 1.25; num_pdcch_symbols = 3; break; case 25: if (rballocset==0) DLSCH_RB_ALLOC = 0x1fff; - - BW = 5.00; break; case 50: if (rballocset==0) DLSCH_RB_ALLOC = 0x1ffff; - - BW = 10.00; break; case 100: if (rballocset==0) DLSCH_RB_ALLOC = 0x1ffffff; - - BW = 20.00; break; } @@ -708,8 +700,6 @@ int main(int argc, char **argv) } else NB_RB = 4; - NB_RB=conv_nprb(0,DLSCH_RB_ALLOC,N_RB_DL); - if ((transmission_mode > 1) && (n_tx != 2)) printf("n_tx must be >1 for transmission_mode %d\n",transmission_mode); @@ -955,7 +945,8 @@ int main(int argc, char **argv) eNB2UE[0] = new_channel_desc_scm(PHY_vars_eNB->lte_frame_parms.nb_antennas_tx, PHY_vars_UE->lte_frame_parms.nb_antennas_rx, channel_model, - BW, + N_RB2sampling_rate(PHY_vars_eNB->lte_frame_parms.N_RB_DL), + N_RB2channel_bandwidth(PHY_vars_eNB->lte_frame_parms.N_RB_DL), forgetting_factor, rx_sample_offset, 0); @@ -965,8 +956,9 @@ int main(int argc, char **argv) eNB2UE[n] = new_channel_desc_scm(PHY_vars_eNB->lte_frame_parms.nb_antennas_tx, PHY_vars_UE->lte_frame_parms.nb_antennas_rx, channel_model, - BW, - forgetting_factor, + N_RB2sampling_rate(PHY_vars_eNB->lte_frame_parms.N_RB_DL), + N_RB2channel_bandwidth(PHY_vars_eNB->lte_frame_parms.N_RB_DL), + forgetting_factor, rx_sample_offset, 0); } diff --git a/openair1/SIMULATION/LTE_PHY/mbmssim.c b/openair1/SIMULATION/LTE_PHY/mbmssim.c index 862edaa864..0c31365587 100644 --- a/openair1/SIMULATION/LTE_PHY/mbmssim.c +++ b/openair1/SIMULATION/LTE_PHY/mbmssim.c @@ -54,8 +54,6 @@ #include "OCG_vars.h" -//#define BW 5.0 - PHY_VARS_eNB *PHY_vars_eNB; PHY_VARS_UE *PHY_vars_UE; @@ -172,7 +170,6 @@ int main(int argc, char **argv) unsigned int trials,errs[4]= {0,0,0,0}; //,round_trials[4]={0,0,0,0}; uint8_t N_RB_DL=25,osf=1; - double BW=5.0; uint32_t perfect_ce = 0; lte_frame_type_t frame_type = FDD; @@ -255,27 +252,9 @@ int main(int argc, char **argv) case 'R': N_RB_DL = atoi(optarg); - switch (N_RB_DL) { - case 6: - BW=1.25; - break; - - case 25: - BW=5.0; - break; - - case 50: - BW=10.0; - break; - - case 100: - BW=20.0; - break; - - default: + if ((N_RB_DL!=6) && (N_RB_DL!=25) && (N_RB_DL!=50) && (N_RB_DL!=100)) { printf("Unsupported Bandwidth %d\n",N_RB_DL); exit(-1); - break; } break; @@ -397,7 +376,8 @@ int main(int argc, char **argv) eNB2UE = new_channel_desc_scm(PHY_vars_eNB->lte_frame_parms.nb_antennas_tx, PHY_vars_UE->lte_frame_parms.nb_antennas_rx, channel_model, - BW, + N_RB2sampling_rate(PHY_vars_eNB->lte_frame_parms.N_RB_DL), + N_RB2channel_bandwidth(PHY_vars_eNB->lte_frame_parms.N_RB_DL), 0, 0, 0); diff --git a/openair1/SIMULATION/LTE_PHY/pbchsim.c b/openair1/SIMULATION/LTE_PHY/pbchsim.c index 5aa3fac997..b7f9f57b6b 100644 --- a/openair1/SIMULATION/LTE_PHY/pbchsim.c +++ b/openair1/SIMULATION/LTE_PHY/pbchsim.c @@ -53,9 +53,6 @@ #include "OCG_vars.h" -#define BW 5.0 - - PHY_VARS_eNB *PHY_vars_eNb,*PHY_vars_eNb1,*PHY_vars_eNb2; PHY_VARS_UE *PHY_vars_UE; @@ -485,7 +482,8 @@ int main(int argc, char **argv) eNB2UE = new_channel_desc_scm(PHY_vars_eNb->lte_frame_parms.nb_antennas_tx, PHY_vars_UE->lte_frame_parms.nb_antennas_rx, channel_model, - BW, + N_RB2sampling_rate(PHY_vars_eNb->lte_frame_parms.N_RB_DL), + N_RB2channel_bandwidth(PHY_vars_eNb->lte_frame_parms.N_RB_DL), 0, 0, 0); @@ -494,7 +492,8 @@ int main(int argc, char **argv) eNB2UE1 = new_channel_desc_scm(PHY_vars_eNb->lte_frame_parms.nb_antennas_tx, PHY_vars_UE->lte_frame_parms.nb_antennas_rx, channel_model, - BW, + N_RB2sampling_rate(PHY_vars_eNb->lte_frame_parms.N_RB_DL), + N_RB2channel_bandwidth(PHY_vars_eNb->lte_frame_parms.N_RB_DL), 0, 4, 0); @@ -503,7 +502,8 @@ int main(int argc, char **argv) eNB2UE2 = new_channel_desc_scm(PHY_vars_eNb->lte_frame_parms.nb_antennas_tx, PHY_vars_UE->lte_frame_parms.nb_antennas_rx, channel_model, - BW, + N_RB2sampling_rate(PHY_vars_eNb->lte_frame_parms.N_RB_DL), + N_RB2channel_bandwidth(PHY_vars_eNb->lte_frame_parms.N_RB_DL), 0, 8, 0); diff --git a/openair1/SIMULATION/LTE_PHY/pdcchsim.c b/openair1/SIMULATION/LTE_PHY/pdcchsim.c index caa7e1248d..7a36132980 100644 --- a/openair1/SIMULATION/LTE_PHY/pdcchsim.c +++ b/openair1/SIMULATION/LTE_PHY/pdcchsim.c @@ -552,7 +552,6 @@ int main(int argc, char **argv) uint32_t *txptr; int aarx; int k; - double BW=5.0; uint32_t perfect_ce = 0; number_of_cards = 1; @@ -840,28 +839,11 @@ int main(int argc, char **argv) subframe,NUMBER_OF_OFDM_CARRIERS, PHY_vars_eNB->lte_frame_parms.Ncp,PHY_vars_eNB->lte_frame_parms.samples_per_tti,nsymb); - switch (N_RB_DL) { - case 6: - BW = 1.25; - break; - - case 25: - BW = 5.00; - break; - - case 50: - BW = 10.00; - break; - - case 100: - BW = 20.00; - break; - } - eNB2UE = new_channel_desc_scm(PHY_vars_eNB->lte_frame_parms.nb_antennas_tx_eNB, PHY_vars_UE->lte_frame_parms.nb_antennas_rx, channel_model, - BW, + N_RB2sampling_rate(PHY_vars_eNB->lte_frame_parms.N_RB_DL), + N_RB2channel_bandwidth(PHY_vars_eNB->lte_frame_parms.N_RB_DL), 0, 0, 0); diff --git a/openair1/SIMULATION/LTE_PHY/prachsim.c b/openair1/SIMULATION/LTE_PHY/prachsim.c index eeca52a274..4df53b053f 100644 --- a/openair1/SIMULATION/LTE_PHY/prachsim.c +++ b/openair1/SIMULATION/LTE_PHY/prachsim.c @@ -47,8 +47,6 @@ #include "OCG_vars.h" -#define BW 5.0 - int current_dlsch_cqi; //FIXME! PHY_VARS_eNB *PHY_vars_eNB; @@ -412,7 +410,8 @@ int main(int argc, char **argv) UE2eNB = new_channel_desc_scm(PHY_vars_UE->lte_frame_parms.nb_antennas_tx, PHY_vars_eNB->lte_frame_parms.nb_antennas_rx, channel_model, - BW, + N_RB2sampling_rate(PHY_vars_eNB->lte_frame_parms.N_RB_UL), + N_RB2channel_bandwidth(PHY_vars_eNB->lte_frame_parms.N_RB_UL), 0.0, delay, 0); diff --git a/openair1/SIMULATION/LTE_PHY/pucchsim.c b/openair1/SIMULATION/LTE_PHY/pucchsim.c index 919bec144d..d9a3367b90 100644 --- a/openair1/SIMULATION/LTE_PHY/pucchsim.c +++ b/openair1/SIMULATION/LTE_PHY/pucchsim.c @@ -49,8 +49,6 @@ #include "OCG_vars.h" #include "UTIL/LOG/log_extern.h" -#define BW 5.0 - int current_dlsch_cqi; //FIXME! PHY_VARS_eNB *PHY_vars_eNB; @@ -418,7 +416,8 @@ int main(int argc, char **argv) UE2eNB = new_channel_desc_scm(PHY_vars_eNB->lte_frame_parms.nb_antennas_tx, PHY_vars_UE->lte_frame_parms.nb_antennas_rx, channel_model, - BW, + N_RB2sampling_rate(PHY_vars_eNB->lte_frame_parms.N_RB_UL), + N_RB2channel_bandwidth(PHY_vars_eNB->lte_frame_parms.N_RB_UL), 0.0, 0, 0); diff --git a/openair1/SIMULATION/LTE_PHY/ulsim.c b/openair1/SIMULATION/LTE_PHY/ulsim.c index dd697899b8..42cbb72244 100644 --- a/openair1/SIMULATION/LTE_PHY/ulsim.c +++ b/openair1/SIMULATION/LTE_PHY/ulsim.c @@ -58,23 +58,11 @@ extern unsigned short dftsizes[33]; extern short *ul_ref_sigs[30][2][33]; -//#define AWGN -//#define NO_DCI -#define BW 7.68 -//#define ABSTRACTION -//#define PERFECT_CE - -/* - #define RBmask0 0x00fc00fc - #define RBmask1 0x0 - #define RBmask2 0x0 - #define RBmask3 0x0 -*/ PHY_VARS_eNB *PHY_vars_eNB; PHY_VARS_UE *PHY_vars_UE; -#define MCS_COUNT 23//added for PHY abstraction +//#define MCS_COUNT 23//added for PHY abstraction channel_desc_t *eNB2UE[NUMBER_OF_eNB_MAX][NUMBER_OF_UE_MAX]; channel_desc_t *UE2eNB[NUMBER_OF_UE_MAX][NUMBER_OF_eNB_MAX]; @@ -155,11 +143,6 @@ void lte_param_init(unsigned char N_tx, unsigned char N_rx,unsigned char transmi -#define UL_RB_ALLOC 0x1ff; - - - - int main(int argc, char **argv) { @@ -172,8 +155,6 @@ int main(int argc, char **argv) double input_snr_step=.2,snr_int=30; double blerr; - //int **txdataF, **txdata; - int **txdata; LTE_DL_FRAME_PARMS *frame_parms; @@ -680,7 +661,8 @@ int main(int argc, char **argv) UE2eNB = new_channel_desc_scm(PHY_vars_eNB->lte_frame_parms.nb_antennas_tx, PHY_vars_UE->lte_frame_parms.nb_antennas_rx, channel_model, - BW, + N_RB2sampling_rate(PHY_vars_eNB->lte_frame_parms.N_RB_UL), + N_RB2channel_bandwidth(PHY_vars_eNB->lte_frame_parms.N_RB_UL), forgetting_factor, delay, 0); diff --git a/openair1/SIMULATION/TOOLS/abstraction.c b/openair1/SIMULATION/TOOLS/abstraction.c index d63d0b0fe9..3720d9f998 100644 --- a/openair1/SIMULATION/TOOLS/abstraction.c +++ b/openair1/SIMULATION/TOOLS/abstraction.c @@ -73,7 +73,7 @@ void init_freq_channel(channel_desc_t *desc,uint16_t nb_rb,int16_t n_samples) if (desc->nb_taps==1) delay = desc->delays[l]; else - delay = desc->delays[l]+NB_SAMPLES_CHANNEL_OFFSET/desc->BW; + delay = desc->delays[l]+NB_SAMPLES_CHANNEL_OFFSET/desc->sampling_rate; cos_lut[f+(n_samples>>1)][l] = cos(2*M_PI*freq*delay); sin_lut[f+(n_samples>>1)][l] = sin(2*M_PI*freq*delay); diff --git a/openair1/SIMULATION/TOOLS/defs.h b/openair1/SIMULATION/TOOLS/defs.h index 187ffcb241..0dfea70b89 100644 --- a/openair1/SIMULATION/TOOLS/defs.h +++ b/openair1/SIMULATION/TOOLS/defs.h @@ -69,7 +69,9 @@ typedef struct { ///Maximum path delay in mus. double Td; ///Channel bandwidth in MHz. - double BW; + double channel_bandwidth; + ///System sampling rate in Msps. + double sampling_rate; ///Ricean factor of first tap wrt other taps (0..1, where 0 means AWGN and 1 means Rayleigh channel). double ricean_factor; ///Angle of arrival of wavefront (in radians). For Ricean channel only. This assumes that both RX and TX have linear antenna arrays with lambda/2 antenna spacing. Furhter it is assumed that the arrays are parallel to each other and that they are far enough apart so that we can safely assume plane wave propagation. @@ -202,7 +204,8 @@ typedef enum { channel_desc_t *new_channel_desc_scm(uint8_t nb_tx, uint8_t nb_rx, SCM_t channel_model, - double BW, + double sampling_rate, + double channel_bandwidth, double forgetting_factor, int32_t channel_offset, double path_loss_dB); @@ -364,6 +367,10 @@ void multipath_tv_channel(channel_desc_t *desc, /**@} */ /**@} */ + +double N_RB2sampling_rate(uint16_t N_RB); +double N_RB2channel_bandwidth(uint16_t N_RB); + #endif diff --git a/openair1/SIMULATION/TOOLS/multipath_tv_channel.c b/openair1/SIMULATION/TOOLS/multipath_tv_channel.c index b1bd091ca7..3568545f29 100644 --- a/openair1/SIMULATION/TOOLS/multipath_tv_channel.c +++ b/openair1/SIMULATION/TOOLS/multipath_tv_channel.c @@ -175,13 +175,13 @@ void tv_channel(channel_desc_t *desc,double complex ***H,uint16_t length) { for(p=0;pnb_paths;p++) { - H[i][j] += sqrt(desc->amps[j]/2)*alpha[p]*cexp(-I*(2*pi*w_Hz[p]*i*(1/(desc->BW*1e6))+phi_rad[p])); + H[i][j] += sqrt(desc->amps[j]/2)*alpha[p]*cexp(-I*(2*pi*w_Hz[p]*i*(1/(desc->sampling_rate*1e6))+phi_rad[p])); } } } for(j=0;jnb_paths;j++) { - phi_rad[j] = fmod(2*pi*w_Hz[j]*(length-1)*(1/desc->BW)+phi_rad[j],2*pi); + phi_rad[j] = fmod(2*pi*w_Hz[j]*(length-1)*(1/desc->sampling_rate)+phi_rad[j],2*pi); } */ @@ -193,13 +193,13 @@ void tv_channel(channel_desc_t *desc,double complex ***H,uint16_t length) H[i+(j*desc->nb_rx)][k][l] = 0; for(p=0; pnb_paths; p++) { - H[i+(j*desc->nb_rx)][k][l] += sqrt(desc->amps[l]/2)*alpha[p]*cexp(I*(2*pi*w_Hz[p]*k*(1/(desc->BW*1e6))+phi_rad[p])); + H[i+(j*desc->nb_rx)][k][l] += sqrt(desc->amps[l]/2)*alpha[p]*cexp(I*(2*pi*w_Hz[p]*k*(1/(desc->sampling_rate*1e6))+phi_rad[p])); } } } for(j=0; jnb_paths; j++) { - phi_rad[j] = fmod(2*pi*w_Hz[j]*(length-1)*(1/desc->BW)+phi_rad[j],2*pi); + phi_rad[j] = fmod(2*pi*w_Hz[j]*(length-1)*(1/desc->sampling_rate)+phi_rad[j],2*pi); } } } diff --git a/openair1/SIMULATION/TOOLS/random_channel.c b/openair1/SIMULATION/TOOLS/random_channel.c index 9233d94132..417ff29162 100644 --- a/openair1/SIMULATION/TOOLS/random_channel.c +++ b/openair1/SIMULATION/TOOLS/random_channel.c @@ -48,7 +48,8 @@ void fill_channel_desc(channel_desc_t *chan_desc, double *delays, struct complex** R_sqrt, double Td, - double BW, + double sampling_rate, + double channel_bandwidth, double ricean_factor, double aoa, double forgetting_factor, @@ -81,7 +82,8 @@ void fill_channel_desc(channel_desc_t *chan_desc, chan_desc->delays = delays; chan_desc->Td = Td; - chan_desc->BW = BW; + chan_desc->sampling_rate = sampling_rate; + chan_desc->channel_bandwidth = channel_bandwidth; chan_desc->ricean_factor = ricean_factor; chan_desc->aoa = aoa; chan_desc->random_aoa = random_aoa; @@ -195,7 +197,8 @@ struct complex **R_sqrt_ptr2; channel_desc_t *new_channel_desc_scm(uint8_t nb_tx, uint8_t nb_rx, SCM_t channel_model, - double BW, + double sampling_rate, + double channel_bandwidth, double forgetting_factor, int32_t channel_offset, double path_loss_dB) @@ -209,7 +212,8 @@ channel_desc_t *new_channel_desc_scm(uint8_t nb_tx, chan_desc->nb_tx = nb_tx; chan_desc->nb_rx = nb_rx; - chan_desc->BW = BW; + chan_desc->sampling_rate = sampling_rate; + chan_desc->channel_bandwidth = channel_bandwidth; chan_desc->forgetting_factor = forgetting_factor; chan_desc->channel_offset = channel_offset; chan_desc->path_loss_dB = path_loss_dB; @@ -232,7 +236,7 @@ channel_desc_t *new_channel_desc_scm(uint8_t nb_tx, case SCM_C: chan_desc->nb_taps = 18; chan_desc->Td = 4.625; - chan_desc->channel_length = (int) (2*chan_desc->BW*chan_desc->Td + 1 + 2/(M_PI*M_PI)*log(4*M_PI*chan_desc->BW*chan_desc->Td)); + chan_desc->channel_length = (int) (2*chan_desc->sampling_rate*chan_desc->Td + 1 + 2/(M_PI*M_PI)*log(4*M_PI*chan_desc->sampling_rate*chan_desc->Td)); sum_amps = 0; chan_desc->amps = (double*) malloc(chan_desc->nb_taps*sizeof(double)); @@ -291,7 +295,7 @@ channel_desc_t *new_channel_desc_scm(uint8_t nb_tx, LOG_W(OCM,"This is not the real SCM-D model! It is just SCM-C with an additional Rice factor!\n"); chan_desc->nb_taps = 18; chan_desc->Td = 4.625; - chan_desc->channel_length = (int) (2*chan_desc->BW*chan_desc->Td + 1 + 2/(M_PI*M_PI)*log(4*M_PI*chan_desc->BW*chan_desc->Td)); + chan_desc->channel_length = (int) (2*chan_desc->sampling_rate*chan_desc->Td + 1 + 2/(M_PI*M_PI)*log(4*M_PI*chan_desc->sampling_rate*chan_desc->Td)); sum_amps = 0; chan_desc->amps = (double*) malloc(chan_desc->nb_taps*sizeof(double)); @@ -349,7 +353,7 @@ channel_desc_t *new_channel_desc_scm(uint8_t nb_tx, case EPA: chan_desc->nb_taps = 7; chan_desc->Td = .410; - chan_desc->channel_length = (int) (2*chan_desc->BW*chan_desc->Td + 1 + 2/(M_PI*M_PI)*log(4*M_PI*chan_desc->BW*chan_desc->Td)); + chan_desc->channel_length = (int) (2*chan_desc->sampling_rate*chan_desc->Td + 1 + 2/(M_PI*M_PI)*log(4*M_PI*chan_desc->sampling_rate*chan_desc->Td)); sum_amps = 0; chan_desc->amps = (double*) malloc(chan_desc->nb_taps*sizeof(double)); @@ -403,7 +407,7 @@ channel_desc_t *new_channel_desc_scm(uint8_t nb_tx, case EVA: chan_desc->nb_taps = 9; chan_desc->Td = 2.51; - chan_desc->channel_length = (int) (2*chan_desc->BW*chan_desc->Td + 1 + 2/(M_PI*M_PI)*log(4*M_PI*chan_desc->BW*chan_desc->Td)); + chan_desc->channel_length = (int) (2*chan_desc->sampling_rate*chan_desc->Td + 1 + 2/(M_PI*M_PI)*log(4*M_PI*chan_desc->sampling_rate*chan_desc->Td)); sum_amps = 0; chan_desc->amps = (double*) malloc(chan_desc->nb_taps*sizeof(double)); @@ -457,7 +461,7 @@ channel_desc_t *new_channel_desc_scm(uint8_t nb_tx, case ETU: chan_desc->nb_taps = 9; chan_desc->Td = 5.0; - chan_desc->channel_length = (int) (2*chan_desc->BW*chan_desc->Td + 1 + 2/(M_PI*M_PI)*log(4*M_PI*chan_desc->BW*chan_desc->Td)); + chan_desc->channel_length = (int) (2*chan_desc->sampling_rate*chan_desc->Td + 1 + 2/(M_PI*M_PI)*log(4*M_PI*chan_desc->sampling_rate*chan_desc->Td)); sum_amps = 0; chan_desc->amps = (double*) malloc(chan_desc->nb_taps*sizeof(double)); @@ -511,7 +515,7 @@ channel_desc_t *new_channel_desc_scm(uint8_t nb_tx, case MBSFN: chan_desc->nb_taps = 18; chan_desc->Td = 28.58; - chan_desc->channel_length = (int) (2*chan_desc->BW*chan_desc->Td + 1 + 2/(M_PI*M_PI)*log(4*M_PI*chan_desc->BW*chan_desc->Td)); + chan_desc->channel_length = (int) (2*chan_desc->sampling_rate*chan_desc->Td + 1 + 2/(M_PI*M_PI)*log(4*M_PI*chan_desc->sampling_rate*chan_desc->Td)); sum_amps = 0; chan_desc->amps = (double*) malloc(chan_desc->nb_taps*sizeof(double)); @@ -558,7 +562,7 @@ channel_desc_t *new_channel_desc_scm(uint8_t nb_tx, case Rayleigh8: nb_taps = 8; Td = 0.8; - channel_length = (int)11+2*BW*Td; + channel_length = (int)11+2*sampling_rate*Td; ricean_factor = 1; aoa = .03; maxDoppler = 0; @@ -572,7 +576,8 @@ channel_desc_t *new_channel_desc_scm(uint8_t nb_tx, NULL, NULL, Td, - BW, + sampling_rate, + channel_bandwidth, ricean_factor, aoa, forgetting_factor, @@ -585,7 +590,7 @@ channel_desc_t *new_channel_desc_scm(uint8_t nb_tx, case Rice8: nb_taps = 8; Td = 0.8; - channel_length = (int)11+2*BW*Td; + channel_length = (int)11+2*sampling_rate*Td; ricean_factor = 0.1; aoa = .03; maxDoppler = 0; @@ -598,7 +603,8 @@ channel_desc_t *new_channel_desc_scm(uint8_t nb_tx, NULL, NULL, Td, - BW, + sampling_rate, + channel_bandwidth, ricean_factor, aoa, forgetting_factor, @@ -624,7 +630,8 @@ channel_desc_t *new_channel_desc_scm(uint8_t nb_tx, NULL, NULL, Td, - BW, + sampling_rate, + channel_bandwidth, ricean_factor, aoa, forgetting_factor, @@ -650,7 +657,8 @@ channel_desc_t *new_channel_desc_scm(uint8_t nb_tx, NULL, NULL, Td, - BW, + sampling_rate, + channel_bandwidth, ricean_factor, aoa, forgetting_factor, @@ -683,7 +691,8 @@ channel_desc_t *new_channel_desc_scm(uint8_t nb_tx, NULL, R_sqrt_ptr2, Td, - BW, + sampling_rate, + channel_bandwidth, ricean_factor, aoa, forgetting_factor, @@ -716,7 +725,8 @@ channel_desc_t *new_channel_desc_scm(uint8_t nb_tx, NULL, R_sqrt_ptr2, Td, - BW, + sampling_rate, + channel_bandwidth, ricean_factor, aoa, forgetting_factor, @@ -742,7 +752,8 @@ channel_desc_t *new_channel_desc_scm(uint8_t nb_tx, NULL, NULL, Td, - BW, + sampling_rate, + channel_bandwidth, ricean_factor, aoa, forgetting_factor, @@ -768,7 +779,8 @@ channel_desc_t *new_channel_desc_scm(uint8_t nb_tx, NULL, NULL, Td, - BW, + sampling_rate, + channel_bandwidth, ricean_factor, aoa, forgetting_factor, @@ -803,7 +815,8 @@ channel_desc_t *new_channel_desc_scm(uint8_t nb_tx, NULL, R_sqrt_ptr2, Td, - BW, + sampling_rate, + channel_bandwidth, ricean_factor, aoa, forgetting_factor, @@ -836,7 +849,8 @@ channel_desc_t *new_channel_desc_scm(uint8_t nb_tx, NULL, R_sqrt_ptr2, Td, - BW, + sampling_rate, + channel_bandwidth, ricean_factor, aoa, forgetting_factor, @@ -985,11 +999,11 @@ int random_channel(channel_desc_t *desc, uint8_t abstraction_flag) desc->ch[aarx+(aatx*desc->nb_rx)][k].y = 0.0; for (l=0; lnb_taps; l++) { - if ((k - (desc->delays[l]*desc->BW) - NB_SAMPLES_CHANNEL_OFFSET) == 0) + if ((k - (desc->delays[l]*desc->sampling_rate) - NB_SAMPLES_CHANNEL_OFFSET) == 0) s = 1.0; else - s = sin(M_PI*(k - (desc->delays[l]*desc->BW) - NB_SAMPLES_CHANNEL_OFFSET))/ - (M_PI*(k - (desc->delays[l]*desc->BW) - NB_SAMPLES_CHANNEL_OFFSET)); + s = sin(M_PI*(k - (desc->delays[l]*desc->sampling_rate) - NB_SAMPLES_CHANNEL_OFFSET))/ + (M_PI*(k - (desc->delays[l]*desc->sampling_rate) - NB_SAMPLES_CHANNEL_OFFSET)); desc->ch[aarx+(aatx*desc->nb_rx)][k].x += s*desc->a[l][aarx+(aatx*desc->nb_rx)].x; desc->ch[aarx+(aatx*desc->nb_rx)][k].y += s*desc->a[l][aarx+(aatx*desc->nb_rx)].y; @@ -1014,22 +1028,77 @@ int random_channel(channel_desc_t *desc, uint8_t abstraction_flag) return (0); } +double N_RB2sampling_rate(uint16_t N_RB) +{ + double sampling_rate; + switch (N_RB) { + case 6: + sampling_rate = 1.92; + break; + + case 25: + sampling_rate = 7.68; + break; + + case 50: + sampling_rate = 15.36; + break; + + case 100: + sampling_rate = 30.72; + break; + + default: + LOG_E(PHY,"Unknown N_PRB\n"); + return(-1); + } + + return(sampling_rate); +} + +double N_RB2channel_bandwidth(uint16_t N_RB) +{ + double channel_bandwidth; + switch (N_RB) { + case 6: + channel_bandwidth = 1.25; + break; + + case 25: + channel_bandwidth = 5.00; + break; + + case 50: + channel_bandwidth = 10.00; + break; + + case 100: + channel_bandwidth = 20.00; + break; + + default: + LOG_E(PHY,"Unknown N_PRB\n"); + return(-1); + } + return(channel_bandwidth); +} + #ifdef RANDOM_CHANNEL_MAIN -#define BW 5.0 +#define sampling_rate 5.0 #define Td 2.0 main(int argc,char **argv) { double amps[8] = {.8,.2,.1,.04,.02,.01,.005}; - struct complex ch[(int)(1+2*BW*Td)],phase; + struct complex ch[(int)(1+2*sampling_rate*Td)],phase; int i; randominit(); phase.x = 1.0; phase.y = 0; - random_channel(amps,Td, 8,BW,ch,(double)1.0,&phase); + random_channel(amps,Td, 8,sampling_rate,ch,(double)1.0,&phase); /* - for (i=0;i<(11+2*BW*Td);i++){ + for (i=0;i<(11+2*sampling_rate*Td);i++){ printf("%f + sqrt(-1)*%f\n",ch[i].x,ch[i].y); } */ diff --git a/targets/SIMU/USER/channel_sim.c b/targets/SIMU/USER/channel_sim.c index aeddfaddbe..bba32a5a29 100644 --- a/targets/SIMU/USER/channel_sim.c +++ b/targets/SIMU/USER/channel_sim.c @@ -303,8 +303,8 @@ void do_DL_sig(double **r_re0,double **r_im0, 10*log10(rx_pwr*(double)frame_parms->N_RB_DL*12),next_slot,next_slot>>1); LOG_D(OCM,"[SIM][DL] UE %d : rx_pwr (noise) -132 dBm/RE (N0fs = %.1f dBm, N0B = %.1f dBm) for slot %d (subframe %d)\n", UE_id, - 10*log10(eNB2UE[eNB_id][UE_id][CC_id]->BW*1e6)-174, - 10*log10(eNB2UE[eNB_id][UE_id][CC_id]->BW*1e6*12*frame_parms->N_RB_DL/(double)frame_parms->ofdm_symbol_size)-174, + 10*log10(eNB2UE[eNB_id][UE_id][CC_id]->sampling_rate*1e6)-174, + 10*log10(eNB2UE[eNB_id][UE_id][CC_id]->sampling_rate*1e6*12*frame_parms->N_RB_DL/(double)frame_parms->ofdm_symbol_size)-174, next_slot,next_slot>>1); #endif @@ -342,7 +342,7 @@ void do_DL_sig(double **r_re0,double **r_im0, r_im0, nb_antennas_rx, frame_parms->samples_per_tti>>1, - 1e3/eNB2UE[eNB_id][UE_id][CC_id]->BW, // sampling time (ns) + 1e3/eNB2UE[eNB_id][UE_id][CC_id]->sampling_rate, // sampling time (ns) (double)PHY_vars_UE_g[UE_id][CC_id]->rx_total_gain_dB - 66.227); // rx_gain (dB) (66.227 = 20*log10(pow2(11)) = gain from the adc that will be applied later) #ifdef DEBUG_SIM @@ -584,7 +584,7 @@ void do_UL_sig(double **r_re0,double **r_im0,double **r_re,double **r_im,double r_im, nb_antennas_rx, frame_parms->samples_per_tti>>1, - 1e3/UE2eNB[0][eNB_id][CC_id]->BW, // sampling time (ns) + 1e3/UE2eNB[0][eNB_id][CC_id]->sampling_rate, // sampling time (ns) (double)PHY_vars_eNB_g[eNB_id][CC_id]->rx_total_gain_eNB_dB - 66.227); // rx_gain (dB) (66.227 = 20*log10(pow2(11)) = gain from the adc that will be applied later) #ifdef DEBUG_SIM diff --git a/targets/SIMU/USER/oaisim_functions.c b/targets/SIMU/USER/oaisim_functions.c index ebdb3c00d3..ca1ec9fccb 100644 --- a/targets/SIMU/USER/oaisim_functions.c +++ b/targets/SIMU/USER/oaisim_functions.c @@ -1122,24 +1122,28 @@ void init_ocm(void) else */ - eNB2UE[eNB_id][UE_id][CC_id] = new_channel_desc_scm(PHY_vars_eNB_g[eNB_id][CC_id]->lte_frame_parms.nb_antennas_tx, - PHY_vars_UE_g[UE_id][CC_id]->lte_frame_parms.nb_antennas_rx, - map_str_to_int(small_scale_names,oai_emulation.environment_system_config.fading.small_scale.selected_option), - oai_emulation.environment_system_config.system_bandwidth_MB, - forgetting_factor, - 0, - 0); + eNB2UE[eNB_id][UE_id][CC_id] = + new_channel_desc_scm(PHY_vars_eNB_g[eNB_id][CC_id]->lte_frame_parms.nb_antennas_tx, + PHY_vars_UE_g[UE_id][CC_id]->lte_frame_parms.nb_antennas_rx, + map_str_to_int(small_scale_names,oai_emulation.environment_system_config.fading.small_scale.selected_option), + N_RB2sampling_rate(PHY_vars_eNB_g[eNB_id][CC_id]->lte_frame_parms.N_RB_DL), + N_RB2channel_bandwidth(PHY_vars_eNB_g[eNB_id][CC_id]->lte_frame_parms.N_RB_DL), + forgetting_factor, + 0, + 0); random_channel(eNB2UE[eNB_id][UE_id][CC_id],abstraction_flag); LOG_D(OCM,"[SIM] Initializing channel (%s, %d) from UE %d to eNB %d\n", oai_emulation.environment_system_config.fading.small_scale.selected_option, map_str_to_int(small_scale_names, oai_emulation.environment_system_config.fading.small_scale.selected_option),UE_id, eNB_id); - UE2eNB[UE_id][eNB_id][CC_id] = new_channel_desc_scm(PHY_vars_UE_g[UE_id][CC_id]->lte_frame_parms.nb_antennas_tx, - PHY_vars_eNB_g[eNB_id][CC_id]->lte_frame_parms.nb_antennas_rx, - map_str_to_int(small_scale_names, oai_emulation.environment_system_config.fading.small_scale.selected_option), - oai_emulation.environment_system_config.system_bandwidth_MB, - forgetting_factor, - 0, - 0); + UE2eNB[UE_id][eNB_id][CC_id] = + new_channel_desc_scm(PHY_vars_UE_g[UE_id][CC_id]->lte_frame_parms.nb_antennas_tx, + PHY_vars_eNB_g[eNB_id][CC_id]->lte_frame_parms.nb_antennas_rx, + map_str_to_int(small_scale_names, oai_emulation.environment_system_config.fading.small_scale.selected_option), + N_RB2sampling_rate(PHY_vars_eNB_g[eNB_id][CC_id]->lte_frame_parms.N_RB_UL), + N_RB2channel_bandwidth(PHY_vars_eNB_g[eNB_id][CC_id]->lte_frame_parms.N_RB_UL), + forgetting_factor, + 0, + 0); random_channel(UE2eNB[UE_id][eNB_id][CC_id],abstraction_flag); diff --git a/targets/SIMU/USER/sinr_sim.c b/targets/SIMU/USER/sinr_sim.c index 8bdc4a5057..317fe53c60 100644 --- a/targets/SIMU/USER/sinr_sim.c +++ b/targets/SIMU/USER/sinr_sim.c @@ -254,7 +254,7 @@ void init_snr(channel_desc_t* eNB2UE, node_desc_t *enb_data, node_desc_t *ue_dat uint8_t qq; /* Thermal noise is calculated using 10log10(K*T*B) K = Boltzmann's constant T = room temperature B = bandwidth */ - thermal_noise = -174 + 10*log10(eNB2UE->BW*1e6); //value in dBm + thermal_noise = -174 + 10*log10(eNB2UE->sampling_rate*1e6); //value in dBm //for (aarx=0; aarxnb_rx; aarx++) *N0 = thermal_noise + ue_data->rx_noise_level;//? all the element have the same noise level????? @@ -496,7 +496,7 @@ void init_snr_up(channel_desc_t* UE2eNB, node_desc_t *enb_data, node_desc_t *ue_ // nb_rb = phy_vars_eNB->ulsch_eNB[UE_id]->harq_processes[harq_pid]->nb_rb; /* Thermal noise is calculated using 10log10(K*T*B) K = Boltzmann's constant T = room temperature B = bandwidth */ - thermal_noise = -174 + 10*log10(UE2eNB->BW*1e6); //value in dBm + thermal_noise = -174 + 10*log10(UE2eNB->sampling_rate*1e6); //value in dBm *N0 = thermal_noise + enb_data->rx_noise_level;//? all the element have the same noise level????? double lambda ; double residual; @@ -557,7 +557,7 @@ void calculate_sinr(channel_desc_t* eNB2UE, node_desc_t *enb_data, node_desc_t * short count; /* Thermal noise is calculated using 10log10(K*T*B) K = Boltzmann's constant T = room temperature B = bandwidth */ - thermal_noise = -174 + 10*log10(eNB2UE->BW*1e6); //value in dBm + thermal_noise = -174 + 10*log10(eNB2UE->sampling_rate*1e6); //value in dBm for (count = 0; count < 12 * nb_rb; count++) { sir = enb_data->tx_power_dBm From 07e139e5493304d884ad268aae5836f4989e9976 Mon Sep 17 00:00:00 2001 From: gauthier Date: Thu, 15 Oct 2015 13:52:42 +0200 Subject: [PATCH 09/85] updated build script to run autotests --- cmake_targets/build_oai | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/cmake_targets/build_oai b/cmake_targets/build_oai index 57f7ff6132..c072b84151 100755 --- a/cmake_targets/build_oai +++ b/cmake_targets/build_oai @@ -571,8 +571,7 @@ function main() { echo_info "10. Running OAI pre commit tests (pre-ci) ..." rm -fr $OPENAIR_DIR/cmake_targets/autotests/log mkdir -p $OPENAIR_DIR/cmake_targets/autotests/log - $OPENAIR_DIR/cmake_targets/autotests/run_compilation_autotests.bash - $OPENAIR_DIR/cmake_targets/autotests/run_exec_autotests.bash + $SUDO $OPENAIR_DIR/cmake_targets/autotests/run_exec_autotests.bash else echo_info "10. Bypassing the Tests ..." fi From 551ae3537c154929289c6719721993425b0c8542 Mon Sep 17 00:00:00 2001 From: Raymond Knopp Date: Thu, 15 Oct 2015 06:55:36 -0700 Subject: [PATCH 10/85] fixes for resource element extraction for TM2 --- openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c | 2 +- openair1/PHY/LTE_TRANSPORT/dlsch_llr_computation.c | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c b/openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c index 0fc060d207..7ce84dbc55 100644 --- a/openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c +++ b/openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c @@ -53,7 +53,7 @@ #endif //#define DEBUG_PHY 1 -#define DEBUG_DLSCH_DEMOD 1 +//#define DEBUG_DLSCH_DEMOD 1 int avg[4]; diff --git a/openair1/PHY/LTE_TRANSPORT/dlsch_llr_computation.c b/openair1/PHY/LTE_TRANSPORT/dlsch_llr_computation.c index 7425a4ed65..a65a909828 100644 --- a/openair1/PHY/LTE_TRANSPORT/dlsch_llr_computation.c +++ b/openair1/PHY/LTE_TRANSPORT/dlsch_llr_computation.c @@ -662,14 +662,14 @@ int dlsch_qpsk_llr(LTE_DL_FRAME_PARMS *frame_parms, if ((symbol_mod==0) || (symbol_mod==(4-frame_parms->Ncp))) { if (frame_parms->mode1_flag==0) - len = (nb_rb*8);// - (2*pbch_pss_sss_adjust/3); + len = (nb_rb*8)- (2*pbch_pss_sss_adjust/3); else - len = (nb_rb*10);// - (5*pbch_pss_sss_adjust/6); + len = (nb_rb*10) - (5*pbch_pss_sss_adjust/6); } else { - len = (nb_rb*12);// - pbch_pss_sss_adjust; + len = (nb_rb*12) - pbch_pss_sss_adjust; } -// printf("dlsch_qpsk_llr: symbol %d,nb_rb %d, len %d,pbch_pss_sss_adjust %d\n",symbol,nb_rb,len,pbch_pss_sss_adjust); + // printf("dlsch_qpsk_llr: symbol %d,nb_rb %d, len %d,pbch_pss_sss_adjust %d\n",symbol,nb_rb,len,pbch_pss_sss_adjust); for (i=0; i Date: Tue, 20 Oct 2015 13:18:39 +0200 Subject: [PATCH 11/85] Fixed a bug in cmakefiles.txt with misconfiguration --- cmake_targets/autotests/015000/CMakeLists.txt | 2 +- cmake_targets/autotests/015001/CMakeLists.txt | 2 +- cmake_targets/autotests/015002/CMakeLists.txt | 2 +- cmake_targets/autotests/015003/CMakeLists.txt | 2 +- cmake_targets/autotests/015004/CMakeLists.txt | 2 +- cmake_targets/autotests/015005/CMakeLists.txt | 2 +- cmake_targets/autotests/015006/CMakeLists.txt | 2 +- cmake_targets/autotests/015007/CMakeLists.txt | 2 +- cmake_targets/autotests/015008/CMakeLists.txt | 2 +- cmake_targets/autotests/015009/CMakeLists.txt | 2 +- cmake_targets/autotests/015100/CMakeLists.txt | 2 +- cmake_targets/autotests/015101/CMakeLists.txt | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/cmake_targets/autotests/015000/CMakeLists.txt b/cmake_targets/autotests/015000/CMakeLists.txt index 7a0e84b425..47cf5074b5 100644 --- a/cmake_targets/autotests/015000/CMakeLists.txt +++ b/cmake_targets/autotests/015000/CMakeLists.txt @@ -12,4 +12,4 @@ set(PERFECT_CE False) set(NAS_UE False) set(MESSAGE_CHART_GENERATOR False) -include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt) +include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt) diff --git a/cmake_targets/autotests/015001/CMakeLists.txt b/cmake_targets/autotests/015001/CMakeLists.txt index 7a0e84b425..47cf5074b5 100644 --- a/cmake_targets/autotests/015001/CMakeLists.txt +++ b/cmake_targets/autotests/015001/CMakeLists.txt @@ -12,4 +12,4 @@ set(PERFECT_CE False) set(NAS_UE False) set(MESSAGE_CHART_GENERATOR False) -include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt) +include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt) diff --git a/cmake_targets/autotests/015002/CMakeLists.txt b/cmake_targets/autotests/015002/CMakeLists.txt index 7a0e84b425..47cf5074b5 100644 --- a/cmake_targets/autotests/015002/CMakeLists.txt +++ b/cmake_targets/autotests/015002/CMakeLists.txt @@ -12,4 +12,4 @@ set(PERFECT_CE False) set(NAS_UE False) set(MESSAGE_CHART_GENERATOR False) -include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt) +include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt) diff --git a/cmake_targets/autotests/015003/CMakeLists.txt b/cmake_targets/autotests/015003/CMakeLists.txt index 7a0e84b425..47cf5074b5 100644 --- a/cmake_targets/autotests/015003/CMakeLists.txt +++ b/cmake_targets/autotests/015003/CMakeLists.txt @@ -12,4 +12,4 @@ set(PERFECT_CE False) set(NAS_UE False) set(MESSAGE_CHART_GENERATOR False) -include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt) +include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt) diff --git a/cmake_targets/autotests/015004/CMakeLists.txt b/cmake_targets/autotests/015004/CMakeLists.txt index 7a0e84b425..47cf5074b5 100644 --- a/cmake_targets/autotests/015004/CMakeLists.txt +++ b/cmake_targets/autotests/015004/CMakeLists.txt @@ -12,4 +12,4 @@ set(PERFECT_CE False) set(NAS_UE False) set(MESSAGE_CHART_GENERATOR False) -include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt) +include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt) diff --git a/cmake_targets/autotests/015005/CMakeLists.txt b/cmake_targets/autotests/015005/CMakeLists.txt index 7a0e84b425..47cf5074b5 100644 --- a/cmake_targets/autotests/015005/CMakeLists.txt +++ b/cmake_targets/autotests/015005/CMakeLists.txt @@ -12,4 +12,4 @@ set(PERFECT_CE False) set(NAS_UE False) set(MESSAGE_CHART_GENERATOR False) -include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt) +include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt) diff --git a/cmake_targets/autotests/015006/CMakeLists.txt b/cmake_targets/autotests/015006/CMakeLists.txt index 7a0e84b425..47cf5074b5 100644 --- a/cmake_targets/autotests/015006/CMakeLists.txt +++ b/cmake_targets/autotests/015006/CMakeLists.txt @@ -12,4 +12,4 @@ set(PERFECT_CE False) set(NAS_UE False) set(MESSAGE_CHART_GENERATOR False) -include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt) +include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt) diff --git a/cmake_targets/autotests/015007/CMakeLists.txt b/cmake_targets/autotests/015007/CMakeLists.txt index 7a0e84b425..47cf5074b5 100644 --- a/cmake_targets/autotests/015007/CMakeLists.txt +++ b/cmake_targets/autotests/015007/CMakeLists.txt @@ -12,4 +12,4 @@ set(PERFECT_CE False) set(NAS_UE False) set(MESSAGE_CHART_GENERATOR False) -include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt) +include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt) diff --git a/cmake_targets/autotests/015008/CMakeLists.txt b/cmake_targets/autotests/015008/CMakeLists.txt index 7a0e84b425..47cf5074b5 100644 --- a/cmake_targets/autotests/015008/CMakeLists.txt +++ b/cmake_targets/autotests/015008/CMakeLists.txt @@ -12,4 +12,4 @@ set(PERFECT_CE False) set(NAS_UE False) set(MESSAGE_CHART_GENERATOR False) -include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt) +include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt) diff --git a/cmake_targets/autotests/015009/CMakeLists.txt b/cmake_targets/autotests/015009/CMakeLists.txt index 7a0e84b425..47cf5074b5 100644 --- a/cmake_targets/autotests/015009/CMakeLists.txt +++ b/cmake_targets/autotests/015009/CMakeLists.txt @@ -12,4 +12,4 @@ set(PERFECT_CE False) set(NAS_UE False) set(MESSAGE_CHART_GENERATOR False) -include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt) +include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt) diff --git a/cmake_targets/autotests/015100/CMakeLists.txt b/cmake_targets/autotests/015100/CMakeLists.txt index 7a0e84b425..47cf5074b5 100644 --- a/cmake_targets/autotests/015100/CMakeLists.txt +++ b/cmake_targets/autotests/015100/CMakeLists.txt @@ -12,4 +12,4 @@ set(PERFECT_CE False) set(NAS_UE False) set(MESSAGE_CHART_GENERATOR False) -include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt) +include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt) diff --git a/cmake_targets/autotests/015101/CMakeLists.txt b/cmake_targets/autotests/015101/CMakeLists.txt index 7a0e84b425..47cf5074b5 100644 --- a/cmake_targets/autotests/015101/CMakeLists.txt +++ b/cmake_targets/autotests/015101/CMakeLists.txt @@ -12,4 +12,4 @@ set(PERFECT_CE False) set(NAS_UE False) set(MESSAGE_CHART_GENERATOR False) -include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt) +include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt) From eee0a1551b2c17519ba95f19b54b544f03e89cd9 Mon Sep 17 00:00:00 2001 From: Raymond Knopp Date: Tue, 20 Oct 2015 05:26:07 -0700 Subject: [PATCH 12/85] TM2 fixes for TDD --- .../PHY/LTE_TRANSPORT/dlsch_demodulation.c | 233 ++++++++++++------ .../PHY/LTE_TRANSPORT/dlsch_llr_computation.c | 1 + 2 files changed, 154 insertions(+), 80 deletions(-) diff --git a/openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c b/openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c index 7ce84dbc55..de9acefb6e 100644 --- a/openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c +++ b/openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c @@ -45,7 +45,6 @@ #include "PHY/sse_intrin.h" - #ifndef USER_MODE #define NOCYGWIN_STATIC static #else @@ -55,7 +54,7 @@ //#define DEBUG_PHY 1 //#define DEBUG_DLSCH_DEMOD 1 -int avg[4]; +int avg[4]; // [MCS][i_mod (0,1,2) = (2,4,6)] unsigned char offset_mumimo_llr_drange_fix=0; @@ -3362,7 +3361,10 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF, //PSS in subframe 0/5 if FDD if (frame_parms->frame_type == FDD) { //FDD - if (((subframe==0)||(subframe==5)) && (rb>((frame_parms->N_RB_DL>>1)-3)) && (rb<((frame_parms->N_RB_DL>>1)+3)) && (l==pss_symb) ) { + if (((subframe==0)||(subframe==5)) && + (rb>((frame_parms->N_RB_DL>>1)-3)) && + (rb<((frame_parms->N_RB_DL>>1)+3)) && + (l==pss_symb) ) { rb_alloc_ind = 0; } @@ -3439,7 +3441,7 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF, dl_ch0_ext[j++]=dl_ch0[i]; } } - + rxF_ext+=5; dl_ch0_ext+=5; } else if (skip_half==2) { for (i=0; i<6; i++) { @@ -3495,29 +3497,31 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF, nb_rb++; // PBCH - if ((subframe==0) && (rb>=((frame_parms->N_RB_DL>>1)-3)) && (rb<((frame_parms->N_RB_DL>>1)+3)) && (l>=(nsymb>>1)) && (l<((nsymb>>1) + 4))) { + if ((subframe==0) && + (l>=(nsymb>>1)) && + (l<((nsymb>>1) + 4))) { rb_alloc_ind = 0; } //SSS - if (((subframe==0)||(subframe==5)) && (rb>=((frame_parms->N_RB_DL>>1)-3)) && (rb<((frame_parms->N_RB_DL>>1)+3)) && (l==sss_symb) ) { + if (((subframe==0)||(subframe==5)) && (l==sss_symb) ) { rb_alloc_ind = 0; } if (frame_parms->frame_type == FDD) { //PSS - if (((subframe==0)||(subframe==5)) && (rb>=((frame_parms->N_RB_DL>>1)-3)) && (rb<((frame_parms->N_RB_DL>>1)+3)) && (l==pss_symb) ) { + if (((subframe==0)||(subframe==5)) && (l==pss_symb) ) { rb_alloc_ind = 0; } } + //PSS if ((frame_parms->frame_type == TDD) && - (subframe==6)) { - //PSS - if ((rb>((frame_parms->N_RB_DL>>1)-3)) && (rb<((frame_parms->N_RB_DL>>1)+3)) && (l==pss_symb) ) { - rb_alloc_ind = 0; - } + (subframe==6) && + (l==pss_symb) ) { + rb_alloc_ind = 0; } + // printf("dlch_ext %d\n",dl_ch0_ext-&dl_ch_estimates_ext[aarx][0]); // printf("DC rb %d (%p)\n",rb,rxF); @@ -3823,51 +3827,54 @@ unsigned short dlsch_extract_rbs_dual(int **rxdataF, if (rb_alloc_ind == 1) nb_rb++; - // PBCH - if ((subframe==0) && - (prb>((frame_parms->N_RB_DL>>1)-3)) && - (prb<((frame_parms->N_RB_DL>>1)+3)) && - (l>=(nsymb>>1)) && - (l<((nsymb>>1) + 4))) { - rb_alloc_ind = 0; - // printf("symbol %d / rb %d: skipping PBCH REs\n",symbol,prb); - } - - //SSS - - if (((subframe==0)||(subframe==5)) && - (prb>((frame_parms->N_RB_DL>>1)-3)) && - (prb<((frame_parms->N_RB_DL>>1)+3)) && - (l==sss_symb) ) { - rb_alloc_ind = 0; - // printf("symbol %d / rb %d: skipping SSS REs\n",symbol,prb); - } - - - - //PSS in subframe 0/5 if FDD - if (frame_parms->frame_type == FDD) { //FDD - if (((subframe==0)||(subframe==5)) && - (prb>((frame_parms->N_RB_DL>>1)-3)) && - (prb<((frame_parms->N_RB_DL>>1)+3)) && - (l==pss_symb) ) { - rb_alloc_ind = 0; - // printf("symbol %d / rb %d: skipping PSS REs\n",symbol,prb); - } - } - - if ((frame_parms->frame_type == TDD) && - (subframe==6)) { //TDD Subframe 6 - if ((prb>=((frame_parms->N_RB_DL>>1)-3)) && - (prb<=((frame_parms->N_RB_DL>>1)+3)) && - (l==pss_symb) ) { - rb_alloc_ind = 0; - } - } - - if (rb_alloc_ind==1) { // PRB is allocated - if ((frame_parms->N_RB_DL&1) == 0) { // even number of RBs + if ((frame_parms->N_RB_DL&1) == 0) { // even number of RBs + + // PBCH + if ((subframe==0) && + (prb>=((frame_parms->N_RB_DL>>1)-3)) && + (prb<((frame_parms->N_RB_DL>>1)+3)) && + (l>=(nsymb>>1)) && + (l<((nsymb>>1) + 4))) { + rb_alloc_ind = 0; + // printf("symbol %d / rb %d: skipping PBCH REs\n",symbol,prb); + } + + //SSS + + if (((subframe==0)||(subframe==5)) && + (prb>=((frame_parms->N_RB_DL>>1)-3)) && + (prb<((frame_parms->N_RB_DL>>1)+3)) && + (l==sss_symb) ) { + rb_alloc_ind = 0; + // printf("symbol %d / rb %d: skipping SSS REs\n",symbol,prb); + } + + + + //PSS in subframe 0/5 if FDD + if (frame_parms->frame_type == FDD) { //FDD + if (((subframe==0)||(subframe==5)) && + (prb>=((frame_parms->N_RB_DL>>1)-3)) && + (prb<((frame_parms->N_RB_DL>>1)+3)) && + (l==pss_symb) ) { + rb_alloc_ind = 0; + // printf("symbol %d / rb %d: skipping PSS REs\n",symbol,prb); + } + } + + if ((frame_parms->frame_type == TDD) && + (subframe==6)) { //TDD Subframe 6 + if ((prb>=((frame_parms->N_RB_DL>>1)-3)) && + (prb<((frame_parms->N_RB_DL>>1)+3)) && + (l==pss_symb) ) { + rb_alloc_ind = 0; + } + } + + if (rb_alloc_ind==1) { // PRB is allocated + + prb_off = 12*prb; prb_off2 = 1+(12*(prb-(frame_parms->N_RB_DL>>1))); @@ -3912,11 +3919,55 @@ unsigned short dlsch_extract_rbs_dual(int **rxdataF, rxF_ext+=8; } // pilots==1 + } + } else { // Odd number of RBs - } else { // Odd number of RBs + // PBCH + if ((subframe==0) && + (prb>((frame_parms->N_RB_DL>>1)-3)) && + (prb<((frame_parms->N_RB_DL>>1)+3)) && + (l>=(nsymb>>1)) && + (l<((nsymb>>1) + 4))) { + rb_alloc_ind = 0; + // printf("symbol %d / rb %d: skipping PBCH REs\n",symbol,prb); + } + + //SSS + + if (((subframe==0)||(subframe==5)) && + (prb>((frame_parms->N_RB_DL>>1)-3)) && + (prb<((frame_parms->N_RB_DL>>1)+3)) && + (l==sss_symb) ) { + rb_alloc_ind = 0; + // printf("symbol %d / rb %d: skipping SSS REs\n",symbol,prb); + } + + + + //PSS in subframe 0/5 if FDD + if (frame_parms->frame_type == FDD) { //FDD + if (((subframe==0)||(subframe==5)) && + (prb>((frame_parms->N_RB_DL>>1)-3)) && + (prb<((frame_parms->N_RB_DL>>1)+3)) && + (l==pss_symb) ) { + rb_alloc_ind = 0; + // printf("symbol %d / rb %d: skipping PSS REs\n",symbol,prb); + } + } + + if ((frame_parms->frame_type == TDD) && + ((subframe==1) || (subframe==6))) { //TDD Subframe 1-6 + if ((prb>((frame_parms->N_RB_DL>>1)-3)) && + (prb<((frame_parms->N_RB_DL>>1)+3)) && + (l==pss_symb) ) { + rb_alloc_ind = 0; + } + } + + if (rb_alloc_ind == 1) { skip_half=0; - + //Check if we have to drop half a PRB due to PSS/SSS/PBCH // skip_half == 0 means full PRB // skip_half == 1 means first half is used (leftmost half-PRB from PSS/SSS/PBCH) @@ -3947,13 +3998,12 @@ unsigned short dlsch_extract_rbs_dual(int **rxdataF, if (((frame_parms->frame_type == FDD) && (((subframe==0)||(subframe==5)))) || //FDD Subframes 0,5 ((frame_parms->frame_type == TDD) && - (((subframe==2) || (subframe==6))))) { //TDD Subframes 2,6 + (((subframe==1) || (subframe==6))))) { //TDD Subframes 1,6 if ((prb==((frame_parms->N_RB_DL>>1)-3)) && (l==pss_symb)) skip_half=1; - else if (((subframe==0)||(subframe==5)) && - (prb==((frame_parms->N_RB_DL>>1)+3)) && + else if ((prb==((frame_parms->N_RB_DL>>1)+3)) && (l==pss_symb)) skip_half=2; } @@ -3973,9 +4023,9 @@ unsigned short dlsch_extract_rbs_dual(int **rxdataF, rxF = &rxdataF[aarx][prb_off2+ (symbol*(frame_parms->ofdm_symbol_size))]; } - - // printf("symbol %d / rb %d: alloc %d skip_half %d (rxF %p, rxF_ext %p) prb_off (%d,%d)\n",symbol,prb,rb_alloc_ind,skip_half,rxF,rxF_ext,prb_off,prb_off2); - +#ifdef DEBUG_DLSCH_DEMOD + printf("symbol %d / rb %d: alloc %d skip_half %d (rxF %p, rxF_ext %p) prb_off (%d,%d)\n",symbol,prb,rb_alloc_ind,skip_half,rxF,rxF_ext,prb_off,prb_off2); +#endif *pmi_loc = (pmi>>((prb>>2)<<1))&3; // printf("symbol_mod %d (pilots %d) rb %d, sb %d, pmi %d (pmi_loc %p,rxF %p, ch00 %p, ch01 %p, rxF_ext %p dl_ch0_ext %p dl_ch1_ext %p)\n",symbol_mod,pilots,rb,rb>>2,*pmi_loc,pmi_loc,rxF,dl_ch0, dl_ch1, rxF_ext,dl_ch0_ext,dl_ch1_ext); @@ -3987,6 +4037,10 @@ unsigned short dlsch_extract_rbs_dual(int **rxdataF, memcpy(dl_ch0_ext,dl_ch0p,6*sizeof(int32_t)); memcpy(dl_ch1_ext,dl_ch1p,6*sizeof(int32_t)); memcpy(rxF_ext,rxF,6*sizeof(int32_t)); +#ifdef DEBUG_DLSCH_DEMOD + for (i=0;i<6;i++) + printf("extract rb %d, re %d => (%d,%d)\n",prb,i,*(short *)&rxF_ext[i],*(1+(short*)&rxF_ext[i])); +#endif dl_ch0_ext+=6; dl_ch1_ext+=6; rxF_ext+=6; @@ -3994,6 +4048,10 @@ unsigned short dlsch_extract_rbs_dual(int **rxdataF, memcpy(dl_ch0_ext,dl_ch0p+6,6*sizeof(int32_t)); memcpy(dl_ch1_ext,dl_ch1p+6,6*sizeof(int32_t)); memcpy(rxF_ext,rxF+6,6*sizeof(int32_t)); +#ifdef DEBUG_DLSCH_DEMOD + for (i=0;i<6;i++) + printf("extract rb %d, re %d => (%d,%d)\n",prb,i,*(short *)&rxF_ext[i],*(1+(short*)&rxF_ext[i])); +#endif dl_ch0_ext+=6; dl_ch1_ext+=6; rxF_ext+=6; @@ -4001,8 +4059,10 @@ unsigned short dlsch_extract_rbs_dual(int **rxdataF, memcpy(dl_ch0_ext,dl_ch0p,12*sizeof(int32_t)); memcpy(dl_ch1_ext,dl_ch1p,12*sizeof(int32_t)); memcpy(rxF_ext,rxF,12*sizeof(int32_t)); - // for (i=0;i<12;i++) - // printf("extract rb %d, re %d => (%d,%d)\n",prb,i,*(short *)&rxF_ext[i],*(1+(short*)&rxF_ext[i])); +#ifdef DEBUG_DLSCH_DEMOD + for (i=0;i<12;i++) + printf("extract rb %d, re %d => (%d,%d)\n",prb,i,*(short *)&rxF_ext[i],*(1+(short*)&rxF_ext[i])); +#endif dl_ch0_ext+=12; dl_ch1_ext+=12; rxF_ext+=12; @@ -4015,7 +4075,9 @@ unsigned short dlsch_extract_rbs_dual(int **rxdataF, if ((i!=frame_parms->nushift) && (i!=((frame_parms->nushift+3)%6))) { rxF_ext[j]=rxF[i]; - // printf("(pilots,skip1)extract rb %d, re %d => (%d,%d)\n",prb,i,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j])); +#ifdef DEBUG_DLSCH_DEMOD + printf("(pilots,skip1)extract rb %d, re %d (%d)=> (%d,%d)\n",prb,i,j,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j])); +#endif dl_ch0_ext[j]=dl_ch0p[i]; dl_ch1_ext[j++]=dl_ch1p[i]; } @@ -4028,15 +4090,17 @@ unsigned short dlsch_extract_rbs_dual(int **rxdataF, if ((i!=frame_parms->nushift) && (i!=((frame_parms->nushift+3)%6))) { rxF_ext[j]=rxF[(i+6)]; - // printf("(pilots,skip2)extract rb %d, re %d => (%d,%d)\n",prb,i,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j])); +#ifdef DEBUG_DLSCH_DEMOD + printf("(pilots,skip2)extract rb %d, re %d (%d) => (%d,%d)\n",prb,i,j,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j])); +#endif dl_ch0_ext[j]=dl_ch0p[i+6]; dl_ch1_ext[j++]=dl_ch1p[i+6]; } - - dl_ch0_ext+=4; - dl_ch1_ext+=4; - rxF_ext+=4; } + dl_ch0_ext+=4; + dl_ch1_ext+=4; + rxF_ext+=4; + } else { //skip_half==0 for (i=0; i<12; i++) { if ((i!=frame_parms->nushift) && @@ -4044,7 +4108,9 @@ unsigned short dlsch_extract_rbs_dual(int **rxdataF, (i!=frame_parms->nushift+6) && (i!=((frame_parms->nushift+9)%12))) { rxF_ext[j]=rxF[i]; - // printf("(pilots)extract rb %d, re %d => (%d,%d)\n",prb,i,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j])); +#ifdef DEBUG_DLSCH_DEMOD + printf("(pilots)extract rb %d, re %d => (%d,%d)\n",prb,i,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j])); +#endif dl_ch0_ext[j] =dl_ch0p[i]; dl_ch1_ext[j++]=dl_ch1p[i]; } @@ -4060,10 +4126,11 @@ unsigned short dlsch_extract_rbs_dual(int **rxdataF, memcpy(dl_ch0_ext,dl_ch0p,6*sizeof(int32_t)); memcpy(dl_ch1_ext,dl_ch1p,6*sizeof(int32_t)); memcpy(rxF_ext,rxF,6*sizeof(int32_t)); - /* +#ifdef DEBUG_DLSCH_DEMOD for (i=0; i<6; i++) { printf("extract rb %d, re %d => (%d,%d)\n",prb,i,*(short *)&rxF_ext[i],*(1+(short*)&rxF_ext[i])); - }*/ + } +#endif rxF_ext+=6; dl_ch0_ext+=6; dl_ch1_ext+=6; @@ -4075,9 +4142,11 @@ unsigned short dlsch_extract_rbs_dual(int **rxdataF, memcpy(dl_ch0_ext,dl_ch0p,6*sizeof(int32_t)); memcpy(dl_ch1_ext,dl_ch1p,6*sizeof(int32_t)); memcpy(rxF_ext,rxF,6*sizeof(int32_t)); - /*for (i=0; i<6; i++) { +#ifdef DEBUG_DLSCH_DEMOD + for (i=0; i<6; i++) { printf("extract rb %d, re %d => (%d,%d)\n",prb,i,*(short *)&rxF_ext[i],*(1+(short*)&rxF_ext[i])); - }*/ + } +#endif rxF_ext+=6; dl_ch0_ext+=6; dl_ch1_ext+=6; @@ -4090,7 +4159,9 @@ unsigned short dlsch_extract_rbs_dual(int **rxdataF, dl_ch0_ext[j]=dl_ch0p[i]; dl_ch1_ext[j]=dl_ch1p[i]; rxF_ext[j++]=rxF[i]; - //printf("(pilots)extract rb %d, re %d => (%d,%d)\n",prb,i,*(short *)&rxF[i],*(1+(short*)&rxF[i])); +#ifdef DEBUG_DLSCH_DEMOD + printf("(pilots)extract rb %d, re %d (%d) => (%d,%d)\n",prb,i,j,*(short *)&rxF[i],*(1+(short*)&rxF[i])); +#endif } } rxF = &rxdataF[aarx][1+symbol*(frame_parms->ofdm_symbol_size)]; @@ -4100,8 +4171,10 @@ unsigned short dlsch_extract_rbs_dual(int **rxdataF, (i!=((frame_parms->nushift+9)%12))) { dl_ch0_ext[j]=dl_ch0p[i]; dl_ch1_ext[j]=dl_ch1p[i]; - rxF_ext[j++]=rxF[(i-6)]; - //printf("(pilots)extract rb %d, re %d => (%d,%d)\n",prb,i,*(short *)&rxF[1+i-6],*(1+(short*)&rxF[1+i-6])); + rxF_ext[j++]=rxF[i-6]; +#ifdef DEBUG_DLSCH_DEMOD + printf("(pilots)extract rb %d, re %d (%d) => (%d,%d)\n",prb,i,j,*(short *)&rxF[1+i-6],*(1+(short*)&rxF[1+i-6])); +#endif } } diff --git a/openair1/PHY/LTE_TRANSPORT/dlsch_llr_computation.c b/openair1/PHY/LTE_TRANSPORT/dlsch_llr_computation.c index a65a909828..a35f89b851 100644 --- a/openair1/PHY/LTE_TRANSPORT/dlsch_llr_computation.c +++ b/openair1/PHY/LTE_TRANSPORT/dlsch_llr_computation.c @@ -672,6 +672,7 @@ int dlsch_qpsk_llr(LTE_DL_FRAME_PARMS *frame_parms, // printf("dlsch_qpsk_llr: symbol %d,nb_rb %d, len %d,pbch_pss_sss_adjust %d\n",symbol,nb_rb,len,pbch_pss_sss_adjust); for (i=0; i Date: Tue, 20 Oct 2015 14:49:57 +0200 Subject: [PATCH 13/85] add the option to run group tests from build_oai script --- cmake_targets/build_oai | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/cmake_targets/build_oai b/cmake_targets/build_oai index 69d606ddd3..7d33d2055c 100755 --- a/cmake_targets/build_oai +++ b/cmake_targets/build_oai @@ -50,6 +50,8 @@ HW="EXMIMO" EPC=0 VERBOSE_COMPILE=0 CFLAGS_PROCESSOR_USER="" +RUN_GROUP=0 +TEST_CASE_GROUP="" function print_help() { echo_info ' @@ -95,6 +97,8 @@ Options Makes the core security features unitary simulators -s | --check runs a set of auto-tests based on simulators and several compilation tests +--run-group + runs only specified test cases specified here. This flag is only valid with -s -V | --vcd Adds a debgging facility to the binary files: GUI with major internal synchronization events -x | --xforms @@ -193,6 +197,11 @@ function main() { OAI_TEST=1 echo_info "Will run auto-tests" shift;; + --run-group) + RUN_GROUP=1 + TEST_CASE_GROUP=$2 + echo_info "executing test cases only in group: $TEST_CASE_GROUP" + shift 2;; -V | --vcd) echo_info "setting gtk-wave output" VCD_TIMING=1 @@ -575,7 +584,11 @@ function main() { echo_info "10. Running OAI pre commit tests (pre-ci) ..." rm -fr $OPENAIR_DIR/cmake_targets/autotests/log mkdir -p $OPENAIR_DIR/cmake_targets/autotests/log - $SUDO $OPENAIR_DIR/cmake_targets/autotests/run_exec_autotests.bash + if [ "$RUN_GROUP" -eq "1" ]; then + $SUDO $OPENAIR_DIR/cmake_targets/autotests/run_exec_autotests.bash -g "$TEST_CASE_GROUP" + else + $SUDO $OPENAIR_DIR/cmake_targets/autotests/run_exec_autotests.bash + fi else echo_info "10. Bypassing the Tests ..." fi From f0456ba16fede8dfcd24edae64c1a7156d385fdd Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Wed, 21 Oct 2015 11:32:08 +0200 Subject: [PATCH 14/85] updated xml file for lte-softmodem tests --- cmake_targets/autotests/README.txt | 1 + cmake_targets/autotests/test_case_list.xml | 70 +++++++++++++++++++++- 2 files changed, 70 insertions(+), 1 deletion(-) diff --git a/cmake_targets/autotests/README.txt b/cmake_targets/autotests/README.txt index 4d31da76f9..a623be4751 100644 --- a/cmake_targets/autotests/README.txt +++ b/cmake_targets/autotests/README.txt @@ -86,6 +86,7 @@ Obj.# Case# Test# Description 01 51 06 mbmssim (TBD) +01 55 lte-softmodem tests 02 Functional test case diff --git a/cmake_targets/autotests/test_case_list.xml b/cmake_targets/autotests/test_case_list.xml index c59989f46b..1d2d3d6626 100644 --- a/cmake_targets/autotests/test_case_list.xml +++ b/cmake_targets/autotests/test_case_list.xml @@ -1,4 +1,72 @@ + mozart stevens calisson 192.168.12.62 amerique + /mnt/sradio/TEST_RESULTS + https://gitlab.eurecom.fr/oai/openairinterface5g.git + https://gitlab.eurecom.fr/oai/openair-cn.git + develop + + + + lte-softmodem + calisson + stevens + nano + killall oaisim; killall lte-softmodem; killall lte-softmodem-nos1; killall mme_gw; killall run_epc; killall run_hss + + /tmp + + + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP + iperf + + $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem + + + + + /tmp + + + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP + iperf + + $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem + + + + + /tmp + + + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP + iperf + + $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem + + + + + /tmp + + + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP + iperf + + $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem + + + + + + 60 + 300 + 2 + + @@ -13,7 +81,7 @@ - 2 + 1 From 4d0015fed2d0dcbd29bb443d1484c8932cb3147f Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Mon, 26 Oct 2015 11:34:08 +0100 Subject: [PATCH 15/85] added helper scripts --- cmake_targets/autotests/tools/remove_old_programs.bash | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100755 cmake_targets/autotests/tools/remove_old_programs.bash diff --git a/cmake_targets/autotests/tools/remove_old_programs.bash b/cmake_targets/autotests/tools/remove_old_programs.bash new file mode 100755 index 0000000000..772ba11f58 --- /dev/null +++ b/cmake_targets/autotests/tools/remove_old_programs.bash @@ -0,0 +1,7 @@ +#!/bin/bash + +#$1 programs to be killed and checked +var=`ps -A |grep -E -i $1` +echo $var +if [ -n "$var" ]; then echo 'Match found'; else echo 'Match not found' ;fi + From 66a8a6be64a89e80427b17dfea8672916dbf5373 Mon Sep 17 00:00:00 2001 From: Florian Kaltenberger Date: Mon, 26 Oct 2015 16:01:38 +0100 Subject: [PATCH 16/85] adding testcases for dlsim TM2 adding error checks in dlsim --- cmake_targets/autotests/README.txt | 2 ++ cmake_targets/autotests/test_case_list.xml | 12 ++++++++---- openair1/SIMULATION/LTE_PHY/dlsim.c | 22 +++++++++++++++++----- 3 files changed, 27 insertions(+), 9 deletions(-) diff --git a/cmake_targets/autotests/README.txt b/cmake_targets/autotests/README.txt index a623be4751..c983933125 100644 --- a/cmake_targets/autotests/README.txt +++ b/cmake_targets/autotests/README.txt @@ -73,6 +73,8 @@ Obj.# Case# Test# Description (Test 10: 5 MHz, R6.FDD (MCS 25), EVA5, 17.4 dB (70%)), (Test 10b: 5 MHz, R6-1.FDD (MCS 24,18 PRB), EVA5, 17.5dB (70%)), (Test 11: 10 MHz, R7.FDD (MCS 25), EVA5, 17.7dB (70%)) + (TM2 Test 1 10 MHz, R.11 FDD (MCS 14), EVA5, 6.8 dB (70%)), + (TM2 Test 1b 20 MHz, R.11-2 FDD (MCS 13), EVA5, 5.9 dB (70%)), 01 51 01 ulsim Test cases. (Test 1, 5 MHz, FDD (MCS 5), AWGN, 6dB), (Test 2, 5 MHz, FDD (MCS 16), AWGN , 12dB (70%)), (Test 3, 10 MHz, R3.FDD (MCS 5), AWGN, 6dB (70%)), diff --git a/cmake_targets/autotests/test_case_list.xml b/cmake_targets/autotests/test_case_list.xml index 1d2d3d6626..5d24cd46d7 100644 --- a/cmake_targets/autotests/test_case_list.xml +++ b/cmake_targets/autotests/test_case_list.xml @@ -754,6 +754,8 @@ (Test 10, 5 MHz, R6.FDD (MCS 25), EVA5, 17.4 dB (70%)), (Test 10b, 5 MHz, R6-1.FDD (MCS 24,18 PRB), EVA5, 17.5dB (70%)), (Test 11, 10 MHz, R7.FDD (MCS 25), EVA5, 17.7dB (70%)) + (TM2 Test 1 10 MHz, R.11 FDD (MCS 14), EVA5, 6.8 dB (70%)), + (TM2 Test 1b 20 MHz, R.11-2 FDD (MCS 13), EVA5, 5.9 dB (70%)), dlsim @@ -769,11 +771,13 @@ -m14 -gG -s1.4 -w1.0 -f.2 -n500 -B25 -c3 -z2 -O30 -L -m25 -gF -s17.4 -w1.0 -f.2 -n500 -B25 -c3 -z2 -O70 -L -m25 -gF -s17.5 -w1.0 -f.2 -n500 -B25 -c3 -z2 -r1022 -O70 -L - -m26 -gF -s17.7 -w1.0 -f.2 -n500 -B50 -c2 -z2 -O70 -L - test1 test5 test6 test6b test7 test7b test10 test10b test11 + -m26 -gF -s17.7 -w1.0 -f.2 -n500 -B50 -c2 -z2 -O70 -L + -m14 -gF -s6.8 -w1.0 -f.2 -n500 -B50 -c2 -x2 -y2 -z2 -O70 -L + -m13 -gF -s5.9 -w1.0 -f.2 -n500 -B25 -c3 -x2 -y2 -z2 -O70 -L + test1 test5 test6 test6b test7 test7b test10 test10b test11 TM2_test1 TM2_test1b "passed" segmentation fault|assertion|exiting|fatal - 3 + 1 @@ -799,7 +803,7 @@ test1 test2 test3 test4 test5 test6 "passed" segmentation fault|assertion|exiting|fatal - 3 + 1 diff --git a/openair1/SIMULATION/LTE_PHY/dlsim.c b/openair1/SIMULATION/LTE_PHY/dlsim.c index 28e7bc8216..0e0dce370c 100644 --- a/openair1/SIMULATION/LTE_PHY/dlsim.c +++ b/openair1/SIMULATION/LTE_PHY/dlsim.c @@ -777,6 +777,10 @@ int main(int argc, char **argv) sprintf(bler_fname,"bler_tx%d_chan%d_nrx%d_mcs%d.csv",transmission_mode,channel_model,n_rx,mcs1); bler_fd = fopen(bler_fname,"w"); + if (bler_fd==NULL) { + fprintf(stderr,"Cannot create file %s!\n",bler_fname); + exit(-1); + } fprintf(bler_fd,"SNR; MCS; TBS; rate; err0; trials0; err1; trials1; err2; trials2; err3; trials3; dci_err\n"); if (test_perf != 0) { @@ -784,12 +788,16 @@ int main(int argc, char **argv) hostname[1023] = '\0'; gethostname(hostname, 1023); printf("Hostname: %s\n", hostname); - char dirname[FILENAME_MAX]; - sprintf(dirname, "%s/SIMU/USER/pre-ci-logs-%s", getenv("OPENAIR_TARGETS"),hostname ); - sprintf(time_meas_fname,"%s/time_meas_prb%d_mcs%d_anttx%d_antrx%d_pdcch%d_channel%s_tx%d.csv", - dirname,N_RB_DL,mcs1,n_tx,n_rx,num_pdcch_symbols,channel_model_input,transmission_mode); - mkdir(dirname,0777); + //char dirname[FILENAME_MAX]; + //sprintf(dirname, "%s/SIMU/USER/pre-ci-logs-%s", getenv("OPENAIR_TARGETS"),hostname ); + sprintf(time_meas_fname,"time_meas_prb%d_mcs%d_anttx%d_antrx%d_pdcch%d_channel%s_tx%d.csv", + N_RB_DL,mcs1,n_tx,n_rx,num_pdcch_symbols,channel_model_input,transmission_mode); + //mkdir(dirname,0777); time_meas_fd = fopen(time_meas_fname,"w"); + if (time_meas_fd==NULL) { + fprintf(stderr,"Cannot create file %s!\n",time_meas_fname); + exit(-1); + } } if(abstx) { @@ -797,6 +805,10 @@ int main(int argc, char **argv) sprintf(csv_fname,"dataout_tx%d_u2%d_mcs%d_chan%d_nsimus%d_R%d.m",transmission_mode,dual_stream_UE,mcs1,channel_model,n_frames,num_rounds); csv_fd = fopen(csv_fname,"w"); fprintf(csv_fd,"data_all%d=[",mcs1); + if (csv_fd==NULL) { + fprintf(stderr,"Cannot create file %s!\n",csv_fname); + exit(-1); + } } /* From bc1f00e9361006792cdbf0848763331b43e52f40 Mon Sep 17 00:00:00 2001 From: Florian Kaltenberger Date: Mon, 26 Oct 2015 16:43:38 +0100 Subject: [PATCH 17/85] small fix for perfect_ce for dlsim adding perfect_ce to mbmssim --- openair1/SIMULATION/LTE_PHY/dlsim.c | 2 +- openair1/SIMULATION/LTE_PHY/mbmssim.c | 25 ++++++++++++++++++------- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/openair1/SIMULATION/LTE_PHY/dlsim.c b/openair1/SIMULATION/LTE_PHY/dlsim.c index 08ecfe9dde..26a8bb0b1c 100644 --- a/openair1/SIMULATION/LTE_PHY/dlsim.c +++ b/openair1/SIMULATION/LTE_PHY/dlsim.c @@ -2769,7 +2769,7 @@ PMI_FEEDBACK: // Multipath channel if (awgn_flag == 0) { - multipath_channel(eNB2UE[0],s_re,s_im,r_re,r_im, + multipath_channel(eNB2UE[round],s_re,s_im,r_re,r_im, 2*frame_parms->samples_per_tti,hold_channel); // printf("amc: ****************** eNB2UE[%d]->n_rx = %d,dd %d\n",round,eNB2UE[round]->nb_rx,eNB2UE[round]->channel_offset); diff --git a/openair1/SIMULATION/LTE_PHY/mbmssim.c b/openair1/SIMULATION/LTE_PHY/mbmssim.c index 0c31365587..b9be0b27e8 100644 --- a/openair1/SIMULATION/LTE_PHY/mbmssim.c +++ b/openair1/SIMULATION/LTE_PHY/mbmssim.c @@ -129,7 +129,7 @@ int main(int argc, char **argv) char c; - int i,l,aa,aarx; + int i,l,aa,aarx,k; double sigma2, sigma2_dB=0,SNR,snr0=-2.0,snr1=0.0; uint8_t snr1set=0; double snr_step=1,input_snr_step=1; @@ -521,15 +521,26 @@ int main(int argc, char **argv) subframe%10, 0, 0); - } - - for (l=2; l<12; l++) { - rx_pmch(PHY_vars_UE, + + if (PHY_vars_UE->perfect_ce==1) { + // fill in perfect channel estimates + freq_channel(eNB2UE,PHY_vars_UE->lte_frame_parms.N_RB_DL,12*PHY_vars_UE->lte_frame_parms.N_RB_DL + 1); + for(k=0; knb_antennas_tx; aa++) { + for (aarx=0; aarxnb_antennas_rx; aarx++) { + for (i=0; iN_RB_DL*12; i++) { + ((int16_t *) PHY_vars_UE->lte_ue_common_vars.dl_ch_estimates[k][(aa<<1)+aarx])[2*i+(l*frame_parms->ofdm_symbol_size+LTE_CE_FILTER_LENGTH)*2]=(int16_t)(eNB2UE->chF[aarx+(aa*frame_parms->nb_antennas_rx)][i].x*AMP); + ((int16_t *) PHY_vars_UE->lte_ue_common_vars.dl_ch_estimates[k][(aa<<1)+aarx])[2*i+1+(l*frame_parms->ofdm_symbol_size+LTE_CE_FILTER_LENGTH)*2]=(int16_t)(eNB2UE->chF[aarx+(aa*frame_parms->nb_antennas_rx)][i].y*AMP); + } + } + } + } + } + + rx_pmch(PHY_vars_UE, 0, subframe%10, l); - - } PHY_vars_UE->dlsch_ue_MCH[0]->harq_processes[0]->G = get_G(&PHY_vars_UE->lte_frame_parms, From d68e458e054fb0f6845cacec1dbccd4feaf40350 Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Mon, 26 Oct 2015 17:40:31 +0100 Subject: [PATCH 18/85] updated xml file for lte-softmodem tests --- cmake_targets/autotests/tools/remove_old_programs.bash~ | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100755 cmake_targets/autotests/tools/remove_old_programs.bash~ diff --git a/cmake_targets/autotests/tools/remove_old_programs.bash~ b/cmake_targets/autotests/tools/remove_old_programs.bash~ new file mode 100755 index 0000000000..8520a08c19 --- /dev/null +++ b/cmake_targets/autotests/tools/remove_old_programs.bash~ @@ -0,0 +1,7 @@ +#!/bin/bash + +#$1 programs to be killed and checked +var=`ps -A |grep -E -i $1` +echo $var +if [ -n \"$var\" ]; then echo 'Match found'; else echo 'Match not found' ;fi + From 547f34ad59431188caecfa9076bb47d199ec3934 Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Mon, 26 Oct 2015 17:41:03 +0100 Subject: [PATCH 19/85] updated xml file for lte-softmodem tests --- cmake_targets/autotests/test_case_list.xml | 144 +++++++++++---------- 1 file changed, 73 insertions(+), 71 deletions(-) diff --git a/cmake_targets/autotests/test_case_list.xml b/cmake_targets/autotests/test_case_list.xml index 1d2d3d6626..c8d0c80f50 100644 --- a/cmake_targets/autotests/test_case_list.xml +++ b/cmake_targets/autotests/test_case_list.xml @@ -1,74 +1,13 @@ - - mozart stevens calisson 192.168.12.62 amerique + + +mozart stevens calisson nano amerique /mnt/sradio/TEST_RESULTS https://gitlab.eurecom.fr/oai/openairinterface5g.git https://gitlab.eurecom.fr/oai/openair-cn.git - develop + feature-34-test_framework + develop + oaisim* oaisim_nos1* lte-softmodem* lte-softmodem-nos1* mme_gw* run_epc* run_hss* iperf* ltebox* - - - lte-softmodem - calisson - stevens - nano - killall oaisim; killall lte-softmodem; killall lte-softmodem-nos1; killall mme_gw; killall run_epc; killall run_hss - - /tmp - - - $OPENAIR_DIR/cmake_targets/build_oai - --eNB -w USRP - iperf - - $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem - - - - - /tmp - - - $OPENAIR_DIR/cmake_targets/build_oai - --eNB -w USRP - iperf - - $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem - - - - - /tmp - - - $OPENAIR_DIR/cmake_targets/build_oai - --eNB -w USRP - iperf - - $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem - - - - - /tmp - - - $OPENAIR_DIR/cmake_targets/build_oai - --eNB -w USRP - iperf - - $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem - - - - - - 60 - 300 - 2 - - - - compilation Build oaisim.Rel8 @@ -754,6 +693,8 @@ (Test 10, 5 MHz, R6.FDD (MCS 25), EVA5, 17.4 dB (70%)), (Test 10b, 5 MHz, R6-1.FDD (MCS 24,18 PRB), EVA5, 17.5dB (70%)), (Test 11, 10 MHz, R7.FDD (MCS 25), EVA5, 17.7dB (70%)) + (TM2 Test 1 10 MHz, R.11 FDD (MCS 14), EVA5, 6.8 dB (70%)), + (TM2 Test 1b 20 MHz, R.11-2 FDD (MCS 13), EVA5, 5.9 dB (70%)), dlsim @@ -769,8 +710,10 @@ -m14 -gG -s1.4 -w1.0 -f.2 -n500 -B25 -c3 -z2 -O30 -L -m25 -gF -s17.4 -w1.0 -f.2 -n500 -B25 -c3 -z2 -O70 -L -m25 -gF -s17.5 -w1.0 -f.2 -n500 -B25 -c3 -z2 -r1022 -O70 -L - -m26 -gF -s17.7 -w1.0 -f.2 -n500 -B50 -c2 -z2 -O70 -L - test1 test5 test6 test6b test7 test7b test10 test10b test11 + -m26 -gF -s17.7 -w1.0 -f.2 -n500 -B50 -c2 -z2 -O70 -L + -m14 -gF -s6.8 -w1.0 -f.2 -n500 -B50 -c2 -x2 -y2 -z2 -O70 -L + -m13 -gF -s5.9 -w1.0 -f.2 -n500 -B25 -c3 -x2 -y2 -z2 -O70 -L + test1 test5 test6 test6b test7 test7b test10 test10b test11 TM2_test1 TM2_test1b "passed" segmentation fault|assertion|exiting|fatal 3 @@ -802,11 +745,70 @@ 3 + + lte-softmodem + + calisson + stevens + nano + oaisim* oaisim_nos1* lte-softmodem* lte-softmodem-nos1* mme_gw* run_epc* run_hss* iperf* ltebox* + 300 + + /tmp + $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code 1 + $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code 208 + $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code 95 + + + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP + iperf + + $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem + + + + + /tmp + + + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP + iperf + + $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem + + + + + /tmp + + + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP + iperf + + $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem + + + + + /tmp + + + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP + iperf + + $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem + + + + 2 + - - From 76000307a71ccfb3299cf4fcecb57013ea2da06d Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Mon, 26 Oct 2015 17:49:55 +0100 Subject: [PATCH 20/85] fixed a bug in autotest script for new xml configuration --- .../autotests/run_exec_autotests.bash | 106 +++--------------- 1 file changed, 15 insertions(+), 91 deletions(-) diff --git a/cmake_targets/autotests/run_exec_autotests.bash b/cmake_targets/autotests/run_exec_autotests.bash index fb1d2e9ae0..c4d11b7ba4 100755 --- a/cmake_targets/autotests/run_exec_autotests.bash +++ b/cmake_targets/autotests/run_exec_autotests.bash @@ -341,7 +341,7 @@ until [ -z "$1" ] xml_conf="$OPENAIR_DIR/cmake_targets/autotests/test_case_list.xml" -test_case_list=`xmlstarlet sel -T -t -m /xml/testCaseList/testCase -s A:N:- "@id" -v "@id" -n $xml_conf` +test_case_list=`xmlstarlet sel -T -t -m /testCaseList/testCase -s A:N:- "@id" -v "@id" -n $xml_conf` echo "test_case_list = $test_case_list" @@ -372,20 +372,20 @@ for search_expr in "${test_case_array[@]}" fi name=$search_expr - class=`xmlstarlet sel -t -v "/xml/testCaseList/testCase[@id='$search_expr']/class" $xml_conf` - desc=`xmlstarlet sel -t -v "/xml/testCaseList/testCase[@id='$search_expr']/desc" $xml_conf` - pre_compile_prog=`xmlstarlet sel -t -v "/xml/testCaseList/testCase[@id='$search_expr']/pre_compile_prog" $xml_conf` - compile_prog=`xmlstarlet sel -t -v "/xml/testCaseList/testCase[@id='$search_expr']/compile_prog" $xml_conf` - compile_prog_args=`xmlstarlet sel -t -v "/xml/testCaseList/testCase[@id='$search_expr']/compile_prog_args" $xml_conf` - pre_exec=`xmlstarlet sel -t -v "/xml/testCaseList/testCase[@id='$search_expr']/pre_exec" $xml_conf` - pre_exec_args=`xmlstarlet sel -t -v "/xml/testCaseList/testCase[@id='$search_expr']/pre_exec_args" $xml_conf` - main_exec=`xmlstarlet sel -t -v "/xml/testCaseList/testCase[@id='$search_expr']/main_exec" $xml_conf` - main_exec_args=`xmlstarlet sel -t -v "/xml/testCaseList/testCase[@id='$search_expr']/main_exec_args" $xml_conf` - search_expr_true=`xmlstarlet sel -t -v "/xml/testCaseList/testCase[@id='$search_expr']/search_expr_true" $xml_conf` - search_expr_false=`xmlstarlet sel -t -v "/xml/testCaseList/testCase[@id='$search_expr']/search_expr_false" $xml_conf` - nruns=`xmlstarlet sel -t -v "/xml/testCaseList/testCase[@id='$search_expr']/nruns" $xml_conf` - compile_prog_out=`xmlstarlet sel -t -v "/xml/testCaseList/testCase[@id='$search_expr']/compile_prog_out" $xml_conf` - tags=`xmlstarlet sel -t -v "/xml/testCaseList/testCase[@id='$search_expr']/tags" $xml_conf` + class=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/class" $xml_conf` + desc=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/desc" $xml_conf` + pre_compile_prog=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/pre_compile_prog" $xml_conf` + compile_prog=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/compile_prog" $xml_conf` + compile_prog_args=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/compile_prog_args" $xml_conf` + pre_exec=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/pre_exec" $xml_conf` + pre_exec_args=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/pre_exec_args" $xml_conf` + main_exec=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/main_exec" $xml_conf` + main_exec_args=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/main_exec_args" $xml_conf` + search_expr_true=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/search_expr_true" $xml_conf` + search_expr_false=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/search_expr_false" $xml_conf` + nruns=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/nruns" $xml_conf` + compile_prog_out=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/compile_prog_out" $xml_conf` + tags=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/tags" $xml_conf` echo "class = $class" echo "name = $name" @@ -442,79 +442,3 @@ exit - -#$1 -> name of test case -#$2 -> name of compilation program -#$3 -> arguments for compilation program -#$4 -> name of pre-executable to install kernel modules, etc -#$5 -> arguments of pre-executable -#$6 -> name of executable -#$7 -> arguments for running the program -#$8 -> search expression ARRAY which needs to be found -#$9 -> search expression which should NOT be found (for ex. segmentation fault) -#$10 -> number of runs -#$11 -> pre compile program - - - -#oaisim tests -search_array=("Received RRCConnectionReconfigurationComplete from UE 0") -test_compile_and_run 010200 "oaisim_nos1" "" "$OPENAIR_DIR/cmake_targets/tools/init_nas_nos1" "" "oaisim_nos1" " -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3 - -search_array=("Received RRCConnectionReconfigurationComplete from UE 0") -test_compile_and_run 010201 "oaisim_nos1" "" "$OPENAIR_DIR/cmake_targets/tools/init_nas_nos1" "" "oaisim_nos1" " -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -a -n100" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3 - -search_array=("Received RRCConnectionReconfigurationComplete from UE 0" "Received RRCConnectionReconfigurationComplete from UE 1" "Received RRCConnectionReconfigurationComplete from UE 2") -test_compile_and_run 010202 "oaisim_nos1" "" "$OPENAIR_DIR/cmake_targets/tools/init_nas_nos1" "" "oaisim_nos1" " -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3 - -search_array=("Received RRCConnectionReconfigurationComplete from UE 0" "Received RRCConnectionReconfigurationComplete from UE 1" "Received RRCConnectionReconfigurationComplete from UE 2") -test_compile_and_run 010203 "oaisim_nos1" "" "$OPENAIR_DIR/cmake_targets/tools/init_nas_nos1" "" "oaisim_nos1" " -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -a -n100" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3 - -#PHY unitary simulations for secuirity tests -search_array=("finished with 0 errors") -test_compile_and_run 010300 "test_aes128_cmac_encrypt" "" "" "" "test_aes128_cmac_encrypt" " --verbose" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3 - -search_array=("finished with 0 errors") -test_compile_and_run 010301 "test_aes128_ctr_decrypt" "" "" "" "test_aes128_ctr_decrypt" " --verbose" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3 - -search_array=("finished with 0 errors") -test_compile_and_run 010302 "test_aes128_ctr_encrypt" "" "" "" "test_aes128_ctr_encrypt" " --verbose" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3 - -search_array=("finished with 0 errors") -test_compile_and_run 010303 "test_secu_kenb" "" "" "" "test_secu_kenb" " --verbose" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3 - -search_array=("finished with 0 errors") -test_compile_and_run 010304 "test_secu_knas" "" "" "" "test_secu_knas" " --verbose" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3 - -search_array=("finished with 0 errors") -test_compile_and_run 010305 "test_secu_knas_encrypt_eea1" "" "" "" "test_secu_knas_encrypt_eea1" " --verbose" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3 - -search_array=("finished with 0 errors") -test_compile_and_run 010306 "test_secu_knas_encrypt_eea2" "" "" "" "test_secu_knas_encrypt_eea2" " --verbose" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3 - -search_array=("finished with 0 errors") -test_compile_and_run 010307 "test_secu_knas_encrypt_eia1" "" "" "" "test_secu_knas_encrypt_eia1" " --verbose" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3 - -search_array=("finished with 0 errors") -test_compile_and_run 010308 "test_secu_knas_encrypt_eia2" "" "" "" "test_secu_knas_encrypt_eia2" " --verbose" "search_array[@]" "segmentation fault|assertion|exiting|fataln" 3 - -search_array=("finished with 0 errors") -test_compile_and_run 010309 "test_kdf" "" "" "" "test_kdf" " --verbose" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3 - - - - -#test_compile_and_run 0200 "oaisim_nos1" "" "$OPENAIR_DIR/cmake_targets/tools/init_nas_nos1" "" "oaisim_nos1" " -O /home/calisson/rohit/oai_snav/taets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -b1 -u1 -a " "RRC_CONN" 3 - -#run_test 0200 "$dbin/oaisim.r8 -a -A AWGN -n 100" false grep -q '(Segmentation.fault)|(Exiting)|(FATAL)' - -#run_test 0201 "$dbin/oaisim.r8 -a -A AWGN -n 100" false fgrep -q '[E]' - -# write the test results into a file - -xUnit_write "$results_file" - -echo "Test Results are written to $results_file" - - - From c8a5aeadbffe78a8e37a191d81cf3fc07d38e8a0 Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Tue, 27 Oct 2015 10:07:12 +0100 Subject: [PATCH 21/85] updated xml file for lte-softmodem tests --- cmake_targets/autotests/test_case_list.xml | 39 ++++++++-------------- 1 file changed, 14 insertions(+), 25 deletions(-) diff --git a/cmake_targets/autotests/test_case_list.xml b/cmake_targets/autotests/test_case_list.xml index 1425eb56a9..9bc669e106 100644 --- a/cmake_targets/autotests/test_case_list.xml +++ b/cmake_targets/autotests/test_case_list.xml @@ -1,6 +1,6 @@ -mozart stevens calisson nano amerique +stevens calisson nano /mnt/sradio/TEST_RESULTS https://gitlab.eurecom.fr/oai/openairinterface5g.git https://gitlab.eurecom.fr/oai/openair-cn.git @@ -755,35 +755,23 @@ 300 /tmp - $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code 1 - $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code 208 - $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code 95 - - + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_country_code 2 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_network_code 9 $OPENAIR_DIR/cmake_targets/build_oai --eNB -w USRP - iperf + iperf $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem + /tmp - - - $OPENAIR_DIR/cmake_targets/build_oai - --eNB -w USRP - iperf - - $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem - - - - - /tmp - - + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code 4 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_country_code 5 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_network_code 6 $OPENAIR_DIR/cmake_targets/build_oai --eNB -w USRP iperf @@ -794,10 +782,11 @@ /tmp - - - $OPENAIR_DIR/cmake_targets/build_oai - --eNB -w USRP + BUILD/EPC/epc.local.enb.conf.in MCC 7 + BUILD/EPC/epc.local.enb.conf.in MNC 8 + BUILD/EPC/epc.local.enb.conf.in TAC 9 + SCRIPTS/build_epc -c -SCRIPTS/build_hss -c -l + iperf $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem From 93d63c835a9163e072b7f6d780583eb0f5662014 Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Tue, 27 Oct 2015 10:10:36 +0100 Subject: [PATCH 22/85] remove backup file --- cmake_targets/autotests/tools/remove_old_programs.bash~ | 7 ------- 1 file changed, 7 deletions(-) delete mode 100755 cmake_targets/autotests/tools/remove_old_programs.bash~ diff --git a/cmake_targets/autotests/tools/remove_old_programs.bash~ b/cmake_targets/autotests/tools/remove_old_programs.bash~ deleted file mode 100755 index 8520a08c19..0000000000 --- a/cmake_targets/autotests/tools/remove_old_programs.bash~ +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash - -#$1 programs to be killed and checked -var=`ps -A |grep -E -i $1` -echo $var -if [ -n \"$var\" ]; then echo 'Match found'; else echo 'Match not found' ;fi - From 36c9872e992bbe4b9b958d472650a1b4f6c0cf54 Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Tue, 27 Oct 2015 10:33:49 +0100 Subject: [PATCH 23/85] fixed minor bugs in perf_oai script --- cmake_targets/tools/perf_oai.bash | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cmake_targets/tools/perf_oai.bash b/cmake_targets/tools/perf_oai.bash index 2254f64ea3..42d6be0716 100755 --- a/cmake_targets/tools/perf_oai.bash +++ b/cmake_targets/tools/perf_oai.bash @@ -68,7 +68,7 @@ declare MAX_RATE=1000 # set paths to the required binaries and check if the required binaries are available ENB_CONFIG=$OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -OAISIM_EXEC=$OPENAIR_DIR/targets/bin/oaisim_nos1 +OAISIM_EXEC=$OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1 BYPASSE_ITTI=0 OTGPLOT="$OPENAIR2_DIR/UTIL/OTG/OTGplot" PS2PDF="ps2pdf" @@ -301,8 +301,8 @@ oaisim_otg_stats(){ sync if [ ! -f $OAISIM_EXEC ]; then - echo_info "3.1 compiling OAISIM ($OPENAIR_TARGETS/cmake_targets/build_oai --oaisim -c)" - ($OPENAIR_TARGETS/cmake_targets/build_oai --oaisim -c >> results/perf_log.txt 2>&1 ) + echo_info "3.1 compiling OAISIM ($OPENAIR_DIR/cmake_targets/build_oai --oaisim -c --noS1)" + ($OPENAIR_DIR/cmake_targets/build_oai --oaisim -c --noS1 >> results/perf_log.txt 2>&1 ) build_stats=$? if [ $build_stats != 0 ] ; then echo_error "$OAISIM_EXEC cannot be built, check results/perf_log.txt file" From 49c70ff96a07190891935719d4bffe5ba0cf1b6b Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Tue, 27 Oct 2015 15:24:35 +0100 Subject: [PATCH 24/85] fixed sudo permission issue of autotests --- .../autotests/run_exec_autotests.bash | 45 ++++++------------- cmake_targets/build_oai | 9 +++- cmake_targets/tools/build_helper | 35 +++++++++++++++ cmake_targets/tools/init_nas_nos1 | 0 4 files changed, 56 insertions(+), 33 deletions(-) mode change 100644 => 100755 cmake_targets/tools/init_nas_nos1 diff --git a/cmake_targets/autotests/run_exec_autotests.bash b/cmake_targets/autotests/run_exec_autotests.bash index c4d11b7ba4..cccce16b33 100755 --- a/cmake_targets/autotests/run_exec_autotests.bash +++ b/cmake_targets/autotests/run_exec_autotests.bash @@ -7,8 +7,11 @@ else exit 1 fi +trap handle_ctrl_c INT + source $OPENAIR_DIR/cmake_targets/tools/test_helper + #SUDO="sudo -E " tdir=$OPENAIR_DIR/cmake_targets/autotests rm -fr $tdir/bin $tdir/log @@ -36,7 +39,7 @@ cd $tdir #\param $12 -> class of the test case (compilation, execution) #\param $13 -> output of compilation program that needs to be found for test case to pass #\param $14 -> tags to help identify the test case for readability in output xml file -test_compile() { +function test_compile() { xUnit_start test_case_name=$1 @@ -130,8 +133,9 @@ test_compile() { #\param $12 -> class of the test case (compilation, execution) #\param $13 -> output of compilation program that needs to be found for test case to pass #\param $14 -> tags to help identify the test case for readability in output xml file +#\param $15 => password for the user to run certain commands as sudo -test_compile_and_run() { +function test_compile_and_run() { xUnit_start test_case_name=$1 log_dir=$tdir/log @@ -149,16 +153,13 @@ test_compile_and_run() { class=${12} compile_prog_out=${13} tags=${14} + mypassword=${15} build_dir=$tdir/$1/build exec_file=$build_dir/$6 #Temporary log file where execution log is stored. temp_exec_log=$log_dir/temp_log.txt - - - - #echo "log_dir = $log_dir" #echo "log_file = $log_file" #echo "exec_file = $exec_file" @@ -217,7 +218,8 @@ test_compile_and_run() { echo "" >> $log_file 2>&1 if [ -n "$pre_exec_file" ]; then - { eval "source $pre_exec_file $pre_exec_args"; } >> $log_file 2>&1 + { eval " echo '$mypassword' |sudo -S -E $pre_exec_file $pre_exec_args " ; }>> $log_file 2>&1 + fi echo "Executing $exec_file $main_exec_args_array_index " echo "Executing $exec_file $main_exec_args_array_index " >> $log_file @@ -280,29 +282,8 @@ test_compile_and_run() { dbin=$OPENAIR_DIR/cmake_targets/autotests/bin dlog=$OPENAIR_DIR/cmake_targets/autotests/log -run_test() { -case=case$1; shift -cmd=$1; shift -expected=$3; shift -echo "expected = $expected" -exit -$cmd > $dlog/$case.txt 2>&1 -if [ $expected = "true" ] ; then - if $* $dlog/$case.txt; then - echo_success "test $case, command: $cmd ok" - else - echo_error "test $case, command: $cmd Failed" - fi -else - if $* $dlog/$case.txt; then - echo_error "test $case, command: $cmd Failed" - else - echo_success "test $case, command: $cmd ok" - fi -fi -} -print_help() { +function print_help() { echo_info ' This program runs automated test case system for OpenAirInterface You should have ubuntu 14.xx, updated, and the Linux kernel >= 3.14 @@ -314,11 +295,13 @@ Options ' } -main () { +function main () { RUN_GROUP=0 test_case_group="" test_case_group_array=() test_case_array=() +echo_info "Note that the user should be sudoer for executing certain commands, for example loading kernel modules" +read -s -p "Enter Password: " mypassword until [ -z "$1" ] do @@ -421,7 +404,7 @@ for search_expr in "${test_case_array[@]}" if [ "$class" == "compilation" ]; then test_compile "$name" "$compile_prog" "$compile_prog_args" "$pre_exec" "$pre_exec_args" "$main_exec" "$main_exec_args" "search_array_true[@]" "$search_expr_false" "$nruns" "$pre_compile_prog" "$class" "$compile_prog_out" "$tags" elif [ "$class" == "execution" ]; then - test_compile_and_run "$name" "$compile_prog" "$compile_prog_args" "$pre_exec" "$pre_exec_args" "$main_exec" "$main_exec_args" "search_array_true[@]" "$search_expr_false" "$nruns" "$pre_compile_prog" "$class" "$compile_prog_out" "$tags" + test_compile_and_run "$name" "$compile_prog" "$compile_prog_args" "$pre_exec" "$pre_exec_args" "$main_exec" "$main_exec_args" "search_array_true[@]" "$search_expr_false" "$nruns" "$pre_compile_prog" "$class" "$compile_prog_out" "$tags" "$mypassword" else echo "Unexpected class of test case...Exiting...." fi diff --git a/cmake_targets/build_oai b/cmake_targets/build_oai index af147d682a..f92b69c00d 100755 --- a/cmake_targets/build_oai +++ b/cmake_targets/build_oai @@ -54,6 +54,8 @@ CFLAGS_PROCESSOR_USER="" RUN_GROUP=0 TEST_CASE_GROUP="" +trap handle_ctrl_c INT + function print_help() { echo_info ' This program installs OpenAirInterface Software @@ -583,13 +585,16 @@ function main() { ##################### if [ "$OAI_TEST" = "1" ]; then echo_info "10. Running OAI pre commit tests (pre-ci) ..." + echo_info "The log file for the autotests is located here: $OPENAIR_DIR/cmake_targets/autotests/log/autotests.log " + echo_info "You can hit CTRL-C any time to terminate the autotests..." rm -fr $OPENAIR_DIR/cmake_targets/autotests/log mkdir -p $OPENAIR_DIR/cmake_targets/autotests/log if [ "$RUN_GROUP" -eq "1" ]; then - $SUDO $OPENAIR_DIR/cmake_targets/autotests/run_exec_autotests.bash -g "$TEST_CASE_GROUP" + $OPENAIR_DIR/cmake_targets/autotests/run_exec_autotests.bash -g "$TEST_CASE_GROUP" >& $OPENAIR_DIR/cmake_targets/autotests/log/autotests.log & else - $SUDO $OPENAIR_DIR/cmake_targets/autotests/run_exec_autotests.bash + $OPENAIR_DIR/cmake_targets/autotests/run_exec_autotests.bash >& $OPENAIR_DIR/cmake_targets/autotests/log/autotests.log & fi + wait else echo_info "10. Bypassing the Tests ..." fi diff --git a/cmake_targets/tools/build_helper b/cmake_targets/tools/build_helper index 46997c2773..2e0e54f82b 100755 --- a/cmake_targets/tools/build_helper +++ b/cmake_targets/tools/build_helper @@ -319,3 +319,38 @@ set_openair_env(){ export OPENAIR_TARGETS=$openair_path/targets } +################################ +# Function to killall the subprocesses when Ctrl-C Key is hit +############################### +function handle_ctrl_c(){ +CURPID=$$ +ppid=$$ +arraycounter=1 +echo_info "** Trapped CTRL-C. Killing all subprocesses now..." +while true +do + FORLOOP=FALSE + # Get all the child process id + for i in `ps -ef| awk '$3 == '$ppid' { print $2 }'` + do + if [ $i -ne $CURPID ] ; then + procid[$arraycounter]=$i + arraycounter=`expr $arraycounter + 1` + ppid=$i + FORLOOP=TRUE + fi + done + if [ "$FORLOOP" = "FALSE" ] ; then + arraycounter=`expr $arraycounter - 1` + ## We want to kill child process id first and then parent id's + while [ $arraycounter -ne 0 ] + do + $SUDO kill -9 "${procid[$arraycounter]}" >/dev/null + arraycounter=`expr $arraycounter - 1` + done + exit + fi +done +} + + diff --git a/cmake_targets/tools/init_nas_nos1 b/cmake_targets/tools/init_nas_nos1 old mode 100644 new mode 100755 From a725a3a86b11743c70bd1b650330e8977cc42d70 Mon Sep 17 00:00:00 2001 From: Florian Kaltenberger Date: Wed, 28 Oct 2015 11:17:58 +0100 Subject: [PATCH 25/85] some error checks in ulsim added --- openair1/SIMULATION/LTE_PHY/ulsim.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/openair1/SIMULATION/LTE_PHY/ulsim.c b/openair1/SIMULATION/LTE_PHY/ulsim.c index dd697899b8..978511f556 100644 --- a/openair1/SIMULATION/LTE_PHY/ulsim.c +++ b/openair1/SIMULATION/LTE_PHY/ulsim.c @@ -581,6 +581,10 @@ int main(int argc, char **argv) sprintf(bler_fname,"ULbler_mcs%d_nrb%d_ChannelModel%d_nsim%d.csv",mcs,nb_rb,chMod,n_frames); bler_fd = fopen(bler_fname,"w"); + if (bler_fd==NULL) { + fprintf(stderr,"Problem creating file %s\n",bler_fname); + exit(-1); + } fprintf(bler_fd,"#SNR;mcs;nb_rb;TBS;rate;errors[0];trials[0];errors[1];trials[1];errors[2];trials[2];errors[3];trials[3]\n"); @@ -589,13 +593,16 @@ int main(int argc, char **argv) hostname[1023] = '\0'; gethostname(hostname, 1023); printf("Hostname: %s\n", hostname); - char dirname[FILENAME_MAX]; - sprintf(dirname, "%s//SIMU/USER/pre-ci-logs-%s", getenv("OPENAIR_TARGETS"),hostname); - mkdir(dirname, 0777); - sprintf(time_meas_fname,"%s/time_meas_prb%d_mcs%d_antrx%d_channel%s_tx%d.csv", - dirname, + //char dirname[FILENAME_MAX]; + //sprintf(dirname, "%s//SIMU/USER/pre-ci-logs-%s", getenv("OPENAIR_TARGETS"),hostname); + //mkdir(dirname, 0777); + sprintf(time_meas_fname,"time_meas_prb%d_mcs%d_antrx%d_channel%s_tx%d.csv", N_RB_DL,mcs,n_rx,channel_model_input,transmission_mode); time_meas_fd = fopen(time_meas_fname,"w"); + if (time_meas_fd==NULL) { + fprintf(stderr,"Cannot create file %s!\n",time_meas_fname); + exit(-1); + } } if(abstx) { From 916008f47d3a8e6814380cccfa0d1fabf212c8e0 Mon Sep 17 00:00:00 2001 From: Florian Kaltenberger Date: Wed, 28 Oct 2015 11:28:25 +0100 Subject: [PATCH 26/85] fixing a few compilation warnings in ulsim --- openair1/PHY/LTE_TRANSPORT/proto.h | 5 ++++- openair1/SIMULATION/LTE_PHY/ulsim.c | 16 ++++++++++++++-- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/openair1/PHY/LTE_TRANSPORT/proto.h b/openair1/PHY/LTE_TRANSPORT/proto.h index eb32aab24e..e6aa7ef919 100644 --- a/openair1/PHY/LTE_TRANSPORT/proto.h +++ b/openair1/PHY/LTE_TRANSPORT/proto.h @@ -80,8 +80,11 @@ void clean_eNb_ulsch(LTE_eNB_ULSCH_t *ulsch, uint8_t abstraction_flag); void free_ue_ulsch(LTE_UE_ULSCH_t *ulsch); +LTE_eNB_ULSCH_t *new_eNB_ulsch(uint8_t Mdlharq,uint8_t max_turbo_iterations,uint8_t N_RB_UL, uint8_t abstraction_flag); + LTE_UE_ULSCH_t *new_ue_ulsch(uint8_t Mdlharq, unsigned char N_RB_UL, uint8_t abstraction_flag); +uint8_t ul_subframe2pdcch_alloc_subframe(LTE_DL_FRAME_PARMS *frame_parms,uint8_t n); /** \fn dlsch_encoding(uint8_t *input_buffer, @@ -1764,7 +1767,7 @@ double computeRhoB_UE(PDSCH_CONFIG_DEDICATED *pdsch_config_dedicated, LTE_UE_DLSCH_t *dlsch_ue); */ - uint8_t get_prach_prb_offset(LTE_DL_FRAME_PARMS *frame_parms, uint8_t tdd_mapindex, uint16_t Nf); +uint8_t get_prach_prb_offset(LTE_DL_FRAME_PARMS *frame_parms, uint8_t tdd_mapindex, uint16_t Nf); /**@}*/ #endif diff --git a/openair1/SIMULATION/LTE_PHY/ulsim.c b/openair1/SIMULATION/LTE_PHY/ulsim.c index dd697899b8..134e6b2885 100644 --- a/openair1/SIMULATION/LTE_PHY/ulsim.c +++ b/openair1/SIMULATION/LTE_PHY/ulsim.c @@ -214,6 +214,7 @@ int main(int argc, char **argv) // FILE *rx_frame_file; FILE *csv_fdUL=NULL; + /* FILE *fperen=NULL; char fperen_name[512]; @@ -222,6 +223,7 @@ int main(int argc, char **argv) FILE *flogeren=NULL; char flogeren_name[512]; + */ /* FILE *ftxlev; char ftxlev_name[512]; @@ -598,6 +600,7 @@ int main(int argc, char **argv) time_meas_fd = fopen(time_meas_fname,"w"); } + /* if(abstx) { sprintf(fperen_name,"ULchan_estims_F_mcs%d_rb%d_chanMod%d_nframes%d_chanReal%d.m",mcs,nb_rb,chMod,n_frames,n_ch_rlz); fperen = fopen(fperen_name,"a+"); @@ -614,6 +617,7 @@ int main(int argc, char **argv) fprintf(flogeren,"mag_f = ["); fclose(flogeren); } + */ /* sprintf(ftxlev_name,"txlevel_mcs%d_rb%d_chanMod%d_nframes%d_chanReal%d.m",mcs,nb_rb,chMod,n_frames,n_ch_rlz); @@ -626,6 +630,10 @@ int main(int argc, char **argv) // CSV file sprintf(csv_fname,"EULdataout_tx%d_mcs%d_nbrb%d_chan%d_nsimus%d_eren.m",transmission_mode,mcs,nb_rb,chMod,n_frames); csv_fdUL = fopen(csv_fname,"w"); + if (csv_fdUL == NULL) { + fprintf(stderr,"Problem opening file %s\n",csv_fname); + exit(-1); + } fprintf(csv_fdUL,"data_all%d=[",mcs); } @@ -1270,11 +1278,13 @@ int main(int argc, char **argv) PHY_vars_eNB->ulsch_eNB[0]->cyclicShift = cyclic_shift;// cyclic shift for DMRS + /* if(abstx) { namepointer_log2 = &flogeren_name; namepointer_chMag = &fmageren_name; //namepointer_txlev = &ftxlev; } + */ start_meas(&PHY_vars_eNB->ulsch_demodulation_stats); rx_ulsch(PHY_vars_eNB, @@ -1285,6 +1295,7 @@ int main(int argc, char **argv) cooperation_flag); stop_meas(&PHY_vars_eNB->ulsch_demodulation_stats); + /* if(abstx) { namepointer_chMag = NULL; @@ -1296,8 +1307,7 @@ int main(int argc, char **argv) // flagMag = 1; } } - - /////// + */ start_meas(&PHY_vars_eNB->ulsch_decoding_stats); ret= ulsch_decoding(PHY_vars_eNB, @@ -1816,6 +1826,7 @@ int main(int argc, char **argv) }//ch realization + /* if(abstx) { fperen = fopen(fperen_name,"a+"); fprintf(fperen,"];\n"); @@ -1829,6 +1840,7 @@ int main(int argc, char **argv) fprintf(flogeren,"];\n"); fclose(flogeren); } + */ // ftxlev = fopen(ftxlev_name,"a+"); //fprintf(ftxlev,"];\n"); From 1ee0fe7bfe05d10e8015c3668d8d90e2b5ebf13f Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Wed, 28 Oct 2015 11:37:36 +0100 Subject: [PATCH 27/85] updated build script for removing build files, updating log files --- .../autotests/run_exec_autotests.bash | 5 ++-- cmake_targets/autotests/test_case_list.xml | 27 ++++++++++++------- cmake_targets/build_oai | 9 ++++--- 3 files changed, 27 insertions(+), 14 deletions(-) diff --git a/cmake_targets/autotests/run_exec_autotests.bash b/cmake_targets/autotests/run_exec_autotests.bash index cccce16b33..498b733c6b 100755 --- a/cmake_targets/autotests/run_exec_autotests.bash +++ b/cmake_targets/autotests/run_exec_autotests.bash @@ -14,8 +14,8 @@ source $OPENAIR_DIR/cmake_targets/tools/test_helper #SUDO="sudo -E " tdir=$OPENAIR_DIR/cmake_targets/autotests -rm -fr $tdir/bin $tdir/log -mkdir -p $tdir/bin $tdir/log +rm -fr $tdir/bin +mkdir -p $tdir/bin results_file="$tdir/log/results_autotests.xml" updated=$(svn st -q $OPENAIR_DIR) @@ -277,6 +277,7 @@ function test_compile_and_run() { let "tags_array_index++" done # End of for loop (nindex) fi + rm -fr $build_dir } dbin=$OPENAIR_DIR/cmake_targets/autotests/bin diff --git a/cmake_targets/autotests/test_case_list.xml b/cmake_targets/autotests/test_case_list.xml index 9bc669e106..906bee963a 100644 --- a/cmake_targets/autotests/test_case_list.xml +++ b/cmake_targets/autotests/test_case_list.xml @@ -753,18 +753,18 @@ nano oaisim* oaisim_nos1* lte-softmodem* lte-softmodem-nos1* mme_gw* run_epc* run_hss* iperf* ltebox* 300 - /tmp targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code 1 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_country_code 2 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_network_code 9 - $OPENAIR_DIR/cmake_targets/build_oai + $OPENAIR_DIR/cmake_targets/build_oai --eNB -w USRP - iperf + $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem - + iperf + @@ -774,10 +774,12 @@ targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_network_code 6 $OPENAIR_DIR/cmake_targets/build_oai --eNB -w USRP - iperf + $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem + iperf + @@ -785,12 +787,19 @@ BUILD/EPC/epc.local.enb.conf.in MCC 7 BUILD/EPC/epc.local.enb.conf.in MNC 8 BUILD/EPC/epc.local.enb.conf.in TAC 9 - SCRIPTS/build_epc -c -SCRIPTS/build_hss -c -l - - iperf + SCRIPTS/build_epc + -c -l + SCRIPTS/build_hss + -c -l + + - $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem + SCRITPTS/run_epc -l + SCRIPTS/run_hss -l + + iperf + 2 diff --git a/cmake_targets/build_oai b/cmake_targets/build_oai index f92b69c00d..f1dbad1c82 100755 --- a/cmake_targets/build_oai +++ b/cmake_targets/build_oai @@ -585,14 +585,17 @@ function main() { ##################### if [ "$OAI_TEST" = "1" ]; then echo_info "10. Running OAI pre commit tests (pre-ci) ..." - echo_info "The log file for the autotests is located here: $OPENAIR_DIR/cmake_targets/autotests/log/autotests.log " + read -s -p "Enter Password: " mypassword + echo -e "\n" + echo_info "The log file for the autotest script for debugging is located here: $OPENAIR_DIR/cmake_targets/autotests/log/autotests.log " + echo_info "The results of autotests results is located here: $OPENAIR_DIR/cmake_targets/autotests/log/results_autotests.xml " echo_info "You can hit CTRL-C any time to terminate the autotests..." rm -fr $OPENAIR_DIR/cmake_targets/autotests/log mkdir -p $OPENAIR_DIR/cmake_targets/autotests/log if [ "$RUN_GROUP" -eq "1" ]; then - $OPENAIR_DIR/cmake_targets/autotests/run_exec_autotests.bash -g "$TEST_CASE_GROUP" >& $OPENAIR_DIR/cmake_targets/autotests/log/autotests.log & + echo '$mypassword' | $OPENAIR_DIR/cmake_targets/autotests/run_exec_autotests.bash -g "$TEST_CASE_GROUP" >& $OPENAIR_DIR/cmake_targets/autotests/log/autotests.log & else - $OPENAIR_DIR/cmake_targets/autotests/run_exec_autotests.bash >& $OPENAIR_DIR/cmake_targets/autotests/log/autotests.log & + echo '$mypassword' | $OPENAIR_DIR/cmake_targets/autotests/run_exec_autotests.bash >& $OPENAIR_DIR/cmake_targets/autotests/log/autotests.log & fi wait else From ffb486a5cb741d883fae090d4d76b3a87b8a0cdb Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Wed, 28 Oct 2015 11:52:27 +0100 Subject: [PATCH 28/85] removed references to EPC compilation in build script --- cmake_targets/build_oai | 36 +++--------------------------------- 1 file changed, 3 insertions(+), 33 deletions(-) diff --git a/cmake_targets/build_oai b/cmake_targets/build_oai index f1dbad1c82..6d337c6d52 100755 --- a/cmake_targets/build_oai +++ b/cmake_targets/build_oai @@ -82,8 +82,6 @@ Options Makes the LTE softmodem --UE Makes the UE specific parts (ue_ip, usim, nvram) ---EPC - Makes the EPC (MME-SPGW, HSS) --RRH Makes the RRH -r | --3gpp-release @@ -118,8 +116,8 @@ Options Usage (first build): oaisim (eNB + UE): ./build_oai -I -g --oaisim -x --install-system-files - Eurecom EXMIMO + COTS UE : ./build_oai -I -g --eNB --EPC -x --install-system-files - NI/ETTUS B201 + COTS UE : ./build_oai -I -g --eNB --EPC -x --install-system-files -w USRP + Eurecom EXMIMO + COTS UE : ./build_oai -I -g --eNB -x --install-system-files + NI/ETTUS B201 + COTS UE : ./build_oai -I -g --eNB -x --install-system-files -w USRP Usage (Regular): oaisim : ./build_oai --oaisim -x Eurecom EXMIMO + OAI ENB : ./build_oai --eNB -x @@ -161,10 +159,6 @@ function main() { UE=1 echo_info "Will compile UE" shift;; - --EPC) - EPC=1 - echo_info "Will compile EPC" - shift;; --RRH) RRH=1 echo_info "Will compile RRH" @@ -418,7 +412,7 @@ function main() { # EXMIMO drivers & firmware loader ############### - if [ "$HW" = "EXMIMO" -a "$EPC" = "0" ] ; then + if [ "$HW" = "EXMIMO" ] ; then echo_info "Compiling Express MIMO 2 board drivers" compilations \ @@ -556,30 +550,6 @@ function main() { rrh_gw $dbin/rrh_gw fi - # EPC compilation - ################## - if [ "$EPC" = "1" ] ; then - echo_info "Compiling EPC" - # Example HSS and EPC run on the same host - if [ "$CLEAN" = "1" ]; then - $OPENAIR_DIR/cmake_targets/tools/build_epc --clean --debug --transport-tcp-only --transport-prefer-tcp --s6a-server - $OPENAIR_DIR/cmake_targets/tools/build_hss --clean --debug --transport-tcp-only --transport-prefer-tcp --fqdn `hostname --fqdn` --connect-to-mme `hostname --fqdn` - else - $OPENAIR_DIR/cmake_targets/tools/build_epc --debug --transport-tcp-only --transport-prefer-tcp --s6a-server - $OPENAIR_DIR/cmake_targets/tools/build_hss --debug --transport-tcp-only --transport-prefer-tcp --fqdn `hostname --fqdn` --connect-to-mme `hostname --fqdn` - fi - - # if [ "$INSTALL_SYSTEM_FILES" = "1" ] ;then - # if [ -f $dbin/hss.conf ] ; then - # sed -e 's/ *= */=/' $dbin/hss.conf > $dconf/hss.conf.nospace - # source $dconf/hss.conf.nospace - # rm -f $dconf/hss.conf.nospace - # create_hss_database root linux "$MYSQL_user" "$MYSQL_pass" "$MYSQL_db" - # else - # echo_warning "not created HSS database: config not found" - # fi - # fi - fi # Auto-tests ##################### From 5ca76645ca1233a4549107bd4b2d0b46b3dbf07b Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Thu, 29 Oct 2015 12:33:15 +0100 Subject: [PATCH 29/85] added python-pip, paramiko installation for autotests --- cmake_targets/tools/build_helper | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cmake_targets/tools/build_helper b/cmake_targets/tools/build_helper index 2e0e54f82b..e6cdd87585 100755 --- a/cmake_targets/tools/build_helper +++ b/cmake_targets/tools/build_helper @@ -255,7 +255,8 @@ check_install_oai_software() { openssl \ python \ subversion \ - xmlstarlet + xmlstarlet \ + python-pip $SUDO update-alternatives --set liblapack.so /usr/lib/atlas-base/atlas/liblapack.so if [ `lsb_release -rs` = '12.04' ] ; then install_nettle_from_source @@ -263,6 +264,7 @@ check_install_oai_software() { else $SUDO apt-get install -y libgnutls-dev nettle-dev nettle-bin fi + $SUDO pip install paramiko install_asn1c_from_source } From 2704037a65e9c23853302bf3463d33d513a46ecc Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Fri, 30 Oct 2015 14:12:56 +0100 Subject: [PATCH 30/85] added minor options to ctr-c handler in build script --- cmake_targets/tools/build_helper | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cmake_targets/tools/build_helper b/cmake_targets/tools/build_helper index e6cdd87585..d45f0fedbc 100755 --- a/cmake_targets/tools/build_helper +++ b/cmake_targets/tools/build_helper @@ -346,7 +346,11 @@ do arraycounter=`expr $arraycounter - 1` ## We want to kill child process id first and then parent id's while [ $arraycounter -ne 0 ] - do + do + echo "first we send ctrl-c to program" + $SUDO kill -INT "${procid[$arraycounter]}" + sleep 5 + echo "Now we force kill if that didn't work" $SUDO kill -9 "${procid[$arraycounter]}" >/dev/null arraycounter=`expr $arraycounter - 1` done From dc440717cdc3a0a0eba1884a2989dc5a289bd3f0 Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Tue, 10 Nov 2015 02:37:09 +0100 Subject: [PATCH 31/85] added fixes for controlling bandrich UE remotely --- cmake_targets/autotests/test_case_list.xml | 38 +++--- .../tools/configure_cots_bandrich_ue.py | 118 ++++++++++++++++++ cmake_targets/autotests/tools/search_repl.py | 32 +++++ .../autotests/tools/wdial.bandrich.conf | 36 ++++++ cmake_targets/tools/build_helper | 5 +- 5 files changed, 212 insertions(+), 17 deletions(-) create mode 100644 cmake_targets/autotests/tools/configure_cots_bandrich_ue.py create mode 100644 cmake_targets/autotests/tools/search_repl.py create mode 100644 cmake_targets/autotests/tools/wdial.bandrich.conf diff --git a/cmake_targets/autotests/test_case_list.xml b/cmake_targets/autotests/test_case_list.xml index 906bee963a..0163918520 100644 --- a/cmake_targets/autotests/test_case_list.xml +++ b/cmake_targets/autotests/test_case_list.xml @@ -1,11 +1,11 @@ -stevens calisson nano +stevens calisson amerique /mnt/sradio/TEST_RESULTS https://gitlab.eurecom.fr/oai/openairinterface5g.git https://gitlab.eurecom.fr/oai/openair-cn.git feature-34-test_framework - develop + feature-17-test_framework oaisim* oaisim_nos1* lte-softmodem* lte-softmodem-nos1* mme_gw* run_epc* run_hss* iperf* ltebox* @@ -750,20 +750,24 @@ calisson stevens - nano + amerique oaisim* oaisim_nos1* lte-softmodem* lte-softmodem-nos1* mme_gw* run_epc* run_hss* iperf* ltebox* - 300 + 60 /tmp targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_country_code 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_network_code 9 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_country_code 208 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_network_code 92 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf tracking_area_code 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mobile_country_code 208 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mobile_network_code 92 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mme_ip_address ({ipv4="192.168.12.26";ipv6="192:168:30::17";active="yes";preference="ipv4";}) $OPENAIR_DIR/cmake_targets/build_oai --eNB -w USRP $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem - - iperf + -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf + iperf -s @@ -776,17 +780,19 @@ --eNB -w USRP - $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem + $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue --start-ue - iperf + ping 192.172.0.1 /tmp - BUILD/EPC/epc.local.enb.conf.in MCC 7 - BUILD/EPC/epc.local.enb.conf.in MNC 8 - BUILD/EPC/epc.local.enb.conf.in TAC 9 + BUILD/EPC/epc.local.enb.conf.in MCC 208 + BUILD/EPC/epc.local.enb.conf.in MNC 92 + BUILD/EPC/epc.local.enb.conf.in TAC 1 + BUILD/EPC/epc.local.enb.conf.in PGW_INTERFACE_NAME_FOR_SGI eth1 + BUILD/EPC/epc.local.enb.conf.in PGW_IPV4_ADDRESS_FOR_SGI 192.168.12.82/24 SCRIPTS/build_epc -c -l SCRIPTS/build_hss @@ -794,11 +800,11 @@ - SCRITPTS/run_epc -l + /opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox - SCRIPTS/run_hss -l + /opt/hss_sim0609/starthss - iperf + iperf -s diff --git a/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py b/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py new file mode 100644 index 0000000000..6408ef5aee --- /dev/null +++ b/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py @@ -0,0 +1,118 @@ +import time +import serial +import os +from pyroute2 import IPRoute +import sys +import re +import threading +import signal +import traceback + +# configure the serial connections (the parameters differs on the device you are connecting to) +serial_port = '/dev/ttyUSB2' +bandrich_ppd_config = '$OPENAIR_DIR/cmake_targets/autotests/tools/wdial.bandrich.conf' + +exit_flag=0 + +def signal_handler(signal, frame): + print('You pressed Ctrl+C!') + print('Resetting the UE to detached state') + timeout=10 + exit_flag=1 + send_command('AT+CGATT=0' , 'OK' , timeout) + sys.exit(0) + +signal.signal(signal.SIGINT, signal_handler) + +ser = serial.Serial( + port=serial_port, + #baudrate=9600, + #parity=serial.PARITY_ODD, + #stopbits=serial.STOPBITS_TWO, + #bytesize=serial.EIGHTBITS +) + +#ser.open() +#ser.isOpen() + +class pppThread (threading.Thread): + def __init__(self, threadID, name, counter): + threading.Thread.__init__(self) + self.threadID = threadID + self.name = name + self.counter = counter + def run(self): + print "Starting " + self.name + #Here we keep running pppd thread in indefinite loop as this script terminates sometimes + #while 1: + while 1: + time.sleep(5) #Hard coded, do not reduce this number! + print "Starting wvdial now..." + print 'exit_flag = ' + str(exit_flag) + send_command('AT+CGATT=1','OK', 300) + os.system('wvdial -C ' + bandrich_ppd_config + '' ) + if exit_flag == 1: + print "Exit flag set to true. Exiting pppThread now" + print "Terminating wvdial now..." + +def send_command (cmd, response, timeout): + count=0 + sleep_duration = 1 + while count <= timeout: + ser.write (cmd + '\r\n') + out = '' + time.sleep(sleep_duration) + count = count + sleep_duration + while ser.inWaiting() > 0: + out += ser.read(1) + print 'out = <' + out + '> response = <' + response + '> \n' + if re.search(response, out): + break + + + +def start_ue () : + #print 'Enter your commands below.\r\nInsert "exit" to leave the application.' + timeout=60 #timeout in seconds + send_command('AT', 'OK' , timeout) + send_command('AT+CGATT=0' , 'OK' , timeout) + send_command('AT+CGATT=1','OK', 300) + #os.system('wvdial -C ' + bandrich_ppd_config + ' &' ) + + thread_ppp = pppThread(1, "ppp_thread", 1) + thread_ppp.start() + + iface='ppp0' + + while 1: + time.sleep ( 2) + #Now we check if ppp0 interface is up and running + try: + if exit_flag == 1: + break + ip = IPRoute() + idx = ip.link_lookup(ifname=iface)[0] + os.system ('route add 192.172.0.1 ppp0') + break + except Exception, e: + error = ' Interface ' + iface + 'does not exist...' + error = error + ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e) + error = error + traceback.format_exc() + print error + + thread_ppp.join() + +def stop_ue(): + timeout=60 + os.system('killall wvdial') + send_command('AT', 'OK' , timeout) + send_command('AT+CGATT=0' , 'OK' , timeout) + +for arg in sys.argv[1:]: + if arg == '--start-ue' : + start_ue() + elif arg == '--stop-ue' : + stop_ue() + else : + print " Script called with wrong arguments, arg = " + arg + sys.exit() diff --git a/cmake_targets/autotests/tools/search_repl.py b/cmake_targets/autotests/tools/search_repl.py new file mode 100644 index 0000000000..9c49bcc4e5 --- /dev/null +++ b/cmake_targets/autotests/tools/search_repl.py @@ -0,0 +1,32 @@ +#!/usr/bin/python +import sys +import re + +#Arg 1 name of file +#Arg 2 keyword +#arg 3 replacement text +#Note that these should be seperated by spaces +if len(sys.argv) != 4: + print "search_repl.py: Wrong number of arguments. This program needs 3 arguments" + sys.exit() +filename = sys.argv[1] +keyword = sys.argv[2] +replacement_text = sys.argv[3] + +file = open(filename, 'r') +string = file.read() +file.close() + + +if keyword == 'mme_ip_address': + #string = (re.sub(r"mme_ip_address\s*=\s*\([^\$]+)\)\s*;\s*", r"<% tex \1 %>", t, re.M) + replacement_text = keyword + ' = ' + replacement_text + ' ; ' + string = re.sub(r"mme_ip_address\s*=\s*\(([^\$]+?)\)\s*;", replacement_text, string, re.M) +else : + replacement_text = keyword + ' = \" ' + replacement_text + '\" ; ' + string = re.sub(r"%s\s*=\s*\"([^\$]+?)\"\s*;" % keyword , replacement_text, string, re.M) + +file = open(filename, 'w') +file.write(string) +file.close() + diff --git a/cmake_targets/autotests/tools/wdial.bandrich.conf b/cmake_targets/autotests/tools/wdial.bandrich.conf new file mode 100644 index 0000000000..e1b64568f9 --- /dev/null +++ b/cmake_targets/autotests/tools/wdial.bandrich.conf @@ -0,0 +1,36 @@ +[Dialer Defaults] +Modem = /dev/ttyUSB0 +ISDN = off +Modem Type = Analog Modem +Baud = 9600 +Init = ATZ +Init2 = AT+CPIN? +Init3 = AT+CGREG? +Init4 = AT+COPS? +Init5 = AT+CSQ +Init6 = +Init7 = AT+CGATT=1 +Init8 = +Init9 = +Phone = *99***1# +Phone1 = +Phone2 = +Phone3 = +Phone4 = +Dial Prefix = +Dial Attempts = 1 +Dial Command = ATM1L3DT +Ask Password = off +Password = '' +Username = ImaginLab +Auto Reconnect = off +Abort on Busy = off +Carrier Check = on +Check Def Route = on +Abort on No Dialtone = on +Stupid Mode = on +Idle Seconds = 0 +Auto DNS = on +;Minimize = off +;Dock = off +;Do NOT edit this file by hand! diff --git a/cmake_targets/tools/build_helper b/cmake_targets/tools/build_helper index d45f0fedbc..d58d7018ed 100755 --- a/cmake_targets/tools/build_helper +++ b/cmake_targets/tools/build_helper @@ -256,7 +256,9 @@ check_install_oai_software() { python \ subversion \ xmlstarlet \ - python-pip + python-pip \ + pydb \ + wvdial $SUDO update-alternatives --set liblapack.so /usr/lib/atlas-base/atlas/liblapack.so if [ `lsb_release -rs` = '12.04' ] ; then install_nettle_from_source @@ -265,6 +267,7 @@ check_install_oai_software() { $SUDO apt-get install -y libgnutls-dev nettle-dev nettle-bin fi $SUDO pip install paramiko + $SUDO pip install pyroute2 install_asn1c_from_source } From cd71443d1b5b537d7b378ab55eb4969e29d943c9 Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Tue, 10 Nov 2015 10:49:38 +0100 Subject: [PATCH 32/85] added keyword to handle numeric substitution --- cmake_targets/autotests/tools/search_repl.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cmake_targets/autotests/tools/search_repl.py b/cmake_targets/autotests/tools/search_repl.py index 9c49bcc4e5..43b023fccc 100644 --- a/cmake_targets/autotests/tools/search_repl.py +++ b/cmake_targets/autotests/tools/search_repl.py @@ -22,6 +22,9 @@ if keyword == 'mme_ip_address': #string = (re.sub(r"mme_ip_address\s*=\s*\([^\$]+)\)\s*;\s*", r"<% tex \1 %>", t, re.M) replacement_text = keyword + ' = ' + replacement_text + ' ; ' string = re.sub(r"mme_ip_address\s*=\s*\(([^\$]+?)\)\s*;", replacement_text, string, re.M) +elif keyword == 'N_RB_DL': + replacement_text = keyword + ' = ' + replacement_text + ' ; ' + string = re.sub(r"%s\s*=\s*([^\$]+?)\s*;" % keyword , replacement_text, string, re.M) else : replacement_text = keyword + ' = \" ' + replacement_text + '\" ; ' string = re.sub(r"%s\s*=\s*\"([^\$]+?)\"\s*;" % keyword , replacement_text, string, re.M) From 4b4e221323ebc481392a33ad75e37aaf9f994fbb Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Tue, 10 Nov 2015 16:18:42 +0100 Subject: [PATCH 33/85] fixed bugs related to COTS UE --- .../tools/configure_cots_bandrich_ue.py | 25 +++++++++++-------- cmake_targets/autotests/tools/search_repl.py | 2 +- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py b/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py index 6408ef5aee..7cc1f20f53 100644 --- a/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py +++ b/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py @@ -59,16 +59,21 @@ def send_command (cmd, response, timeout): count=0 sleep_duration = 1 while count <= timeout: - ser.write (cmd + '\r\n') - out = '' - time.sleep(sleep_duration) - count = count + sleep_duration - while ser.inWaiting() > 0: - out += ser.read(1) - print 'out = <' + out + '> response = <' + response + '> \n' - if re.search(response, out): - break - + try: + ser.write (cmd + '\r\n') + out = '' + time.sleep(sleep_duration) + count = count + sleep_duration + while ser.inWaiting() > 0: + out += ser.read(1) + print 'out = <' + out + '> response = <' + response + '> \n' + if re.search(response, out): + break + except Exception, e: + error = ' cmd : ' + cmd + ' response : ' + response + error = error + ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e) + error = error + traceback.format_exc() + print error def start_ue () : diff --git a/cmake_targets/autotests/tools/search_repl.py b/cmake_targets/autotests/tools/search_repl.py index 43b023fccc..ee6b77e123 100644 --- a/cmake_targets/autotests/tools/search_repl.py +++ b/cmake_targets/autotests/tools/search_repl.py @@ -20,7 +20,7 @@ file.close() if keyword == 'mme_ip_address': #string = (re.sub(r"mme_ip_address\s*=\s*\([^\$]+)\)\s*;\s*", r"<% tex \1 %>", t, re.M) - replacement_text = keyword + ' = ' + replacement_text + ' ; ' + replacement_text = keyword + ' = ({' + replacement_text + ')} ; ' string = re.sub(r"mme_ip_address\s*=\s*\(([^\$]+?)\)\s*;", replacement_text, string, re.M) elif keyword == 'N_RB_DL': replacement_text = keyword + ' = ' + replacement_text + ' ; ' From c3f3d1ac96037d4aa78bda8baad2435b4b01d2b6 Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Tue, 10 Nov 2015 16:27:32 +0100 Subject: [PATCH 34/85] fixed a bug to search for an open port --- .../autotests/tools/configure_cots_bandrich_ue.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py b/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py index 7cc1f20f53..7ba02bc0b1 100644 --- a/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py +++ b/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py @@ -7,9 +7,20 @@ import re import threading import signal import traceback +import os # configure the serial connections (the parameters differs on the device you are connecting to) -serial_port = '/dev/ttyUSB2' +#First we find an open port to work with +serial_port='' +max_ports=100 +for port in range(1,100): + serial_port = '/dev/ttyUSB'+str(port) + if os.path.exists(serial_port) == True: + break + +print 'Using Serial port : ' + serial_port + +#serial_port = '/dev/ttyUSB2' bandrich_ppd_config = '$OPENAIR_DIR/cmake_targets/autotests/tools/wdial.bandrich.conf' exit_flag=0 From 65ee1824dbce0b4512e0c5ca4015471641848f55 Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Tue, 10 Nov 2015 17:07:48 +0100 Subject: [PATCH 35/85] updated files for configuring COTS UE --- cmake_targets/autotests/test_case_list.xml | 19 +++++++----- .../tools/configure_cots_bandrich_ue.py | 30 +++++++++++-------- 2 files changed, 30 insertions(+), 19 deletions(-) diff --git a/cmake_targets/autotests/test_case_list.xml b/cmake_targets/autotests/test_case_list.xml index 0163918520..fdce1b0c4a 100644 --- a/cmake_targets/autotests/test_case_list.xml +++ b/cmake_targets/autotests/test_case_list.xml @@ -1,12 +1,13 @@ -stevens calisson amerique +amerique stevens calisson /mnt/sradio/TEST_RESULTS https://gitlab.eurecom.fr/oai/openairinterface5g.git https://gitlab.eurecom.fr/oai/openair-cn.git feature-34-test_framework feature-17-test_framework - oaisim* oaisim_nos1* lte-softmodem* lte-softmodem-nos1* mme_gw* run_epc* run_hss* iperf* ltebox* + oaisim* oaisim_nos1* lte-softmodem* lte-softmodem-nos1* mme_gw* run_epc* run_hss* iperf* hss hss_sim + /opt/ltebox/tools/stop_ltebox compilation @@ -25,7 +26,7 @@ compilation - Build oaisim.Rel8 + network device driver(nasmesh_fix) + Build oaisim.Rel8 + network device driver(nasmesh_fix) oaisim_nos1 @@ -760,7 +761,7 @@ targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf tracking_area_code 1 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mobile_country_code 208 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mobile_network_code 92 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mme_ip_address ({ipv4="192.168.12.26";ipv6="192:168:30::17";active="yes";preference="ipv4";}) + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mme_ip_address "({ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";})" $OPENAIR_DIR/cmake_targets/build_oai --eNB -w USRP @@ -771,6 +772,7 @@ + True /tmp targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code 4 @@ -780,12 +782,13 @@ --eNB -w USRP - $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue --start-ue + python $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; python $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue ping 192.172.0.1 + True /tmp BUILD/EPC/epc.local.enb.conf.in MCC 208 @@ -800,14 +803,16 @@ - /opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox + /opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000 - /opt/hss_sim0609/starthss + /opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 iperf -s + True + 2 diff --git a/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py b/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py index 7ba02bc0b1..9a8b95d4d9 100644 --- a/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py +++ b/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py @@ -12,12 +12,20 @@ import os # configure the serial connections (the parameters differs on the device you are connecting to) #First we find an open port to work with serial_port='' -max_ports=100 -for port in range(1,100): - serial_port = '/dev/ttyUSB'+str(port) - if os.path.exists(serial_port) == True: - break +ser='' +def find_open_port(serial_port): + max_ports=100 + if os.path.exists(serial_port) == True: + return serial_port + for port in range(1,100): + serial_port = '/dev/ttyUSB'+str(port) + ser = serial.Serial(port=serial_port) + if os.path.exists(serial_port) == True: + print 'New Serial Port : ' + serial_port + break + return serial_port +serial_port = find_open_port('') print 'Using Serial port : ' + serial_port #serial_port = '/dev/ttyUSB2' @@ -35,13 +43,7 @@ def signal_handler(signal, frame): signal.signal(signal.SIGINT, signal_handler) -ser = serial.Serial( - port=serial_port, - #baudrate=9600, - #parity=serial.PARITY_ODD, - #stopbits=serial.STOPBITS_TWO, - #bytesize=serial.EIGHTBITS -) + #ser.open() #ser.isOpen() @@ -71,6 +73,10 @@ def send_command (cmd, response, timeout): sleep_duration = 1 while count <= timeout: try: + #Sometimes the port does not exist coz of reset in modem. + #In that case, we need to search for this port again + if os.path.exists(serial_port) == False: + serial_port = find_open_port(serial_port) ser.write (cmd + '\r\n') out = '' time.sleep(sleep_duration) From a208ba8ce894604e3231cce8e52e793f8686f85e Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Wed, 11 Nov 2015 13:49:03 +0100 Subject: [PATCH 36/85] added files for USRPX310 configuration --- .../CONF/enb.band7.tm1.100PRB.usrpx310.conf | 169 ++++++++++++++++++ .../CONF/enb.band7.tm1.50PRB.usrpx310.conf | 169 ++++++++++++++++++ .../CONF/enb.band7.tm1.usrpx310.conf | 169 ++++++++++++++++++ 3 files changed, 507 insertions(+) create mode 100644 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.conf create mode 100644 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.conf create mode 100644 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.conf new file mode 100644 index 0000000000..7b02ad538f --- /dev/null +++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.conf @@ -0,0 +1,169 @@ +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 = "92"; + + ////////// Physical parameters: + + component_carriers = ( + { + 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 = 100; + Nid_cell_mbsfn = 0; + nb_antennas_tx = 1; + nb_antennas_rx = 1; + tx_gain = 32; + rx_gain = 84; + 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 = -23; + 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 = -108; + 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.26"; + ipv6 = "192:168:30::17"; + active = "yes"; + preference = "ipv4"; + } + ); + + NETWORK_INTERFACES : + { + ENB_INTERFACE_NAME_FOR_S1_MME = "eth0"; + ENB_IPV4_ADDRESS_FOR_S1_MME = "192.168.12.111/24"; + + ENB_INTERFACE_NAME_FOR_S1U = "eth0"; + ENB_IPV4_ADDRESS_FOR_S1U = "192.168.12.111/24"; + ENB_PORT_FOR_S1U = 2152; # Spec 2152 + }; + + log_config : + { + global_log_level ="debug"; + 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/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.conf new file mode 100644 index 0000000000..e8a8fc8573 --- /dev/null +++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.conf @@ -0,0 +1,169 @@ +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 = "92"; + + ////////// Physical parameters: + + component_carriers = ( + { + 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 = 50; + Nid_cell_mbsfn = 0; + nb_antennas_tx = 1; + nb_antennas_rx = 1; + tx_gain = 32; + rx_gain = 82; + 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 = -19; + 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 = -108; + 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.26"; + ipv6 = "192:168:30::17"; + active = "yes"; + preference = "ipv4"; + } + ); + + NETWORK_INTERFACES : + { + ENB_INTERFACE_NAME_FOR_S1_MME = "eth0"; + ENB_IPV4_ADDRESS_FOR_S1_MME = "192.168.12.111/24"; + + ENB_INTERFACE_NAME_FOR_S1U = "eth0"; + ENB_IPV4_ADDRESS_FOR_S1U = "192.168.12.111/24"; + ENB_PORT_FOR_S1U = 2152; # Spec 2152 + }; + + log_config : + { + global_log_level ="debug"; + 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/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf new file mode 100644 index 0000000000..fe72488bbf --- /dev/null +++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf @@ -0,0 +1,169 @@ +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 = "92"; + + ////////// Physical parameters: + + component_carriers = ( + { + 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 = 32; + rx_gain = 84; + 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 = -16; + 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 = -108; + 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.26"; + ipv6 = "192:168:30::17"; + active = "yes"; + preference = "ipv4"; + } + ); + + NETWORK_INTERFACES : + { + ENB_INTERFACE_NAME_FOR_S1_MME = "eth0"; + ENB_IPV4_ADDRESS_FOR_S1_MME = "192.168.12.111/24"; + + ENB_INTERFACE_NAME_FOR_S1U = "eth0"; + ENB_IPV4_ADDRESS_FOR_S1U = "192.168.12.111/24"; + ENB_PORT_FOR_S1U = 2152; # Spec 2152 + }; + + log_config : + { + global_log_level ="debug"; + 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"; + }; + + } +); From f13b40c65fcadbe39bbd09452d00c445c803d048 Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Wed, 11 Nov 2015 14:56:35 +0100 Subject: [PATCH 37/85] fixed some bugs for UE configuration --- .../tools/configure_cots_bandrich_ue.py | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py b/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py index 9a8b95d4d9..067a2913cc 100644 --- a/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py +++ b/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py @@ -12,20 +12,22 @@ import os # configure the serial connections (the parameters differs on the device you are connecting to) #First we find an open port to work with serial_port='' -ser='' -def find_open_port(serial_port): +ser=serial.Serial() +def find_open_port(): + global serial_port, ser max_ports=100 if os.path.exists(serial_port) == True: return serial_port - for port in range(1,100): + for port in range(2,100): serial_port = '/dev/ttyUSB'+str(port) - ser = serial.Serial(port=serial_port) if os.path.exists(serial_port) == True: print 'New Serial Port : ' + serial_port break - return serial_port -serial_port = find_open_port('') + ser = serial.Serial(port=serial_port) + return + +find_open_port() print 'Using Serial port : ' + serial_port #serial_port = '/dev/ttyUSB2' @@ -71,12 +73,14 @@ class pppThread (threading.Thread): def send_command (cmd, response, timeout): count=0 sleep_duration = 1 + print 'In function: send_command: cmd ' + cmd + '> response: <' + response + '> \n' + global serial_port, ser while count <= timeout: try: #Sometimes the port does not exist coz of reset in modem. #In that case, we need to search for this port again if os.path.exists(serial_port) == False: - serial_port = find_open_port(serial_port) + find_open_port() ser.write (cmd + '\r\n') out = '' time.sleep(sleep_duration) From d09051a83aecbe5ab6cf4b69ec0dd68b203e81c7 Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Wed, 11 Nov 2015 15:10:49 +0100 Subject: [PATCH 38/85] fixed a bug in python search/replace script --- cmake_targets/autotests/tools/search_repl.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake_targets/autotests/tools/search_repl.py b/cmake_targets/autotests/tools/search_repl.py index ee6b77e123..ac62e15eb5 100644 --- a/cmake_targets/autotests/tools/search_repl.py +++ b/cmake_targets/autotests/tools/search_repl.py @@ -20,7 +20,7 @@ file.close() if keyword == 'mme_ip_address': #string = (re.sub(r"mme_ip_address\s*=\s*\([^\$]+)\)\s*;\s*", r"<% tex \1 %>", t, re.M) - replacement_text = keyword + ' = ({' + replacement_text + ')} ; ' + replacement_text = keyword + ' = ( { ' + replacement_text + ' } ) ; ' string = re.sub(r"mme_ip_address\s*=\s*\(([^\$]+?)\)\s*;", replacement_text, string, re.M) elif keyword == 'N_RB_DL': replacement_text = keyword + ' = ' + replacement_text + ' ; ' From eee5c2e25d3b4397ea9cde351696651fd19ebf2c Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Wed, 11 Nov 2015 18:01:26 +0100 Subject: [PATCH 39/85] updated python script to run as executable --- cmake_targets/autotests/tools/configure_cots_bandrich_ue.py | 2 ++ 1 file changed, 2 insertions(+) mode change 100644 => 100755 cmake_targets/autotests/tools/configure_cots_bandrich_ue.py diff --git a/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py b/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py old mode 100644 new mode 100755 index 067a2913cc..df78e341f7 --- a/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py +++ b/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py @@ -1,3 +1,5 @@ +#!/usr/bin/python + import time import serial import os From 75e6b8bf54a40221f366bf0ce100409cfe85f1f5 Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Wed, 11 Nov 2015 18:05:43 +0100 Subject: [PATCH 40/85] minor cleanup --- cmake_targets/autotests/tools/configure_cots_bandrich_ue.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py b/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py index df78e341f7..2f959be55c 100755 --- a/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py +++ b/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py @@ -75,7 +75,7 @@ class pppThread (threading.Thread): def send_command (cmd, response, timeout): count=0 sleep_duration = 1 - print 'In function: send_command: cmd ' + cmd + '> response: <' + response + '> \n' + print 'In function: send_command: cmd = <' + cmd + '> response: <' + response + '> \n' global serial_port, ser while count <= timeout: try: From f7099ef96dfced59f580e3266b05bc2ef11477c4 Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Wed, 11 Nov 2015 18:56:57 +0100 Subject: [PATCH 41/85] fixed a bug in search/replace python script --- cmake_targets/autotests/tools/search_repl.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) mode change 100644 => 100755 cmake_targets/autotests/tools/search_repl.py diff --git a/cmake_targets/autotests/tools/search_repl.py b/cmake_targets/autotests/tools/search_repl.py old mode 100644 new mode 100755 index ac62e15eb5..0a91945c77 --- a/cmake_targets/autotests/tools/search_repl.py +++ b/cmake_targets/autotests/tools/search_repl.py @@ -22,12 +22,12 @@ if keyword == 'mme_ip_address': #string = (re.sub(r"mme_ip_address\s*=\s*\([^\$]+)\)\s*;\s*", r"<% tex \1 %>", t, re.M) replacement_text = keyword + ' = ( { ' + replacement_text + ' } ) ; ' string = re.sub(r"mme_ip_address\s*=\s*\(([^\$]+?)\)\s*;", replacement_text, string, re.M) -elif keyword == 'N_RB_DL': +else : replacement_text = keyword + ' = ' + replacement_text + ' ; ' string = re.sub(r"%s\s*=\s*([^\$]+?)\s*;" % keyword , replacement_text, string, re.M) -else : - replacement_text = keyword + ' = \" ' + replacement_text + '\" ; ' - string = re.sub(r"%s\s*=\s*\"([^\$]+?)\"\s*;" % keyword , replacement_text, string, re.M) +#else : +# replacement_text = keyword + ' =\"' + replacement_text + '\" ; ' +# string = re.sub(r"%s\s*=\s*\"([^\$]+?)\"\s*;" % keyword , replacement_text, string, re.M) file = open(filename, 'w') file.write(string) From 111714460a05980151998c4d4f067b1e509a6822 Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Wed, 11 Nov 2015 23:45:55 +0100 Subject: [PATCH 42/85] updated for handling lte-softmodem tests --- cmake_targets/autotests/README.txt | 17 +- cmake_targets/autotests/test_case_list.xml | 199 +++++++++++++++++++-- 2 files changed, 196 insertions(+), 20 deletions(-) diff --git a/cmake_targets/autotests/README.txt b/cmake_targets/autotests/README.txt index c983933125..25f0c499bb 100644 --- a/cmake_targets/autotests/README.txt +++ b/cmake_targets/autotests/README.txt @@ -88,7 +88,22 @@ Obj.# Case# Test# Description 01 51 06 mbmssim (TBD) -01 55 lte-softmodem tests +01 55 lte-softmodem tests with ALU EPC w/ Bandrich COTS UE +01 55 00 FDD 5MHz UL Throughput for 60 sec +01 55 00 FDD 10MHz UL Throughput for 60 sec +01 55 00 FDD 20MHz UL Throughput for 60 sec +01 55 00 FDD 5MHz DL Throughput for 60 sec +01 55 00 FDD 10MHz DL Throughput for 60 sec +01 55 00 FDD 20MHz DL Throughput for 60 sec + + +01 56 lte-softmodem tests with OAI EPC (eNB and EPC are on same machines) w/ Bandrich COTS UE + + +01 57 lte-softmodem tests with OAI EPC (eNB and EPC are on different machines) w/ Bandrich COTS UE + + +01 58 lte-softmodem-noS1 tests 02 Functional test case diff --git a/cmake_targets/autotests/test_case_list.xml b/cmake_targets/autotests/test_case_list.xml index fdce1b0c4a..f402b38f26 100644 --- a/cmake_targets/autotests/test_case_list.xml +++ b/cmake_targets/autotests/test_case_list.xml @@ -1,12 +1,12 @@ -amerique stevens calisson +amerique stevens calisson nano /mnt/sradio/TEST_RESULTS https://gitlab.eurecom.fr/oai/openairinterface5g.git https://gitlab.eurecom.fr/oai/openair-cn.git feature-34-test_framework feature-17-test_framework - oaisim* oaisim_nos1* lte-softmodem* lte-softmodem-nos1* mme_gw* run_epc* run_hss* iperf* hss hss_sim + oaisim* oaisim_nos1* lte-softmodem* lte-softmodem-nos1* mme_gw* run_epc* run_hss* iperf* hss hss_sim configure_cots_bandrich_ue* wvdial* /opt/ltebox/tools/stop_ltebox @@ -755,13 +755,14 @@ oaisim* oaisim_nos1* lte-softmodem* lte-softmodem-nos1* mme_gw* run_epc* run_hss* iperf* ltebox* 60 /tmp - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_country_code 208 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_network_code 92 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf tracking_area_code 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mobile_country_code 208 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mobile_network_code 92 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mme_ip_address "({ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";})" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code \"1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_country_code \"208\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_network_code \"92\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf tracking_area_code \"1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mobile_country_code \"208\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mobile_network_code \"92\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf N_RB_DL 50 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" $OPENAIR_DIR/cmake_targets/build_oai --eNB -w USRP @@ -775,14 +776,14 @@ True /tmp - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code 4 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_country_code 5 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_network_code 6 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code \"4\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_country_code \"5\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_network_code \"6\" $OPENAIR_DIR/cmake_targets/build_oai --eNB -w USRP - python $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; python $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue + $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue ping 192.172.0.1 @@ -791,11 +792,11 @@ True /tmp - BUILD/EPC/epc.local.enb.conf.in MCC 208 - BUILD/EPC/epc.local.enb.conf.in MNC 92 - BUILD/EPC/epc.local.enb.conf.in TAC 1 - BUILD/EPC/epc.local.enb.conf.in PGW_INTERFACE_NAME_FOR_SGI eth1 - BUILD/EPC/epc.local.enb.conf.in PGW_IPV4_ADDRESS_FOR_SGI 192.168.12.82/24 + BUILD/EPC/epc.local.enb.conf.in MCC \"208\" + BUILD/EPC/epc.local.enb.conf.in MNC \"92\" + BUILD/EPC/epc.local.enb.conf.in TAC \"1\" + BUILD/EPC/epc.local.enb.conf.in PGW_INTERFACE_NAME_FOR_SGI \"eth1\" + BUILD/EPC/epc.local.enb.conf.in PGW_IPV4_ADDRESS_FOR_SGI \"192.168.12.82/24\" SCRIPTS/build_epc -c -l SCRIPTS/build_hss @@ -813,9 +814,169 @@ True - 2 + 3 + + + lte-softmodem + + calisson + stevens + nano + oaisim* oaisim_nos1* lte-softmodem* lte-softmodem-nos1* mme_gw* run_epc* run_hss* iperf* ltebox* + 60 + /tmp + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code \"1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_country_code \"208\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_network_code \"92\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf tracking_area_code \"1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mobile_country_code \"208\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mobile_network_code \"92\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf N_RB_DL 50 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mme_ip_address "ipv4=\"192.168.12.62\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP + + + $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem + -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf + iperf -s + + + + True + + /tmp + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code \"1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_country_code \"208\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_network_code \"92\" + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP + + + $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue + + ping 192.172.0.1 + + + + True + + /tmp + BUILD/EPC/epc.local.enb.conf.in MCC \"208\" + BUILD/EPC/epc.local.enb.conf.in MNC \"92\" + BUILD/EPC/epc.local.enb.conf.in TAC \"1\" + BUILD/EPC/epc.local.enb.conf.in PGW_INTERFACE_NAME_FOR_SGI \"eth1\" + BUILD/EPC/epc.local.enb.conf.in PGW_IPV4_ADDRESS_FOR_SGI \"192.168.12.82/24\" + BUILD/EPC/epc.conf.in MCC \"208\" + BUILD/EPC/epc.conf.in MNC \"92\" + BUILD/EPC/epc.conf.in TAC \"1\" + BUILD/EPC/epc.conf.in PGW_INTERFACE_NAME_FOR_SGI \"eth1\" + BUILD/EPC/epc.conf.in PGW_IPV4_ADDRESS_FOR_SGI \"192.168.12.82/24\" + BUILD/EPC/epc.conf.in MME_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.62/24\" + BUILD/EPC/epc.conf.in SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP \"192.168.12.62/24\" + BUILD/EPC/epc.conf.in PGW_IPV4_ADDRESS_FOR_SGI \"192.168.12.62/24\" + SCRIPTS/build_epc + -c -l + SCRIPTS/build_hss + -c + + + + /SCRIPTS/run_epc -g + + /SCRIPTS/run_hss -g + + iperf -s + + + + True + 2 + + + + + lte-softmodem + + calisson + stevens + calisson + oaisim* oaisim_nos1* lte-softmodem* lte-softmodem-nos1* mme_gw* run_epc* run_hss* iperf* ltebox* + 60 + /tmp + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code \"1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_country_code \"208\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_network_code \"92\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf N_RB_DL 50 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf tracking_area_code \"1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mobile_country_code \"208\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mobile_network_code \"92\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf N_RB_DL 50 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mme_ip_address "ipv4=\"192.168.12.62\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP + + + $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem + -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf + + + + + True + + /tmp + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code \"1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_country_code \"208\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_network_code \"92\" + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP + + + $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue + + ping 192.172.0.1 + + + + True + + /tmp + BUILD/EPC/epc.local.enb.conf.in MCC \"208\" + BUILD/EPC/epc.local.enb.conf.in MNC \"92\" + BUILD/EPC/epc.local.enb.conf.in TAC \"1\" + BUILD/EPC/epc.local.enb.conf.in PGW_INTERFACE_NAME_FOR_SGI \"eth1\" + BUILD/EPC/epc.local.enb.conf.in PGW_IPV4_ADDRESS_FOR_SGI \"192.168.12.82/24\" + BUILD/EPC/epc.conf.in MCC \"208\" + BUILD/EPC/epc.conf.in MNC \"92\" + BUILD/EPC/epc.conf.in TAC \"1\" + BUILD/EPC/epc.conf.in PGW_INTERFACE_NAME_FOR_SGI \"eth1\" + BUILD/EPC/epc.conf.in PGW_IPV4_ADDRESS_FOR_SGI \"192.168.12.62/24\" + BUILD/EPC/epc.conf.in MME_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.62/24\" + BUILD/EPC/epc.conf.in SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP \"192.168.12.62/24\" + BUILD/EPC/epc.conf.in PGW_IPV4_ADDRESS_FOR_SGI \"192.168.12.62/24\" + SCRIPTS/build_epc + -c -l + SCRIPTS/build_hss + -c -l + + + + SCRIPTS/run_epc -l + + SCRIPTS/run_hss + + iperf -s + + + + True + + 2 + + From 73b080150be0380d572542cf36a7763fe05626ea Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Wed, 11 Nov 2015 23:47:41 +0100 Subject: [PATCH 43/85] added file for executing softmodem tests remotely --- .../autotests/run_exec_lte-softmodem_tests.py | 878 ++++++++++++++++++ 1 file changed, 878 insertions(+) create mode 100644 cmake_targets/autotests/run_exec_lte-softmodem_tests.py diff --git a/cmake_targets/autotests/run_exec_lte-softmodem_tests.py b/cmake_targets/autotests/run_exec_lte-softmodem_tests.py new file mode 100644 index 0000000000..101e610bfd --- /dev/null +++ b/cmake_targets/autotests/run_exec_lte-softmodem_tests.py @@ -0,0 +1,878 @@ +#! /usr/bin/python +#****************************************************************************** + +# OpenAirInterface +# Copyright(c) 1999 - 2014 Eurecom + +# OpenAirInterface is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + + +# OpenAirInterface is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with OpenAirInterface.The full GNU General Public License is +# included in this distribution in the file called "COPYING". If not, +# see . + +# Contact Information +# OpenAirInterface Admin: openair_admin@eurecom.fr +# OpenAirInterface Tech : openair_tech@eurecom.fr +# OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr + +# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE + +# *******************************************************************************/ + +# \file test01.py +# \brief test 01 for OAI +# \author Navid Nikaein +# \date 2013 - 2015 +# \version 0.1 +# @ingroup _test + +import tempfile +import threading +import sys +import traceback +import wave +import os +import time +import datetime +import getpass +import math #from time import clock +import xml.etree.ElementTree as ET + +import log +import case01 +import case02 +import case03 +import case04 +import case05 + +from openair import * + +import paramiko + +def write_file(filename, string, mode="w"): + text_file = open(filename, mode) + text_file.write(string) + text_file.close() + + +def sftp_module (username, password, hostname, ports, localfile, remotefile, logfile, operation): + localD = localfile + remoteD = remotefile + #fd, paramiko_logfile = tempfile.mkstemp() + #res = os.close(fd ) + #paramiko logfile path should not be changed with multiple calls. The logs seem to in first file regardless + paramiko_logfile = os.path.expandvars('$OPENAIR_DIR/cmake_targets/autotests/log/paramiko.log') + error = "" + try: + res=os.system(' echo > ' + paramiko_logfile) + paramiko.util.log_to_file(paramiko_logfile) + transport = paramiko.Transport((hostname, ports)) + transport.connect(username = username, password = password) + sftp = paramiko.SFTPClient.from_transport(transport) + if operation == "put": + sftp.put(remotepath=remoteD, localpath=localD) + elif operation == "get": + sftp.get(remotepath=remoteD, localpath=localD) + else : + print "sftp_module: unidentified operation. Exiting now" + print "hostname = " + hostname + print "ports = " + ports + print "localfile = " + localfile + print "remotefile = " + remotefile + print "logfile = " + logfile + print "operation = " + operation + sys.exit() + sftp.close() + transport.close() + except Exception, e: + error = ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e) + error = error + '\n username = ' + username + '\n hostname = ' + hostname + '\n localfile = ' + localfile + '\n remotefile = ' + remotefile + '\n operation = ' + operation + '\nlogfile = ' + logfile + '\n ports = ' + str(ports) + '\n' + error = error + traceback.format_exc() + + res = os.system('\n echo \'SFTP Module Log for Machine: <' + hostname + '> starts...\' >> ' + logfile + ' 2>&1 ') + res = os.system('cat ' + paramiko_logfile + ' >> ' + logfile + ' 2>&1 \n') + write_file(logfile, error, "a") + res = os.system('\n echo \'SFTP Module Log for Machine: <' + hostname + '> ends...\' >> ' + logfile + ' 2>&1 \n') + +def finalize_deploy_script (timeout_cmd, terminate_missing_procs='True'): + cmd = 'declare -i timeout_cmd='+str(timeout_cmd) + '\n' + if terminate_missing_procs == 'True': + cmd = cmd + """ + #The code below checks if one the processes launched in background has crashed. + #If it does, then the code below terminates all the child processes created by this script + declare -i wakeup_interval=1 + declare -i step=0 + echo \"Array pid = ${array_exec_pid[@]}\" + while [ "$step" -lt "$timeout_cmd" ] + do + declare -i break_while_loop=0 + #Iterate over each process ID in array_exec_pid + for i in "${array_exec_pid[@]}" + do + numchild=`pstree -p $i | perl -ne 's/\((\d+)\)/print " $1"/ge' |wc -w` + echo "PID = $i, numchild = $numchild" + if [ "$numchild" -eq "0" ] ; then + echo "Process ID $i has finished unexpectedly. Now preparing to kill all the processes " + break_while_loop=1 + break + fi + done + if [ "$break_while_loop" -eq "1" ] ; then + break + fi + step=$(( step + wakeup_interval )) + sleep $wakeup_interval + done + echo "Final time step (Duration of test case) = $step " + """ + else: + #We do not terminate the script if one of the processes has existed prematurely + cmd = cmd + 'sleep ' + str(timeout_cmd) + '\n' + + return cmd + +def update_config_file(oai, config_string, logdirRepo, python_script): + if config_string : + stringArray = config_string.splitlines() + cmd="" + #python_script = '$OPENAIR_DIR/targets/autotests/tools/search_repl.py' + for string in stringArray: + #split the string based on space now + string1=string.split() + cmd = cmd + 'python ' + python_script + ' ' + logdirRepo+'/'+string1[0] + ' ' + string1[1] + ' '+ string1[2] + '\n' + #cmd = cmd + 'perl -p -i -e \'s/'+ string1[1] + '\\s*=\\s*"\\S*"\\s*/' + string1[1] + ' = "' + string1[2] +'"' + '/g\' ' + logdirRepo + '/' +string1[0] + '\n' + return cmd + #result = oai.send_recv(cmd) + + + +#Function to clean old programs that might be running from earlier execution +#oai - parameter for making connection to machine +#programList - list of programs that must be terminated before execution of any test case +def cleanOldPrograms(oai, programList, CleanUpAluLteBox): + cmd = 'killall -q -r ' + programList + result = oai.send(cmd, True) + print "Killing old programs..." + result + programArray = programList.split() + programListJoin = '|'.join(programArray) + cmd = cleanupOldProgramsScript + ' ' + '\''+programListJoin+'\'' + #result = oai.send_recv(cmd) + #print result + result = oai.send_expect_false(cmd, 'Match found', False) + print result + res=oai.send_recv(CleanUpAluLteBox, True) + + +class myThread (threading.Thread): + def __init__(self, threadID, name, counter): + threading.Thread.__init__(self) + self.threadID = threadID + self.name = name + self.counter = counter + def run(self): + print "Starting " + self.name + + +class oaiThread (threading.Thread): + def __init__(self, threadID, name, oai, cmd, sudo, timeout): + threading.Thread.__init__(self) + self.threadID = threadID + self.name = name + #self.counter = counter + self.oai = oai + self.cmd = cmd + self.sudo = sudo + self.timeout = timeout + def run(self): + print "Starting " + self.name + result = self.oai.send_recv(self.cmd, self.sudo, self.timeout) + print "result = " + result + print "Exiting " + self.name + +def addsudo (cmd, password=""): + cmd = 'echo \'' + password + '\' | sudo -S -E bash -c \' ' + cmd + '\' ' + return cmd + +#Function to handle test case class : lte-softmodem +def handle_testcaseclass_softmodem (testcase, oldprogramList, oai_list, logdirOAI5GRepo , logdirOpenaircnRepo, MachineList, password, CleanUpAluLteBox): + #We ignore the password sent to this function for secuirity reasons for password present in log files + #It is recommended to add a line in /etc/sudoers that looks something like below. The line below will run sudo without password prompt + # your_user_name ALL=(ALL:ALL) NOPASSWD: ALL + mypassword='' + #addsudo = 'echo \'' + mypassword + '\' | sudo -S -E ' + addpass = 'echo \'' + mypassword + '\' | ' + user = getpass.getuser() + testcasename = testcase.get('id') + timeout_cmd = testcase.findtext('TimeOut_cmd',default='') + timeout_cmd = int(float(timeout_cmd)) + #Timeout_thread is more than that of cmd to have room for compilation time, etc + timeout_thread = timeout_cmd + 300 + nruns = testcase.findtext('nruns',default='') + nruns = int(float(nruns)) + + eNBMachine = testcase.findtext('eNB',default='') + eNB_config_file = testcase.findtext('eNB_config_file',default='') + eNB_compile_prog = testcase.findtext('eNB_compile_prog',default='') + eNB_compile_prog_args = testcase.findtext('eNB_compile_prog_args',default='') + eNB_pre_exec = testcase.findtext('eNB_pre_exec',default='') + eNB_pre_exec_args = testcase.findtext('eNB_pre_exec_args',default='') + eNB_main_exec = testcase.findtext('eNB_main_exec',default='') + eNB_main_exec_args = testcase.findtext('eNB_main_exec_args',default='') + eNB_traffic_exec = testcase.findtext('eNB_traffic_exec',default='') + eNB_traffic_exec_args = testcase.findtext('eNB_traffic_exec_args',default='') + eNB_terminate_missing_procs = testcase.findtext('eNB_terminate_missing_procs',default='True') + + UEMachine = testcase.findtext('UE',default='') + UE_config_file = testcase.findtext('UE_config_file',default='') + UE_compile_prog = testcase.findtext('UE_compile_prog',default='') + UE_compile_prog_args = testcase.findtext('UE_compile_prog_args',default='') + UE_pre_exec = testcase.findtext('UE_pre_exec',default='') + UE_pre_exec_args = testcase.findtext('UE_pre_exec_args',default='') + UE_main_exec = testcase.findtext('UE_main_exec',default='') + UE_main_exec_args = testcase.findtext('UE_main_exec_args',default='') + UE_traffic_exec = testcase.findtext('UE_traffic_exec',default='') + UE_traffic_exec_args = testcase.findtext('UE_traffic_exec_args',default='') + UE_terminate_missing_procs = testcase.findtext('UE_terminate_missing_procs',default='True') + + EPCMachine = testcase.findtext('EPC',default='') + EPC_config_file = testcase.findtext('EPC_config_file',default='') + EPC_compile_prog = testcase.findtext('EPC_compile_prog',default='') + EPC_compile_prog_args = testcase.findtext('EPC_compile_prog_args',default='') + HSS_compile_prog = testcase.findtext('HSS_compile_prog',default='') + HSS_compile_prog_args = testcase.findtext('HSS_compile_prog_args',default='') + + EPC_pre_exec= testcase.findtext('EPC_pre_exec',default='') + EPC_pre_exec_args = testcase.findtext('EPC_pre_exec_args',default='') + EPC_main_exec= testcase.findtext('EPC_main_exec',default='') + EPC_main_exec_args = testcase.findtext('EPC_main_exec_args',default='') + HSS_main_exec= testcase.findtext('HSS_main_exec',default='') + HSS_main_exec_args = testcase.findtext('HSS_main_exec_args',default='') + EPC_traffic_exec = testcase.findtext('EPC_traffic_exec',default='') + EPC_traffic_exec_args = testcase.findtext('EPC_traffic_exec_args',default='') + EPC_terminate_missing_procs = testcase.findtext('EPC_terminate_missing_procs',default='True') + + index_eNBMachine = MachineList.index(eNBMachine) + index_UEMachine = MachineList.index(UEMachine) + index_EPCMachine = MachineList.index(EPCMachine) + oai_eNB = oai_list[index_eNBMachine] + oai_UE = oai_list[index_UEMachine] + + #We need to create two ssh sessions to avoid race conditions + if index_eNBMachine == index_EPCMachine: + oai_EPC = openair('localdomain', EPCMachine) + oai_EPC.connect(user,password) + else: + oai_EPC = oai_list[index_EPCMachine] + cleanOldPrograms(oai_eNB, oldprogramList, CleanUpAluLteBox) + cleanOldPrograms(oai_UE, oldprogramList, CleanUpAluLteBox) + cleanOldPrograms(oai_EPC, oldprogramList, CleanUpAluLteBox) + logdir_eNB = logdirOAI5GRepo+'/cmake_targets/autotests/log/'+ testcasename + logdir_UE = logdirOAI5GRepo+'/cmake_targets/autotests/log/'+ testcasename + logdir_EPC = logdirOpenaircnRepo+'/TEST/autotests/log/'+ testcasename + logdir_local = os.environ.get('OPENAIR_DIR') + if logdir_local is None: + print "Environment variable OPENAIR_DIR not set correctly" + sys.exit() + + #Make the log directory of test case + #cmd = 'mkdir -p ' + logdir_eNB + #result = oai_eNB.send_recv(cmd) + #cmd = 'mkdir -p ' + logdir_UE + #result = oai_UE.send_recv(cmd) + #cmd = 'mkdir -p ' + logdir_EPC + #result = oai_EPC.send_recv(cmd) + + print "Updating the config files for ENB/UE/EPC..." + #updating the eNB/UE/EPC configuration file from the test case + #update_config_file(oai_eNB, eNB_config_file, logdirOAI5GRepo) + #update_config_file(oai_UE, UE_config_file, logdirOAI5GRepo) + #update_config_file(oai_EPC, EPC_config_file, logdirOpenaircnRepo) + + for run in range(0,nruns): + logdir_eNB = logdirOAI5GRepo+'/cmake_targets/autotests/log/'+ testcasename + '/run_' + str(run) + logdir_UE = logdirOAI5GRepo+'/cmake_targets/autotests/log/'+ testcasename + '/run_' + str(run) + logdir_EPC = logdirOpenaircnRepo+'/TEST/autotests/log/'+ testcasename + '/run_' + str(run) + logdir_local_testcase = logdir_local + '/cmake_targets/autotests/log/'+ testcasename + '/run_' + str(run) + #Make the log directory of test case + cmd = 'rm -fr ' + logdir_eNB + ' ; mkdir -p ' + logdir_eNB + result = oai_eNB.send_recv(cmd) + cmd = 'rm -fr ' + logdir_UE + ' ; mkdir -p ' + logdir_UE + result = oai_UE.send_recv(cmd) + cmd = 'rm -fr ' + logdir_EPC + '; mkdir -p ' + logdir_EPC + result = oai_EPC.send_recv(cmd) + cmd = ' rm -fr ' + logdir_local_testcase + ' ; mkdir -p ' + logdir_local_testcase + result = os.system(cmd) + + logfile_compile_eNB = logdir_eNB + '/eNB_compile' + '_' + str(run) + '_.log' + logfile_exec_eNB = logdir_eNB + '/eNB_exec' + '_' + str(run) + '_.log' + logfile_pre_exec_eNB = logdir_eNB + '/eNB_pre_exec' + '_' + str(run) + '_.log' + logfile_traffic_eNB = logdir_eNB + '/eNB_traffic' + '_' + str(run) + '_.log' + logfile_task_eNB_out = logdir_eNB + '/eNB_task_out' + '_' + str(run) + '_.log' + logfile_task_eNB = logdir_local_testcase + '/eNB_task' + '_' + str(run) + '_.log' + task_eNB = ' ( \n' + task_eNB = task_eNB + 'cd ' + logdirOAI5GRepo + ' ; source oaienv ; source cmake_targets/tools/build_helper \n' + task_eNB = task_eNB + 'env |grep OPENAIR \n' + task_eNB = task_eNB + update_config_file(oai_eNB, eNB_config_file, logdirOAI5GRepo, '$OPENAIR_DIR/cmake_targets/autotests/tools/search_repl.py') + '\n' + if eNB_compile_prog != "": + task_eNB = task_eNB + ' ( ' + eNB_compile_prog + ' '+ eNB_compile_prog_args + ' ) > ' + logfile_compile_eNB + ' 2>&1 \n' + if eNB_pre_exec != "": + task_eNB = task_eNB + ' ( ' + eNB_pre_exec + ' '+ eNB_pre_exec_args + ' ) > ' + logfile_pre_exec_eNB + ' 2>&1 \n' + if eNB_main_exec != "": + task_eNB = task_eNB + ' ( ' + addsudo(eNB_main_exec + ' ' + eNB_main_exec_args, mypassword) + ' ) > ' + logfile_exec_eNB + ' 2>&1 & \n' + task_eNB = task_eNB + 'array_exec_pid+=($!) \n' + task_eNB = task_eNB + 'echo eNB_main_exec PID = $! \n' + if eNB_traffic_exec != "": + task_eNB = task_eNB + ' ( ' + eNB_traffic_exec + ' ' + eNB_traffic_exec_args + ' ) > ' + logfile_traffic_eNB + ' 2>&1 & \n ' + task_eNB = task_eNB + 'array_exec_pid+=($!) \n' + task_eNB = task_eNB + 'echo eNB_traffic_exec PID = $! \n' + #terminate the eNB test case after timeout_cmd seconds + task_eNB = task_eNB + finalize_deploy_script (timeout_cmd, eNB_terminate_missing_procs) + ' \n' + #task_eNB = task_eNB + 'sleep ' + str(timeout_cmd) + ' \n' + task_eNB = task_eNB + 'handle_ctrl_c' + '\n' + task_eNB = task_eNB + ' ) > ' + logfile_task_eNB_out + ' 2>&1 ' + write_file(logfile_task_eNB, task_eNB, mode="w") + + #task_eNB = 'echo \" ' + task_eNB + '\" > ' + logfile_script_eNB + ' 2>&1 ; ' + task_eNB + logfile_compile_UE = logdir_UE + '/UE_compile' + '_' + str(run) + '_.log' + logfile_exec_UE = logdir_UE + '/UE_exec' + '_' + str(run) + '_.log' + logfile_pre_exec_UE = logdir_UE + '/UE_pre_exec' + '_' + str(run) + '_.log' + logfile_traffic_UE = logdir_UE + '/UE_traffic' + '_' + str(run) + '_.log' + logfile_task_UE_out = logdir_UE + '/UE_task_out' + '_' + str(run) + '_.log' + logfile_task_UE = logdir_local_testcase + '/UE_task' + '_' + str(run) + '_.log' + task_UE = ' ( \n' + task_UE = task_UE + 'array_exec_pid=()' + '\n' + task_UE = task_UE + 'cd ' + logdirOAI5GRepo + '\n' + task_UE = task_UE + 'source oaienv \n' + task_UE = task_UE + 'source cmake_targets/tools/build_helper \n' + task_UE = task_UE + 'env |grep OPENAIR \n' + task_UE = task_UE + update_config_file(oai_UE, UE_config_file, logdirOAI5GRepo, '$OPENAIR_DIR/cmake_targets/autotests/tools/search_repl.py') + '\n' + if UE_compile_prog != "": + task_UE = task_UE + ' ( ' + UE_compile_prog + ' '+ UE_compile_prog_args + ' ) > ' + logfile_compile_UE + ' 2>&1 \n' + if UE_pre_exec != "": + task_UE = task_UE + ' ( ' + UE_pre_exec + ' '+ UE_pre_exec_args + ' ) > ' + logfile_pre_exec_UE + ' 2>&1 \n' + if UE_main_exec != "": + task_UE = task_UE + ' ( ' + addsudo(UE_main_exec + ' ' + UE_main_exec_args, mypassword) + ' ) > ' + logfile_exec_UE + ' 2>&1 & \n' + task_UE = task_UE + 'array_exec_pid+=($!) \n' + task_UE = task_UE + 'echo UE_main_exec PID = $! \n' + if UE_traffic_exec != "": + task_UE = task_UE + ' ( ' + UE_traffic_exec + ' ' + UE_traffic_exec_args + ' ) >' + logfile_traffic_UE + ' 2>&1 & \n' + task_UE = task_UE + 'array_exec_pid+=($!) \n' + task_UE = task_UE + 'echo UE_traffic_exec PID = $! \n' + #terminate the UE test case after timeout_cmd seconds + task_UE = task_UE + finalize_deploy_script (timeout_cmd, UE_terminate_missing_procs) + ' \n' + #task_UE = task_UE + 'sleep ' + str(timeout_cmd) + ' \n' + task_UE = task_UE + 'handle_ctrl_c' + '\n' + task_UE = task_UE + ' ) > ' + logfile_task_UE_out + ' 2>&1 ' + write_file(logfile_task_UE, task_UE, mode="w") + #task_UE = 'echo \" ' + task_UE + '\" > ' + logfile_script_UE + ' 2>&1 ; ' + task_UE + + logfile_compile_EPC = logdir_EPC + '/EPC_compile' + '_' + str(run) + '_.log' + logfile_compile_HSS = logdir_EPC + '/HSS_compile' + '_' + str(run) + '_.log' + logfile_exec_EPC = logdir_EPC + '/EPC_exec' + '_' + str(run) + '_.log' + logfile_pre_exec_EPC = logdir_EPC + '/EPC_pre_exec' + '_' + str(run) + '_.log' + logfile_exec_HSS = logdir_EPC + '/HSS_exec' + '_' + str(run) + '_.log' + logfile_traffic_EPC = logdir_EPC + '/EPC_traffic' + '_' + str(run) + '_.log' + logfile_task_EPC_out = logdir_EPC + '/EPC_task_out' + '_' + str(run) + '_.log' + logfile_task_EPC = logdir_local_testcase + '/EPC_task' + '_' + str(run) + '_.log' + task_EPC = ' ( \n' + task_EPC = task_EPC + 'array_exec_pid=()' + '\n' + task_EPC = task_EPC + 'cd ' + logdirOpenaircnRepo + '\n' + task_EPC = task_EPC + update_config_file(oai_EPC, EPC_config_file, logdirOpenaircnRepo, logdirOpenaircnRepo+'/TEST/autotests/tools/search_repl.py') + '\n' + task_EPC = task_EPC + 'source BUILD/TOOLS/build_helper \n' + if EPC_compile_prog != "": + task_EPC = task_EPC + '(' + EPC_compile_prog + ' ' + EPC_compile_prog_args + ' ) > ' + logfile_compile_EPC + ' 2>&1 \n' + if HSS_compile_prog != "": + task_EPC = task_EPC + '(' + HSS_compile_prog + ' ' + HSS_compile_prog_args + ' ) > ' + logfile_compile_HSS + ' 2>&1 \n' + if EPC_pre_exec != "": + task_EPC = task_EPC + ' ( ' + EPC_pre_exec + ' '+ EPC_pre_exec_args + ' ) > ' + logfile_pre_exec_EPC + ' 2>&1 \n' + if EPC_main_exec != "": + task_EPC = task_EPC + '(' + addsudo (EPC_main_exec + ' ' + EPC_main_exec_args, mypassword) + ' ) > ' + logfile_exec_EPC + ' 2>&1 & \n' + task_EPC = task_EPC + 'array_exec_pid+=($!) \n' + task_EPC = task_EPC + 'echo EPC_main_exec PID = $! \n' + if HSS_main_exec != "": + task_EPC = task_EPC + '(' + addsudo (HSS_main_exec + ' ' + HSS_main_exec_args, mypassword) + ' ) > ' + logfile_exec_HSS + ' 2>&1 & \n' + task_EPC = task_EPC + 'array_exec_pid+=($!) \n' + task_EPC = task_EPC + 'echo HSS_main_exec PID = $! \n' + if EPC_traffic_exec != "": + task_EPC = task_EPC + '(' + EPC_traffic_exec + ' ' + EPC_traffic_exec_args + ' ) > ' + logfile_traffic_EPC + ' 2>&1 & \n' + task_EPC = task_EPC + 'array_exec_pid+=($!) \n' + task_EPC = task_EPC + 'echo EPC_traffic_exec PID = $! \n' + #terminate the EPC test case after timeout_cmd seconds + task_EPC = task_EPC + finalize_deploy_script (timeout_cmd, EPC_terminate_missing_procs) + '\n' + #task_EPC = task_EPC + 'sleep ' + str(timeout_cmd) + '\n' + task_EPC = task_EPC + 'handle_ctrl_c' '\n' + task_EPC = task_EPC + ' ) > ' + logfile_task_EPC_out + ' 2>&1 ' + write_file(logfile_task_EPC, task_EPC, mode="w") + + thread_EPC = oaiThread(1, "EPC_thread", oai_EPC , task_EPC, False, timeout_thread) + thread_eNB = oaiThread(2, "eNB_thread", oai_eNB , task_eNB, False, timeout_thread) + thread_UE = oaiThread(3, "UE_thread", oai_UE , task_UE, False, timeout_thread) + + threads=[] + threads.append(thread_eNB) + threads.append(thread_UE) + threads.append(thread_EPC) + # Start new Threads + + thread_eNB.start() + thread_UE.start() + thread_EPC.start() + + #Wait for all the compile threads to complete + for t in threads: + t.join() + #Now we get the log files from remote machines on the local machine + + cleanOldPrograms(oai_eNB, oldprogramList, CleanUpAluLteBox) + cleanOldPrograms(oai_UE, oldprogramList, CleanUpAluLteBox) + cleanOldPrograms(oai_EPC, oldprogramList, CleanUpAluLteBox) + + localfile = logdir_local_testcase + '/eNB_compile' + '_' + str(run) + '_.log' + remotefile = logdir_eNB + '/eNB_compile' + '_' + str(run) + '_.log' + sftp_log = os.path.expandvars(logdir_local_testcase + '/sftp_module.log') + ports = 22 + sftp_module (user, password, eNBMachine, ports, localfile, remotefile, sftp_log, "get") + + localfile = logdir_local_testcase + '/eNB_exec' + '_' + str(run) + '_.log' + remotefile = logdir_eNB + '/eNB_exec' + '_' + str(run) + '_.log' + sftp_module (user, password, eNBMachine, ports, localfile, remotefile, sftp_log, "get") + + localfile = logdir_local_testcase + '/eNB_pre_exec' + '_' + str(run) + '_.log' + remotefile = logdir_eNB + '/eNB_pre_exec' + '_' + str(run) + '_.log' + sftp_module (user, password, eNBMachine, ports, localfile, remotefile, sftp_log, "get") + + localfile = logdir_local_testcase + '/eNB_traffic' + '_' + str(run) + '_.log' + remotefile = logdir_eNB + '/eNB_traffic' + '_' + str(run) + '_.log' + sftp_module (user, password, eNBMachine, ports, localfile, remotefile, sftp_log, "get") + + localfile = logdir_local_testcase + '/eNB_task_out' + '_' + str(run) + '_.log' + remotefile = logdir_eNB + '/eNB_task_out' + '_' + str(run) + '_.log' + sftp_module (user, password, eNBMachine, ports, localfile, remotefile, sftp_log, "get") + + localfile = logdir_local_testcase + '/UE_compile' + '_' + str(run) + '_.log' + remotefile = logdir_UE + '/UE_compile' + '_' + str(run) + '_.log' + sftp_module (user, password, UEMachine, ports, localfile, remotefile, sftp_log, "get") + + localfile = logdir_local_testcase + '/UE_exec' + '_' + str(run) + '_.log' + remotefile = logdir_UE + '/UE_exec' + '_' + str(run) + '_.log' + sftp_module (user, password, UEMachine, ports, localfile, remotefile, sftp_log, "get") + + localfile = logdir_local_testcase + '/UE_pre_exec' + '_' + str(run) + '_.log' + remotefile = logdir_UE + '/UE_pre_exec' + '_' + str(run) + '_.log' + sftp_module (user, password, UEMachine, ports, localfile, remotefile, sftp_log, "get") + + localfile = logdir_local_testcase + '/UE_traffic' + '_' + str(run) + '_.log' + remotefile = logdir_UE + '/UE_traffic' + '_' + str(run) + '_.log' + sftp_module (user, password, UEMachine, ports, localfile, remotefile, sftp_log, "get") + + localfile = logdir_local_testcase + '/UE_task_out' + '_' + str(run) + '_.log' + remotefile = logdir_UE + '/UE_task_out' + '_' + str(run) + '_.log' + sftp_module (user, password, UEMachine, ports, localfile, remotefile, sftp_log, "get") + + localfile = logdir_local_testcase + '/EPC_compile' + '_' + str(run) + '_.log' + remotefile = logdir_EPC + '/EPC_compile' + '_' + str(run) + '_.log' + sftp_module (user, password, EPCMachine, ports, localfile, remotefile, sftp_log, "get") + + localfile = logdir_local_testcase + '/EPC_exec' + '_' + str(run) + '_.log' + remotefile = logdir_EPC + '/EPC_exec' + '_' + str(run) + '_.log' + sftp_module (user, password, EPCMachine, ports, localfile, remotefile, sftp_log, "get") + + localfile = logdir_local_testcase + '/HSS_compile' + '_' + str(run) + '_.log' + remotefile = logdir_EPC + '/HSS_compile' + '_' + str(run) + '_.log' + sftp_module (user, password, EPCMachine, ports, localfile, remotefile, sftp_log, "get") + + localfile = logdir_local_testcase + '/HSS_exec' + '_' + str(run) + '_.log' + remotefile = logdir_EPC + '/HSS_exec' + '_' + str(run) + '_.log' + sftp_module (user, password, EPCMachine, ports, localfile, remotefile, sftp_log, "get") + + localfile = logdir_local_testcase + '/EPC_pre_exec' + '_' + str(run) + '_.log' + remotefile = logdir_EPC + '/EPC_pre_exec' + '_' + str(run) + '_.log' + sftp_module (user, password, EPCMachine, ports, localfile, remotefile, sftp_log, "get") + + localfile = logdir_local_testcase + '/EPC_traffic' + '_' + str(run) + '_.log' + remotefile = logdir_EPC + '/EPC_traffic' + '_' + str(run) + '_.log' + sftp_module (user, password, EPCMachine, ports, localfile, remotefile, sftp_log, "get") + + localfile = logdir_local_testcase + '/EPC_task_out' + '_' + str(run) + '_.log' + remotefile = logdir_EPC + '/EPC_task_out' + '_' + str(run) + '_.log' + sftp_module (user, password, EPCMachine, ports, localfile, remotefile, sftp_log, "get") + #We need to close the new ssh session that was created + if index_eNBMachine == index_EPCMachine: + oai_EPC.disconnect() + + +#thread1 = myThread(1, "Thread-1", 1) +debug = 0 +pw ='' +i = 0 +dlsim=0 +localshell=0 +is_compiled = 0 +timeout=2000 +xmlInputFile="./test_case_list.xml" +NFSResultsDir = '/mnt/sradio' +cleanupOldProgramsScript = '$OPENAIR_DIR/cmake_targets/autotests/tools/remove_old_programs.bash' + +logdir = '/tmp/' + 'OAITestFrameWork-' + getpass.getuser() + '/' +logdirOAI5GRepo = logdir + 'openairinterface5g/' +logdirOpenaircnRepo = logdir + 'openair-cn/' + +openairdir_local = os.environ.get('OPENAIR_DIR') +if openairdir_local is None: + print "Environment variable OPENAIR_DIR not set correctly" + sys.exit() +locallogdir = openairdir_local + '/cmake_targets/autotests/log/' +#Remove the contents of local log directory +os.system(' rm -fr ' + locallogdir + '; mkdir -p ' + locallogdir ) + +for arg in sys.argv: + if arg == '-d': + debug = 1 + elif arg == '-dd': + debug = 2 + elif arg == '-p' : + prompt2 = sys.argv[i+1] + elif arg == '-w' : + pw = sys.argv[i+1] + elif arg == '-P' : + dlsim = 1 + elif arg == '-l' : + localshell = 1 + elif arg == '-c' : + is_compiled = 1 + elif arg == '-t' : + timeout = sys.argv[i+1] + elif arg == '-h' : + print "-d: low debug level" + print "-dd: high debug level" + print "-p: set the prompt" + print "-w: set the password for ssh to localhost" + print "-l: use local shell instead of ssh connection" + print "-t: set the time out in second for commands" + sys.exit() + i= i + 1 + +try: + os.environ["OPENAIR1_DIR"] +except KeyError: + print "Please set the environment variable OPENAIR1_DIR in the .bashrc" + sys.exit(1) + +try: + os.environ["OPENAIR2_DIR"] +except KeyError: + print "Please set the environment variable OPENAIR2_DIR in the .bashrc" + sys.exit(1) + +try: + os.environ["OPENAIR_TARGETS"] +except KeyError: + print "Please set the environment variable OPENAIR_TARGETS in the .bashrc" + sys.exit(1) + +# get the oai object +host = os.uname()[1] +#oai = openair('localdomain','calisson') +oai_list = {} + + +#start_time = time.time() # datetime.datetime.now() +user = getpass.getuser() +print "host = " + host +print "user = " + user +pw=getpass.getpass() + +#Now we parse the xml file for basic configuration +xmlTree = ET.parse(xmlInputFile) +xmlRoot = xmlTree.getroot() + + + + +MachineList = xmlRoot.findtext('MachineList',default='') +NFSResultsShare = xmlRoot.findtext('NFSResultsShare',default='') +GitOpenaircnRepo = xmlRoot.findtext('GitOpenair-cnRepo',default='') +GitOAI5GRepo = xmlRoot.findtext('GitOAI5GRepo',default='') +GitOAI5GRepoBranch = xmlRoot.findtext('GitOAI5GRepoBranch',default='') +GitOpenaircnRepoBranch = xmlRoot.findtext('GitOpenair-cnRepoBranch',default='') +CleanUpOldProgs = xmlRoot.findtext('CleanUpOldProgs',default='') +CleanUpAluLteBox = xmlRoot.findtext('CleanUpAluLteBox',default='') + +print "MachineList = " + MachineList +print "GitOpenair-cnRepo = " + GitOpenaircnRepo +print "GitOAI5GRepo = " + GitOAI5GRepo +print "GitOAI5GBranch = " + GitOAI5GRepoBranch +print "GitOpenaircnRepoBranch = " + GitOpenaircnRepoBranch +print "NFSResultsShare = " + NFSResultsShare +cmd = "git show-ref --heads -s "+ GitOAI5GRepoBranch +GitOAI5GHeadVersion = subprocess.check_output ([cmd], shell=True) +print "GitOAI5GHeadVersion = " + GitOAI5GHeadVersion +print "CleanUpOldProgs = " + CleanUpOldProgs + + +MachineList = MachineList.split() + +index=0 +for machine in MachineList: + oai_list[index] = openair('localdomain',machine) + index = index + 1 + + +#myThread (1,"sddsf", 1) + + +#thread1 = oaiThread1(1, "Thread-1", 1) +#def __init__(self, threadID, name, counter, oai, cmd, sudo, timeout): + +#sys.exit() + + + + + + + +print "\nTesting the sanity of machines used for testing..." +if localshell == 0: + try: + index=0 + for machine in MachineList: + print '\n******* Note that the user <'+user+'> should be a sudoer *******\n' + print '******* Connecting to the machine <'+machine+'> to perform the test *******\n' + if not pw : + print "username: " + user + #pw = getpass.getpass() + #print "password: " + pw + else : + print "username: " + user + #print "password: " + pw + # issues in ubuntu 12.04 + oai_list[index].connect(user,pw) + #print "result = " + result + + + #print '\nCleaning Older running programs : ' + CleanUpOldProgs + #cleanOldPrograms(oai_list[index], CleanUpOldProgs) + + + + print '\nChecking for sudo permissions on machine <'+machine+'>...' + result = oai_list[index].send_expect_false('sudo -S -v','may not run sudo',True) + print "Sudo permissions..." + result + + print '\nCleaning Older running programs : ' + CleanUpOldProgs + cleanOldPrograms(oai_list[index], CleanUpOldProgs, CleanUpAluLteBox) + + result = oai_list[index].send('mount ' + NFSResultsDir, True) + print "Mounting NFS Share " + NFSResultsDir + "..." + result + + # Check if NFS share is mounted correctly. + print 'Checking if NFS Share<' + NFSResultsDir + '> is mounted correctly...' + #result = oai_list[index].send_expect('mount | grep ' + NFSResultsDir, NFSResultsDir ) + cmd = 'if grep -qs '+NFSResultsDir+ ' /proc/mounts; then echo \'' + NFSResultsDir + ' is mounted\' ; fi' + search_expr = NFSResultsDir + ' is mounted' + print "cmd = " + cmd + print "search_expr = " + search_expr + result = oai_list[index].send_expect(cmd, search_expr) + print "Mount NFS_Results_Dir..." + result + index = index + 1 + + #oai.connect2(user,pw) + #oai.get_shell() + except : + print 'Fail to connect to the machine: '+ machine + sys.exit(1) +else: + pw = '' + oai_list[0].connect_localshell() + + + + + +cpu_freq = int(oai_list[0].cpu_freq()) +if timeout == 2000 : + if cpu_freq <= 2000 : + timeout = 3000 + elif cpu_freq < 2700 : + timeout = 2000 + elif cpu_freq < 3300 : + timeout = 1500 +print "cpu freq(MHz): " + str(cpu_freq) + "timeout(s): " + str(timeout) + +# The log files are stored in branch/version/ + + + +#result = oai_list[0].send('uname -a ' ) +#print result + +#We now prepare the machines for testing +#index=0 +for index in oai_list: + try: + print "setting up machine: " + MachineList[index] + #print oai_list[oai].send_recv('echo \''+pw+'\' |sudo -S -v') + #print oai_list[oai].send_recv('sudo su') + #print oai_list[oai].send_recv('who am i') + #cleanUpPrograms(oai_list[oai] + cmd = 'mkdir -p ' + logdir + ' ; rm -fr ' + logdir + '/*' + result = oai_list[index].send_recv(cmd) + + setuplogfile = logdir + '/setup_log_' + MachineList[index] + '_.txt' + setup_script = locallogdir + '/setup_script_' + MachineList[index] + '_.txt' + cmd = ' ( \n' + #cmd = cmd + 'rm -fR ' + logdir + '\n' + #cmd = cmd + 'mkdir -p ' + logdir + '\n' + cmd = cmd + 'cd '+ logdir + '\n' + cmd = cmd + 'git clone '+ GitOAI5GRepo + '\n' + cmd = cmd + 'git clone '+ GitOpenaircnRepo + '\n' + cmd = cmd + 'cd ' + logdirOAI5GRepo + '\n' + cmd = cmd + 'git checkout ' + GitOAI5GHeadVersion + '\n' + cmd = cmd + 'source oaienv' + '\n' + cmd = cmd + 'cd ' + logdirOpenaircnRepo + '\n' + cmd = cmd + 'git checkout ' + GitOpenaircnRepoBranch + '\n' + cmd = cmd + 'env |grep OPENAIR' + '\n' + cmd = cmd + ' cd ' + logdir + '\n' + cmd = cmd + ' ) > ' + setuplogfile + ' 2>&1 ' + #cmd = cmd + 'echo \' ' + cmd + '\' > ' + setup_script + ' 2>&1 \n ' + result = oai_list[index].send_recv(cmd, False, 300 ) + write_file(setup_script, cmd, mode="w") + localfile = locallogdir + '/setup_log_' + MachineList[index] + '_.txt' + remotefile = logdir + '/setup_log_' + MachineList[index] + '_.txt' + + sftp_log = os.path.expandvars(locallogdir + '/sftp_module.log') + sftp_module (user, pw, MachineList[index], 22, localfile, remotefile, sftp_log, "get") + + + #Now we copy test_case_list.xml on the remote machines + localfile = os.path.expandvars('$OPENAIR_DIR/cmake_targets/autotests/test_case_list.xml') + remotefile = logdirOAI5GRepo + '/cmake_targets/autotests/test_case_list.xml' + + sftp_log = os.path.expandvars(locallogdir + '/sftp_module.log') + sftp_module (user, pw, MachineList[index], 22, localfile, remotefile, sftp_log, "put") + + + #print oai_list[index].send('rm -fR ' + logdir) + #print oai_list[index].send('mkdir -p ' + logdir) + #print oai_list[index].send('cd '+ logdir) + #print oai_list[index].send('git clone '+ GitOAI5GRepo ) + #print oai_list[index].send('git clone '+ GitOpenaircnRepo) + #print oai_list[index].send('cd ' + logdirOAI5GRepo) + #print oai_list[index].send('git checkout ' + GitOAI5GHeadVersion) + #print oai_list[index].send('source oaienv') + #print oai_list[index].send('cd ' + logdirOpenaircnRepo) + #print oai_list[index].send('git checkout ' + GitOpenaircnRepoBranch) + #print oai_list[index].send_recv('cd ' + logdirOAI5GRepo) + #print oai_list[index].send_recv('source oaienv') + #print oai_list[index].send_recv('env |grep OPENAIR') + + #print '\nCleaning Older running programs : ' + CleanUpOldProgs + #cleanOldPrograms(oai_list[index], CleanUpOldProgs) + + except : + print 'There is error in one of the commands to setup the machine '+ MachineList[index] + sys.exit(1) + + +#Now we process all the test cases + + +testcaseList=xmlRoot.findall('testCase') +#print testcaseList +for testcase in testcaseList: + testcasename = testcase.get('id') + testcaseclass = testcase.findtext('class',default='') + desc = testcase.findtext('desc',default='') + if testcaseclass == 'lte-softmodem' : + if testcasename != '015700': + continue + eNBMachine = testcase.findtext('eNB',default='') + UEMachine = testcase.findtext('UE',default='') + EPCMachine = testcase.findtext('EPC',default='') + index_eNBMachine = MachineList.index(eNBMachine) + index_UEMachine = MachineList.index(UEMachine) + index_EPCMachine = MachineList.index(EPCMachine) + print "testcasename = " + testcasename + " class = " + testcaseclass + handle_testcaseclass_softmodem (testcase, CleanUpOldProgs, oai_list, logdirOAI5GRepo, logdirOpenaircnRepo, MachineList, pw, CleanUpAluLteBox ) + + elif testcaseclass == 'compilation' : + continue + handle_testcaseclass_compilation (testcase) + elif testcaseclass == 'execution' : + continue + handle_testcaseclass_oaisim (testcase) + else : + print "Unknown test case class: " + testcaseclass + sys.exit() + + +sys.exit() + + + #+ "class = "+ classx + + + + #index = index +1 + +test = 'test01' +ctime=datetime.datetime.utcnow().strftime("%Y-%m-%d.%Hh%M") +logfile = user+'.'+test+'.'+ctime+'.txt' +logdir = os.getcwd() + '/pre-ci-logs-'+host; +oai.create_dir(logdir,debug) +print 'log dir: ' + logdir +print 'log file: ' + logfile +pwd = oai.send_recv('pwd') +print "pwd = " + pwd +result = oai.send('echo linux | sudo -S ls -al;sleep 5') +print "result =" + result +sys.exit() + +#oai.send_nowait('mkdir -p -m 755' + logdir + ';') + +#print '=================start the ' + test + ' at ' + ctime + '=================\n' +#print 'Results will be reported in log file : ' + logfile +log.writefile(logfile,'====================start'+test+' at ' + ctime + '=======================\n') +log.set_debug_level(debug) + +oai.kill(user, pw) +oai.rm_driver(oai,user,pw) + +# start te test cases +if is_compiled == 0 : + is_compiled=case01.execute(oai, user, pw, host,logfile,logdir,debug,timeout) + +if is_compiled != 0 : + case02.execute(oai, user, pw, host, logfile,logdir,debug) + case03.execute(oai, user, pw, host, logfile,logdir,debug) + case04.execute(oai, user, pw, host, logfile,logdir,debug) + case05.execute(oai, user, pw, host, logfile,logdir,debug) +else : + print 'Compilation error: skip test case 02,03,04,05' + +oai.kill(user, pw) +oai.rm_driver(oai,user,pw) + +# perform the stats +log.statistics(logfile) + + +oai.disconnect() + +ctime=datetime.datetime.utcnow().strftime("%Y-%m-%d_%Hh%M") +log.writefile(logfile,'====================end the '+ test + ' at ' + ctime +'====================') +print 'Test results can be found in : ' + logfile +#print '\nThis test took %f minutes\n' % math.ceil((time.time() - start_time)/60) + +#print '\n=====================end the '+ test + ' at ' + ctime + '=====================' From 551a272192d1ac2b5394099db7243e8d58e0b90c Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Thu, 12 Nov 2015 20:30:03 +0100 Subject: [PATCH 44/85] First X310 Calibration and harmonization of B210 and X310 configuration --- targets/ARCH/COMMON/common_lib.h | 4 ++ targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp | 45 ++++++++++++++++---- targets/RT/USER/lte-softmodem.c | 14 +++--- targets/RT/USER/lte-ue.c | 1 + 4 files changed, 51 insertions(+), 13 deletions(-) diff --git a/targets/ARCH/COMMON/common_lib.h b/targets/ARCH/COMMON/common_lib.h index 8cc7926d45..8432441568 100644 --- a/targets/ARCH/COMMON/common_lib.h +++ b/targets/ARCH/COMMON/common_lib.h @@ -98,6 +98,10 @@ typedef struct { //! \brief Center frequency in Hz for TX. //! index: [0..rx_num_channels[ !!! see lte-ue.c:427 FIXME iterates over rx_num_channels double tx_freq[4]; + + //! \brief Pointer to Calibration table for RX gains + rx_gain_calib_table_t *rx_gain_calib_table; + //! mode for rxgain (ExpressMIMO2) rx_gain_t rxg_mode[4]; //! \brief Gain for RX in dB. diff --git a/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp b/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp index e57f55720b..73fe2683dc 100644 --- a/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp +++ b/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp @@ -171,17 +171,30 @@ static int trx_usrp_read(openair0_device *device, openair0_timestamp *ptimestamp #endif - + /* if (cc>1) { // receive multiple channels (e.g. RF A and RF B) std::vector buff_ptrs; + for (int i=0;irx_stream->recv(buff_ptrs, nsamps, s->rx_md); } else { // receive a single channel (e.g. from connector RF A) samples_received = s->rx_stream->recv(buff_tmp[0], nsamps, s->rx_md); + }*/ + + if (cc>1) { + // receive multiple channels (e.g. RF A and RF B) + std::vector buff_ptrs; + + for (int i=0;irx_stream->recv(buff_ptrs, nsamps, s->rx_md); + } else { + // receive a single channel (e.g. from connector RF A) + samples_received = s->rx_stream->recv(buff[0], nsamps, s->rx_md); } + /* // bring RX data into 12 LSBs for softmodem RX for (int i=0;iusrp->set_rx_gain(openair0_cfg[0].rx_gain[0]-openair0_cfg[0].rx_gain_offset[0]); - printf("Setting USRP RX gain to %f\n", openair0_cfg[0].rx_gain[0]-openair0_cfg[0].rx_gain_offset[0]); + printf("Setting USRP RX gain to %f (rx_gain %f,gain_range.stop() %f)\n", openair0_cfg[0].rx_gain[0]-openair0_cfg[0].rx_gain_offset[0],openair0_cfg[0].rx_gain[0],gain_range.stop()); return(0); } @@ -289,7 +304,7 @@ int trx_usrp_stop(int card) { } -rx_gain_calib_table_t calib_table[] = { +rx_gain_calib_table_t calib_table_b210[] = { {3500000000.0,46.0}, {2660000000.0,53.0}, {2300000000.0,54.0}, @@ -297,19 +312,29 @@ rx_gain_calib_table_t calib_table[] = { {816000000.0,62.0}, {-1,0}}; +rx_gain_calib_table_t calib_table_x310[] = { + {3500000000.0,77.0}, + {2660000000.0,80.0}, + {2300000000.0,81.0}, + {1880000000.0,82.0}, + {816000000.0,89}, + {-1,0}}; + void set_rx_gain_offset(openair0_config_t *openair0_cfg, int chain_index) { int i=0; // loop through calibration table to find best adjustment factor for RX frequency double min_diff = 6e9,diff; - - while (calib_table[i].freq>0) { - diff = fabs(openair0_cfg->rx_freq[chain_index] - calib_table[i].freq); + + while (openair0_cfg->rx_gain_calib_table[i].freq>0) { + diff = fabs(openair0_cfg->rx_freq[chain_index] - openair0_cfg->rx_gain_calib_table[i].freq); printf("cal %d: freq %f, offset %f, diff %f\n", - i,calib_table[i].freq,calib_table[i].offset,diff); + i, + openair0_cfg->rx_gain_calib_table[i].freq, + openair0_cfg->rx_gain_calib_table[i].offset,diff); if (min_diff > diff) { min_diff = diff; - openair0_cfg->rx_gain_offset[chain_index] = calib_table[i].offset; + openair0_cfg->rx_gain_offset[chain_index] = openair0_cfg->rx_gain_calib_table[i].offset; } i++; } @@ -375,6 +400,8 @@ int openair0_dev_init_usrp(openair0_device* device, openair0_config_t *openair0_ // this is not working yet, master clock has to be set via constructor // set master clock rate and sample rate for tx & rx for streaming //s->usrp->set_master_clock_rate(usrp_master_clock); + + openair0_cfg[0].rx_gain_calib_table = calib_table_x310; } else { printf("Found USRP B200"); s->usrp = uhd::usrp::multi_usrp::make(args); @@ -387,6 +414,8 @@ int openair0_dev_init_usrp(openair0_device* device, openair0_config_t *openair0_ // s->usrp->set_clock_source("internal"); // set master clock rate and sample rate for tx & rx for streaming s->usrp->set_master_clock_rate(30.72e6); + + openair0_cfg[0].rx_gain_calib_table = calib_table_b210; } diff --git a/targets/RT/USER/lte-softmodem.c b/targets/RT/USER/lte-softmodem.c index b96a7ae529..acf924050f 100644 --- a/targets/RT/USER/lte-softmodem.c +++ b/targets/RT/USER/lte-softmodem.c @@ -2965,24 +2965,28 @@ openair0_cfg[card].num_rb_dl=frame_parms[0]->N_RB_DL; else { openair0_cfg[card].rx_gain[i] = PHY_vars_UE_g[0][0]->rx_total_gain_dB;// - USRP_GAIN_OFFSET; // calibrated for USRP B210 @ 2.6 GHz, 30.72 MS/s } - + switch(frame_parms[0]->N_RB_DL) { case 6: - openair0_cfg[card].rx_gain[i] -= 6; + openair0_cfg[card].rx_gain[i] -= 12; break; case 25: - openair0_cfg[card].rx_gain[i] += 6; + openair0_cfg[card].rx_gain[i] -= 6; break; case 50: - openair0_cfg[card].rx_gain[i] += 8; + openair0_cfg[card].rx_gain[i] -= 3; + break; + + case 100: + openair0_cfg[card].rx_gain[i] -= 0; break; default: break; } - + } diff --git a/targets/RT/USER/lte-ue.c b/targets/RT/USER/lte-ue.c index 31701d877f..ec245360d7 100644 --- a/targets/RT/USER/lte-ue.c +++ b/targets/RT/USER/lte-ue.c @@ -410,6 +410,7 @@ static void *UE_thread_synch(void *arg) UE->UE_scan_carrier = 0; // rerun with new cell parameters and frequency-offset for (i=0;irx_total_gain_dB;//-USRP_GAIN_OFFSET; openair0_cfg[0].rx_freq[i] -= UE->lte_ue_common_vars.freq_offset; openair0_cfg[0].tx_freq[i] = openair0_cfg[0].rx_freq[i]+uplink_frequency_offset[0][i]; downlink_frequency[0][i] = openair0_cfg[0].rx_freq[i]; From de02814304a2f04716e144b972af335ab8eac1af Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Fri, 13 Nov 2015 13:14:45 +0100 Subject: [PATCH 45/85] First X310 Calibration and harmonization of B210 and X310 configuration --- targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp b/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp index 73fe2683dc..e0be5a66d3 100644 --- a/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp +++ b/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp @@ -317,7 +317,7 @@ rx_gain_calib_table_t calib_table_x310[] = { {2660000000.0,80.0}, {2300000000.0,81.0}, {1880000000.0,82.0}, - {816000000.0,89}, + {816000000.0,85.0}, {-1,0}}; void set_rx_gain_offset(openair0_config_t *openair0_cfg, int chain_index) { From 719bbfc0a530783e35f12f38228681ce647e2601 Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Tue, 17 Nov 2015 14:46:04 +0100 Subject: [PATCH 46/85] updated files for USRP X310 calibration --- .../CONF/enb.band7.tm1.100PRB.usrpx310.conf | 2 +- ...b.band7.tm1.25PRB.usrpx310.epc.remote.conf | 169 ++++++++++++++++++ .../CONF/enb.band7.tm1.50PRB.usrpx310.conf | 2 +- .../CONF/enb.band7.tm1.usrpx310.conf | 2 +- 4 files changed, 172 insertions(+), 3 deletions(-) create mode 100644 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpx310.epc.remote.conf diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.conf index 7b02ad538f..210c7ea740 100644 --- a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.conf +++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.conf @@ -35,7 +35,7 @@ eNBs = nb_antennas_tx = 1; nb_antennas_rx = 1; tx_gain = 32; - rx_gain = 84; + rx_gain = 116; prach_root = 0; prach_config_index = 0; prach_high_speed = "DISABLE"; diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpx310.epc.remote.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpx310.epc.remote.conf new file mode 100644 index 0000000000..d4b88383e2 --- /dev/null +++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpx310.epc.remote.conf @@ -0,0 +1,169 @@ +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 = "92"; + + ////////// Physical parameters: + + component_carriers = ( + { + 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 = 32; + rx_gain = 116; + 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 = -16; + 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 = -108; + 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.26"; + ipv6 = "192:168:30::17"; + active = "yes"; + preference = "ipv4"; + } + ); + + NETWORK_INTERFACES : + { + ENB_INTERFACE_NAME_FOR_S1_MME = "eth0"; + ENB_IPV4_ADDRESS_FOR_S1_MME = "192.168.12.111/24"; + + ENB_INTERFACE_NAME_FOR_S1U = "eth0"; + ENB_IPV4_ADDRESS_FOR_S1U = "192.168.12.111/24"; + ENB_PORT_FOR_S1U = 2152; # Spec 2152 + }; + + log_config : + { + global_log_level ="debug"; + 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/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.conf index e8a8fc8573..3dd6e5b440 100644 --- a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.conf +++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.conf @@ -35,7 +35,7 @@ eNBs = nb_antennas_tx = 1; nb_antennas_rx = 1; tx_gain = 32; - rx_gain = 82; + rx_gain = 116; prach_root = 0; prach_config_index = 0; prach_high_speed = "DISABLE"; diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf index fe72488bbf..d4b88383e2 100644 --- a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf +++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf @@ -35,7 +35,7 @@ eNBs = nb_antennas_tx = 1; nb_antennas_rx = 1; tx_gain = 32; - rx_gain = 84; + rx_gain = 116; prach_root = 0; prach_config_index = 0; prach_high_speed = "DISABLE"; From 0870e4bf85c3ee3ddc91245bb621d12747de61f0 Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Tue, 17 Nov 2015 15:19:50 +0100 Subject: [PATCH 47/85] updated X310 calibration for 10MHz --- .../GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.conf index 3dd6e5b440..4c760e19c2 100644 --- a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.conf +++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.conf @@ -35,7 +35,7 @@ eNBs = nb_antennas_tx = 1; nb_antennas_rx = 1; tx_gain = 32; - rx_gain = 116; + rx_gain = 120; prach_root = 0; prach_config_index = 0; prach_high_speed = "DISABLE"; From ebbdf1e4aef5137ad9e92dc7e648b0470c4bebd5 Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Tue, 17 Nov 2015 17:00:40 +0100 Subject: [PATCH 48/85] added USRP X310 interface handling --- targets/ARCH/COMMON/common_lib.c | 2 +- targets/ARCH/COMMON/common_lib.h | 6 ++- targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp | 56 ++++++++++---------- targets/RT/USER/eNB_transport_IQ.c | 2 +- targets/RT/USER/rrh_gw.c | 2 +- targets/RT/USER/rrh_gw.h | 2 +- 6 files changed, 37 insertions(+), 33 deletions(-) diff --git a/targets/ARCH/COMMON/common_lib.c b/targets/ARCH/COMMON/common_lib.c index 8b91a74b49..b7700ec06f 100644 --- a/targets/ARCH/COMMON/common_lib.c +++ b/targets/ARCH/COMMON/common_lib.c @@ -52,7 +52,7 @@ int openair0_device_init(openair0_device *device, openair0_config_t *openair0_cf openair0_dev_init_exmimo(device, openair0_cfg); printf("openair0_dev_init_exmimo...\n"); #elif OAI_USRP - device->type=USRP_IF; + device->type=USRP_B200_IF; openair0_dev_init_usrp(device, openair0_cfg); printf("openair0_dev_init_usrp ...\n"); #elif OAI_BLADERF diff --git a/targets/ARCH/COMMON/common_lib.h b/targets/ARCH/COMMON/common_lib.h index 8432441568..4f7e801448 100644 --- a/targets/ARCH/COMMON/common_lib.h +++ b/targets/ARCH/COMMON/common_lib.h @@ -151,8 +151,10 @@ typedef enum { ETH_IF, /*!\brief device is ExpressMIMO */ EXMIMO_IF, - /*!\brief device is USRP*/ - USRP_IF, + /*!\brief device is USRP B200/B210*/ + USRP_B200_IF, + /*!\brief device is USRP X300/X310*/ + USRP_X300_IF, /*!\brief device is BLADE RF*/ BLADERF_IF, /*!\brief device is NONE*/ diff --git a/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp b/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp index e0be5a66d3..2371b04770 100644 --- a/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp +++ b/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp @@ -171,45 +171,44 @@ static int trx_usrp_read(openair0_device *device, openair0_timestamp *ptimestamp #endif - /* - if (cc>1) { + if (device->type == USRP_B200_IF) { + if (cc>1) { // receive multiple channels (e.g. RF A and RF B) - std::vector buff_ptrs; + std::vector buff_ptrs; - for (int i=0;irx_stream->recv(buff_ptrs, nsamps, s->rx_md); - } else { + for (int i=0;irx_stream->recv(buff_ptrs, nsamps, s->rx_md); + } else { // receive a single channel (e.g. from connector RF A) - samples_received = s->rx_stream->recv(buff_tmp[0], nsamps, s->rx_md); - }*/ - - if (cc>1) { - // receive multiple channels (e.g. RF A and RF B) - std::vector buff_ptrs; - - for (int i=0;irx_stream->recv(buff_ptrs, nsamps, s->rx_md); - } else { - // receive a single channel (e.g. from connector RF A) - samples_received = s->rx_stream->recv(buff[0], nsamps, s->rx_md); - } - - /* + samples_received = s->rx_stream->recv(buff_tmp[0], nsamps, s->rx_md); + } + // bring RX data into 12 LSBs for softmodem RX - for (int i=0;itype == USRP_X300_IF) { + if (cc>1) { + // receive multiple channels (e.g. RF A and RF B) + std::vector buff_ptrs; + + for (int i=0;irx_stream->recv(buff_ptrs, nsamps, s->rx_md); + } else { + // receive a single channel (e.g. from connector RF A) + samples_received = s->rx_stream->recv(buff[0], nsamps, s->rx_md); } - */ + } if (samples_received < nsamps) { printf("[recv] received %d samples out of %d\n",samples_received,nsamps); @@ -397,6 +396,9 @@ int openair0_dev_init_usrp(openair0_device* device, openair0_config_t *openair0_ // lock mboard clocks s->usrp->set_clock_source("internal"); + //Setting device type to USRP X300/X310 + device->type=USRP_X300_IF; + // this is not working yet, master clock has to be set via constructor // set master clock rate and sample rate for tx & rx for streaming //s->usrp->set_master_clock_rate(usrp_master_clock); diff --git a/targets/RT/USER/eNB_transport_IQ.c b/targets/RT/USER/eNB_transport_IQ.c index 07533ff59c..af3873ef76 100644 --- a/targets/RT/USER/eNB_transport_IQ.c +++ b/targets/RT/USER/eNB_transport_IQ.c @@ -172,7 +172,7 @@ void config_BBU_mod( rrh_module_t *mod_enb, uint8_t RT_flag, uint8_t NRT_flag) { mod_enb->devs->openair0_cfg.tx_delay = 8; } } - else if (mod_enb->devs->type == USRP_IF) { + else if ((mod_enb->devs->type == USRP_B200_IF )||(mod_enb->devs->type == USRP_X300_IF )) { if ( mod_enb->devs->openair0_cfg.num_rb_dl == 100 ) { mod_enb->devs->openair0_cfg.samples_per_packet = 2048; mod_enb->devs->openair0_cfg.tx_forward_nsamps = 175; diff --git a/targets/RT/USER/rrh_gw.c b/targets/RT/USER/rrh_gw.c index 39b726ae07..89c8679554 100644 --- a/targets/RT/USER/rrh_gw.c +++ b/targets/RT/USER/rrh_gw.c @@ -216,7 +216,7 @@ static rrh_module_t new_module (unsigned int id) { LOG_I(RRH,"Setting RF device to EXMIMO\n"); #elif OAI_USRP rrh_mod.devs=oai_dv; - rrh_mod.devs->type=USRP_IF; + rrh_mod.devs->type=USRP_B200_IF; LOG_I(RRH,"Setting RF device to USRP\n"); #elif OAI_BLADERF rrh_mod.devs=oai_dv; diff --git a/targets/RT/USER/rrh_gw.h b/targets/RT/USER/rrh_gw.h index 69546dbe07..739e2088b2 100644 --- a/targets/RT/USER/rrh_gw.h +++ b/targets/RT/USER/rrh_gw.h @@ -51,7 +51,7 @@ /*! \brief RRH supports two types of modules: eNB and UE each module is associated with an ethernet device (device of ETH_IF) - and optionally with a RF device (device type can be USRP_IF/BLADERF_IF/EXMIMO_IF/NONE_IF) + and optionally with a RF device (device type can be USRP_B200/USRP_X300/BLADERF_IF/EXMIMO_IF/NONE_IF) UE modules will always have RF device type NONE_IF */ typedef struct { /*! \brief module id */ From 23bb81d2d01b7f69bf5dd567c1a86a4cfcee8384 Mon Sep 17 00:00:00 2001 From: Navid Nikaein Date: Wed, 18 Nov 2015 15:48:31 +0100 Subject: [PATCH 49/85] change the printf to LOG_D for the rssi message --- openair1/PHY/LTE_ESTIMATION/adjust_gain.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openair1/PHY/LTE_ESTIMATION/adjust_gain.c b/openair1/PHY/LTE_ESTIMATION/adjust_gain.c index 412f7cbae9..52f26a2562 100644 --- a/openair1/PHY/LTE_ESTIMATION/adjust_gain.c +++ b/openair1/PHY/LTE_ESTIMATION/adjust_gain.c @@ -53,7 +53,7 @@ phy_adjust_gain (PHY_VARS_UE *phy_vars_ue, uint8_t eNB_id) if (rssi>0) rx_power_fil_dB = rssi; else rx_power_fil_dB = phy_vars_ue->PHY_measurements.rx_power_avg_dB[eNB_id]; - printf("Gain control: rssi %d (%d,%d)\n", + LOG_D(PHY,"Gain control: rssi %d (%d,%d)\n", rssi, phy_vars_ue->PHY_measurements.rssi, phy_vars_ue->PHY_measurements.rx_power_avg_dB[eNB_id] From 73da19b67157d95116840794d4c9b9ca054433ee Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Mon, 23 Nov 2015 11:16:17 +0100 Subject: [PATCH 50/85] updates to autotest framework --- .../autotests/run_exec_autotests.bash | 2 +- .../autotests/run_exec_lte-softmodem_tests.py | 289 +++++++++++++----- 2 files changed, 213 insertions(+), 78 deletions(-) diff --git a/cmake_targets/autotests/run_exec_autotests.bash b/cmake_targets/autotests/run_exec_autotests.bash index 498b733c6b..7bde09d863 100755 --- a/cmake_targets/autotests/run_exec_autotests.bash +++ b/cmake_targets/autotests/run_exec_autotests.bash @@ -407,7 +407,7 @@ for search_expr in "${test_case_array[@]}" elif [ "$class" == "execution" ]; then test_compile_and_run "$name" "$compile_prog" "$compile_prog_args" "$pre_exec" "$pre_exec_args" "$main_exec" "$main_exec_args" "search_array_true[@]" "$search_expr_false" "$nruns" "$pre_compile_prog" "$class" "$compile_prog_out" "$tags" "$mypassword" else - echo "Unexpected class of test case...Exiting...." + echo "Unexpected class of test case...Skipping the test case $name ...." fi done diff --git a/cmake_targets/autotests/run_exec_lte-softmodem_tests.py b/cmake_targets/autotests/run_exec_lte-softmodem_tests.py index 101e610bfd..f66f8206c0 100644 --- a/cmake_targets/autotests/run_exec_lte-softmodem_tests.py +++ b/cmake_targets/autotests/run_exec_lte-softmodem_tests.py @@ -47,6 +47,7 @@ import datetime import getpass import math #from time import clock import xml.etree.ElementTree as ET +import re import log import case01 @@ -58,6 +59,9 @@ import case05 from openair import * import paramiko +import ssh +from ssh import SSHSession + def write_file(filename, string, mode="w"): text_file = open(filename, mode) @@ -65,40 +69,47 @@ def write_file(filename, string, mode="w"): text_file.close() -def sftp_module (username, password, hostname, ports, localfile, remotefile, logfile, operation): - localD = localfile - remoteD = remotefile +def sftp_module (username, password, hostname, ports, paramList,logfile): + #localD = localfile + #remoteD = remotefile #fd, paramiko_logfile = tempfile.mkstemp() #res = os.close(fd ) #paramiko logfile path should not be changed with multiple calls. The logs seem to in first file regardless - paramiko_logfile = os.path.expandvars('$OPENAIR_DIR/cmake_targets/autotests/log/paramiko.log') error = "" - try: - res=os.system(' echo > ' + paramiko_logfile) - paramiko.util.log_to_file(paramiko_logfile) - transport = paramiko.Transport((hostname, ports)) - transport.connect(username = username, password = password) - sftp = paramiko.SFTPClient.from_transport(transport) - if operation == "put": - sftp.put(remotepath=remoteD, localpath=localD) - elif operation == "get": - sftp.get(remotepath=remoteD, localpath=localD) - else : - print "sftp_module: unidentified operation. Exiting now" - print "hostname = " + hostname - print "ports = " + ports - print "localfile = " + localfile - print "remotefile = " + remotefile - print "logfile = " + logfile - print "operation = " + operation - sys.exit() - sftp.close() - transport.close() - except Exception, e: - error = ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e) - error = error + '\n username = ' + username + '\n hostname = ' + hostname + '\n localfile = ' + localfile + '\n remotefile = ' + remotefile + '\n operation = ' + operation + '\nlogfile = ' + logfile + '\n ports = ' + str(ports) + '\n' - error = error + traceback.format_exc() + #The lines below are outside exception loop to be sure to terminate the test case if the network connectivity goes down or there is authentication failure + + + + transport = paramiko.Transport(hostname, ports) + transport.connect(username = username, password = password) + sftp = paramiko.SFTPClient.from_transport(transport) + + # index =0 + for param in paramList: + try: + operation = param["operation"] + localD = param["localfile"] + remoteD = param["remotefile"] + if operation == "put": + sftp.put(remotepath=remoteD, localpath=localD) + elif operation == "get": + sftp.get(remotepath=remoteD, localpath=localD) + else : + print "sftp_module: unidentified operation:<" + operation + "> Exiting now" + print "hostname = " + hostname + print "ports = " + ports + print "localfile = " + localD + print "remotefile = " + remoteD + print "operation = " + operation + sys.exit() + except Exception, e: + error = error + ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e) + error = error + '\n username = ' + username + '\n hostname = ' + hostname + '\n localfile = ' + localD + '\n remotefile = ' + remoteD + '\n operation = ' + operation + '\nlogfile = ' + logfile + '\n ports = ' + str(ports) + '\n' + error = error + traceback.format_exc() + + sftp.close() + transport.close() res = os.system('\n echo \'SFTP Module Log for Machine: <' + hostname + '> starts...\' >> ' + logfile + ' 2>&1 ') res = os.system('cat ' + paramiko_logfile + ' >> ' + logfile + ' 2>&1 \n') write_file(logfile, error, "a") @@ -193,12 +204,51 @@ class oaiThread (threading.Thread): self.cmd = cmd self.sudo = sudo self.timeout = timeout + self.machineName = machineName def run(self): print "Starting " + self.name result = self.oai.send_recv(self.cmd, self.sudo, self.timeout) print "result = " + result print "Exiting " + self.name +#This class runs test cases with class oaisim_noS1, compilatation +class testCaseThread_generic(threading.thread): + def __init__(self, threadID, name, oai, machine, logdirOAI5GRepo, oai5GRepoDirRemote, testcasename,oldprogramList, CleanupAluLteBox, username, password, timeout): + threading.Thread.__init__(self) + self.threaID = threadID + self.name = name + self.oai = oai + self.testcasename = testcasename + self.timeout = timeout + self.machine = machine + self.oai5GRepoDirRemote = oai5GRepoDirRemote + self.logdirOAI5GRepo = logdirOAI5GRepo + self.username = username + self.password = password + def run(self): + try: + mypassword='' + #addsudo = 'echo \'' + mypassword + '\' | sudo -S -E ' + addpass = 'echo \'' + mypassword + '\' | ' + user = getpass.getuser() + print "Starting test case : " + self.testcasename + " On machine " + machineName + cleanOldPrograms(oai, oldprogramList, CleanUpAluLteBox) + logdir_local_testcase = logdirOAI5GRepo+'/cmake_targets/autotests/log/'+ testcasename + logdir_local_base = logdirOAI5GRepo+'/cmake_targets/autotests/log/' + logdir_remote_testcase = oai5GRepoDirRemote + '/cmake_targets/autotests/log' + self.testcasename + os.removedirs(logdir_testcase) + os.mkdir (logdir_testcase) + cmd = "( cd " + self.oai5GRepoDirRemote + " \n " + cmd = cmd + "source oaienv \n" + cmd = cmd + "python run_test_case_generic -d " + self.oai5GRepoDirRemote + " -g " + "\"" + self.testcasename + "\"" + cmd = cmd + " ) " + + #Now we copy all the remote + ssh = SSHSession(self.machine , username=username, key_file=None, passsword=password) + ssh.get_all(logdir_remote_testcase , logdir_local_base) + print "Finishing test case : " + self.testcasename + " On machine " + machineName + + def addsudo (cmd, password=""): cmd = 'echo \'' + password + '\' | sudo -S -E bash -c \' ' + cmd + '\' ' return cmd @@ -441,75 +491,116 @@ def handle_testcaseclass_softmodem (testcase, oldprogramList, oai_list, logdirOA remotefile = logdir_eNB + '/eNB_compile' + '_' + str(run) + '_.log' sftp_log = os.path.expandvars(logdir_local_testcase + '/sftp_module.log') ports = 22 - sftp_module (user, password, eNBMachine, ports, localfile, remotefile, sftp_log, "get") + paramList = [] + paramList.append ( {"operation":'get', "localfile":localfile, "remotefile":remotefile} ) + #sftp_module (user, password, eNBMachine, ports, localfile, remotefile, sftp_log, "get") localfile = logdir_local_testcase + '/eNB_exec' + '_' + str(run) + '_.log' remotefile = logdir_eNB + '/eNB_exec' + '_' + str(run) + '_.log' - sftp_module (user, password, eNBMachine, ports, localfile, remotefile, sftp_log, "get") + paramList.append ( {"operation":'get', "localfile":localfile, "remotefile":remotefile} ) + #sftp_module (user, password, eNBMachine, ports, localfile, remotefile, sftp_log, "get") localfile = logdir_local_testcase + '/eNB_pre_exec' + '_' + str(run) + '_.log' remotefile = logdir_eNB + '/eNB_pre_exec' + '_' + str(run) + '_.log' - sftp_module (user, password, eNBMachine, ports, localfile, remotefile, sftp_log, "get") + paramList.append ( {"operation":'get', "localfile":localfile, "remotefile":remotefile} ) + #sftp_module (user, password, eNBMachine, ports, localfile, remotefile, sftp_log, "get") localfile = logdir_local_testcase + '/eNB_traffic' + '_' + str(run) + '_.log' remotefile = logdir_eNB + '/eNB_traffic' + '_' + str(run) + '_.log' - sftp_module (user, password, eNBMachine, ports, localfile, remotefile, sftp_log, "get") + paramList.append ( {"operation":'get', "localfile":localfile, "remotefile":remotefile} ) + #sftp_module (user, password, eNBMachine, ports, localfile, remotefile, sftp_log, "get") localfile = logdir_local_testcase + '/eNB_task_out' + '_' + str(run) + '_.log' remotefile = logdir_eNB + '/eNB_task_out' + '_' + str(run) + '_.log' - sftp_module (user, password, eNBMachine, ports, localfile, remotefile, sftp_log, "get") + paramList.append ( {"operation":'get', "localfile":localfile, "remotefile":remotefile} ) + localfile = logdir_local_testcase + '/test_case_list.xml' + remotefile = logdirOAI5GRepo+'/cmake_targets/autotests/test_case_list.xml' + paramList.append ( {"operation":'get', "localfile":localfile, "remotefile":remotefile} ) + sftp_module (user, password, eNBMachine, ports, paramList, sftp_log) + + paramList=[] localfile = logdir_local_testcase + '/UE_compile' + '_' + str(run) + '_.log' remotefile = logdir_UE + '/UE_compile' + '_' + str(run) + '_.log' - sftp_module (user, password, UEMachine, ports, localfile, remotefile, sftp_log, "get") + paramList.append ( {"operation":'get', "localfile":localfile, "remotefile":remotefile} ) + #sftp_module (user, password, UEMachine, ports, localfile, remotefile, sftp_log, "get") localfile = logdir_local_testcase + '/UE_exec' + '_' + str(run) + '_.log' remotefile = logdir_UE + '/UE_exec' + '_' + str(run) + '_.log' - sftp_module (user, password, UEMachine, ports, localfile, remotefile, sftp_log, "get") + paramList.append ( {"operation":'get', "localfile":localfile, "remotefile":remotefile} ) + #sftp_module (user, password, UEMachine, ports, localfile, remotefile, sftp_log, "get") localfile = logdir_local_testcase + '/UE_pre_exec' + '_' + str(run) + '_.log' remotefile = logdir_UE + '/UE_pre_exec' + '_' + str(run) + '_.log' - sftp_module (user, password, UEMachine, ports, localfile, remotefile, sftp_log, "get") + paramList.append ( {"operation":'get', "localfile":localfile, "remotefile":remotefile} ) + #sftp_module (user, password, UEMachine, ports, localfile, remotefile, sftp_log, "get") localfile = logdir_local_testcase + '/UE_traffic' + '_' + str(run) + '_.log' remotefile = logdir_UE + '/UE_traffic' + '_' + str(run) + '_.log' - sftp_module (user, password, UEMachine, ports, localfile, remotefile, sftp_log, "get") + paramList.append ( {"operation":'get', "localfile":localfile, "remotefile":remotefile} ) + #sftp_module (user, password, UEMachine, ports, localfile, remotefile, sftp_log, "get") localfile = logdir_local_testcase + '/UE_task_out' + '_' + str(run) + '_.log' remotefile = logdir_UE + '/UE_task_out' + '_' + str(run) + '_.log' - sftp_module (user, password, UEMachine, ports, localfile, remotefile, sftp_log, "get") - + paramList.append ( {"operation":'get', "localfile":localfile, "remotefile":remotefile} ) + sftp_module (user, password, UEMachine, ports, paramList, sftp_log) + + paramList=[] localfile = logdir_local_testcase + '/EPC_compile' + '_' + str(run) + '_.log' remotefile = logdir_EPC + '/EPC_compile' + '_' + str(run) + '_.log' - sftp_module (user, password, EPCMachine, ports, localfile, remotefile, sftp_log, "get") + paramList.append ( {"operation":'get', "localfile":localfile, "remotefile":remotefile} ) + #sftp_module (user, password, EPCMachine, ports, localfile, remotefile, sftp_log, "get") localfile = logdir_local_testcase + '/EPC_exec' + '_' + str(run) + '_.log' remotefile = logdir_EPC + '/EPC_exec' + '_' + str(run) + '_.log' - sftp_module (user, password, EPCMachine, ports, localfile, remotefile, sftp_log, "get") + paramList.append ( {"operation":'get', "localfile":localfile, "remotefile":remotefile} ) + #sftp_module (user, password, EPCMachine, ports, localfile, remotefile, sftp_log, "get") localfile = logdir_local_testcase + '/HSS_compile' + '_' + str(run) + '_.log' remotefile = logdir_EPC + '/HSS_compile' + '_' + str(run) + '_.log' - sftp_module (user, password, EPCMachine, ports, localfile, remotefile, sftp_log, "get") + paramList.append ( {"operation":'get', "localfile":localfile, "remotefile":remotefile} ) + #sftp_module (user, password, EPCMachine, ports, localfile, remotefile, sftp_log, "get") localfile = logdir_local_testcase + '/HSS_exec' + '_' + str(run) + '_.log' remotefile = logdir_EPC + '/HSS_exec' + '_' + str(run) + '_.log' - sftp_module (user, password, EPCMachine, ports, localfile, remotefile, sftp_log, "get") + paramList.append ( {"operation":'get', "localfile":localfile, "remotefile":remotefile} ) + #sftp_module (user, password, EPCMachine, ports, localfile, remotefile, sftp_log, "get") localfile = logdir_local_testcase + '/EPC_pre_exec' + '_' + str(run) + '_.log' remotefile = logdir_EPC + '/EPC_pre_exec' + '_' + str(run) + '_.log' - sftp_module (user, password, EPCMachine, ports, localfile, remotefile, sftp_log, "get") + paramList.append ( {"operation":'get', "localfile":localfile, "remotefile":remotefile} ) + #sftp_module (user, password, EPCMachine, ports, localfile, remotefile, sftp_log, "get") localfile = logdir_local_testcase + '/EPC_traffic' + '_' + str(run) + '_.log' remotefile = logdir_EPC + '/EPC_traffic' + '_' + str(run) + '_.log' - sftp_module (user, password, EPCMachine, ports, localfile, remotefile, sftp_log, "get") + paramList.append ( {"operation":'get', "localfile":localfile, "remotefile":remotefile} ) + #sftp_module (user, password, EPCMachine, ports, localfile, remotefile, sftp_log, "get") localfile = logdir_local_testcase + '/EPC_task_out' + '_' + str(run) + '_.log' remotefile = logdir_EPC + '/EPC_task_out' + '_' + str(run) + '_.log' - sftp_module (user, password, EPCMachine, ports, localfile, remotefile, sftp_log, "get") + paramList.append ( {"operation":'get', "localfile":localfile, "remotefile":remotefile} ) + sftp_module (user, password, EPCMachine, ports, paramList, sftp_log) #We need to close the new ssh session that was created if index_eNBMachine == index_EPCMachine: oai_EPC.disconnect() +#This function searches if test case is present in list of test cases that need to be executed by user +def search_test_case_group(testcasename, testcasegroup): + if testcasegroup == '': + return True + testcaselist = testcasegroup.split() + for entry in testcaselist: + if entry.find('+') >=0: + match = re.search(entry, testcasename) + if match: + return True + else: + match = testcasename.find(entry) + if match >=0: + return True + return False + + #thread1 = myThread(1, "Thread-1", 1) debug = 0 @@ -522,6 +613,7 @@ timeout=2000 xmlInputFile="./test_case_list.xml" NFSResultsDir = '/mnt/sradio' cleanupOldProgramsScript = '$OPENAIR_DIR/cmake_targets/autotests/tools/remove_old_programs.bash' +testcasegroup='' logdir = '/tmp/' + 'OAITestFrameWork-' + getpass.getuser() + '/' logdirOAI5GRepo = logdir + 'openairinterface5g/' @@ -535,15 +627,19 @@ locallogdir = openairdir_local + '/cmake_targets/autotests/log/' #Remove the contents of local log directory os.system(' rm -fr ' + locallogdir + '; mkdir -p ' + locallogdir ) -for arg in sys.argv: +i=1 +while i < len (sys.argv): + arg=sys.argv[i] if arg == '-d': debug = 1 elif arg == '-dd': debug = 2 elif arg == '-p' : prompt2 = sys.argv[i+1] + i = i +1 elif arg == '-w' : pw = sys.argv[i+1] + i = i +1 elif arg == '-P' : dlsim = 1 elif arg == '-l' : @@ -552,6 +648,10 @@ for arg in sys.argv: is_compiled = 1 elif arg == '-t' : timeout = sys.argv[i+1] + i = i +1 + elif arg == '-g' : + testcasegroup = sys.argv[i+1].replace("\"","") + i = i +1 elif arg == '-h' : print "-d: low debug level" print "-dd: high debug level" @@ -560,6 +660,9 @@ for arg in sys.argv: print "-l: use local shell instead of ssh connection" print "-t: set the time out in second for commands" sys.exit() + else : + print "Unrecongnized Option: <" + arg + ">. Use -h to see valid options" + sys.exit() i= i + 1 try: @@ -580,6 +683,10 @@ except KeyError: print "Please set the environment variable OPENAIR_TARGETS in the .bashrc" sys.exit(1) +paramiko_logfile = os.path.expandvars('$OPENAIR_DIR/cmake_targets/autotests/log/paramiko.log') +res=os.system(' echo > ' + paramiko_logfile) +paramiko.util.log_to_file(paramiko_logfile) + # get the oai object host = os.uname()[1] #oai = openair('localdomain','calisson') @@ -719,6 +826,7 @@ print "cpu freq(MHz): " + str(cpu_freq) + "timeout(s): " + str(timeout) #We now prepare the machines for testing #index=0 +threads_init_setup=[] for index in oai_list: try: print "setting up machine: " + MachineList[index] @@ -746,21 +854,25 @@ for index in oai_list: cmd = cmd + ' cd ' + logdir + '\n' cmd = cmd + ' ) > ' + setuplogfile + ' 2>&1 ' #cmd = cmd + 'echo \' ' + cmd + '\' > ' + setup_script + ' 2>&1 \n ' - result = oai_list[index].send_recv(cmd, False, 300 ) + #result = oai_list[index].send_recv(cmd, False, 300 ) write_file(setup_script, cmd, mode="w") - localfile = locallogdir + '/setup_log_' + MachineList[index] + '_.txt' - remotefile = logdir + '/setup_log_' + MachineList[index] + '_.txt' + tempThread = oaiThread(index, 'thread_'+str(index), oai_list[index] , cmd, False, 300) + threads_init_setup.append(tempThread ) + tempThread.start() - sftp_log = os.path.expandvars(locallogdir + '/sftp_module.log') - sftp_module (user, pw, MachineList[index], 22, localfile, remotefile, sftp_log, "get") + #localfile = locallogdir + '/setup_log_' + MachineList[index] + '_.txt' + #remotefile = logdir + '/setup_log_' + MachineList[index] + '_.txt' + + #sftp_log = os.path.expandvars(locallogdir + '/sftp_module.log') + #sftp_module (user, pw, MachineList[index], 22, localfile, remotefile, sftp_log, "get") #Now we copy test_case_list.xml on the remote machines - localfile = os.path.expandvars('$OPENAIR_DIR/cmake_targets/autotests/test_case_list.xml') - remotefile = logdirOAI5GRepo + '/cmake_targets/autotests/test_case_list.xml' + #localfile = os.path.expandvars('$OPENAIR_DIR/cmake_targets/autotests/test_case_list.xml') + #remotefile = logdirOAI5GRepo + '/cmake_targets/autotests/test_case_list.xml' - sftp_log = os.path.expandvars(locallogdir + '/sftp_module.log') - sftp_module (user, pw, MachineList[index], 22, localfile, remotefile, sftp_log, "put") + #sftp_log = os.path.expandvars(locallogdir + '/sftp_module.log') + #sftp_module (user, pw, MachineList[index], 22, localfile, remotefile, sftp_log, "put") #print oai_list[index].send('rm -fR ' + logdir) @@ -785,6 +897,29 @@ for index in oai_list: sys.exit(1) +#Now we wait for all the threads to complete +index = 0 +for t in threads_init_setup: + t.join() + setuplogfile = logdir + '/setup_log_' + MachineList[index] + '_.txt' + setup_script = locallogdir + '/setup_script_' + MachineList[index] + '_.txt' + localfile = locallogdir + '/setup_log_' + MachineList[index] + '_.txt' + remotefile = logdir + '/setup_log_' + MachineList[index] + '_.txt' + port = 22 + + paramList=[] + sftp_log = os.path.expandvars(locallogdir + '/sftp_module.log') + paramList.append ( {"operation":'get', "localfile":localfile, "remotefile":remotefile} ) + #sftp_module (user, pw, MachineList[index], port, localfile, remotefile, sftp_log, "get") + + #Now we copy test_case_list.xml on the remote machines + localfile = os.path.expandvars('$OPENAIR_DIR/cmake_targets/autotests/test_case_list.xml') + remotefile = logdirOAI5GRepo + '/cmake_targets/autotests/test_case_list.xml' + paramList.append ( {"operation":'put', "localfile":localfile, "remotefile":remotefile} ) + sftp_log = os.path.expandvars(locallogdir + '/sftp_module.log') + sftp_module (user, pw, MachineList[index], port, paramList, sftp_log) + index = index+1 + #Now we process all the test cases @@ -794,28 +929,28 @@ for testcase in testcaseList: testcasename = testcase.get('id') testcaseclass = testcase.findtext('class',default='') desc = testcase.findtext('desc',default='') - if testcaseclass == 'lte-softmodem' : - if testcasename != '015700': - continue - eNBMachine = testcase.findtext('eNB',default='') - UEMachine = testcase.findtext('UE',default='') - EPCMachine = testcase.findtext('EPC',default='') - index_eNBMachine = MachineList.index(eNBMachine) - index_UEMachine = MachineList.index(UEMachine) - index_EPCMachine = MachineList.index(EPCMachine) - print "testcasename = " + testcasename + " class = " + testcaseclass - handle_testcaseclass_softmodem (testcase, CleanUpOldProgs, oai_list, logdirOAI5GRepo, logdirOpenaircnRepo, MachineList, pw, CleanUpAluLteBox ) + if search_test_case_group(testcasename, testcasegroup) == True: + if testcaseclass == 'lte-softmodem' : + eNBMachine = testcase.findtext('eNB',default='') + UEMachine = testcase.findtext('UE',default='') + EPCMachine = testcase.findtext('EPC',default='') + index_eNBMachine = MachineList.index(eNBMachine) + index_UEMachine = MachineList.index(UEMachine) + index_EPCMachine = MachineList.index(EPCMachine) + print "testcasename = " + testcasename + " class = " + testcaseclass + handle_testcaseclass_softmodem (testcase, CleanUpOldProgs, oai_list, logdirOAI5GRepo, logdirOpenaircnRepo, MachineList, pw, CleanUpAluLteBox ) - elif testcaseclass == 'compilation' : - continue - handle_testcaseclass_compilation (testcase) - elif testcaseclass == 'execution' : - continue - handle_testcaseclass_oaisim (testcase) - else : - print "Unknown test case class: " + testcaseclass - sys.exit() + elif testcaseclass == 'compilation' : + continue + handle_testcaseclass_compilation (testcase) + elif testcaseclass == 'execution' : + continue + handle_testcaseclass_oaisim (testcase) + else : + print "Unknown test case class: " + testcaseclass + sys.exit() +print "Exiting the test cases execution now..." sys.exit() From d092a91c4b50402682efe98f2cf604aa8799a8e1 Mon Sep 17 00:00:00 2001 From: Navid Nikaein Date: Thu, 26 Nov 2015 21:43:59 +0100 Subject: [PATCH 51/85] add option to switch to RLC AM mode for the default bearer --- cmake_targets/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/cmake_targets/CMakeLists.txt b/cmake_targets/CMakeLists.txt index 17d921d4d9..8ba602c25d 100644 --- a/cmake_targets/CMakeLists.txt +++ b/cmake_targets/CMakeLists.txt @@ -462,6 +462,7 @@ add_boolean_option(ENABLE_SECURITY True "Enable LTE integrity and ciphe add_boolean_option(ENABLE_USE_MME True "eNB connected to MME (INTERFACE S1-C), not standalone eNB") add_boolean_option(NO_RRM True "DO WE HAVE A RADIO RESSOURCE MANAGER: NO") add_boolean_option(USER_MODE True "????") +add_boolean_option(RRC_DEFAULT_RAB_IS_AM False "set the RLC mode to AM for the default bearer") add_boolean_option(OAI_NW_DRIVER_TYPE_ETHERNET False "????") add_boolean_option(DISABLE_USE_NAS False "???") From 03595b40a2c028ed5d2768aeb61716cb0a86dbec Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Sat, 28 Nov 2015 22:18:07 +0100 Subject: [PATCH 52/85] added files for autotest framework --- cmake_targets/autotests/openair.py | 234 +++++++++++++++++++++++++++++ 1 file changed, 234 insertions(+) create mode 100644 cmake_targets/autotests/openair.py diff --git a/cmake_targets/autotests/openair.py b/cmake_targets/autotests/openair.py new file mode 100644 index 0000000000..1606bcaf6a --- /dev/null +++ b/cmake_targets/autotests/openair.py @@ -0,0 +1,234 @@ +#****************************************************************************** + +# Eurecom OpenAirInterface +# Copyright(c) 1999 - 2013 Eurecom + +# This program is free software; you can redistribute it and/or modify it +# under the terms and conditions of the GNU General Public License, +# version 2, as published by the Free Software Foundation. + +# This program is distributed in the hope it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +# more details. + +# You should have received a copy of the GNU General Public License along with +# this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + +# The full GNU General Public License is included in this distribution in +# the file called "COPYING". + +# Contact Information +# Openair Admin: openair_admin@eurecom.fr +# Openair Tech : openair_tech@eurecom.fr +# Forums : http://forums.eurecom.fsr/openairinterface +# Address : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France + +#***************************************************************************** + +# \file openair.py +# \brief class that define the oaisim class and its attributes +# \author Navid Nikaein +# \date 2013 +# \version 0.1 +# @ingroup _test + +import pexpect +import pxssh +import time +import os +import array +import shutil +import subprocess +# import call + +from core import * + +SHELL = '/bin/bash' + +class openair(core): + def __init__(self, hostname, address): + self.error = '% ' + self.hostname = hostname + self.address = address + self.localhost = None + core.__init__(self) + + @property + def localhost(self): + if self.localhost : + return self.localhost + elif self.hostname in ['localhost', '127.0.0.7', '::1'] : + self.localhost = self.hostname + return self.localhost + + @localhost.setter + def localhost(self,localhost): + self.localhost = localhost + + def shcmd(self,cmd,sudo=False): + + if sudo: + cmd = "sudo %s" % command + + proc = subprocess.Popen(command, shell=True, + stdout = subprocess.PIPE, + stderr = subprocess.PIPE) + + stdout, stderr = proc.communicate() + return (stdout, stderr) + + def connect(self, username, password, prompt='PEXPECT_OAI'): + self.prompt1 = prompt + self.prompt2 = prompt + self.password = '' + # WE do not store the password when sending commands for secuirity reasons. The password might be accidentally logged in such cases. + #The password is used only to make ssh connections. In case user wants to run programs with sudo, then he/she needs to add following line in /etc/sudoers + # your_user_name ALL=(ALL:ALL) NOPASSWD: ALL + try: + if not username: + username = root + if not password: + password = username + self.oai = pxssh.pxssh() + self.oai.login(self.address,username,password) + self.oai.sendline('PS1='+self.prompt1) + self.oai.PROMPT='PEXPECT_OAI' + # need to look for twice the string of the prompt + self.oai.prompt() + self.oai.prompt() + self.oai.sendline('uptime') + self.oai.prompt() + print self.oai.before + + except Error, val : + print "Error: can't connect to"+username+"@"+self.address + + def connect2(self, username, password, prompt='$'): + self.prompt1 = prompt + self.prompt2 = prompt + self.password = password + while 1: + try: + if not username: + username = root + if not password: + password = username + + self.oai = pexpect.spawn('ssh -o "UserKnownHostsFile=/dev/null" -o "StrictHostKeyChecking=no" -o "ConnectionAttempts=1" ' \ + + username + '@' + self.address) + + index = self.oai.expect([re.escape(self.prompt1), re.escape(self.prompt2), pexpect.TIMEOUT], timeout=40) + if index == 0 : + return 'Ok' + else : + index = self.oai.expect(['password:', pexpect.TIMEOUT], timeout=40) + if index == 0 : + self.oai.sendline(password) + index = self.oai.expect([re.escape(self.prompt1), re.escape(self.prompt2), pexpect.TIMEOUT], timeout=10) + if index != 0: + print 'ERROR! could not login with SSH.' + print 'Expected ' + self.prompt1 + ', received >>>>' + self.oai.before + '<<<<' + sys.exit(1) + return 'Ok' + + except Exception, val: + time.sleep(5) + print "Error:", val + + def connect_localshell(self, prompt='$'): + self.prompt1 = prompt + self.prompt2 = prompt + + while 1: + try: + # start a shell and use the current environment + self.oai = pexpect.spawn('bash --norc --noprofile') + + index = self.oai.expect([re.escape(self.prompt1), re.escape(self.prompt2), pexpect.TIMEOUT], timeout=40) + if index == 0 : + return 'Ok' + else : + sys.exit(1) + + except Exception, val: + time.sleep(5) + print "Error:", val + + def disconnect(self): + print 'disconnecting the ssh connection to ' + self.address + '\n' + self.oai.send('exit') +# self.cancel() + + def kill(self, user, pw): + try: + if user == 'root' : + os.system('pkill oaisim') + os.system('pkill cc1') + time.sleep(1) + os.system('pkill oaisim') + else : + os.system('echo '+pw+' | sudo -S pkill oaisim') + os.system('echo '+pw+' | sudo -S pkill cc1') + time.sleep(1) + os.system('echo '+pw+' | sudo -S pkill oaisim') + except Error, val: + print "Error:", val + + def rm_driver(self,oai,user, pw): + try: + if user == 'root' : + #oai.send_nowait('rmmod nasmesh;') + os.system('rmmod nasmesh;') + else : + oai.send_nowait('echo '+pw+ ' | sudo -S rmmod nasmesh;') + #os.system('echo '+pw+ ' | sudo -S rmmod nasmesh;') + except Error, val: + print "Error removing oai network driver module:", val + + def driver(self,oai,user,pw): + #pwd = oai.send_recv('pwd') + oai.send('cd $OPENAIR_TARGETS;') + oai.send('cd SIMU/USER;') + try: + if user == 'root' : + oai.send_nowait('insmod ./nasmesh.ko;') + else : + oai.send('echo '+pw+ ' | sudo -S insmod ./nasmesh.ko;') + + except Error, val: + print "Error inserting oai network driver module:", val + + def cleandir (self, logdir,debug) : + + for filename in os.listdir(logdir): + filepath = os.path.join(logdir, filename) + if debug == 2 : + print 'logdir is ' + logdir + print 'filepath is ' + filepath + try: + shutil.rmtree(filepath) + except OSError: + os.remove(filepath) + #print 'Could not remove the filepath'+ filepath + ' with error ' + OSError + + def create_dir(self,dirname,debug) : + if not os.path.exists(dirname) : + try: + os.makedirs(dirname,0755) + except OSError: + # There was an error on creation, so make sure we know about it + raise + def cpu_freq(self): + freq=0 + proc = subprocess.Popen(["cat","/proc/cpuinfo"], + stdout=subprocess.PIPE) + out, err = proc.communicate() + + for line in out.split("\n"): + if "cpu MHz" in line: + freq = float(line.split(":")[1]) + break + + return freq From e070050d13daffde25d7f73b53c04b8cb18713e4 Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Sat, 28 Nov 2015 22:18:17 +0100 Subject: [PATCH 53/85] added files for autotest framework --- cmake_targets/autotests/core.py | 349 ++++++++++++++++++++++++++++++++ cmake_targets/autotests/log.py | 206 +++++++++++++++++++ 2 files changed, 555 insertions(+) create mode 100644 cmake_targets/autotests/core.py create mode 100644 cmake_targets/autotests/log.py diff --git a/cmake_targets/autotests/core.py b/cmake_targets/autotests/core.py new file mode 100644 index 0000000000..c899069f89 --- /dev/null +++ b/cmake_targets/autotests/core.py @@ -0,0 +1,349 @@ +#****************************************************************************** + +# Eurecom OpenAirInterface +# Copyright(c) 1999 - 2013 Eurecom + +# This program is free software; you can redistribute it and/or modify it +# under the terms and conditions of the GNU General Public License, +# version 2, as published by the Free Software Foundation. + +# This program is distributed in the hope it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +# more details. + +# You should have received a copy of the GNU General Public License along with +# this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + +# The full GNU General Public License is included in this distribution in +# the file called "COPYING". + +# Contact Information +# Openair Admin: openair_admin@eurecom.fr +# Openair Tech : openair_tech@eurecom.fr +# Forums : http://forums.eurecom.fsr/openairinterface +# Address : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France + +#***************************************************************************** + +# \file core.py +# \brief OAI core testing class that provides various primitives to send/recv cmd to openair class searching for patterns and process the responses and tag the test case as passed/failed/skipped +# \author Navid Nikaein +# \date 2013 +# \version 0.1 +# @ingroup _test + + +import pexpect +import time +import re +import string +import sys +import os + +import openair +import log + +class core: + def __init__(self): + self.send_cr = 1 + self.expect_echo = 0 + self.expect_response = 1 + self.flag_errors = 1 + self.log = None + + def clean(self, obj): + if type(obj) is str: + return obj + else: + return repr(obj) + + def mark(self, marker): + if self.log: + print >> self.log, "\n\n{" + marker + "}\n\n" + + def expected(self, expected, got): + return "================================= Failure ===================================\n"+\ + "_________________________________ Expected __________________________________\n"+\ + "--->" + expected + "<-\n" +\ + "_________________________________ Received __________________________________\n"+\ + "--->" + got + "<-\n" +\ + "=============================================================================\n" + + def unexpected(self, notexpected, got): + return "================================= Failure ===================================\n"+\ + "__________________________ not expect to find _______________________________\n"+\ + "---> " + self.clean(notexpected) + "\n" +\ + "_________________________________ Received___________________________________\n"+\ + "---> " + self.clean(got) + "\n" +\ + "=============================================================================\n" + + def failed(self, command, expect,debug): + time.sleep(2) + ret = "================================= Failure =================================\n" + ret +="_________________________________ Sent ____________________________________\n" + ret +="---> " + command + "\n" + ret +="______________________________Searching for _______________________________\n" + ret +="---> " + self.clean(expect) + "\n" + if debug >= 1 : + ret +="________________________________ Received _________________________________\n" + ret +="---> " + self.clean(self.oai.before) + "\n" + ret +="_______________________________ Remaining _________________________________\n" + ret +="---> " + self.clean(self.oai.after) + "\n" + ret +="===========================================================================\n" + return ret + + def err(self, command): + return "============================ Error received ================================\n"+\ + "__________________________________ Sent ____________________________________\n"+\ + '---> ' + command + "\n"+\ + "_________________________________ Error was ________________________________\n"+\ + "---> " + self.oai.before + "\n" +\ + "============================================================================\n" + + + def wait_quiet(self, timeout=0.5): + while 1: + try: + self.oai.expect(['..*'], timeout=0.5) + except pexpect.TIMEOUT, e: + return +# print '[Flushing ' + self.oai.after + ']' + + # **************************Send***************************** + # 1) send a command and return, do not wait + # ************************************************************ + def send_nowait(self, command, sudo=False): + rsp1 = self.prompt1 + rsp2 = self.prompt2 + if sudo == True: + command = 'echo \'' + self.password + '\' | sudo -S -E ' + command + + self.wait_quiet() + if self.send_cr: + log.stats['cmd'] += 1 + self.oai.sendline(command) + else: + self.oai.send(command) + + + # **************************Send***************************** + # 1) send a command + # 2) wait for a return prompt. Don't capture the response. + # 3) Check for error or timeout. + # ************************************************************ + def send(self, command,sudo=False, timeout = 50, rsp1=None, rsp2=None,debug=0): + if not rsp1: + rsp1 = self.prompt1 + if not rsp2: + rsp2 = self.prompt2 + self.wait_quiet() + if sudo == True: + command = 'echo \'' + self.password + '\' | sudo -S -E ' + command + if self.send_cr: + log.stats['cmd'] += 1 + self.oai.sendline(command) + else: + self.oai.send(command) + + if self.expect_echo: + #cmd = self.oai.expect([re.escape(command), pexpect.TIMEOUT], timeout=timeout); + cmd = self.oai.expect_exact([command, pexpect.TIMEOUT], timeout=timeout); + if cmd != 0: + raise log.err(self.failed(command, command,debug)) + + if self.expect_response: + #index = self.oai.expect([re.escape(rsp1), re.escape(rsp2),'%', pexpect.TIMEOUT], timeout=timeout) + index = self.oai.expect_exact([rsp1, rsp2, pexpect.TIMEOUT], timeout=timeout) + + if index == 0 or index == 1: + return 'OK' + elif index == 2: + #self.oai.expect([re.escape(rsp1), re.escape(rsp2), pexpect.TIMEOUT], timeout=timeout) + self.oai.expect_exact([rsp1, rsp2, pexpect.TIMEOUT], timeout=timeout) + if self.flag_errors: + raise log.err(self.err(command)) + else: + return 'OK' + else: + raise log.err(self.failed(command, rsp1 + ' or ' + rsp2,debug)) + + # **************************send_recv************************* + # 1) send a command + # 2) wait for either rsp1 or rsp2 is found (normally prompts) + # 3) return everything seen before that + # ************************************************************ + def send_recv(self, command, sudo=False, timeout=100, rsp1=None, rsp2=None,debug=0): + if not rsp1: + rsp1 = self.prompt1 + if not rsp2: + rsp2 = self.prompt2 + self.wait_quiet() + if sudo == True: + command = 'echo \'' + self.password + '\' | sudo -S -E ' + command + if self.send_cr: + log.stats['cmd'] += 1 + self.oai.sendline(command) + else: + self.oai.send(command) + #index = self.oai.expect([re.escape(rsp1), re.escape(rsp2), pexpect.TIMEOUT], timeout=timeout); + index = self.oai.expect_exact([rsp1, rsp2, pexpect.TIMEOUT], timeout=timeout); + if index == 0 or index == 1 : + return self.oai.before + else: + raise log.err(self.failed(command, rsp1 + ' or ' + rsp2,debug)) + + + # **************************send_expect************************* + # 1) send a command, and optionally specify a the time to wait + # 2) search for an expected pattern in the response + # 3) raise an error if not found + # ************************************************************** + def send_expect(self, command, expect, sudo=False, delay = 50, rsp1=None, rsp2=None,debug=0): + if debug : + print command + print expect + print delay + rsp = self.send_recv(command, sudo, delay, rsp1, rsp2) + #print rsp + if (rsp.find(expect) != -1): + return 'Ok' + + raise log.err(self.failed(command, expect,debug)) + + + # **************************send_expect_re************************* + # 1) send a command, and optionally specify a the time to wait + # 2) search for an expected pattern defined by a regular expression in the response + # 3) return a error if raise_err flag is set and re not found, otherwise return 'Ok' + # ***************************************************************** + def send_expect_re(self, command, expect, sudo=False, raise_err=1, delay = 50, rsp1=None, rsp2=None,debug=0): + rsp = self.send_recv(command, sudo, delay, rsp1, rsp2) +# print rsp + match = re.compile(expect).search(rsp) + if match: + return match + if raise_err: + raise log.err(self.failed(command, expect,debug)) + else : + return None + + # **************************send_expect************************* + # 1) send a command, and optionally specify a the time to wait + # 2) search for an expected pattern defined by a re in the response + # 3) return ok if not found + # ************************************************************** + def send_expect_false(self, command, expect, sudo=False, delay = 5, rsp1=None, rsp2=None,debug=0): + rsp = self.send_recv(command, sudo, delay, rsp1, rsp2) + # print rsp + if (rsp.find(expect) == -1): + return 'OK' + + raise log.err(self.failed(command, expect,debug)) + + + # **************************send_wait************************* + # 1) send a command, and optionally specify a the time to wait + # 2) search for an expected pattern in the response + # 3) retry for a numretries if not found + # 4) return an error if not found after the numtries + # 3) return the response if found + # ************************************************************** + def send_wait(self, command, expect, sudo=False, numretries=3, rsp1=None, rsp2=None,debug=0): + timer = 0 + for i in range(numretries): + rsp = self.send_recv(command, sudo, 10, rsp1, rsp2) + if (rsp.find(expect) != -1): + return rsp; + time.sleep(2) + timer = timer+2 + raise log.err(self.failed(command, expect,debug)) + + # **************************send_wait_re************************* + # 1) send a command, and optionally specify a the time to wait + # 2) search for an expected pattern defined by a re in the response + # 3) retry for a numretries if not found + # 4) return an error if not found after the numtries + # 3) return the response if found + # ************************************************************** + def send_wait_re(self, command, expect, sudo=False, numretries=3, rsp1=None, rsp2=None,debug=0): + timer = 0 + for i in range(numretries): + rsp = self.send_recv(command,sudo) + if re.compile(expect).search(rsp): +# print "Found in",i,"attempts" + return rsp; + time.sleep(2) + timer = timer+2 + raise log.err(self.failed(command, expect,debug)) + + # **************************send_wait_false************************* + # 1) send a command, and optionally specify a the time to wait + # 2) search for an expect pattern in the response + # 3) return the response if not found + # 4) return an error if the pattern found after the numtries + # ************************************************************** + def send_wait_false(self, command, expect, sudo=False, numretries=3, rsp1=None, rsp2=None,debug=0): + timer = 1 + for i in range(numretries): + rsp = self.send_recv(command,sudo) + if (rsp.find(expect) == -1): + return rsp; + time.sleep(2) + timer = timer+2 + raise log.err(self.failed(command, expect,debug)) + + # **************************send_wait_false************************* + # 1) send a command, and optionally specify a the time to wait + # 2) search for an expect pattern defined by a re in the response + # 3) return the response if not found + # 4) return an error if the pattern found after the numtries + # ************************************************************** + def send_wait_false_re(self, command, expect, sudo=False, numretries=3, rsp1=None, rsp2=None,debug=0): + timer = 0 + for i in range(numretries): + rsp = self.send_recv(command,sudo) + if not re.compile(expect).search(rsp): + return rsp; + time.sleep(2) + timer = timer+2 + raise log.err(self.failed(command, expect,debug)) + + # **************************find************************* + # 1) find an exact pattern in a given string + # 2) raise an error if not found + # ************************************************************** + def find(self, string, pattern): + word = string.replace(pattern,'*','\*') + words = string.replace(word,' ','\s*') + if re.search(words,string): + pass + else: + raise log.err(string) + + + # **************************find_false************************** + # 1) find an exact pattern in a given string + # 2) raise an error if found + # ************************************************************** + def find_false(self, string, pattern): + if string.find(pattern) != -1: + raise log.err(string) + + # **************************find_re************************* + # 1) find an exact re pattern in a given string + # 2) raise an error if not found + # ************************************************************** + def find_re(self, string, pattern): + if not re.compile(pattern).search(string): + raise log.err(string) + + # **************************find_false_re************************* + # 1) find an exact re pattern in a given string + # 2) raise an error if found + # ************************************************************** + def find_false_re(self, string, pattern): + if re.compile(pattern).search(string): + raise log.err(string) + diff --git a/cmake_targets/autotests/log.py b/cmake_targets/autotests/log.py new file mode 100644 index 0000000000..0b4baff3e9 --- /dev/null +++ b/cmake_targets/autotests/log.py @@ -0,0 +1,206 @@ +#****************************************************************************** + +# Eurecom OpenAirInterface +# Copyright(c) 1999 - 2013 Eurecom + +# This program is free software; you can redistribute it and/or modify it +# under the terms and conditions of the GNU General Public License, +# version 2, as published by the Free Software Foundation. + +# This program is distributed in the hope it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +# more details. + +# You should have received a copy of the GNU General Public License along with +# this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + +# The full GNU General Public License is included in this distribution in +# the file called "COPYING". + +# Contact Information +# Openair Admin: openair_admin@eurecom.fr +# Openair Tech : openair_tech@eurecom.fr +# Forums : http://forums.eurecom.fsr/openairinterface +# Address : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France + +#***************************************************************************** + +# \file log.py +# \brief provides primitives and defines how the logs and statistics are generated +# \author Navid Nikaein +# \date 2013 +# \version 0.1 +# @ingroup _test + +import sys +import re +import time +import datetime +import array +import xml.etree.ElementTree as ET + + +debug = False +docfile = '' +start_time = time.time() +testcase_starttime = start_time +debug = 0 +stats = {'passed':0, 'failed':0, 'skipped':0, 'internal_errors':0, 'cmd':0} + +# xml result (jUnit like) +xUnitTestsuites = ET.Element( 'testsuites' ) +xUnitTestsuite = ET.SubElement( xUnitTestsuites, 'testsuite' ) +xUnitTestsuite.set( 'name', 'OAI' ) +xUnitTestsuite.set( 'timestamp', datetime.datetime.fromtimestamp(start_time).strftime('%Y-%m-%dT%H:%M:%S') ) +xUnitTestsuite.set( 'hostname', 'localhost' ) +#xUnitSystemOut = ET.SubElement( xUnitTestsuite, 'system-out' ) + +class bcolors: + header = '\033[95m' + okblue = '\033[94m' + okgreen = '\033[92m' + warning = '\033[93m' + fail = '\033[91m' + normal = '\033[0m' + + def __init__(self): + if not sys.stdout.isatty(): + self.disable() + + def disable(self): + self.header = '' + self.okblue = '' + self.okgreen = '' + self.warning = '' + self.fail = '' + self.normal = '' + +class err(Exception): + def __init__(self, value): + self.value = value + def __str__(self): + return repr(self.value) + +def writefile(logfile, message): + F_testlog = open(logfile, 'a') + F_testlog.write(message + '\n') + F_testlog.close() + + +def sleep(seconds): + time.sleep(seconds) + +def start(): + """Start the timer for the following testcase.""" + global testcase_starttime + testcase_starttime = time.time() + +def set_debug_level(level): + debug = level + +def statistics(logfile): + global start_time + + #if stats['passed'] == 0: + # print "no test executed...exiting" + # sys.exit() + + total_tests = stats['passed'] + stats['failed'] + stats['skipped'] + total_ex_tests = stats['passed'] + stats['failed'] + elapsed_time = time.gmtime(time.time() - start_time) + print '\n' + log_record('info', '===============================================') + log_record('info', 'Total tests performed ' + repr(total_tests)) + log_record('info', 'Tests passed ' + repr(stats['passed'])) + log_record('info', 'Tests failed ' + repr(stats['failed'])) + log_record('info', 'Tests skipped ' + repr(stats['skipped'])) + log_record('info', '') + log_record('info', 'Total commands sent ' + repr(stats['cmd'])) + log_record('info', 'Total elapsed time (h:m:s) ' + time.strftime('%H:%M:%S', elapsed_time)) + log_record('info', '===============================================') + log_record('info', 'Testing pass rate ' + repr((stats['passed'] * 100) / total_tests) + '%') + log_record('info', '===============================================') + + writefile(logfile, '\n=====================Results===================') + writefile(logfile, 'Total tests performed ' + repr(total_tests)) + writefile(logfile, 'Tests passed ' + repr(stats['passed'])) + writefile(logfile, 'Tests failed ' + repr(stats['failed'])) + writefile(logfile, 'Tests skipped ' + repr(stats['skipped'])) + writefile(logfile, '') + writefile(logfile, 'Total commands sent ' + repr(stats['cmd'])) + writefile(logfile, 'Total elapsed time (h:m:s) ' + time.strftime('%H:%M:%S', elapsed_time)) + writefile(logfile, '===============================================') + writefile(logfile, 'Testing pass rate ' + repr((stats['passed'] * 100) / total_tests) + '%') + writefile(logfile, '===============================================\n') + + xUnitTestsuite.set( 'tests', repr(total_tests) ) + xUnitTestsuite.set( 'failures', repr(stats['failed']) ) + xUnitTestsuite.set( 'skipped', repr(stats['skipped']) ) + xUnitTestsuite.set( 'errors', '0' ) + time_delta = datetime.datetime.now() - datetime.datetime.fromtimestamp(start_time) + xUnitTestsuite.set( 'time', repr(time_delta.total_seconds()) ) + writefile( logfile + '.xml', ET.tostring( xUnitTestsuites, encoding="utf-8", method="xml" ) ) + +def log_record(level, message): + ts = time.strftime('%d %b %Y %H:%M') + message = ts + ' [' + level + '] ' + message + if level == 'passed' : + print bcolors.okgreen + message + bcolors.normal + elif level == 'failed' : + print bcolors.fail + message + bcolors.normal + elif level == 'skipped' : + print bcolors.warning + message + bcolors.normal + else : + print message + +def fail(case, testnum, testname, conf, message, diag, output,trace): +# report(case, testnum, testname, conf, 'failed', output, diag, message) + report(case, testnum, testname, conf, 'failed', output, diag) + log_record('failed', case + testnum + ' : ' + testname + ' ('+ conf+')') + if message : + log_record('failed', "Output follows:\n" + message ) + if trace : + log_record('failed', "trace file can be found in " + trace + "\n" ) + stats['failed'] += 1 + +def failquiet(case, testnum, testname, conf): + log_record('failed', case + testnum + ' :' + testname + ' ('+ conf+')') + stats['failed'] += 1 + +def ok(case, testnum, testname, conf, message, output): + report(case, testnum, testname, conf, 'passed', output) + log_record('passed', case + testnum + ' : ' + testname + ' ('+ conf+')') + if message : + print bcolors.okgreen + message + bcolors.normal + stats['passed'] += 1 + + +def skip(case, testnum, testname, conf, message=None, diag=None, output=None): + log_record('skipped', case + testnum + ' :' + testname + ' ('+ conf+')') + report(case, testnum, testname, conf, 'skipped', output, diag) + if message : + log_record('skipped', "Output follows:\n" + message ) + if diag : + log_record('skipped', "Diagnostic: \n" + diag ) + stats['skipped'] += 1 + + +def report(case, test, name, conf, status, output, diag=None, desc=None): + writefile (output, '[' +status+ '] ' + case + test + ' : ' + name + ' ('+ conf+')') + if diag : + writefile (output, '-------> ' + diag) + if desc: + writefile(output, desc) + #log_record('report', + case + test + ' documented') + e = ET.SubElement( xUnitTestsuite, 'testcase' ) + e.set( 'name', case + '_' + test + '_' + name ) + e.set( 'classname', 'shellscript' ) + e.set( 'time', repr( time.time() - testcase_starttime ) ) + if status == 'failed': + e = ET.SubElement( e, 'failure' ) + e.set( 'message', 'failed' ) + e.text = diag + if status == 'skipped': + e = ET.SubElement( e, 'skipped' ) From d897ea3e753de0f6f48ae0caf0704a9264cd07bf Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Sun, 29 Nov 2015 20:04:26 +0100 Subject: [PATCH 54/85] improved logging in build helper and fixed a minor bug in installation --- cmake_targets/tools/build_helper | 67 ++++++++++++++++++++++---------- 1 file changed, 46 insertions(+), 21 deletions(-) diff --git a/cmake_targets/tools/build_helper b/cmake_targets/tools/build_helper index d58d7018ed..004c83f0b8 100755 --- a/cmake_targets/tools/build_helper +++ b/cmake_targets/tools/build_helper @@ -111,7 +111,12 @@ compilations() { cd $OPENAIR_DIR/cmake_targets/$1/build { rm -f $3 - make -j`nproc` $2 VERBOSE=$VERBOSE_COMPILE + if [ "$VERBOSE_COMPILE" == "1" ]; then + make -j`nproc` $2 VERBOSE=$VERBOSE_COMPILE + else + make -j`nproc` $2 + fi + } > $dlog/$2.$REL.txt 2>&1 echo_info "Log file for compilation has been written to: $dlog/$2.$REL.txt" if [ -s $3 ] ; then @@ -158,22 +163,33 @@ install_gnutls_from_source(){ check_install_usrp_uhd_driver(){ + log_file=$OPENAIR_DIR/cmake_targets/log/check_install_usrp_uhd_driver_log.txt + echo_info "\nIn function: check_install_usrp_uhd_driver(). Installing USRP Drivers : The logfile for the installation is located here: $log_file " + ( v=$(lsb_release -cs) $SUDO apt-add-repository "deb http://files.ettus.com/binaries/uhd/repo/uhd/ubuntu/$v $v main" $SUDO apt-get update $SUDO apt-get -y install python python-tk libboost-all-dev libusb-1.0-0-dev $SUDO apt-get -y install -t `lsb_release -cs` uhd --force-yes + ) >& $log_file } check_install_bladerf_driver(){ + log_file=$OPENAIR_DIR/cmake_targets/log/check_install_bladerf_driver_log.txt + echo_info "\nIn function: check_install_bladerf_driver(). Install BLADERF drivers : The logfile for the installation is located here: $log_file " + ( $SUDO add-apt-repository -y ppa:bladerf/bladerf $SUDO apt-get update $SUDO apt-get install -y bladerf libbladerf-dev - $SUDO apt-get install bladerf-firmware-fx3 - $SUDO apt-get install bladerf-fpga-hostedx40 + $SUDO apt-get install -y bladerf-firmware-fx3 + $SUDO apt-get install -y bladerf-fpga-hostedx40 bladeRF-cli --flash-firmware /usr/share/Nuand/bladeRF/bladeRF_fw.img + ) >& $log_file } check_install_additional_tools (){ + log_file=$OPENAIR_DIR/cmake_targets/log/check_install_additional_tools_log.txt + echo_info "\nIn function: check_install_oai_software(). Installing optional OAI packages : The logfile for the installation is located here: $log_file " + ( $SUDO apt-get update $SUDO apt-get install -y \ check \ @@ -195,26 +211,30 @@ check_install_additional_tools (){ valgrind \ vlan \ ctags + ) >& $log_file } check_install_oai_software() { + log_file=$OPENAIR_DIR/cmake_targets/log/check_install_oai_software_log.txt + echo_info "\nIn function: check_install_oai_software(). Installing mandatory OAI packages : The logfile for the installation is located here: $log_file " + ( $SUDO apt-get update $SUDO apt-get install -y \ - autoconf \ + autoconf \ automake \ bison \ build-essential \ cmake \ cmake-curses-gui \ doxygen \ - doxygen-gui\ - texlive-latex-base\ + doxygen-gui \ + texlive-latex-base \ ethtool \ flex \ - gccxml \ - gdb \ - git \ + gccxml \ + gdb \ + git \ graphviz \ gtkwave \ guile-2.0-dev \ @@ -233,7 +253,7 @@ check_install_oai_software() { libgmp-dev \ libgtk-3-dev \ libidn2-0-dev \ - libidn11-dev \ + libidn11-dev \ libmysqlclient-dev \ liboctave-dev \ libpgm-5.1 \ @@ -255,10 +275,10 @@ check_install_oai_software() { openssl \ python \ subversion \ - xmlstarlet \ - python-pip \ - pydb \ - wvdial + xmlstarlet \ + python-pip \ + pydb \ + wvdial $SUDO update-alternatives --set liblapack.so /usr/lib/atlas-base/atlas/liblapack.so if [ `lsb_release -rs` = '12.04' ] ; then install_nettle_from_source @@ -268,20 +288,25 @@ check_install_oai_software() { fi $SUDO pip install paramiko $SUDO pip install pyroute2 + ) > $log_file 2>&1 install_asn1c_from_source } install_asn1c_from_source(){ + asn1_install_dir=$OPENAIR_DIR/cmake_targets/log/asn1c_install_log.txt + echo_info "\nInstalling ASN1. The log file for ASN1 installation is here: $asn1_install_dir " + ( + rm -rf /tmp/asn1c-r1516 mkdir -p /tmp/asn1c-r1516 cd /tmp/asn1c-r1516 - rm -rf /tmp/asn1c-r1516/* - svn co https://github.com/vlm/asn1c/trunk /tmp/asn1c-r1516 -r 1516 > /tmp/log_compile_asn1c - patch -p0 < $OPENAIR_DIR/openair3/S1AP/MESSAGES/ASN1/asn1cpatch.p0 >> /tmp/log_compile_asn1c - patch -p0 < $OPENAIR_DIR/openair3/S1AP/MESSAGES/ASN1/asn1cpatch_2.p0 >> /tmp/log_compile_asn1c - patch -p0 < $OPENAIR_DIR/openair2/RRC/LITE/MESSAGES/asn1c/asn1cpatch.p0 >> /tmp/log_compile_asn1c + svn co https://github.com/vlm/asn1c/trunk /tmp/asn1c-r1516 -r 1516 + patch -p0 < $OPENAIR_DIR/openair3/S1AP/MESSAGES/ASN1/asn1cpatch.p0 + patch -p0 < $OPENAIR_DIR/openair3/S1AP/MESSAGES/ASN1/asn1cpatch_2.p0 + patch -p0 < $OPENAIR_DIR/openair2/RRC/LITE/MESSAGES/asn1c/asn1cpatch.p0 ./configure - make > /tmp/log_compile_asn1c 2>&1 - $SUDO make install + make -j`nproc` + $SUDO make install + ) > $asn1_install_dir 2>&1 } ################################################# From 34b61a1a5332cd7d20ae6054ab74b30ffe16022c Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Sun, 29 Nov 2015 22:52:49 +0100 Subject: [PATCH 55/85] updated test case architecture for parallel/faster execution --- cmake_targets/autotests/README.txt | 55 ++- .../autotests/run_exec_autotests.bash | 246 ++++++---- cmake_targets/autotests/test_case_list.xml | 462 ++++++++++++------ cmake_targets/tools/test_helper | 18 +- 4 files changed, 518 insertions(+), 263 deletions(-) diff --git a/cmake_targets/autotests/README.txt b/cmake_targets/autotests/README.txt index 25f0c499bb..166db2990e 100644 --- a/cmake_targets/autotests/README.txt +++ b/cmake_targets/autotests/README.txt @@ -6,41 +6,50 @@ Obj.# Case# Test# Description 01 pre-commit test case 01 01 Build OAI 01 01 01 Build oaisim.Rel8 -01 01 02 Build oaisim.Rel8 + network device driver(nasmesh_fix) -01 01 03 Build (lte-softmodem.Rel8.EXMIMO + lte-softmodem.Rel10.EXMIMO + lte-softmodem.Rel10.USRP) -01 01 04 Build (dlsim.Rel10 + ulsim.Rel10 + pucchsim.Rel10 + prachsim.Rel10 + pdcchsim.Rel10 + pbchsim.Rel10 + mbmssim.Rel10 +01 01 02 Build oaisim.Rel10 +01 01 03 Build oaisim_noS1.Rel10 +01 01 10 Build lte-softmodem_noS1.USRP.Rel10 +01 01 11 Build lte-softmodem_noS1.EXMIMO.Rel10 +01 01 12 Build lte-softmodem_noS1.BLADERF.Rel10 +01 01 13 Build lte-softmodem_noS1.ETHERNET.Rel10 +01 01 20 Build lte-softmodem.USRP.Rel10 +01 01 21 Build lte-softmodem.EXMIMO.Rel10 +01 01 22 Build lte-softmodem.BLADERF.Rel10 +01 01 23 Build lte-softmodem.ETHERNET.Rel10 + +01 01 30 Build (dlsim.Rel10 + ulsim.Rel10 + pucchsim.Rel10 + prachsim.Rel10 + pdcchsim.Rel10 + pbchsim.Rel10 + mbmssim.Rel10 secu_knas_encrypt_eia1.Rel10 secu_kenb.Rel10 aes128_ctr_encrypt.Rel10 aes128_ctr_decrypt.Rel10 secu_knas_encrypt_eea2.Rel10 secu_knas.Rel10 secu_knas_encrypt_eea1.Rel10 kdf.Rel10 aes128_cmac_encrypt.Rel10 secu_knas_encrypt_eia2.Rel10) -01 01 06 Build oaisim.Rel8 + ITTI -01 01 07 Build oaisim.Rel10 -01 01 08 Build oaisim.Rel10 + ITTI -01 01 20 Build Nasmesh -01 01 30 Build RRH Gateway + +01 01 40 Build RRH Gateway for USRP (Rel 10) +01 01 41 Build RRH Gateway for EXMIMO (Rel 10) +01 01 42 Build RRH Gateway for BLADERF (Rel 10) -01 02 Run OAISIM Rel10 (TDD + 5MHz/10MHz/20MHz + TM 1,2,5,6), and check the operation -01 02 00 Run OAISIM Rel10 TDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) and search for errors, segmentation fault or exit -01 02 01 Run OAISIM Rel10 TDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode and search for errors -01 02 02 Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2,5,6) and search for errors, segmentation fault or exit -01 02 03 Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode and search for errors -01 02 04 Run OAI Rel10 TDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) without PHY_ABSTRACTION mode, ping from from eNB to UE, + +01 02 Run OAISIM-NOS1 Rel10 (TDD + 5MHz/10MHz/20MHz + TM 1,2,5,6), and check the operation +01 02 00 Run OAISIM-NOS1 Rel10 TDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) and search for errors, segmentation fault or exit +01 02 01 Run OAISIM-NOS1 Rel10 TDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode and search for errors +01 02 02 Run OAISIM-NOS1 Rel10 TDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2,5,6) and search for errors, segmentation fault or exit +01 02 03 Run OAISIM-NOS1 Rel10 TDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode and search for errors +01 02 04 Run OAISIM-NOS1 Rel10 TDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) without PHY_ABSTRACTION mode, ping from from eNB to UE, and for check for no packet losses -01 02 05 Run OAI Rel10 TDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode, send ping from from eNB to UE, +01 02 05 Run OAISIM-NOS1 Rel10 TDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check for no packet losses -01 03 Run OAISIM Rel10 (FDD + 5MHz/10MHz/20MHz + TM 1,2,5,6), and check the operation -01 03 00 Run OAISIM Rel10 FDD, 1 eNB + 1 UE 1 eNB (5 MHz/10MHz/20MHz), (TM 1,2,5,6) and search for errors, segmentation fault or exit -01 03 01 Run OAISIM Rel10 FDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode and search for errors -01 03 02 Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2,5,6) and search for errors, segmentation fault or exit -01 03 03 Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode and search for errors -01 03 04 Run OAI Rel10 FDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) without PHY_ABSTRACTION mode, ping from from eNB to UE, +01 03 Run OAISIM-NOS1 Rel10 (FDD + 5MHz/10MHz/20MHz + TM 1,2,5,6), and check the operation +01 03 00 Run OAISIM-NOS1 Rel10 FDD, 1 eNB + 1 UE 1 eNB (5 MHz/10MHz/20MHz), (TM 1,2,5,6) and search for errors, segmentation fault or exit +01 03 01 Run OAISIM-NOS1 Rel10 FDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode and search for errors +01 03 02 Run OAISIM-NOS1 Rel10 FDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2,5,6) and search for errors, segmentation fault or exit +01 03 03 Run OAISIM-NOS1 Rel10 FDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode and search for errors +01 03 04 Run OAISIM-NOS1 Rel10 FDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) without PHY_ABSTRACTION mode, ping from from eNB to UE, and for check for no packet losses -01 03 05 Run OAI Rel10 FDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode, send ping from from eNB to UE, +01 03 05 Run OAISIM-NOS1 Rel10 FDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check for no packet losses -01 04 MBSFN Tests +01 04 OAISIM-NOS1 MBSFN Tests 01 04 00 Check if eMBMS procedure is not finished completely, make sure that the SIB13/MCCH have been correclty received by UEs 01 04 01 Check if eMBMS multicast/broadcast data is received, make sure that the SIB13/MCCH/MTCH have been correclty received by UEs 01 04 02 Check for eMBMS multicast/broadcast data received in fdd mode, make sure that the SIB13/MCCH/MTCH have been correctly diff --git a/cmake_targets/autotests/run_exec_autotests.bash b/cmake_targets/autotests/run_exec_autotests.bash index 7bde09d863..84d1801adf 100755 --- a/cmake_targets/autotests/run_exec_autotests.bash +++ b/cmake_targets/autotests/run_exec_autotests.bash @@ -43,8 +43,8 @@ function test_compile() { xUnit_start test_case_name=$1 - log_dir=$tdir/log - log_file=$tdir/log/test.$1.txt + log_dir=$tdir/log/$test_case_name + log_file=$log_dir/test.$1.log.txt compile_prog=$2 compile_args=$3 pre_exec_file=$4 @@ -57,11 +57,18 @@ function test_compile() { class=${12} compile_prog_out=${13} tags=${14} - build_dir=$tdir/$1/build - exec_file=$build_dir/$6 + xmlfile_testcase=$log_dir/test.$1.xml + #build_dir=$tdir/$1/build + #exec_file=$build_dir/$6 + #compile_prog_out=`eval "echo $compile_prog_out"` + #echo "compile_prog_out = $compile_prog_out" + read -a compile_prog_out_array <<< "$compile_prog_out" + #Temporary log file where execution log is stored. temp_exec_log=$log_dir/temp_log.txt + rm -fr $log_dir + mkdir -p $log_dir @@ -77,44 +84,77 @@ function test_compile() { compile_prog_array=() read -a compile_prog_array <<<"$compile_prog" - tags_array=() - read -a tags_array <<<"$tags" + #tags_array=() + #read -a tags_array <<<"$tags" - pre_compile_prog_array=() - readarray -t pre_compile_prog_array <<< "$pre_compile_prog" + #pre_compile_prog_array=() + #readarray -t pre_compile_prog_array <<< "$pre_compile_prog" + result=1 + result_string="" for (( run_index=1; run_index <= $nruns; run_index++ )) do - tags_array_index=0 - for pre_compile_prog_array_index in "${pre_compile_prog_array[@]}" - do + + #tags_array_index=0 + #for pre_compile_prog_array_index in "${pre_compile_prog_array[@]}" + #do - for compile_prog_array_index in "${compile_prog_array[@]}" - do - echo "Compiling test case $test_case_name.$compile_prog_array_index.${tags_array[$tags_array_index]} Log file = $log_file" - echo "" >> $log_file - rm -fr $build_dir - mkdir -p $build_dir - cd $build_dir + #for compile_prog_array_index in "${compile_prog_array[@]}" + #do + echo "Compiling test case $test_case_name.${tags} Log file = $log_file" + date=`date` + echo ", Date = $date " >> $log_file + #rm -fr $build_dir + #mkdir -p $build_dir + cd $log_dir { - eval $pre_compile_prog_array_index - cmake .. - #rm -fv $exec_file - make -j`nproc` $compile_prog_array_index $compile_args + compile_log_dir=`eval echo \"$OPENAIR_DIR/cmake_targets/log/\"` + echo "Removing compilation log files in $compile_log_dir" + rm -frv $compile_log_dir + echo "Executing $compile_prog $compile_prog_args ...." + eval $compile_prog $compile_prog_args + echo "Copying compilation log files to test case log directory: $log_dir" + cp -fvr $OPENAIR_DIR/cmake_targets/log/ $log_dir/compile_log }>> $log_file 2>&1 echo "" >> $log_file 2>&1 if [ "$class" == "compilation" ]; then - if [ -s "$compile_prog_array_index" ] || [ -s "$compile_prog_out" ] ; then - echo_success "$test_case_name.$compile_prog_array_index.${tags_array[$tags_array_index]} compiled" - xUnit_success "compilation" "$test_case_name.$compile_prog_array_index.${tags_array[$tags_array_index]}" "PASS" "$run_index" - else - echo_error "$test_case_name.$exec_prog.${tags_array[$tags_array_index]} compilation failed" - xUnit_fail "compilation" "$test_case_name.$compile_prog_array_index.${tags_array[$tags_array_index]}" "FAIL" "$run_index" + for compile_prog_out_index in ${compile_prog_out_array[@]} + do + if [ -s "$compile_prog_out_index" ]; then + let "result = result&1" + + echo_success "$test_case_name.${tags} RUN = $run_index $compile_prog_out_index = compiled" + + else + let "result = result&0" + + echo_error "$test_case_name.${tags} RUN = $run_index $compile_prog_out_index failed" + + fi + done #end of for loop compile_prog_out_index + if [ "$result" == "1" ]; then + result_string=$result_string" Run_$run_index = PASS" + else + result_string=$result_string" Run_$run_index = FAIL" fi + fi - let "tags_array_index++" - done # End of for loop compile_prog_array - done # End of for loop (pre_compile_prog_array_index) + #let "tags_array_index++" + #done # End of for loop compile_prog_array + #done # End of for loop (pre_compile_prog_array_index) done #End of for loop (run_index) + + + #If for for some reason upper for loop does not execute, we fail the test case completely + if [ "$result_string" == "" ]; then + result=0 + fi + if [ "$result" == "1" ]; then + echo_success "$test_case_name.${tags} PASSED" + xUnit_success "compilation" "$test_case_name.$tags" "PASS" "$result_string" "$xmlfile_testcase" + else + echo_success "$test_case_name.${tags} FAILED" + xUnit_success "compilation" "$test_case_name.$tags" "FAIL" "$result_string" "$xmlfile_testcase" + fi } @@ -138,8 +178,8 @@ function test_compile() { function test_compile_and_run() { xUnit_start test_case_name=$1 - log_dir=$tdir/log - log_file=$tdir/log/test.$1.txt + log_dir=$tdir/log/$test_case_name + log_file=$log_dir/test.$1.log.txt compile_prog=$2 compile_args=$3 pre_exec_file=$4 @@ -155,11 +195,18 @@ function test_compile_and_run() { tags=${14} mypassword=${15} build_dir=$tdir/$1/build - exec_file=$build_dir/$6 - + #exec_file=$build_dir/$6 + xmlfile_testcase=$log_dir/test.$1.xml #Temporary log file where execution log is stored. temp_exec_log=$log_dir/temp_log.txt + rm -fr $log_dir + mkdir -p $log_dir + + rm -fr $OPENAIR_DIR/cmake_targets/log + + echo "" > $temp_exec_log + echo "" > $log_file #echo "log_dir = $log_dir" #echo "log_file = $log_file" #echo "exec_file = $exec_file" @@ -169,64 +216,67 @@ function test_compile_and_run() { #echo "nruns = $nruns" echo "class = $class" - compile_prog_array=() - read -a compile_prog_array <<<"$compile_prog" + #compile_prog_array=() + #read -a compile_prog_array <<<"$compile_prog" tags_array=() read -a tags_array <<<"$tags" main_exec_args_array=() readarray -t main_exec_args_array <<< "$exec_args" + + + #for search_expr in "${compile_prog_array[@]}" + #do + echo "Compiling test case $test_case_name Log file = $log_file" + echo "" >> $log_file - for search_expr in "${compile_prog_array[@]}" - do - echo "Compiling test case $test_case_name.$search_expr Log file = $log_file" - echo "" >> $log_file + #rm -fr $build_dir + #mkdir -p $build_dir - rm -fr $build_dir - mkdir -p $build_dir - - cd $build_dir + cd $log_dir { - eval $pre_compile_prog - cmake .. + #eval $pre_compile_prog + #cmake .. #rm -fv $exec_file - make -j`nproc` $search_expr $compile_args + echo "Executing $compile_prog $compile_args" >> $log_file + eval "$compile_prog $compile_args" + echo "Copying compilation log files to test case log directory: $log_dir" + cp -fvr $OPENAIR_DIR/cmake_targets/log/ $log_dir/compile_log }>> $log_file 2>&1 echo "" >> $log_file 2>&1 - if [ "$class" == "compilation" ]; then - if [ -s "$search_expr" ] ; then - echo_success "$test_case_name $search_expr compiled" - xUnit_success "compilation" "$test_name.$search_expr" "PASS" 1 - else - echo_error "$test_case_name $exec_prog compilation failed" - xUnit_fail "compilation" "$test_name.$search_expr" "FAIL" 1 - fi - fi - done + #done #process the test case if it is that of execution if [ "$class" == "execution" ]; then tags_array_index=0 for main_exec_args_array_index in "${main_exec_args_array[@]}" do - for (( run_index=1; run_index <= $nruns; run_index++ )) + global_result=1 + result_string="" + + for (( run_index=1; run_index <= $nruns; run_index++ )) do - echo "Executing test case $test_case_name.$main_exec.${tags_array[$tags_array_index]}, Run Index = $run_index, Log file = $log_file" + temp_exec_log=$log_dir/test.$test_case_name.${tags_array[$tags_array_index]}.run_$run_index + echo "" > $temp_exec_log - echo "-----------------------------------------------------------------------------" >> $log_file 2>&1 - echo "" >> $log_file 2>&1 - + echo "Executing test case $test_case_name.${tags_array[$tags_array_index]}, Run Index = $run_index, Execution Log file = $temp_exec_log" + + echo "-----------------------------------------------------------------------------" >> $temp_exec_log 2>&1 + echo "" >> $temp_exec_log 2>&1 + if [ -n "$pre_exec_file" ]; then - { eval " echo '$mypassword' |sudo -S -E $pre_exec_file $pre_exec_args " ; }>> $log_file 2>&1 + { echo " Executing $pre_exec_file $pre_exec_args " + eval " echo '$mypassword' |sudo -S -E $pre_exec_file $pre_exec_args " ; }>> $temp_exec_log 2>&1 fi - echo "Executing $exec_file $main_exec_args_array_index " - echo "Executing $exec_file $main_exec_args_array_index " >> $log_file - { eval "$exec_file $main_exec_args_array_index" ;} > $temp_exec_log 2>&1 + echo "Executing $main_exec $main_exec_args_array_index " + echo "Executing $main_exec $main_exec_args_array_index " >> $temp_exec_log + { eval "$main_exec $main_exec_args_array_index" ;} >> $temp_exec_log 2>&1 + echo "" >> $temp_exec_log 2>&1 cat $temp_exec_log >> $log_file 2>&1 - echo "" >> $log_file 2>&1 + result=1 for search_expr in "${search_expr_array[@]}" @@ -243,39 +293,50 @@ function test_compile_and_run() { let "result = result & 1" fi done + + #If we find a negative search result then there is crash of program and test case is failed even if above condition is true + search_result=`grep -iE "$search_expr_negative" $temp_exec_log` + if [ -n "$search_result" ]; then + result=0 + fi + let "global_result = global_result & result" #echo "result = $result" - - test_case_result="" + + #this is a result of this run + #test_case_result="" if [ "$result" -eq "0" ]; then - test_case_result="FAIL" + result_string=$result_string" Run_$run_index =FAIL" + echo_error "$test_case_name.${tags_array[$tags_array_index]} RUN = $run_index Result = FAIL" fi if [ "$result" -eq "1" ]; then - test_case_result="PASS" + result_string=$result_string" Run_$run_index =PASS" + echo_success "$test_case_name.${tags_array[$tags_array_index]} RUN = $run_index Result = PASS" fi - #If we find a negative search result then there is crash of program and test case is failed even if above condition is true - - search_result=`grep -iE "$search_expr_negative" $temp_exec_log` - if [ -n "$search_result" ]; then - test_case_result="FAIL" - fi - - if [ "$test_case_result" == "FAIL" ]; then - echo_error "execution $test_case_name.$compile_prog.${tags_array[$tags_array_index]} FAIL $run_index" - xUnit_fail "execution" "$test_case_name.$compile_prog.${tags_array[$tags_array_index]}" "FAIL" "$run_index" - fi - - if [ "$test_case_result" == "PASS" ]; then - echo_success "execution $test_case_name.$compile_prog.${tags_array[$tags_array_index]} PASS $run_index" - xUnit_success "execution" "$test_case_name.$compile_prog.${tags_array[$tags_array_index]}" "PASS" "$run_index" - fi - - done + done #End of for loop (nindex) + + echo " Result String = $result_string" + + if [ "$result_string" == "" ]; then + echo_error "execution $test_case_name.$compile_prog.${tags_array[$tags_array_index]} Run_Result = \"$result_string\" Result = FAIL" + xUnit_success "execution" "$test_case_name.${tags_array[$tags_array_index]}" "FAIL" "$result_string" "$xmlfile_testcase" + else + if [ "$global_result" == "0" ]; then + echo_error "execution $test_case_name.${tags_array[$tags_array_index]} Run_Result = \"$result_string\" Result = FAIL" + xUnit_fail "execution" "$test_case_name.${tags_array[$tags_array_index]}" "FAIL" "$result_string" "$xmlfile_testcase" + fi + + if [ "$global_result" == "1" ]; then + echo_success "execution $test_case_name.${tags_array[$tags_array_index]} Run_Result = \"$result_string\" Result = PASS " + xUnit_success "execution" "$test_case_name.${tags_array[$tags_array_index]}" "PASS" "$result_string" "$xmlfile_testcase" + fi + fi + let "tags_array_index++" - done # End of for loop (nindex) + done fi rm -fr $build_dir } @@ -376,6 +437,8 @@ for search_expr in "${test_case_array[@]}" echo "Description = $desc" echo "pre_compile_prog = $pre_compile_prog" echo "compile_prog = $compile_prog" + echo "compile_prog_args = $compile_prog_args" + echo "compile_prog_out = $compile_prog_out" echo "pre_exec = $pre_exec" echo "pre_exec_args = $pre_exec_args" echo "main_exec = $main_exec" @@ -385,6 +448,7 @@ for search_expr in "${test_case_array[@]}" echo "nruns = $nruns" #eval $pre_exec + compile_prog_out=`eval echo \"$compile_prog_out\"` search_array_true=() diff --git a/cmake_targets/autotests/test_case_list.xml b/cmake_targets/autotests/test_case_list.xml index f402b38f26..650b62ab12 100644 --- a/cmake_targets/autotests/test_case_list.xml +++ b/cmake_targets/autotests/test_case_list.xml @@ -13,138 +13,300 @@ compilation Build oaisim.Rel8 - oaisim_nos1 - + $OPENAIR_DIR/cmake_targets/build_oai + --oaisim -r Rel8 + $OPENAIR_DIR/cmake_targets/oaisim_build_oai/build/oaisim + $OPENAIR_DIR/cmake_targets/at_commands/build/at_nas_ue + $OPENAIR_DIR/cmake_targets/nas_sim_tools/build/usim + $OPENAIR_DIR/cmake_targets/nas_sim_tools/build/nvram - 1 + oaisim.Rel8 + 2 - + compilation - Build oaisim.Rel8 + network device driver(nasmesh_fix) + Build oaisim.Rel10 - oaisim_nos1 - + $OPENAIR_DIR/cmake_targets/build_oai + --oaisim -r Rel10 + $OPENAIR_DIR/cmake_targets/oaisim_build_oai/build/oaisim + $OPENAIR_DIR/cmake_targets/at_commands/build/at_nas_ue + $OPENAIR_DIR/cmake_targets/nas_sim_tools/build/usim + $OPENAIR_DIR/cmake_targets/nas_sim_tools/build/nvram - + + oaisim.Rel10 1 compilation - Build lte-softmodem EXMIMO.Rel8 + EXMIMO.Rel10 + USRP.Rel10 - cp -vf ../CMakeLists.txt.Rel8 ../CMakeLists.txt - cp -vf ../CMakeLists.txt.Rel10 ../CMakeLists.txt - cp -vf ../CMakeLists.txt.USRP ../CMakeLists.txt - lte-softmodem - + Build oaisim_noS1.Rel10 + + $OPENAIR_DIR/cmake_targets/build_oai + --oaisim -r Rel10 --noS1 + $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1 + $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/rb_tool + $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/CMakeFiles/nasmesh/nasmesh.ko + $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/CMakeFiles/oai_nw_drv/oai_nw_drv.ko + oaisim_noS1.Rel10 1 - + - + compilation - Build phy unitary simulators + secuirity unitary tests + Build lte_softmodem_noS1.USRP.Rel10 - dlsim ulsim pucchsim prachsim pdcchsim pbchsim mbmssim test_secu_knas_encrypt_eia1 test_secu_kenb test_aes128_ctr_encrypt test_aes128_ctr_decrypt test_secu_knas_encrypt_eea2 test_secu_knas test_secu_knas_encrypt_eea1 test_kdf test_aes128_cmac_encrypt test_secu_knas_encrypt_eia2 - + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP -r Rel10 --noS1 + $OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 + $OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/rb_tool + $OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/CMakeFiles/nasmesh/nasmesh.ko + lte-softmodem_noS1.USRP.Rel10 1 - + - + compilation - Build oaisim.Rel8 + ITTI + Build lte_softmodem_noS1.EXMIMO.Rel10 - oaisim - + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w EXMIMO -r Rel10 --noS1 + $OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 + $OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/rb_tool + $OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/CMakeFiles/nasmesh/nasmesh.ko + $OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/CMakeFiles/openair_rf/openair_rf.ko + $OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/updatefw + $OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/oarf_config_exmimo.oct + lte-softmodem_noS1.EXMIMO.Rel10 1 - + - + compilation - Build oaisim_nos1.Rel10 + Build lte_softmodem_noS1.BLADERF.Rel10 - oaisim_nos1 - + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w BLADERF -r Rel10 --noS1 + $OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 + $OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/rb_tool + $OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/CMakeFiles/nasmesh/nasmesh.ko + lte-softmodem_noS1.EXMIMO.Rel10 1 - - - + + + compilation - Build oaisim.Rel10 + ITTI + Build lte_softmodem_noS1.ETHERNET.Rel10 - oaisim - + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w ETHERNET -r Rel10 --noS1 + $OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 + $OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/rb_tool + $OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/CMakeFiles/nasmesh/nasmesh.ko + lte-softmodem_noS1.ETHERNET.Rel10 1 - - + + + + compilation - Build Nasmesh + Build lte_softmodem.USRP.Rel10 - nasmesh - - CMakeFiles/nasmesh/nasmesh.ko + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP -r Rel10 + $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem + lte-softmodem.USRP.Rel10 1 - + + + compilation + Build lte_softmodem.EXMIMO.Rel10 + + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w EXMIMO -r Rel10 + $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem + $OPENAIR_DIR/cmake_targets/lte_build_oai/build/CMakeFiles/openair_rf/openair_rf.ko + $OPENAIR_DIR/cmake_targets/lte_build_oai/build/updatefw + $OPENAIR_DIR/cmake_targets/lte_build_oai/build/oarf_config_exmimo.oct + + + + + + + lte-softmodemEXMIMO.Rel10 + 1 + + + + compilation + Build lte_softmodem.BLADERF.Rel10 + + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w BLADERF -r Rel10 + $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem + + + + + + + lte-softmodem.EXMIMO.Rel10 + 1 + + + + compilation + Build lte_softmodem.ETHERNET.Rel10 + + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w ETHERNET -r Rel10 + $OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem + + + + + + + lte-softmodem.ETHERNET.Rel10 + 1 + compilation - Build RRH Gateway + Build phy unitary simulators + secuirity unitary tests - rrh_gw - + $OPENAIR_DIR/cmake_targets/build_oai + --phy_simulators --core_simulators + $OPENAIR_DIR/cmake_targets/lte-simulators/build/dlsim + $OPENAIR_DIR/cmake_targets/lte-simulators/build/ulsim + $OPENAIR_DIR/cmake_targets/lte-simulators/build/pucchsim + $OPENAIR_DIR/cmake_targets/lte-simulators/build/prachsim + $OPENAIR_DIR/cmake_targets/lte-simulators/build/pdcchsim + $OPENAIR_DIR/cmake_targets/lte-simulators/build/pbchsim + $OPENAIR_DIR/cmake_targets/lte-simulators/build/mbmssim + $OPENAIR_DIR/cmake_targets/lte-simulators/build/test_secu_knas_encrypt_eia1 + $OPENAIR_DIR/cmake_targets/lte-simulators/build/test_secu_kenb + $OPENAIR_DIR/cmake_targets/lte-simulators/build/test_aes128_ctr_encrypt + $OPENAIR_DIR/cmake_targets/lte-simulators/build/test_aes128_ctr_decrypt + $OPENAIR_DIR/cmake_targets/lte-simulators/build/test_secu_knas_encrypt_eea2 + $OPENAIR_DIR/cmake_targets/lte-simulators/build/test_secu_knas + $OPENAIR_DIR/cmake_targets/lte-simulators/build/test_secu_knas_encrypt_eea1 + $OPENAIR_DIR/cmake_targets/lte-simulators/build/test_kdf + $OPENAIR_DIR/cmake_targets/lte-simulators/build/test_aes128_cmac_encrypt + $OPENAIR_DIR/cmake_targets/lte-simulators/build/test_secu_knas_encrypt_eia2 + unitary-sim.Rel10 + 1 + + + + + compilation + Build RRH Gateway + + $OPENAIR_DIR/cmake_targets/build_oai + --RRH -w USRP + $OPENAIR_DIR/cmake_targets/rrh_gw/build/rrh_gw + + + + + + + RRH.USRP.Rel10 + 1 + + + + compilation + Build RRH Gateway + + $OPENAIR_DIR/cmake_targets/build_oai + --RRH -w EXMIMO + $OPENAIR_DIR/cmake_targets/rrh_gw/build/rrh_gw + $OPENAIR_DIR/cmake_targets/rrh_gw/build/rrh_gw + $OPENAIR_DIR/cmake_targets/rrh_gw/build/CMakeFiles/openair_rf/openair_rf.ko + $OPENAIR_DIR/cmake_targets/rrh_gw/build/updatefw + $OPENAIR_DIR/cmake_targets/rrh_gw/build/oarf_config_exmimo.oct + + + + + + + RRH.EXMIMO.Rel10 + 1 + + + + compilation + Build RRH Gateway + + $OPENAIR_DIR/cmake_targets/build_oai + --RRH -w BLADERF + $OPENAIR_DIR/cmake_targets/rrh_gw/build/rrh_gw + + + + + + + RRH.USRP.Rel10 1 @@ -153,11 +315,11 @@ execution Run OAISIM Rel10 TDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) and search for errors, segmentation fault or exit - oaisim_nos1 - + $OPENAIR_DIR/cmake_targets/build_oai + --oaisim --noS1 $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 - oaisim_nos1 + $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1 -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 1 -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 1 -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 1 @@ -170,7 +332,7 @@ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 6 -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 6 -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 6 - tdd.5MHz.TM1 tdd.10MHz.TM1 tdd.20MHz.TM1 tdd.5MHz.TM2 tdd.10MHz.TM2 tdd.20MHz.TM2 tdd.5MHz.TM5 tdd.10MHz.TM5 tdd.20MHz.TM5 tdd.5MHz.TM6 tdd.10MHz.TM6 tdd.20MHz.TM6 + oaisim_noS1.tdd.5MHz.TM1 oaisim_noS1.tdd.10MHz.TM1 oaisim_noS1.tdd.20MHz.TM1 oaisim_noS1.tdd.5MHz.TM2 oaisim_noS1.tdd.10MHz.TM2 oaisim_noS1.tdd.20MHz.TM2 oaisim_noS1.tdd.5MHz.TM5 oaisim_noS1.tdd.10MHz.TM5 oaisim_noS1.tdd.20MHz.TM5 oaisim_noS1.tdd.5MHz.TM6 oaisim_noS1.tdd.10MHz.TM6 oaisim_noS1.tdd.20MHz.TM6 "Received RRCConnectionReconfigurationComplete from UE 0" segmentation fault|assertion|exiting|fatal 3 @@ -180,11 +342,11 @@ execution Run OAISIM Rel10 TDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit - oaisim_nos1 - + $OPENAIR_DIR/cmake_targets/build_oai + --oaisim --noS1 $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 - oaisim_nos1 + $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1 -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 1 -a -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 1 -a -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 1 -a @@ -197,7 +359,7 @@ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 6 -a -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 6 -a -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 6 -a - tdd.5MHz.TM1 tdd.10MHz.TM1 tdd.20MHz.TM1 tdd.5MHz.TM2 tdd.10MHz.TM2 tdd.20MHz.TM2 tdd.5MHz.TM5 tdd.10MHz.TM5 tdd.20MHz.TM5 tdd.5MHz.TM6 tdd.10MHz.TM6 tdd.20MHz.TM6 + oaisim_noS1.tdd.5MHz.TM1 oaisim_noS1.tdd.10MHz.TM1 oaisim_noS1.tdd.20MHz.TM1 oaisim_noS1.tdd.5MHz.TM2 oaisim_noS1.tdd.10MHz.TM2 oaisim_noS1.tdd.20MHz.TM2 oaisim_noS1.tdd.5MHz.TM5 oaisim_noS1.tdd.10MHz.TM5 oaisim_noS1.tdd.20MHz.TM5 oaisim_noS1.tdd.5MHz.TM6 oaisim_noS1.tdd.10MHz.TM6 oaisim_noS1.tdd.20MHz.TM6 "Received RRCConnectionReconfigurationComplete from UE 0" segmentation fault|assertion|exiting|fatal 3 @@ -207,11 +369,11 @@ execution Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2,5,6) and search for errors, segmentation fault or exit - oaisim_nos1 - + $OPENAIR_DIR/cmake_targets/build_oai + --oaisim --noS1 $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 - oaisim_nos1 + $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1 -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 1 -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 1 -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 1 @@ -224,7 +386,7 @@ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 6 -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 6 -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 6 - tdd.5MHz.TM1 tdd.10MHz.TM1 tdd.20MHz.TM1 tdd.5MHz.TM2 tdd.10MHz.TM2 tdd.20MHz.TM2 tdd.5MHz.TM5 tdd.10MHz.TM5 tdd.20MHz.TM5 tdd.5MHz.TM6 tdd.10MHz.TM6 tdd.20MHz.TM6 + oaisim_noS1.tdd.5MHz.TM1 oaisim_noS1.tdd.10MHz.TM1 oaisim_noS1.tdd.20MHz.TM1 oaisim_noS1.tdd.5MHz.TM2 oaisim_noS1.tdd.10MHz.TM2 oaisim_noS1.tdd.20MHz.TM2 oaisim_noS1.tdd.5MHz.TM5 oaisim_noS1.tdd.10MHz.TM5 oaisim_noS1.tdd.20MHz.TM5 oaisim_noS1.tdd.5MHz.TM6 oaisim_noS1.tdd.10MHz.TM6 oaisim_noS1.tdd.20MHz.TM6 "Received RRCConnectionReconfigurationComplete from UE 0" "Received RRCConnectionReconfigurationComplete from UE 1" "Received RRCConnectionReconfigurationComplete from UE 2" segmentation fault|assertion|exiting|fatal 3 @@ -234,11 +396,11 @@ execution Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit - oaisim_nos1 - + $OPENAIR_DIR/cmake_targets/build_oai + --oaisim --noS1 $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 - oaisim_nos1 + $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1 -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 1 -a -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 1 -a -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 1 -a @@ -251,7 +413,7 @@ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 6 -a -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 6 -a -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 6 -a - tdd.5MHz.TM1 tdd.10MHz.TM1 tdd.20MHz.TM1 tdd.5MHz.TM2 tdd.10MHz.TM2 tdd.20MHz.TM2 tdd.5MHz.TM5 tdd.10MHz.TM5 tdd.20MHz.TM5 tdd.5MHz.TM6 tdd.10MHz.TM6 tdd.20MHz.TM6 + oaisim_noS1.tdd.5MHz.TM1 oaisim_noS1.tdd.10MHz.TM1 oaisim_noS1.tdd.20MHz.TM1 oaisim_noS1.tdd.5MHz.TM2 oaisim_noS1.tdd.10MHz.TM2 tdd.20MHz.TM2 oaisim_noS1.tdd.5MHz.TM5 oaisim_noS1.tdd.10MHz.TM5 oaisim_noS1.tdd.20MHz.TM5 oaisim_noS1.tdd.5MHz.TM6 oaisim_noS1.tdd.10MHz.TM6 oaisim_noS1.tdd.20MHz.TM6 "Received RRCConnectionReconfigurationComplete from UE 0" "Received RRCConnectionReconfigurationComplete from UE 1" "Received RRCConnectionReconfigurationComplete from UE 2" segmentation fault|assertion|exiting|fatal 3 @@ -261,11 +423,11 @@ execution Run OAI Rel10 TDD, 1 eNB + 1 UE (5 MHz) without abstraction mode, send ping from from eNB to UE, and check that there is no packet losses - oaisim_nos1 - + $OPENAIR_DIR/cmake_targets/build_oai + --oaisim --noS1 $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 - oaisim_nos1 + $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1 -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 1 -c26 -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 1 -c26 -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 1 -c26 @@ -278,7 +440,7 @@ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 6 -c26 -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 6 -c26 -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 6 -c26 - tdd.5MHz.TM1 tdd.10MHz.TM1 tdd.20MHz.TM1 tdd.5MHz.TM2 tdd.10MHz.TM2 tdd.20MHz.TM2 tdd.5MHz.TM5 tdd.10MHz.TM5 tdd.20MHz.TM5 tdd.5MHz.TM6 tdd.10MHz.TM6 tdd.20MHz.TM6 + oaisim_noS1.tdd.5MHz.TM1 oaisim_noS1.tdd.10MHz.TM1 oaisim_noS1.tdd.20MHz.TM1 oaisim_noS1.tdd.5MHz.TM2 oaisim_noS1.tdd.10MHz.TM2 oaisim_noS1.tdd.20MHz.TM2 oaisim_noS1.tdd.5MHz.TM5 oaisim_noS1.tdd.10MHz.TM5 oaisim_noS1.tdd.20MHz.TM5 oaisim_noS1.tdd.5MHz.TM6 oaisim_noS1.tdd.10MHz.TM6 oaisim_noS1.tdd.20MHz.TM6 "DL and UL loss rate below 10" segmentation fault|assertion|exiting|fatal 3 @@ -288,11 +450,11 @@ execution Run OAI Rel10 TDD, 1 eNB + 1 UE (5 MHz) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check that there is no packet losses - oaisim_nos1 - + $OPENAIR_DIR/cmake_targets/build_oai + --oaisim --noS1 $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 - oaisim_nos1 + $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1 -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 1 -c26 -a -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 1 -c26 -a -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 1 -c26 -a @@ -305,7 +467,7 @@ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 6 -c26 -a -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 6 -c26 -a -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 6 -c26 -a - tdd.5MHz.TM1 tdd.10MHz.TM1 tdd.20MHz.TM1 tdd.5MHz.TM2 tdd.10MHz.TM2 tdd.20MHz.TM2 tdd.5MHz.TM5 tdd.10MHz.TM5 tdd.20MHz.TM5 tdd.5MHz.TM6 tdd.10MHz.TM6 tdd.20MHz.TM6 + oaisim_noS1.tdd.5MHz.TM1 oaisim_noS1.tdd.10MHz.TM1 oaisim_noS1.tdd.20MHz.TM1 oaisim_noS1.tdd.5MHz.TM2 oaisim_noS1.tdd.10MHz.TM2 oaisim_noS1.tdd.20MHz.TM2 oaisim_noS1.tdd.5MHz.TM5 oaisim_noS1.tdd.10MHz.TM5 tdd.20MHz.TM5 oaisim_noS1.tdd.5MHz.TM6 oaisim_noS1.tdd.10MHz.TM6 oaisim_noS1.tdd.20MHz.TM6 "DL and UL loss rate below 10" segmentation fault|assertion|exiting|fatal 3 @@ -315,11 +477,11 @@ execution Run OAISIM Rel10 FDD, 1 eNB + 1 UE 1 eNB (5 MHz/10MHz/20MHz), (TM 1,2,5,6) and search for errors, segmentation fault or exit - oaisim_nos1 - + $OPENAIR_DIR/cmake_targets/build_oai + --oaisim --noS1 $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 - oaisim_nos1 + $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1 -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 1 -F -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 1 -F -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 1 -F @@ -332,7 +494,7 @@ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 6 -F -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 6 -F -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 6 -F - FDD.5MHz.TM1 FDD.10MHz.TM1 FDD.20MHz.TM1 FDD.5MHz.TM2 FDD.10MHz.TM2 FDD.20MHz.TM2 FDD.5MHz.TM5 FDD.10MHz.TM5 FDD.20MHz.TM5 FDD.5MHz.TM6 FDD.10MHz.TM6 FDD.20MHz.TM6 + oaisim_noS1.FDD.5MHz.TM1 oaisim_noS1.FDD.10MHz.TM1 oaisim_noS1.FDD.20MHz.TM1 oaisim_noS1.FDD.5MHz.TM2 oaisim_noS1.FDD.10MHz.TM2 oaisim_noS1.FDD.20MHz.TM2 oaisim_noS1.FDD.5MHz.TM5 oaisim_noS1.FDD.10MHz.TM5 oaisim_noS1.FDD.20MHz.TM5 oaisim_noS1.FDD.5MHz.TM6 oaisim_noS1.FDD.10MHz.TM6 oaisim_noS1.FDD.20MHz.TM6 "Received RRCConnectionReconfigurationComplete from UE 0" segmentation fault|assertion|exiting|fatal 3 @@ -342,11 +504,11 @@ execution Run OAISIM Rel10 FDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode and search for errors - oaisim_nos1 - + $OPENAIR_DIR/cmake_targets/build_oai + --oaisim --noS1 $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 - oaisim_nos1 + $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1 -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 1 -F -a -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 1 -F -a -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 1 -F -a @@ -359,7 +521,7 @@ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 6 -F -a -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 6 -F -a -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 6 -F -a - FDD.5MHz.TM1 FDD.10MHz.TM1 FDD.20MHz.TM1 FDD.5MHz.TM2 FDD.10MHz.TM2 FDD.20MHz.TM2 FDD.5MHz.TM5 FDD.10MHz.TM5 FDD.20MHz.TM5 FDD.5MHz.TM6 FDD.10MHz.TM6 FDD.20MHz.TM6 + oaisim_noS1.FDD.5MHz.TM1 oaisim_noS1.FDD.10MHz.TM1 oaisim_noS1.FDD.20MHz.TM1 oaisim_noS1.FDD.5MHz.TM2 oaisim_noS1.FDD.10MHz.TM2 oaisim_noS1.FDD.20MHz.TM2 oaisim_noS1.FDD.5MHz.TM5 oaisim_noS1.FDD.10MHz.TM5 oaisim_noS1.FDD.20MHz.TM5 oaisim_noS1.FDD.5MHz.TM6 oaisim_noS1.FDD.10MHz.TM6 oaisim_noS1.FDD.20MHz.TM6 "Received RRCConnectionReconfigurationComplete from UE 0" segmentation fault|assertion|exiting|fatal 3 @@ -369,11 +531,11 @@ execution Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2,5,6) and search for errors, segmentation fault or exit - oaisim_nos1 - + $OPENAIR_DIR/cmake_targets/build_oai + --oaisim --noS1 $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 - oaisim_nos1 + $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1 -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 1 -F -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 1 -F -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 1 -F @@ -386,7 +548,7 @@ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 6 -F -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 6 -F -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 6 -F - FDD.5MHz.TM1 FDD.10MHz.TM1 FDD.20MHz.TM1 FDD.5MHz.TM2 FDD.10MHz.TM2 FDD.20MHz.TM2 FDD.5MHz.TM5 FDD.10MHz.TM5 FDD.20MHz.TM5 FDD.5MHz.TM6 FDD.10MHz.TM6 FDD.20MHz.TM6 + oaisim_noS1.FDD.5MHz.TM1 oaisim_noS1.FDD.10MHz.TM1 oaisim_noS1.FDD.20MHz.TM1 oaisim_noS1.FDD.5MHz.TM2 oaisim_noS1.FDD.10MHz.TM2 oaisim_noS1.FDD.20MHz.TM2 oaisim_noS1.FDD.5MHz.TM5 oaisim_noS1.FDD.10MHz.TM5 oaisim_noS1.FDD.20MHz.TM5 oaisim_noS1.FDD.5MHz.TM6 oaisim_noS1.FDD.10MHz.TM6 oaisim_noS1.FDD.20MHz.TM6 "Received RRCConnectionReconfigurationComplete from UE 0" "Received RRCConnectionReconfigurationComplete from UE 1" "Received RRCConnectionReconfigurationComplete from UE 2" segmentation fault|assertion|exiting|fatal 3 @@ -396,11 +558,11 @@ execution Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode and search for errors - oaisim_nos1 - + $OPENAIR_DIR/cmake_targets/build_oai + --oaisim --noS1 $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 - oaisim_nos1 + $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1 -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 1 -F -a -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 1 -F -a -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 1 -F -a @@ -413,7 +575,7 @@ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 6 -F -a -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 6 -F -a -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 6 -F -a - FDD.5MHz.TM1 FDD.10MHz.TM1 FDD.20MHz.TM1 FDD.5MHz.TM2 FDD.10MHz.TM2 FDD.20MHz.TM2 FDD.5MHz.TM5 FDD.10MHz.TM5 FDD.20MHz.TM5 FDD.5MHz.TM6 FDD.10MHz.TM6 FDD.20MHz.TM6 + oaisim_noS1.FDD.5MHz.TM1 oaisim_noS1.FDD.10MHz.TM1 oaisim_noS1.FDD.20MHz.TM1 oaisim_noS1.FDD.5MHz.TM2 oaisim_noS1.FDD.10MHz.TM2 oaisim_noS1.FDD.20MHz.TM2 oaisim_noS1.FDD.5MHz.TM5 oaisim_noS1.FDD.10MHz.TM5 oaisim_noS1.FDD.20MHz.TM5 oaisim_noS1.FDD.5MHz.TM6 oaisim_noS1.FDD.10MHz.TM6 oaisim_noS1.FDD.20MHz.TM6 "Received RRCConnectionReconfigurationComplete from UE 0" "Received RRCConnectionReconfigurationComplete from UE 1" "Received RRCConnectionReconfigurationComplete from UE 2" segmentation fault|assertion|exiting|fatal 3 @@ -423,11 +585,11 @@ execution Run OAI Rel10 FDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) without PHY_ABSTRACTION mode, ping from from eNB to UE, and for check for no packet losses - oaisim_nos1 - + $OPENAIR_DIR/cmake_targets/build_oai + --oaisim --noS1 $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 - oaisim_nos1 + $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1 -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 1 -F -c26 -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 1 -F -c26 -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 1 -F -c26 @@ -440,7 +602,7 @@ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 6 -F -c26 -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 6 -F -c26 -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 6 -F -c26 - FDD.5MHz.TM1 FDD.10MHz.TM1 FDD.20MHz.TM1 FDD.5MHz.TM2 FDD.10MHz.TM2 FDD.20MHz.TM2 FDD.5MHz.TM5 FDD.10MHz.TM5 FDD.20MHz.TM5 FDD.5MHz.TM6 FDD.10MHz.TM6 FDD.20MHz.TM6 + oaisim_noS1.FDD.5MHz.TM1 oaisim_noS1.FDD.10MHz.TM1 oaisim_noS1.FDD.20MHz.TM1 oaisim_noS1.FDD.5MHz.TM2 oaisim_noS1.FDD.10MHz.TM2 oaisim_noS1.FDD.20MHz.TM2 oaisim_noS1.FDD.5MHz.TM5 oaisim_noS1.FDD.10MHz.TM5 oaisim_noS1.FDD.20MHz.TM5 oaisim_noS1.FDD.5MHz.TM6 oaisim_noS1.FDD.10MHz.TM6 oaisim_noS1.FDD.20MHz.TM6 "DL and UL loss rate below 10" segmentation fault|assertion|exiting|fatal 3 @@ -450,11 +612,11 @@ execution Run OAI Rel10 FDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check for no packet losses - oaisim_nos1 - + $OPENAIR_DIR/cmake_targets/build_oai + --oaisim --noS1 $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 - oaisim_nos1 + $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1 -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 1 -F -c26 -a -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 1 -F -c26 -a -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 1 -F -c26 -a @@ -467,7 +629,7 @@ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 6 -F -c26 -a -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 6 -F -c26 -a -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 6 -F -c26 -a - FDD.5MHz.TM1 FDD.10MHz.TM1 FDD.20MHz.TM1 FDD.5MHz.TM2 FDD.10MHz.TM2 FDD.20MHz.TM2 FDD.5MHz.TM5 FDD.10MHz.TM5 FDD.20MHz.TM5 FDD.5MHz.TM6 FDD.10MHz.TM6 FDD.20MHz.TM6 + oaisim_noS1.FDD.5MHz.TM1 oaisim_noS1.FDD.10MHz.TM1 oaisim_noS1.FDD.20MHz.TM1 oaisim_noS1.FDD.5MHz.TM2 oaisim_noS1.FDD.10MHz.TM2 oaisim_noS1.FDD.20MHz.TM2 oaisim_noS1.FDD.5MHz.TM5 oaisim_noS1.FDD.10MHz.TM5 oaisim_noS1.FDD.20MHz.TM5 oaisim_noS1.FDD.5MHz.TM6 oaisim_noS1.FDD.10MHz.TM6 oaisim_noS1.FDD.20MHz.TM6 "DL and UL loss rate below 10" segmentation fault|assertion|exiting|fatal 3 @@ -477,14 +639,15 @@ execution Check if eMBMS procedure is not finished completely, make sure that the SIB13/MCCH have been correclty received by UEs - oaisim_nos1 - + $OPENAIR_DIR/cmake_targets/build_oai + --oaisim --noS1 $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 - oaisim_nos1 + $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1 -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -l7 -x 1 -Q3 -n 100 -b1 -u1 "Found MBSFNAreaConfiguration from eNB 0" segmentation fault|assertion|exiting|fatal + oaisim_noS1.eMBMS 3 @@ -492,14 +655,15 @@ execution Check if eMBMS multicast/broadcast data is received, make sure that the SIB13/MCCH/MTCH have been correclty received by UEs - oaisim_nos1 - + $OPENAIR_DIR/cmake_targets/build_oai + --oaisim --noS1 $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 - oaisim_nos1 + $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1 -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -l7 -x 1 -T mscbr -Q3 -n 100 -b1 -u1 "Received a multicast packet" segmentation fault|assertion|exiting|fatal + oaisim_noS1.eMBMS 3 @@ -507,14 +671,15 @@ execution Check for eMBMS multicast/broadcast data received in fdd mode, make sure that the SIB13/MCCH/MTCH have been correclty received by UEs - oaisim_nos1 - + $OPENAIR_DIR/cmake_targets/build_oai + --oaisim --noS1 $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 - oaisim_nos1 + $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1 -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -l7 -F -T mscbr -x 1 -Q3 -n 100 -b1 -u1 "Received a multicast packet" segmentation fault|assertion|exiting|fatal + oaisim_noS1.eMBMS 3 @@ -522,14 +687,15 @@ execution Check for eMBMS multicast/broadcast DF relaying working properly in fdd mode, make sure that the SIB13/MCCH/MTCH have been correclty received by UEs - oaisim_nos1 - + $OPENAIR_DIR/cmake_targets/build_oai + --oaisim --noS1 $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 - oaisim_nos1 + $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1 -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -l7 -c43 -F -T mbvbr -Q4 -j1 -n120 "MTCH for sync area 1" segmentation fault|assertion|exiting|fatal + oaisim_noS1.eMBMS 3 @@ -537,14 +703,15 @@ execution test_aes128_cmac_encrypt - test_aes128_cmac_encrypt - + $OPENAIR_DIR/cmake_targets/build_oai + --core_simulators - test_aes128_cmac_encrypt + $OPENAIR_DIR/cmake_targets/lte-simulators/build/test_aes128_cmac_encrypt --verbose "finished with 0 errors" segmentation fault|assertion|exiting|fatal + test_aes128_cmac_encrypt 3 @@ -552,14 +719,15 @@ execution test_aes128_ctr_decrypt - test_aes128_ctr_decrypt - + $OPENAIR_DIR/cmake_targets/build_oai + --core_simulators - test_aes128_ctr_decrypt + $OPENAIR_DIR/cmake_targets/lte-simulators/build/test_aes128_ctr_decrypt --verbose "finished with 0 errors" segmentation fault|assertion|exiting|fatal + test_aes128_ctr_decrypt 3 @@ -567,14 +735,15 @@ execution test_aes128_ctr_encrypt - test_aes128_ctr_encrypt - + $OPENAIR_DIR/cmake_targets/build_oai + --core_simulators - test_aes128_ctr_encrypt + $OPENAIR_DIR/cmake_targets/lte-simulators/build/test_aes128_ctr_encrypt --verbose "finished with 0 errors" segmentation fault|assertion|exiting|fatal + test_aes128_ctr_encrypt 3 @@ -582,14 +751,15 @@ execution test_secu_kenb - test_secu_kenb - + $OPENAIR_DIR/cmake_targets/build_oai + --core_simulators - test_secu_kenb + $OPENAIR_DIR/cmake_targets/lte-simulators/build/test_secu_kenb --verbose "finished with 0 errors" segmentation fault|assertion|exiting|fatal + test_secu_kenb 3 @@ -597,14 +767,15 @@ execution test_secu_knas - test_secu_knas - + $OPENAIR_DIR/cmake_targets/build_oai + --core_simulators - test_secu_knas + $OPENAIR_DIR/cmake_targets/lte-simulators/build/test_secu_knas --verbose "finished with 0 errors" segmentation fault|assertion|exiting|fatal + test_secu_knas 3 @@ -612,14 +783,15 @@ execution test_secu_knas_encrypt_eea1 - test_secu_knas_encrypt_eea1 - + $OPENAIR_DIR/cmake_targets/build_oai + --core_simulators - test_secu_knas_encrypt_eea1 + $OPENAIR_DIR/cmake_targets/lte-simulators/build/test_secu_knas_encrypt_eea1 --verbose "finished with 0 errors" segmentation fault|assertion|exiting|fatal + test_secu_knas_encrypt_eea1 3 @@ -627,14 +799,15 @@ execution test_secu_knas_encrypt_eea2 - test_secu_knas_encrypt_eea2 - + $OPENAIR_DIR/cmake_targets/build_oai + --core_simulators - test_secu_knas_encrypt_eea2 + $OPENAIR_DIR/cmake_targets/lte-simulators/build/test_secu_knas_encrypt_eea2 --verbose "finished with 0 errors" segmentation fault|assertion|exiting|fatal + test_secu_knas_encrypt_eea2 3 @@ -642,14 +815,15 @@ execution test_secu_knas_encrypt_eia1 - test_secu_knas_encrypt_eia1 - + $OPENAIR_DIR/cmake_targets/build_oai + --core_simulators - test_secu_knas_encrypt_eia1 + $OPENAIR_DIR/cmake_targets/lte-simulators/build/test_secu_knas_encrypt_eia1 --verbose "finished with 0 errors" segmentation fault|assertion|exiting|fatal + test_secu_knas_encrypt_eia1 3 @@ -657,14 +831,15 @@ execution test_secu_knas_encrypt_eia2 - test_secu_knas_encrypt_eia2 - + $OPENAIR_DIR/cmake_targets/build_oai + --core_simulators - test_secu_knas_encrypt_eia2 + $OPENAIR_DIR/cmake_targets/lte-simulators/build/test_secu_knas_encrypt_eia1 --verbose "finished with 0 errors" segmentation fault|assertion|exiting|fatal + test_secu_knas_encrypt_eia2 3 @@ -672,14 +847,15 @@ execution test_kdf - test_kdf - + $OPENAIR_DIR/cmake_targets/build_oai + --core_simulators - test_kdf + $OPENAIR_DIR/cmake_targets/lte-simulators/build/test_kdf --verbose "finished with 0 errors" segmentation fault|assertion|exiting|fatal + test_kdf 3 @@ -698,11 +874,11 @@ (TM2 Test 1b 20 MHz, R.11-2 FDD (MCS 13), EVA5, 5.9 dB (70%)), - dlsim - + $OPENAIR_DIR/cmake_targets/build_oai + --phy_simulators - dlsim + $OPENAIR_DIR/cmake_targets/lte-simulators/build/dlsim -m5 -gF -s-1 -w1.0 -f.2 -n500 -B50 -c2 -z2 -O70 -L -m4 -gF -s0 -w1.0 -f.2 -n500 -B6 -c4 -z2 -O70 -m15 -gF -s6.7 -w1.0 -f.2 -n500 -B50 -c2 -z2 -O70 -L @@ -714,7 +890,7 @@ -m26 -gF -s17.7 -w1.0 -f.2 -n500 -B50 -c2 -z2 -O70 -L -m14 -gF -s6.8 -w1.0 -f.2 -n500 -B50 -c2 -x2 -y2 -z2 -O70 -L -m13 -gF -s5.9 -w1.0 -f.2 -n500 -B25 -c3 -x2 -y2 -z2 -O70 -L - test1 test5 test6 test6b test7 test7b test10 test10b test11 TM2_test1 TM2_test1b + dlsim.test1 dlsim.test5 dlsim.test6 dlsim.test6b dlsim.test7 dlsim.test7b dlsim.test10 dlsim.test10b dlsim.test11 dlsim.TM2_test1 dlsim.TM2_test1b "passed" segmentation fault|assertion|exiting|fatal 1 @@ -729,18 +905,18 @@ (Test 5, 20 MHz, FDD (MCS 5), AWGN, 6dB (70%)), (Test 6, 20 MHz, FDD (MCS 16), AWGN, 12 dB (70%)) - ulsim - + $OPENAIR_DIR/cmake_targets/build_oai + --phy_simulators - ulsim + $OPENAIR_DIR/cmake_targets/lte-simulators/build/ulsim -B25 -m5 -y1 -gN -x1 -s6 -w1.0 -e.1 -P -n500 -O70 -L -B25 -m16 -y1 -gN -x1 -s12 -w1.0 -e.1 -P -n500 -O70 -L -B50 -m5 -y1 -gN -x1 -s6 -w1.0 -e.1 -P -n500 -O70 -L -B50 -m16 -y1 -gN -x1 -s12 -w1.0 -e.1 -P -n500 -O70 -L -B100 -m5 -y1 -gN -x1 -s6 -w1.0 -e.1 -P -n500 -O70 -L -B100 -m16 -y1 -gN -x1 -s12 -w1.0 -e.1 -P -n500 -O70 -L - test1 test2 test3 test4 test5 test6 + ulsim.test1 ulsim.test2 ulsim.test3 ulsim.test4 ulsim.test5 ulsim.test6 "passed" segmentation fault|assertion|exiting|fatal 1 diff --git a/cmake_targets/tools/test_helper b/cmake_targets/tools/test_helper index 35752e9d20..e60fb8c720 100644 --- a/cmake_targets/tools/test_helper +++ b/cmake_targets/tools/test_helper @@ -24,15 +24,18 @@ xUnit_start() { # \param $1 classname # \param $2 testcase name # \param $3 testcase result -# \param $4 run index +# \param $4 run result +# \param $5 XML file local to test case for storing its own results xUnit_fail() { class=$1 test_case=$2 result=$3 - run_index=$4 + run_result=$4 + xmlfile_testcase=$5 currtime=$(date +%s.%N) time=$(echo "$currtime - $XUNIT_START" | bc -l) - xml="" + xml="" + echo -e $xml > $xmlfile_testcase XUNIT_TESTCASES_XML="$XUNIT_TESTCASES_XML \n$xml" XUNIT_FAILED=$((XUNIT_FAILED+1)) } @@ -43,15 +46,18 @@ xUnit_fail() { # \param $1 classname # \param $2 testcase name # \param $3 testcase result -# \param $4 run index +# \param $4 run result +# \param $5 XML file local to test case for storing its own results xUnit_success() { class=$1 test_case=$2 result=$3 - run_index=$4 + run_result=$4 + xmlfile_testcase=$5 currtime=$(date +%s.%N) time=$(echo "$currtime - $XUNIT_START" | bc -l) - xml="" + xml="" + echo -e $xml > $xmlfile_testcase XUNIT_TESTCASES_XML="$XUNIT_TESTCASES_XML \n$xml" XUNIT_SUCCESS=$((XUNIT_SUCCESS+1)) } From 2a9a915961488bbcf5ede0daa879b2e96d7bd076 Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Mon, 30 Nov 2015 18:55:16 +0100 Subject: [PATCH 56/85] updates for parallel execution to test case framework --- cmake_targets/autotests/openair.py | 8 +- .../autotests/run_exec_lte-softmodem_tests.py | 106 +++++++++++++----- cmake_targets/autotests/test_case_list.xml | 7 +- 3 files changed, 85 insertions(+), 36 deletions(-) diff --git a/cmake_targets/autotests/openair.py b/cmake_targets/autotests/openair.py index 1606bcaf6a..598edaf169 100644 --- a/cmake_targets/autotests/openair.py +++ b/cmake_targets/autotests/openair.py @@ -164,15 +164,15 @@ class openair(core): def kill(self, user, pw): try: if user == 'root' : - os.system('pkill oaisim') + os.system('pkill oaisim oaisim_nos1') os.system('pkill cc1') time.sleep(1) - os.system('pkill oaisim') + os.system('pkill oaisim oaisim_nos1') else : - os.system('echo '+pw+' | sudo -S pkill oaisim') + os.system('echo '+pw+' | sudo -S pkill oaisim oaisim_nos1') os.system('echo '+pw+' | sudo -S pkill cc1') time.sleep(1) - os.system('echo '+pw+' | sudo -S pkill oaisim') + os.system('echo '+pw+' | sudo -S pkill oaisim oaisim_nos1') except Error, val: print "Error:", val diff --git a/cmake_targets/autotests/run_exec_lte-softmodem_tests.py b/cmake_targets/autotests/run_exec_lte-softmodem_tests.py index f66f8206c0..a81fb49d03 100644 --- a/cmake_targets/autotests/run_exec_lte-softmodem_tests.py +++ b/cmake_targets/autotests/run_exec_lte-softmodem_tests.py @@ -211,47 +211,98 @@ class oaiThread (threading.Thread): print "result = " + result print "Exiting " + self.name -#This class runs test cases with class oaisim_noS1, compilatation -class testCaseThread_generic(threading.thread): - def __init__(self, threadID, name, oai, machine, logdirOAI5GRepo, oai5GRepoDirRemote, testcasename,oldprogramList, CleanupAluLteBox, username, password, timeout): +#This class runs test cases with class execution, compilatation +class testCaseThread_generic (threading.Thread): + def __init__(self, threadID, name, machine, logdirOAI5GRepo, testcasename,oldprogramList, CleanupAluLteBox, password, timeout): threading.Thread.__init__(self) self.threaID = threadID self.name = name - self.oai = oai self.testcasename = testcasename self.timeout = timeout self.machine = machine - self.oai5GRepoDirRemote = oai5GRepoDirRemote self.logdirOAI5GRepo = logdirOAI5GRepo - self.username = username - self.password = password + self.oldprogramList = oldprogramList + self.CleanupAluLteBox = CleanupAluLteBox + self.password=password def run(self): try: mypassword='' #addsudo = 'echo \'' + mypassword + '\' | sudo -S -E ' addpass = 'echo \'' + mypassword + '\' | ' user = getpass.getuser() - print "Starting test case : " + self.testcasename + " On machine " + machineName + print "Starting test case : " + self.testcasename + " On machine " + self.machine + oai = openair('localdomain',machine) + oai.connect(user, self.password) cleanOldPrograms(oai, oldprogramList, CleanUpAluLteBox) - logdir_local_testcase = logdirOAI5GRepo+'/cmake_targets/autotests/log/'+ testcasename - logdir_local_base = logdirOAI5GRepo+'/cmake_targets/autotests/log/' - logdir_remote_testcase = oai5GRepoDirRemote + '/cmake_targets/autotests/log' + self.testcasename + logdir_local = os.environ.get('OPENAIR_DIR') + logdir_local_testcase = logdir_local +'/cmake_targets/autotests/log/'+ self.testcasename + logdir_local_base = logdir_local +'/cmake_targets/autotests/log/' + logdir_remote_testcase = self.logdirOAI5GRepo + '/cmake_targets/autotests/log' + self.testcasename + logdir_remote = self.logdirOAI5GRepo + '/cmake_targets/autotests/log' + logfile_task_testcasename = logdir_local_testcase + '/test_task' + '_' + testcasename + '_.log' + logfile_task_testcasename_out = logdir_remote + '/test_task_out' + '_' + str(run) + '_.log' os.removedirs(logdir_testcase) os.mkdir (logdir_testcase) - cmd = "( cd " + self.oai5GRepoDirRemote + " \n " + cmd = "( cd " + self.logdirOAI5GRepo + " \n " cmd = cmd + "source oaienv \n" - cmd = cmd + "python run_test_case_generic -d " + self.oai5GRepoDirRemote + " -g " + "\"" + self.testcasename + "\"" - cmd = cmd + " ) " - - #Now we copy all the remote - ssh = SSHSession(self.machine , username=username, key_file=None, passsword=password) + cmd = cmd + "$OPENAIR_DIR/cmake_targets/autotests/run_exec_autotets.bash --run-group \"" + "self.testcasename +\" " + cmd = cmd + " ) >& " + logfile_task_testcasename_out + " ; " + " mv " + logfile_task_testcasename_out + logdir_remote_testcase + + write_file(logfile_task_testcasename, cmd, mode="w") + #Now we copy all the remote files + ssh = SSHSession(self.machine , username=user, key_file=None, password=password) ssh.get_all(logdir_remote_testcase , logdir_local_base) - print "Finishing test case : " + self.testcasename + " On machine " + machineName + print "Finishing test case : " + self.testcasename + " On machine " + machineName + cleanOldPrograms(oai, oldprogramList, CleanUpAluLteBox) + oai.kill() + oai.disconnect() + except Exception, e: + error='' + error = error + ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e) + error = error + '\n threadID = ' + self.threaID + '\n testcasename = ' + self.testcasename + '\n timeout = ' + self.timeout + '\n machine = ' + self.machine + '\n logdirOAI5GRepo = ' + self.logdirOAI5GRepo + '\n' + error = error + traceback.format_exc() def addsudo (cmd, password=""): cmd = 'echo \'' + password + '\' | sudo -S -E bash -c \' ' + cmd + '\' ' return cmd + +def handle_testcaseclass_generic (testcasename, threadListGeneric, oldprogramList, logdirOAI5GRepo, MachineList, password, CleanupAluLteBox,timeout): + try: + mypassword=password + MachineListFree=[] + while MachineListFree.__len__() == 0 : + MachineListBusy=[] + #first we need to find the list of free machines that we could run our test case + if threadListGeneric.__len__() ==0 : + #This means no thread is started yet + MachineListFree = MachineList + else : + for param in threadListGeneric : + thread_id = param["thread_id"] + machine = param["Machine"] + testcasename = param["testcasename"] + thread_id.join(1) + if thread_id.isAlive == True: + MachineListBusy.append(machine) + else : + threadListGeneric.remove(param) + #Now we check if there is at least one free machine + MachineListFree = MachineList + for machine in MachineListBusy: + MachineListFree.remove(machine) + machine = MachineListFree[0] + thread = testCaseThread_generic(1,"Generic Thread", machine, logdirOAI5GRepo, testcasename, oldprogramList, CleanupAluLteBox, password, timeout) + param={"thread_id":thread, "Machine":machine, "testcasename":testcasename} + thread.start() + threadListGeneric.append(param) + return threadListGeneric + except Exception, e: + error='' + error = error + ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e) + error = error + '\n testcasename = ' + testcasename + '\n logdirOAI5GRepo = ' + logdirOAI5GRepo + '\n MachineList = ' + MachineList + '\n timeout = ' + timeout + '\n' + error = error + traceback.format_exc() + #Function to handle test case class : lte-softmodem def handle_testcaseclass_softmodem (testcase, oldprogramList, oai_list, logdirOAI5GRepo , logdirOpenaircnRepo, MachineList, password, CleanUpAluLteBox): @@ -603,6 +654,7 @@ def search_test_case_group(testcasename, testcasegroup): #thread1 = myThread(1, "Thread-1", 1) +threadListGeneric=[] debug = 0 pw ='' i = 0 @@ -714,6 +766,7 @@ GitOAI5GRepoBranch = xmlRoot.findtext('GitOAI5GRepoBranch',default='') GitOpenaircnRepoBranch = xmlRoot.findtext('GitOpenair-cnRepoBranch',default='') CleanUpOldProgs = xmlRoot.findtext('CleanUpOldProgs',default='') CleanUpAluLteBox = xmlRoot.findtext('CleanUpAluLteBox',default='') +Timeout_execution = int (xmlRoot.findtext('Timeout_execution')) print "MachineList = " + MachineList print "GitOpenair-cnRepo = " + GitOpenaircnRepo @@ -725,7 +778,7 @@ cmd = "git show-ref --heads -s "+ GitOAI5GRepoBranch GitOAI5GHeadVersion = subprocess.check_output ([cmd], shell=True) print "GitOAI5GHeadVersion = " + GitOAI5GHeadVersion print "CleanUpOldProgs = " + CleanUpOldProgs - +print "Timeout_execution = " + str(Timeout_execution) MachineList = MachineList.split() @@ -897,6 +950,7 @@ for index in oai_list: sys.exit(1) + #Now we wait for all the threads to complete index = 0 for t in threads_init_setup: @@ -922,7 +976,7 @@ for t in threads_init_setup: #Now we process all the test cases - +threadListGeneric=[] testcaseList=xmlRoot.findall('testCase') #print testcaseList for testcase in testcaseList: @@ -939,19 +993,17 @@ for testcase in testcaseList: index_EPCMachine = MachineList.index(EPCMachine) print "testcasename = " + testcasename + " class = " + testcaseclass handle_testcaseclass_softmodem (testcase, CleanUpOldProgs, oai_list, logdirOAI5GRepo, logdirOpenaircnRepo, MachineList, pw, CleanUpAluLteBox ) - - elif testcaseclass == 'compilation' : - continue - handle_testcaseclass_compilation (testcase) - elif testcaseclass == 'execution' : - continue - handle_testcaseclass_oaisim (testcase) + elif (testcaseclass == 'compilation'): + handle_testcaseclass_generic (testcasename, threadListGeneric, oldprogramList, logdirOAI5GRepo, MachineList, pw, CleanupAluLteBox,Timeout_execution) + elif (testcaseclass == 'execution'): + handle_testcaseclass_generic (testcasename, threadListGeneric, oldprogramList, logdirOAI5GRepo, MachineList, pw, CleanupAluLteBox,Timeout_execution) else : print "Unknown test case class: " + testcaseclass sys.exit() print "Exiting the test cases execution now..." + sys.exit() diff --git a/cmake_targets/autotests/test_case_list.xml b/cmake_targets/autotests/test_case_list.xml index 650b62ab12..2cd1438a8a 100644 --- a/cmake_targets/autotests/test_case_list.xml +++ b/cmake_targets/autotests/test_case_list.xml @@ -8,7 +8,7 @@ feature-17-test_framework oaisim* oaisim_nos1* lte-softmodem* lte-softmodem-nos1* mme_gw* run_epc* run_hss* iperf* hss hss_sim configure_cots_bandrich_ue* wvdial* /opt/ltebox/tools/stop_ltebox - + 1800 compilation Build oaisim.Rel8 @@ -26,7 +26,7 @@ oaisim.Rel8 - 2 + 1 @@ -928,7 +928,6 @@ calisson stevens amerique - oaisim* oaisim_nos1* lte-softmodem* lte-softmodem-nos1* mme_gw* run_epc* run_hss* iperf* ltebox* 60 /tmp targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code \"1\" @@ -1000,7 +999,6 @@ calisson stevens nano - oaisim* oaisim_nos1* lte-softmodem* lte-softmodem-nos1* mme_gw* run_epc* run_hss* iperf* ltebox* 60 /tmp targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code \"1\" @@ -1079,7 +1077,6 @@ calisson stevens calisson - oaisim* oaisim_nos1* lte-softmodem* lte-softmodem-nos1* mme_gw* run_epc* run_hss* iperf* ltebox* 60 /tmp targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code \"1\" From 25b3eeb440dbbc14e88e656434acfce324b8e473 Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Tue, 1 Dec 2015 19:09:37 +0100 Subject: [PATCH 57/85] updated sudo detection --- .../autotests/run_exec_autotests.bash | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/cmake_targets/autotests/run_exec_autotests.bash b/cmake_targets/autotests/run_exec_autotests.bash index 84d1801adf..7955defa63 100755 --- a/cmake_targets/autotests/run_exec_autotests.bash +++ b/cmake_targets/autotests/run_exec_autotests.bash @@ -354,16 +354,20 @@ Options This help -g | --run-group Run test cases in a group. For example, ./run_exec_autotests "0101* 010102" +-p + Use password for logging ' } function main () { RUN_GROUP=0 +SET_PASSWORD=0 +passwd="" test_case_group="" test_case_group_array=() test_case_array=() echo_info "Note that the user should be sudoer for executing certain commands, for example loading kernel modules" -read -s -p "Enter Password: " mypassword + until [ -z "$1" ] do @@ -373,6 +377,10 @@ until [ -z "$1" ] test_case_group=$2 echo_info "Will execute test cases only in group $test_case_group" shift 2;; + -p) + SET_PASSWORD=1 + passwd=$2 + shift 2;; -h | --help) print_help exit 1;; @@ -383,6 +391,20 @@ until [ -z "$1" ] esac done +if [ "$SET_PASSWORD" == "1" ]; then + mypassword=$passwd +else + read -s -p "Enter Password: " mypassword +fi + +tmpfile=`mktemp` +echo \'$passwd\' | sudo -S -v >& $tmpfile +tstsudo=`cat $tmpfile` +if [ "$tstsudo" != "" ]; then + echo "User might not have sudo privileges. Exiting" +fi +echo "tstsudo = $tstsudo" +rm -fr $tmpfile xml_conf="$OPENAIR_DIR/cmake_targets/autotests/test_case_list.xml" From 1396d22d42fc81054982058f7df5659b5ffe40eb Mon Sep 17 00:00:00 2001 From: Raymond Knopp Date: Tue, 1 Dec 2015 10:44:52 -0800 Subject: [PATCH 58/85] minor changes in openair_device structure (naming of fields), calibration information for X310 timing, some initializations from lte-softmodem.c for USRP moved to usrp_lib.cpp --- targets/ARCH/COMMON/common_lib.h | 6 +- targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp | 61 +++++++++++++++++- targets/RT/USER/lte-softmodem.c | 66 ++++---------------- 3 files changed, 76 insertions(+), 57 deletions(-) diff --git a/targets/ARCH/COMMON/common_lib.h b/targets/ARCH/COMMON/common_lib.h index 4f7e801448..c36995683d 100644 --- a/targets/ARCH/COMMON/common_lib.h +++ b/targets/ARCH/COMMON/common_lib.h @@ -84,8 +84,10 @@ typedef struct { double sample_rate; //! number of samples per RX/TX packet (USRP + Ethernet) int samples_per_packet; - // delay in sending samples (write) due to hardware access, softmodem processing and fronthaul delay if exist - int tx_delay; + //! delay in sending samples (write) due to hardware access, softmodem processing and fronthaul delay if exist + int tx_scheduling_advance; + //! offset in samples between TX and RX paths + int tx_sample_advance; //! adjust the position of the samples after delay when sending unsigned int tx_forward_nsamps; //! number of RX channels (=RX antennas) diff --git a/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp b/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp index 2371b04770..d6b588aad1 100644 --- a/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp +++ b/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp @@ -404,6 +404,35 @@ int openair0_dev_init_usrp(openair0_device* device, openair0_config_t *openair0_ //s->usrp->set_master_clock_rate(usrp_master_clock); openair0_cfg[0].rx_gain_calib_table = calib_table_x310; + + switch (openair0_cfg[0].sample_rate) { + case 30.72e6: + // from usrp_time_offset + openair0_cfg[0].samples_per_packet = 2048; + openair0_cfg[0].tx_sample_advance = 15; + openair0_cfg[0].tx_scheduling_advance = 8*openair0_cfg[card].samples_per_packet; + break; + case 15.36e6: + openair0_cfg[0].samples_per_packet = 2048; + openair0_cfg[0].tx_sample_advance = 45; + openair0_cfg[0].tx_scheduling_advance = 5*openair0_cfg[card].samples_per_packet; + break; + case 7.6e6: + openair0_cfg[0].samples_per_packet = 1024; + openair0_cfg[0].tx_sample_advance = 50; + openair0_cfg[0].tx_scheduling_advance = 5*openair0_cfg[card].samples_per_packet; + break; + case 1.92e6: + openair0_cfg[0].samples_per_packet = 256; + openair0_cfg[0].tx_sample_advance = 50; + openair0_cfg[0].tx_scheduling_advance = 8*openair0_cfg[card].samples_per_packet; + break; + default: + printf("Error: unknown sampling rate %f\n",openair0_cfg[0].sample_rate); + exit(-1); + break; + } + } else { printf("Found USRP B200"); s->usrp = uhd::usrp::multi_usrp::make(args); @@ -415,12 +444,42 @@ int openair0_dev_init_usrp(openair0_device* device, openair0_config_t *openair0_ // // lock mboard clocks // s->usrp->set_clock_source("internal"); // set master clock rate and sample rate for tx & rx for streaming + + device->type = USRP_B200_IF s->usrp->set_master_clock_rate(30.72e6); openair0_cfg[0].rx_gain_calib_table = calib_table_b210; + + switch (openair0_cfg[0].sample_rate) { + case 30.72e6: + // from usrp_time_offset + openair0_cfg[0].samples_per_packet = 2048; + openair0_cfg[0].tx_sample_advance = 175; + openair0_cfg[0].tx_scheduling_advance = 8*openair0_cfg[card].samples_per_packet; + break; + case 15.36e6: + openair0_cfg[0].samples_per_packet = 2048; + openair0_cfg[0].tx_sample_advance = 95; + openair0_cfg[0].tx_scheduling_advance = 5*openair0_cfg[card].samples_per_packet; + break; + case 7.6e6: + openair0_cfg[0].samples_per_packet = 1024; + openair0_cfg[0].tx_sample_advance = 70; + openair0_cfg[0].tx_scheduling_advance = 5*openair0_cfg[card].samples_per_packet; + break; + case 1.92e6: + openair0_cfg[0].samples_per_packet = 256; + openair0_cfg[0].tx_sample_advance = 40; + openair0_cfg[0].tx_scheduling_advance = 8*openair0_cfg[card].samples_per_packet; + break; + default: + printf("Error: unknown sampling rate %f\n",openair0_cfg[0].sample_rate); + exit(-1); + break; + } } - + for(i=0;iusrp->get_rx_num_channels();i++) { if (i 0..9 unsigned int rx_pos = 0; - unsigned int tx_pos = 0; //spp*tx_delay; + unsigned int tx_pos = 0; #endif int CC_id=0; struct timespec trx_time0, trx_time1, trx_time2; @@ -1634,8 +1630,9 @@ static void* eNB_thread( void* arg ) int frame = 0; #ifndef EXMIMO - spp = openair0_cfg[0].samples_per_packet; - tx_pos=spp*openair0_cfg[0].tx_delay; + spp = openair0_cfg[0].samples_per_packet; + tx_pos = openair0_cfg[0].tx_scheduling_advance; + tx_advance = openair0_cfg[0].tx_sample_advance; #endif while (!oai_exit) { @@ -1796,11 +1793,10 @@ static void* eNB_thread( void* arg ) // prepare tx buffer pointers for (i=0; ilte_frame_parms.nb_antennas_tx; i++) txp[i] = (void*)&txdata[i][tx_pos]; - //printf("tx_pos %d ts %d, ts_offset %d txp[i] %p, ap %d\n", tx_pos, timestamp, (timestamp+(tx_delay*spp)-tx_forward_nsamps),txp[i], i); // if symb_written < spp ==> error if (frame > 50) { openair0.trx_write_func(&openair0, - (timestamp+(openair0_cfg[card].tx_delay*spp)-openair0_cfg[card].tx_forward_nsamps), + (timestamp+(openair0_cfg[card].tx_scheduling_advance)-openair0_cfg[card].tx_sample_advance), txp, spp, PHY_vars_eNB_g[0][0]->lte_frame_parms.nb_antennas_tx, @@ -1808,7 +1804,7 @@ static void* eNB_thread( void* arg ) } VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME( VCD_SIGNAL_DUMPER_VARIABLES_TRX_TS, timestamp&0xffffffff ); - VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME( VCD_SIGNAL_DUMPER_VARIABLES_TRX_TST, (timestamp+(openair0_cfg[card].tx_delay*spp)-openair0_cfg[card].tx_forward_nsamps)&0xffffffff ); + VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME( VCD_SIGNAL_DUMPER_VARIABLES_TRX_TST, (timestamp+(openair0_cfg[card].tx_scheduling_advance)-openair0_cfg[card].tx_sample_advance)&0xffffffff ); stop_meas( &softmodem_stats_mt ); clock_gettime( CLOCK_MONOTONIC, &trx_time2 ); @@ -2847,66 +2843,33 @@ int main( int argc, char **argv ) for (card=0; cardN_RB_DL == 100) { - sample_rate = 30.72e6; - bw = 10.0e6; -#ifndef EXMIMO openair0_cfg[card].sample_rate=30.72e6; - openair0_cfg[card].samples_per_packet = 2048; openair0_cfg[card].samples_per_frame = 307200; openair0_cfg[card].tx_bw = 10e6; openair0_cfg[card].rx_bw = 10e6; - // from usrp_time_offset - openair0_cfg[card].tx_forward_nsamps = 175; - openair0_cfg[card].tx_delay = 8; -#endif } else if(frame_parms[0]->N_RB_DL == 50) { - sample_rate = 15.36e6; - bw = 5.0e6; -#ifndef EXMIMO openair0_cfg[card].sample_rate=15.36e6; - openair0_cfg[card].samples_per_packet = 2048; openair0_cfg[card].samples_per_frame = 153600; openair0_cfg[card].tx_bw = 5e6; openair0_cfg[card].rx_bw = 5e6; - openair0_cfg[card].tx_forward_nsamps = 95; - openair0_cfg[card].tx_delay = 5; -#endif } else if (frame_parms[0]->N_RB_DL == 25) { - sample_rate = 7.68e6; - bw = 2.5e6; -#ifndef EXMIMO openair0_cfg[card].sample_rate=7.68e6; openair0_cfg[card].samples_per_frame = 76800; openair0_cfg[card].tx_bw = 2.5e6; openair0_cfg[card].rx_bw = 2.5e6; - openair0_cfg[card].samples_per_packet = 1024; -#ifdef OAI_USRP - openair0_cfg[card].tx_forward_nsamps = 70; - openair0_cfg[card].tx_delay = 5; -#elif OAI_BLADERF - openair0_cfg[card].tx_forward_nsamps = 0; - openair0_cfg[card].tx_delay = 8; -#endif -#endif + } else if (frame_parms[0]->N_RB_DL == 6) { - sample_rate = 1.92e6; - bw = 0.96e6; -#ifndef EXMIMO openair0_cfg[card].sample_rate=1.92e6; - openair0_cfg[card].samples_per_packet = 256; openair0_cfg[card].samples_per_frame = 19200; openair0_cfg[card].tx_bw = 1.5e6; openair0_cfg[card].rx_bw = 1.5e6; - openair0_cfg[card].tx_forward_nsamps = 40; - openair0_cfg[card].tx_delay = 8; -#endif } #ifdef ETHERNET //calib needed - openair0_cfg[card].tx_delay = 0; - openair0_cfg[card].tx_forward_nsamps = 0; + openair0_cfg[card].tx_scheduling_advance = 0; + openair0_cfg[card].tx_sample_advance = 0; if (frame_parms[0]->N_RB_DL == 6) openair0_cfg[card].samples_per_packet = 256; @@ -2917,9 +2880,6 @@ int main( int argc, char **argv ) #endif -#ifndef EXMIMO - openair0_cfg[card].samples_per_packet = openair0_cfg[0].samples_per_packet; -#endif printf("HW: Configuring card %d, nb_antennas_tx/rx %d/%d\n",card, ((UE_flag==0) ? PHY_vars_eNB_g[0][0]->lte_frame_parms.nb_antennas_tx : PHY_vars_UE_g[0][0]->lte_frame_parms.nb_antennas_tx), ((UE_flag==0) ? PHY_vars_eNB_g[0][0]->lte_frame_parms.nb_antennas_rx : PHY_vars_UE_g[0][0]->lte_frame_parms.nb_antennas_rx)); @@ -2935,11 +2895,9 @@ int main( int argc, char **argv ) openair0_cfg[card].remote_ip = &rrh_eNB_ip[0]; openair0_cfg[card].remote_port = rrh_eNB_port; } -openair0_cfg[card].num_rb_dl=frame_parms[0]->N_RB_DL; + openair0_cfg[card].num_rb_dl=frame_parms[0]->N_RB_DL; #endif - openair0_cfg[card].sample_rate = sample_rate; - openair0_cfg[card].tx_bw = bw; - openair0_cfg[card].rx_bw = bw; + // in the case of the USRP, the following variables need to be initialized before the init // since the USRP only supports one CC (for the moment), we initialize all the cards with first CC. // in the case of EXMIMO2, these values are overwirtten in the function setup_eNB/UE_buffer @@ -3074,7 +3032,7 @@ openair0_cfg[card].num_rb_dl=frame_parms[0]->N_RB_DL; // connect the TX/RX buffers if (UE_flag==1) { #ifdef OAI_USRP - openair_daq_vars.timing_advance = 160; + openair_daq_vars.timing_advance = 0; #else openair_daq_vars.timing_advance = 160; #endif From 4d000a6e8e79cd28a29b2abafe74f12830027193 Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Tue, 1 Dec 2015 19:53:15 +0100 Subject: [PATCH 59/85] update for sudo check --- cmake_targets/autotests/run_exec_autotests.bash | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/cmake_targets/autotests/run_exec_autotests.bash b/cmake_targets/autotests/run_exec_autotests.bash index 7955defa63..40160d73ac 100755 --- a/cmake_targets/autotests/run_exec_autotests.bash +++ b/cmake_targets/autotests/run_exec_autotests.bash @@ -398,10 +398,12 @@ else fi tmpfile=`mktemp` -echo \'$passwd\' | sudo -S -v >& $tmpfile +echo \'$passwd\' | sudo echo $HOME >& $tmpfile tstsudo=`cat $tmpfile` -if [ "$tstsudo" != "" ]; then +if [ "$tstsudo" != "$HOME" ]; then echo "User might not have sudo privileges. Exiting" + echo "tstsudo = $tstsudo" + exit fi echo "tstsudo = $tstsudo" rm -fr $tmpfile From 1328aca790efcdf99777f62c5383db8b12225902 Mon Sep 17 00:00:00 2001 From: Raymond Knopp Date: Tue, 1 Dec 2015 20:36:58 +0100 Subject: [PATCH 60/85] fixed compilation issues with UHD --- targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp | 38 ++++++++++---------- targets/RT/USER/lte-softmodem.c | 1 - targets/RT/USER/lte-ue.c | 4 +-- 3 files changed, 21 insertions(+), 22 deletions(-) diff --git a/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp b/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp index d6b588aad1..e4480600fe 100644 --- a/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp +++ b/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp @@ -405,27 +405,27 @@ int openair0_dev_init_usrp(openair0_device* device, openair0_config_t *openair0_ openair0_cfg[0].rx_gain_calib_table = calib_table_x310; - switch (openair0_cfg[0].sample_rate) { - case 30.72e6: + switch ((int)openair0_cfg[0].sample_rate) { + case 30720000: // from usrp_time_offset openair0_cfg[0].samples_per_packet = 2048; openair0_cfg[0].tx_sample_advance = 15; - openair0_cfg[0].tx_scheduling_advance = 8*openair0_cfg[card].samples_per_packet; + openair0_cfg[0].tx_scheduling_advance = 8*openair0_cfg[0].samples_per_packet; break; - case 15.36e6: + case 15360000: openair0_cfg[0].samples_per_packet = 2048; openair0_cfg[0].tx_sample_advance = 45; - openair0_cfg[0].tx_scheduling_advance = 5*openair0_cfg[card].samples_per_packet; + openair0_cfg[0].tx_scheduling_advance = 5*openair0_cfg[0].samples_per_packet; break; - case 7.6e6: + case 7680000: openair0_cfg[0].samples_per_packet = 1024; openair0_cfg[0].tx_sample_advance = 50; - openair0_cfg[0].tx_scheduling_advance = 5*openair0_cfg[card].samples_per_packet; + openair0_cfg[0].tx_scheduling_advance = 5*openair0_cfg[0].samples_per_packet; break; - case 1.92e6: + case 1920000: openair0_cfg[0].samples_per_packet = 256; openair0_cfg[0].tx_sample_advance = 50; - openair0_cfg[0].tx_scheduling_advance = 8*openair0_cfg[card].samples_per_packet; + openair0_cfg[0].tx_scheduling_advance = 8*openair0_cfg[0].samples_per_packet; break; default: printf("Error: unknown sampling rate %f\n",openair0_cfg[0].sample_rate); @@ -445,32 +445,32 @@ int openair0_dev_init_usrp(openair0_device* device, openair0_config_t *openair0_ // s->usrp->set_clock_source("internal"); // set master clock rate and sample rate for tx & rx for streaming - device->type = USRP_B200_IF + device->type = USRP_B200_IF; s->usrp->set_master_clock_rate(30.72e6); openair0_cfg[0].rx_gain_calib_table = calib_table_b210; - switch (openair0_cfg[0].sample_rate) { - case 30.72e6: + switch ((int)openair0_cfg[0].sample_rate) { + case 30720000: // from usrp_time_offset openair0_cfg[0].samples_per_packet = 2048; openair0_cfg[0].tx_sample_advance = 175; - openair0_cfg[0].tx_scheduling_advance = 8*openair0_cfg[card].samples_per_packet; + openair0_cfg[0].tx_scheduling_advance = 8*openair0_cfg[0].samples_per_packet; break; - case 15.36e6: + case 15360000: openair0_cfg[0].samples_per_packet = 2048; openair0_cfg[0].tx_sample_advance = 95; - openair0_cfg[0].tx_scheduling_advance = 5*openair0_cfg[card].samples_per_packet; + openair0_cfg[0].tx_scheduling_advance = 5*openair0_cfg[0].samples_per_packet; break; - case 7.6e6: + case 7680000: openair0_cfg[0].samples_per_packet = 1024; openair0_cfg[0].tx_sample_advance = 70; - openair0_cfg[0].tx_scheduling_advance = 5*openair0_cfg[card].samples_per_packet; + openair0_cfg[0].tx_scheduling_advance = 5*openair0_cfg[0].samples_per_packet; break; - case 1.92e6: + case 1920000: openair0_cfg[0].samples_per_packet = 256; openair0_cfg[0].tx_sample_advance = 40; - openair0_cfg[0].tx_scheduling_advance = 8*openair0_cfg[card].samples_per_packet; + openair0_cfg[0].tx_scheduling_advance = 8*openair0_cfg[0].samples_per_packet; break; default: printf("Error: unknown sampling rate %f\n",openair0_cfg[0].sample_rate); diff --git a/targets/RT/USER/lte-softmodem.c b/targets/RT/USER/lte-softmodem.c index 786cd97a59..45625e7e73 100644 --- a/targets/RT/USER/lte-softmodem.c +++ b/targets/RT/USER/lte-softmodem.c @@ -1632,7 +1632,6 @@ static void* eNB_thread( void* arg ) #ifndef EXMIMO spp = openair0_cfg[0].samples_per_packet; tx_pos = openair0_cfg[0].tx_scheduling_advance; - tx_advance = openair0_cfg[0].tx_sample_advance; #endif while (!oai_exit) { diff --git a/targets/RT/USER/lte-ue.c b/targets/RT/USER/lte-ue.c index ec245360d7..aa22488687 100644 --- a/targets/RT/USER/lte-ue.c +++ b/targets/RT/USER/lte-ue.c @@ -1003,7 +1003,7 @@ void *UE_thread(void *arg) static int UE_thread_retval; PHY_VARS_UE *UE = PHY_vars_UE_g[0][0]; int spp = openair0_cfg[0].samples_per_packet; - int slot=1, frame=0, hw_subframe=0, rxpos=0, txpos=spp*openair0_cfg[0].tx_delay; + int slot=1, frame=0, hw_subframe=0, rxpos=0, txpos=spp*openair0_cfg[0].tx_scheduling_advance; #ifdef __AVX2__ int dummy[2][spp] __attribute__((aligned(32))); #else @@ -1128,7 +1128,7 @@ void *UE_thread(void *arg) txp[i] = (void*)&txdata[i][txpos]; openair0.trx_write_func(&openair0, - (timestamp+spp*openair0_cfg[0].tx_delay-openair0_cfg[0].tx_forward_nsamps), + (timestamp+spp*openair0_cfg[0].tx_scheduling_advance-openair0_cfg[0].tx_sample_advance), txp, spp - ((first_rx==1) ? rx_off_diff : 0), UE->lte_frame_parms.nb_antennas_tx, From 6e1e41db8a60025acde12dca21fbbe8dca249f18 Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Wed, 2 Dec 2015 13:40:39 +0100 Subject: [PATCH 61/85] updated to remove SSE4.2 flags as they are not used --- cmake_targets/CMakeLists.txt | 7 ++----- cmake_targets/tools/build_helper | 3 ++- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/cmake_targets/CMakeLists.txt b/cmake_targets/CMakeLists.txt index 8ba602c25d..d7a656e61c 100644 --- a/cmake_targets/CMakeLists.txt +++ b/cmake_targets/CMakeLists.txt @@ -133,9 +133,6 @@ else (CMAKE_SYSTEM_PROCESSOR STREQUAL "armv7l") if (CPUINFO MATCHES "avx2") set(C_FLAGS_PROCESSOR "${C_FLAGS_PROCESSOR} -mavx2") endif() - if (CPUINFO MATCHES "sse4_2") - set(C_FLAGS_PROCESSOR "${C_FLAGS_PROCESSOR} -msse4.2") - endif() if (CPUINFO MATCHES "sse4_1") set(C_FLAGS_PROCESSOR "${C_FLAGS_PROCESSOR} -msse4.1") endif() @@ -149,8 +146,8 @@ set(C_FLAGS_PROCESSOR " ${C_FLAGS_PROCESSOR} ${CFLAGS_PROCESSOR_USER}") Message("C_FLAGS_PROCESSOR is ${C_FLAGS_PROCESSOR}") if (CMAKE_SYSTEM_PROCESSOR MATCHES "x86") - if ( (NOT( C_FLAGS_PROCESSOR MATCHES "ssse3")) OR (NOT( C_FLAGS_PROCESSOR MATCHES "msse4.1")) OR (NOT( C_FLAGS_PROCESSOR MATCHES "msse4.2")) ) - Message(FATAL_ERROR "For x86 Architecture, you must have following flags: -mssse3 -msse4.1 -msse4.2. The current detected flags are: ${C_FLAGS_PROCESSOR}. You can pass the flags manually in build script, for example: ./build_oai --cflags_processor \"-mssse3 -msse4.1 -msse4.2\" ") + if ( (NOT( C_FLAGS_PROCESSOR MATCHES "ssse3")) OR (NOT( C_FLAGS_PROCESSOR MATCHES "msse4.1")) ) + Message(FATAL_ERROR "For x86 Architecture, you must have following flags: -mssse3 -msse4.1. The current detected flags are: ${C_FLAGS_PROCESSOR}. You can pass the flags manually in build script, for example: ./build_oai --cflags_processor \"-mssse3 -msse4.1\" ") endif() endif() diff --git a/cmake_targets/tools/build_helper b/cmake_targets/tools/build_helper index 004c83f0b8..c82b79499c 100755 --- a/cmake_targets/tools/build_helper +++ b/cmake_targets/tools/build_helper @@ -210,7 +210,8 @@ check_install_additional_tools (){ unzip \ valgrind \ vlan \ - ctags + ctags \ + ntpdate ) >& $log_file } From b9ac3a9b44c9b7d45309295ec4c66fa18d31174a Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Wed, 2 Dec 2015 17:55:04 +0100 Subject: [PATCH 62/85] updated eNodeB calibration for B210 target --- targets/ARCH/COMMON/common_lib.h | 2 -- targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp | 8 ++++---- .../CONF/enb.band7.tm1.usrpb210.epc.remote.conf | 16 +++++++--------- 3 files changed, 11 insertions(+), 15 deletions(-) diff --git a/targets/ARCH/COMMON/common_lib.h b/targets/ARCH/COMMON/common_lib.h index c36995683d..227a100692 100644 --- a/targets/ARCH/COMMON/common_lib.h +++ b/targets/ARCH/COMMON/common_lib.h @@ -88,8 +88,6 @@ typedef struct { int tx_scheduling_advance; //! offset in samples between TX and RX paths int tx_sample_advance; - //! adjust the position of the samples after delay when sending - unsigned int tx_forward_nsamps; //! number of RX channels (=RX antennas) int rx_num_channels; //! number of TX channels (=TX antennas) diff --git a/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp b/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp index e4480600fe..0885ef6dd1 100644 --- a/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp +++ b/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp @@ -454,17 +454,17 @@ int openair0_dev_init_usrp(openair0_device* device, openair0_config_t *openair0_ case 30720000: // from usrp_time_offset openair0_cfg[0].samples_per_packet = 2048; - openair0_cfg[0].tx_sample_advance = 175; - openair0_cfg[0].tx_scheduling_advance = 8*openair0_cfg[0].samples_per_packet; + openair0_cfg[0].tx_sample_advance = 115; + openair0_cfg[0].tx_scheduling_advance = 11*openair0_cfg[0].samples_per_packet; break; case 15360000: openair0_cfg[0].samples_per_packet = 2048; - openair0_cfg[0].tx_sample_advance = 95; + openair0_cfg[0].tx_sample_advance = 113; openair0_cfg[0].tx_scheduling_advance = 5*openair0_cfg[0].samples_per_packet; break; case 7680000: openair0_cfg[0].samples_per_packet = 1024; - openair0_cfg[0].tx_sample_advance = 70; + openair0_cfg[0].tx_sample_advance = 103; openair0_cfg[0].tx_scheduling_advance = 5*openair0_cfg[0].samples_per_packet; break; case 1920000: diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf index 21303ebc71..8248f20927 100644 --- a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf +++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf @@ -16,7 +16,7 @@ eNBs = tracking_area_code = "1"; mobile_country_code = "208"; - mobile_network_code = "95"; + mobile_network_code = "92"; ////////// Physical parameters: @@ -30,12 +30,12 @@ eNBs = downlink_frequency = 2660000000L; uplink_frequency_offset = -120000000; Nid_cell = 0; - N_RB_DL = 25; + N_RB_DL = 100; Nid_cell_mbsfn = 0; nb_antennas_tx = 1; nb_antennas_rx = 1; tx_gain = 90; - rx_gain = 120; + rx_gain = 119; prach_root = 0; prach_config_index = 0; prach_high_speed = "DISABLE"; @@ -130,12 +130,10 @@ eNBs = }; ////////// MME parameters: - mme_ip_address = ( { ipv4 = "192.168.12.62"; - ipv6 = "192:168:30::17"; - active = "yes"; - preference = "ipv4"; - } - ); + mme_ip_address = ( {ipv4 = "192.168.12.26"; + ipv6="192:168:30::17"; + active="yes"; + preference="ipv4";}); NETWORK_INTERFACES : { From d5d597746a917d3807efa6f1bef2646f0a0b78f1 Mon Sep 17 00:00:00 2001 From: Raymond Knopp Date: Wed, 2 Dec 2015 18:26:11 +0100 Subject: [PATCH 63/85] bugfix for UE TX on USRP --- targets/RT/USER/lte-ue.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/targets/RT/USER/lte-ue.c b/targets/RT/USER/lte-ue.c index aa22488687..7aa2213d94 100644 --- a/targets/RT/USER/lte-ue.c +++ b/targets/RT/USER/lte-ue.c @@ -1128,7 +1128,7 @@ void *UE_thread(void *arg) txp[i] = (void*)&txdata[i][txpos]; openair0.trx_write_func(&openair0, - (timestamp+spp*openair0_cfg[0].tx_scheduling_advance-openair0_cfg[0].tx_sample_advance), + (timestamp+openair0_cfg[0].tx_scheduling_advance-openair0_cfg[0].tx_sample_advance), txp, spp - ((first_rx==1) ? rx_off_diff : 0), UE->lte_frame_parms.nb_antennas_tx, From 0aeb77ce9861a909aea2a46f719b060ad5eab1cf Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Thu, 3 Dec 2015 20:54:47 +0100 Subject: [PATCH 64/85] updates to test framework + bugfixes --- cmake_targets/autotests/openair.py | 60 ++-- .../autotests/run_exec_autotests.bash | 6 +- .../autotests/run_exec_lte-softmodem_tests.py | 270 ++++++++++++------ cmake_targets/autotests/test_case_list.xml | 5 +- 4 files changed, 230 insertions(+), 111 deletions(-) diff --git a/cmake_targets/autotests/openair.py b/cmake_targets/autotests/openair.py index 598edaf169..e0acf31cb8 100644 --- a/cmake_targets/autotests/openair.py +++ b/cmake_targets/autotests/openair.py @@ -41,6 +41,8 @@ import os import array import shutil import subprocess +import sys +import traceback # import call from core import * @@ -102,8 +104,12 @@ class openair(core): self.oai.prompt() print self.oai.before - except Error, val : - print "Error: can't connect to"+username+"@"+self.address + except Exception, e: + error='' + error = error + ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e) + error = error + traceback.format_exc() + print error + sys.exit(1) def connect2(self, username, password, prompt='$'): self.prompt1 = prompt @@ -133,9 +139,12 @@ class openair(core): sys.exit(1) return 'Ok' - except Exception, val: - time.sleep(5) - print "Error:", val + except Exception, e: + error='' + error = error + ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e) + error = error + traceback.format_exc() + print error + sys.exit(1) def connect_localshell(self, prompt='$'): self.prompt1 = prompt @@ -152,9 +161,12 @@ class openair(core): else : sys.exit(1) - except Exception, val: - time.sleep(5) - print "Error:", val + except Exception, e: + error='' + error = error + ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e) + error = error + traceback.format_exc() + print error + sys.exit(1) def disconnect(self): print 'disconnecting the ssh connection to ' + self.address + '\n' @@ -173,8 +185,12 @@ class openair(core): os.system('echo '+pw+' | sudo -S pkill cc1') time.sleep(1) os.system('echo '+pw+' | sudo -S pkill oaisim oaisim_nos1') - except Error, val: - print "Error:", val + except Exception, e: + error='' + error = error + ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e) + error = error + traceback.format_exc() + print error + sys.exit(1) def rm_driver(self,oai,user, pw): try: @@ -184,8 +200,12 @@ class openair(core): else : oai.send_nowait('echo '+pw+ ' | sudo -S rmmod nasmesh;') #os.system('echo '+pw+ ' | sudo -S rmmod nasmesh;') - except Error, val: - print "Error removing oai network driver module:", val + except Exception, e: + error='' + error = error + ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e) + error = error + traceback.format_exc() + print error + sys.exit(1) def driver(self,oai,user,pw): #pwd = oai.send_recv('pwd') @@ -197,8 +217,12 @@ class openair(core): else : oai.send('echo '+pw+ ' | sudo -S insmod ./nasmesh.ko;') - except Error, val: - print "Error inserting oai network driver module:", val + except Exception, e: + error='' + error = error + ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e) + error = error + traceback.format_exc() + print error + sys.exit(1) def cleandir (self, logdir,debug) : @@ -209,8 +233,12 @@ class openair(core): print 'filepath is ' + filepath try: shutil.rmtree(filepath) - except OSError: - os.remove(filepath) + except Exception, e: + error='' + error = error + ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e) + error = error + traceback.format_exc() + print error + sys.exit(1) #print 'Could not remove the filepath'+ filepath + ' with error ' + OSError def create_dir(self,dirname,debug) : diff --git a/cmake_targets/autotests/run_exec_autotests.bash b/cmake_targets/autotests/run_exec_autotests.bash index 40160d73ac..2eea43082d 100755 --- a/cmake_targets/autotests/run_exec_autotests.bash +++ b/cmake_targets/autotests/run_exec_autotests.bash @@ -107,6 +107,7 @@ function test_compile() { #mkdir -p $build_dir cd $log_dir { + uname -a compile_log_dir=`eval echo \"$OPENAIR_DIR/cmake_targets/log/\"` echo "Removing compilation log files in $compile_log_dir" rm -frv $compile_log_dir @@ -236,6 +237,7 @@ function test_compile_and_run() { cd $log_dir { + uname -a #eval $pre_compile_prog #cmake .. #rm -fv $exec_file @@ -272,7 +274,7 @@ function test_compile_and_run() { fi echo "Executing $main_exec $main_exec_args_array_index " echo "Executing $main_exec $main_exec_args_array_index " >> $temp_exec_log - { eval "$main_exec $main_exec_args_array_index" ;} >> $temp_exec_log 2>&1 + { uname -a ; eval "$main_exec $main_exec_args_array_index" ;} >> $temp_exec_log 2>&1 echo "" >> $temp_exec_log 2>&1 cat $temp_exec_log >> $log_file 2>&1 @@ -504,6 +506,8 @@ for search_expr in "${test_case_array[@]}" } +uname -a + main "$@" xUnit_write "$results_file" diff --git a/cmake_targets/autotests/run_exec_lte-softmodem_tests.py b/cmake_targets/autotests/run_exec_lte-softmodem_tests.py index a81fb49d03..3ae3758402 100644 --- a/cmake_targets/autotests/run_exec_lte-softmodem_tests.py +++ b/cmake_targets/autotests/run_exec_lte-softmodem_tests.py @@ -61,7 +61,8 @@ from openair import * import paramiko import ssh from ssh import SSHSession - +import subprocess +import commands def write_file(filename, string, mode="w"): text_file = open(filename, mode) @@ -107,6 +108,7 @@ def sftp_module (username, password, hostname, ports, paramList,logfile): error = error + ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e) error = error + '\n username = ' + username + '\n hostname = ' + hostname + '\n localfile = ' + localD + '\n remotefile = ' + remoteD + '\n operation = ' + operation + '\nlogfile = ' + logfile + '\n ports = ' + str(ports) + '\n' error = error + traceback.format_exc() + print error sftp.close() transport.close() @@ -195,27 +197,38 @@ class myThread (threading.Thread): class oaiThread (threading.Thread): - def __init__(self, threadID, name, oai, cmd, sudo, timeout): + def __init__(self, threadID, threadname, machine, username, password, cmd, sudo, timeout): threading.Thread.__init__(self) self.threadID = threadID - self.name = name - #self.counter = counter - self.oai = oai + self.threadname = threadname + self.machine = machine + self.username = username + self.password = password self.cmd = cmd self.sudo = sudo self.timeout = timeout - self.machineName = machineName def run(self): - print "Starting " + self.name - result = self.oai.send_recv(self.cmd, self.sudo, self.timeout) - print "result = " + result - print "Exiting " + self.name + try: + oai = openair('localdomain',self.machine) + oai.connect(user, self.password) + print "Starting " + self.threadname + "on machine " + self.machine + result = oai.send_recv(self.cmd, self.sudo, self.timeout) + print "result = " + result + print "Exiting " + self.threadname + oai.disconnect() + except Exception, e: + error='' + error = error + ' In class oaiThread, function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e) + error = error + '\n threadID = ' + str(self.threadID) + '\n threadname = ' + self.threadname + '\n timeout = ' + self.timeout + '\n machine = ' + self.machine + '\n cmd = ' + self.cmd + '\n timeout = ' + str(self.timeout) + '\n' + error = error + traceback.format_exc() + print error + #This class runs test cases with class execution, compilatation class testCaseThread_generic (threading.Thread): def __init__(self, threadID, name, machine, logdirOAI5GRepo, testcasename,oldprogramList, CleanupAluLteBox, password, timeout): threading.Thread.__init__(self) - self.threaID = threadID + self.threadID = threadID self.name = name self.testcasename = testcasename self.timeout = timeout @@ -231,36 +244,51 @@ class testCaseThread_generic (threading.Thread): addpass = 'echo \'' + mypassword + '\' | ' user = getpass.getuser() print "Starting test case : " + self.testcasename + " On machine " + self.machine - oai = openair('localdomain',machine) + oai = openair('localdomain',self.machine) oai.connect(user, self.password) - cleanOldPrograms(oai, oldprogramList, CleanUpAluLteBox) + cleanOldPrograms(oai, self.oldprogramList, self.CleanupAluLteBox) logdir_local = os.environ.get('OPENAIR_DIR') logdir_local_testcase = logdir_local +'/cmake_targets/autotests/log/'+ self.testcasename logdir_local_base = logdir_local +'/cmake_targets/autotests/log/' - logdir_remote_testcase = self.logdirOAI5GRepo + '/cmake_targets/autotests/log' + self.testcasename - logdir_remote = self.logdirOAI5GRepo + '/cmake_targets/autotests/log' - logfile_task_testcasename = logdir_local_testcase + '/test_task' + '_' + testcasename + '_.log' - logfile_task_testcasename_out = logdir_remote + '/test_task_out' + '_' + str(run) + '_.log' - os.removedirs(logdir_testcase) - os.mkdir (logdir_testcase) - cmd = "( cd " + self.logdirOAI5GRepo + " \n " + logdir_remote_testcase = self.logdirOAI5GRepo + '/cmake_targets/autotests/log/' + self.testcasename + logdir_remote = self.logdirOAI5GRepo + '/cmake_targets/autotests/log/' + logfile_task_testcasename = logdir_local_testcase + '/test_task' + '_' + self.testcasename + '_.log' + logfile_task_testcasename_out = logdir_remote + '/test_task_out' + '_' + self.testcasename + '_.log' + #print "logdir_local_testcase = " + logdir_local_testcase + #print "logdir_remote_testcase = " + logdir_remote_testcase + #if os.path.exists(logdir_local_testcase) == True : + # os.removedirs(logdir_local_testcase) + #os.mkdir(logdir_local_testcase) + os.system("rm -fr " + logdir_local_testcase ) + os.system("mkdir -p " + logdir_local_testcase) + cmd = "mkdir -p " + logdir_remote_testcase + res = oai.send_recv(cmd, False, self.timeout) + print "res = " + res + + cmd = "( cd " + self.logdirOAI5GRepo + " \n " cmd = cmd + "source oaienv \n" - cmd = cmd + "$OPENAIR_DIR/cmake_targets/autotests/run_exec_autotets.bash --run-group \"" + "self.testcasename +\" " - cmd = cmd + " ) >& " + logfile_task_testcasename_out + " ; " + " mv " + logfile_task_testcasename_out + logdir_remote_testcase - + cmd = cmd + "$OPENAIR_DIR/cmake_targets/autotests/run_exec_autotests.bash --run-group \"" + self.testcasename + "\" -p \'\'" + cmd = cmd + " ) >& " + logfile_task_testcasename_out + " ; " + "mkdir -p " + logdir_remote_testcase + "; mv " + logfile_task_testcasename_out + " " +logdir_remote_testcase + + #print "cmd = " + cmd + res = oai.send_recv(cmd, False, self.timeout) + #print "res = " + res + print "ThreadID = " + str(self.threadID) + "ThreadName: " + self.name + " testcasename: " + self.testcasename + "Execution Result = " + res write_file(logfile_task_testcasename, cmd, mode="w") #Now we copy all the remote files - ssh = SSHSession(self.machine , username=user, key_file=None, password=password) + ssh = SSHSession(self.machine , username=user, key_file=None, password=self.password) ssh.get_all(logdir_remote_testcase , logdir_local_base) - print "Finishing test case : " + self.testcasename + " On machine " + machineName - cleanOldPrograms(oai, oldprogramList, CleanUpAluLteBox) - oai.kill() + print "Finishing test case : " + self.testcasename + " On machine " + self.machine + cleanOldPrograms(oai, self.oldprogramList, self.CleanupAluLteBox) + #oai.kill(user,mypassword) oai.disconnect() except Exception, e: error='' - error = error + ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e) - error = error + '\n threadID = ' + self.threaID + '\n testcasename = ' + self.testcasename + '\n timeout = ' + self.timeout + '\n machine = ' + self.machine + '\n logdirOAI5GRepo = ' + self.logdirOAI5GRepo + '\n' + error = error + ' In Class = testCaseThread_generic, function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e) + error = error + '\n threadID = ' + str(self.threadID) + '\n threadName = ' + self.name + '\n testcasename = ' + self.testcasename + '\n machine = ' + self.machine + '\n logdirOAI5GRepo = ' + self.logdirOAI5GRepo + '\n' + '\n timeout = ' + str(timeout) error = error + traceback.format_exc() + print error + sys.exit() def addsudo (cmd, password=""): @@ -276,36 +304,59 @@ def handle_testcaseclass_generic (testcasename, threadListGeneric, oldprogramLis #first we need to find the list of free machines that we could run our test case if threadListGeneric.__len__() ==0 : #This means no thread is started yet - MachineListFree = MachineList + MachineListFree = MachineList[:] else : for param in threadListGeneric : thread_id = param["thread_id"] machine = param["Machine"] - testcasename = param["testcasename"] + testcasenameold = param["testcasename"] thread_id.join(1) - if thread_id.isAlive == True: - MachineListBusy.append(machine) + if thread_id.isAlive() == True: + print "thread_id is alive: testcasename: " + testcasenameold + if machine not in MachineListBusy: + MachineListBusy.append(machine) else : threadListGeneric.remove(param) - #Now we check if there is at least one free machine - MachineListFree = MachineList - for machine in MachineListBusy: - MachineListFree.remove(machine) + #Now we check if there is at least one free machine + MachineListFree = MachineList[:] + for machine in MachineListBusy: + if machine in MachineListFree: + MachineListFree.remove(machine) + #print "MachineListFree = " + ','.join(MachineListFree) + #print "MachineListBusy = " + ','.join(MachineListBusy) + #print "MachineList = " + ','.join(MachineList) machine = MachineListFree[0] - thread = testCaseThread_generic(1,"Generic Thread", machine, logdirOAI5GRepo, testcasename, oldprogramList, CleanupAluLteBox, password, timeout) + thread = testCaseThread_generic(1,"Generic Thread_"+testcasename+"_"+machine+_, machine, logdirOAI5GRepo, testcasename, oldprogramList, CleanupAluLteBox, password, timeout) param={"thread_id":thread, "Machine":machine, "testcasename":testcasename} thread.start() threadListGeneric.append(param) return threadListGeneric except Exception, e: - error='' - error = error + ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e) - error = error + '\n testcasename = ' + testcasename + '\n logdirOAI5GRepo = ' + logdirOAI5GRepo + '\n MachineList = ' + MachineList + '\n timeout = ' + timeout + '\n' - error = error + traceback.format_exc() + error='' + error = error + ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e) + error = error + '\n testcasename = ' + testcasename + '\n logdirOAI5GRepo = ' + logdirOAI5GRepo + '\n MachineList = ' + ','.join(MachineList) + '\n timeout = ' + str(timeout) + '\n' + error = error + traceback.format_exc() + print error + sys.exit(1) + +#Blocking wait for all threads related to generic testcase execution, class (compilation and execution) +def wait_testcaseclass_generic_threads(threadListGeneric, timeout = 1): + for param in threadListGeneric: + thread_id = param["thread_id"] + machine = param["Machine"] + testcasenameold = param["testcasename"] + thread_id.join(timeout) + if thread_id.isAlive() == True: + print "thread_id on machine: " + machine + " is still alive: testcasename: " + testcasenameold + print " Exiting now..." + sys.exit(1) + else: + print "thread_id on machine: " + machine + " is stopped: testcasename: " + testcasenameold + threadListGeneric.remove(param) + return threadListGeneric - #Function to handle test case class : lte-softmodem -def handle_testcaseclass_softmodem (testcase, oldprogramList, oai_list, logdirOAI5GRepo , logdirOpenaircnRepo, MachineList, password, CleanUpAluLteBox): +def handle_testcaseclass_softmodem (testcase, oldprogramList, logdirOAI5GRepo , logdirOpenaircnRepo, MachineList, password, CleanUpAluLteBox): #We ignore the password sent to this function for secuirity reasons for password present in log files #It is recommended to add a line in /etc/sudoers that looks something like below. The line below will run sudo without password prompt # your_user_name ALL=(ALL:ALL) NOPASSWD: ALL @@ -365,15 +416,13 @@ def handle_testcaseclass_softmodem (testcase, oldprogramList, oai_list, logdirOA index_eNBMachine = MachineList.index(eNBMachine) index_UEMachine = MachineList.index(UEMachine) index_EPCMachine = MachineList.index(EPCMachine) - oai_eNB = oai_list[index_eNBMachine] - oai_UE = oai_list[index_UEMachine] - - #We need to create two ssh sessions to avoid race conditions - if index_eNBMachine == index_EPCMachine: - oai_EPC = openair('localdomain', EPCMachine) - oai_EPC.connect(user,password) - else: - oai_EPC = oai_list[index_EPCMachine] + oai_eNB = openair('localdomain', eNBMachine) + oai_eNB.connect(user, password) + oai_UE = openair('localdomain', UEMachine) + oai_UE.connect(user, password) + oai_EPC = openair('localdomain', EPCMachine) + oai_EPC.connect(user, password) + cleanOldPrograms(oai_eNB, oldprogramList, CleanUpAluLteBox) cleanOldPrograms(oai_UE, oldprogramList, CleanUpAluLteBox) cleanOldPrograms(oai_EPC, oldprogramList, CleanUpAluLteBox) @@ -515,9 +564,9 @@ def handle_testcaseclass_softmodem (testcase, oldprogramList, oai_list, logdirOA task_EPC = task_EPC + ' ) > ' + logfile_task_EPC_out + ' 2>&1 ' write_file(logfile_task_EPC, task_EPC, mode="w") - thread_EPC = oaiThread(1, "EPC_thread", oai_EPC , task_EPC, False, timeout_thread) - thread_eNB = oaiThread(2, "eNB_thread", oai_eNB , task_eNB, False, timeout_thread) - thread_UE = oaiThread(3, "UE_thread", oai_UE , task_UE, False, timeout_thread) + thread_EPC = oaiThread(1, "EPC_thread", EPCMachine, user, password , task_EPC, False, timeout_thread) + thread_eNB = oaiThread(2, "eNB_thread", eNBMachine, user, password , task_eNB, False, timeout_thread) + thread_UE = oaiThread(3, "UE_thread", UEMachine, user, password , task_UE, False, timeout_thread) threads=[] threads.append(thread_eNB) @@ -631,9 +680,12 @@ def handle_testcaseclass_softmodem (testcase, oldprogramList, oai_list, logdirOA remotefile = logdir_EPC + '/EPC_task_out' + '_' + str(run) + '_.log' paramList.append ( {"operation":'get', "localfile":localfile, "remotefile":remotefile} ) sftp_module (user, password, EPCMachine, ports, paramList, sftp_log) + oai_eNB.disconnect() + oai_UE.disconnect() + oai_EPC.disconnect() #We need to close the new ssh session that was created - if index_eNBMachine == index_EPCMachine: - oai_EPC.disconnect() + #if index_eNBMachine == index_EPCMachine: + # oai_EPC.disconnect() #This function searches if test case is present in list of test cases that need to be executed by user def search_test_case_group(testcasename, testcasegroup): @@ -654,7 +706,6 @@ def search_test_case_group(testcasename, testcasegroup): #thread1 = myThread(1, "Thread-1", 1) -threadListGeneric=[] debug = 0 pw ='' i = 0 @@ -677,8 +728,8 @@ if openairdir_local is None: sys.exit() locallogdir = openairdir_local + '/cmake_targets/autotests/log/' #Remove the contents of local log directory -os.system(' rm -fr ' + locallogdir + '; mkdir -p ' + locallogdir ) - +#os.system(' rm -fr ' + locallogdir + '; mkdir -p ' + locallogdir ) +flag_remove_logdir=False i=1 while i < len (sys.argv): arg=sys.argv[i] @@ -688,7 +739,9 @@ while i < len (sys.argv): debug = 2 elif arg == '-p' : prompt2 = sys.argv[i+1] - i = i +1 + i = i +1 + elif arg == '-r': + flag_remove_logdir=True elif arg == '-w' : pw = sys.argv[i+1] i = i +1 @@ -708,6 +761,7 @@ while i < len (sys.argv): print "-d: low debug level" print "-dd: high debug level" print "-p: set the prompt" + print "-r: Remove the log directory in autotests/" print "-w: set the password for ssh to localhost" print "-l: use local shell instead of ssh connection" print "-t: set the time out in second for commands" @@ -735,6 +789,12 @@ except KeyError: print "Please set the environment variable OPENAIR_TARGETS in the .bashrc" sys.exit(1) +if flag_remove_logdir == True: + print "Removing directory: " + locallogdir + os.system(' rm -fr ' + locallogdir + '; mkdir -p ' + locallogdir ) + + + paramiko_logfile = os.path.expandvars('$OPENAIR_DIR/cmake_targets/autotests/log/paramiko.log') res=os.system(' echo > ' + paramiko_logfile) paramiko.util.log_to_file(paramiko_logfile) @@ -767,7 +827,7 @@ GitOpenaircnRepoBranch = xmlRoot.findtext('GitOpenair-cnRepoBranch',default='') CleanUpOldProgs = xmlRoot.findtext('CleanUpOldProgs',default='') CleanUpAluLteBox = xmlRoot.findtext('CleanUpAluLteBox',default='') Timeout_execution = int (xmlRoot.findtext('Timeout_execution')) - +MachineListGeneric = xmlRoot.findtext('MachineListGeneric',default='') print "MachineList = " + MachineList print "GitOpenair-cnRepo = " + GitOpenaircnRepo print "GitOAI5GRepo = " + GitOAI5GRepo @@ -781,6 +841,7 @@ print "CleanUpOldProgs = " + CleanUpOldProgs print "Timeout_execution = " + str(Timeout_execution) MachineList = MachineList.split() +MachineListGeneric = MachineListGeneric.split() index=0 for machine in MachineList: @@ -909,7 +970,7 @@ for index in oai_list: #cmd = cmd + 'echo \' ' + cmd + '\' > ' + setup_script + ' 2>&1 \n ' #result = oai_list[index].send_recv(cmd, False, 300 ) write_file(setup_script, cmd, mode="w") - tempThread = oaiThread(index, 'thread_'+str(index), oai_list[index] , cmd, False, 300) + tempThread = oaiThread(index, 'thread_setup_'+str(index)+'_' + MachineList[index] , MachineList[index] , user, pw, cmd, False, 300) threads_init_setup.append(tempThread ) tempThread.start() @@ -944,12 +1005,13 @@ for index in oai_list: #print '\nCleaning Older running programs : ' + CleanUpOldProgs #cleanOldPrograms(oai_list[index], CleanUpOldProgs) - - except : - print 'There is error in one of the commands to setup the machine '+ MachineList[index] - sys.exit(1) - - + except Exception, e: + print 'There is error in one of the commands to setup the machine '+ MachineList[index] + error='' + error = error + ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e) + error = error + traceback.format_exc() + print error + sys.exit(1) #Now we wait for all the threads to complete index = 0 @@ -975,38 +1037,62 @@ for t in threads_init_setup: index = index+1 #Now we process all the test cases +#Now we check if there was error in setup files -threadListGeneric=[] +status, out = commands.getstatusoutput('grep ' + ' -il \'error\' ' + locallogdir + '/setup*') +if (out != '') : + print "There is error in setup of machines" + print "status = " + str(status) + "\n out = " + out + print sys.exit(1) + + +threadListGlobal=[] testcaseList=xmlRoot.findall('testCase') #print testcaseList for testcase in testcaseList: - testcasename = testcase.get('id') - testcaseclass = testcase.findtext('class',default='') - desc = testcase.findtext('desc',default='') - if search_test_case_group(testcasename, testcasegroup) == True: - if testcaseclass == 'lte-softmodem' : - eNBMachine = testcase.findtext('eNB',default='') - UEMachine = testcase.findtext('UE',default='') - EPCMachine = testcase.findtext('EPC',default='') - index_eNBMachine = MachineList.index(eNBMachine) - index_UEMachine = MachineList.index(UEMachine) - index_EPCMachine = MachineList.index(EPCMachine) - print "testcasename = " + testcasename + " class = " + testcaseclass - handle_testcaseclass_softmodem (testcase, CleanUpOldProgs, oai_list, logdirOAI5GRepo, logdirOpenaircnRepo, MachineList, pw, CleanUpAluLteBox ) - elif (testcaseclass == 'compilation'): - handle_testcaseclass_generic (testcasename, threadListGeneric, oldprogramList, logdirOAI5GRepo, MachineList, pw, CleanupAluLteBox,Timeout_execution) - elif (testcaseclass == 'execution'): - handle_testcaseclass_generic (testcasename, threadListGeneric, oldprogramList, logdirOAI5GRepo, MachineList, pw, CleanupAluLteBox,Timeout_execution) - else : - print "Unknown test case class: " + testcaseclass - sys.exit() + try: + testcasename = testcase.get('id') + testcaseclass = testcase.findtext('class',default='') + desc = testcase.findtext('desc',default='') + #print "Machine list top level = " + ','.join(MachineList) + if search_test_case_group(testcasename, testcasegroup) == True: + if testcaseclass == 'lte-softmodem' : + eNBMachine = testcase.findtext('eNB',default='') + UEMachine = testcase.findtext('UE',default='') + EPCMachine = testcase.findtext('EPC',default='') + #index_eNBMachine = MachineList.index(eNBMachine) + #index_UEMachine = MachineList.index(UEMachine) + #index_EPCMachine = MachineList.index(EPCMachine) + if (eNBMachine not in MachineList)|(UEMachine not in MachineList)|(UEMachine not in MachineList): + print "One of the machines is not in the machine list" + print "eNBMachine : " + eNBMachine + "UEMachine : " + UEMachine + "EPCMachine : " + EPCMachine + "MachineList : " + ','.join(MachineList) + print "testcasename = " + testcasename + " class = " + testcaseclass + threadListGlobal = wait_testcaseclass_generic_threads(threadListGlobal, Timeout_execution) + handle_testcaseclass_softmodem (testcase, CleanUpOldProgs, logdirOAI5GRepo, logdirOpenaircnRepo, MachineList, pw, CleanUpAluLteBox ) + elif (testcaseclass == 'compilation'): + threadListGlobal = handle_testcaseclass_generic (testcasename, threadListGlobal, CleanUpOldProgs, logdirOAI5GRepo, MachineListGeneric, pw, CleanUpAluLteBox,Timeout_execution) + elif (testcaseclass == 'execution'): + threadListGlobal = handle_testcaseclass_generic (testcasename, threadListGlobal, CleanUpOldProgs, logdirOAI5GRepo, MachineListGeneric, pw, CleanUpAluLteBox,Timeout_execution) + else : + print "Unknown test case class: " + testcaseclass + sys.exit() + + except Exception, e: + error='' + error = error + ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e) + error = error + '\n testcasename = ' + testcasename + '\n testcaseclass = ' + testcaseclass + '\n desc = ' + 'desc' + '\n' + error = error + traceback.format_exc() + print error + sys.exit(1) + print "Exiting the test cases execution now..." +for t in threadListGlobal: + t.join sys.exit() - #+ "class = "+ classx diff --git a/cmake_targets/autotests/test_case_list.xml b/cmake_targets/autotests/test_case_list.xml index 2cd1438a8a..c6d0eecc41 100644 --- a/cmake_targets/autotests/test_case_list.xml +++ b/cmake_targets/autotests/test_case_list.xml @@ -1,14 +1,15 @@ -amerique stevens calisson nano +stevens calisson mozart nano amerique /mnt/sradio/TEST_RESULTS https://gitlab.eurecom.fr/oai/openairinterface5g.git https://gitlab.eurecom.fr/oai/openair-cn.git feature-34-test_framework feature-17-test_framework - oaisim* oaisim_nos1* lte-softmodem* lte-softmodem-nos1* mme_gw* run_epc* run_hss* iperf* hss hss_sim configure_cots_bandrich_ue* wvdial* + oaisim* oaisim_nos1* lte-softmodem* lte-softmodem-nos1* mme_gw* run_epc* run_hss* iperf* hss hss_sim configure_cots_bandrich_ue* wvdial* run_exec_autotests* /opt/ltebox/tools/stop_ltebox 1800 + calisson stevens mozart nano amerique compilation Build oaisim.Rel8 From f1304ee26f22a5f249177644857a2fc795fa8313 Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Fri, 4 Dec 2015 15:37:48 +0100 Subject: [PATCH 65/85] updated for completely putting UE in airplane mode --- cmake_targets/autotests/tools/configure_cots_bandrich_ue.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py b/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py index 2f959be55c..fced79f2ef 100755 --- a/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py +++ b/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py @@ -103,6 +103,7 @@ def start_ue () : #print 'Enter your commands below.\r\nInsert "exit" to leave the application.' timeout=60 #timeout in seconds send_command('AT', 'OK' , timeout) + send_command('AT+CFUN=1' , 'OK' , timeout) send_command('AT+CGATT=0' , 'OK' , timeout) send_command('AT+CGATT=1','OK', 300) #os.system('wvdial -C ' + bandrich_ppd_config + ' &' ) @@ -135,6 +136,7 @@ def stop_ue(): os.system('killall wvdial') send_command('AT', 'OK' , timeout) send_command('AT+CGATT=0' , 'OK' , timeout) + send_command('AT+CFUN=4' , 'OK' , timeout) for arg in sys.argv[1:]: if arg == '--start-ue' : From 3422a591a888a87b4771abd6ea3cb35f50b05700 Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Fri, 4 Dec 2015 15:40:18 +0100 Subject: [PATCH 66/85] updated for additional packages for autotest framework --- cmake_targets/tools/build_helper | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cmake_targets/tools/build_helper b/cmake_targets/tools/build_helper index c82b79499c..a1fefec3ce 100755 --- a/cmake_targets/tools/build_helper +++ b/cmake_targets/tools/build_helper @@ -279,7 +279,8 @@ check_install_oai_software() { xmlstarlet \ python-pip \ pydb \ - wvdial + wvdial \ + python-numpy $SUDO update-alternatives --set liblapack.so /usr/lib/atlas-base/atlas/liblapack.so if [ `lsb_release -rs` = '12.04' ] ; then install_nettle_from_source @@ -291,6 +292,8 @@ check_install_oai_software() { $SUDO pip install pyroute2 ) > $log_file 2>&1 install_asn1c_from_source + $SUDO rm -fr /opt/ssh + $SUDO git clone https://gist.github.com/2190472.git /opt/ssh } install_asn1c_from_source(){ From 008ccf04c774b9c548ba4a1b37ba363d7e145709 Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Fri, 4 Dec 2015 15:48:57 +0100 Subject: [PATCH 67/85] updated autotest framework for lte-softmodem --- cmake_targets/autotests/README.txt | 27 ++- .../autotests/run_exec_lte-softmodem_tests.py | 222 +++++++++++------- cmake_targets/autotests/test_case_list.xml | 8 +- 3 files changed, 153 insertions(+), 104 deletions(-) diff --git a/cmake_targets/autotests/README.txt b/cmake_targets/autotests/README.txt index 166db2990e..c3fccd9e6b 100644 --- a/cmake_targets/autotests/README.txt +++ b/cmake_targets/autotests/README.txt @@ -97,20 +97,29 @@ Obj.# Case# Test# Description 01 51 06 mbmssim (TBD) -01 55 lte-softmodem tests with ALU EPC w/ Bandrich COTS UE -01 55 00 FDD 5MHz UL Throughput for 60 sec -01 55 00 FDD 10MHz UL Throughput for 60 sec -01 55 00 FDD 20MHz UL Throughput for 60 sec -01 55 00 FDD 5MHz DL Throughput for 60 sec -01 55 00 FDD 10MHz DL Throughput for 60 sec -01 55 00 FDD 20MHz DL Throughput for 60 sec +01 55 lte-softmodem tests with USRP B210 RF as eNB and ALU EPC w/ Bandrich COTS UE for `TX/1RX, 1TX/2RX, 2TX/1RX 2TX/2RX +01 55 00 Band 7 FDD 5MHz UL Throughput for 60 sec for 1TX/1RX +01 55 00 Band 7 FDD 10MHz UL Throughput for 60 sec +01 55 00 Band 7 FDD 20MHz UL Throughput for 60 sec +01 55 00 Band 7 FDD 5MHz DL Throughput for 60 sec +01 55 00 Band 7 FDD 10MHz DL Throughput for 60 sec +01 55 00 Band 7 FDD 20MHz DL Throughput for 60 sec -01 56 lte-softmodem tests with OAI EPC (eNB and EPC are on same machines) w/ Bandrich COTS UE +01 56 lte-softmodem tests with USRP B210 RF as eNB and OAI EPC (eNB and EPC are on same machines) w/ Bandrich COTS UE -01 57 lte-softmodem tests with OAI EPC (eNB and EPC are on different machines) w/ Bandrich COTS UE +01 57 lte-softmodem tests with USRP B210 RF as eNB and OAI EPC (eNB and EPC are on different machines) w/ Bandrich COTS UE +01 58 lte-softmodem tests with USRP B210 RF as eNB and ALU EPC w/ Bandrich COTS UE for `TX/1RX, 1TX/2RX, 2TX/1RX 2TX/2RX + +01 59 lte-softmodem tests with USRP B210 RF as eNB and OAI EPC (eNB and EPC are on same machines) w/ Bandrich COTS UE + +01 61 lte-softmodem tests with USRP B210 RF as eNB and OAI EPC (eNB and EPC are on different machines) w/ Bandrich COTS UE + +01 61 lte-softmodem tests with EXMIMO RF as eNB and ALU EPC w/ Bandrich COTS UE +01 62 lte-softmodem tests with EXMIMO RF as eNB and OAI EPC (eNB and EPC are on same machines) w/ Bandrich COTS UE +01 63 lte-softmodem tests with EXMIMO RF as eNB and OAI EPC (eNB and EPC are on different machines) w/ Bandrich COTS UE 01 58 lte-softmodem-noS1 tests diff --git a/cmake_targets/autotests/run_exec_lte-softmodem_tests.py b/cmake_targets/autotests/run_exec_lte-softmodem_tests.py index 3ae3758402..66953fda18 100644 --- a/cmake_targets/autotests/run_exec_lte-softmodem_tests.py +++ b/cmake_targets/autotests/run_exec_lte-softmodem_tests.py @@ -49,6 +49,8 @@ import math #from time import clock import xml.etree.ElementTree as ET import re +import numpy as np + import log import case01 import case02 @@ -59,16 +61,100 @@ import case05 from openair import * import paramiko -import ssh -from ssh import SSHSession + import subprocess import commands +sys.path.append('/opt/ssh') + +import ssh +from ssh import SSHSession def write_file(filename, string, mode="w"): text_file = open(filename, mode) text_file.write(string) text_file.close() +#$1 name of file (assuming created with iperf -s -u .... +#$2 minimum throughput +#$3 maximum throughput +#$4 average throughput +#$5 minimum duration of throughput +#The throughput values found in file must be higher than values from from 2,3,4,5 +#The function returns True if throughput conditions are saisfied else it returns fails + +def tput_test(filename, min_tput, max_tput, average, min_duration): + if os.path.exists(filename): + with open (filename, "r") as myfile: + data=myfile.read() + p=re.compile('(\d*.\d*) Mbits/sec') + array=p.findall(data) + array = [ float(x) for x in array ] + duration = array.__len__() + if duration !=0: + min_list = min(array) + max_list = max(array) + average_list = np.mean(array) + else: + min_list = 0 + max_list = 0 + average_list=0 + + if (min_list >= min_tput and max_list >= max_tput and average_list >= average and duration >= min_duration): + return True + else: + return False + else: + return False + + +def try_convert_to_float(string, fail=None): + try: + return float(string) + except Exception: + return fail; + +def tput_test_search_expr (search_expr, logfile_traffic): + result=0 + if search_expr !='': + if search_expr.find('throughput_test')!= -1 : + p= re.compile('min\s*=\s*(\d*.\d*)\s*Mbits/sec') + min_tput=p.findall(search_expr) + if min_tput.__len__()==1: + min_tput = min_tput[0] + else: + min_tput = None + + p= re.compile('max\s*=\s*(\d*.\d*)\s*Mbits/sec') + max_tput=p.findall(search_expr) + if max_tput.__len__()==1: + max_tput = max_tput[0] + else: + max_tput = None + + p= re.compile('average\s*=\s*(\d*.\d*)\s*Mbits/sec') + avg_tput=p.findall(search_expr) + if avg_tput.__len__()==1: + avg_tput=avg_tput[0] + else: + avg_tput = None + + p= re.compile('duration\s*=\s*(\d*.\d*)\s*s') + duration=p.findall(search_expr) + if duration.__len__()==1: + duration = duration[0] + else: + duration = None + + min_tput = try_convert_to_float(min_tput) + max_tput = try_convert_to_float(max_tput) + avg_tput = try_convert_to_float(avg_tput) + duration = try_convert_to_float(duration) + + if (min_tput != None and max_tput != None and avg_tput != None and duration != None ): + result = tput_test(logfile_traffic, min_tput, max_tput, avg_tput, duration) + return result + + def sftp_module (username, password, hostname, ports, paramList,logfile): #localD = localfile @@ -365,13 +451,14 @@ def handle_testcaseclass_softmodem (testcase, oldprogramList, logdirOAI5GRepo , addpass = 'echo \'' + mypassword + '\' | ' user = getpass.getuser() testcasename = testcase.get('id') + testcaseclass = testcase.findtext('class',default='') timeout_cmd = testcase.findtext('TimeOut_cmd',default='') timeout_cmd = int(float(timeout_cmd)) #Timeout_thread is more than that of cmd to have room for compilation time, etc timeout_thread = timeout_cmd + 300 nruns = testcase.findtext('nruns',default='') nruns = int(float(nruns)) - + tags = testcase.findtext('tags',default='') eNBMachine = testcase.findtext('eNB',default='') eNB_config_file = testcase.findtext('eNB_config_file',default='') eNB_compile_prog = testcase.findtext('eNB_compile_prog',default='') @@ -383,6 +470,7 @@ def handle_testcaseclass_softmodem (testcase, oldprogramList, logdirOAI5GRepo , eNB_traffic_exec = testcase.findtext('eNB_traffic_exec',default='') eNB_traffic_exec_args = testcase.findtext('eNB_traffic_exec_args',default='') eNB_terminate_missing_procs = testcase.findtext('eNB_terminate_missing_procs',default='True') + eNB_search_expr_true = testcase.findtext('eNB_search_expr_true','') UEMachine = testcase.findtext('UE',default='') UE_config_file = testcase.findtext('UE_config_file',default='') @@ -395,6 +483,7 @@ def handle_testcaseclass_softmodem (testcase, oldprogramList, logdirOAI5GRepo , UE_traffic_exec = testcase.findtext('UE_traffic_exec',default='') UE_traffic_exec_args = testcase.findtext('UE_traffic_exec_args',default='') UE_terminate_missing_procs = testcase.findtext('UE_terminate_missing_procs',default='True') + UE_search_expr_true = testcase.findtext('UE_search_expr_true','') EPCMachine = testcase.findtext('EPC',default='') EPC_config_file = testcase.findtext('EPC_config_file',default='') @@ -412,6 +501,7 @@ def handle_testcaseclass_softmodem (testcase, oldprogramList, logdirOAI5GRepo , EPC_traffic_exec = testcase.findtext('EPC_traffic_exec',default='') EPC_traffic_exec_args = testcase.findtext('EPC_traffic_exec_args',default='') EPC_terminate_missing_procs = testcase.findtext('EPC_terminate_missing_procs',default='True') + EPC_search_expr_true = testcase.findtext('EPC_search_expr_true','') index_eNBMachine = MachineList.index(eNBMachine) index_UEMachine = MachineList.index(UEMachine) @@ -447,8 +537,12 @@ def handle_testcaseclass_softmodem (testcase, oldprogramList, logdirOAI5GRepo , #update_config_file(oai_eNB, eNB_config_file, logdirOAI5GRepo) #update_config_file(oai_UE, UE_config_file, logdirOAI5GRepo) #update_config_file(oai_EPC, EPC_config_file, logdirOpenaircnRepo) - + test_result=1 + test_result_string='' + start_time=time.time() for run in range(0,nruns): + run_result=1 + run_result_string='' logdir_eNB = logdirOAI5GRepo+'/cmake_targets/autotests/log/'+ testcasename + '/run_' + str(run) logdir_UE = logdirOAI5GRepo+'/cmake_targets/autotests/log/'+ testcasename + '/run_' + str(run) logdir_EPC = logdirOpenaircnRepo+'/TEST/autotests/log/'+ testcasename + '/run_' + str(run) @@ -587,105 +681,51 @@ def handle_testcaseclass_softmodem (testcase, oldprogramList, logdirOAI5GRepo , cleanOldPrograms(oai_UE, oldprogramList, CleanUpAluLteBox) cleanOldPrograms(oai_EPC, oldprogramList, CleanUpAluLteBox) - localfile = logdir_local_testcase + '/eNB_compile' + '_' + str(run) + '_.log' - remotefile = logdir_eNB + '/eNB_compile' + '_' + str(run) + '_.log' - sftp_log = os.path.expandvars(logdir_local_testcase + '/sftp_module.log') - ports = 22 - paramList = [] - paramList.append ( {"operation":'get', "localfile":localfile, "remotefile":remotefile} ) - #sftp_module (user, password, eNBMachine, ports, localfile, remotefile, sftp_log, "get") + print "Copying files from EPCMachine : " + EPCMachine + ssh = SSHSession(EPCMachine , username=user, key_file=None, password=password) + ssh.get_all(logdir_EPC , logdir_local_testcase) - localfile = logdir_local_testcase + '/eNB_exec' + '_' + str(run) + '_.log' - remotefile = logdir_eNB + '/eNB_exec' + '_' + str(run) + '_.log' - paramList.append ( {"operation":'get', "localfile":localfile, "remotefile":remotefile} ) - #sftp_module (user, password, eNBMachine, ports, localfile, remotefile, sftp_log, "get") + print "Copying files from eNBMachine " + eNBMachine + ssh = SSHSession(eNBMachine , username=user, key_file=None, password=password) + ssh.get_all(logdir_eNB, logdir_local_testcase) - localfile = logdir_local_testcase + '/eNB_pre_exec' + '_' + str(run) + '_.log' - remotefile = logdir_eNB + '/eNB_pre_exec' + '_' + str(run) + '_.log' - paramList.append ( {"operation":'get', "localfile":localfile, "remotefile":remotefile} ) - #sftp_module (user, password, eNBMachine, ports, localfile, remotefile, sftp_log, "get") - - localfile = logdir_local_testcase + '/eNB_traffic' + '_' + str(run) + '_.log' - remotefile = logdir_eNB + '/eNB_traffic' + '_' + str(run) + '_.log' - paramList.append ( {"operation":'get', "localfile":localfile, "remotefile":remotefile} ) - #sftp_module (user, password, eNBMachine, ports, localfile, remotefile, sftp_log, "get") - - localfile = logdir_local_testcase + '/eNB_task_out' + '_' + str(run) + '_.log' - remotefile = logdir_eNB + '/eNB_task_out' + '_' + str(run) + '_.log' - paramList.append ( {"operation":'get', "localfile":localfile, "remotefile":remotefile} ) - - localfile = logdir_local_testcase + '/test_case_list.xml' - remotefile = logdirOAI5GRepo+'/cmake_targets/autotests/test_case_list.xml' - paramList.append ( {"operation":'get', "localfile":localfile, "remotefile":remotefile} ) - sftp_module (user, password, eNBMachine, ports, paramList, sftp_log) + print "Copying files from UEMachine : " + UEMachine + ssh = SSHSession(UEMachine , username=user, key_file=None, password=password) + ssh.get_all(logdir_UE , logdir_local_testcase) - paramList=[] - localfile = logdir_local_testcase + '/UE_compile' + '_' + str(run) + '_.log' - remotefile = logdir_UE + '/UE_compile' + '_' + str(run) + '_.log' - paramList.append ( {"operation":'get', "localfile":localfile, "remotefile":remotefile} ) - #sftp_module (user, password, UEMachine, ports, localfile, remotefile, sftp_log, "get") - - localfile = logdir_local_testcase + '/UE_exec' + '_' + str(run) + '_.log' - remotefile = logdir_UE + '/UE_exec' + '_' + str(run) + '_.log' - paramList.append ( {"operation":'get', "localfile":localfile, "remotefile":remotefile} ) - #sftp_module (user, password, UEMachine, ports, localfile, remotefile, sftp_log, "get") - - localfile = logdir_local_testcase + '/UE_pre_exec' + '_' + str(run) + '_.log' - remotefile = logdir_UE + '/UE_pre_exec' + '_' + str(run) + '_.log' - paramList.append ( {"operation":'get', "localfile":localfile, "remotefile":remotefile} ) - #sftp_module (user, password, UEMachine, ports, localfile, remotefile, sftp_log, "get") - - localfile = logdir_local_testcase + '/UE_traffic' + '_' + str(run) + '_.log' - remotefile = logdir_UE + '/UE_traffic' + '_' + str(run) + '_.log' - paramList.append ( {"operation":'get', "localfile":localfile, "remotefile":remotefile} ) - #sftp_module (user, password, UEMachine, ports, localfile, remotefile, sftp_log, "get") - - localfile = logdir_local_testcase + '/UE_task_out' + '_' + str(run) + '_.log' - remotefile = logdir_UE + '/UE_task_out' + '_' + str(run) + '_.log' - paramList.append ( {"operation":'get', "localfile":localfile, "remotefile":remotefile} ) - sftp_module (user, password, UEMachine, ports, paramList, sftp_log) + #Currently we only perform throughput tests + result = tput_test_search_expr(eNB_search_expr_true, logfile_traffic_eNB) + run_result=run_result&result + result = tput_test_search_expr(ePC_search_expr_true, logfile_traffic_ePC) + run_result=run_result&result + result = tput_test_search_expr(UE_search_expr_true, logfile_traffic_UE) + run_result=run_result&result - paramList=[] - localfile = logdir_local_testcase + '/EPC_compile' + '_' + str(run) + '_.log' - remotefile = logdir_EPC + '/EPC_compile' + '_' + str(run) + '_.log' - paramList.append ( {"operation":'get', "localfile":localfile, "remotefile":remotefile} ) - #sftp_module (user, password, EPCMachine, ports, localfile, remotefile, sftp_log, "get") + if run_result == 1: + run_result_string = 'RUN_'+str(run) + ' = PASS' + else: + run_result_string = 'RUN_'+str(run) + ' = FAIL' - localfile = logdir_local_testcase + '/EPC_exec' + '_' + str(run) + '_.log' - remotefile = logdir_EPC + '/EPC_exec' + '_' + str(run) + '_.log' - paramList.append ( {"operation":'get', "localfile":localfile, "remotefile":remotefile} ) - #sftp_module (user, password, EPCMachine, ports, localfile, remotefile, sftp_log, "get") + test_result=test_result & run_result + test_result_string=test_result_string + run_result_string - localfile = logdir_local_testcase + '/HSS_compile' + '_' + str(run) + '_.log' - remotefile = logdir_EPC + '/HSS_compile' + '_' + str(run) + '_.log' - paramList.append ( {"operation":'get', "localfile":localfile, "remotefile":remotefile} ) - #sftp_module (user, password, EPCMachine, ports, localfile, remotefile, sftp_log, "get") - - localfile = logdir_local_testcase + '/HSS_exec' + '_' + str(run) + '_.log' - remotefile = logdir_EPC + '/HSS_exec' + '_' + str(run) + '_.log' - paramList.append ( {"operation":'get', "localfile":localfile, "remotefile":remotefile} ) - #sftp_module (user, password, EPCMachine, ports, localfile, remotefile, sftp_log, "get") - - localfile = logdir_local_testcase + '/EPC_pre_exec' + '_' + str(run) + '_.log' - remotefile = logdir_EPC + '/EPC_pre_exec' + '_' + str(run) + '_.log' - paramList.append ( {"operation":'get', "localfile":localfile, "remotefile":remotefile} ) - #sftp_module (user, password, EPCMachine, ports, localfile, remotefile, sftp_log, "get") - - localfile = logdir_local_testcase + '/EPC_traffic' + '_' + str(run) + '_.log' - remotefile = logdir_EPC + '/EPC_traffic' + '_' + str(run) + '_.log' - paramList.append ( {"operation":'get', "localfile":localfile, "remotefile":remotefile} ) - #sftp_module (user, password, EPCMachine, ports, localfile, remotefile, sftp_log, "get") - - localfile = logdir_local_testcase + '/EPC_task_out' + '_' + str(run) + '_.log' - remotefile = logdir_EPC + '/EPC_task_out' + '_' + str(run) + '_.log' - paramList.append ( {"operation":'get', "localfile":localfile, "remotefile":remotefile} ) - sftp_module (user, password, EPCMachine, ports, paramList, sftp_log) oai_eNB.disconnect() oai_UE.disconnect() oai_EPC.disconnect() #We need to close the new ssh session that was created #if index_eNBMachine == index_EPCMachine: # oai_EPC.disconnect() + #Now we finalize the xml file of the test case + end_time=time.time() + duration= end_time - start_time + xmlFile = logdir_local + '/cmake_targets/autotests/log/'+ testcasename + 'test.' + testcasename + '.xml' + if test_result ==0: + result='FAIL' + else: + result = 'PASS' + xml="" + write_file(xmlFile, xml, mode="w") + #This function searches if test case is present in list of test cases that need to be executed by user def search_test_case_group(testcasename, testcasegroup): diff --git a/cmake_targets/autotests/test_case_list.xml b/cmake_targets/autotests/test_case_list.xml index c6d0eecc41..ee11f25296 100644 --- a/cmake_targets/autotests/test_case_list.xml +++ b/cmake_targets/autotests/test_case_list.xml @@ -961,7 +961,7 @@ $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue - ping 192.172.0.1 + iperf -u -c 192.172.0.1 -b 10Mbits/s -t 3000 @@ -984,12 +984,12 @@ /opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 - iperf -s + iperf -s -i 1 -u -f m - + throughput_test min=0.0Mbits/sec max=0.0Mbits/sec average=0.0Mbits/sec duration=0.0s True - + USRP.ALU_EPC.Bandrich.5MHz.FDD.UL 3 From 2ca52aaf7bf5a342845f8dbcb6b047a24dd2a227 Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Fri, 4 Dec 2015 17:17:41 +0100 Subject: [PATCH 68/85] updated script for UE configuration --- .../autotests/run_exec_lte-softmodem_tests.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/cmake_targets/autotests/run_exec_lte-softmodem_tests.py b/cmake_targets/autotests/run_exec_lte-softmodem_tests.py index 66953fda18..bf5c398d15 100644 --- a/cmake_targets/autotests/run_exec_lte-softmodem_tests.py +++ b/cmake_targets/autotests/run_exec_lte-softmodem_tests.py @@ -297,7 +297,7 @@ class oaiThread (threading.Thread): try: oai = openair('localdomain',self.machine) oai.connect(user, self.password) - print "Starting " + self.threadname + "on machine " + self.machine + print "Starting " + self.threadname + " on machine " + self.machine result = oai.send_recv(self.cmd, self.sudo, self.timeout) print "result = " + result print "Exiting " + self.threadname @@ -639,14 +639,14 @@ def handle_testcaseclass_softmodem (testcase, oldprogramList, logdirOAI5GRepo , task_EPC = task_EPC + '(' + HSS_compile_prog + ' ' + HSS_compile_prog_args + ' ) > ' + logfile_compile_HSS + ' 2>&1 \n' if EPC_pre_exec != "": task_EPC = task_EPC + ' ( ' + EPC_pre_exec + ' '+ EPC_pre_exec_args + ' ) > ' + logfile_pre_exec_EPC + ' 2>&1 \n' - if EPC_main_exec != "": - task_EPC = task_EPC + '(' + addsudo (EPC_main_exec + ' ' + EPC_main_exec_args, mypassword) + ' ) > ' + logfile_exec_EPC + ' 2>&1 & \n' - task_EPC = task_EPC + 'array_exec_pid+=($!) \n' - task_EPC = task_EPC + 'echo EPC_main_exec PID = $! \n' if HSS_main_exec != "": task_EPC = task_EPC + '(' + addsudo (HSS_main_exec + ' ' + HSS_main_exec_args, mypassword) + ' ) > ' + logfile_exec_HSS + ' 2>&1 & \n' task_EPC = task_EPC + 'array_exec_pid+=($!) \n' task_EPC = task_EPC + 'echo HSS_main_exec PID = $! \n' + if EPC_main_exec != "": + task_EPC = task_EPC + '(' + addsudo (EPC_main_exec + ' ' + EPC_main_exec_args, mypassword) + ' ) > ' + logfile_exec_EPC + ' 2>&1 & \n' + task_EPC = task_EPC + 'array_exec_pid+=($!) \n' + task_EPC = task_EPC + 'echo EPC_main_exec PID = $! \n' if EPC_traffic_exec != "": task_EPC = task_EPC + '(' + EPC_traffic_exec + ' ' + EPC_traffic_exec_args + ' ) > ' + logfile_traffic_EPC + ' 2>&1 & \n' task_EPC = task_EPC + 'array_exec_pid+=($!) \n' @@ -681,15 +681,15 @@ def handle_testcaseclass_softmodem (testcase, oldprogramList, logdirOAI5GRepo , cleanOldPrograms(oai_UE, oldprogramList, CleanUpAluLteBox) cleanOldPrograms(oai_EPC, oldprogramList, CleanUpAluLteBox) - print "Copying files from EPCMachine : " + EPCMachine + print "Copying files from EPCMachine : " + EPCMachine + "logdir_EPC = " + logdir_EPC ssh = SSHSession(EPCMachine , username=user, key_file=None, password=password) ssh.get_all(logdir_EPC , logdir_local_testcase) - print "Copying files from eNBMachine " + eNBMachine + print "Copying files from eNBMachine " + eNBMachine + "logdir_eNB = " + logdir_eNB ssh = SSHSession(eNBMachine , username=user, key_file=None, password=password) ssh.get_all(logdir_eNB, logdir_local_testcase) - print "Copying files from UEMachine : " + UEMachine + print "Copying files from UEMachine : " + UEMachine + "logdir_UE = " + logdir_UE ssh = SSHSession(UEMachine , username=user, key_file=None, password=password) ssh.get_all(logdir_UE , logdir_local_testcase) From 8438d5aa5aed1975ed50375e01eb904fe3682663 Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Fri, 4 Dec 2015 18:24:40 +0100 Subject: [PATCH 69/85] update to UE config script --- cmake_targets/autotests/tools/configure_cots_bandrich_ue.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py b/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py index fced79f2ef..cc5d4f706c 100755 --- a/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py +++ b/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py @@ -104,7 +104,7 @@ def start_ue () : timeout=60 #timeout in seconds send_command('AT', 'OK' , timeout) send_command('AT+CFUN=1' , 'OK' , timeout) - send_command('AT+CGATT=0' , 'OK' , timeout) + #send_command('AT+CGATT=0' , 'OK' , timeout) send_command('AT+CGATT=1','OK', 300) #os.system('wvdial -C ' + bandrich_ppd_config + ' &' ) @@ -135,7 +135,7 @@ def stop_ue(): timeout=60 os.system('killall wvdial') send_command('AT', 'OK' , timeout) - send_command('AT+CGATT=0' , 'OK' , timeout) + #send_command('AT+CGATT=0' , 'OK' , timeout) send_command('AT+CFUN=4' , 'OK' , timeout) for arg in sys.argv[1:]: From d1a7df866211650ccc1dee9d0da9908d31799c93 Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Fri, 4 Dec 2015 19:55:26 +0100 Subject: [PATCH 70/85] update to the bandrich UE config --- cmake_targets/autotests/tools/configure_cots_bandrich_ue.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py b/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py index cc5d4f706c..5800597644 100755 --- a/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py +++ b/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py @@ -135,7 +135,7 @@ def stop_ue(): timeout=60 os.system('killall wvdial') send_command('AT', 'OK' , timeout) - #send_command('AT+CGATT=0' , 'OK' , timeout) + send_command('AT+CGATT=0' , 'OK' , timeout) send_command('AT+CFUN=4' , 'OK' , timeout) for arg in sys.argv[1:]: From a9e65743eae4422fab72cb1116541403693f3689 Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Fri, 4 Dec 2015 21:05:49 +0100 Subject: [PATCH 71/85] updated UE config script --- .../autotests/tools/configure_cots_bandrich_ue.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py b/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py index 5800597644..d117b524cd 100755 --- a/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py +++ b/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py @@ -15,6 +15,11 @@ import os #First we find an open port to work with serial_port='' ser=serial.Serial() +openair_dir = os.environ.get('OPENAIR_DIR') +if openair_dir == None: + print "Error getting OPENAIR_DIR environment variable" + sys.exit(1) + def find_open_port(): global serial_port, ser max_ports=100 @@ -33,7 +38,7 @@ find_open_port() print 'Using Serial port : ' + serial_port #serial_port = '/dev/ttyUSB2' -bandrich_ppd_config = '$OPENAIR_DIR/cmake_targets/autotests/tools/wdial.bandrich.conf' +bandrich_ppd_config = os.environ.get('OPENAIR_DIR') + '/cmake_targets/autotests/tools/wdial.bandrich.conf' exit_flag=0 @@ -122,6 +127,7 @@ def start_ue () : ip = IPRoute() idx = ip.link_lookup(ifname=iface)[0] os.system ('route add 192.172.0.1 ppp0') + os.system ('ping 192.172.0.1') break except Exception, e: error = ' Interface ' + iface + 'does not exist...' @@ -135,7 +141,7 @@ def stop_ue(): timeout=60 os.system('killall wvdial') send_command('AT', 'OK' , timeout) - send_command('AT+CGATT=0' , 'OK' , timeout) + #send_command('AT+CGATT=0' , 'OK' , timeout) send_command('AT+CFUN=4' , 'OK' , timeout) for arg in sys.argv[1:]: From d687b89d9d7dfc3b5e9add3872de08eb317be3ca Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Fri, 4 Dec 2015 21:19:27 +0100 Subject: [PATCH 72/85] update to the bandrich UE config --- cmake_targets/autotests/tools/configure_cots_bandrich_ue.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py b/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py index d117b524cd..aa041360b7 100755 --- a/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py +++ b/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py @@ -141,7 +141,7 @@ def stop_ue(): timeout=60 os.system('killall wvdial') send_command('AT', 'OK' , timeout) - #send_command('AT+CGATT=0' , 'OK' , timeout) + send_command('AT+CGATT=0' , 'OK|ERROR' , timeout) send_command('AT+CFUN=4' , 'OK' , timeout) for arg in sys.argv[1:]: From 707e6798c34d40d9802d55bc5f5d7f2a72a92128 Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Sun, 6 Dec 2015 13:32:19 +0100 Subject: [PATCH 73/85] bugfixes to test framework --- cmake_targets/autotests/run_exec_autotests.bash | 6 +++--- cmake_targets/tools/test_helper | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/cmake_targets/autotests/run_exec_autotests.bash b/cmake_targets/autotests/run_exec_autotests.bash index 2eea43082d..a447ac3b93 100755 --- a/cmake_targets/autotests/run_exec_autotests.bash +++ b/cmake_targets/autotests/run_exec_autotests.bash @@ -153,8 +153,8 @@ function test_compile() { echo_success "$test_case_name.${tags} PASSED" xUnit_success "compilation" "$test_case_name.$tags" "PASS" "$result_string" "$xmlfile_testcase" else - echo_success "$test_case_name.${tags} FAILED" - xUnit_success "compilation" "$test_case_name.$tags" "FAIL" "$result_string" "$xmlfile_testcase" + echo_error "$test_case_name.${tags} FAILED" + xUnit_fail "compilation" "$test_case_name.$tags" "FAIL" "$result_string" "$xmlfile_testcase" fi } @@ -324,7 +324,7 @@ function test_compile_and_run() { if [ "$result_string" == "" ]; then echo_error "execution $test_case_name.$compile_prog.${tags_array[$tags_array_index]} Run_Result = \"$result_string\" Result = FAIL" - xUnit_success "execution" "$test_case_name.${tags_array[$tags_array_index]}" "FAIL" "$result_string" "$xmlfile_testcase" + xUnit_fail "execution" "$test_case_name.${tags_array[$tags_array_index]}" "FAIL" "$result_string" "$xmlfile_testcase" else if [ "$global_result" == "0" ]; then echo_error "execution $test_case_name.${tags_array[$tags_array_index]} Run_Result = \"$result_string\" Result = FAIL" diff --git a/cmake_targets/tools/test_helper b/cmake_targets/tools/test_helper index e60fb8c720..495c80f079 100644 --- a/cmake_targets/tools/test_helper +++ b/cmake_targets/tools/test_helper @@ -34,7 +34,7 @@ xUnit_fail() { xmlfile_testcase=$5 currtime=$(date +%s.%N) time=$(echo "$currtime - $XUNIT_START" | bc -l) - xml="" + xml="" echo -e $xml > $xmlfile_testcase XUNIT_TESTCASES_XML="$XUNIT_TESTCASES_XML \n$xml" XUNIT_FAILED=$((XUNIT_FAILED+1)) @@ -56,7 +56,7 @@ xUnit_success() { xmlfile_testcase=$5 currtime=$(date +%s.%N) time=$(echo "$currtime - $XUNIT_START" | bc -l) - xml="" + xml="" echo -e $xml > $xmlfile_testcase XUNIT_TESTCASES_XML="$XUNIT_TESTCASES_XML \n$xml" XUNIT_SUCCESS=$((XUNIT_SUCCESS+1)) From d7e31be9134b8c7e87fc0d4adef360bfe2a7e391 Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Sun, 6 Dec 2015 23:11:01 +0100 Subject: [PATCH 74/85] updates to autotest framework --- cmake_targets/autotests/README.txt | 6 +- .../autotests/run_exec_lte-softmodem_tests.py | 119 +++++++++++++----- cmake_targets/autotests/test_case_list.xml | 21 ++-- cmake_targets/tools/test_helper | 4 +- 4 files changed, 103 insertions(+), 47 deletions(-) diff --git a/cmake_targets/autotests/README.txt b/cmake_targets/autotests/README.txt index c3fccd9e6b..8f6136c546 100644 --- a/cmake_targets/autotests/README.txt +++ b/cmake_targets/autotests/README.txt @@ -111,11 +111,11 @@ Obj.# Case# Test# Description 01 57 lte-softmodem tests with USRP B210 RF as eNB and OAI EPC (eNB and EPC are on different machines) w/ Bandrich COTS UE -01 58 lte-softmodem tests with USRP B210 RF as eNB and ALU EPC w/ Bandrich COTS UE for `TX/1RX, 1TX/2RX, 2TX/1RX 2TX/2RX +01 58 lte-softmodem tests with USRP X310 RF as eNB and ALU EPC w/ Bandrich COTS UE for `TX/1RX, 1TX/2RX, 2TX/1RX 2TX/2RX -01 59 lte-softmodem tests with USRP B210 RF as eNB and OAI EPC (eNB and EPC are on same machines) w/ Bandrich COTS UE +01 59 lte-softmodem tests with USRP X310 RF as eNB and OAI EPC (eNB and EPC are on same machines) w/ Bandrich COTS UE -01 61 lte-softmodem tests with USRP B210 RF as eNB and OAI EPC (eNB and EPC are on different machines) w/ Bandrich COTS UE +01 61 lte-softmodem tests with USRP X310 RF as eNB and OAI EPC (eNB and EPC are on different machines) w/ Bandrich COTS UE 01 61 lte-softmodem tests with EXMIMO RF as eNB and ALU EPC w/ Bandrich COTS UE 01 62 lte-softmodem tests with EXMIMO RF as eNB and OAI EPC (eNB and EPC are on same machines) w/ Bandrich COTS UE diff --git a/cmake_targets/autotests/run_exec_lte-softmodem_tests.py b/cmake_targets/autotests/run_exec_lte-softmodem_tests.py index bf5c398d15..4bbe55e285 100644 --- a/cmake_targets/autotests/run_exec_lte-softmodem_tests.py +++ b/cmake_targets/autotests/run_exec_lte-softmodem_tests.py @@ -233,10 +233,11 @@ def finalize_deploy_script (timeout_cmd, terminate_missing_procs='True'): sleep $wakeup_interval done echo "Final time step (Duration of test case) = $step " + date """ else: #We do not terminate the script if one of the processes has existed prematurely - cmd = cmd + 'sleep ' + str(timeout_cmd) + '\n' + cmd = cmd + 'sleep ' + str(timeout_cmd) + ' ; date \n' return cmd @@ -329,7 +330,7 @@ class testCaseThread_generic (threading.Thread): #addsudo = 'echo \'' + mypassword + '\' | sudo -S -E ' addpass = 'echo \'' + mypassword + '\' | ' user = getpass.getuser() - print "Starting test case : " + self.testcasename + " On machine " + self.machine + print "Starting test case : " + self.testcasename + " On machine " + self.machine + " timeout = " + str(self.timeout) oai = openair('localdomain',self.machine) oai.connect(user, self.password) cleanOldPrograms(oai, self.oldprogramList, self.CleanupAluLteBox) @@ -349,7 +350,7 @@ class testCaseThread_generic (threading.Thread): os.system("mkdir -p " + logdir_local_testcase) cmd = "mkdir -p " + logdir_remote_testcase res = oai.send_recv(cmd, False, self.timeout) - print "res = " + res + #print "res = " + res cmd = "( cd " + self.logdirOAI5GRepo + " \n " cmd = cmd + "source oaienv \n" @@ -359,7 +360,7 @@ class testCaseThread_generic (threading.Thread): #print "cmd = " + cmd res = oai.send_recv(cmd, False, self.timeout) #print "res = " + res - print "ThreadID = " + str(self.threadID) + "ThreadName: " + self.name + " testcasename: " + self.testcasename + "Execution Result = " + res + #print "ThreadID = " + str(self.threadID) + "ThreadName: " + self.name + " testcasename: " + self.testcasename + "Execution Result = " + res write_file(logfile_task_testcasename, cmd, mode="w") #Now we copy all the remote files ssh = SSHSession(self.machine , username=user, key_file=None, password=self.password) @@ -385,8 +386,11 @@ def handle_testcaseclass_generic (testcasename, threadListGeneric, oldprogramLis try: mypassword=password MachineListFree=[] + threadListNew=[] while MachineListFree.__len__() == 0 : MachineListBusy=[] + MachineListFree=[] + threadListNew=[] #first we need to find the list of free machines that we could run our test case if threadListGeneric.__len__() ==0 : #This means no thread is started yet @@ -398,25 +402,29 @@ def handle_testcaseclass_generic (testcasename, threadListGeneric, oldprogramLis testcasenameold = param["testcasename"] thread_id.join(1) if thread_id.isAlive() == True: - print "thread_id is alive: testcasename: " + testcasenameold + threadListNew.append(param) + print "thread_id is alive: testcasename: " + testcasenameold + " on machine "+ machine if machine not in MachineListBusy: MachineListBusy.append(machine) else : - threadListGeneric.remove(param) + print "thread_id is finished: testcasename: " + testcasenameold + " on machine " + machine + #threadListGeneric.remove(param) + #if machine not in MachineListFree: + # MachineListFree.append(machine) #Now we check if there is at least one free machine MachineListFree = MachineList[:] for machine in MachineListBusy: if machine in MachineListFree: MachineListFree.remove(machine) - #print "MachineListFree = " + ','.join(MachineListFree) - #print "MachineListBusy = " + ','.join(MachineListBusy) - #print "MachineList = " + ','.join(MachineList) + print "MachineListFree = " + ','.join(MachineListFree) + print "MachineListBusy = " + ','.join(MachineListBusy) + print "MachineList = " + ','.join(MachineList) machine = MachineListFree[0] - thread = testCaseThread_generic(1,"Generic Thread_"+testcasename+"_"+machine+_, machine, logdirOAI5GRepo, testcasename, oldprogramList, CleanupAluLteBox, password, timeout) + thread = testCaseThread_generic(1,"Generic Thread_"+testcasename+"_"+ "machine_", machine, logdirOAI5GRepo, testcasename, oldprogramList, CleanupAluLteBox, password, timeout) param={"thread_id":thread, "Machine":machine, "testcasename":testcasename} thread.start() - threadListGeneric.append(param) - return threadListGeneric + threadListNew.append(param) + return threadListNew except Exception, e: error='' error = error + ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e) @@ -561,14 +569,24 @@ def handle_testcaseclass_softmodem (testcase, oldprogramList, logdirOAI5GRepo , logfile_exec_eNB = logdir_eNB + '/eNB_exec' + '_' + str(run) + '_.log' logfile_pre_exec_eNB = logdir_eNB + '/eNB_pre_exec' + '_' + str(run) + '_.log' logfile_traffic_eNB = logdir_eNB + '/eNB_traffic' + '_' + str(run) + '_.log' + logfile_task_eNB_compile_out = logdir_eNB + '/eNB_task_compile_out' + '_' + str(run) + '_.log' + logfile_task_eNB_compile = logdir_local_testcase + '/eNB_task_compile' + '_' + str(run) + '_.log' logfile_task_eNB_out = logdir_eNB + '/eNB_task_out' + '_' + str(run) + '_.log' logfile_task_eNB = logdir_local_testcase + '/eNB_task' + '_' + str(run) + '_.log' - task_eNB = ' ( \n' - task_eNB = task_eNB + 'cd ' + logdirOAI5GRepo + ' ; source oaienv ; source cmake_targets/tools/build_helper \n' - task_eNB = task_eNB + 'env |grep OPENAIR \n' - task_eNB = task_eNB + update_config_file(oai_eNB, eNB_config_file, logdirOAI5GRepo, '$OPENAIR_DIR/cmake_targets/autotests/tools/search_repl.py') + '\n' + + task_eNB_compile = ' ( uname -a ; date \n' + task_eNB_compile = task_eNB_compile + 'cd ' + logdirOAI5GRepo + ' ; source oaienv ; source cmake_targets/tools/build_helper \n' + task_eNB_compile = task_eNB_compile + 'env |grep OPENAIR \n' + task_eNB_compile = task_eNB_compile + update_config_file(oai_eNB, eNB_config_file, logdirOAI5GRepo, '$OPENAIR_DIR/cmake_targets/autotests/tools/search_repl.py') + '\n' if eNB_compile_prog != "": - task_eNB = task_eNB + ' ( ' + eNB_compile_prog + ' '+ eNB_compile_prog_args + ' ) > ' + logfile_compile_eNB + ' 2>&1 \n' + task_eNB_compile = task_eNB_compile + ' ( ' + eNB_compile_prog + ' '+ eNB_compile_prog_args + ' ) > ' + logfile_compile_eNB + ' 2>&1 \n' + task_eNB_compile = task_eNB_compile + ' date ) > ' + logfile_task_eNB_compile_out + ' 2>&1 ' + write_file(logfile_task_eNB_compile, task_eNB_compile, mode="w") + + task_eNB = ' ( uname -a ; date \n' + task_eNB = task_eNB + 'cd ' + logdirOAI5GRepo + ' ; source oaienv ; source cmake_targets/tools/build_helper \n' + task_eNB = task_eNB + 'env |grep OPENAIR \n' + 'array_exec_pid=() \n' + if eNB_pre_exec != "": task_eNB = task_eNB + ' ( ' + eNB_pre_exec + ' '+ eNB_pre_exec_args + ' ) > ' + logfile_pre_exec_eNB + ' 2>&1 \n' if eNB_main_exec != "": @@ -593,15 +611,27 @@ def handle_testcaseclass_softmodem (testcase, oldprogramList, logdirOAI5GRepo , logfile_traffic_UE = logdir_UE + '/UE_traffic' + '_' + str(run) + '_.log' logfile_task_UE_out = logdir_UE + '/UE_task_out' + '_' + str(run) + '_.log' logfile_task_UE = logdir_local_testcase + '/UE_task' + '_' + str(run) + '_.log' - task_UE = ' ( \n' + logfile_task_UE_compile_out = logdir_UE + '/UE_task_compile_out' + '_' + str(run) + '_.log' + logfile_task_UE_compile = logdir_local_testcase + '/UE_task_compile' + '_' + str(run) + '_.log' + + task_UE_compile = ' ( uname -a ; date \n' + task_UE_compile = task_UE_compile + 'array_exec_pid=()' + '\n' + task_UE_compile = task_UE_compile + 'cd ' + logdirOAI5GRepo + '\n' + task_UE_compile = task_UE_compile + 'source oaienv \n' + task_UE_compile = task_UE_compile + 'source cmake_targets/tools/build_helper \n' + task_UE_compile = task_UE_compile + 'env |grep OPENAIR \n' + task_UE_compile = task_UE_compile + update_config_file(oai_UE, UE_config_file, logdirOAI5GRepo, '$OPENAIR_DIR/cmake_targets/autotests/tools/search_repl.py') + '\n' + if UE_compile_prog != "": + task_UE_compile = task_UE_compile + ' ( ' + UE_compile_prog + ' '+ UE_compile_prog_args + ' ) > ' + logfile_compile_UE + ' 2>&1 \n' + task_UE_compile = task_UE_compile + ' ) > ' + logfile_task_UE_compile_out + ' 2>&1 ' + write_file(logfile_task_UE_compile, task_UE_compile, mode="w") + + task_UE = ' ( uname -a ; date \n' task_UE = task_UE + 'array_exec_pid=()' + '\n' task_UE = task_UE + 'cd ' + logdirOAI5GRepo + '\n' task_UE = task_UE + 'source oaienv \n' task_UE = task_UE + 'source cmake_targets/tools/build_helper \n' task_UE = task_UE + 'env |grep OPENAIR \n' - task_UE = task_UE + update_config_file(oai_UE, UE_config_file, logdirOAI5GRepo, '$OPENAIR_DIR/cmake_targets/autotests/tools/search_repl.py') + '\n' - if UE_compile_prog != "": - task_UE = task_UE + ' ( ' + UE_compile_prog + ' '+ UE_compile_prog_args + ' ) > ' + logfile_compile_UE + ' 2>&1 \n' if UE_pre_exec != "": task_UE = task_UE + ' ( ' + UE_pre_exec + ' '+ UE_pre_exec_args + ' ) > ' + logfile_pre_exec_UE + ' 2>&1 \n' if UE_main_exec != "": @@ -628,15 +658,25 @@ def handle_testcaseclass_softmodem (testcase, oldprogramList, logdirOAI5GRepo , logfile_traffic_EPC = logdir_EPC + '/EPC_traffic' + '_' + str(run) + '_.log' logfile_task_EPC_out = logdir_EPC + '/EPC_task_out' + '_' + str(run) + '_.log' logfile_task_EPC = logdir_local_testcase + '/EPC_task' + '_' + str(run) + '_.log' - task_EPC = ' ( \n' + logfile_task_EPC_compile_out = logdir_EPC + '/EPC_task_compile_out' + '_' + str(run) + '_.log' + logfile_task_EPC_compile = logdir_local_testcase + '/EPC_task_compile' + '_' + str(run) + '_.log' + + task_EPC_compile = ' ( uname -a ; date \n' + task_EPC_compile = task_EPC_compile + 'array_exec_pid=()' + '\n' + task_EPC_compile = task_EPC_compile + 'cd ' + logdirOpenaircnRepo + '\n' + task_EPC_compile = task_EPC_compile + update_config_file(oai_EPC, EPC_config_file, logdirOpenaircnRepo, logdirOpenaircnRepo+'/TEST/autotests/tools/search_repl.py') + '\n' + task_EPC_compile = task_EPC_compile + 'source BUILD/TOOLS/build_helper \n' + if EPC_compile_prog != "": + task_EPC_compile = task_EPC_compile + '(' + EPC_compile_prog + ' ' + EPC_compile_prog_args + ' ) > ' + logfile_compile_EPC + ' 2>&1 \n' + if HSS_compile_prog != "": + task_EPC_compile = task_EPC_compile + '(' + HSS_compile_prog + ' ' + HSS_compile_prog_args + ' ) > ' + logfile_compile_HSS + ' 2>&1 \n' + task_EPC_compile = task_EPC_compile + ' ) > ' + logfile_task_EPC_compile_out + ' 2>&1 ' + write_file(logfile_task_EPC_compile, task_EPC_compile, mode="w") + + task_EPC = ' ( uname -a ; date \n' task_EPC = task_EPC + 'array_exec_pid=()' + '\n' task_EPC = task_EPC + 'cd ' + logdirOpenaircnRepo + '\n' - task_EPC = task_EPC + update_config_file(oai_EPC, EPC_config_file, logdirOpenaircnRepo, logdirOpenaircnRepo+'/TEST/autotests/tools/search_repl.py') + '\n' task_EPC = task_EPC + 'source BUILD/TOOLS/build_helper \n' - if EPC_compile_prog != "": - task_EPC = task_EPC + '(' + EPC_compile_prog + ' ' + EPC_compile_prog_args + ' ) > ' + logfile_compile_EPC + ' 2>&1 \n' - if HSS_compile_prog != "": - task_EPC = task_EPC + '(' + HSS_compile_prog + ' ' + HSS_compile_prog_args + ' ) > ' + logfile_compile_HSS + ' 2>&1 \n' if EPC_pre_exec != "": task_EPC = task_EPC + ' ( ' + EPC_pre_exec + ' '+ EPC_pre_exec_args + ' ) > ' + logfile_pre_exec_EPC + ' 2>&1 \n' if HSS_main_exec != "": @@ -658,6 +698,23 @@ def handle_testcaseclass_softmodem (testcase, oldprogramList, logdirOAI5GRepo , task_EPC = task_EPC + ' ) > ' + logfile_task_EPC_out + ' 2>&1 ' write_file(logfile_task_EPC, task_EPC, mode="w") + #first we compile all the programs + thread_EPC = oaiThread(1, "EPC_thread", EPCMachine, user, password , task_EPC_compile, False, timeout_thread) + thread_eNB = oaiThread(2, "eNB_thread", eNBMachine, user, password , task_eNB_compile, False, timeout_thread) + thread_UE = oaiThread(3, "UE_thread", UEMachine, user, password , task_UE_compile, False, timeout_thread) + threads=[] + threads.append(thread_eNB) + threads.append(thread_UE) + threads.append(thread_EPC) + # Start new Threads + thread_eNB.start() + thread_UE.start() + thread_EPC.start() + #Wait for all the compile threads to complete + for t in threads: + t.join() + + #Now we execute all the threads thread_EPC = oaiThread(1, "EPC_thread", EPCMachine, user, password , task_EPC, False, timeout_thread) thread_eNB = oaiThread(2, "eNB_thread", eNBMachine, user, password , task_eNB, False, timeout_thread) thread_UE = oaiThread(3, "UE_thread", UEMachine, user, password , task_UE, False, timeout_thread) @@ -683,20 +740,20 @@ def handle_testcaseclass_softmodem (testcase, oldprogramList, logdirOAI5GRepo , print "Copying files from EPCMachine : " + EPCMachine + "logdir_EPC = " + logdir_EPC ssh = SSHSession(EPCMachine , username=user, key_file=None, password=password) - ssh.get_all(logdir_EPC , logdir_local_testcase) + ssh.get_all(logdir_EPC , logdir_local + '/cmake_targets/autotests/log/'+ testcasename) print "Copying files from eNBMachine " + eNBMachine + "logdir_eNB = " + logdir_eNB ssh = SSHSession(eNBMachine , username=user, key_file=None, password=password) - ssh.get_all(logdir_eNB, logdir_local_testcase) + ssh.get_all(logdir_eNB, logdir_local + '/cmake_targets/autotests/log/'+ testcasename) print "Copying files from UEMachine : " + UEMachine + "logdir_UE = " + logdir_UE ssh = SSHSession(UEMachine , username=user, key_file=None, password=password) - ssh.get_all(logdir_UE , logdir_local_testcase) + ssh.get_all(logdir_UE , logdir_local + '/cmake_targets/autotests/log/'+ testcasename) #Currently we only perform throughput tests result = tput_test_search_expr(eNB_search_expr_true, logfile_traffic_eNB) run_result=run_result&result - result = tput_test_search_expr(ePC_search_expr_true, logfile_traffic_ePC) + result = tput_test_search_expr(EPC_search_expr_true, logfile_traffic_EPC) run_result=run_result&result result = tput_test_search_expr(UE_search_expr_true, logfile_traffic_UE) run_result=run_result&result diff --git a/cmake_targets/autotests/test_case_list.xml b/cmake_targets/autotests/test_case_list.xml index ee11f25296..94dc3a35ff 100644 --- a/cmake_targets/autotests/test_case_list.xml +++ b/cmake_targets/autotests/test_case_list.xml @@ -211,7 +211,7 @@ $OPENAIR_DIR/cmake_targets/build_oai --eNB -w ETHERNET -r Rel10 - $OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem + $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem @@ -280,7 +280,6 @@ $OPENAIR_DIR/cmake_targets/build_oai --RRH -w EXMIMO $OPENAIR_DIR/cmake_targets/rrh_gw/build/rrh_gw - $OPENAIR_DIR/cmake_targets/rrh_gw/build/rrh_gw $OPENAIR_DIR/cmake_targets/rrh_gw/build/CMakeFiles/openair_rf/openair_rf.ko $OPENAIR_DIR/cmake_targets/rrh_gw/build/updatefw $OPENAIR_DIR/cmake_targets/rrh_gw/build/oarf_config_exmimo.oct @@ -307,7 +306,7 @@ - RRH.USRP.Rel10 + RRH.BLADERF.Rel10 1 @@ -929,7 +928,7 @@ calisson stevens amerique - 60 + 180 /tmp targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code \"1\" targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_country_code \"208\" @@ -937,15 +936,15 @@ targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf tracking_area_code \"1\" targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mobile_country_code \"208\" targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf N_RB_DL 50 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf N_RB_DL 25 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" $OPENAIR_DIR/cmake_targets/build_oai - --eNB -w USRP + --eNB -w USRP -x -c $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf - iperf -s + @@ -956,12 +955,12 @@ targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_country_code \"5\" targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_network_code \"6\" $OPENAIR_DIR/cmake_targets/build_oai - --eNB -w USRP + --eNB -w USRP -x -c - $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue + sleep 30 ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue - iperf -u -c 192.172.0.1 -b 10Mbits/s -t 3000 + while true; do var=`ifconfig ppp0` ;sleep 1; if [ "$var" != "" ]; then break; fi ; done ; sleep 5; iperf -u -c 192.172.0.1 -b 10Mbits/s -t 3000 -B 192.172.0.2 @@ -984,7 +983,7 @@ /opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 - iperf -s -i 1 -u -f m + sleep 5; iperf -s -i 1 -u -f m -B 192.172.0.1 throughput_test min=0.0Mbits/sec max=0.0Mbits/sec average=0.0Mbits/sec duration=0.0s diff --git a/cmake_targets/tools/test_helper b/cmake_targets/tools/test_helper index 495c80f079..49a9910573 100644 --- a/cmake_targets/tools/test_helper +++ b/cmake_targets/tools/test_helper @@ -35,7 +35,7 @@ xUnit_fail() { currtime=$(date +%s.%N) time=$(echo "$currtime - $XUNIT_START" | bc -l) xml="" - echo -e $xml > $xmlfile_testcase + echo -e $xml >> $xmlfile_testcase XUNIT_TESTCASES_XML="$XUNIT_TESTCASES_XML \n$xml" XUNIT_FAILED=$((XUNIT_FAILED+1)) } @@ -57,7 +57,7 @@ xUnit_success() { currtime=$(date +%s.%N) time=$(echo "$currtime - $XUNIT_START" | bc -l) xml="" - echo -e $xml > $xmlfile_testcase + echo -e $xml >> $xmlfile_testcase XUNIT_TESTCASES_XML="$XUNIT_TESTCASES_XML \n$xml" XUNIT_SUCCESS=$((XUNIT_SUCCESS+1)) } From 85d0a88e30a7d3579f9c6fb7160413249db7ea35 Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Mon, 7 Dec 2015 10:54:16 +0100 Subject: [PATCH 75/85] updated autotest xml for always clean compile --- cmake_targets/autotests/test_case_list.xml | 94 +++++++++++----------- 1 file changed, 47 insertions(+), 47 deletions(-) diff --git a/cmake_targets/autotests/test_case_list.xml b/cmake_targets/autotests/test_case_list.xml index 94dc3a35ff..9d084287c0 100644 --- a/cmake_targets/autotests/test_case_list.xml +++ b/cmake_targets/autotests/test_case_list.xml @@ -15,7 +15,7 @@ Build oaisim.Rel8 $OPENAIR_DIR/cmake_targets/build_oai - --oaisim -r Rel8 + --oaisim -r Rel8 -c $OPENAIR_DIR/cmake_targets/oaisim_build_oai/build/oaisim $OPENAIR_DIR/cmake_targets/at_commands/build/at_nas_ue $OPENAIR_DIR/cmake_targets/nas_sim_tools/build/usim @@ -35,7 +35,7 @@ Build oaisim.Rel10 $OPENAIR_DIR/cmake_targets/build_oai - --oaisim -r Rel10 + --oaisim -r Rel10 -c $OPENAIR_DIR/cmake_targets/oaisim_build_oai/build/oaisim $OPENAIR_DIR/cmake_targets/at_commands/build/at_nas_ue $OPENAIR_DIR/cmake_targets/nas_sim_tools/build/usim @@ -55,7 +55,7 @@ Build oaisim_noS1.Rel10 $OPENAIR_DIR/cmake_targets/build_oai - --oaisim -r Rel10 --noS1 + --oaisim -r Rel10 --noS1 -c $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1 $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/rb_tool $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/CMakeFiles/nasmesh/nasmesh.ko @@ -75,7 +75,7 @@ Build lte_softmodem_noS1.USRP.Rel10 $OPENAIR_DIR/cmake_targets/build_oai - --eNB -w USRP -r Rel10 --noS1 + --eNB -w USRP -r Rel10 --noS1 -c $OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 $OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/rb_tool $OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/CMakeFiles/nasmesh/nasmesh.ko @@ -94,7 +94,7 @@ Build lte_softmodem_noS1.EXMIMO.Rel10 $OPENAIR_DIR/cmake_targets/build_oai - --eNB -w EXMIMO -r Rel10 --noS1 + --eNB -w EXMIMO -r Rel10 --noS1 -c $OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 $OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/rb_tool $OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/CMakeFiles/nasmesh/nasmesh.ko @@ -116,7 +116,7 @@ Build lte_softmodem_noS1.BLADERF.Rel10 $OPENAIR_DIR/cmake_targets/build_oai - --eNB -w BLADERF -r Rel10 --noS1 + --eNB -w BLADERF -r Rel10 --noS1 -c $OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 $OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/rb_tool $OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/CMakeFiles/nasmesh/nasmesh.ko @@ -135,7 +135,7 @@ Build lte_softmodem_noS1.ETHERNET.Rel10 $OPENAIR_DIR/cmake_targets/build_oai - --eNB -w ETHERNET -r Rel10 --noS1 + --eNB -w ETHERNET -r Rel10 --noS1 -c $OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 $OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/rb_tool $OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/CMakeFiles/nasmesh/nasmesh.ko @@ -156,7 +156,7 @@ Build lte_softmodem.USRP.Rel10 $OPENAIR_DIR/cmake_targets/build_oai - --eNB -w USRP -r Rel10 + --eNB -w USRP -r Rel10 -c $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem @@ -173,7 +173,7 @@ Build lte_softmodem.EXMIMO.Rel10 $OPENAIR_DIR/cmake_targets/build_oai - --eNB -w EXMIMO -r Rel10 + --eNB -w EXMIMO -r Rel10 -c $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem $OPENAIR_DIR/cmake_targets/lte_build_oai/build/CMakeFiles/openair_rf/openair_rf.ko $OPENAIR_DIR/cmake_targets/lte_build_oai/build/updatefw @@ -193,7 +193,7 @@ Build lte_softmodem.BLADERF.Rel10 $OPENAIR_DIR/cmake_targets/build_oai - --eNB -w BLADERF -r Rel10 + --eNB -w BLADERF -r Rel10 -c $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem @@ -210,7 +210,7 @@ Build lte_softmodem.ETHERNET.Rel10 $OPENAIR_DIR/cmake_targets/build_oai - --eNB -w ETHERNET -r Rel10 + --eNB -w ETHERNET -r Rel10 -c $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem @@ -227,7 +227,7 @@ Build phy unitary simulators + secuirity unitary tests $OPENAIR_DIR/cmake_targets/build_oai - --phy_simulators --core_simulators + --phy_simulators --core_simulators -c $OPENAIR_DIR/cmake_targets/lte-simulators/build/dlsim $OPENAIR_DIR/cmake_targets/lte-simulators/build/ulsim $OPENAIR_DIR/cmake_targets/lte-simulators/build/pucchsim @@ -261,7 +261,7 @@ Build RRH Gateway $OPENAIR_DIR/cmake_targets/build_oai - --RRH -w USRP + --RRH -w USRP -c $OPENAIR_DIR/cmake_targets/rrh_gw/build/rrh_gw @@ -278,7 +278,7 @@ Build RRH Gateway $OPENAIR_DIR/cmake_targets/build_oai - --RRH -w EXMIMO + --RRH -w EXMIMO -c $OPENAIR_DIR/cmake_targets/rrh_gw/build/rrh_gw $OPENAIR_DIR/cmake_targets/rrh_gw/build/CMakeFiles/openair_rf/openair_rf.ko $OPENAIR_DIR/cmake_targets/rrh_gw/build/updatefw @@ -298,7 +298,7 @@ Build RRH Gateway $OPENAIR_DIR/cmake_targets/build_oai - --RRH -w BLADERF + --RRH -w BLADERF -c $OPENAIR_DIR/cmake_targets/rrh_gw/build/rrh_gw @@ -316,7 +316,7 @@ Run OAISIM Rel10 TDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) and search for errors, segmentation fault or exit $OPENAIR_DIR/cmake_targets/build_oai - --oaisim --noS1 + --oaisim --noS1 -c $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1 @@ -343,7 +343,7 @@ Run OAISIM Rel10 TDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit $OPENAIR_DIR/cmake_targets/build_oai - --oaisim --noS1 + --oaisim --noS1 -c $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1 @@ -370,7 +370,7 @@ Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2,5,6) and search for errors, segmentation fault or exit $OPENAIR_DIR/cmake_targets/build_oai - --oaisim --noS1 + --oaisim --noS1 -c $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1 @@ -397,7 +397,7 @@ Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit $OPENAIR_DIR/cmake_targets/build_oai - --oaisim --noS1 + --oaisim --noS1 -c $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1 @@ -424,7 +424,7 @@ Run OAI Rel10 TDD, 1 eNB + 1 UE (5 MHz) without abstraction mode, send ping from from eNB to UE, and check that there is no packet losses $OPENAIR_DIR/cmake_targets/build_oai - --oaisim --noS1 + --oaisim --noS1 -c $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1 @@ -451,7 +451,7 @@ Run OAI Rel10 TDD, 1 eNB + 1 UE (5 MHz) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check that there is no packet losses $OPENAIR_DIR/cmake_targets/build_oai - --oaisim --noS1 + --oaisim --noS1 -c $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1 @@ -478,7 +478,7 @@ Run OAISIM Rel10 FDD, 1 eNB + 1 UE 1 eNB (5 MHz/10MHz/20MHz), (TM 1,2,5,6) and search for errors, segmentation fault or exit $OPENAIR_DIR/cmake_targets/build_oai - --oaisim --noS1 + --oaisim --noS1 -c $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1 @@ -505,7 +505,7 @@ Run OAISIM Rel10 FDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode and search for errors $OPENAIR_DIR/cmake_targets/build_oai - --oaisim --noS1 + --oaisim --noS1 -c $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1 @@ -532,7 +532,7 @@ Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2,5,6) and search for errors, segmentation fault or exit $OPENAIR_DIR/cmake_targets/build_oai - --oaisim --noS1 + --oaisim --noS1 -c $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1 @@ -559,7 +559,7 @@ Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode and search for errors $OPENAIR_DIR/cmake_targets/build_oai - --oaisim --noS1 + --oaisim --noS1 -c $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1 @@ -586,7 +586,7 @@ Run OAI Rel10 FDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) without PHY_ABSTRACTION mode, ping from from eNB to UE, and for check for no packet losses $OPENAIR_DIR/cmake_targets/build_oai - --oaisim --noS1 + --oaisim --noS1 -c $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1 @@ -613,7 +613,7 @@ Run OAI Rel10 FDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check for no packet losses $OPENAIR_DIR/cmake_targets/build_oai - --oaisim --noS1 + --oaisim --noS1 -c $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1 @@ -640,7 +640,7 @@ Check if eMBMS procedure is not finished completely, make sure that the SIB13/MCCH have been correclty received by UEs $OPENAIR_DIR/cmake_targets/build_oai - --oaisim --noS1 + --oaisim --noS1 -c $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1 @@ -656,7 +656,7 @@ Check if eMBMS multicast/broadcast data is received, make sure that the SIB13/MCCH/MTCH have been correclty received by UEs $OPENAIR_DIR/cmake_targets/build_oai - --oaisim --noS1 + --oaisim --noS1 -c $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1 @@ -672,7 +672,7 @@ Check for eMBMS multicast/broadcast data received in fdd mode, make sure that the SIB13/MCCH/MTCH have been correclty received by UEs $OPENAIR_DIR/cmake_targets/build_oai - --oaisim --noS1 + --oaisim --noS1 -c $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1 @@ -688,7 +688,7 @@ Check for eMBMS multicast/broadcast DF relaying working properly in fdd mode, make sure that the SIB13/MCCH/MTCH have been correclty received by UEs $OPENAIR_DIR/cmake_targets/build_oai - --oaisim --noS1 + --oaisim --noS1 -c $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1 @@ -704,7 +704,7 @@ test_aes128_cmac_encrypt $OPENAIR_DIR/cmake_targets/build_oai - --core_simulators + --core_simulators -c $OPENAIR_DIR/cmake_targets/lte-simulators/build/test_aes128_cmac_encrypt @@ -720,7 +720,7 @@ test_aes128_ctr_decrypt $OPENAIR_DIR/cmake_targets/build_oai - --core_simulators + --core_simulators -c $OPENAIR_DIR/cmake_targets/lte-simulators/build/test_aes128_ctr_decrypt @@ -736,7 +736,7 @@ test_aes128_ctr_encrypt $OPENAIR_DIR/cmake_targets/build_oai - --core_simulators + --core_simulators -c $OPENAIR_DIR/cmake_targets/lte-simulators/build/test_aes128_ctr_encrypt @@ -752,7 +752,7 @@ test_secu_kenb $OPENAIR_DIR/cmake_targets/build_oai - --core_simulators + --core_simulators -c $OPENAIR_DIR/cmake_targets/lte-simulators/build/test_secu_kenb @@ -768,7 +768,7 @@ test_secu_knas $OPENAIR_DIR/cmake_targets/build_oai - --core_simulators + --core_simulators -c $OPENAIR_DIR/cmake_targets/lte-simulators/build/test_secu_knas @@ -784,7 +784,7 @@ test_secu_knas_encrypt_eea1 $OPENAIR_DIR/cmake_targets/build_oai - --core_simulators + --core_simulators -c $OPENAIR_DIR/cmake_targets/lte-simulators/build/test_secu_knas_encrypt_eea1 @@ -800,7 +800,7 @@ test_secu_knas_encrypt_eea2 $OPENAIR_DIR/cmake_targets/build_oai - --core_simulators + --core_simulators -c $OPENAIR_DIR/cmake_targets/lte-simulators/build/test_secu_knas_encrypt_eea2 @@ -816,7 +816,7 @@ test_secu_knas_encrypt_eia1 $OPENAIR_DIR/cmake_targets/build_oai - --core_simulators + --core_simulators -c $OPENAIR_DIR/cmake_targets/lte-simulators/build/test_secu_knas_encrypt_eia1 @@ -832,7 +832,7 @@ test_secu_knas_encrypt_eia2 $OPENAIR_DIR/cmake_targets/build_oai - --core_simulators + --core_simulators -c $OPENAIR_DIR/cmake_targets/lte-simulators/build/test_secu_knas_encrypt_eia1 @@ -848,7 +848,7 @@ test_kdf $OPENAIR_DIR/cmake_targets/build_oai - --core_simulators + --core_simulators -c $OPENAIR_DIR/cmake_targets/lte-simulators/build/test_kdf @@ -875,7 +875,7 @@ $OPENAIR_DIR/cmake_targets/build_oai - --phy_simulators + --phy_simulators -c $OPENAIR_DIR/cmake_targets/lte-simulators/build/dlsim @@ -906,7 +906,7 @@ (Test 6, 20 MHz, FDD (MCS 16), AWGN, 12 dB (70%)) $OPENAIR_DIR/cmake_targets/build_oai - --phy_simulators + --phy_simulators -c $OPENAIR_DIR/cmake_targets/lte-simulators/build/ulsim @@ -1010,7 +1010,7 @@ targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf N_RB_DL 50 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mme_ip_address "ipv4=\"192.168.12.62\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" $OPENAIR_DIR/cmake_targets/build_oai - --eNB -w USRP + --eNB -w USRP -c $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem @@ -1026,7 +1026,7 @@ targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_country_code \"208\" targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_network_code \"92\" $OPENAIR_DIR/cmake_targets/build_oai - --eNB -w USRP + --eNB -w USRP -c $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue @@ -1089,7 +1089,7 @@ targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf N_RB_DL 50 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mme_ip_address "ipv4=\"192.168.12.62\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" $OPENAIR_DIR/cmake_targets/build_oai - --eNB -w USRP + --eNB -w USRP -c $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem @@ -1105,7 +1105,7 @@ targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_country_code \"208\" targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_network_code \"92\" $OPENAIR_DIR/cmake_targets/build_oai - --eNB -w USRP + --eNB -w USRP -c $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue From feae43f81f95a2d851e286a0313816a955f16f09 Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Mon, 7 Dec 2015 13:07:27 +0100 Subject: [PATCH 76/85] reduced ping to just 5 packets --- cmake_targets/autotests/tools/configure_cots_bandrich_ue.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py b/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py index aa041360b7..ae25013f52 100755 --- a/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py +++ b/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py @@ -127,7 +127,7 @@ def start_ue () : ip = IPRoute() idx = ip.link_lookup(ifname=iface)[0] os.system ('route add 192.172.0.1 ppp0') - os.system ('ping 192.172.0.1') + os.system ('ping -c 5 192.172.0.1') break except Exception, e: error = ' Interface ' + iface + 'does not exist...' From 2eaafd8d8ea7b1b69ac0e61560e0936412d6f1a6 Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Mon, 7 Dec 2015 19:24:51 +0100 Subject: [PATCH 77/85] bugfixes to test framework --- cmake_targets/autotests/README.txt | 12 +- .../autotests/run_exec_lte-softmodem_tests.py | 35 +- cmake_targets/autotests/test_case_list.xml | 410 +++++++++++++++++- 3 files changed, 438 insertions(+), 19 deletions(-) diff --git a/cmake_targets/autotests/README.txt b/cmake_targets/autotests/README.txt index 8f6136c546..2e1f3ebad4 100644 --- a/cmake_targets/autotests/README.txt +++ b/cmake_targets/autotests/README.txt @@ -97,13 +97,13 @@ Obj.# Case# Test# Description 01 51 06 mbmssim (TBD) -01 55 lte-softmodem tests with USRP B210 RF as eNB and ALU EPC w/ Bandrich COTS UE for `TX/1RX, 1TX/2RX, 2TX/1RX 2TX/2RX +01 55 lte-softmodem tests with USRP B210 RF as eNB and ALU EPC w/ Bandrich COTS UE for TX/1RX, 1TX/2RX, 2TX/1RX 2TX/2RX 01 55 00 Band 7 FDD 5MHz UL Throughput for 60 sec for 1TX/1RX -01 55 00 Band 7 FDD 10MHz UL Throughput for 60 sec -01 55 00 Band 7 FDD 20MHz UL Throughput for 60 sec -01 55 00 Band 7 FDD 5MHz DL Throughput for 60 sec -01 55 00 Band 7 FDD 10MHz DL Throughput for 60 sec -01 55 00 Band 7 FDD 20MHz DL Throughput for 60 sec +01 55 01 Band 7 FDD 10MHz UL Throughput for 60 sec for 1TX/RX +01 55 02 Band 7 FDD 20MHz UL Throughput for 60 sec for 1TX/RX +01 55 03 Band 7 FDD 5MHz DL Throughput for 60 sec for 1TX/RX +01 55 04 Band 7 FDD 10MHz DL Throughput for 60 sec for 1TX/RX +01 55 05 Band 7 FDD 20MHz DL Throughput for 60 sec for 1TX/RX 01 56 lte-softmodem tests with USRP B210 RF as eNB and OAI EPC (eNB and EPC are on same machines) w/ Bandrich COTS UE diff --git a/cmake_targets/autotests/run_exec_lte-softmodem_tests.py b/cmake_targets/autotests/run_exec_lte-softmodem_tests.py index 4bbe55e285..398592df5a 100644 --- a/cmake_targets/autotests/run_exec_lte-softmodem_tests.py +++ b/cmake_targets/autotests/run_exec_lte-softmodem_tests.py @@ -152,6 +152,9 @@ def tput_test_search_expr (search_expr, logfile_traffic): if (min_tput != None and max_tput != None and avg_tput != None and duration != None ): result = tput_test(logfile_traffic, min_tput, max_tput, avg_tput, duration) + else: + result=1 + return result @@ -492,6 +495,7 @@ def handle_testcaseclass_softmodem (testcase, oldprogramList, logdirOAI5GRepo , UE_traffic_exec_args = testcase.findtext('UE_traffic_exec_args',default='') UE_terminate_missing_procs = testcase.findtext('UE_terminate_missing_procs',default='True') UE_search_expr_true = testcase.findtext('UE_search_expr_true','') + UE_stop_script = testcase.findtext('UE_stop_script','') EPCMachine = testcase.findtext('EPC',default='') EPC_config_file = testcase.findtext('EPC_config_file',default='') @@ -573,6 +577,7 @@ def handle_testcaseclass_softmodem (testcase, oldprogramList, logdirOAI5GRepo , logfile_task_eNB_compile = logdir_local_testcase + '/eNB_task_compile' + '_' + str(run) + '_.log' logfile_task_eNB_out = logdir_eNB + '/eNB_task_out' + '_' + str(run) + '_.log' logfile_task_eNB = logdir_local_testcase + '/eNB_task' + '_' + str(run) + '_.log' + logfile_local_traffic_eNB_out = logdir_local_testcase + '/eNB_traffic' + '_' + str(run) + '_.log' task_eNB_compile = ' ( uname -a ; date \n' task_eNB_compile = task_eNB_compile + 'cd ' + logdirOAI5GRepo + ' ; source oaienv ; source cmake_targets/tools/build_helper \n' @@ -613,6 +618,7 @@ def handle_testcaseclass_softmodem (testcase, oldprogramList, logdirOAI5GRepo , logfile_task_UE = logdir_local_testcase + '/UE_task' + '_' + str(run) + '_.log' logfile_task_UE_compile_out = logdir_UE + '/UE_task_compile_out' + '_' + str(run) + '_.log' logfile_task_UE_compile = logdir_local_testcase + '/UE_task_compile' + '_' + str(run) + '_.log' + logfile_local_traffic_UE_out = logdir_local_testcase + '/UE_traffic' + '_' + str(run) + '_.log' task_UE_compile = ' ( uname -a ; date \n' task_UE_compile = task_UE_compile + 'array_exec_pid=()' + '\n' @@ -660,6 +666,7 @@ def handle_testcaseclass_softmodem (testcase, oldprogramList, logdirOAI5GRepo , logfile_task_EPC = logdir_local_testcase + '/EPC_task' + '_' + str(run) + '_.log' logfile_task_EPC_compile_out = logdir_EPC + '/EPC_task_compile_out' + '_' + str(run) + '_.log' logfile_task_EPC_compile = logdir_local_testcase + '/EPC_task_compile' + '_' + str(run) + '_.log' + logfile_local_traffic_EPC_out = logdir_local_testcase + '/EPC_traffic' + '_' + str(run) + '_.log' task_EPC_compile = ' ( uname -a ; date \n' task_EPC_compile = task_EPC_compile + 'array_exec_pid=()' + '\n' @@ -737,6 +744,20 @@ def handle_testcaseclass_softmodem (testcase, oldprogramList, logdirOAI5GRepo , cleanOldPrograms(oai_eNB, oldprogramList, CleanUpAluLteBox) cleanOldPrograms(oai_UE, oldprogramList, CleanUpAluLteBox) cleanOldPrograms(oai_EPC, oldprogramList, CleanUpAluLteBox) + logfile_UE_stop_script_out = logdir_UE + '/UE_stop_script_out' + '_' + str(run) + '_.log' + logfile_UE_stop_script = logdir_local_testcase + '/UE_stop_script' + '_' + str(run) + '_.log' + + if UE_stop_script != "": + cmd = ' ( uname -a ; date \n' + cmd = cmd + 'cd ' + logdirOAI5GRepo + ' ; source oaienv ; source cmake_targets/tools/build_helper \n' + cmd = cmd + 'env |grep OPENAIR \n' + 'array_exec_pid=() \n' + cmd = cmd + UE_stop_script + '\n' + cmd = cmd + ') > ' + logfile_UE_stop_script_out + ' 2>&1 ' + write_file(logfile_UE_stop_script , cmd, mode="w") + thread_UE = oaiThread(4, "UE_thread", UEMachine, user, password , cmd, False, timeout_thread) + thread_UE.start() + thread_UE.join() + print "Copying files from EPCMachine : " + EPCMachine + "logdir_EPC = " + logdir_EPC ssh = SSHSession(EPCMachine , username=user, key_file=None, password=password) @@ -751,17 +772,17 @@ def handle_testcaseclass_softmodem (testcase, oldprogramList, logdirOAI5GRepo , ssh.get_all(logdir_UE , logdir_local + '/cmake_targets/autotests/log/'+ testcasename) #Currently we only perform throughput tests - result = tput_test_search_expr(eNB_search_expr_true, logfile_traffic_eNB) + result = tput_test_search_expr(eNB_search_expr_true, logfile_local_traffic_eNB_out) run_result=run_result&result - result = tput_test_search_expr(EPC_search_expr_true, logfile_traffic_EPC) + result = tput_test_search_expr(EPC_search_expr_true, logfile_local_traffic_EPC_out) run_result=run_result&result - result = tput_test_search_expr(UE_search_expr_true, logfile_traffic_UE) + result = tput_test_search_expr(UE_search_expr_true, logfile_local_traffic_UE_out) run_result=run_result&result if run_result == 1: - run_result_string = 'RUN_'+str(run) + ' = PASS' + run_result_string = ' RUN_'+str(run) + ' = PASS' else: - run_result_string = 'RUN_'+str(run) + ' = FAIL' + run_result_string = ' RUN_'+str(run) + ' = FAIL' test_result=test_result & run_result test_result_string=test_result_string + run_result_string @@ -775,12 +796,12 @@ def handle_testcaseclass_softmodem (testcase, oldprogramList, logdirOAI5GRepo , #Now we finalize the xml file of the test case end_time=time.time() duration= end_time - start_time - xmlFile = logdir_local + '/cmake_targets/autotests/log/'+ testcasename + 'test.' + testcasename + '.xml' + xmlFile = logdir_local + '/cmake_targets/autotests/log/'+ testcasename + '/test.' + testcasename + '.xml' if test_result ==0: result='FAIL' else: result = 'PASS' - xml="" + xml="" write_file(xmlFile, xml, mode="w") diff --git a/cmake_targets/autotests/test_case_list.xml b/cmake_targets/autotests/test_case_list.xml index 9d084287c0..4448a45c3b 100644 --- a/cmake_targets/autotests/test_case_list.xml +++ b/cmake_targets/autotests/test_case_list.xml @@ -6,7 +6,7 @@ https://gitlab.eurecom.fr/oai/openair-cn.git feature-34-test_framework feature-17-test_framework - oaisim* oaisim_nos1* lte-softmodem* lte-softmodem-nos1* mme_gw* run_epc* run_hss* iperf* hss hss_sim configure_cots_bandrich_ue* wvdial* run_exec_autotests* + oaisim* oaisim_nos1* lte-softmodem* lte-softmodem-nos1* mme_gw* run_epc* run_hss* iperf* hss hss_sim configure_cots_bandrich_ue* wvdial* run_exec_autotests* iperf /opt/ltebox/tools/stop_ltebox 1800 calisson stevens mozart nano amerique @@ -937,7 +937,14 @@ targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mobile_country_code \"208\" targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mobile_network_code \"92\" targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf N_RB_DL 25 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf downlink_frequency 2660000000L + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf uplink_frequency_offset -120000000 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf tx_gain 90 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf rx_gain 120 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf frame_type \"FDD\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_rx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_tx 1 $OPENAIR_DIR/cmake_targets/build_oai --eNB -w USRP -x -c @@ -958,13 +965,14 @@ --eNB -w USRP -x -c - sleep 30 ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue + $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 45; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue - while true; do var=`ifconfig ppp0` ;sleep 1; if [ "$var" != "" ]; then break; fi ; done ; sleep 5; iperf -u -c 192.172.0.1 -b 10Mbits/s -t 3000 -B 192.172.0.2 + while true; do var=`ifconfig ppp0` ;sleep 1; if [ "$var" != "" ]; then break; fi ; done ; sleep 5; iperf -u -c 192.172.0.1 -b 10Mbits/s -t 120 -B 192.172.0.2 True + sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue /tmp BUILD/EPC/epc.local.enb.conf.in MCC \"208\" @@ -985,14 +993,404 @@ sleep 5; iperf -s -i 1 -u -f m -B 192.172.0.1 - throughput_test min=0.0Mbits/sec max=0.0Mbits/sec average=0.0Mbits/sec duration=0.0s + throughput_test min=1.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec duration=60.0s True - USRP.ALU_EPC.Bandrich.5MHz.FDD.UL + USRP.ALU_EPC.Bandrich.5MHz.FDD.Band_7.UL.1TX.1RX 3 + + lte-softmodem + + calisson + stevens + amerique + 180 + /tmp + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code \"1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_country_code \"208\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_network_code \"92\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf tracking_area_code \"1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mobile_country_code \"208\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mobile_network_code \"92\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf N_RB_DL 50 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf downlink_frequency 2660000000L + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf uplink_frequency_offset -120000000 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf tx_gain 90 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf rx_gain 120 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf frame_type \"FDD\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_rx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_tx 1 + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP -x -c + + + $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem + -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf + + + + + True + + /tmp + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code \"4\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_country_code \"5\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_network_code \"6\" + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP -x -c + + + $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 45; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue + + while true; do var=`ifconfig ppp0` ;sleep 1; if [ "$var" != "" ]; then break; fi ; done ; sleep 5; iperf -u -c 192.172.0.1 -b 10Mbits/s -t 120 -B 192.172.0.2 + + + + True + sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue + + /tmp + BUILD/EPC/epc.local.enb.conf.in MCC \"208\" + BUILD/EPC/epc.local.enb.conf.in MNC \"92\" + BUILD/EPC/epc.local.enb.conf.in TAC \"1\" + BUILD/EPC/epc.local.enb.conf.in PGW_INTERFACE_NAME_FOR_SGI \"eth1\" + BUILD/EPC/epc.local.enb.conf.in PGW_IPV4_ADDRESS_FOR_SGI \"192.168.12.82/24\" + SCRIPTS/build_epc + -c -l + SCRIPTS/build_hss + -c -l + + + + /opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000 + + /opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 + + sleep 5; iperf -s -i 1 -u -f m -B 192.172.0.1 + + throughput_test min=2.0Mbits/sec max=2.0Mbits/sec average=2.0Mbits/sec duration=60.0s + + True + USRP.ALU_EPC.Bandrich.10MHz.FDD.Band_7.UL.1TX.1RX + 3 + + + + lte-softmodem + + calisson + stevens + amerique + 180 + /tmp + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code \"1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_country_code \"208\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_network_code \"92\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf tracking_area_code \"1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mobile_country_code \"208\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mobile_network_code \"92\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf N_RB_DL 100 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf downlink_frequency 2660000000L + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf uplink_frequency_offset -120000000 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf tx_gain 90 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf rx_gain 120 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf frame_type \"FDD\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_rx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_tx 1 + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP -x -c + + + $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem + -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf + + + + + True + + /tmp + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code \"4\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_country_code \"5\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_network_code \"6\" + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP -x -c + + + $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 45; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue + + while true; do var=`ifconfig ppp0` ;sleep 1; if [ "$var" != "" ]; then break; fi ; done ; sleep 5; iperf -u -c 192.172.0.1 -b 10Mbits/s -t 120 -B 192.172.0.2 + + + + True + sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue + + /tmp + BUILD/EPC/epc.local.enb.conf.in MCC \"208\" + BUILD/EPC/epc.local.enb.conf.in MNC \"92\" + BUILD/EPC/epc.local.enb.conf.in TAC \"1\" + BUILD/EPC/epc.local.enb.conf.in PGW_INTERFACE_NAME_FOR_SGI \"eth1\" + BUILD/EPC/epc.local.enb.conf.in PGW_IPV4_ADDRESS_FOR_SGI \"192.168.12.82/24\" + SCRIPTS/build_epc + -c -l + SCRIPTS/build_hss + -c -l + + + + /opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000 + + /opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 + + sleep 5; iperf -s -i 1 -u -f m -B 192.172.0.1 + + throughput_test min=4.0Mbits/sec max=4.0Mbits/sec average=4.0Mbits/sec duration=60.0s + + True + USRP.ALU_EPC.Bandrich.20MHz.FDD.Band_7.UL.1TX.1RX + 3 + + + + lte-softmodem + + calisson + stevens + amerique + 180 + /tmp + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code \"1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_country_code \"208\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_network_code \"92\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf tracking_area_code \"1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mobile_country_code \"208\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mobile_network_code \"92\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf N_RB_DL 25 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf downlink_frequency 2660000000L + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf uplink_frequency_offset -120000000 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf tx_gain 90 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf rx_gain 120 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf frame_type \"FDD\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_rx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_tx 1 + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP -x -c + + + $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem + -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf + + + + + True + + /tmp + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code \"4\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_country_code \"5\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_network_code \"6\" + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP -x -c + + + $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 45; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue + + while true; do var=`ifconfig ppp0` ;sleep 1; if [ "$var" != "" ]; then break; fi ; done ; sleep 5; iperf -s -i 1 -u -f m -B 192.172.0.2 + + + + True + sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue + + /tmp + BUILD/EPC/epc.local.enb.conf.in MCC \"208\" + BUILD/EPC/epc.local.enb.conf.in MNC \"92\" + BUILD/EPC/epc.local.enb.conf.in TAC \"1\" + BUILD/EPC/epc.local.enb.conf.in PGW_INTERFACE_NAME_FOR_SGI \"eth1\" + BUILD/EPC/epc.local.enb.conf.in PGW_IPV4_ADDRESS_FOR_SGI \"192.168.12.82/24\" + SCRIPTS/build_epc + -c -l + SCRIPTS/build_hss + -c -l + + + + /opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000 + + /opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 + + sleep 5; iperf -u -c 192.172.0.2 -b 10Mbits/s -t 120 -B 192.172.0.1 + + throughput_test min=5.0Mbits/sec max=5.0Mbits/sec average=5.0Mbits/sec duration=60.0s + + True + USRP.ALU_EPC.Bandrich.5MHz.FDD.Band_7.DL.1TX.1RX + 3 + + + + lte-softmodem + + calisson + stevens + amerique + 180 + /tmp + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code \"1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_country_code \"208\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_network_code \"92\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf tracking_area_code \"1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mobile_country_code \"208\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mobile_network_code \"92\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf N_RB_DL 50 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf downlink_frequency 2660000000L + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf uplink_frequency_offset -120000000 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf tx_gain 90 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf rx_gain 120 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf frame_type \"FDD\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_rx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_tx 1 + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP -x -c + + + $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem + -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf + + + + + True + + /tmp + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code \"4\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_country_code \"5\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_network_code \"6\" + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP -x -c + + + $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 45; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue + + while true; do var=`ifconfig ppp0` ;sleep 1; if [ "$var" != "" ]; then break; fi ; done ; sleep 5; iperf -s -i 1 -u -f m -B 192.172.0.2 + + + + True + sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue + + /tmp + BUILD/EPC/epc.local.enb.conf.in MCC \"208\" + BUILD/EPC/epc.local.enb.conf.in MNC \"92\" + BUILD/EPC/epc.local.enb.conf.in TAC \"1\" + BUILD/EPC/epc.local.enb.conf.in PGW_INTERFACE_NAME_FOR_SGI \"eth1\" + BUILD/EPC/epc.local.enb.conf.in PGW_IPV4_ADDRESS_FOR_SGI \"192.168.12.82/24\" + SCRIPTS/build_epc + -c -l + SCRIPTS/build_hss + -c -l + + + + /opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000 + + /opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 + + sleep 5; iperf -u -c 192.172.0.2 -b 10Mbits/s -t 120 -B 192.172.0.1 + + throughput_test min=10.0Mbits/sec max=10.0Mbits/sec average=10.0Mbits/sec duration=60.0s + + True + USRP.ALU_EPC.Bandrich.10MHz.FDD.Band_7.DL.1TX.1RX + 3 + + + + lte-softmodem + + calisson + stevens + amerique + 180 + /tmp + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code \"1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_country_code \"208\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_network_code \"92\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf tracking_area_code \"1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mobile_country_code \"208\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mobile_network_code \"92\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf N_RB_DL 100 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf downlink_frequency 2660000000L + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf uplink_frequency_offset -120000000 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf tx_gain 90 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf rx_gain 120 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf frame_type \"FDD\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_rx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_tx 1 + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP -x -c + + + $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem + -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf + + + + + True + + /tmp + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code \"4\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_country_code \"5\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_network_code \"6\" + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP -x -c + + + $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 45; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue + + while true; do var=`ifconfig ppp0` ;sleep 1; if [ "$var" != "" ]; then break; fi ; done ; sleep 5; iperf -s -i 1 -u -f m -B 192.172.0.2 + + + + True + sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue + + /tmp + BUILD/EPC/epc.local.enb.conf.in MCC \"208\" + BUILD/EPC/epc.local.enb.conf.in MNC \"92\" + BUILD/EPC/epc.local.enb.conf.in TAC \"1\" + BUILD/EPC/epc.local.enb.conf.in PGW_INTERFACE_NAME_FOR_SGI \"eth1\" + BUILD/EPC/epc.local.enb.conf.in PGW_IPV4_ADDRESS_FOR_SGI \"192.168.12.82/24\" + SCRIPTS/build_epc + -c -l + SCRIPTS/build_hss + -c -l + + + + /opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000 + + /opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 + + sleep 5; iperf -u -c 192.172.0.2 -b 10Mbits/s -t 120 -B 192.172.0.1 + + throughput_test min=15.0Mbits/sec max=15.0Mbits/sec average=15.0Mbits/sec duration=60.0s + + True + USRP.ALU_EPC.Bandrich.20MHz.FDD.Band_7.DL.1TX.1RX + 3 + + lte-softmodem From 958738477c52cf5d0a3bdacf11400e8ed19f6420 Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Tue, 8 Dec 2015 10:31:32 +0100 Subject: [PATCH 78/85] minor updates to the autotest launch script --- cmake_targets/autotests/run_exec_autotests.bash | 7 ++++--- cmake_targets/build_oai | 13 +++++++++---- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/cmake_targets/autotests/run_exec_autotests.bash b/cmake_targets/autotests/run_exec_autotests.bash index a447ac3b93..2101c84735 100755 --- a/cmake_targets/autotests/run_exec_autotests.bash +++ b/cmake_targets/autotests/run_exec_autotests.bash @@ -400,12 +400,13 @@ else fi tmpfile=`mktemp` -echo \'$passwd\' | sudo echo $HOME >& $tmpfile +echo \'$passwd\' | $SUDO echo $HOME >& $tmpfile tstsudo=`cat $tmpfile` if [ "$tstsudo" != "$HOME" ]; then - echo "User might not have sudo privileges. Exiting" - echo "tstsudo = $tstsudo" + echo "$USER might not have sudo privileges. Exiting" exit +else + echo "$USER has sudo privileges" fi echo "tstsudo = $tstsudo" rm -fr $tmpfile diff --git a/cmake_targets/build_oai b/cmake_targets/build_oai index 6d337c6d52..25bec96b98 100755 --- a/cmake_targets/build_oai +++ b/cmake_targets/build_oai @@ -555,17 +555,22 @@ function main() { ##################### if [ "$OAI_TEST" = "1" ]; then echo_info "10. Running OAI pre commit tests (pre-ci) ..." - read -s -p "Enter Password: " mypassword - echo -e "\n" + echo_error "These scripts ASSUME that user is in /etc/sudoers and can execute commands without PASSWORD prompt" + echo_error "Add the following lines in /etc/sudoers file to make your __user_name__ sudo without password prompt" + echo_error " __your_user_name__ ALL = (ALL:ALL) NOPASSWD: ALL" + echo_error " __your_user_name__ ALL = (ALL) NOPASSWD: ALL " echo_info "The log file for the autotest script for debugging is located here: $OPENAIR_DIR/cmake_targets/autotests/log/autotests.log " echo_info "The results of autotests results is located here: $OPENAIR_DIR/cmake_targets/autotests/log/results_autotests.xml " echo_info "You can hit CTRL-C any time to terminate the autotests..." + echo "Current User Name: $USER" + read -s -p "Enter Password: " mypassword + echo -e "\n" rm -fr $OPENAIR_DIR/cmake_targets/autotests/log mkdir -p $OPENAIR_DIR/cmake_targets/autotests/log if [ "$RUN_GROUP" -eq "1" ]; then - echo '$mypassword' | $OPENAIR_DIR/cmake_targets/autotests/run_exec_autotests.bash -g "$TEST_CASE_GROUP" >& $OPENAIR_DIR/cmake_targets/autotests/log/autotests.log & + $OPENAIR_DIR/cmake_targets/autotests/run_exec_autotests.bash -g "$TEST_CASE_GROUP" -p '$mypassword' >& $OPENAIR_DIR/cmake_targets/autotests/log/autotests.log & else - echo '$mypassword' | $OPENAIR_DIR/cmake_targets/autotests/run_exec_autotests.bash >& $OPENAIR_DIR/cmake_targets/autotests/log/autotests.log & + $OPENAIR_DIR/cmake_targets/autotests/run_exec_autotests.bash -p '$mypassword' >& $OPENAIR_DIR/cmake_targets/autotests/log/autotests.log & fi wait else From 874ed6fd8d4101a4b30be6df3987187cdc9ea729 Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Tue, 8 Dec 2015 11:39:07 +0100 Subject: [PATCH 79/85] fixed iperf settings for lte-softmodem tests --- .../autotests/run_exec_autotests.bash | 1 + .../autotests/run_exec_lte-softmodem_tests.py | 4 ++-- cmake_targets/autotests/test_case_list.xml | 18 +++++++++--------- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/cmake_targets/autotests/run_exec_autotests.bash b/cmake_targets/autotests/run_exec_autotests.bash index 2101c84735..836a8c197a 100755 --- a/cmake_targets/autotests/run_exec_autotests.bash +++ b/cmake_targets/autotests/run_exec_autotests.bash @@ -496,6 +496,7 @@ for search_expr in "${test_case_array[@]}" if [ "$class" == "compilation" ]; then test_compile "$name" "$compile_prog" "$compile_prog_args" "$pre_exec" "$pre_exec_args" "$main_exec" "$main_exec_args" "search_array_true[@]" "$search_expr_false" "$nruns" "$pre_compile_prog" "$class" "$compile_prog_out" "$tags" elif [ "$class" == "execution" ]; then + $SUDO killall -q oaisim_nos1 test_compile_and_run "$name" "$compile_prog" "$compile_prog_args" "$pre_exec" "$pre_exec_args" "$main_exec" "$main_exec_args" "search_array_true[@]" "$search_expr_false" "$nruns" "$pre_compile_prog" "$class" "$compile_prog_out" "$tags" "$mypassword" else echo "Unexpected class of test case...Skipping the test case $name ...." diff --git a/cmake_targets/autotests/run_exec_lte-softmodem_tests.py b/cmake_targets/autotests/run_exec_lte-softmodem_tests.py index 398592df5a..be4082bee5 100644 --- a/cmake_targets/autotests/run_exec_lte-softmodem_tests.py +++ b/cmake_targets/autotests/run_exec_lte-softmodem_tests.py @@ -375,7 +375,7 @@ class testCaseThread_generic (threading.Thread): except Exception, e: error='' error = error + ' In Class = testCaseThread_generic, function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e) - error = error + '\n threadID = ' + str(self.threadID) + '\n threadName = ' + self.name + '\n testcasename = ' + self.testcasename + '\n machine = ' + self.machine + '\n logdirOAI5GRepo = ' + self.logdirOAI5GRepo + '\n' + '\n timeout = ' + str(timeout) + error = error + '\n threadID = ' + str(self.threadID) + '\n threadName = ' + self.name + '\n testcasename = ' + self.testcasename + '\n machine = ' + self.machine + '\n logdirOAI5GRepo = ' + self.logdirOAI5GRepo + '\n' + '\n timeout = ' + str(self.timeout) error = error + traceback.format_exc() print error sys.exit() @@ -801,7 +801,7 @@ def handle_testcaseclass_softmodem (testcase, oldprogramList, logdirOAI5GRepo , result='FAIL' else: result = 'PASS' - xml="" + xml="\n" write_file(xmlFile, xml, mode="w") diff --git a/cmake_targets/autotests/test_case_list.xml b/cmake_targets/autotests/test_case_list.xml index 4448a45c3b..2f76a769d3 100644 --- a/cmake_targets/autotests/test_case_list.xml +++ b/cmake_targets/autotests/test_case_list.xml @@ -413,7 +413,7 @@ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 6 -a -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 6 -a -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 6 -a - oaisim_noS1.tdd.5MHz.TM1 oaisim_noS1.tdd.10MHz.TM1 oaisim_noS1.tdd.20MHz.TM1 oaisim_noS1.tdd.5MHz.TM2 oaisim_noS1.tdd.10MHz.TM2 tdd.20MHz.TM2 oaisim_noS1.tdd.5MHz.TM5 oaisim_noS1.tdd.10MHz.TM5 oaisim_noS1.tdd.20MHz.TM5 oaisim_noS1.tdd.5MHz.TM6 oaisim_noS1.tdd.10MHz.TM6 oaisim_noS1.tdd.20MHz.TM6 + oaisim_noS1.tdd.5MHz.TM1 oaisim_noS1.tdd.10MHz.TM1 oaisim_noS1.tdd.20MHz.TM1 oaisim_noS1.tdd.5MHz.TM2 oaisim_noS1.tdd.10MHz.TM2 oaisim_nos1.tdd.20MHz.TM2 oaisim_noS1.tdd.5MHz.TM5 oaisim_noS1.tdd.10MHz.TM5 oaisim_noS1.tdd.20MHz.TM5 oaisim_noS1.tdd.5MHz.TM6 oaisim_noS1.tdd.10MHz.TM6 oaisim_noS1.tdd.20MHz.TM6 "Received RRCConnectionReconfigurationComplete from UE 0" "Received RRCConnectionReconfigurationComplete from UE 1" "Received RRCConnectionReconfigurationComplete from UE 2" segmentation fault|assertion|exiting|fatal 3 @@ -467,7 +467,7 @@ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 6 -c26 -a -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 6 -c26 -a -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 6 -c26 -a - oaisim_noS1.tdd.5MHz.TM1 oaisim_noS1.tdd.10MHz.TM1 oaisim_noS1.tdd.20MHz.TM1 oaisim_noS1.tdd.5MHz.TM2 oaisim_noS1.tdd.10MHz.TM2 oaisim_noS1.tdd.20MHz.TM2 oaisim_noS1.tdd.5MHz.TM5 oaisim_noS1.tdd.10MHz.TM5 tdd.20MHz.TM5 oaisim_noS1.tdd.5MHz.TM6 oaisim_noS1.tdd.10MHz.TM6 oaisim_noS1.tdd.20MHz.TM6 + oaisim_noS1.tdd.5MHz.TM1 oaisim_noS1.tdd.10MHz.TM1 oaisim_noS1.tdd.20MHz.TM1 oaisim_noS1.tdd.5MHz.TM2 oaisim_noS1.tdd.10MHz.TM2 oaisim_noS1.tdd.20MHz.TM2 oaisim_noS1.tdd.5MHz.TM5 oaisim_noS1.tdd.10MHz.TM5 oaisim_nos1.tdd.20MHz.TM5 oaisim_noS1.tdd.5MHz.TM6 oaisim_noS1.tdd.10MHz.TM6 oaisim_noS1.tdd.20MHz.TM6 "DL and UL loss rate below 10" segmentation fault|assertion|exiting|fatal 3 @@ -893,7 +893,7 @@ dlsim.test1 dlsim.test5 dlsim.test6 dlsim.test6b dlsim.test7 dlsim.test7b dlsim.test10 dlsim.test10b dlsim.test11 dlsim.TM2_test1 dlsim.TM2_test1b "passed" segmentation fault|assertion|exiting|fatal - 1 + 3 @@ -919,7 +919,7 @@ ulsim.test1 ulsim.test2 ulsim.test3 ulsim.test4 ulsim.test5 ulsim.test6 "passed" segmentation fault|assertion|exiting|fatal - 1 + 3 @@ -1226,9 +1226,9 @@ /opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 - sleep 5; iperf -u -c 192.172.0.2 -b 10Mbits/s -t 120 -B 192.172.0.1 + sleep 60; iperf -u -c 192.172.0.2 -b 10Mbits/s -t 120 -B 192.172.0.1 - throughput_test min=5.0Mbits/sec max=5.0Mbits/sec average=5.0Mbits/sec duration=60.0s + throughput_test min=4.0Mbits/sec max=5.0Mbits/sec average=4.0Mbits/sec duration=60.0s True USRP.ALU_EPC.Bandrich.5MHz.FDD.Band_7.DL.1TX.1RX @@ -1304,9 +1304,9 @@ /opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 - sleep 5; iperf -u -c 192.172.0.2 -b 10Mbits/s -t 120 -B 192.172.0.1 + sleep 60; iperf -u -c 192.172.0.2 -b 10Mbits/s -t 120 -B 192.172.0.1 - throughput_test min=10.0Mbits/sec max=10.0Mbits/sec average=10.0Mbits/sec duration=60.0s + throughput_test min=8.0Mbits/sec max=9.0Mbits/sec average=8.5Mbits/sec duration=60.0s True USRP.ALU_EPC.Bandrich.10MHz.FDD.Band_7.DL.1TX.1RX @@ -1382,7 +1382,7 @@ /opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 - sleep 5; iperf -u -c 192.172.0.2 -b 10Mbits/s -t 120 -B 192.172.0.1 + sleep 60; iperf -u -c 192.172.0.2 -b 10Mbits/s -t 120 -B 192.172.0.1 throughput_test min=15.0Mbits/sec max=15.0Mbits/sec average=15.0Mbits/sec duration=60.0s From 854d183dd94a06f4357eb477e976e2618c7548d9 Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Tue, 8 Dec 2015 18:38:57 +0100 Subject: [PATCH 80/85] addition of tests for x310/EXMIMO --- cmake_targets/autotests/README.txt | 36 +- .../autotests/run_exec_lte-softmodem_tests.py | 30 +- cmake_targets/autotests/test_case_list.xml | 1362 ++++++++++++++++- 3 files changed, 1403 insertions(+), 25 deletions(-) diff --git a/cmake_targets/autotests/README.txt b/cmake_targets/autotests/README.txt index 2e1f3ebad4..8549f54221 100644 --- a/cmake_targets/autotests/README.txt +++ b/cmake_targets/autotests/README.txt @@ -97,27 +97,45 @@ Obj.# Case# Test# Description 01 51 06 mbmssim (TBD) -01 55 lte-softmodem tests with USRP B210 RF as eNB and ALU EPC w/ Bandrich COTS UE for TX/1RX, 1TX/2RX, 2TX/1RX 2TX/2RX +01 55 lte-softmodem tests with USRP B210 RF as eNB and ALU EPC w/ Bandrich COTS UE for TX/1RX, 2TX/2RX 01 55 00 Band 7 FDD 5MHz UL Throughput for 60 sec for 1TX/1RX -01 55 01 Band 7 FDD 10MHz UL Throughput for 60 sec for 1TX/RX -01 55 02 Band 7 FDD 20MHz UL Throughput for 60 sec for 1TX/RX -01 55 03 Band 7 FDD 5MHz DL Throughput for 60 sec for 1TX/RX -01 55 04 Band 7 FDD 10MHz DL Throughput for 60 sec for 1TX/RX -01 55 05 Band 7 FDD 20MHz DL Throughput for 60 sec for 1TX/RX - +01 55 01 Band 7 FDD 10MHz UL Throughput for 60 sec for 1TX/1RX +01 55 02 Band 7 FDD 20MHz UL Throughput for 60 sec for 1TX/1RX +01 55 03 Band 7 FDD 5MHz DL Throughput for 60 sec for 1TX/1RX +01 55 04 Band 7 FDD 10MHz DL Throughput for 60 sec for 1TX/1RX +01 55 05 Band 7 FDD 20MHz DL Throughput for 60 sec for 1TX/1RX +01 55 06 Band 7 FDD 5MHz UL Throughput for 60 sec for 2TX/2RX +01 55 07 Band 7 FDD 10MHz UL Throughput for 60 sec for 2TX/2RX +01 55 08 Band 7 FDD 20MHz UL Throughput for 60 sec for 2TX/2RX +01 55 09 Band 7 FDD 5MHz DL Throughput for 60 sec for 2TX/2RX +01 55 10 Band 7 FDD 10MHz DL Throughput for 60 sec for 2TX/2RX +01 55 11 Band 7 FDD 20MHz DL Throughput for 60 sec for 2TX/2RX 01 56 lte-softmodem tests with USRP B210 RF as eNB and OAI EPC (eNB and EPC are on same machines) w/ Bandrich COTS UE 01 57 lte-softmodem tests with USRP B210 RF as eNB and OAI EPC (eNB and EPC are on different machines) w/ Bandrich COTS UE -01 58 lte-softmodem tests with USRP X310 RF as eNB and ALU EPC w/ Bandrich COTS UE for `TX/1RX, 1TX/2RX, 2TX/1RX 2TX/2RX +01 58 lte-softmodem tests with USRP X310 RF as eNB and ALU EPC w/ Bandrich COTS UE for `TX/1RX, 2TX/2RX +01 58 00 Band 7 FDD 5MHz UL Throughput for 60 sec for 1TX/1RX +01 58 01 Band 7 FDD 10MHz UL Throughput for 60 sec for 1TX/1RX +01 58 02 Band 7 FDD 20MHz UL Throughput for 60 sec for 1TX/1RX +01 58 03 Band 7 FDD 5MHz DL Throughput for 60 sec for 1TX/1RX +01 58 04 Band 7 FDD 10MHz DL Throughput for 60 sec for 1TX/1RX +01 58 05 Band 7 FDD 20MHz DL Throughput for 60 sec for 1TX/1RX 01 59 lte-softmodem tests with USRP X310 RF as eNB and OAI EPC (eNB and EPC are on same machines) w/ Bandrich COTS UE 01 61 lte-softmodem tests with USRP X310 RF as eNB and OAI EPC (eNB and EPC are on different machines) w/ Bandrich COTS UE -01 61 lte-softmodem tests with EXMIMO RF as eNB and ALU EPC w/ Bandrich COTS UE +01 61 lte-softmodem tests with EXMIMO RF as eNB and ALU EPC w/ Bandrich COTS UE for `TX/1RX, 2TX/2RX +01 61 00 Band 7 FDD 5MHz UL Throughput for 60 sec for 1TX/1RX +01 61 01 Band 7 FDD 10MHz UL Throughput for 60 sec for 1TX/1RX +01 61 02 Band 7 FDD 20MHz UL Throughput for 60 sec for 1TX/1RX +01 61 03 Band 7 FDD 5MHz DL Throughput for 60 sec for 1TX/1RX +01 61 04 Band 7 FDD 10MHz DL Throughput for 60 sec for 1TX/1RX +01 61 05 Band 7 FDD 20MHz DL Throughput for 60 sec for 1TX/1RX + 01 62 lte-softmodem tests with EXMIMO RF as eNB and OAI EPC (eNB and EPC are on same machines) w/ Bandrich COTS UE 01 63 lte-softmodem tests with EXMIMO RF as eNB and OAI EPC (eNB and EPC are on different machines) w/ Bandrich COTS UE diff --git a/cmake_targets/autotests/run_exec_lte-softmodem_tests.py b/cmake_targets/autotests/run_exec_lte-softmodem_tests.py index be4082bee5..6f14cf63f3 100644 --- a/cmake_targets/autotests/run_exec_lte-softmodem_tests.py +++ b/cmake_targets/autotests/run_exec_lte-softmodem_tests.py @@ -81,8 +81,8 @@ def write_file(filename, string, mode="w"): #$5 minimum duration of throughput #The throughput values found in file must be higher than values from from 2,3,4,5 #The function returns True if throughput conditions are saisfied else it returns fails - def tput_test(filename, min_tput, max_tput, average, min_duration): + if os.path.exists(filename): with open (filename, "r") as myfile: data=myfile.read() @@ -98,13 +98,13 @@ def tput_test(filename, min_tput, max_tput, average, min_duration): min_list = 0 max_list = 0 average_list=0 - + tput_string=' ( '+ "min=%0.2f" % min_list + ' Mbps / ' + "max=%0.2f" % max_list + ' Mbps / ' + "avg=%0.2f" % average_list + ' Mbps / ' + "dur=%0.2f" % duration + ' s) ' if (min_list >= min_tput and max_list >= max_tput and average_list >= average and duration >= min_duration): - return True + return True , tput_string else: - return False + return False , tput_string else: - return False + return False , tput_string def try_convert_to_float(string, fail=None): @@ -115,6 +115,7 @@ def try_convert_to_float(string, fail=None): def tput_test_search_expr (search_expr, logfile_traffic): result=0 + tput_string='' if search_expr !='': if search_expr.find('throughput_test')!= -1 : p= re.compile('min\s*=\s*(\d*.\d*)\s*Mbits/sec') @@ -151,12 +152,11 @@ def tput_test_search_expr (search_expr, logfile_traffic): duration = try_convert_to_float(duration) if (min_tput != None and max_tput != None and avg_tput != None and duration != None ): - result = tput_test(logfile_traffic, min_tput, max_tput, avg_tput, duration) + result, tput_string = tput_test(logfile_traffic, min_tput, max_tput, avg_tput, duration) else: result=1 - return result - + return result, tput_string def sftp_module (username, password, hostname, ports, paramList,logfile): @@ -772,17 +772,23 @@ def handle_testcaseclass_softmodem (testcase, oldprogramList, logdirOAI5GRepo , ssh.get_all(logdir_UE , logdir_local + '/cmake_targets/autotests/log/'+ testcasename) #Currently we only perform throughput tests - result = tput_test_search_expr(eNB_search_expr_true, logfile_local_traffic_eNB_out) + tput_run_string='' + result, tput_string = tput_test_search_expr(eNB_search_expr_true, logfile_local_traffic_eNB_out) + tput_run_string = tput_run_string + tput_string run_result=run_result&result - result = tput_test_search_expr(EPC_search_expr_true, logfile_local_traffic_EPC_out) + result, tput_string = tput_test_search_expr(EPC_search_expr_true, logfile_local_traffic_EPC_out) run_result=run_result&result - result = tput_test_search_expr(UE_search_expr_true, logfile_local_traffic_UE_out) + tput_run_string = tput_run_string + tput_string + result, tput_string = tput_test_search_expr(UE_search_expr_true, logfile_local_traffic_UE_out) run_result=run_result&result + tput_run_string = tput_run_string + tput_string if run_result == 1: run_result_string = ' RUN_'+str(run) + ' = PASS' else: run_result_string = ' RUN_'+str(run) + ' = FAIL' + + run_result_string = run_result_string + tput_run_string test_result=test_result & run_result test_result_string=test_result_string + run_result_string @@ -801,7 +807,7 @@ def handle_testcaseclass_softmodem (testcase, oldprogramList, logdirOAI5GRepo , result='FAIL' else: result = 'PASS' - xml="\n" + xml="\n \n" write_file(xmlFile, xml, mode="w") diff --git a/cmake_targets/autotests/test_case_list.xml b/cmake_targets/autotests/test_case_list.xml index 2f76a769d3..9f2091053e 100644 --- a/cmake_targets/autotests/test_case_list.xml +++ b/cmake_targets/autotests/test_case_list.xml @@ -8,7 +8,7 @@ feature-17-test_framework oaisim* oaisim_nos1* lte-softmodem* lte-softmodem-nos1* mme_gw* run_epc* run_hss* iperf* hss hss_sim configure_cots_bandrich_ue* wvdial* run_exec_autotests* iperf /opt/ltebox/tools/stop_ltebox - 1800 + 36000 calisson stevens mozart nano amerique compilation @@ -1208,6 +1208,7 @@ True sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue + throughput_test min=4.0Mbits/sec max=5.0Mbits/sec average=4.0Mbits/sec duration=60.0s /tmp BUILD/EPC/epc.local.enb.conf.in MCC \"208\" @@ -1228,7 +1229,6 @@ sleep 60; iperf -u -c 192.172.0.2 -b 10Mbits/s -t 120 -B 192.172.0.1 - throughput_test min=4.0Mbits/sec max=5.0Mbits/sec average=4.0Mbits/sec duration=60.0s True USRP.ALU_EPC.Bandrich.5MHz.FDD.Band_7.DL.1TX.1RX @@ -1286,6 +1286,7 @@ True sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue + throughput_test min=8.0Mbits/sec max=9.0Mbits/sec average=8.5Mbits/sec duration=60.0s /tmp BUILD/EPC/epc.local.enb.conf.in MCC \"208\" @@ -1306,7 +1307,6 @@ sleep 60; iperf -u -c 192.172.0.2 -b 10Mbits/s -t 120 -B 192.172.0.1 - throughput_test min=8.0Mbits/sec max=9.0Mbits/sec average=8.5Mbits/sec duration=60.0s True USRP.ALU_EPC.Bandrich.10MHz.FDD.Band_7.DL.1TX.1RX @@ -1364,6 +1364,7 @@ True sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue + throughput_test min=15.0Mbits/sec max=15.0Mbits/sec average=15.0Mbits/sec duration=60.0s /tmp BUILD/EPC/epc.local.enb.conf.in MCC \"208\" @@ -1384,13 +1385,1366 @@ sleep 60; iperf -u -c 192.172.0.2 -b 10Mbits/s -t 120 -B 192.172.0.1 - throughput_test min=15.0Mbits/sec max=15.0Mbits/sec average=15.0Mbits/sec duration=60.0s True USRP.ALU_EPC.Bandrich.20MHz.FDD.Band_7.DL.1TX.1RX 3 + + + lte-softmodem + + calisson + stevens + amerique + 180 + /tmp + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code \"1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_country_code \"208\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_network_code \"92\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf tracking_area_code \"1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mobile_country_code \"208\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mobile_network_code \"92\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf N_RB_DL 25 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf downlink_frequency 2660000000L + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf uplink_frequency_offset -120000000 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf tx_gain 90 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf rx_gain 120 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf frame_type \"FDD\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_rx 2 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_tx 2 + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP -x -c + + + $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem + -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf + + + + + True + + /tmp + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code \"4\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_country_code \"5\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_network_code \"6\" + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP -x -c + + + $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 45; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue + + while true; do var=`ifconfig ppp0` ;sleep 1; if [ "$var" != "" ]; then break; fi ; done ; sleep 5; iperf -u -c 192.172.0.1 -b 10Mbits/s -t 120 -B 192.172.0.2 + + + + True + sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue + + /tmp + BUILD/EPC/epc.local.enb.conf.in MCC \"208\" + BUILD/EPC/epc.local.enb.conf.in MNC \"92\" + BUILD/EPC/epc.local.enb.conf.in TAC \"1\" + BUILD/EPC/epc.local.enb.conf.in PGW_INTERFACE_NAME_FOR_SGI \"eth1\" + BUILD/EPC/epc.local.enb.conf.in PGW_IPV4_ADDRESS_FOR_SGI \"192.168.12.82/24\" + SCRIPTS/build_epc + -c -l + SCRIPTS/build_hss + -c -l + + + + /opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000 + + /opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 + + sleep 5; iperf -s -i 1 -u -f m -B 192.172.0.1 + + throughput_test min=1.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec duration=60.0s + + True + USRP.ALU_EPC.Bandrich.5MHz.FDD.Band_7.UL.2TX.2RX + 3 + + + + + lte-softmodem + + calisson + stevens + amerique + 180 + /tmp + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code \"1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_country_code \"208\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_network_code \"92\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf tracking_area_code \"1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mobile_country_code \"208\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mobile_network_code \"92\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf N_RB_DL 50 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf downlink_frequency 2660000000L + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf uplink_frequency_offset -120000000 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf tx_gain 90 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf rx_gain 120 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf frame_type \"FDD\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_rx 2 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_tx 2 + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP -x -c + + + $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem + -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf + + + + + True + + /tmp + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code \"4\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_country_code \"5\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_network_code \"6\" + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP -x -c + + + $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 45; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue + + while true; do var=`ifconfig ppp0` ;sleep 1; if [ "$var" != "" ]; then break; fi ; done ; sleep 5; iperf -u -c 192.172.0.1 -b 10Mbits/s -t 120 -B 192.172.0.2 + + + + True + sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue + + /tmp + BUILD/EPC/epc.local.enb.conf.in MCC \"208\" + BUILD/EPC/epc.local.enb.conf.in MNC \"92\" + BUILD/EPC/epc.local.enb.conf.in TAC \"1\" + BUILD/EPC/epc.local.enb.conf.in PGW_INTERFACE_NAME_FOR_SGI \"eth1\" + BUILD/EPC/epc.local.enb.conf.in PGW_IPV4_ADDRESS_FOR_SGI \"192.168.12.82/24\" + SCRIPTS/build_epc + -c -l + SCRIPTS/build_hss + -c -l + + + + /opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000 + + /opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 + + sleep 5; iperf -s -i 1 -u -f m -B 192.172.0.1 + + throughput_test min=2.0Mbits/sec max=2.0Mbits/sec average=2.0Mbits/sec duration=60.0s + + True + USRP.ALU_EPC.Bandrich.10MHz.FDD.Band_7.UL.2TX.2RX + 3 + + + + lte-softmodem + + calisson + stevens + amerique + 180 + /tmp + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code \"1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_country_code \"208\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_network_code \"92\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf tracking_area_code \"1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mobile_country_code \"208\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mobile_network_code \"92\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf N_RB_DL 100 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf downlink_frequency 2660000000L + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf uplink_frequency_offset -120000000 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf tx_gain 90 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf rx_gain 120 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf frame_type \"FDD\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_rx 2 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_tx 2 + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP -x -c + + + $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem + -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf + + + + + True + + /tmp + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code \"4\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_country_code \"5\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_network_code \"6\" + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP -x -c + + + $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 45; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue + + while true; do var=`ifconfig ppp0` ;sleep 1; if [ "$var" != "" ]; then break; fi ; done ; sleep 5; iperf -u -c 192.172.0.1 -b 10Mbits/s -t 120 -B 192.172.0.2 + + + + True + sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue + + /tmp + BUILD/EPC/epc.local.enb.conf.in MCC \"208\" + BUILD/EPC/epc.local.enb.conf.in MNC \"92\" + BUILD/EPC/epc.local.enb.conf.in TAC \"1\" + BUILD/EPC/epc.local.enb.conf.in PGW_INTERFACE_NAME_FOR_SGI \"eth1\" + BUILD/EPC/epc.local.enb.conf.in PGW_IPV4_ADDRESS_FOR_SGI \"192.168.12.82/24\" + SCRIPTS/build_epc + -c -l + SCRIPTS/build_hss + -c -l + + + + /opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000 + + /opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 + + sleep 5; iperf -s -i 1 -u -f m -B 192.172.0.1 + + throughput_test min=4.0Mbits/sec max=4.0Mbits/sec average=4.0Mbits/sec duration=60.0s + + True + USRP.ALU_EPC.Bandrich.20MHz.FDD.Band_7.UL.2TX.2RX + 3 + + + + lte-softmodem + + calisson + stevens + amerique + 180 + /tmp + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code \"1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_country_code \"208\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_network_code \"92\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf tracking_area_code \"1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mobile_country_code \"208\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mobile_network_code \"92\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf N_RB_DL 25 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf downlink_frequency 2660000000L + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf uplink_frequency_offset -120000000 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf tx_gain 90 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf rx_gain 120 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf frame_type \"FDD\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_rx 2 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_tx 2 + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP -x -c + + + $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem + -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf + + + + + True + + /tmp + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code \"4\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_country_code \"5\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_network_code \"6\" + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP -x -c + + + $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 45; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue + + while true; do var=`ifconfig ppp0` ;sleep 1; if [ "$var" != "" ]; then break; fi ; done ; sleep 5; iperf -s -i 1 -u -f m -B 192.172.0.2 + + + + True + sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue + throughput_test min=4.0Mbits/sec max=5.0Mbits/sec average=4.0Mbits/sec duration=60.0s + + /tmp + BUILD/EPC/epc.local.enb.conf.in MCC \"208\" + BUILD/EPC/epc.local.enb.conf.in MNC \"92\" + BUILD/EPC/epc.local.enb.conf.in TAC \"1\" + BUILD/EPC/epc.local.enb.conf.in PGW_INTERFACE_NAME_FOR_SGI \"eth1\" + BUILD/EPC/epc.local.enb.conf.in PGW_IPV4_ADDRESS_FOR_SGI \"192.168.12.82/24\" + SCRIPTS/build_epc + -c -l + SCRIPTS/build_hss + -c -l + + + + /opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000 + + /opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 + + sleep 60; iperf -u -c 192.172.0.2 -b 10Mbits/s -t 120 -B 192.172.0.1 + + + True + USRP.ALU_EPC.Bandrich.5MHz.FDD.Band_7.DL.2TX.2RX + 3 + + + + lte-softmodem + + calisson + stevens + amerique + 180 + /tmp + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code \"1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_country_code \"208\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_network_code \"92\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf tracking_area_code \"1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mobile_country_code \"208\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mobile_network_code \"92\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf N_RB_DL 50 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf downlink_frequency 2660000000L + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf uplink_frequency_offset -120000000 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf tx_gain 90 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf rx_gain 120 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf frame_type \"FDD\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_rx 2 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_tx 2 + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP -x -c + + + $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem + -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf + + + + + True + + /tmp + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code \"4\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_country_code \"5\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_network_code \"6\" + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP -x -c + + + $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 45; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue + + while true; do var=`ifconfig ppp0` ;sleep 1; if [ "$var" != "" ]; then break; fi ; done ; sleep 5; iperf -s -i 1 -u -f m -B 192.172.0.2 + + + + True + sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue + throughput_test min=8.0Mbits/sec max=9.0Mbits/sec average=8.5Mbits/sec duration=60.0s + + /tmp + BUILD/EPC/epc.local.enb.conf.in MCC \"208\" + BUILD/EPC/epc.local.enb.conf.in MNC \"92\" + BUILD/EPC/epc.local.enb.conf.in TAC \"1\" + BUILD/EPC/epc.local.enb.conf.in PGW_INTERFACE_NAME_FOR_SGI \"eth1\" + BUILD/EPC/epc.local.enb.conf.in PGW_IPV4_ADDRESS_FOR_SGI \"192.168.12.82/24\" + SCRIPTS/build_epc + -c -l + SCRIPTS/build_hss + -c -l + + + + /opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000 + + /opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 + + sleep 60; iperf -u -c 192.172.0.2 -b 10Mbits/s -t 120 -B 192.172.0.1 + + + True + USRP.ALU_EPC.Bandrich.10MHz.FDD.Band_7.DL.2TX.2RX + 3 + + + + lte-softmodem + + calisson + stevens + amerique + 180 + /tmp + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code \"1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_country_code \"208\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_network_code \"92\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf tracking_area_code \"1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mobile_country_code \"208\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mobile_network_code \"92\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf N_RB_DL 100 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf downlink_frequency 2660000000L + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf uplink_frequency_offset -120000000 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf tx_gain 90 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf rx_gain 120 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf frame_type \"FDD\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_rx 2 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_tx 2 + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP -x -c + + + $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem + -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf + + + + + True + + /tmp + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code \"4\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_country_code \"5\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_network_code \"6\" + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP -x -c + + + $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 45; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue + + while true; do var=`ifconfig ppp0` ;sleep 1; if [ "$var" != "" ]; then break; fi ; done ; sleep 5; iperf -s -i 1 -u -f m -B 192.172.0.2 + + + + True + sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue + throughput_test min=15.0Mbits/sec max=15.0Mbits/sec average=15.0Mbits/sec duration=60.0s + + /tmp + BUILD/EPC/epc.local.enb.conf.in MCC \"208\" + BUILD/EPC/epc.local.enb.conf.in MNC \"92\" + BUILD/EPC/epc.local.enb.conf.in TAC \"1\" + BUILD/EPC/epc.local.enb.conf.in PGW_INTERFACE_NAME_FOR_SGI \"eth1\" + BUILD/EPC/epc.local.enb.conf.in PGW_IPV4_ADDRESS_FOR_SGI \"192.168.12.82/24\" + SCRIPTS/build_epc + -c -l + SCRIPTS/build_hss + -c -l + + + + /opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000 + + /opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 + + sleep 60; iperf -u -c 192.172.0.2 -b 10Mbits/s -t 120 -B 192.172.0.1 + + + True + USRP.ALU_EPC.Bandrich.20MHz.FDD.Band_7.DL.2TX.2RX + 3 + + + + + lte-softmodem + + mozart + stevens + amerique + 180 + /tmp + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpx310.epc.remote.conf tracking_area_code \"1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpx310.epc.remote.conf mobile_country_code \"208\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpx310.epc.remote.conf mobile_network_code \"92\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpx310.epc.remote.conf N_RB_DL 25 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpx310.epc.remote.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpx310.epc.remote.conf downlink_frequency 2660000000L + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpx310.epc.remote.conf uplink_frequency_offset -120000000 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpx310.epc.remote.conf frame_type \"FDD\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpx310.epc.remote.conf nb_antennas_rx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpx310.epc.remote.conf nb_antennas_tx 1 + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP -x -c + + + $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem + -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpx310.epc.remote.conf + + + + + True + + /tmp + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code \"4\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_country_code \"5\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_network_code \"6\" + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP -x -c + + + $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 45; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue + + while true; do var=`ifconfig ppp0` ;sleep 1; if [ "$var" != "" ]; then break; fi ; done ; sleep 5; iperf -u -c 192.172.0.1 -b 10Mbits/s -t 120 -B 192.172.0.2 + + + + True + sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue + + /tmp + BUILD/EPC/epc.local.enb.conf.in MCC \"208\" + BUILD/EPC/epc.local.enb.conf.in MNC \"92\" + BUILD/EPC/epc.local.enb.conf.in TAC \"1\" + BUILD/EPC/epc.local.enb.conf.in PGW_INTERFACE_NAME_FOR_SGI \"eth1\" + BUILD/EPC/epc.local.enb.conf.in PGW_IPV4_ADDRESS_FOR_SGI \"192.168.12.82/24\" + SCRIPTS/build_epc + -c -l + SCRIPTS/build_hss + -c -l + + + + /opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000 + + /opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 + + sleep 5; iperf -s -i 1 -u -f m -B 192.172.0.1 + + throughput_test min=1.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec duration=60.0s + + True + USRPx310.ALU_EPC.Bandrich.5MHz.FDD.Band_7.UL.1TX.1RX + 3 + + + + + lte-softmodem + + mozart + stevens + amerique + 180 + /tmp + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.epc.conf tracking_area_code \"1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.epc.conf mobile_country_code \"208\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.epc.conf mobile_network_code \"92\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.epc.conf N_RB_DL 50 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.epc.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.epc.conf downlink_frequency 2660000000L + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.epc.conf uplink_frequency_offset -120000000 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.epc.conf frame_type \"FDD\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.epc.conf nb_antennas_rx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.epc.conf nb_antennas_tx 1 + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP -x -c + + + $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem + -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.epc.conf + + + + + True + + /tmp + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code \"4\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_country_code \"5\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_network_code \"6\" + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP -x -c + + + $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 45; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue + + while true; do var=`ifconfig ppp0` ;sleep 1; if [ "$var" != "" ]; then break; fi ; done ; sleep 5; iperf -u -c 192.172.0.1 -b 10Mbits/s -t 120 -B 192.172.0.2 + + + + True + sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue + + /tmp + BUILD/EPC/epc.local.enb.conf.in MCC \"208\" + BUILD/EPC/epc.local.enb.conf.in MNC \"92\" + BUILD/EPC/epc.local.enb.conf.in TAC \"1\" + BUILD/EPC/epc.local.enb.conf.in PGW_INTERFACE_NAME_FOR_SGI \"eth1\" + BUILD/EPC/epc.local.enb.conf.in PGW_IPV4_ADDRESS_FOR_SGI \"192.168.12.82/24\" + SCRIPTS/build_epc + -c -l + SCRIPTS/build_hss + -c -l + + + + /opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000 + + /opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 + + sleep 5; iperf -s -i 1 -u -f m -B 192.172.0.1 + + throughput_test min=2.0Mbits/sec max=2.0Mbits/sec average=2.0Mbits/sec duration=60.0s + + True + USRPx310.ALU_EPC.Bandrich.10MHz.FDD.Band_7.UL.1TX.1RX + 3 + + + + lte-softmodem + + calisson + stevens + amerique + 180 + /tmp + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.epc.conf tracking_area_code \"1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.epc.conf mobile_country_code \"208\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.epc.conf mobile_network_code \"92\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.epc.conf N_RB_DL 100 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.epc.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.epc.conf downlink_frequency 2660000000L + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.epc.conf uplink_frequency_offset -120000000 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.epc.conf frame_type \"FDD\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.epc.conf nb_antennas_rx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.epc.conf nb_antennas_tx 1 + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP -x -c + + + $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem + -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.epc.conf + + + + + True + + /tmp + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code \"4\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_country_code \"5\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_network_code \"6\" + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP -x -c + + + $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 45; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue + + while true; do var=`ifconfig ppp0` ;sleep 1; if [ "$var" != "" ]; then break; fi ; done ; sleep 5; iperf -u -c 192.172.0.1 -b 10Mbits/s -t 120 -B 192.172.0.2 + + + + True + sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue + + /tmp + BUILD/EPC/epc.local.enb.conf.in MCC \"208\" + BUILD/EPC/epc.local.enb.conf.in MNC \"92\" + BUILD/EPC/epc.local.enb.conf.in TAC \"1\" + BUILD/EPC/epc.local.enb.conf.in PGW_INTERFACE_NAME_FOR_SGI \"eth1\" + BUILD/EPC/epc.local.enb.conf.in PGW_IPV4_ADDRESS_FOR_SGI \"192.168.12.82/24\" + SCRIPTS/build_epc + -c -l + SCRIPTS/build_hss + -c -l + + + + /opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000 + + /opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 + + sleep 5; iperf -s -i 1 -u -f m -B 192.172.0.1 + + throughput_test min=4.0Mbits/sec max=4.0Mbits/sec average=4.0Mbits/sec duration=60.0s + + True + USRPx310.ALU_EPC.Bandrich.20MHz.FDD.Band_7.UL.1TX.1RX + 3 + + + + lte-softmodem + + calisson + stevens + amerique + 180 + /tmp + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpx310.epc.remote.conf tracking_area_code \"1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpx310.epc.remote.conf mobile_country_code \"208\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpx310.epc.remote.conf mobile_network_code \"92\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpx310.epc.remote.conf N_RB_DL 25 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpx310.epc.remote.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpx310.epc.remote.conf downlink_frequency 2660000000L + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpx310.epc.remote.conf uplink_frequency_offset -120000000 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpx310.epc.remote.conf frame_type \"FDD\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpx310.epc.remote.conf nb_antennas_rx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpx310.epc.remote.conf nb_antennas_tx 1 + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP -x -c + + + $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem + -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpx310.epc.remote.conf + + + + + True + + /tmp + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code \"4\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_country_code \"5\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_network_code \"6\" + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP -x -c + + + $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 45; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue + + while true; do var=`ifconfig ppp0` ;sleep 1; if [ "$var" != "" ]; then break; fi ; done ; sleep 5; iperf -s -i 1 -u -f m -B 192.172.0.2 + + + + True + sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue + throughput_test min=4.0Mbits/sec max=5.0Mbits/sec average=4.0Mbits/sec duration=60.0s + + /tmp + BUILD/EPC/epc.local.enb.conf.in MCC \"208\" + BUILD/EPC/epc.local.enb.conf.in MNC \"92\" + BUILD/EPC/epc.local.enb.conf.in TAC \"1\" + BUILD/EPC/epc.local.enb.conf.in PGW_INTERFACE_NAME_FOR_SGI \"eth1\" + BUILD/EPC/epc.local.enb.conf.in PGW_IPV4_ADDRESS_FOR_SGI \"192.168.12.82/24\" + SCRIPTS/build_epc + -c -l + SCRIPTS/build_hss + -c -l + + + + /opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000 + + /opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 + + sleep 60; iperf -u -c 192.172.0.2 -b 10Mbits/s -t 120 -B 192.172.0.1 + + + True + USRPx310.ALU_EPC.Bandrich.5MHz.FDD.Band_7.DL.1TX.1RX + 3 + + + + lte-softmodem + + calisson + stevens + amerique + 180 + /tmp + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.epc.conf tracking_area_code \"1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.epc.conf mobile_country_code \"208\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.epc.conf mobile_network_code \"92\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.epc.conf N_RB_DL 50 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.epc.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.epc.conf downlink_frequency 2660000000L + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.epc.conf uplink_frequency_offset -120000000 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.epc.conf frame_type \"FDD\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.epc.conf nb_antennas_rx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.epc.conf nb_antennas_tx 1 + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP -x -c + + + $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem + -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.epc.conf + + + + + True + + /tmp + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code \"4\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_country_code \"5\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_network_code \"6\" + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP -x -c + + + $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 45; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue + + while true; do var=`ifconfig ppp0` ;sleep 1; if [ "$var" != "" ]; then break; fi ; done ; sleep 5; iperf -s -i 1 -u -f m -B 192.172.0.2 + + + + True + sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue + throughput_test min=8.0Mbits/sec max=9.0Mbits/sec average=8.5Mbits/sec duration=60.0s + + /tmp + BUILD/EPC/epc.local.enb.conf.in MCC \"208\" + BUILD/EPC/epc.local.enb.conf.in MNC \"92\" + BUILD/EPC/epc.local.enb.conf.in TAC \"1\" + BUILD/EPC/epc.local.enb.conf.in PGW_INTERFACE_NAME_FOR_SGI \"eth1\" + BUILD/EPC/epc.local.enb.conf.in PGW_IPV4_ADDRESS_FOR_SGI \"192.168.12.82/24\" + SCRIPTS/build_epc + -c -l + SCRIPTS/build_hss + -c -l + + + + /opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000 + + /opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 + + sleep 60; iperf -u -c 192.172.0.2 -b 10Mbits/s -t 120 -B 192.172.0.1 + + + True + USRPx310.ALU_EPC.Bandrich.10MHz.FDD.Band_7.DL.1TX.1RX + 3 + + + + lte-softmodem + + calisson + stevens + amerique + 180 + /tmp + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.epc.conf tracking_area_code \"1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.epc.conf mobile_country_code \"208\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.epc.conf mobile_network_code \"92\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.epc.conf N_RB_DL 100 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.epc.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.epc.conf downlink_frequency 2660000000L + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.epc.conf uplink_frequency_offset -120000000 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.epc.conf frame_type \"FDD\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.epc.conf nb_antennas_rx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.epc.conf nb_antennas_tx 1 + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP -x -c + + + $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem + -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.epc.remote.conf + + + + + True + + /tmp + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code \"4\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_country_code \"5\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_network_code \"6\" + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP -x -c + + + $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 45; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue + + while true; do var=`ifconfig ppp0` ;sleep 1; if [ "$var" != "" ]; then break; fi ; done ; sleep 5; iperf -s -i 1 -u -f m -B 192.172.0.2 + + + + True + sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue + throughput_test min=15.0Mbits/sec max=15.0Mbits/sec average=15.0Mbits/sec duration=60.0s + + /tmp + BUILD/EPC/epc.local.enb.conf.in MCC \"208\" + BUILD/EPC/epc.local.enb.conf.in MNC \"92\" + BUILD/EPC/epc.local.enb.conf.in TAC \"1\" + BUILD/EPC/epc.local.enb.conf.in PGW_INTERFACE_NAME_FOR_SGI \"eth1\" + BUILD/EPC/epc.local.enb.conf.in PGW_IPV4_ADDRESS_FOR_SGI \"192.168.12.82/24\" + SCRIPTS/build_epc + -c -l + SCRIPTS/build_hss + -c -l + + + + /opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000 + + /opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 + + sleep 60; iperf -u -c 192.172.0.2 -b 10Mbits/s -t 120 -B 192.172.0.1 + + + True + USRP.ALU_EPC.Bandrich.20MHz.FDD.Band_7.DL.1TX.1RX + 3 + + + + + + + lte-softmodem + + calisson + stevens + amerique + 180 + /tmp + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf tracking_area_code \"1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf mobile_country_code \"208\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf mobile_network_code \"92\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf N_RB_DL 25 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf downlink_frequency 2660000000L + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf uplink_frequency_offset -120000000 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf frame_type \"FDD\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf nb_antennas_rx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf nb_antennas_tx 1 + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w EXMIMO -x -c + sudo -E -S $OPENAIR_DIR/cmake_targets/tools/init_exmimo2 + + $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem + -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf + + + + + True + + /tmp + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code \"4\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_country_code \"5\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_network_code \"6\" + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP -x -c + + + $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 45; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue + + while true; do var=`ifconfig ppp0` ;sleep 1; if [ "$var" != "" ]; then break; fi ; done ; sleep 5; iperf -u -c 192.172.0.1 -b 10Mbits/s -t 120 -B 192.172.0.2 + + + + True + sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue + + /tmp + BUILD/EPC/epc.local.enb.conf.in MCC \"208\" + BUILD/EPC/epc.local.enb.conf.in MNC \"92\" + BUILD/EPC/epc.local.enb.conf.in TAC \"1\" + BUILD/EPC/epc.local.enb.conf.in PGW_INTERFACE_NAME_FOR_SGI \"eth1\" + BUILD/EPC/epc.local.enb.conf.in PGW_IPV4_ADDRESS_FOR_SGI \"192.168.12.82/24\" + SCRIPTS/build_epc + -c -l + SCRIPTS/build_hss + -c -l + + + + /opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000 + + /opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 + + sleep 5; iperf -s -i 1 -u -f m -B 192.172.0.1 + + throughput_test min=1.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec duration=60.0s + + True + EXMIMO.ALU_EPC.Bandrich.5MHz.FDD.Band_7.UL.1TX.1RX + 3 + + + + + lte-softmodem + + calisson + stevens + amerique + 180 + /tmp + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf tracking_area_code \"1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf mobile_country_code \"208\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf mobile_network_code \"92\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf N_RB_DL 50 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf downlink_frequency 2660000000L + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf uplink_frequency_offset -120000000 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf frame_type \"FDD\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf nb_antennas_rx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf nb_antennas_tx 1 + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w EXMIMO -x -c + sudo -E -S $OPENAIR_DIR/cmake_targets/tools/init_exmimo2 + + $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem + -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf + + + + + True + + /tmp + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code \"4\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_country_code \"5\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_network_code \"6\" + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP -x -c + + + $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 45; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue + + while true; do var=`ifconfig ppp0` ;sleep 1; if [ "$var" != "" ]; then break; fi ; done ; sleep 5; iperf -u -c 192.172.0.1 -b 10Mbits/s -t 120 -B 192.172.0.2 + + + + True + sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue + + /tmp + BUILD/EPC/epc.local.enb.conf.in MCC \"208\" + BUILD/EPC/epc.local.enb.conf.in MNC \"92\" + BUILD/EPC/epc.local.enb.conf.in TAC \"1\" + BUILD/EPC/epc.local.enb.conf.in PGW_INTERFACE_NAME_FOR_SGI \"eth1\" + BUILD/EPC/epc.local.enb.conf.in PGW_IPV4_ADDRESS_FOR_SGI \"192.168.12.82/24\" + SCRIPTS/build_epc + -c -l + SCRIPTS/build_hss + -c -l + + + + /opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000 + + /opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 + + sleep 5; iperf -s -i 1 -u -f m -B 192.172.0.1 + + throughput_test min=2.0Mbits/sec max=2.0Mbits/sec average=2.0Mbits/sec duration=60.0s + + True + EXMIMO.ALU_EPC.Bandrich.10MHz.FDD.Band_7.UL.1TX.1RX + 3 + + + + lte-softmodem + + calisson + stevens + amerique + 180 + /tmp + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf tracking_area_code \"1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf mobile_country_code \"208\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf mobile_network_code \"92\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf N_RB_DL 100 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf downlink_frequency 2660000000L + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf uplink_frequency_offset -120000000 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf frame_type \"FDD\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf nb_antennas_rx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf nb_antennas_tx 1 + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w EXMIMO -x -c + sudo -E -S $OPENAIR_DIR/cmake_targets/tools/init_exmimo2 + + $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem + -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf + + + + + True + + /tmp + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code \"4\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_country_code \"5\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_network_code \"6\" + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP -x -c + + + $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 45; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue + + while true; do var=`ifconfig ppp0` ;sleep 1; if [ "$var" != "" ]; then break; fi ; done ; sleep 5; iperf -u -c 192.172.0.1 -b 10Mbits/s -t 120 -B 192.172.0.2 + + + + True + sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue + + /tmp + BUILD/EPC/epc.local.enb.conf.in MCC \"208\" + BUILD/EPC/epc.local.enb.conf.in MNC \"92\" + BUILD/EPC/epc.local.enb.conf.in TAC \"1\" + BUILD/EPC/epc.local.enb.conf.in PGW_INTERFACE_NAME_FOR_SGI \"eth1\" + BUILD/EPC/epc.local.enb.conf.in PGW_IPV4_ADDRESS_FOR_SGI \"192.168.12.82/24\" + SCRIPTS/build_epc + -c -l + SCRIPTS/build_hss + -c -l + + + + /opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000 + + /opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 + + sleep 5; iperf -s -i 1 -u -f m -B 192.172.0.1 + + throughput_test min=4.0Mbits/sec max=4.0Mbits/sec average=4.0Mbits/sec duration=60.0s + + True + EXMIMO.ALU_EPC.Bandrich.20MHz.FDD.Band_7.UL.1TX.1RX + 3 + + + + lte-softmodem + + calisson + stevens + amerique + 180 + /tmp + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf tracking_area_code \"1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf mobile_country_code \"208\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf mobile_network_code \"92\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf N_RB_DL 25 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf downlink_frequency 2660000000L + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf uplink_frequency_offset -120000000 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf frame_type \"FDD\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf nb_antennas_rx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf nb_antennas_tx 1 + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP -x -c + sudo -E -S $OPENAIR_DIR/cmake_targets/tools/init_exmimo2 + + $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem + -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf + + + + + True + + /tmp + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code \"4\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_country_code \"5\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_network_code \"6\" + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP -x -c + + + $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 45; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue + + while true; do var=`ifconfig ppp0` ;sleep 1; if [ "$var" != "" ]; then break; fi ; done ; sleep 5; iperf -s -i 1 -u -f m -B 192.172.0.2 + + + + True + sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue + throughput_test min=4.0Mbits/sec max=5.0Mbits/sec average=4.0Mbits/sec duration=60.0s + + /tmp + BUILD/EPC/epc.local.enb.conf.in MCC \"208\" + BUILD/EPC/epc.local.enb.conf.in MNC \"92\" + BUILD/EPC/epc.local.enb.conf.in TAC \"1\" + BUILD/EPC/epc.local.enb.conf.in PGW_INTERFACE_NAME_FOR_SGI \"eth1\" + BUILD/EPC/epc.local.enb.conf.in PGW_IPV4_ADDRESS_FOR_SGI \"192.168.12.82/24\" + SCRIPTS/build_epc + -c -l + SCRIPTS/build_hss + -c -l + + + + /opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000 + + /opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 + + sleep 60; iperf -u -c 192.172.0.2 -b 10Mbits/s -t 120 -B 192.172.0.1 + + + True + EXMIMO.ALU_EPC.Bandrich.5MHz.FDD.Band_7.DL.1TX.1RX + 3 + + + + lte-softmodem + + calisson + stevens + amerique + 180 + /tmp + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf tracking_area_code \"1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf mobile_country_code \"208\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf mobile_network_code \"92\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf N_RB_DL 50 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf downlink_frequency 2660000000L + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf uplink_frequency_offset -120000000 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf frame_type \"FDD\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf nb_antennas_rx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf nb_antennas_tx 1 + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w EXMIMO -x -c + sudo -E -S $OPENAIR_DIR/cmake_targets/tools/init_exmimo2 + + $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem + -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf + + + + + True + + /tmp + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code \"4\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_country_code \"5\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_network_code \"6\" + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP -x -c + + + $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 45; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue + + while true; do var=`ifconfig ppp0` ;sleep 1; if [ "$var" != "" ]; then break; fi ; done ; sleep 5; iperf -s -i 1 -u -f m -B 192.172.0.2 + + + + True + sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue + throughput_test min=8.0Mbits/sec max=9.0Mbits/sec average=8.5Mbits/sec duration=60.0s + + /tmp + BUILD/EPC/epc.local.enb.conf.in MCC \"208\" + BUILD/EPC/epc.local.enb.conf.in MNC \"92\" + BUILD/EPC/epc.local.enb.conf.in TAC \"1\" + BUILD/EPC/epc.local.enb.conf.in PGW_INTERFACE_NAME_FOR_SGI \"eth1\" + BUILD/EPC/epc.local.enb.conf.in PGW_IPV4_ADDRESS_FOR_SGI \"192.168.12.82/24\" + SCRIPTS/build_epc + -c -l + SCRIPTS/build_hss + -c -l + + + + /opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000 + + /opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 + + sleep 60; iperf -u -c 192.172.0.2 -b 10Mbits/s -t 120 -B 192.172.0.1 + + + True + EXMIMO.ALU_EPC.Bandrich.10MHz.FDD.Band_7.DL.1TX.1RX + 3 + + + + lte-softmodem + + calisson + stevens + amerique + 180 + /tmp + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf tracking_area_code \"1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf mobile_country_code \"208\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf mobile_network_code \"92\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf N_RB_DL 100 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf downlink_frequency 2660000000L + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf uplink_frequency_offset -120000000 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf frame_type \"FDD\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf nb_antennas_rx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf nb_antennas_tx 1 + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w EXMIMO -x -c + sudo -E -S $OPENAIR_DIR/cmake_targets/tools/init_exmimo2 + + $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem + -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf + + + + + True + + /tmp + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code \"4\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_country_code \"5\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf mobile_network_code \"6\" + $OPENAIR_DIR/cmake_targets/build_oai + --eNB -w USRP -x -c + + + $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 45; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue + + while true; do var=`ifconfig ppp0` ;sleep 1; if [ "$var" != "" ]; then break; fi ; done ; sleep 5; iperf -s -i 1 -u -f m -B 192.172.0.2 + + + + True + sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue + throughput_test min=15.0Mbits/sec max=15.0Mbits/sec average=15.0Mbits/sec duration=60.0s + + /tmp + BUILD/EPC/epc.local.enb.conf.in MCC \"208\" + BUILD/EPC/epc.local.enb.conf.in MNC \"92\" + BUILD/EPC/epc.local.enb.conf.in TAC \"1\" + BUILD/EPC/epc.local.enb.conf.in PGW_INTERFACE_NAME_FOR_SGI \"eth1\" + BUILD/EPC/epc.local.enb.conf.in PGW_IPV4_ADDRESS_FOR_SGI \"192.168.12.82/24\" + SCRIPTS/build_epc + -c -l + SCRIPTS/build_hss + -c -l + + + + /opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000 + + /opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 + + sleep 60; iperf -u -c 192.172.0.2 -b 10Mbits/s -t 120 -B 192.172.0.1 + + + True + EXMIMO.ALU_EPC.Bandrich.20MHz.FDD.Band_7.DL.1TX.1RX + 3 + + + + lte-softmodem From 0dc471d23bb883a52b386e394233520e56464fa2 Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Tue, 8 Dec 2015 18:52:49 +0100 Subject: [PATCH 81/85] removed TM 5,6 test cases --- cmake_targets/autotests/README.txt | 28 ++--- cmake_targets/autotests/test_case_list.xml | 138 +++++---------------- 2 files changed, 47 insertions(+), 119 deletions(-) diff --git a/cmake_targets/autotests/README.txt b/cmake_targets/autotests/README.txt index 8549f54221..29649ba8f7 100644 --- a/cmake_targets/autotests/README.txt +++ b/cmake_targets/autotests/README.txt @@ -27,24 +27,24 @@ Obj.# Case# Test# Description -01 02 Run OAISIM-NOS1 Rel10 (TDD + 5MHz/10MHz/20MHz + TM 1,2,5,6), and check the operation -01 02 00 Run OAISIM-NOS1 Rel10 TDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) and search for errors, segmentation fault or exit -01 02 01 Run OAISIM-NOS1 Rel10 TDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode and search for errors -01 02 02 Run OAISIM-NOS1 Rel10 TDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2,5,6) and search for errors, segmentation fault or exit -01 02 03 Run OAISIM-NOS1 Rel10 TDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode and search for errors -01 02 04 Run OAISIM-NOS1 Rel10 TDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) without PHY_ABSTRACTION mode, ping from from eNB to UE, +01 02 Run OAISIM-NOS1 Rel10 (TDD + 5MHz/10MHz/20MHz + TM 1,2), and check the operation +01 02 00 Run OAISIM-NOS1 Rel10 TDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2) and search for errors, segmentation fault or exit +01 02 01 Run OAISIM-NOS1 Rel10 TDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2) in PHY_ABSTRACTION mode and search for errors +01 02 02 Run OAISIM-NOS1 Rel10 TDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2) and search for errors, segmentation fault or exit +01 02 03 Run OAISIM-NOS1 Rel10 TDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2) in PHY_ABSTRACTION mode and search for errors +01 02 04 Run OAISIM-NOS1 Rel10 TDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2) without PHY_ABSTRACTION mode, ping from from eNB to UE, and for check for no packet losses -01 02 05 Run OAISIM-NOS1 Rel10 TDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode, send ping from from eNB to UE, +01 02 05 Run OAISIM-NOS1 Rel10 TDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check for no packet losses -01 03 Run OAISIM-NOS1 Rel10 (FDD + 5MHz/10MHz/20MHz + TM 1,2,5,6), and check the operation -01 03 00 Run OAISIM-NOS1 Rel10 FDD, 1 eNB + 1 UE 1 eNB (5 MHz/10MHz/20MHz), (TM 1,2,5,6) and search for errors, segmentation fault or exit -01 03 01 Run OAISIM-NOS1 Rel10 FDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode and search for errors -01 03 02 Run OAISIM-NOS1 Rel10 FDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2,5,6) and search for errors, segmentation fault or exit -01 03 03 Run OAISIM-NOS1 Rel10 FDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode and search for errors -01 03 04 Run OAISIM-NOS1 Rel10 FDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) without PHY_ABSTRACTION mode, ping from from eNB to UE, +01 03 Run OAISIM-NOS1 Rel10 (FDD + 5MHz/10MHz/20MHz + TM 1,2), and check the operation +01 03 00 Run OAISIM-NOS1 Rel10 FDD, 1 eNB + 1 UE 1 eNB (5 MHz/10MHz/20MHz), (TM 1,2) and search for errors, segmentation fault or exit +01 03 01 Run OAISIM-NOS1 Rel10 FDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2) in PHY_ABSTRACTION mode and search for errors +01 03 02 Run OAISIM-NOS1 Rel10 FDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2) and search for errors, segmentation fault or exit +01 03 03 Run OAISIM-NOS1 Rel10 FDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2) in PHY_ABSTRACTION mode and search for errors +01 03 04 Run OAISIM-NOS1 Rel10 FDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2) without PHY_ABSTRACTION mode, ping from from eNB to UE, and for check for no packet losses -01 03 05 Run OAISIM-NOS1 Rel10 FDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode, send ping from from eNB to UE, +01 03 05 Run OAISIM-NOS1 Rel10 FDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check for no packet losses diff --git a/cmake_targets/autotests/test_case_list.xml b/cmake_targets/autotests/test_case_list.xml index 9f2091053e..d3092f8828 100644 --- a/cmake_targets/autotests/test_case_list.xml +++ b/cmake_targets/autotests/test_case_list.xml @@ -313,7 +313,7 @@ execution - Run OAISIM Rel10 TDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) and search for errors, segmentation fault or exit + Run OAISIM Rel10 TDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2) and search for errors, segmentation fault or exit $OPENAIR_DIR/cmake_targets/build_oai --oaisim --noS1 -c @@ -325,14 +325,8 @@ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 1 -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 2 -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 2 - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 2 - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 5 - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 5 - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 5 - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 6 - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 6 - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 6 - oaisim_noS1.tdd.5MHz.TM1 oaisim_noS1.tdd.10MHz.TM1 oaisim_noS1.tdd.20MHz.TM1 oaisim_noS1.tdd.5MHz.TM2 oaisim_noS1.tdd.10MHz.TM2 oaisim_noS1.tdd.20MHz.TM2 oaisim_noS1.tdd.5MHz.TM5 oaisim_noS1.tdd.10MHz.TM5 oaisim_noS1.tdd.20MHz.TM5 oaisim_noS1.tdd.5MHz.TM6 oaisim_noS1.tdd.10MHz.TM6 oaisim_noS1.tdd.20MHz.TM6 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 2 + oaisim_noS1.tdd.5MHz.TM1 oaisim_noS1.tdd.10MHz.TM1 oaisim_noS1.tdd.20MHz.TM1 oaisim_noS1.tdd.5MHz.TM2 oaisim_noS1.tdd.10MHz.TM2 oaisim_noS1.tdd.20MHz.TM2 "Received RRCConnectionReconfigurationComplete from UE 0" segmentation fault|assertion|exiting|fatal 3 @@ -340,7 +334,7 @@ execution - Run OAISIM Rel10 TDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit + Run OAISIM Rel10 TDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit $OPENAIR_DIR/cmake_targets/build_oai --oaisim --noS1 -c @@ -352,14 +346,8 @@ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 1 -a -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 2 -a -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 2 -a - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 2 -a - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 5 -a - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 5 -a - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 5 -a - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 6 -a - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 6 -a - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 6 -a - oaisim_noS1.tdd.5MHz.TM1 oaisim_noS1.tdd.10MHz.TM1 oaisim_noS1.tdd.20MHz.TM1 oaisim_noS1.tdd.5MHz.TM2 oaisim_noS1.tdd.10MHz.TM2 oaisim_noS1.tdd.20MHz.TM2 oaisim_noS1.tdd.5MHz.TM5 oaisim_noS1.tdd.10MHz.TM5 oaisim_noS1.tdd.20MHz.TM5 oaisim_noS1.tdd.5MHz.TM6 oaisim_noS1.tdd.10MHz.TM6 oaisim_noS1.tdd.20MHz.TM6 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 2 -a + oaisim_noS1.tdd.5MHz.TM1 oaisim_noS1.tdd.10MHz.TM1 oaisim_noS1.tdd.20MHz.TM1 oaisim_noS1.tdd.5MHz.TM2 oaisim_noS1.tdd.10MHz.TM2 oaisim_noS1.tdd.20MHz.TM2 "Received RRCConnectionReconfigurationComplete from UE 0" segmentation fault|assertion|exiting|fatal 3 @@ -367,7 +355,7 @@ execution - Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2,5,6) and search for errors, segmentation fault or exit + Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2) and search for errors, segmentation fault or exit $OPENAIR_DIR/cmake_targets/build_oai --oaisim --noS1 -c @@ -379,14 +367,8 @@ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 1 -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 2 -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 2 - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 2 - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 5 - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 5 - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 5 - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 6 - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 6 - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 6 - oaisim_noS1.tdd.5MHz.TM1 oaisim_noS1.tdd.10MHz.TM1 oaisim_noS1.tdd.20MHz.TM1 oaisim_noS1.tdd.5MHz.TM2 oaisim_noS1.tdd.10MHz.TM2 oaisim_noS1.tdd.20MHz.TM2 oaisim_noS1.tdd.5MHz.TM5 oaisim_noS1.tdd.10MHz.TM5 oaisim_noS1.tdd.20MHz.TM5 oaisim_noS1.tdd.5MHz.TM6 oaisim_noS1.tdd.10MHz.TM6 oaisim_noS1.tdd.20MHz.TM6 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 2 + oaisim_noS1.tdd.5MHz.TM1 oaisim_noS1.tdd.10MHz.TM1 oaisim_noS1.tdd.20MHz.TM1 oaisim_noS1.tdd.5MHz.TM2 oaisim_noS1.tdd.10MHz.TM2 oaisim_noS1.tdd.20MHz.TM2 "Received RRCConnectionReconfigurationComplete from UE 0" "Received RRCConnectionReconfigurationComplete from UE 1" "Received RRCConnectionReconfigurationComplete from UE 2" segmentation fault|assertion|exiting|fatal 3 @@ -406,14 +388,8 @@ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 1 -a -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 2 -a -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 2 -a - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 2 -a - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 5 -a - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 5 -a - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 5 -a - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 6 -a - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 6 -a - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 6 -a - oaisim_noS1.tdd.5MHz.TM1 oaisim_noS1.tdd.10MHz.TM1 oaisim_noS1.tdd.20MHz.TM1 oaisim_noS1.tdd.5MHz.TM2 oaisim_noS1.tdd.10MHz.TM2 oaisim_nos1.tdd.20MHz.TM2 oaisim_noS1.tdd.5MHz.TM5 oaisim_noS1.tdd.10MHz.TM5 oaisim_noS1.tdd.20MHz.TM5 oaisim_noS1.tdd.5MHz.TM6 oaisim_noS1.tdd.10MHz.TM6 oaisim_noS1.tdd.20MHz.TM6 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 2 -a + oaisim_noS1.tdd.5MHz.TM1 oaisim_noS1.tdd.10MHz.TM1 oaisim_noS1.tdd.20MHz.TM1 oaisim_noS1.tdd.5MHz.TM2 oaisim_noS1.tdd.10MHz.TM2 oaisim_nos1.tdd.20MHz.TM2 "Received RRCConnectionReconfigurationComplete from UE 0" "Received RRCConnectionReconfigurationComplete from UE 1" "Received RRCConnectionReconfigurationComplete from UE 2" segmentation fault|assertion|exiting|fatal 3 @@ -433,14 +409,8 @@ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 1 -c26 -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 2 -c26 -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 2 -c26 - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 2 -c26 - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 5 -c26 - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 5 -c26 - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 5 -c26 - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 6 -c26 - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 6 -c26 - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 6 -c26 - oaisim_noS1.tdd.5MHz.TM1 oaisim_noS1.tdd.10MHz.TM1 oaisim_noS1.tdd.20MHz.TM1 oaisim_noS1.tdd.5MHz.TM2 oaisim_noS1.tdd.10MHz.TM2 oaisim_noS1.tdd.20MHz.TM2 oaisim_noS1.tdd.5MHz.TM5 oaisim_noS1.tdd.10MHz.TM5 oaisim_noS1.tdd.20MHz.TM5 oaisim_noS1.tdd.5MHz.TM6 oaisim_noS1.tdd.10MHz.TM6 oaisim_noS1.tdd.20MHz.TM6 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 2 -c26 + oaisim_noS1.tdd.5MHz.TM1 oaisim_noS1.tdd.10MHz.TM1 oaisim_noS1.tdd.20MHz.TM1 oaisim_noS1.tdd.5MHz.TM2 oaisim_noS1.tdd.10MHz.TM2 oaisim_noS1.tdd.20MHz.TM2 "DL and UL loss rate below 10" segmentation fault|assertion|exiting|fatal 3 @@ -460,14 +430,8 @@ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 1 -c26 -a -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 2 -c26 -a -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 2 -c26 -a - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 2 -c26 -a - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 5 -c26 -a - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 5 -c26 -a - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 5 -c26 -a - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 6 -c26 -a - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 6 -c26 -a - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 6 -c26 -a - oaisim_noS1.tdd.5MHz.TM1 oaisim_noS1.tdd.10MHz.TM1 oaisim_noS1.tdd.20MHz.TM1 oaisim_noS1.tdd.5MHz.TM2 oaisim_noS1.tdd.10MHz.TM2 oaisim_noS1.tdd.20MHz.TM2 oaisim_noS1.tdd.5MHz.TM5 oaisim_noS1.tdd.10MHz.TM5 oaisim_nos1.tdd.20MHz.TM5 oaisim_noS1.tdd.5MHz.TM6 oaisim_noS1.tdd.10MHz.TM6 oaisim_noS1.tdd.20MHz.TM6 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 2 -c26 -a + oaisim_noS1.tdd.5MHz.TM1 oaisim_noS1.tdd.10MHz.TM1 oaisim_noS1.tdd.20MHz.TM1 oaisim_noS1.tdd.5MHz.TM2 oaisim_noS1.tdd.10MHz.TM2 oaisim_noS1.tdd.20MHz.TM2 "DL and UL loss rate below 10" segmentation fault|assertion|exiting|fatal 3 @@ -475,7 +439,7 @@ execution - Run OAISIM Rel10 FDD, 1 eNB + 1 UE 1 eNB (5 MHz/10MHz/20MHz), (TM 1,2,5,6) and search for errors, segmentation fault or exit + Run OAISIM Rel10 FDD, 1 eNB + 1 UE 1 eNB (5 MHz/10MHz/20MHz), (TM 1,2) and search for errors, segmentation fault or exit $OPENAIR_DIR/cmake_targets/build_oai --oaisim --noS1 -c @@ -487,14 +451,8 @@ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 1 -F -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 2 -F -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 2 -F - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 2 -F - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 5 -F - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 5 -F - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 5 -F - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 6 -F - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 6 -F - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 6 -F - oaisim_noS1.FDD.5MHz.TM1 oaisim_noS1.FDD.10MHz.TM1 oaisim_noS1.FDD.20MHz.TM1 oaisim_noS1.FDD.5MHz.TM2 oaisim_noS1.FDD.10MHz.TM2 oaisim_noS1.FDD.20MHz.TM2 oaisim_noS1.FDD.5MHz.TM5 oaisim_noS1.FDD.10MHz.TM5 oaisim_noS1.FDD.20MHz.TM5 oaisim_noS1.FDD.5MHz.TM6 oaisim_noS1.FDD.10MHz.TM6 oaisim_noS1.FDD.20MHz.TM6 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 2 -F + oaisim_noS1.FDD.5MHz.TM1 oaisim_noS1.FDD.10MHz.TM1 oaisim_noS1.FDD.20MHz.TM1 oaisim_noS1.FDD.5MHz.TM2 oaisim_noS1.FDD.10MHz.TM2 oaisim_noS1.FDD.20MHz.TM2 "Received RRCConnectionReconfigurationComplete from UE 0" segmentation fault|assertion|exiting|fatal 3 @@ -502,7 +460,7 @@ execution - Run OAISIM Rel10 FDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode and search for errors + Run OAISIM Rel10 FDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2) in PHY_ABSTRACTION mode and search for errors $OPENAIR_DIR/cmake_targets/build_oai --oaisim --noS1 -c @@ -514,14 +472,8 @@ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 1 -F -a -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 2 -F -a -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 2 -F -a - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 2 -F -a - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 5 -F -a - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 5 -F -a - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 5 -F -a - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 6 -F -a - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 6 -F -a - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 6 -F -a - oaisim_noS1.FDD.5MHz.TM1 oaisim_noS1.FDD.10MHz.TM1 oaisim_noS1.FDD.20MHz.TM1 oaisim_noS1.FDD.5MHz.TM2 oaisim_noS1.FDD.10MHz.TM2 oaisim_noS1.FDD.20MHz.TM2 oaisim_noS1.FDD.5MHz.TM5 oaisim_noS1.FDD.10MHz.TM5 oaisim_noS1.FDD.20MHz.TM5 oaisim_noS1.FDD.5MHz.TM6 oaisim_noS1.FDD.10MHz.TM6 oaisim_noS1.FDD.20MHz.TM6 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 2 -F -a + oaisim_noS1.FDD.5MHz.TM1 oaisim_noS1.FDD.10MHz.TM1 oaisim_noS1.FDD.20MHz.TM1 oaisim_noS1.FDD.5MHz.TM2 oaisim_noS1.FDD.10MHz.TM2 oaisim_noS1.FDD.20MHz.TM2 "Received RRCConnectionReconfigurationComplete from UE 0" segmentation fault|assertion|exiting|fatal 3 @@ -529,7 +481,7 @@ execution - Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2,5,6) and search for errors, segmentation fault or exit + Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2) and search for errors, segmentation fault or exit $OPENAIR_DIR/cmake_targets/build_oai --oaisim --noS1 -c @@ -541,14 +493,8 @@ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 1 -F -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 2 -F -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 2 -F - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 2 -F - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 5 -F - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 5 -F - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 5 -F - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 6 -F - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 6 -F - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 6 -F - oaisim_noS1.FDD.5MHz.TM1 oaisim_noS1.FDD.10MHz.TM1 oaisim_noS1.FDD.20MHz.TM1 oaisim_noS1.FDD.5MHz.TM2 oaisim_noS1.FDD.10MHz.TM2 oaisim_noS1.FDD.20MHz.TM2 oaisim_noS1.FDD.5MHz.TM5 oaisim_noS1.FDD.10MHz.TM5 oaisim_noS1.FDD.20MHz.TM5 oaisim_noS1.FDD.5MHz.TM6 oaisim_noS1.FDD.10MHz.TM6 oaisim_noS1.FDD.20MHz.TM6 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 2 -F + oaisim_noS1.FDD.5MHz.TM1 oaisim_noS1.FDD.10MHz.TM1 oaisim_noS1.FDD.20MHz.TM1 oaisim_noS1.FDD.5MHz.TM2 oaisim_noS1.FDD.10MHz.TM2 oaisim_noS1.FDD.20MHz.TM2 "Received RRCConnectionReconfigurationComplete from UE 0" "Received RRCConnectionReconfigurationComplete from UE 1" "Received RRCConnectionReconfigurationComplete from UE 2" segmentation fault|assertion|exiting|fatal 3 @@ -556,7 +502,7 @@ execution - Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode and search for errors + Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2) in PHY_ABSTRACTION mode and search for errors $OPENAIR_DIR/cmake_targets/build_oai --oaisim --noS1 -c @@ -568,14 +514,8 @@ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 1 -F -a -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 2 -F -a -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 2 -F -a - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 2 -F -a - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 5 -F -a - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 5 -F -a - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 5 -F -a - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 6 -F -a - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 6 -F -a - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 6 -F -a - oaisim_noS1.FDD.5MHz.TM1 oaisim_noS1.FDD.10MHz.TM1 oaisim_noS1.FDD.20MHz.TM1 oaisim_noS1.FDD.5MHz.TM2 oaisim_noS1.FDD.10MHz.TM2 oaisim_noS1.FDD.20MHz.TM2 oaisim_noS1.FDD.5MHz.TM5 oaisim_noS1.FDD.10MHz.TM5 oaisim_noS1.FDD.20MHz.TM5 oaisim_noS1.FDD.5MHz.TM6 oaisim_noS1.FDD.10MHz.TM6 oaisim_noS1.FDD.20MHz.TM6 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 2 -F -a + oaisim_noS1.FDD.5MHz.TM1 oaisim_noS1.FDD.10MHz.TM1 oaisim_noS1.FDD.20MHz.TM1 oaisim_noS1.FDD.5MHz.TM2 oaisim_noS1.FDD.10MHz.TM2 oaisim_noS1.FDD.20MHz.TM2 "Received RRCConnectionReconfigurationComplete from UE 0" "Received RRCConnectionReconfigurationComplete from UE 1" "Received RRCConnectionReconfigurationComplete from UE 2" segmentation fault|assertion|exiting|fatal 3 @@ -583,7 +523,7 @@ execution - Run OAI Rel10 FDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) without PHY_ABSTRACTION mode, ping from from eNB to UE, and for check for no packet losses + Run OAI Rel10 FDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2) without PHY_ABSTRACTION mode, ping from from eNB to UE, and for check for no packet losses $OPENAIR_DIR/cmake_targets/build_oai --oaisim --noS1 -c @@ -595,14 +535,8 @@ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 1 -F -c26 -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 2 -F -c26 -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 2 -F -c26 - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 2 -F -c26 - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 5 -F -c26 - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 5 -F -c26 - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 5 -F -c26 - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 6 -F -c26 - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 6 -F -c26 - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 6 -F -c26 - oaisim_noS1.FDD.5MHz.TM1 oaisim_noS1.FDD.10MHz.TM1 oaisim_noS1.FDD.20MHz.TM1 oaisim_noS1.FDD.5MHz.TM2 oaisim_noS1.FDD.10MHz.TM2 oaisim_noS1.FDD.20MHz.TM2 oaisim_noS1.FDD.5MHz.TM5 oaisim_noS1.FDD.10MHz.TM5 oaisim_noS1.FDD.20MHz.TM5 oaisim_noS1.FDD.5MHz.TM6 oaisim_noS1.FDD.10MHz.TM6 oaisim_noS1.FDD.20MHz.TM6 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 2 -F -c26 + oaisim_noS1.FDD.5MHz.TM1 oaisim_noS1.FDD.10MHz.TM1 oaisim_noS1.FDD.20MHz.TM1 oaisim_noS1.FDD.5MHz.TM2 oaisim_noS1.FDD.10MHz.TM2 oaisim_noS1.FDD.20MHz.TM2 "DL and UL loss rate below 10" segmentation fault|assertion|exiting|fatal 3 @@ -610,7 +544,7 @@ execution - Run OAI Rel10 FDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check for no packet losses + Run OAI Rel10 FDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check for no packet losses $OPENAIR_DIR/cmake_targets/build_oai --oaisim --noS1 -c @@ -622,14 +556,8 @@ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 1 -F -c26 -a -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 2 -F -c26 -a -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 2 -F -c26 -a - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 2 -F -c26 -a - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 5 -F -c26 -a - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 5 -F -c26 -a - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 5 -F -c26 -a - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 6 -F -c26 -a - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 6 -F -c26 -a - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 6 -F -c26 -a - oaisim_noS1.FDD.5MHz.TM1 oaisim_noS1.FDD.10MHz.TM1 oaisim_noS1.FDD.20MHz.TM1 oaisim_noS1.FDD.5MHz.TM2 oaisim_noS1.FDD.10MHz.TM2 oaisim_noS1.FDD.20MHz.TM2 oaisim_noS1.FDD.5MHz.TM5 oaisim_noS1.FDD.10MHz.TM5 oaisim_noS1.FDD.20MHz.TM5 oaisim_noS1.FDD.5MHz.TM6 oaisim_noS1.FDD.10MHz.TM6 oaisim_noS1.FDD.20MHz.TM6 + -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 2 -F -c26 -a + oaisim_noS1.FDD.5MHz.TM1 oaisim_noS1.FDD.10MHz.TM1 oaisim_noS1.FDD.20MHz.TM1 oaisim_noS1.FDD.5MHz.TM2 oaisim_noS1.FDD.10MHz.TM2 oaisim_noS1.FDD.20MHz.TM2 "DL and UL loss rate below 10" segmentation fault|assertion|exiting|fatal 3 From 7c48a0f99906795eaf44607613497ec05cfcfa7e Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Thu, 10 Dec 2015 16:18:25 +0100 Subject: [PATCH 82/85] updated N_RB_DL to 25 --- .../GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf index 8248f20927..7bc8e8593a 100644 --- a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf +++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf @@ -30,7 +30,7 @@ eNBs = downlink_frequency = 2660000000L; uplink_frequency_offset = -120000000; Nid_cell = 0; - N_RB_DL = 100; + N_RB_DL = 25; Nid_cell_mbsfn = 0; nb_antennas_tx = 1; nb_antennas_rx = 1; From 40c6803004818cead4885e61667679564bc38b8f Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Mon, 14 Dec 2015 18:35:00 +0100 Subject: [PATCH 83/85] merge changes from bugfix-56-UE_category3_throughput --- cmake_targets/autotests/openair.py | 18 +- .../autotests/run_exec_lte-softmodem_tests.py | 61 +++- cmake_targets/autotests/test_case_list.xml | 336 ++++++++++++------ 3 files changed, 283 insertions(+), 132 deletions(-) diff --git a/cmake_targets/autotests/openair.py b/cmake_targets/autotests/openair.py index e0acf31cb8..e8d07ba1e1 100644 --- a/cmake_targets/autotests/openair.py +++ b/cmake_targets/autotests/openair.py @@ -43,6 +43,7 @@ import shutil import subprocess import sys import traceback +import time # import call from core import * @@ -82,6 +83,7 @@ class openair(core): return (stdout, stderr) def connect(self, username, password, prompt='PEXPECT_OAI'): + while True: self.prompt1 = prompt self.prompt2 = prompt self.password = '' @@ -103,13 +105,15 @@ class openair(core): self.oai.sendline('uptime') self.oai.prompt() print self.oai.before - + break except Exception, e: error='' error = error + ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e) error = error + traceback.format_exc() print error - sys.exit(1) + print "Retrying again in 60 seconds" + time.sleep(60) + #sys.exit(1) def connect2(self, username, password, prompt='$'): self.prompt1 = prompt @@ -190,7 +194,7 @@ class openair(core): error = error + ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e) error = error + traceback.format_exc() print error - sys.exit(1) + #sys.exit(1) def rm_driver(self,oai,user, pw): try: @@ -205,7 +209,7 @@ class openair(core): error = error + ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e) error = error + traceback.format_exc() print error - sys.exit(1) + #sys.exit(1) def driver(self,oai,user,pw): #pwd = oai.send_recv('pwd') @@ -222,7 +226,7 @@ class openair(core): error = error + ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e) error = error + traceback.format_exc() print error - sys.exit(1) + #sys.exit(1) def cleandir (self, logdir,debug) : @@ -238,8 +242,8 @@ class openair(core): error = error + ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e) error = error + traceback.format_exc() print error - sys.exit(1) - #print 'Could not remove the filepath'+ filepath + ' with error ' + OSError + #sys.exit(1) + #print 'Could not remove the filepath'+ filepath + ' with error ' + OSError def create_dir(self,dirname,debug) : if not os.path.exists(dirname) : diff --git a/cmake_targets/autotests/run_exec_lte-softmodem_tests.py b/cmake_targets/autotests/run_exec_lte-softmodem_tests.py index 6f14cf63f3..faa4f573b2 100644 --- a/cmake_targets/autotests/run_exec_lte-softmodem_tests.py +++ b/cmake_targets/autotests/run_exec_lte-softmodem_tests.py @@ -257,6 +257,22 @@ def update_config_file(oai, config_string, logdirRepo, python_script): return cmd #result = oai.send_recv(cmd) +def SSHSessionWrapper(machine, username, key_file, password, logdir_remote_testcase, logdir_local_base): + while True: + try: + ssh = SSHSession(machine , username, key_file, password) + ssh.get_all(logdir_remote_testcase , logdir_local_base) + break + except Exception, e: + error='' + error = error + ' In Class = function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e) + error = error + '\n username = ' + username + '\n machine = ' + machine + '\n logdir_remote = ' + logdir_remote_testcase + '\n logdir_local_base = ' + logdir_local_base + error = error + traceback.format_exc() + print error + print " Trying again in 60 seconds" + time.sleep(60) + print "Continuing ..." + #Function to clean old programs that might be running from earlier execution @@ -366,8 +382,9 @@ class testCaseThread_generic (threading.Thread): #print "ThreadID = " + str(self.threadID) + "ThreadName: " + self.name + " testcasename: " + self.testcasename + "Execution Result = " + res write_file(logfile_task_testcasename, cmd, mode="w") #Now we copy all the remote files - ssh = SSHSession(self.machine , username=user, key_file=None, password=self.password) - ssh.get_all(logdir_remote_testcase , logdir_local_base) + #ssh = SSHSession(self.machine , username=user, key_file=None, password=self.password) + #ssh.get_all(logdir_remote_testcase , logdir_local_base) + SSHSessionWrapper(self.machine, user, None, self.password, logdir_remote_testcase, logdir_local_base) print "Finishing test case : " + self.testcasename + " On machine " + self.machine cleanOldPrograms(oai, self.oldprogramList, self.CleanupAluLteBox) #oai.kill(user,mypassword) @@ -378,9 +395,12 @@ class testCaseThread_generic (threading.Thread): error = error + '\n threadID = ' + str(self.threadID) + '\n threadName = ' + self.name + '\n testcasename = ' + self.testcasename + '\n machine = ' + self.machine + '\n logdirOAI5GRepo = ' + self.logdirOAI5GRepo + '\n' + '\n timeout = ' + str(self.timeout) error = error + traceback.format_exc() print error - sys.exit() + print "Continuing with next test case..." + #sys.exit() + + def addsudo (cmd, password=""): cmd = 'echo \'' + password + '\' | sudo -S -E bash -c \' ' + cmd + '\' ' return cmd @@ -434,23 +454,26 @@ def handle_testcaseclass_generic (testcasename, threadListGeneric, oldprogramLis error = error + '\n testcasename = ' + testcasename + '\n logdirOAI5GRepo = ' + logdirOAI5GRepo + '\n MachineList = ' + ','.join(MachineList) + '\n timeout = ' + str(timeout) + '\n' error = error + traceback.format_exc() print error - sys.exit(1) + print "Continuing..." + #sys.exit(1) #Blocking wait for all threads related to generic testcase execution, class (compilation and execution) def wait_testcaseclass_generic_threads(threadListGeneric, timeout = 1): + threadListGenericNew=[] for param in threadListGeneric: thread_id = param["thread_id"] machine = param["Machine"] testcasenameold = param["testcasename"] thread_id.join(timeout) if thread_id.isAlive() == True: + threadListGenericNew.append(param) print "thread_id on machine: " + machine + " is still alive: testcasename: " + testcasenameold print " Exiting now..." sys.exit(1) else: print "thread_id on machine: " + machine + " is stopped: testcasename: " + testcasenameold - threadListGeneric.remove(param) - return threadListGeneric + #threadListGeneric.remove(param) + return threadListGenericNew #Function to handle test case class : lte-softmodem def handle_testcaseclass_softmodem (testcase, oldprogramList, logdirOAI5GRepo , logdirOpenaircnRepo, MachineList, password, CleanUpAluLteBox): @@ -760,16 +783,21 @@ def handle_testcaseclass_softmodem (testcase, oldprogramList, logdirOAI5GRepo , print "Copying files from EPCMachine : " + EPCMachine + "logdir_EPC = " + logdir_EPC - ssh = SSHSession(EPCMachine , username=user, key_file=None, password=password) - ssh.get_all(logdir_EPC , logdir_local + '/cmake_targets/autotests/log/'+ testcasename) + #ssh = SSHSession(EPCMachine , username=user, key_file=None, password=password) + #ssh.get_all(logdir_EPC , logdir_local + '/cmake_targets/autotests/log/'+ testcasename) + SSHSessionWrapper(EPCMachine, user, None, password, logdir_EPC, logdir_local + '/cmake_targets/autotests/log/'+ testcasename) print "Copying files from eNBMachine " + eNBMachine + "logdir_eNB = " + logdir_eNB - ssh = SSHSession(eNBMachine , username=user, key_file=None, password=password) - ssh.get_all(logdir_eNB, logdir_local + '/cmake_targets/autotests/log/'+ testcasename) + #ssh = SSHSession(eNBMachine , username=user, key_file=None, password=password) + #ssh.get_all(logdir_eNB, logdir_local + '/cmake_targets/autotests/log/'+ testcasename) + SSHSessionWrapper(eNBMachine, user, None, password, logdir_eNB, logdir_local + '/cmake_targets/autotests/log/'+ testcasename) print "Copying files from UEMachine : " + UEMachine + "logdir_UE = " + logdir_UE - ssh = SSHSession(UEMachine , username=user, key_file=None, password=password) - ssh.get_all(logdir_UE , logdir_local + '/cmake_targets/autotests/log/'+ testcasename) + #ssh = SSHSession(UEMachine , username=user, key_file=None, password=password) + #ssh.get_all(logdir_UE , logdir_local + '/cmake_targets/autotests/log/'+ testcasename) + SSHSessionWrapper(UEMachine, user, None, password, logdir_UE, logdir_local + '/cmake_targets/autotests/log/'+ testcasename) + + #Currently we only perform throughput tests tput_run_string='' @@ -1159,6 +1187,10 @@ for t in threads_init_setup: sftp_log = os.path.expandvars(locallogdir + '/sftp_module.log') sftp_module (user, pw, MachineList[index], port, paramList, sftp_log) index = index+1 + + if os.path.exists(localfile) == 0: + print "Setup log file <" + localfile + "> missing for machine <" + MachineList[index] + ">. Please check the setup log files. Exiting now" + sys.exit(1) #Now we process all the test cases #Now we check if there was error in setup files @@ -1166,7 +1198,7 @@ for t in threads_init_setup: status, out = commands.getstatusoutput('grep ' + ' -il \'error\' ' + locallogdir + '/setup*') if (out != '') : print "There is error in setup of machines" - print "status = " + str(status) + "\n out = " + out + print "status = " + str(status) + "\n Check files for error = " + out print sys.exit(1) @@ -1207,7 +1239,8 @@ for testcase in testcaseList: error = error + '\n testcasename = ' + testcasename + '\n testcaseclass = ' + testcaseclass + '\n desc = ' + 'desc' + '\n' error = error + traceback.format_exc() print error - sys.exit(1) + print "Continuing to next test case..." + #sys.exit(1) print "Exiting the test cases execution now..." diff --git a/cmake_targets/autotests/test_case_list.xml b/cmake_targets/autotests/test_case_list.xml index d3092f8828..450b659464 100644 --- a/cmake_targets/autotests/test_case_list.xml +++ b/cmake_targets/autotests/test_case_list.xml @@ -4,11 +4,12 @@ /mnt/sradio/TEST_RESULTS https://gitlab.eurecom.fr/oai/openairinterface5g.git https://gitlab.eurecom.fr/oai/openair-cn.git - feature-34-test_framework + bugfix-56-UE_category3_throughput feature-17-test_framework oaisim* oaisim_nos1* lte-softmodem* lte-softmodem-nos1* mme_gw* run_epc* run_hss* iperf* hss hss_sim configure_cots_bandrich_ue* wvdial* run_exec_autotests* iperf /opt/ltebox/tools/stop_ltebox 36000 + calisson stevens mozart nano amerique compilation @@ -872,7 +873,12 @@ targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf rx_gain 120 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf frame_type \"FDD\" targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_tx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_tx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.82/24\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_INTERFACE_NAME_FOR_S1U \"eth1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.82/24\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_PORT_FOR_S1U 2152 $OPENAIR_DIR/cmake_targets/build_oai --eNB -w USRP -x -c @@ -924,7 +930,7 @@ throughput_test min=1.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec duration=60.0s True - USRP.ALU_EPC.Bandrich.5MHz.FDD.Band_7.UL.1TX.1RX + USRPb210.ALU_EPC.Bandrich.5MHz.FDD.Band_7.UL.1TX.1RX 3 @@ -951,7 +957,12 @@ targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf rx_gain 120 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf frame_type \"FDD\" targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_tx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_tx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.82/24\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_INTERFACE_NAME_FOR_S1U \"eth1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.82/24\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_PORT_FOR_S1U 2152 $OPENAIR_DIR/cmake_targets/build_oai --eNB -w USRP -x -c @@ -1003,7 +1014,7 @@ throughput_test min=2.0Mbits/sec max=2.0Mbits/sec average=2.0Mbits/sec duration=60.0s True - USRP.ALU_EPC.Bandrich.10MHz.FDD.Band_7.UL.1TX.1RX + USRPb210.ALU_EPC.Bandrich.10MHz.FDD.Band_7.UL.1TX.1RX 3 @@ -1029,7 +1040,12 @@ targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf rx_gain 120 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf frame_type \"FDD\" targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_tx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_tx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.82/24\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_INTERFACE_NAME_FOR_S1U \"eth1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.82/24\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_PORT_FOR_S1U 2152 $OPENAIR_DIR/cmake_targets/build_oai --eNB -w USRP -x -c @@ -1081,7 +1097,7 @@ throughput_test min=4.0Mbits/sec max=4.0Mbits/sec average=4.0Mbits/sec duration=60.0s True - USRP.ALU_EPC.Bandrich.20MHz.FDD.Band_7.UL.1TX.1RX + USRPb210.ALU_EPC.Bandrich.20MHz.FDD.Band_7.UL.1TX.1RX 3 @@ -1107,7 +1123,12 @@ targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf rx_gain 120 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf frame_type \"FDD\" targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_tx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_tx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.82/24\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_INTERFACE_NAME_FOR_S1U \"eth1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.82/24\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_PORT_FOR_S1U 2152 $OPENAIR_DIR/cmake_targets/build_oai --eNB -w USRP -x -c @@ -1132,11 +1153,10 @@ while true; do var=`ifconfig ppp0` ;sleep 1; if [ "$var" != "" ]; then break; fi ; done ; sleep 5; iperf -s -i 1 -u -f m -B 192.172.0.2 - - True sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue throughput_test min=4.0Mbits/sec max=5.0Mbits/sec average=4.0Mbits/sec duration=60.0s + /tmp BUILD/EPC/epc.local.enb.conf.in MCC \"208\" @@ -1159,7 +1179,7 @@ True - USRP.ALU_EPC.Bandrich.5MHz.FDD.Band_7.DL.1TX.1RX + USRPb210.ALU_EPC.Bandrich.5MHz.FDD.Band_7.DL.1TX.1RX 3 @@ -1185,7 +1205,12 @@ targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf rx_gain 120 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf frame_type \"FDD\" targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_tx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_tx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.82/24\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_INTERFACE_NAME_FOR_S1U \"eth1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.82/24\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_PORT_FOR_S1U 2152 $OPENAIR_DIR/cmake_targets/build_oai --eNB -w USRP -x -c @@ -1210,11 +1235,11 @@ while true; do var=`ifconfig ppp0` ;sleep 1; if [ "$var" != "" ]; then break; fi ; done ; sleep 5; iperf -s -i 1 -u -f m -B 192.172.0.2 - + throughput_test min=8.0Mbits/sec max=9.0Mbits/sec average=8.5Mbits/sec duration=60.0s True sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue - throughput_test min=8.0Mbits/sec max=9.0Mbits/sec average=8.5Mbits/sec duration=60.0s + /tmp BUILD/EPC/epc.local.enb.conf.in MCC \"208\" @@ -1237,7 +1262,7 @@ True - USRP.ALU_EPC.Bandrich.10MHz.FDD.Band_7.DL.1TX.1RX + USRPb210.ALU_EPC.Bandrich.10MHz.FDD.Band_7.DL.1TX.1RX 3 @@ -1263,7 +1288,12 @@ targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf rx_gain 120 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf frame_type \"FDD\" targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_tx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_tx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.82/24\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_INTERFACE_NAME_FOR_S1U \"eth1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.82/24\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_PORT_FOR_S1U 2152 $OPENAIR_DIR/cmake_targets/build_oai --eNB -w USRP -x -c @@ -1288,11 +1318,11 @@ while true; do var=`ifconfig ppp0` ;sleep 1; if [ "$var" != "" ]; then break; fi ; done ; sleep 5; iperf -s -i 1 -u -f m -B 192.172.0.2 - + throughput_test min=15.0Mbits/sec max=15.0Mbits/sec average=15.0Mbits/sec duration=60.0s True sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue - throughput_test min=15.0Mbits/sec max=15.0Mbits/sec average=15.0Mbits/sec duration=60.0s + /tmp BUILD/EPC/epc.local.enb.conf.in MCC \"208\" @@ -1315,7 +1345,7 @@ True - USRP.ALU_EPC.Bandrich.20MHz.FDD.Band_7.DL.1TX.1RX + USRPb210.ALU_EPC.Bandrich.20MHz.FDD.Band_7.DL.1TX.1RX 3 @@ -1342,7 +1372,12 @@ targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf rx_gain 120 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf frame_type \"FDD\" targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_rx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_tx 2 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_tx 2 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.82/24\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_INTERFACE_NAME_FOR_S1U \"eth1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.82/24\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_PORT_FOR_S1U 2152 $OPENAIR_DIR/cmake_targets/build_oai --eNB -w USRP -x -c @@ -1394,7 +1429,7 @@ throughput_test min=1.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec duration=60.0s True - USRP.ALU_EPC.Bandrich.5MHz.FDD.Band_7.UL.2TX.2RX + USRPb210.ALU_EPC.Bandrich.5MHz.FDD.Band_7.UL.2TX.2RX 3 @@ -1421,7 +1456,12 @@ targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf rx_gain 120 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf frame_type \"FDD\" targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_rx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_tx 2 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_tx 2 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.82/24\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_INTERFACE_NAME_FOR_S1U \"eth1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.82/24\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_PORT_FOR_S1U 2152 $OPENAIR_DIR/cmake_targets/build_oai --eNB -w USRP -x -c @@ -1473,7 +1513,7 @@ throughput_test min=2.0Mbits/sec max=2.0Mbits/sec average=2.0Mbits/sec duration=60.0s True - USRP.ALU_EPC.Bandrich.10MHz.FDD.Band_7.UL.2TX.2RX + USRPb210.ALU_EPC.Bandrich.10MHz.FDD.Band_7.UL.2TX.2RX 3 @@ -1499,7 +1539,12 @@ targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf rx_gain 120 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf frame_type \"FDD\" targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_rx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_tx 2 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_tx 2 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.82/24\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_INTERFACE_NAME_FOR_S1U \"eth1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.82/24\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_PORT_FOR_S1U 2152 $OPENAIR_DIR/cmake_targets/build_oai --eNB -w USRP -x -c @@ -1551,7 +1596,7 @@ throughput_test min=4.0Mbits/sec max=4.0Mbits/sec average=4.0Mbits/sec duration=60.0s True - USRP.ALU_EPC.Bandrich.20MHz.FDD.Band_7.UL.2TX.2RX + USRPb210.ALU_EPC.Bandrich.20MHz.FDD.Band_7.UL.2TX.2RX 3 @@ -1577,7 +1622,12 @@ targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf rx_gain 120 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf frame_type \"FDD\" targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_rx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_tx 2 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_tx 2 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.82/24\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_INTERFACE_NAME_FOR_S1U \"eth1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.82/24\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_PORT_FOR_S1U 2152 $OPENAIR_DIR/cmake_targets/build_oai --eNB -w USRP -x -c @@ -1602,11 +1652,11 @@ while true; do var=`ifconfig ppp0` ;sleep 1; if [ "$var" != "" ]; then break; fi ; done ; sleep 5; iperf -s -i 1 -u -f m -B 192.172.0.2 - + throughput_test min=4.0Mbits/sec max=5.0Mbits/sec average=4.0Mbits/sec duration=60.0s True sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue - throughput_test min=4.0Mbits/sec max=5.0Mbits/sec average=4.0Mbits/sec duration=60.0s + /tmp BUILD/EPC/epc.local.enb.conf.in MCC \"208\" @@ -1629,7 +1679,7 @@ True - USRP.ALU_EPC.Bandrich.5MHz.FDD.Band_7.DL.2TX.2RX + USRPb210.ALU_EPC.Bandrich.5MHz.FDD.Band_7.DL.2TX.2RX 3 @@ -1655,7 +1705,12 @@ targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf rx_gain 120 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf frame_type \"FDD\" targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_rx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_tx 2 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_tx 2 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.82/24\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_INTERFACE_NAME_FOR_S1U \"eth1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.82/24\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_PORT_FOR_S1U 2152 $OPENAIR_DIR/cmake_targets/build_oai --eNB -w USRP -x -c @@ -1680,11 +1735,11 @@ while true; do var=`ifconfig ppp0` ;sleep 1; if [ "$var" != "" ]; then break; fi ; done ; sleep 5; iperf -s -i 1 -u -f m -B 192.172.0.2 - + throughput_test min=8.0Mbits/sec max=9.0Mbits/sec average=8.5Mbits/sec duration=60.0s True sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue - throughput_test min=8.0Mbits/sec max=9.0Mbits/sec average=8.5Mbits/sec duration=60.0s + /tmp BUILD/EPC/epc.local.enb.conf.in MCC \"208\" @@ -1707,7 +1762,7 @@ True - USRP.ALU_EPC.Bandrich.10MHz.FDD.Band_7.DL.2TX.2RX + USRPb210.ALU_EPC.Bandrich.10MHz.FDD.Band_7.DL.2TX.2RX 3 @@ -1733,7 +1788,12 @@ targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf rx_gain 120 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf frame_type \"FDD\" targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_rx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_tx 2 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf nb_antennas_tx 2 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.82/24\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_INTERFACE_NAME_FOR_S1U \"eth1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.82/24\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf ENB_PORT_FOR_S1U 2152 $OPENAIR_DIR/cmake_targets/build_oai --eNB -w USRP -x -c @@ -1758,11 +1818,11 @@ while true; do var=`ifconfig ppp0` ;sleep 1; if [ "$var" != "" ]; then break; fi ; done ; sleep 5; iperf -s -i 1 -u -f m -B 192.172.0.2 - + throughput_test min=15.0Mbits/sec max=15.0Mbits/sec average=15.0Mbits/sec duration=60.0s True sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue - throughput_test min=15.0Mbits/sec max=15.0Mbits/sec average=15.0Mbits/sec duration=60.0s + /tmp BUILD/EPC/epc.local.enb.conf.in MCC \"208\" @@ -1785,7 +1845,7 @@ True - USRP.ALU_EPC.Bandrich.20MHz.FDD.Band_7.DL.2TX.2RX + USRPb210.ALU_EPC.Bandrich.20MHz.FDD.Band_7.DL.2TX.2RX 3 @@ -1807,10 +1867,15 @@ targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpx310.epc.remote.conf uplink_frequency_offset -120000000 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpx310.epc.remote.conf frame_type \"FDD\" targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpx310.epc.remote.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpx310.epc.remote.conf nb_antennas_tx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpx310.epc.remote.conf nb_antennas_tx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpx310.epc.remote.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpx310.epc.remote.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.111/24\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpx310.epc.remote.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpx310.epc.remote.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.111/24\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpx310.epc.remote.conf ENB_PORT_FOR_S1U 2152 $OPENAIR_DIR/cmake_targets/build_oai --eNB -w USRP -x -c - + sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpx310.epc.remote.conf @@ -1872,22 +1937,27 @@ amerique 180 /tmp - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.epc.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.epc.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.epc.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.epc.conf N_RB_DL 50 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.epc.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.epc.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.epc.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.epc.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.epc.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.epc.conf nb_antennas_tx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310..conf tracking_area_code \"1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.conf mobile_country_code \"208\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.conf mobile_network_code \"92\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.conf N_RB_DL 50 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.conf downlink_frequency 2660000000L + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.conf uplink_frequency_offset -120000000 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.conf frame_type \"FDD\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.conf nb_antennas_rx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.conf nb_antennas_tx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.111/24\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.111/24\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpx310.conf ENB_PORT_FOR_S1U 2152 $OPENAIR_DIR/cmake_targets/build_oai --eNB -w USRP -x -c - + sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem - -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.epc.conf + -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.conf @@ -1940,27 +2010,32 @@ lte-softmodem - calisson + mozart stevens amerique 180 /tmp - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.epc.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.epc.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.epc.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.epc.conf N_RB_DL 100 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.epc.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.epc.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.epc.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.epc.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.epc.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.epc.conf nb_antennas_tx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.conf tracking_area_code \"1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.conf mobile_country_code \"208\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.conf mobile_network_code \"92\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.conf N_RB_DL 100 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.conf downlink_frequency 2660000000L + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.conf uplink_frequency_offset -120000000 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.conf frame_type \"FDD\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.conf nb_antennas_rx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.conf nb_antennas_tx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.epc.remote.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.epc.remote.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.111/24\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.epc.remote.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.epc.remote.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.111/24\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.epc.remote.conf ENB_PORT_FOR_S1U 2152 $OPENAIR_DIR/cmake_targets/build_oai --eNB -w USRP -x -c - + sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem - -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.epc.conf + -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.conf @@ -2013,7 +2088,7 @@ lte-softmodem - calisson + mozart stevens amerique 180 @@ -2027,10 +2102,15 @@ targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpx310.epc.remote.conf uplink_frequency_offset -120000000 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpx310.epc.remote.conf frame_type \"FDD\" targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpx310.epc.remote.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpx310.epc.remote.conf nb_antennas_tx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpx310.epc.remote.conf nb_antennas_tx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpx310.epc.remote.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpx310.epc.remote.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.111/24\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpx310.epc.remote.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpx310.epc.remote.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.111/24\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpx310.epc.remote.conf ENB_PORT_FOR_S1U 2152 $OPENAIR_DIR/cmake_targets/build_oai --eNB -w USRP -x -c - + sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpx310.epc.remote.conf @@ -2052,11 +2132,10 @@ while true; do var=`ifconfig ppp0` ;sleep 1; if [ "$var" != "" ]; then break; fi ; done ; sleep 5; iperf -s -i 1 -u -f m -B 192.172.0.2 - - True sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue throughput_test min=4.0Mbits/sec max=5.0Mbits/sec average=4.0Mbits/sec duration=60.0s + /tmp BUILD/EPC/epc.local.enb.conf.in MCC \"208\" @@ -2086,27 +2165,32 @@ lte-softmodem - calisson + mozart stevens amerique 180 /tmp - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.epc.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.epc.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.epc.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.epc.conf N_RB_DL 50 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.epc.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.epc.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.epc.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.epc.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.epc.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.epc.conf nb_antennas_tx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.conf tracking_area_code \"1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.conf mobile_country_code \"208\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.conf mobile_network_code \"92\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.conf N_RB_DL 50 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.conf downlink_frequency 2660000000L + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.conf uplink_frequency_offset -120000000 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.conf frame_type \"FDD\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.conf nb_antennas_rx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.conf nb_antennas_tx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.111/24\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.111/24\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.conf ENB_PORT_FOR_S1U 2152 $OPENAIR_DIR/cmake_targets/build_oai --eNB -w USRP -x -c - - + sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail + sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem - -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.epc.conf + -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpx310.conf @@ -2125,11 +2209,10 @@ while true; do var=`ifconfig ppp0` ;sleep 1; if [ "$var" != "" ]; then break; fi ; done ; sleep 5; iperf -s -i 1 -u -f m -B 192.172.0.2 - - True sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue throughput_test min=8.0Mbits/sec max=9.0Mbits/sec average=8.5Mbits/sec duration=60.0s + /tmp BUILD/EPC/epc.local.enb.conf.in MCC \"208\" @@ -2159,7 +2242,7 @@ lte-softmodem - calisson + mozart stevens amerique 180 @@ -2173,13 +2256,18 @@ targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.epc.conf uplink_frequency_offset -120000000 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.epc.conf frame_type \"FDD\" targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.epc.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.epc.conf nb_antennas_tx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.epc.conf nb_antennas_tx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.111/24\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.111/24\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.conf ENB_PORT_FOR_S1U 2152 $OPENAIR_DIR/cmake_targets/build_oai --eNB -w USRP -x -c - + sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem - -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.epc.remote.conf + -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.epc.conf @@ -2198,11 +2286,10 @@ while true; do var=`ifconfig ppp0` ;sleep 1; if [ "$var" != "" ]; then break; fi ; done ; sleep 5; iperf -s -i 1 -u -f m -B 192.172.0.2 - - True sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue throughput_test min=15.0Mbits/sec max=15.0Mbits/sec average=15.0Mbits/sec duration=60.0s + /tmp BUILD/EPC/epc.local.enb.conf.in MCC \"208\" @@ -2225,7 +2312,7 @@ True - USRP.ALU_EPC.Bandrich.20MHz.FDD.Band_7.DL.1TX.1RX + USRPx310.ALU_EPC.Bandrich.20MHz.FDD.Band_7.DL.1TX.1RX 3 @@ -2249,10 +2336,15 @@ targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf uplink_frequency_offset -120000000 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf frame_type \"FDD\" targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf nb_antennas_tx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf nb_antennas_tx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.82/24\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_INTERFACE_NAME_FOR_S1U \"eth1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.82/24\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_PORT_FOR_S1U 2152 $OPENAIR_DIR/cmake_targets/build_oai --eNB -w EXMIMO -x -c - sudo -E -S $OPENAIR_DIR/cmake_targets/tools/init_exmimo2 + sudo -E -S $OPENAIR_DIR/cmake_targets/tools/init_exmimo2; dmesg|tail $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf @@ -2323,10 +2415,15 @@ targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf uplink_frequency_offset -120000000 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf frame_type \"FDD\" targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf nb_antennas_tx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf nb_antennas_tx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.82/24\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_INTERFACE_NAME_FOR_S1U \"eth1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.82/24\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_PORT_FOR_S1U 2152 $OPENAIR_DIR/cmake_targets/build_oai --eNB -w EXMIMO -x -c - sudo -E -S $OPENAIR_DIR/cmake_targets/tools/init_exmimo2 + sudo -E -S $OPENAIR_DIR/cmake_targets/tools/init_exmimo2 ; dmesg|tail $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf @@ -2396,10 +2493,15 @@ targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf uplink_frequency_offset -120000000 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf frame_type \"FDD\" targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf nb_antennas_tx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf nb_antennas_tx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.82/24\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_INTERFACE_NAME_FOR_S1U \"eth1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.82/24\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_PORT_FOR_S1U 2152 $OPENAIR_DIR/cmake_targets/build_oai --eNB -w EXMIMO -x -c - sudo -E -S $OPENAIR_DIR/cmake_targets/tools/init_exmimo2 + sudo -E -S $OPENAIR_DIR/cmake_targets/tools/init_exmimo2 ; dmesg|tail $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf @@ -2469,10 +2571,15 @@ targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf uplink_frequency_offset -120000000 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf frame_type \"FDD\" targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf nb_antennas_tx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf nb_antennas_tx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.82/24\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_INTERFACE_NAME_FOR_S1U \"eth1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.82/24\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_PORT_FOR_S1U 2152 $OPENAIR_DIR/cmake_targets/build_oai - --eNB -w USRP -x -c - sudo -E -S $OPENAIR_DIR/cmake_targets/tools/init_exmimo2 + --eNB -w EXMIMO -x -c + sudo -E -S $OPENAIR_DIR/cmake_targets/tools/init_exmimo2 ; dmesg|tail $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf @@ -2494,11 +2601,10 @@ while true; do var=`ifconfig ppp0` ;sleep 1; if [ "$var" != "" ]; then break; fi ; done ; sleep 5; iperf -s -i 1 -u -f m -B 192.172.0.2 - - True sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue throughput_test min=4.0Mbits/sec max=5.0Mbits/sec average=4.0Mbits/sec duration=60.0s + /tmp BUILD/EPC/epc.local.enb.conf.in MCC \"208\" @@ -2542,10 +2648,15 @@ targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf uplink_frequency_offset -120000000 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf frame_type \"FDD\" targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf nb_antennas_tx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf nb_antennas_tx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.82/24\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_INTERFACE_NAME_FOR_S1U \"eth1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.82/24\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_PORT_FOR_S1U 2152 $OPENAIR_DIR/cmake_targets/build_oai --eNB -w EXMIMO -x -c - sudo -E -S $OPENAIR_DIR/cmake_targets/tools/init_exmimo2 + sudo -E -S $OPENAIR_DIR/cmake_targets/tools/init_exmimo2 ; dmesg|tail $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf @@ -2567,11 +2678,10 @@ while true; do var=`ifconfig ppp0` ;sleep 1; if [ "$var" != "" ]; then break; fi ; done ; sleep 5; iperf -s -i 1 -u -f m -B 192.172.0.2 - - True sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue throughput_test min=8.0Mbits/sec max=9.0Mbits/sec average=8.5Mbits/sec duration=60.0s + /tmp BUILD/EPC/epc.local.enb.conf.in MCC \"208\" @@ -2615,10 +2725,15 @@ targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf uplink_frequency_offset -120000000 targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf frame_type \"FDD\" targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf nb_antennas_tx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf nb_antennas_tx 1 + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.82/24\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_INTERFACE_NAME_FOR_S1U \"eth1\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.82/24\" + targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_PORT_FOR_S1U 2152 $OPENAIR_DIR/cmake_targets/build_oai --eNB -w EXMIMO -x -c - sudo -E -S $OPENAIR_DIR/cmake_targets/tools/init_exmimo2 + sudo -E -S $OPENAIR_DIR/cmake_targets/tools/init_exmimo2 ; dmesg|tail $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf @@ -2640,11 +2755,10 @@ while true; do var=`ifconfig ppp0` ;sleep 1; if [ "$var" != "" ]; then break; fi ; done ; sleep 5; iperf -s -i 1 -u -f m -B 192.172.0.2 - - True sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue throughput_test min=15.0Mbits/sec max=15.0Mbits/sec average=15.0Mbits/sec duration=60.0s + /tmp BUILD/EPC/epc.local.enb.conf.in MCC \"208\" From cc63eb9a388d32e9cdb7670d063d36e006914cf0 Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Mon, 14 Dec 2015 18:49:59 +0100 Subject: [PATCH 84/85] updated for excluding test cases that do not work --- cmake_targets/autotests/run_exec_lte-softmodem_tests.py | 9 +++++++-- cmake_targets/autotests/test_case_list.xml | 4 ++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/cmake_targets/autotests/run_exec_lte-softmodem_tests.py b/cmake_targets/autotests/run_exec_lte-softmodem_tests.py index faa4f573b2..ea43ffd5ff 100644 --- a/cmake_targets/autotests/run_exec_lte-softmodem_tests.py +++ b/cmake_targets/autotests/run_exec_lte-softmodem_tests.py @@ -840,7 +840,11 @@ def handle_testcaseclass_softmodem (testcase, oldprogramList, logdirOAI5GRepo , #This function searches if test case is present in list of test cases that need to be executed by user -def search_test_case_group(testcasename, testcasegroup): +def search_test_case_group(testcasename, testcasegroup, search_test_case_group): + + if search_test_case_group.find(testcasename) >=0: + print "\nSkipping test case as it is found in black list: " + testcasename + return False if testcasegroup == '': return True testcaselist = testcasegroup.split() @@ -980,6 +984,7 @@ CleanUpOldProgs = xmlRoot.findtext('CleanUpOldProgs',default='') CleanUpAluLteBox = xmlRoot.findtext('CleanUpAluLteBox',default='') Timeout_execution = int (xmlRoot.findtext('Timeout_execution')) MachineListGeneric = xmlRoot.findtext('MachineListGeneric',default='') +TestCaseExclusionList = xmlRoot.findtext('TestCaseExclusionList',default='') print "MachineList = " + MachineList print "GitOpenair-cnRepo = " + GitOpenaircnRepo print "GitOAI5GRepo = " + GitOAI5GRepo @@ -1211,7 +1216,7 @@ for testcase in testcaseList: testcaseclass = testcase.findtext('class',default='') desc = testcase.findtext('desc',default='') #print "Machine list top level = " + ','.join(MachineList) - if search_test_case_group(testcasename, testcasegroup) == True: + if search_test_case_group(testcasename, testcasegroup, TestCaseExclusionList) == True: if testcaseclass == 'lte-softmodem' : eNBMachine = testcase.findtext('eNB',default='') UEMachine = testcase.findtext('UE',default='') diff --git a/cmake_targets/autotests/test_case_list.xml b/cmake_targets/autotests/test_case_list.xml index 450b659464..10c4203552 100644 --- a/cmake_targets/autotests/test_case_list.xml +++ b/cmake_targets/autotests/test_case_list.xml @@ -4,12 +4,12 @@ /mnt/sradio/TEST_RESULTS https://gitlab.eurecom.fr/oai/openairinterface5g.git https://gitlab.eurecom.fr/oai/openair-cn.git - bugfix-56-UE_category3_throughput + enhancement-60-exmimo-tdd feature-17-test_framework oaisim* oaisim_nos1* lte-softmodem* lte-softmodem-nos1* mme_gw* run_epc* run_hss* iperf* hss hss_sim configure_cots_bandrich_ue* wvdial* run_exec_autotests* iperf /opt/ltebox/tools/stop_ltebox 36000 - + 015502 015505 015506 015507 015508 015508 015509 015510 015511 016102 016105 calisson stevens mozart nano amerique compilation From ddbb7f41746963e52a6a8d70253e3f122e201730 Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Tue, 15 Dec 2015 10:13:17 +0100 Subject: [PATCH 85/85] updated with some errors in tags --- cmake_targets/autotests/test_case_list.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cmake_targets/autotests/test_case_list.xml b/cmake_targets/autotests/test_case_list.xml index 10c4203552..bb3b19497a 100644 --- a/cmake_targets/autotests/test_case_list.xml +++ b/cmake_targets/autotests/test_case_list.xml @@ -9,7 +9,7 @@ oaisim* oaisim_nos1* lte-softmodem* lte-softmodem-nos1* mme_gw* run_epc* run_hss* iperf* hss hss_sim configure_cots_bandrich_ue* wvdial* run_exec_autotests* iperf /opt/ltebox/tools/stop_ltebox 36000 - 015502 015505 015506 015507 015508 015508 015509 015510 015511 016102 016105 + 015502 015505 015506 015507 015508 015508 015509 015510 015511 015600 015700 016102 016105 calisson stevens mozart nano amerique compilation @@ -185,7 +185,7 @@ - lte-softmodemEXMIMO.Rel10 + lte-softmodem.EXMIMO.Rel10 1 @@ -202,7 +202,7 @@ - lte-softmodem.EXMIMO.Rel10 + lte-softmodem.BLADERF.Rel10 1