diff --git a/README.md b/README.md index 381166fc5..585bbd06c 100644 --- a/README.md +++ b/README.md @@ -1,228 +1,24 @@ srsRAN -======== +====== [![Build Status](https://travis-ci.org/srsRAN/srsRAN.svg?branch=master)](https://travis-ci.org/srsRAN/srsRAN) [![Language grade: C/C++](https://img.shields.io/lgtm/grade/cpp/g/srsRAN/srsRAN.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/srsRAN/srsRAN/context:cpp) [![Coverity](https://scan.coverity.com/projects/10045/badge.svg)](https://scan.coverity.com/projects/srsran) -srsRAN is a 4G/5G software radio suite developed by SRS (www.softwareradiosystems.com) -See the srsRAN project pages (www.srsran.com) for documentation, guides and project news. +srsRAN is a 4G/5G software radio suite developed by [SRS](http://www.srs.io). -It includes: - * srsUE - a complete SDR 4G/5G UE application featuring all layers from PHY to IP - * srsENB - a complete SDR LTE eNodeB application - * srsEPC - a light-weight LTE core network implementation with MME, HSS and S/P-GW - * a highly modular set of common libraries for PHY, MAC, RLC, PDCP, RRC, NAS, S1AP and GW layers. +See the [srsRAN project pages](https://www.srsran.com) for information, guides and project news. -For license details, see LICENSE file. - -Common Features ---------------- - - * LTE Release 10 aligned - * Tested bandwidths: 1.4, 3, 5, 10, 15 and 20 MHz - * Transmission mode 1 (single antenna), 2 (transmit diversity), 3 (CCD) and 4 (closed-loop spatial multiplexing) - * Carrier Aggregation support - * QAM256 support in Downlink - * Frequency-based ZF and MMSE equalizer - * Evolved multimedia broadcast and multicast service (eMBMS) - * Highly optimized Turbo Decoder available in Intel SSE4.1/AVX2 (+150 Mbps) - * MAC, RLC, PDCP, RRC, NAS, S1AP and GW layers - * Detailed log system with per-layer log levels and hex dumps - * MAC layer Wireshark packet capture - * Command-line trace metrics - * Detailed input configuration files - * Channel simulator for EPA, EVA, and ETU 3GPP channels - * ZeroMQ-based fake RF driver for I/Q over IPC/network - -srsUE Features --------------- - - * FDD and TDD configuration - * Cell search and synchronization procedure for the UE - * Soft USIM supporting Milenage and XOR authentication - * Hard USIM support using PCSC framework - * Virtual network interface *tun_srsue* created upon network attach - * QoS support - * 150 Mbps DL in 20 MHz MIMO TM3/TM4 or 2xCA configuration (195 Mbps with QAM256) - * 75 Mbps DL in 20 MHz SISO configuration (98 Mbps with QAM256) - * 36 Mbps DL in 10 MHz SISO configuration - -srsUE has been fully tested and validated with the following network equipment: - * Amarisoft LTE100 eNodeB and EPC - * Nokia FlexiRadio family FSMF system module with 1800MHz FHED radio module and TravelHawk EPC simulator - * Huawei DBS3900 - * Octasic Flexicell LTE-FDD NIB - -srsENB Features ---------------- - - * FDD configuration - * IntraENB- and InterENB (S1) mobility support - * Proportional-fair and Round Robin MAC scheduler with FAPI-like C++ API - * SR support - * Periodic and Aperiodic CQI feedback support - * Standard S1AP and GTP-U interfaces to the Core Network - * 150 Mbps DL in 20 MHz MIMO TM3/TM4 with commercial UEs (195 Mbps with QAM256) - * 75 Mbps DL in SISO configuration with commercial UEs - * 50 Mbps UL in 20 MHz with commercial UEs - * User-plane encryption - -srsENB has been tested and validated with the following handsets: - * LG Nexus 5 and 4 - * Motorola Moto G4 plus and G5 - * Huawei P9/P9lite, P10/P10lite, P20/P20lite - * Huawei dongles: E3276 and E398 - -srsEPC Features ---------------- - - * Single binary, light-weight LTE EPC implementation with: - * MME (Mobility Management Entity) with standard S1AP and GTP-U interface to eNB - * S/P-GW with standard SGi exposed as virtual network interface (TUN device) - * HSS (Home Subscriber Server) with configurable user database in CSV format - * Support for paging - -Hardware --------- - -srsRAN has native support for the Ettus Universal Hardware Driver (UHD) and the bladeRF driver. We also support SoapySDR. -Thus, any hardware supported by SoapySDR can be used. There is no sampling rate conversion, therefore the hardware should -support 30.72 MHz clock in order to work correctly with LTE sampling frequencies and decode signals from live LTE base stations. - -We have tested the following hardware: - * USRP B2x0 - * USRP B205mini - * USRP X3x0 - * LimeSDR - * bladeRF - -For Ettus Research equipment we recommended the LTS version of UHD, i.e. either 3.9.7 or 3.15. - -Build Instructions ------------------- - -* Mandatory requirements: - * Common: - * cmake https://cmake.org/ - * libfftw http://www.fftw.org/ - * PolarSSL/mbedTLS https://tls.mbed.org - * srsUE: - * Boost: http://www.boost.org - * srsENB: - * Boost: http://www.boost.org - * lksctp: http://lksctp.sourceforge.net/ - * config: http://www.hyperrealm.com/libconfig/ - * srsEPC: - * Boost: http://www.boost.org - * lksctp: http://lksctp.sourceforge.net/ - * config: http://www.hyperrealm.com/libconfig/ - -For example, on Ubuntu, one can install the mandatory build dependencies with: -``` -sudo apt-get install build-essential cmake libfftw3-dev libmbedtls-dev libboost-program-options-dev libconfig++-dev libsctp-dev -``` -or on Fedora: -``` -dnf install cmake fftw3-devel mbedtls-devel lksctp-tools-devel libconfig-devel boost-devel -``` -For CentOS, use the Fedora packages but replace `libconfig-devel` with just `libconfig`. - -Note that depending on your flavor and version of Linux, the actual package names may be different. - -* Optional requirements: - * srsgui: https://github.com/srsran/srsgui - for real-time plotting. - * libpcsclite-dev: https://pcsclite.apdu.fr/ - for accessing smart card readers - * libdw-dev libdw - for truly informative backtraces using backward-cpp - -* RF front-end driver: - * UHD: https://github.com/EttusResearch/uhd - * SoapySDR: https://github.com/pothosware/SoapySDR - * BladeRF: https://github.com/Nuand/bladeRF - * ZeroMQ: https://github.com/zeromq - -Download and build srsRAN: -``` -git clone https://github.com/srsRAN/srsRAN.git -cd srsRAN -mkdir build -cd build -cmake ../ -make -make test -``` +The srsRAN suite includes: + * srsUE - a full-stack SDR 4G/5G-NSA UE application (5G-SA coming soon) + * srsENB - a full-stack SDR 4G eNodeB application (5G-NSA and 5G-SA coming soon) + * srsEPC - a light-weight 4G core network implementation with MME, HSS and S/P-GW -Install srsRAN: +For application features, build instructions and user guides see the [srsRAN documentation](https://docs.srsran.com). -``` -sudo make install -srsran_install_configs.sh user -``` - -This installs srsRAN and also copies the default srsRAN config files to -the user's home directory (~/.config/srsran). - - -Execution Instructions ----------------------- - -The srsUE, srsENB and srsEPC applications include example configuration files -that should be copied (manually or by using the convenience script) and modified, -if needed, to meet the system configuration. -On many systems they should work out of the box. - -By default, all applications will search for config files in the user's home -directory (~/.config/srsran) upon startup. - -Note that you have to execute the applications with root privileges to enable -real-time thread priorities and to permit creation of virtual network interfaces. - -srsENB and srsEPC can run on the same machine as a network-in-the-box configuration. -srsUE needs to run on a separate machine. - -If you have installed the software suite using ```sudo make install``` and -have installed the example config files using ```srsran_install_configs.sh user```, -you may just start all applications with their default parameters. - -### srsEPC - -On machine 1, run srsEPC as follows: - -``` -sudo srsepc -``` - -Using the default configuration, this creates a virtual network interface -named "srs_spgw_sgi" on machine 1 with IP 172.16.0.1. All connected UEs -will be assigned an IP in this network. - -### srsENB - -Also on machine 1, but in another console, run srsENB as follows: - -``` -sudo srsenb -``` - -### srsUE - -On machine 2, run srsUE as follows: - -``` -sudo srsue -``` - -Using the default configuration, this creates a virtual network interface -named "tun_srsue" on machine 2 with an IP in the network 172.16.0.x. -Assuming the UE has been assigned IP 172.16.0.2, you may now exchange -IP traffic with machine 1 over the LTE link. For example, run a ping to -the default SGi IP address: - -``` -ping 172.16.0.1 -``` +For license details, see LICENSE file. Support -======== +======= Mailing list: http://www.softwareradiosystems.com/mailman/listinfo/srsran-users