mirror of https://github.com/pvnis/srsRAN_4G.git
Simplifying readme and referencing docs (#2702)
* Simplifying readme and referencing docs * Update README.md Update README.md Update README.md * Further simplification of readmemaster
parent
c1e4385f50
commit
6d27fcb83d
@ -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
|
||||
|
Loading…
Reference in New Issue