From 6b16efcb0cb92963bc499b6a95bd66c3dc7d9a1d Mon Sep 17 00:00:00 2001 From: Raphael Defosseux <raphael.defosseux@eurecom.fr> Date: Thu, 11 Jul 2019 14:51:01 +0200 Subject: [PATCH] DOC: updating Release Notes and adding basic-sim documentation Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr> --- README.txt | 55 +++-- .../enb_ue_usrp210_band7_test_05mhz_tm1.xml | 1 + ...enb_ue_usrp210_band7_test_05mhz_tm1_s1.xml | 1 + .../enb_usrp210_band40_test_05mhz_tm2.xml | 1 + .../if4p5_usrp210_band40_test_20mhz.xml | 1 + cmake_targets/build_ue | 6 - .../lte_noS1_build_oai/CMakeLists.template | 10 - .../oaisim_build_oai/CMakeLists.template | 59 ------ .../oaisim_mme_build_oai/CMakeLists.template | 61 ------ .../oaisim_noS1_build_oai/CMakeLists.template | 62 ------ doc/BASIC_SIM.md | 189 ++++++++++++++++++ doc/RUNMODEM.md | 4 + 12 files changed, 238 insertions(+), 212 deletions(-) delete mode 100755 cmake_targets/build_ue delete mode 100644 cmake_targets/lte_noS1_build_oai/CMakeLists.template delete mode 100644 cmake_targets/oaisim_build_oai/CMakeLists.template delete mode 100644 cmake_targets/oaisim_mme_build_oai/CMakeLists.template delete mode 100644 cmake_targets/oaisim_noS1_build_oai/CMakeLists.template create mode 100644 doc/BASIC_SIM.md diff --git a/README.txt b/README.txt index 8204bb0cb5..30eba6c36f 100644 --- a/README.txt +++ b/README.txt @@ -43,17 +43,35 @@ openairinterface5g RELEASE NOTES: -v0.1 -> Last stable commit on develop branch before enhancement-10-harmony -v0.2 -> Merge of enhancement-10-harmony to include NGFI RRH + New Interface for RF/BBU -v0.3 -> Last stable commit on develop branch before the merge of feature-131-new-license. This is the last commit with GPL License -v0.4 -> Merge of feature-131-new-license. It closes issue#131 and changes the license to OAI Public License V1.0 -v0.5 -> Merge of enhancement-10-harmony-lts. It includes fixes for Ubuntu 16.04 support -v0.5.1 -> Merge of bugfix-137-uplink-fixes. It includes stablity fixes for eNB -v0.5.2 -> Last version with old code for oaisim (abstraction mode works) -v0.6 -> RRH functionality, UE greatly improved, better TDD support, - a lot of bugs fixed. WARNING: oaisim in PHY abstraction mode does not - work, you need to use v0.5.2 for that. -v0.6.1 -> Mostly bugfixes. This is the last version without NFAPI. +v1.1.0 -> July 2019. This version adds the following implemented features: + * Experimental support of LTE-M (only one module attachement) + * X2 interface and handover (also X2-U interface) + - In FDD and TDD + * CU/DU split (F1 interface) + - Tested only in FDD + * CDRX + - Tested only in FDD + * Experimental eMBMS support (only on UE side) + * Experimental multi-RRU support + - Tested only in TDD + This version has an improved code quality: + * Simplification of the Build System + - A single build includes all full-stack simulators, S1/noS1 modes and one HW platform (such as USRP, BladeRF, ...) + * TUN interface is now used as default for the data plane + - for UE, eNB-noS1 and UE-noS1 + * Code Cleanup + * Better Static Code Analysis: + - Limited number of errors in cppcheck + - Important Decrease on high Impact errors in CoverityScan + * Better Test Coverage in Continuous Integration: + - TM2, CDRX, IF4.5, F1 + - OAI UE is tested in S1 and noS1 modes with USRP board + - Multi-RRU TDD mode + - X2 Handover in FDD mode + +v1.0.3 -> June 2019: Bug fix for LimeSuite v19.04.0 API +v1.0.2 -> February 2019: Full OAI support for 3.13.1 UHD +v1.0.1 -> February 2019: Bug fix for the UE L1 simulator. v1.0.0 -> January 2019. This version first implements the architectural split described in doc/oai_lte_enb_func_split_arch.png picture. Only FAPI, nFAPI and IF4.5 interfaces are implemented. Repository tree structure prepares future integrations of features such as LTE-M, nbIOT or 5G-NR. @@ -61,6 +79,15 @@ v1.0.0 -> January 2019. This version first implements the architectural split de S1-flex has been introduced. New tools: config library, telnet server, ... A lot of bugfixes and a proper automated Continuous Integration process validates contributions. -v1.0.1 -> February 2019: Bug fix for the UE L1 simulator. -v1.0.2 -> February 2019: Full OAI support for 3.13.1 UHD -v1.0.3 -> June 2019: Bug fix for LimeSuite v19.04.0 API + +v0.6.1 -> Mostly bugfixes. This is the last version without NFAPI. +v0.6 -> RRH functionality, UE greatly improved, better TDD support, + a lot of bugs fixed. WARNING: oaisim in PHY abstraction mode does not + work, you need to use v0.5.2 for that. +v0.5.2 -> Last version with old code for oaisim (abstraction mode works) +v0.5.1 -> Merge of bugfix-137-uplink-fixes. It includes stablity fixes for eNB +v0.5 -> Merge of enhancement-10-harmony-lts. It includes fixes for Ubuntu 16.04 support +v0.4 -> Merge of feature-131-new-license. It closes issue#131 and changes the license to OAI Public License V1.0 +v0.3 -> Last stable commit on develop branch before the merge of feature-131-new-license. This is the last commit with GPL License +v0.2 -> Merge of enhancement-10-harmony to include NGFI RRH + New Interface for RF/BBU +v0.1 -> Last stable commit on develop branch before enhancement-10-harmony diff --git a/ci-scripts/xml_files/enb_ue_usrp210_band7_test_05mhz_tm1.xml b/ci-scripts/xml_files/enb_ue_usrp210_band7_test_05mhz_tm1.xml index 29c9a29c2d..a2e74c6de9 100644 --- a/ci-scripts/xml_files/enb_ue_usrp210_band7_test_05mhz_tm1.xml +++ b/ci-scripts/xml_files/enb_ue_usrp210_band7_test_05mhz_tm1.xml @@ -24,6 +24,7 @@ <htmlTabRef>test-05-tm1-nos1-tunnel</htmlTabRef> <htmlTabName>Test-05MHz-TM1-noS1-tunnel</htmlTabName> <htmlTabIcon>tasks</htmlTabIcon> + <repeatCount>2</repeatCount> <TestCaseRequestedList> 030201 090109 030101 000001 090101 000002 040501 040502 000001 040601 040602 040641 040642 000001 090109 030201 diff --git a/ci-scripts/xml_files/enb_ue_usrp210_band7_test_05mhz_tm1_s1.xml b/ci-scripts/xml_files/enb_ue_usrp210_band7_test_05mhz_tm1_s1.xml index 2e6b9a0dc6..9f7546cab3 100644 --- a/ci-scripts/xml_files/enb_ue_usrp210_band7_test_05mhz_tm1_s1.xml +++ b/ci-scripts/xml_files/enb_ue_usrp210_band7_test_05mhz_tm1_s1.xml @@ -24,6 +24,7 @@ <htmlTabRef>test-05-tm1-tunnel</htmlTabRef> <htmlTabName>Test-05MHz-TM1-tunnel</htmlTabName> <htmlTabIcon>tasks</htmlTabIcon> + <repeatCount>2</repeatCount> <TestCaseRequestedList> 030201 090109 030102 000001 090102 000002 040503 000001 040603 040604 040643 040644 000001 090109 030201 diff --git a/ci-scripts/xml_files/enb_usrp210_band40_test_05mhz_tm2.xml b/ci-scripts/xml_files/enb_usrp210_band40_test_05mhz_tm2.xml index a3f88307ec..9c98ba4a8e 100644 --- a/ci-scripts/xml_files/enb_usrp210_band40_test_05mhz_tm2.xml +++ b/ci-scripts/xml_files/enb_usrp210_band40_test_05mhz_tm2.xml @@ -25,6 +25,7 @@ <htmlTabRef>test-05-tm2</htmlTabRef> <htmlTabName>Test-05MHz-TM2</htmlTabName> <htmlTabIcon>tasks</htmlTabIcon> + <repeatCount>2</repeatCount> <TestCaseRequestedList> 030201 040101 diff --git a/ci-scripts/xml_files/if4p5_usrp210_band40_test_20mhz.xml b/ci-scripts/xml_files/if4p5_usrp210_band40_test_20mhz.xml index 17ede3f830..15d641efeb 100644 --- a/ci-scripts/xml_files/if4p5_usrp210_band40_test_20mhz.xml +++ b/ci-scripts/xml_files/if4p5_usrp210_band40_test_20mhz.xml @@ -24,6 +24,7 @@ <htmlTabRef>test-20</htmlTabRef> <htmlTabName>Test-20MHz</htmlTabName> <htmlTabIcon>tasks</htmlTabIcon> + <repeatCount>2</repeatCount> <TestCaseRequestedList> 030201 040101 diff --git a/cmake_targets/build_ue b/cmake_targets/build_ue deleted file mode 100755 index 9d9ca839d1..0000000000 --- a/cmake_targets/build_ue +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash -#sudo ./build_oai -c -C -I --install-optional-packages --install-system-files --UE -w USRP -V -#sudo ./build_oai -c -C -I --install-optional-packages --UE -w USRP -V -#sudo ./build_oai -c -C --UE -w USRP -V -sudo ./build_oai -c -C --UE -w USRP -#sudo ./build_oai -c -C --UE -w USRP --build-eclipse diff --git a/cmake_targets/lte_noS1_build_oai/CMakeLists.template b/cmake_targets/lte_noS1_build_oai/CMakeLists.template deleted file mode 100644 index 95216b139e..0000000000 --- a/cmake_targets/lte_noS1_build_oai/CMakeLists.template +++ /dev/null @@ -1,10 +0,0 @@ -set(ENABLE_ITTI True) -set(ENABLE_USE_MME False) -set(PDCP_USE_NETLINK True) -set(LINK_ENB_PDCP_TO_IP_DRIVER True) -set(LINK_ENB_PDCP_TO_GTPV1U False) -set(PDCP_USE_NETLINK_QUEUES False) -set(LINUX True) -set(SECU False) -set(NAS_UE False) - diff --git a/cmake_targets/oaisim_build_oai/CMakeLists.template b/cmake_targets/oaisim_build_oai/CMakeLists.template deleted file mode 100644 index cffbddc93c..0000000000 --- a/cmake_targets/oaisim_build_oai/CMakeLists.template +++ /dev/null @@ -1,59 +0,0 @@ -cmake_minimum_required(VERSION 2.8) - -set ( CMAKE_BUILD_TYPE "RelWithDebInfo" ) -set ( DEBUG_OMG False ) -set ( DISABLE_XER_PRINT False ) -set ( DRIVER2013 True ) -set ( ENABLE_ITTI True ) -set ( ENABLE_NAS_UE_LOGGING True ) -set ( ENABLE_NEW_MULTICAST True ) -set ( ENABLE_RAL False ) -set ( ENABLE_STANDALONE_EPC False) -set ( ENABLE_USE_CPU_EXECUTION_TIME True ) -set ( ENABLE_USE_MME True ) -set ( ENABLE_USE_RAW_SOCKET_FOR_SGI True) -set ( ENABLE_VCD_FIFO False ) -set ( ENB_MODE True ) -set ( EXMIMO_IOT True ) -set ( JUMBO_FRAME True ) -set ( LARGE_SCALE False ) -set ( LINK_ENB_PDCP_TO_GTPV1U True) -set ( LINUX_LIST False ) -set ( LINUX True ) -set ( LOCALIZATION False ) -set ( LOG_NO_THREAD True ) -set ( DEADLINE_SCHEDULER False ) -set ( MAC_CONTEXT 1 ) -set ( MAX_NUM_CCs 1 ) -set ( MESSAGE_CHART_GENERATOR False) -set ( MSG_PRINT False ) -set ( MU_RECEIVER False ) -set ( NAS_ADDRESS_FIX False ) -set ( NAS_BUILT_IN_UE True) -set ( NAS_MME False ) -set ( NAS_UE True ) -set ( NB_ANTENNAS_RX "2" ) -set ( NB_ANTENNAS_TX "2" ) -set ( NO_RRM True ) -set ( OAISIM True ) -set ( OAI_NW_DRIVER_TYPE_ETHERNET False ) -set ( OAI_NW_DRIVER_USE_NETLINK True ) -set ( OPENAIR2 True ) -set ( OPENAIR_LTE True ) -set ( PACKAGE_NAME "oaisim" ) -set ( PDCP_USE_NETLINK True ) -set ( PDCP_MSG_PRINT False ) -set ( PHY_CONTEXT False ) -set ( PHY_EMUL False ) -set ( PHYSIM True ) -set ( RF_BOARD "False" ) -set ( RLC_STOP_ON_LOST_PDU False ) -set ( RRC_ASN1_VERSION "Rel10" ) -set ( RRC_DEFAULT_RAB_IS_AM True) -set ( RRC_MSG_PRINT False ) -set ( SECU False ) -set ( SMBV False ) -set ( TEST_OMG False ) -set ( USE_3GPP_ADDR_AS_LINK_ADDR False ) -set ( USE_MME "R10" ) -set ( XER_PRINT False ) diff --git a/cmake_targets/oaisim_mme_build_oai/CMakeLists.template b/cmake_targets/oaisim_mme_build_oai/CMakeLists.template deleted file mode 100644 index eac29006da..0000000000 --- a/cmake_targets/oaisim_mme_build_oai/CMakeLists.template +++ /dev/null @@ -1,61 +0,0 @@ -cmake_minimum_required(VERSION 2.8) - -set ( CMAKE_BUILD_TYPE "RelWithDebInfo" ) -set ( DEBUG_OMG False ) -set ( DISABLE_XER_PRINT False ) -set ( DRIVER2013 False ) -set ( ENABLE_ITTI True ) -set ( ENABLE_NAS_UE_LOGGING False ) -set ( ENABLE_NEW_MULTICAST False ) -set ( ENABLE_RAL False ) -set ( ENABLE_STANDALONE_EPC False ) -set ( ENABLE_USE_CPU_EXECUTION_TIME False ) -set ( ENABLE_USE_MME False ) -set ( ENABLE_USE_RAW_SOCKET_FOR_SGI True) -set ( ENABLE_VCD_FIFO False ) -set ( ENB_MODE False ) -set ( EPC_BUILD True ) -set ( EXMIMO_IOT False ) -set ( JUMBO_FRAME False ) -set ( LARGE_SCALE False ) -set ( LINK_ENB_PDCP_TO_GTPV1U True) -set ( LINUX_LIST False ) -set ( LINUX False ) -set ( LOCALIZATION False ) -set ( LOG_NO_THREAD False ) -set ( DEADLINE_SCHEDULER False ) -set ( MAC_CONTEXT 1 ) -set ( MAX_NUM_CCs 1 ) -set ( MSG_PRINT False ) -set ( MU_RECEIVER False ) -set ( NAS_ADDRESS_FIX False ) -set ( NAS_BUILT_IN_EPC True ) -set ( NAS_MME True ) -set ( NAS_NETLINK False ) -set ( NAS_UE False ) -set ( NB_ANTENNAS_RX "2" ) -set ( NB_ANTENNAS_TX "2" ) -set ( NO_RRM False ) -set ( OAISIM False ) -set ( OAI_NW_DRIVER_TYPE_ETHERNET False ) -set ( OAI_NW_DRIVER_USE_NETLINK False ) -set ( OPENAIR2 False ) -set ( OPENAIR_LTE False ) -set ( PACKAGE_NAME "EPC" ) -set ( PDCP_MSG_PRINT False ) -set ( PHY_CONTEXT False ) -set ( PHY_EMUL False ) -set ( PHYSIM False ) -set ( RF_BOARD "False" ) -set ( RRC_ASN1_VERSION "Rel10" ) -set ( RLC_STOP_ON_LOST_PDU False ) -set ( RRC_MSG_PRINT False ) -set ( SECU False ) -set ( SMBV False ) -set ( TEST_OMG False ) -set ( UPDATE_RELEASE_9 True) -set ( UPDATE_RELEASE_10 True) -set ( USE_3GPP_ADDR_AS_LINK_ADDR False ) -set ( USE_MME "R10" ) -set ( XER_PRINT False ) -set ( XFORMS False ) diff --git a/cmake_targets/oaisim_noS1_build_oai/CMakeLists.template b/cmake_targets/oaisim_noS1_build_oai/CMakeLists.template deleted file mode 100644 index 343e928090..0000000000 --- a/cmake_targets/oaisim_noS1_build_oai/CMakeLists.template +++ /dev/null @@ -1,62 +0,0 @@ -cmake_minimum_required(VERSION 2.8) - -set ( DEBUG_OMG False ) -set ( DISABLE_XER_PRINT False ) -set ( DRIVER2013 True ) -set ( ENABLE_ITTI True ) -set ( ENABLE_NAS_UE_LOGGING False ) -set ( ENABLE_NEW_MULTICAST True ) -set ( ENABLE_RAL 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 ( 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 ( DEADLINE_SCHEDULER 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 ( MSG_PRINT False ) -set ( MU_RECEIVER False ) -set ( NAS_ADDRESS_FIX False ) -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 ( NO_RRM True ) -set ( OAISIM True ) -set ( OAI_NW_DRIVER_TYPE_ETHERNET False ) -set ( OAI_NW_DRIVER_USE_NETLINK True ) -set ( OPENAIR2 True ) -set ( OPENAIR_LTE True ) -set ( PACKAGE_NAME "oaisim" ) -set ( PDCP_USE_NETLINK True ) -set ( PDCP_MSG_PRINT False ) -set ( PHY_CONTEXT False ) -set ( PHY_EMUL False ) -set ( PHYSIM True ) -set ( RF_BOARD "False" ) -set ( RRC_ASN1_VERSION "Rel10" ) -set ( RLC_STOP_ON_LOST_PDU False ) -set ( RRC_MSG_PRINT False ) -set ( SECU False ) -set ( SMBV False ) -set ( TEST_OMG False ) -set ( USE_3GPP_ADDR_AS_LINK_ADDR False ) -set ( USE_MME "R10" ) -set ( XER_PRINT False ) -set ( DEBUG_PHY False ) -set ( DEBUG_PHY_PROC False) -set ( DEBUG_DLSCH False) diff --git a/doc/BASIC_SIM.md b/doc/BASIC_SIM.md new file mode 100644 index 0000000000..a9d76b0b1e --- /dev/null +++ b/doc/BASIC_SIM.md @@ -0,0 +1,189 @@ +<table style="border-collapse: collapse; border: none;"> + <tr style="border-collapse: collapse; border: none;"> + <td style="border-collapse: collapse; border: none;"> + <a href="http://www.openairinterface.org/"> + <img src="./images/oai_final_logo.png" alt="" border=3 height=50 width=150> + </img> + </a> + </td> + <td style="border-collapse: collapse; border: none; vertical-align: center;"> + <b><font size = "5">Running OAI Basic Simulator</font></b> + </td> + </tr> +</table> + +This page is valid on the following branches: + +- `master` starting from tag `v1.1.0` +- `develop` starting from tag `2019.w11` + +# 1. Building the basic-simulator. + +After the build simplification, the basic simulator is available directly from the standard build. + +```bash +$ source oaienv +$ cd cmake_targets +$ ./build_oai --eNB --UE +``` + +Both eNB (lte-softmodem) and UE (lte-uesoftmodem) are present on `cmake_targets/lte_build_oai/build` folder. + +More details are available on the [build page](BUILD.md). + +# 2. Running the basic simulator. + +The basic simulator is a oai device replacing the radio heads (for example the USRP device). It allows connecting the oai UE and the oai eNodeB through a network interface carrying the time-domain samples, getting rid of over the air unpredictable perturbations. + +This is the ideal tool to check signal processing algorithms and protocols implementation and having debug sessions without any HW radio equipment. + +The main limitations are: + +- A single OAI UE will connect to the OAI eNB +- No channel noise + +## 2.1. Starting eNB + +The basic simulator is able to run with a connected EPC or without any (the so-called "noS1" mode). + +Example 1: running in FDD mode with EPC. + +```bash +$ source oaienv +$ cd cmake_targets/lte_build_oai/build +$ ENODEB=1 sudo -E ./lte-softmodem -O $OPENAIR_HOME/ci-scripts/conf_files/lte-fdd-basic-sim.conf --basicsim +``` + +Edit previously the `ci-scripts/conf_files/lte-fdd-basic-sim.conf` file to modify: + +- `N_RB_DL` field to change the Bandwidth (25, 50, 100) +- `CI_MME_IP_ADDR` with the EPC IP address +- `CI_ENB_IP_ADDR` with the container (physical server, virtual machine, ...) on which you are executing the eNB soft-modem + +Example 2: running in TDD mode without any EPC. + +```bash +$ source oaienv +$ cd cmake_targets/lte_build_oai/build +$ ENODEB=1 sudo -E ./lte-softmodem -O $OPENAIR_HOME/ci-scripts/conf_files/lte-tdd-basic-sim.conf --basicsim --noS1 +``` + +## 2.2. Starting UE + +Before starting the UE, you may need to edit the SIM parameters to adapt to your eNB configuration and HSS database. + +The <conf> file to use for conf2uedate is `openair3/NAS/TOOLS/ue_eurecom_test_sfr.conf` + +You need to set the correct OPC, USIM_API_K, MSIN (this is the end par of the IMSI), HPLMN (the front part of IMSI) to match values from HSS. + +```bash +$ source oaienv +# Edit openair3/NAS/TOOLS/ue_eurecom_test_sfr.conf +$ cd cmake_targets/lte_build_oai/build +$ ../../nas_sim_tools/build/conf2uedata -c $OPENAIR_HOME/openair3/NAS/TOOLS/ue_eurecom_test_sfr.conf -o . +$ sudo -E ./lte-uesoftmodem -C 2625000000 -r 25 --ue-rxgain 140 --basicsim [--noS1] +``` + +The `-r 25` is to use if in the conf file of the eNB you use N_RB_DL=25. Use 50 if you have N_RB_DL=50 and 100 if you have N_RB_DL=100. + +The `--noS1` is mandatory if you started the eNB in that mode. + +# 3. Testing the data plane + +# 3.1. In S1 mode + +First we need to retrieve the IP address allocated to the OAI UE. + +On the server that runs the UE: + +```bash +$ ifconfig oaitun_ue1 +oaitun_ue1 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 + inet addr:192.172.0.2 P-t-P:192.172.0.2 Mask:255.255.255.0 +... +``` + +`192.172.0.2` is the IP address that has been allocated by the SPGW in the EPC. + +On the server that runs the EPC: + +```bash +$ ping -c 20 192.172.0.2 + --- 192.172.0.2 ping statistics --- + 20 packets transmitted, 20 received, 0% packet loss, time 19020ms + rtt min/avg/max/mdev = 13.241/18.999/24.208/2.840 ms +``` + +You can ping the EPC from the UE: + +```bash +$ ping -I oaitun_ue1 -c 20 192.172.0.1 + --- 192.172.0.1 ping statistics --- +... + 20 packets transmitted, 20 received, 0% packet loss, time 19019ms + rtt min/avg/max/mdev = 13.015/18.674/23.738/2.917 ms +``` + +For DL iperf testing: + +On the server that runs the UE. + +```bash +$ iperf -B 192.172.0.2 -u -s -i 1 -fm -p 5001 +``` + +On the server that runs the EPC. + +```bash +$ iperf -c 192.172.0.2 -u -t 30 -b 10M -i 1 -fm -B 192.172.0.1 -p 5001 +``` + +For UL iperf testing: + +On the server that runs the EPC. + +```bash +$ iperf -B 192.172.0.1 -u -s -i 1 -fm -p 5001 +``` + +On the server that runs the UE. + +```bash +$ iperf -c 192.172.0.1 -u -t 30 -b 2M -i 1 -fm -B 192.172.0.2 -p 5001 +``` + +# 3.2. In noS1 mode + +The IP addresses are fixed. But we can still retrieve them programmatically. + +For the UE it is quite the same: + +```bash +$ ifconfig oaitun_ue1 +oaitun_ue1 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 + inet addr:10.0.1.2 P-t-P:10.0.1.2 Mask:255.255.255.0 +... +``` + +For the eNB: + +```bash +$ ifconfig oaitun_enb1 +oaitun_enb1 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 + inet addr:10.0.1.1 P-t-P:10.0.1.1 Mask:255.255.255.0 +... +``` + +Pinging like this: + +```bash +$ ping -I oaitun_ue1 -c 20 10.0.1.1 +$ ping -I oaitun_enb1 -c 20 10.0.1.2 +``` + +And the same for iperf: + +```bash +$ iperf -B 10.0.1.2 -u -s -i 1 -fm +$ iperf -c 10.0.1.2 -u -b 1.00M -t 30 -i 1 -fm -B 10.0.1.1 +``` diff --git a/doc/RUNMODEM.md b/doc/RUNMODEM.md index 314c2cc78b..bb89407f70 100644 --- a/doc/RUNMODEM.md +++ b/doc/RUNMODEM.md @@ -14,6 +14,10 @@ After you have [built the softmodem executables](BUILD.md) you can set your default directory to the build directory `cmake_targets/lte_build_oai/build/` and start testing some use cases. Below, the description of the different oai functionalities should help you choose the oai configuration that suits your need. +# Basic Simulator + +See the [dedicated page](BASIC_SIM.md). + # RF Simulator The rf simulator is a oai device replacing the radio heads (for example the USRP device). It allows connecting the oai UE and the oai eNodeB through a network interface carrying the time-domain samples, getting rid of over the air unpredictable perturbations. This is the ideal tool to check signal processing algorithms and protocols implementation. -- GitLab