diff --git a/README.md b/README.md index c82eff8f36..70614fd72d 100644 --- a/README.md +++ b/README.md @@ -4,8 +4,12 @@

License - Supported OS - Supported OS + Supported OS Ubuntu 18 + Supported OS Ubuntu 20 + Supported OS Ubuntu 22 + Supported OS RHEL8 + Supported OS RELH9 + Supported OS Fedora 37

@@ -13,10 +17,10 @@

- Docker Pulls - Docker Pulls - Docker Pulls - Docker Pulls + Docker Pulls + Docker Pulls + Docker Pulls + Docker Pulls

# OpenAirInterface License # @@ -32,12 +36,12 @@ Please see [NOTICE](NOTICE.md) file for third party software that is included in # Where to Start # + * [General overview of documentation](./doc/README.md) * [The implemented features](./doc/FEATURE_SET.md) * [How to build](./doc/BUILD.md) * [How to run the modems](./doc/RUNMODEM.md) -More information and documentation can be found in the [doc folder](./doc). -Unfortunately, not all information is available there, and information for +Not all information is available in a central place, and information for specific sub-systems might be available in the corresponding sub-directories. To find all READMEs, this command might be handy: @@ -51,52 +55,20 @@ The OpenAirInterface (OAI) software is composed of the following parts: ``` openairinterface5g +├── charts ├── ci-scripts : Meta-scripts used by the OSA CI process. Contains also configuration files used day-to-day by CI. +├── CMakeLists.txt : Top-level CMakeLists.txt for building ├── cmake_targets : Build utilities to compile (simulation, emulation and real-time platforms), and generated build files. -├── common : Some common OAI utilities, other tools can be found at openair2/UTILS. -├── doc : Contains an up-to-date feature set list and starting tutorials. -├── executables : Top-level executable source files. -├── LICENSE : License file. +├── common : Some common OAI utilities, some other tools can be found at openair2/UTILS. +├── doc : Documentation +├── docker : Dockerfiles to build for Ubuntu and RHEL +├── executables : Top-level executable source files (gNB, eNB, ...) ├── maketags : Script to generate emacs tags. -├── nfapi : Contains the NFAPI code. A local Readme file provides more details. +├── nfapi : (n)FAPI code for MAC-PHY interface ├── openair1 : 3GPP LTE Rel-10/12 PHY layer / 3GPP NR Rel-15 layer. A local Readme file provides more details. -│   ├── PHY -│   ├── SCHED -│   ├── SCHED_NBIOT -│   ├── SCHED_NR -│   ├── SCHED_NR_UE -│   ├── SCHED_UE -│   └── SIMULATION : PHY RF simulation. ├── openair2 : 3GPP LTE Rel-10 RLC/MAC/PDCP/RRC/X2AP + LTE Rel-14 M2AP implementation. Also 3GPP NR Rel-15 RLC/MAC/PDCP/RRC/X2AP. -│   ├── COMMON -│   ├── DOCS -│   ├── ENB_APP -│   ├── F1AP -│   ├── GNB_APP -│   ├── LAYER2/RLC/ : with the following subdirectories: UM_v9.3.0, TM_v9.3.0, and AM_v9.3.0. -│   ├── LAYER2/PDCP/PDCP_v10.1.0 -│   ├── M2AP -│   ├── MCE_APP -│   ├── NETWORK_DRIVER -│   ├── NR_PHY_INTERFACE -│   ├── NR_UE_PHY_INTERFACE -│   ├── PHY_INTERFACE -│   ├── RRC -│   ├── UTIL -│   └── X2AP ├── openair3 : 3GPP LTE Rel10 for S1AP, NAS GTPV1-U for both ENB and UE. -│   ├── COMMON -│   ├── DOCS -│   ├── GTPV1-U -│   ├── M3AP -│   ├── MME_APP -│   ├── NAS -│   ├── S1AP -│   ├── SCTP -│   ├── SECU -│   ├── TEST -│   ├── UDP -│   └── UTILS -├── radio : drivers for various radios such as USRP, AW2S, RFsim, ... -└── targets : Top-level wrappers for unitary simulation for PHY channels, system-level emulation (eNB-UE with and without S1), and realtime eNB and UE and RRH GW. +├── openshift : OpenShift helm charts for some deployment options of OAI +├── radio : Drivers for various radios such as USRP, AW2S, RFsim, ... +└── targets : Some configuration files; only historical relevance, and might be deleted in the future ``` diff --git a/doc/README.md b/doc/README.md new file mode 100644 index 0000000000..8612665a7c --- /dev/null +++ b/doc/README.md @@ -0,0 +1,102 @@ + + + + + +
+ + + + + + OpenAirInterface documentation overview +
+ +[[_TOC_]] + +# General + +- [FEATURE_SET.md](./FEATURE_SET.md): lists supported features +- [GET_SOURCES.md](./GET_SOURCES.md): how to download the sources +- [BUILD.md](./BUILD.md): how to build the sources +- [clang-format.md](./clang-format.md): how to format the code + +There is some general information in the [OpenAirInterface Gitlab Wiki](https://gitlab.eurecom.fr/oai/openairinterface5g/-/wikis/home) + +# Tutorials + +- Step-by-step tutorials to set up 5G: + * [OAI 5GC](./NR_SA_Tutorial_OAI_CN5G.md) + * [OAI gNB with COTS UE](./NR_SA_Tutorial_COTS_UE.md) + * [OAI NR-UE](./NR_SA_Tutorial_OAI_nrUE.md) +- [RUNMODEM.md](./RUNMODEM.md): Generic information on how to + * Run simulators + * Run with hardware + * Specific OAI modes (phy-test, do-ra, noS1) + * (5G) Using SDAP and custom DRBs + * IF setups and arbitrary frequencies + * MIMO +- [How to run a 5G-SA setup](./TESTING_5GSA_setup.md) +- [How to run a 5G-NSA setup](./TESTING_GNB_W_COTS_UE.md) +- [How to run a 4G setup using L1 simulator](./L1SIM.md) _Note: we recommend the RFsimulator_ +- [How to use the L2 simulator](./L2NFAPI.md) +- [How to use multiple BWPs](./RUN_NR_multiple_BWPs.md) +- [How to run OAI-VNF and OAI-PNF](./RUN_NR_NFAPI.md) _Note: does not work currently_ +- [How to use the positioning reference signal (PRS)](./RUN_NR_PRS.md) +- [How to use device-to-device communication (D2D, 4G)](./d2d_emulator_setup.txt) + +Legacy unmaintained files: +- `L2NFAPI_NOS1.md`, `L2NFAPI_S1.md`: old L2simulator, not valid anymore +- `SystemX-tutorial-design.md` +- `UL_MIMO.txt` + +# Designs + +- General software architecture notes: [SW_archi.md](./SW_archi.md) +- [Information on E1](./E1-design.md) +- [Information on F1](./F1-design.md) +- [Information on how NR nFAPI works](./NR_NFAPI_archi.md) +- [Flow graph of the L1 in gNB](SW-archi-graph.md) +- [L1 threads in NR-UE](./nr-ue-design.md) + +Legacy unmaintained files: +- 5Gnas.md + +# Building and running from images + +- [How to build images](../docker/README.md) +- [How to run 5G with the RFsimulator from images](../ci-scripts/yaml_files/5g_rfsimulator/README.md) +- [How to run 4G with the RFsimulator from images](../ci-scripts/yaml_files/4g_rfsimulator_fdd_05MHz/README.md) +- [How to run 5G with the L2simulator from images](../ci-scripts/yaml_files/5g_l2sim_tdd/README.md) +- [How to run images in OpenShift](../openshift/README.md) + +# Libraries + +## General + +- The [T tracer](https://gitlab.eurecom.fr/oai/openairinterface5g/-/wikis/T/): a generic tracing tool (VCD, Wireshark, GUI, to save for later, ...) +- [OPT](../openair2/UTIL/OPT/README.txt): how to trace to wireshark +- The [configuration module](../common/config/DOC/config.md) +- The [logging module](../common/utils/LOG/DOC/log.md) +- The [shared object loader](../common/utils/DOC/loader.md) +- The [threadpool](../common/utils/threadPool/thread-pool.md) used in L1 + +## SDRs + +Some directories under `radio` contain READMEs: + +- [RFsimulator](../radio/rfsimulator/README.md) +- [USRP](../radio/USRP/README.md) +- [BladeRF](../radio/BLADERF/README) +- [IQPlayer](../radio/iqplayer/DOC/iqrecordplayer_usage.md) + +The other SDRs (AW2S, LimeSDR, ...) have no READMEs. + +## Special-purpose libraries + +- OAI comes with an integrated [telnet server](../common/utils/telnetsrv/DOC/telnethelp.md) to monitor and control +- OAI comes with an integrated [web server](../common/utils/websrv/DOC/websrv.md) + +# CI + +- [TESTBenches.md](./TESTBenches.md) lists the CI setup and links to pipelines