@@ -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:
...
...
@@ -19,8 +19,11 @@ 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 on-going. Check the
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.
[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.
@@ -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.
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: