From b33993f542e00fc0b39053fb51af78fc43d5e311 Mon Sep 17 00:00:00 2001 From: Remi Hardy Date: Tue, 23 Jun 2020 10:42:43 +0200 Subject: [PATCH 1/3] Update TESTING_GNB_W_COTS_UE.md --- doc/TESTING_GNB_W_COTS_UE.md | 34 +++++++++++++--------------------- 1 file changed, 13 insertions(+), 21 deletions(-) diff --git a/doc/TESTING_GNB_W_COTS_UE.md b/doc/TESTING_GNB_W_COTS_UE.md index 4e4d6e6863..e0d5edb119 100644 --- a/doc/TESTING_GNB_W_COTS_UE.md +++ b/doc/TESTING_GNB_W_COTS_UE.md @@ -5,7 +5,7 @@ * Commercial UE: Oppo Reno 5G * OAI Software Defined gNB and eNB * eNB RF front end: USRP (ETTUS) B200 Mini or B210 -* gNB RF front end: USRP (ETTUS) B200 Mini or B210 (N300 will be needed for MIMO and wider BW's) +* gNB RF front end: USRP (ETTUS) B200 Mini or B210 (N310 will be needed for MIMO and wider BW's) * 5G TDD duplexing mode * 5G FR1 Band n78 (3.5 GHz) * BW: 40MHz @@ -17,7 +17,7 @@ https://gitlab.eurecom.fr/oai/openairinterface5g/tree/develop ## Architecture Setup -photos and schemes +The scheme below depicts our typical setup: ![image info](./testing_gnb_w_cots_ue_resources/oai_fr1_setup.jpg) @@ -32,32 +32,27 @@ See https://gitlab.eurecom.fr/oai/openairinterface5g/blob/develop/doc/BUILD.md#b for reference: https://github.com/OPENAIRINTERFACE/openair-epc-fed/blob/master-documentation/docs/DEPLOY_HOME.md + ``` -sudo bash -cd /opt/hss_sim0609 -./starthss_real +sudo ``` - **eNB** ``` -sudo bash -cd /opt/hss_sim0609 -./starthss_real +sudo ``` - **gNB** ``` -sudo bash -cd /opt/hss_sim0609 -./starthss_real +sudo ``` ## Conf Files -where are they -usage +where are the config files located +how to use them ## Run / Test @@ -65,9 +60,7 @@ usage - **EPC** (on EPC host): ``` -sudo bash -cd /opt/hss_sim0609 -./starthss_real +sudo ``` Open another window and: @@ -75,8 +68,7 @@ Open another window and: ``` sudo bash cd /opt/ltebox/tools -./stop_ltebox -./start_ltebox + ``` Note: when terminated the testing session, you shall stop the EPC by "./stop_ltebox" @@ -99,15 +91,15 @@ Note: gNB is using branch NR_RRC_PRACH_procedures patched with gnb.diff ## Test Case -Test case description +Test case description : UE attachement ## Expected Logs to check -what and where to check +what logs and where to check, to ensure that your setup works fine ## Required traces for debug - +What info/traces/logs are needed for us to support the debug ## Status of the interoperability - setup of the CP in 4G From 16d9e27d5d8622e1885b8a44d31aeaad671d7f8d Mon Sep 17 00:00:00 2001 From: Remi Hardy Date: Tue, 23 Jun 2020 10:43:53 +0200 Subject: [PATCH 2/3] Update TESTING_GNB_W_COTS_UE.md --- doc/TESTING_GNB_W_COTS_UE.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/TESTING_GNB_W_COTS_UE.md b/doc/TESTING_GNB_W_COTS_UE.md index e0d5edb119..3aad387465 100644 --- a/doc/TESTING_GNB_W_COTS_UE.md +++ b/doc/TESTING_GNB_W_COTS_UE.md @@ -1,3 +1,5 @@ +DISCLAIMER : This page is under complete review and update, thanks for your patience + ## Configuration Overview: * Non Standalone (NSA) configuration : initial Control Plane established between UE and RAN eNB, then User Plane established between UE and gNB, Core network is 4G based supporting rel 15 From 03d9bca1011663d1316728c51752339f4f08b44c Mon Sep 17 00:00:00 2001 From: Remi Hardy Date: Wed, 24 Jun 2020 16:45:08 +0200 Subject: [PATCH 3/3] Update TESTING_GNB_W_COTS_UE.md --- doc/TESTING_GNB_W_COTS_UE.md | 171 ++++++++++++++++++++++++++++------- 1 file changed, 139 insertions(+), 32 deletions(-) diff --git a/doc/TESTING_GNB_W_COTS_UE.md b/doc/TESTING_GNB_W_COTS_UE.md index 3aad387465..cd2da4eda5 100644 --- a/doc/TESTING_GNB_W_COTS_UE.md +++ b/doc/TESTING_GNB_W_COTS_UE.md @@ -35,9 +35,6 @@ for reference: https://github.com/OPENAIRINTERFACE/openair-epc-fed/blob/master-documentation/docs/DEPLOY_HOME.md -``` -sudo -``` - **eNB** @@ -51,44 +48,136 @@ sudo sudo ``` -## Conf Files +## Configuration Files + +Each component (EPC, eNB, gNB) has its own configuration file. +These config files are passed as arguments of the run command line, using the option -O \ + +Some config examples can be found in the following folder: +https://gitlab.eurecom.fr/oai/openairinterface5g/-/tree/develop/targets/PROJECTS/GENERIC-LTE-EPC/CONF + +These files have to be updated manually to set the IP addresses and frequency. + +1- In the **eNB configuration file** : +- look for MME IP address, and update the **ipv4 field** with the IP address of the **EPC** server +``` + ////////// MME parameters: + mme_ip_address = ( { ipv4 = "**YOUR_EPC_IP_ADDR**"; + ipv6 = "192:168:30::17"; + active = "yes"; + preference = "ipv4"; + } + ); + +``` + +- look for S1 IP address, and update the **3 fields below** with the IP address of the **eNB** server +``` + NETWORK_INTERFACES : + { + ENB_INTERFACE_NAME_FOR_S1_MME = "eth0"; + ENB_IPV4_ADDRESS_FOR_S1_MME = "**YOUR_ENB_IP_ADDR**"; + ENB_INTERFACE_NAME_FOR_S1U = "eth0"; + ENB_IPV4_ADDRESS_FOR_S1U = "**YOUR_ENB_IP_ADDR**"; + ENB_PORT_FOR_S1U = 2152; # Spec 2152 + ENB_IPV4_ADDRESS_FOR_X2C = "**YOUR_ENB_IP_ADDR**"; + ENB_PORT_FOR_X2C = 36422; # Spec 36422 + }; + +``` + +2- In the **gNB configuration file** : +- look for MME IP address, and update the **ipv4 field** with the IP address of the **EPC** server +``` + ////////// MME parameters: + mme_ip_address = ( { ipv4 = "**YOUR_EPC_IP_ADDR**"; + ipv6 = "192:168:30::17"; + active = "yes"; + preference = "ipv4"; + } + ); +``` +- look for X2 IP address, and update the **4 fields** with the IP address of the **eNB** server (notice : even if -in principle- S1 MME is not required for gNB setting) +``` + + ///X2 + enable_x2 = "yes"; + t_reloc_prep = 1000; /* unit: millisecond */ + tx2_reloc_overall = 2000; /* unit: millisecond */ + target_enb_x2_ip_address = ( + { ipv4 = "**YOUR_ENB_IP_ADDR**"; + ipv6 = "192:168:30::17"; + preference = "ipv4"; + } + ); + + NETWORK_INTERFACES : + { + + GNB_INTERFACE_NAME_FOR_S1_MME = "eth0"; + GNB_IPV4_ADDRESS_FOR_S1_MME = "**YOUR_ENB_IP_ADDR**"; + GNB_INTERFACE_NAME_FOR_S1U = "eth0"; + GNB_IPV4_ADDRESS_FOR_S1U = "**YOUR_ENB_IP_ADDR**"; + GNB_PORT_FOR_S1U = 2152; # Spec 2152 + GNB_IPV4_ADDRESS_FOR_X2C = "**YOUR_ENB_IP_ADDR**"; + GNB_PORT_FOR_X2C = 36422; # Spec 36422 + }; + + +``` + + + +3- The frequency setting requires a manual update in the .C and in the gNB conf file: + + +In the C file **openair2/RRC/LTE/rrc_eNB.c:3217** +set the nrarfcn to the same value as absoluteFrequencySSB in the **gNB config file**, that is **641272** in the example below + +C file : +``` +MeasObj2->measObject.choice.measObjectNR_r15.carrierFreq_r15 =641272; +``` + +gNB config file : + +``` + # absoluteFrequencySSB is the central frequency of SSB + absoluteFrequencySSB = 641272; + dl_frequencyBand = 78; + # the carrier frequency is assumed to be in the middle of the carrier, i.e. dl_absoluteFrequencyPointA_kHz + dl_carrierBandwidth*12*SCS_kHz/2 + dl_absoluteFrequencyPointA = 640000; + #scs-SpecificCarrierList + dl_offstToCarrier = 0; + # subcarrierSpacing + # 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120 + dl_subcarrierSpacing = 1; + dl_carrierBandwidth = 106; +``` -where are the config files located -how to use them ## Run / Test - **EPC** (on EPC host): -``` -sudo -``` +for reference: +https://github.com/OPENAIRINTERFACE/openair-epc-fed/blob/master-documentation/docs/DEPLOY_HOME.md -Open another window and: - -``` -sudo bash -cd /opt/ltebox/tools - -``` - -Note: when terminated the testing session, you shall stop the EPC by "./stop_ltebox" - **eNB** (on the eNB host): +``` ~/openairinterface5g/cmake_targets/ran_build/build$ sudo ./lte-softmodem -O ../../../targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf (-E) - - -eNB is using branch NR_RRCConfiguration patched with enb.diff +``` - **gNB** (on the gNB host) +``` ~/openairinterface5g/cmake_targets/ran_build/build$ sudo ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-LTE-EPC/CONF/gnb.band78.tm1.106PRB.usrpn300.conf (-E) - -Note: gNB is using branch NR_RRC_PRACH_procedures patched with gnb.diff +``` ## Test Case @@ -97,20 +186,38 @@ Test case description : UE attachement ## Expected Logs to check -what logs and where to check, to ensure that your setup works fine +what logs and where to check, to ensure that your setup works fine (or not ...) ## Required traces for debug What info/traces/logs are needed for us to support the debug ## Status of the interoperability -- setup of the CP in 4G -- setup of the measurements in 5G -- Random access procedure initiation by the UE in the 5G cell -- msg1, msg2, msg3 correctly exchanged and decoded + +The following parts have been validated with FR1 COTS UE: + +- Phone accepts the configurtion provided by OAI eNB: + this validates RRC and X2AP + +- Successful Random Access Procedure: + PRACH is correctly decoded at gNB + Phone correctly receives and decodes msg2 (NR PDCCH Format 1_0 and NR PDSCH) + msg3 is transmitted to gNB according to the configuration sent in msg2, and received correctly at gNB + +- Successful path switch of user plane traffic from 4G to 5G cell (E-RAB modification message): + this validates S1AP + +- Downlink traffic: + PDCCH DCI format 1_1 and correponding PDSCH are decoded correctlyby the phone + ACK/NACK (PUCCH format 0) are successfully received at gNB + +- On going: + validation of HARQ procedures + Integration with higher layers to replace dummy data with real traffic + +- Known limitations as of May 2020: + only dummy DL traffic + no UL traffic + no end-to-end traffic possible -[enb.conf](uploads/48bbbcc8016a33ce6d2faf62e3845005/enb.conf) -[enb.diff](uploads/9763bd6d18256612d007251bc371ca46/enb.diff) -[gnb.conf](uploads/59ae03deccb2186f544451034c297838/gnb.conf) -[gnb.diff](uploads/bb756b2b165cb70f89405d7a8c4c36a8/gnb.diff) \ No newline at end of file