From 4cb1b9cefcdb8d2066760f0154240401d3b6e1b5 Mon Sep 17 00:00:00 2001
From: frtabu <francois.taburet@nokia-bell-labs.com>
Date: Sat, 16 Mar 2019 01:33:26 +0100
Subject: [PATCH] update rf simulator doc, add lte usage doc

---
 doc/BUILD.md                       | 11 +++++---
 doc/RUNMODEM.md                    | 14 +++++++++-
 targets/ARCH/rfsimulator/README.md | 41 ++++++++++++++++--------------
 3 files changed, 42 insertions(+), 24 deletions(-)

diff --git a/doc/BUILD.md b/doc/BUILD.md
index 9fa2419c98..a9e6a19571 100644
--- a/doc/BUILD.md
+++ b/doc/BUILD.md
@@ -10,7 +10,7 @@ the main oai binaries, which are tested by the Continuous Integration process ar
 -  The LTE eNodeB: `lte-softmodem`
 - The PHY simulators: `dlsim` and `ulsim`
 
-The build system for OAI uses [cmake](https://cmake.org/) which is a common tool to -generate makefiles. The `build_oai` script is a wrapper using cmake, make and standard linux shell commands to ease the oai build and use . The file describing how to build the executables from source files is the [CMakeLists.txt](../cmake_targets/CMakeLists.txt), it is used as input by cmake to generate the makefiles.
+The build system for OAI uses [cmake](https://cmake.org/) which is a  tool to generate makefiles. The `build_oai` script is a wrapper using cmake, make and standard linux shell commands to ease the oai build and use . The file describing how to build the executables from source files is the [CMakeLists.txt](../cmake_targets/CMakeLists.txt), it is used as input by cmake to generate the makefiles.
 
 The oai softmodem supports many use cases, and new ones are regularly added. Most of them are accessible using the configuration file or the command line options and continuous effort is done to avoid introducing build options as it makes tests and usage more complicated than run-time options. The following functionalities, originally requiring a specific build are now accessible by configuration or command line options:
 
@@ -18,9 +18,12 @@ The oai softmodem supports many use cases, and new ones are regularly added. Mos
 
 - all simulators, with exception of PHY simulators, which are distinct executables.
 
-  
 
-Calling the build_oai script with the -h option gives the list of all available options, but a process to simplify and check the requirements of all these options is ongoing. Check the table at the end of this page to know the status of `buid_oai` options which are not described hereafter.
+Calling the `build_oai` script with the -h option gives the list of all available options, but a process to simplify and check the requirements of all these options is on-going. Check the 
+
+[table]: BUILD.md	"`build_oai` options"
+
+ at the end of this page to know the status of `buid_oai` options which are not described hereafter.
 
 
 
@@ -54,7 +57,7 @@ After completing the build, the binaries are available in the `cmake_targets/lte
 
 ​	The telnet server can be built  with the --build-telnet option, after building the softmodem or while building it.
 
-`./build_oai -I -w USRP --eNB --UE --build-telnet`srv
+`./build_oai -I -w USRP --eNB --UE --build-telnetsrv`
 
 ​	or
 
diff --git a/doc/RUNMODEM.md b/doc/RUNMODEM.md
index ea125337f0..37b2552233 100644
--- a/doc/RUNMODEM.md
+++ b/doc/RUNMODEM.md
@@ -4,7 +4,19 @@ After you have [built the softmodem executables](BUILD.md) you can go to the bui
 
 ## rf simulator
 
-​    This is the easiest use-case to setup and test,  you need two x86 PCs, 4 cores and 3GHz CPU should be enough
+ 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 implementation.
+
+It is planned to enhance this simulator with the following functionalities:
+
+- Support for multiple UE connections
+- Support for multiple eNodeB for hand-over tests
+- Spport for channel modeling
+
+   This is an easy use-case to setup and test, as no specific hardware is required. The [rfsimulator page](../targets/ARCH/rfsimulator/README.md ) contains the detailed documentation.
+
+## l2 nfapi simulator
+
+  As for the rf simulator, no specific hardware is required. The [L2 nfapi simlator page](https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/l2-nfapi-simulator/l2-nfapi-simulator-w-S1-same-machine) contains the detailed documentation.
 
 ## Monolithic eNodeB with USRP radio head
 
diff --git a/targets/ARCH/rfsimulator/README.md b/targets/ARCH/rfsimulator/README.md
index 89964decd5..ebe7d72ee0 100644
--- a/targets/ARCH/rfsimulator/README.md
+++ b/targets/ARCH/rfsimulator/README.md
@@ -1,26 +1,14 @@
-#General
+## General
+
 This is a RF simulator that allows to test OAI without a RF board.
 It replaces a actual RF board driver.
 
 As much as possible, it works like a RF board, but not in realtime: it can run faster than realtime if there is enough CPU or slower (it is CPU bound instead of real time RF sampling bound)
 
-#build
-
-## From build_oai
-You can build it the same way, and together with actual RF driver
+## build
 
-Example:
-```bash
-./build_oai --ue-nas-use-tun --UE --eNB -w SIMU
-```
-It is also possible to build actual RF and use choose on each run:
-```bash
-./build_oai --ue-nas-use-tun --UE --eNB -w USRP --rfsimulator
-```
-Will build both the eNB (lte-softmodem) and the UE (lte-uesoftmodem)
-We recommend to use the option --ue-nas-use-tun that is much simpler to use than the OAI kernel driver.
+ No specific build is required, use the [oai softmodem build procedure](../../../doc/BUILD.md)
 
-## Add the rfsimulator after initial build
 After any regular build, you can compile the driver
 ```bash
 cd <the_compilation_dir_from_bouild_oai_script>/build
@@ -35,16 +23,30 @@ It should the set to "enb" in the eNB
 ## 4G case
 For the UE, it should be set to the IP address of the eNB
 example: 
+
 ```bash
-sudo RFSIMULATOR=192.168.2.200 ./lte-uesoftmodem -C 2685000000 -r 50 
+sudo RFSIMULATOR=192.168.2.200 ./lte-uesoftmodem -C 2685000000 -r 50 --rfsim
 ```
+For the eNodeB, use a valid configuration file setup for USRP board tests and start the softmodem as usual, but adding the `--rfsim` option.
+
+
+
+```bash
+sudo RFSIMULATOR=enb ./lte-softmodem -O <config file> --rfsim
+```
+
+
+
 Except this, the UE and the eNB can be used as it the RF is real
 
 If you reach 'RA not active' on UE, be careful to generate a valid SIM
 ```bash
 $OPENAIR_DIR/targets/bin/conf2uedata -c $OPENAIR_DIR/openair3/NAS/TOOLS/ue_eurecom_test_sfr.conf -o .
 ```
+This simulator can also be used with the `--noS1` option, in this case you must run the eNodeB and the UE on different PCs. 
+
 ## 5G case
+
 After regular build, add the simulation driver
 (don't use ./build_oai -w SIMU until we merge 4G and 5G branches)
 ```bash
@@ -62,7 +64,8 @@ sudo RFSIMULATOR=127.0.0.1 ./nr-uesoftmodem --numerology 1 -r 106 -C 3510000000
 Of course, set the gNB machine IP address if the UE and the gNB are not on the same machine
 In UE, you can add "-d" to get the softscope
 
-#Caveacts
+## Caveacts
+
 Still issues in power control: txgain, rxgain are not used
 
-no S1 mode is currently broken, so we were not able to test the simulator in noS1 mode
+
-- 
GitLab