|
|
|
@ -34,8 +34,9 @@ srsUE Features
|
|
|
|
|
|
|
|
|
|
* 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
|
|
|
|
|
* +100 Mbps DL in 20 MHz MIMO TM3/TM4 configuration in i7 Quad-Core CPU.
|
|
|
|
|
* 150 Mbps DL in 20 MHz MIMO TM3/TM4 configuration in i7 Quad-Core CPU.
|
|
|
|
|
* 75 Mbps DL in 20 MHz SISO configuration in i7 Quad-Core CPU.
|
|
|
|
|
* 36 Mbps DL in 10 MHz SISO configuration in i5 Dual-Core CPU.
|
|
|
|
|
|
|
|
|
@ -78,8 +79,8 @@ The library currently supports the Ettus Universal Hardware Driver (UHD) and the
|
|
|
|
|
We have tested the following hardware:
|
|
|
|
|
* USRP B210
|
|
|
|
|
* USRP X300
|
|
|
|
|
* limeSDR
|
|
|
|
|
* bladeRF
|
|
|
|
|
* limeSDR (currently, only the PHY-layer examples, i.e., pdsch_enodeb/ue are supported)
|
|
|
|
|
|
|
|
|
|
Build Instructions
|
|
|
|
|
------------------
|
|
|
|
@ -108,10 +109,11 @@ Note that depending on your flavor and version of Linux, the actual package name
|
|
|
|
|
|
|
|
|
|
* Optional requirements:
|
|
|
|
|
* srsgui: https://github.com/srslte/srsgui - for real-time plotting.
|
|
|
|
|
* libpcsclite-dev https://pcsclite.apdu.fr/ - for accessing smart card readers
|
|
|
|
|
* libpcsclite-dev: https://pcsclite.apdu.fr/ - for accessing smart card readers
|
|
|
|
|
|
|
|
|
|
* RF front-end driver:
|
|
|
|
|
* UHD: https://github.com/EttusResearch/uhd
|
|
|
|
|
* SoapySDR: https://github.com/pothosware/SoapySDR
|
|
|
|
|
* BladeRF: https://github.com/Nuand/bladeRF
|
|
|
|
|
|
|
|
|
|
Download and build srsLTE:
|
|
|
|
@ -125,75 +127,64 @@ make
|
|
|
|
|
make test
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
The software suite can also be installed using the command ```sudo make install```.
|
|
|
|
|
Install srsLTE:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
sudo make install
|
|
|
|
|
sudo srslte_install_configs.sh
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
This installs srsLTE and also copies the default srsLTE config files to
|
|
|
|
|
the user's home directory (~/.srs).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Execution Instructions
|
|
|
|
|
----------------------
|
|
|
|
|
|
|
|
|
|
The srsUE, srsENB and srsEPC applications include example configuration files
|
|
|
|
|
that should be copied and modified, if needed, to meet the system configuration.
|
|
|
|
|
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 (~/.srs) 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.
|
|
|
|
|
|
|
|
|
|
Also note that when you run the applications that all additional configuration files,
|
|
|
|
|
for example the UE database file needed by srsEPC, reside in your current working directory.
|
|
|
|
|
If that is not the case, you may need to specify the location of those files as
|
|
|
|
|
command line arguments, for example using the --hss.db_file parameter in srsEPC.
|
|
|
|
|
|
|
|
|
|
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```, you may just
|
|
|
|
|
change in the source directory and start the applications as follows.
|
|
|
|
|
|
|
|
|
|
If you have installed the software suite using ```sudo make install``` and
|
|
|
|
|
have installed the example config files using ```sudo srslte_install_configs.sh```,
|
|
|
|
|
you may just start all applications with their default parameters.
|
|
|
|
|
|
|
|
|
|
### srsEPC
|
|
|
|
|
|
|
|
|
|
On machine 1, change back to the source directory and copy the srsEPC
|
|
|
|
|
config example and UE database file.
|
|
|
|
|
```
|
|
|
|
|
cd ..
|
|
|
|
|
cp srsepc/epc.conf.example srsepc/epc.conf
|
|
|
|
|
cp srsepc/user_db.csv.example srsepc/user_db.csv
|
|
|
|
|
```
|
|
|
|
|
On machine 1, run srsEPC as follows:
|
|
|
|
|
|
|
|
|
|
Now, run srsEPC with the default configuration as follows:
|
|
|
|
|
```
|
|
|
|
|
sudo srsepc srsepc/epc.conf
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
On machine 1, but in another console, change back to the source directory
|
|
|
|
|
and copy the main srsENB config example as well as all additional config files for RR, SIB and DRB.
|
|
|
|
|
Also on machine 1, but in another console, run srsENB as follows:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
cd ..
|
|
|
|
|
cp srsenb/enb.conf.example srsenb/enb.conf
|
|
|
|
|
cp srsenb/rr.conf.example srsenb/rr.conf
|
|
|
|
|
cp srsenb/sib.conf.example srsenb/sib.conf
|
|
|
|
|
cp srsenb/drb.conf.example srsenb/drb.conf
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Now, run the application as follows:
|
|
|
|
|
```
|
|
|
|
|
sudo srsenb srsenb/enb.conf
|
|
|
|
|
sudo srsenb
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### srsUE
|
|
|
|
|
|
|
|
|
|
On machine 2, after having following the installation instructions above,
|
|
|
|
|
change back to the source directory and copy the srsUE example configuration:
|
|
|
|
|
```
|
|
|
|
|
cd ..
|
|
|
|
|
cp srsue/ue.conf.example srsue/ue.conf
|
|
|
|
|
```
|
|
|
|
|
On machine 2, run srsUE as follows:
|
|
|
|
|
|
|
|
|
|
Now run the srsUE application as follows:
|
|
|
|
|
```
|
|
|
|
|
sudo srsue srsue/ue.conf
|
|
|
|
|
sudo srsue
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Using the default configuration, this creates a virtual network interface
|
|
|
|
@ -201,6 +192,7 @@ 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
|
|
|
|
|
```
|
|
|
|
|