Add docker files related to srslte eNB
This commit is contained in:
		
							
								
								
									
										25
									
								
								srsenb.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								srsenb.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,25 @@
 | 
				
			|||||||
 | 
					version: '3'
 | 
				
			||||||
 | 
					services:
 | 
				
			||||||
 | 
					  srsenb:
 | 
				
			||||||
 | 
					    build: ./srslte
 | 
				
			||||||
 | 
					    image: docker_srslte
 | 
				
			||||||
 | 
					    container_name: srsenb
 | 
				
			||||||
 | 
					    privileged: true
 | 
				
			||||||
 | 
					    devices:
 | 
				
			||||||
 | 
					      - "/dev/bus"
 | 
				
			||||||
 | 
					    volumes:
 | 
				
			||||||
 | 
					      - /dev/serial:/dev/serial:ro
 | 
				
			||||||
 | 
					      - /dev/bus/usb:/dev/bus/usb:ro
 | 
				
			||||||
 | 
					      - ./srslte:/mnt/srslte
 | 
				
			||||||
 | 
					    env_file:
 | 
				
			||||||
 | 
					      - .env
 | 
				
			||||||
 | 
					    expose:
 | 
				
			||||||
 | 
					      - "36412/sctp"
 | 
				
			||||||
 | 
					      - "2152/udp"
 | 
				
			||||||
 | 
					    networks:
 | 
				
			||||||
 | 
					      default:
 | 
				
			||||||
 | 
					        ipv4_address: ${ENB_IP}
 | 
				
			||||||
 | 
					networks:
 | 
				
			||||||
 | 
					  default:
 | 
				
			||||||
 | 
					    external:
 | 
				
			||||||
 | 
					      name: docker_open5gs_default
 | 
				
			||||||
							
								
								
									
										71
									
								
								srslte/Dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										71
									
								
								srslte/Dockerfile
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,71 @@
 | 
				
			|||||||
 | 
					# BSD 2-Clause License
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Copyright (c) 2020, Supreeth Herle
 | 
				
			||||||
 | 
					# All rights reserved.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Redistribution and use in source and binary forms, with or without
 | 
				
			||||||
 | 
					# modification, are permitted provided that the following conditions are met:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# 1. Redistributions of source code must retain the above copyright notice, this
 | 
				
			||||||
 | 
					#    list of conditions and the following disclaimer.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# 2. Redistributions in binary form must reproduce the above copyright notice,
 | 
				
			||||||
 | 
					#    this list of conditions and the following disclaimer in the documentation
 | 
				
			||||||
 | 
					#    and/or other materials provided with the distribution.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 | 
				
			||||||
 | 
					# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 | 
				
			||||||
 | 
					# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 | 
				
			||||||
 | 
					# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
 | 
				
			||||||
 | 
					# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 | 
				
			||||||
 | 
					# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
 | 
				
			||||||
 | 
					# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
 | 
				
			||||||
 | 
					# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
 | 
				
			||||||
 | 
					# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 | 
				
			||||||
 | 
					# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					FROM ubuntu:bionic
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Install updates and dependencies
 | 
				
			||||||
 | 
					RUN apt-get update && \
 | 
				
			||||||
 | 
					    apt-get -y install cmake libfftw3-dev libmbedtls-dev libboost-program-options-dev libconfig++-dev libsctp-dev git \
 | 
				
			||||||
 | 
					    libzmq3-dev libboost-system-dev libboost-test-dev libboost-thread-dev libqwt-qt5-dev qtbase5-dev \
 | 
				
			||||||
 | 
					    software-properties-common g++ make pkg-config libpython-dev python-numpy swig libi2c-dev \
 | 
				
			||||||
 | 
					    libboost-program-options-dev libconfig++-dev
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Install dependencies to build SoapySDR and Lime Suite
 | 
				
			||||||
 | 
					RUN add-apt-repository -y ppa:myriadrf/drivers && \
 | 
				
			||||||
 | 
					    apt update && \
 | 
				
			||||||
 | 
					    apt -y install libi2c-dev libusb-1.0-0-dev git g++ cmake libsqlite3-dev libwxgtk3.0-dev freeglut3-dev
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Install SoapySDR from Source
 | 
				
			||||||
 | 
					RUN git clone https://github.com/pothosware/SoapySDR.git && \
 | 
				
			||||||
 | 
					    cd SoapySDR && \
 | 
				
			||||||
 | 
					    git checkout tags/soapy-sdr-0.7.2 -b soapy-sdr-0.7.2 && \
 | 
				
			||||||
 | 
					    mkdir build && cd build && cmake .. && \
 | 
				
			||||||
 | 
					    make && make install && ldconfig
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Install LimeSuite
 | 
				
			||||||
 | 
					RUN git clone https://github.com/myriadrf/LimeSuite.git && \
 | 
				
			||||||
 | 
					    cd LimeSuite && \
 | 
				
			||||||
 | 
					    git checkout tags/v20.07.1 -b v20.07.1 && \
 | 
				
			||||||
 | 
					    mkdir builddir && cd builddir && cmake .. && \
 | 
				
			||||||
 | 
					    make && make install && ldconfig && \
 | 
				
			||||||
 | 
					    cd ../udev-rules && sh ./install.sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Get srsGUI, compile and install
 | 
				
			||||||
 | 
					RUN git clone https://github.com/srsLTE/srsGUI && \
 | 
				
			||||||
 | 
					    cd srsGUI/ && \
 | 
				
			||||||
 | 
					    mkdir build && cd build && \
 | 
				
			||||||
 | 
					    cmake ../ && make && make install && ldconfig
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Get srsLTE, compile and install
 | 
				
			||||||
 | 
					RUN git clone https://github.com/srsLTE/srsLTE.git && \
 | 
				
			||||||
 | 
					    cd srsLTE && \
 | 
				
			||||||
 | 
					    git checkout tags/release_19_12 && \
 | 
				
			||||||
 | 
					    mkdir build && cd build && \
 | 
				
			||||||
 | 
					    cmake ../ && make && make install && \
 | 
				
			||||||
 | 
					    ldconfig && srslte_install_configs.sh service
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					CMD /mnt/srslte/enb_init.sh && \
 | 
				
			||||||
 | 
					    /usr/local/bin/srsenb
 | 
				
			||||||
							
								
								
									
										101
									
								
								srslte/drb.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										101
									
								
								srslte/drb.conf
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,101 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					// All times are in ms. Use -1 for infinity, where available
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					qci_config = (
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  qci=1;
 | 
				
			||||||
 | 
					  pdcp_config = {
 | 
				
			||||||
 | 
					    discard_timer = 100;
 | 
				
			||||||
 | 
					    pdcp_sn_size = 12;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  rlc_config = {
 | 
				
			||||||
 | 
					    ul_um = {
 | 
				
			||||||
 | 
					      sn_field_length = 10;
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					    dl_um = {
 | 
				
			||||||
 | 
					      sn_field_length = 10;
 | 
				
			||||||
 | 
					      t_reordering    = 50;
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					  logical_channel_config = {
 | 
				
			||||||
 | 
					    priority = 6;
 | 
				
			||||||
 | 
					    prioritized_bit_rate   = -1;
 | 
				
			||||||
 | 
					    bucket_size_duration  = 100;
 | 
				
			||||||
 | 
					    log_chan_group = 1;
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					},
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  qci=5;
 | 
				
			||||||
 | 
					  pdcp_config = {
 | 
				
			||||||
 | 
					    discard_timer = -1;
 | 
				
			||||||
 | 
					    status_report_required = true;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  rlc_config = {
 | 
				
			||||||
 | 
					    ul_am = {
 | 
				
			||||||
 | 
					      t_poll_retx = 80;
 | 
				
			||||||
 | 
					      poll_pdu = 128;
 | 
				
			||||||
 | 
					      poll_byte = 125;
 | 
				
			||||||
 | 
					      max_retx_thresh = 4;
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					    dl_am = {
 | 
				
			||||||
 | 
					      t_reordering = 80;
 | 
				
			||||||
 | 
					      t_status_prohibit = 60;
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					  logical_channel_config = {
 | 
				
			||||||
 | 
					    priority = 13;
 | 
				
			||||||
 | 
					    prioritized_bit_rate   = -1;
 | 
				
			||||||
 | 
					    bucket_size_duration  = 100;
 | 
				
			||||||
 | 
					    log_chan_group = 2;
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					},
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  qci=7;
 | 
				
			||||||
 | 
					  pdcp_config = {
 | 
				
			||||||
 | 
					    discard_timer = 100;                
 | 
				
			||||||
 | 
					    pdcp_sn_size = 12;                  
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  rlc_config = {
 | 
				
			||||||
 | 
					    ul_um = {
 | 
				
			||||||
 | 
					      sn_field_length = 10; 
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					    dl_um = {
 | 
				
			||||||
 | 
					      sn_field_length = 10; 
 | 
				
			||||||
 | 
					      t_reordering    = 45;             
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					  logical_channel_config = {
 | 
				
			||||||
 | 
					    priority = 13; 
 | 
				
			||||||
 | 
					    prioritized_bit_rate   = -1; 
 | 
				
			||||||
 | 
					    bucket_size_duration  = 100; 
 | 
				
			||||||
 | 
					    log_chan_group = 2; 
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					},
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  qci=9;
 | 
				
			||||||
 | 
					  pdcp_config = {
 | 
				
			||||||
 | 
					    discard_timer = -1;
 | 
				
			||||||
 | 
					    status_report_required = true;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  rlc_config = {
 | 
				
			||||||
 | 
					    ul_am = {
 | 
				
			||||||
 | 
					      t_poll_retx = 120;
 | 
				
			||||||
 | 
					      poll_pdu = 64;
 | 
				
			||||||
 | 
					      poll_byte = 750;
 | 
				
			||||||
 | 
					      max_retx_thresh = 16;
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					    dl_am = {
 | 
				
			||||||
 | 
					      t_reordering = 50;
 | 
				
			||||||
 | 
					      t_status_prohibit = 50;
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					  logical_channel_config = {
 | 
				
			||||||
 | 
					    priority = 11; 
 | 
				
			||||||
 | 
					    prioritized_bit_rate   = -1; 
 | 
				
			||||||
 | 
					    bucket_size_duration  = 100; 
 | 
				
			||||||
 | 
					    log_chan_group = 3; 
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					);
 | 
				
			||||||
							
								
								
									
										284
									
								
								srslte/enb.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										284
									
								
								srslte/enb.conf
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,284 @@
 | 
				
			|||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					#                   srsENB configuration file
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					# eNB configuration
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# enb_id:         20-bit eNB identifier.
 | 
				
			||||||
 | 
					# cell_id:        8-bit cell identifier.
 | 
				
			||||||
 | 
					# tac:            16-bit Tracking Area Code.
 | 
				
			||||||
 | 
					# mcc:            Mobile Country Code
 | 
				
			||||||
 | 
					# mnc:            Mobile Network Code
 | 
				
			||||||
 | 
					# mme_addr:       IP address of MME for S1 connnection
 | 
				
			||||||
 | 
					# gtp_bind_addr:  Local IP address to bind for GTP connection
 | 
				
			||||||
 | 
					# s1c_bind_addr:  Local IP address to bind for S1AP connection
 | 
				
			||||||
 | 
					# n_prb:          Number of Physical Resource Blocks (6,15,25,50,75,100)
 | 
				
			||||||
 | 
					# tm:             Transmission mode 1-4 (TM1 default)
 | 
				
			||||||
 | 
					# nof_ports:      Number of Tx ports (1 port default, set to 2 for TM2/3/4)
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					[enb]
 | 
				
			||||||
 | 
					enb_id = 0x19B
 | 
				
			||||||
 | 
					cell_id = 0x01
 | 
				
			||||||
 | 
					phy_cell_id = 1
 | 
				
			||||||
 | 
					tac = 0x0001
 | 
				
			||||||
 | 
					mcc = MCC
 | 
				
			||||||
 | 
					mnc = MNC
 | 
				
			||||||
 | 
					mme_addr = MME_IP
 | 
				
			||||||
 | 
					gtp_bind_addr = ENB_IP
 | 
				
			||||||
 | 
					s1c_bind_addr = ENB_IP
 | 
				
			||||||
 | 
					n_prb = 25
 | 
				
			||||||
 | 
					#tm = 4
 | 
				
			||||||
 | 
					#nof_ports = 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					# eNB configuration files 
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# sib_config:  SIB1, SIB2 and SIB3 configuration file 
 | 
				
			||||||
 | 
					# note: when enabling mbms, use the sib.conf.mbsfn configuration file which includes SIB13
 | 
				
			||||||
 | 
					# rr_config:   Radio Resources configuration file 
 | 
				
			||||||
 | 
					# drb_config:  DRB configuration file 
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					[enb_files]
 | 
				
			||||||
 | 
					sib_config = sib.conf
 | 
				
			||||||
 | 
					rr_config  = rr.conf
 | 
				
			||||||
 | 
					drb_config = drb.conf
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					# RF configuration
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# dl_earfcn: EARFCN code for DL
 | 
				
			||||||
 | 
					# tx_gain: Transmit gain (dB). 
 | 
				
			||||||
 | 
					# rx_gain: Optional receive gain (dB). If disabled, AGC if enabled
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Optional parameters:
 | 
				
			||||||
 | 
					# dl_freq:            Override DL frequency corresponding to dl_earfcn
 | 
				
			||||||
 | 
					# ul_freq:            Override UL frequency corresponding to dl_earfcn (must be set if dl_freq is set)
 | 
				
			||||||
 | 
					# device_name:        Device driver family. Supported options: "auto" (uses first found), "UHD" or "bladeRF" 
 | 
				
			||||||
 | 
					# device_args:        Arguments for the device driver. Options are "auto" or any string. 
 | 
				
			||||||
 | 
					#                     Default for UHD: "recv_frame_size=9232,send_frame_size=9232"
 | 
				
			||||||
 | 
					#                     Default for bladeRF: ""
 | 
				
			||||||
 | 
					# #time_adv_nsamples: Transmission time advance (in number of samples) to compensate for RF delay 
 | 
				
			||||||
 | 
					#                     from antenna to timestamp insertion. 
 | 
				
			||||||
 | 
					#                     Default "auto". B210 USRP: 100 samples, bladeRF: 27.
 | 
				
			||||||
 | 
					# burst_preamble_us:  Preamble length to transmit before start of burst. 
 | 
				
			||||||
 | 
					#                     Default "auto". B210 USRP: 400 us, bladeRF: 0 us. 
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					[rf]
 | 
				
			||||||
 | 
					#dl_earfcn = 3150
 | 
				
			||||||
 | 
					tx_gain = 80
 | 
				
			||||||
 | 
					rx_gain = 40
 | 
				
			||||||
 | 
					dl_earfcn = 6200
 | 
				
			||||||
 | 
					#tx_gain = 56
 | 
				
			||||||
 | 
					#rx_gain = 38
 | 
				
			||||||
 | 
					#device_name = soapy
 | 
				
			||||||
 | 
					#device_args = rxant=LNAW,txant=BAND2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#device_name = auto
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# For best performance in 2x2 MIMO and >= 15 MHz use the following device_args settings:
 | 
				
			||||||
 | 
					#     USRP B210: num_recv_frames=64,num_send_frames=64
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# For best performance when BW<5 MHz (25 PRB), use the following device_args settings:
 | 
				
			||||||
 | 
					#     USRP B210: send_frame_size=512,recv_frame_size=512
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#device_args = auto
 | 
				
			||||||
 | 
					#time_adv_nsamples = auto
 | 
				
			||||||
 | 
					#burst_preamble_us = auto
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					# MAC-layer packet capture configuration
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Packets are captured to file in the compact format decoded by 
 | 
				
			||||||
 | 
					# the Wireshark mac-lte-framed dissector and with DLT 147. 
 | 
				
			||||||
 | 
					# To use the dissector, edit the preferences for DLT_USER to 
 | 
				
			||||||
 | 
					# add an entry with DLT=147, Payload Protocol=mac-lte-framed.
 | 
				
			||||||
 | 
					# For more information see: https://wiki.wireshark.org/MAC-LTE
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Please note that this setting will by default only capture MAC
 | 
				
			||||||
 | 
					# frames on dedicated channels, and not SIB.  You have to build with
 | 
				
			||||||
 | 
					# WRITE_SIB_PCAP enabled in srsenb/src/stack/mac/mac.cc if you want
 | 
				
			||||||
 | 
					# SIB to be part of the MAC pcap file.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# enable:   Enable MAC layer packet captures (true/false)
 | 
				
			||||||
 | 
					# filename: File path to use for packet captures
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					[pcap]
 | 
				
			||||||
 | 
					enable = false
 | 
				
			||||||
 | 
					filename = /tmp/enb.pcap
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					# Log configuration
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Log levels can be set for individual layers. "all_level" sets log
 | 
				
			||||||
 | 
					# level for all layers unless otherwise configured.
 | 
				
			||||||
 | 
					# Format: e.g. phy_level = info
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# In the same way, packet hex dumps can be limited for each level.
 | 
				
			||||||
 | 
					# "all_hex_limit" sets the hex limit for all layers unless otherwise
 | 
				
			||||||
 | 
					# configured.
 | 
				
			||||||
 | 
					# Format: e.g. phy_hex_limit = 32
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Logging layers: rf, phy, phy_lib, mac, rlc, pdcp, rrc, gtpu, s1ap, all
 | 
				
			||||||
 | 
					# Logging levels: debug, info, warning, error, none
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# filename: File path to use for log output. Can be set to stdout
 | 
				
			||||||
 | 
					#           to print logs to standard output
 | 
				
			||||||
 | 
					# file_max_size: Maximum file size (in kilobytes). When passed, multiple files are created.
 | 
				
			||||||
 | 
					#                If set to negative, a single log file will be created.
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					[log]
 | 
				
			||||||
 | 
					all_level = info
 | 
				
			||||||
 | 
					all_hex_limit = 32
 | 
				
			||||||
 | 
					filename = /tmp/enb.log
 | 
				
			||||||
 | 
					file_max_size = -1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[gui]
 | 
				
			||||||
 | 
					enable = false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					# Scheduler configuration options
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# max_aggr_level:    Optional maximum aggregation level index (l=log2(L) can be 0, 1, 2 or 3)
 | 
				
			||||||
 | 
					# pdsch_mcs:         Optional fixed PDSCH MCS (ignores reported CQIs if specified)
 | 
				
			||||||
 | 
					# pdsch_max_mcs:     Optional PDSCH MCS limit 
 | 
				
			||||||
 | 
					# pusch_mcs:         Optional fixed PUSCH MCS (ignores reported CQIs if specified)
 | 
				
			||||||
 | 
					# pusch_max_mcs:     Optional PUSCH MCS limit 
 | 
				
			||||||
 | 
					# #nof_ctrl_symbols: Number of control symbols 
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					[scheduler]
 | 
				
			||||||
 | 
					#max_aggr_level   = -1
 | 
				
			||||||
 | 
					#pdsch_mcs        = -1
 | 
				
			||||||
 | 
					#pdsch_max_mcs    = -1
 | 
				
			||||||
 | 
					#pusch_mcs        = -1
 | 
				
			||||||
 | 
					pusch_max_mcs    = 16
 | 
				
			||||||
 | 
					nof_ctrl_symbols = 3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					# eMBMS configuration options
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# enable:               Enable MBMS transmission in the eNB
 | 
				
			||||||
 | 
					# m1u_multiaddr:        Multicast addres the M1-U socket will register to
 | 
				
			||||||
 | 
					# m1u_if_addr:          Address of the inteferface the M1-U interface will listen for multicast packets.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					[embms]
 | 
				
			||||||
 | 
					#enable = false
 | 
				
			||||||
 | 
					#m1u_multiaddr = 239.255.0.1
 | 
				
			||||||
 | 
					#m1u_if_addr = 127.0.1.201
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					# Channel emulator options:
 | 
				
			||||||
 | 
					# enable:            Enable/Disable internal Downlink/Uplink channel emulator
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# -- Fading emulator
 | 
				
			||||||
 | 
					# fading.enable:     Enable/disable fading simulator
 | 
				
			||||||
 | 
					# fading.model:      Fading model + maximum doppler (E.g. none, epa5, eva70, etu300, etc)
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# -- Delay Emulator     delay(t) = delay_min + (delay_max - delay_min) * (1 + sin(2pi*t/period)) / 2
 | 
				
			||||||
 | 
					#                       Maximum speed [m/s]: (delay_max - delay_min) * pi * 300 / period
 | 
				
			||||||
 | 
					# delay.enable:      Enable/disable delay simulator
 | 
				
			||||||
 | 
					# delay.period_s:    Delay period in seconds.
 | 
				
			||||||
 | 
					# delay.init_time_s: Delay initial time in seconds.
 | 
				
			||||||
 | 
					# delay.maximum_us:  Maximum delay in microseconds
 | 
				
			||||||
 | 
					# delay.minumum_us:  Minimum delay in microseconds
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# -- Radio-Link Failure (RLF) Emulator
 | 
				
			||||||
 | 
					# rlf.enable:        Enable/disable RLF simulator
 | 
				
			||||||
 | 
					# rlf.t_on_ms:       Time for On state of the channel (ms)
 | 
				
			||||||
 | 
					# rlf.t_off_ms:      Time for Off state of the channel (ms)
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# -- High Speed Train Doppler model simulator
 | 
				
			||||||
 | 
					# hst.enable:        Enable/Disable HST simulator
 | 
				
			||||||
 | 
					# hst.period_s:      HST simulation period in seconds
 | 
				
			||||||
 | 
					# hst.fd_hz:         Doppler frequency in Hz
 | 
				
			||||||
 | 
					# hst.init_time_s:   Initial time in seconds
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					[channel.dl]
 | 
				
			||||||
 | 
					#enable        = false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[channel.dl.fading]
 | 
				
			||||||
 | 
					#enable        = false
 | 
				
			||||||
 | 
					#model         = none
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[channel.dl.delay]
 | 
				
			||||||
 | 
					#enable        = false
 | 
				
			||||||
 | 
					#period_s      = 3600
 | 
				
			||||||
 | 
					#init_time_s   = 0
 | 
				
			||||||
 | 
					#maximum_us    = 100
 | 
				
			||||||
 | 
					#minimum_us    = 10
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[channel.dl.rlf]
 | 
				
			||||||
 | 
					#enable        = false
 | 
				
			||||||
 | 
					#t_on_ms       = 10000
 | 
				
			||||||
 | 
					#t_off_ms      = 2000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[channel.dl.hst]
 | 
				
			||||||
 | 
					#enable        = false
 | 
				
			||||||
 | 
					#period_s      = 7.2
 | 
				
			||||||
 | 
					#fd_hz         = 750.0
 | 
				
			||||||
 | 
					#init_time_s   = 0.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[channel.ul]
 | 
				
			||||||
 | 
					#enable        = false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[channel.ul.fading]
 | 
				
			||||||
 | 
					#enable        = false
 | 
				
			||||||
 | 
					#model         = none
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[channel.ul.delay]
 | 
				
			||||||
 | 
					#enable        = false
 | 
				
			||||||
 | 
					#period_s      = 3600
 | 
				
			||||||
 | 
					#init_time_s   = 0
 | 
				
			||||||
 | 
					#maximum_us    = 100
 | 
				
			||||||
 | 
					#minimum_us    = 10
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[channel.ul.rlf]
 | 
				
			||||||
 | 
					#enable        = false
 | 
				
			||||||
 | 
					#t_on_ms       = 10000
 | 
				
			||||||
 | 
					#t_off_ms      = 2000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[channel.ul.hst]
 | 
				
			||||||
 | 
					#enable        = false
 | 
				
			||||||
 | 
					#period_s      = 7.2
 | 
				
			||||||
 | 
					#fd_hz         = -750.0
 | 
				
			||||||
 | 
					#init_time_s   = 0.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					# Expert configuration options
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# pusch_max_its:        Maximum number of turbo decoder iterations (Default 4)
 | 
				
			||||||
 | 
					# pusch_8bit_decoder:   Use 8-bit for LLR representation and turbo decoder trellis computation (Experimental)
 | 
				
			||||||
 | 
					# nof_phy_threads:      Selects the number of PHY threads (maximum 4, minimum 1, default 2)
 | 
				
			||||||
 | 
					# metrics_period_secs:  Sets the period at which metrics are requested from the eNB. 
 | 
				
			||||||
 | 
					# metrics_csv_enable:   Write eNB metrics to CSV file.
 | 
				
			||||||
 | 
					# metrics_csv_filename: File path to use for CSV metrics.
 | 
				
			||||||
 | 
					# pregenerate_signals:  Pregenerate uplink signals after attach. Improves CPU performance.
 | 
				
			||||||
 | 
					# tx_amplitude:         Transmit amplitude factor (set 0-1 to reduce PAPR)
 | 
				
			||||||
 | 
					# link_failure_nof_err: Number of PUSCH failures after which a radio-link failure is triggered. 
 | 
				
			||||||
 | 
					#                       a link failure is when SNR<0 and CRC=KO
 | 
				
			||||||
 | 
					# max_prach_offset_us:  Maximum allowed RACH offset (in us)
 | 
				
			||||||
 | 
					# eea_pref_list:        Ordered preference list for the selection of encryption algorithm (EEA) (default: EEA0, EEA2, EEA1).
 | 
				
			||||||
 | 
					# eia_pref_list:        Ordered preference list for the selection of integrity algorithm (EIA) (default: EIA2, EIA1, EIA0).
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					[expert]
 | 
				
			||||||
 | 
					#pusch_max_its        = 8 # These are half iterations
 | 
				
			||||||
 | 
					#pusch_8bit_decoder   = false
 | 
				
			||||||
 | 
					#nof_phy_threads      = 3
 | 
				
			||||||
 | 
					#metrics_period_secs  = 1
 | 
				
			||||||
 | 
					#metrics_csv_enable   = false
 | 
				
			||||||
 | 
					#metrics_csv_filename = /tmp/enb_metrics.csv
 | 
				
			||||||
 | 
					#pregenerate_signals  = false
 | 
				
			||||||
 | 
					#tx_amplitude         = 0.6
 | 
				
			||||||
 | 
					#link_failure_nof_err = 50
 | 
				
			||||||
 | 
					#rrc_inactivity_timer = 60000
 | 
				
			||||||
 | 
					#max_prach_offset_us  = 30
 | 
				
			||||||
 | 
					#eea_pref_list = EEA0, EEA2, EEA1
 | 
				
			||||||
 | 
					#eia_pref_list = EIA2, EIA1, EIA0
 | 
				
			||||||
							
								
								
									
										42
									
								
								srslte/enb_init.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										42
									
								
								srslte/enb_init.sh
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,42 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# BSD 2-Clause License
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Copyright (c) 2020, Supreeth Herle
 | 
				
			||||||
 | 
					# All rights reserved.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Redistribution and use in source and binary forms, with or without
 | 
				
			||||||
 | 
					# modification, are permitted provided that the following conditions are met:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# 1. Redistributions of source code must retain the above copyright notice, this
 | 
				
			||||||
 | 
					#    list of conditions and the following disclaimer.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# 2. Redistributions in binary form must reproduce the above copyright notice,
 | 
				
			||||||
 | 
					#    this list of conditions and the following disclaimer in the documentation
 | 
				
			||||||
 | 
					#    and/or other materials provided with the distribution.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 | 
				
			||||||
 | 
					# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 | 
				
			||||||
 | 
					# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 | 
				
			||||||
 | 
					# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
 | 
				
			||||||
 | 
					# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 | 
				
			||||||
 | 
					# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
 | 
				
			||||||
 | 
					# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
 | 
				
			||||||
 | 
					# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
 | 
				
			||||||
 | 
					# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 | 
				
			||||||
 | 
					# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export IP_ADDR=$(awk 'END{print $1}' /etc/hosts)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					cp /mnt/srslte/enb.conf /etc/srslte
 | 
				
			||||||
 | 
					cp /mnt/srslte/drb.conf /etc/srslte
 | 
				
			||||||
 | 
					cp /mnt/srslte/epc.conf /etc/srslte
 | 
				
			||||||
 | 
					cp /mnt/srslte/mbms.conf /etc/srslte
 | 
				
			||||||
 | 
					cp /mnt/srslte/rr.conf /etc/srslte
 | 
				
			||||||
 | 
					cp /mnt/srslte/sib.conf /etc/srslte
 | 
				
			||||||
 | 
					cp /mnt/srslte/ue.conf /etc/srslte
 | 
				
			||||||
 | 
					cp /mnt/srslte/user_db.csv /etc/srslte
 | 
				
			||||||
 | 
					sed -i 's|MNC|'$MNC'|g' /etc/srslte/enb.conf
 | 
				
			||||||
 | 
					sed -i 's|MCC|'$MCC'|g' /etc/srslte/enb.conf
 | 
				
			||||||
 | 
					sed -i 's|MME_IP|'$MME_IP'|g' /etc/srslte/enb.conf
 | 
				
			||||||
 | 
					sed -i 's|ENB_IP|'$ENB_IP'|g' /etc/srslte/enb.conf
 | 
				
			||||||
							
								
								
									
										106
									
								
								srslte/epc.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										106
									
								
								srslte/epc.conf
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,106 @@
 | 
				
			|||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					#                   srsEPC configuration file
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					# MME configuration
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# mme_code:         8-bit MME code identifies the MME within a group.
 | 
				
			||||||
 | 
					# mme_group:        16-bit MME group identifier.
 | 
				
			||||||
 | 
					# tac:              16-bit Tracking Area Code.
 | 
				
			||||||
 | 
					# mcc:              Mobile Country Code
 | 
				
			||||||
 | 
					# mnc:              Mobile Network Code
 | 
				
			||||||
 | 
					# apn:		          Set Access Point Name (APN)
 | 
				
			||||||
 | 
					# mme_bind_addr:    IP bind addr to listen for eNB S1-MME connnections
 | 
				
			||||||
 | 
					# dns_addr:         DNS server address for the UEs
 | 
				
			||||||
 | 
					# encryption_algo:  Preferred encryption algorithm for NAS layer 
 | 
				
			||||||
 | 
					#                   (default: EEA0, support: EEA1, EEA2)
 | 
				
			||||||
 | 
					# integrity_algo:   Preferred integrity protection algorithm for NAS 
 | 
				
			||||||
 | 
					#                   (default: EIA1, support: EIA1, EIA2 (EIA0 not support)
 | 
				
			||||||
 | 
					# paging_timer:     Value of paging timer in seconds (T3413)
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					[mme]
 | 
				
			||||||
 | 
					mme_code = 0x1a
 | 
				
			||||||
 | 
					mme_group = 0x0001
 | 
				
			||||||
 | 
					tac = 0x0007
 | 
				
			||||||
 | 
					mcc = 001
 | 
				
			||||||
 | 
					mnc = 01
 | 
				
			||||||
 | 
					mme_bind_addr = 127.0.1.100
 | 
				
			||||||
 | 
					apn = srsapn
 | 
				
			||||||
 | 
					dns_addr = 8.8.8.8
 | 
				
			||||||
 | 
					encryption_algo = EEA0
 | 
				
			||||||
 | 
					integrity_algo = EIA1
 | 
				
			||||||
 | 
					paging_timer = 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					# HSS configuration
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# db_file:         Location of .csv file that stores UEs information.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					[hss]
 | 
				
			||||||
 | 
					db_file = user_db.csv
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					# SP-GW configuration
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# gtpu_bind_addr:   GTP-U bind address.
 | 
				
			||||||
 | 
					# sgi_if_addr:      SGi TUN interface IP address.
 | 
				
			||||||
 | 
					# sgi_if_name:      SGi TUN interface name.
 | 
				
			||||||
 | 
					# max_paging_queue: Maximum packets in paging queue (per UE).
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[spgw]
 | 
				
			||||||
 | 
					gtpu_bind_addr   = 127.0.1.100
 | 
				
			||||||
 | 
					sgi_if_addr      = 172.16.0.1
 | 
				
			||||||
 | 
					sgi_if_name      = srs_spgw_sgi
 | 
				
			||||||
 | 
					max_paging_queue = 100
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					####################################################################
 | 
				
			||||||
 | 
					# PCAP configuration
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Packets are captured to file in the compact format decoded by 
 | 
				
			||||||
 | 
					# the Wireshark s1ap dissector and with DLT 150. 
 | 
				
			||||||
 | 
					# To use the dissector, edit the preferences for DLT_USER to 
 | 
				
			||||||
 | 
					# add an entry with DLT=150, Payload Protocol=s1ap.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# enable:   Enable or disable the PCAP.
 | 
				
			||||||
 | 
					# filename: File name where to save the PCAP.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					####################################################################
 | 
				
			||||||
 | 
					[pcap]
 | 
				
			||||||
 | 
					enable   = false
 | 
				
			||||||
 | 
					filename = /tmp/epc.pcap
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					####################################################################
 | 
				
			||||||
 | 
					# Log configuration
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Log levels can be set for individual layers. "all_level" sets log
 | 
				
			||||||
 | 
					# level for all layers unless otherwise configured.
 | 
				
			||||||
 | 
					# Format: e.g. s1ap_level = info
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# In the same way, packet hex dumps can be limited for each level.
 | 
				
			||||||
 | 
					# "all_hex_limit" sets the hex limit for all layers unless otherwise
 | 
				
			||||||
 | 
					# configured.
 | 
				
			||||||
 | 
					# Format: e.g. s1ap_hex_limit = 32
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Logging layers: nas, s1ap, mme_gtpc, spgw_gtpc, gtpu, spgw, hss, all
 | 
				
			||||||
 | 
					# Logging levels: debug, info, warning, error, none
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# filename: File path to use for log output. Can be set to stdout
 | 
				
			||||||
 | 
					#           to print logs to standard output
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					[log]
 | 
				
			||||||
 | 
					all_level = info
 | 
				
			||||||
 | 
					all_hex_limit = 32
 | 
				
			||||||
 | 
					filename = /tmp/epc.log
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#nas_level = debug
 | 
				
			||||||
 | 
					#s1ap_level = debug
 | 
				
			||||||
 | 
					#mme_gtpc_level = debug
 | 
				
			||||||
 | 
					#spgw_gtpc_level = debug
 | 
				
			||||||
 | 
					#gtpu_level = debug
 | 
				
			||||||
 | 
					#spgw_level = debug
 | 
				
			||||||
 | 
					#hss_level = debug
 | 
				
			||||||
							
								
								
									
										47
									
								
								srslte/mbms.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								srslte/mbms.conf
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,47 @@
 | 
				
			|||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					#                   srsMBMS configuration file
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					# MBMS-GW configuration
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# name:             MBMS-GW name
 | 
				
			||||||
 | 
					# sgi_mb_if_name:   SGi-mb TUN interface name
 | 
				
			||||||
 | 
					# sgi_mb_if_addr:   SGi-mb interface IP address
 | 
				
			||||||
 | 
					# sgi_mb_if_mask:   SGi-mb interface IP mask
 | 
				
			||||||
 | 
					# m1u_multi_addr:   Multicast group for eNBs (TODO this should be setup with M2/M3)
 | 
				
			||||||
 | 
					# m1u_multi_if:     IP of local interface for multicast traffic
 | 
				
			||||||
 | 
					# m1u_multi_ttl:    TTL for M1-U multicast traffic
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					[mbms_gw]
 | 
				
			||||||
 | 
					name = srsmbmsgw01
 | 
				
			||||||
 | 
					sgi_mb_if_name = sgi_mb
 | 
				
			||||||
 | 
					sgi_mb_if_addr = 172.16.0.254
 | 
				
			||||||
 | 
					sgi_mb_if_mask = 255.255.255.255
 | 
				
			||||||
 | 
					m1u_multi_addr = 239.255.0.1
 | 
				
			||||||
 | 
					m1u_multi_if   = 127.0.1.200
 | 
				
			||||||
 | 
					m1u_multi_ttl  = 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					####################################################################
 | 
				
			||||||
 | 
					# Log configuration
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Log levels can be set for individual layers. "all_level" sets log
 | 
				
			||||||
 | 
					# level for all layers unless otherwise configured.
 | 
				
			||||||
 | 
					# Format: e.g. s1ap_level = info
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# In the same way, packet hex dumps can be limited for each level.
 | 
				
			||||||
 | 
					# "all_hex_limit" sets the hex limit for all layers unless otherwise
 | 
				
			||||||
 | 
					# configured.
 | 
				
			||||||
 | 
					# Format: e.g. s1ap_hex_limit = 32
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Logging layers: mbms_gw, all
 | 
				
			||||||
 | 
					# Logging levels: debug, info, warning, error, none
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# filename: File path to use for log output. Can be set to stdout
 | 
				
			||||||
 | 
					#           to print logs to standard output
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					[log]
 | 
				
			||||||
 | 
					all_level = debug
 | 
				
			||||||
 | 
					all_hex_limit = 32
 | 
				
			||||||
 | 
					filename = /tmp/mbms.log
 | 
				
			||||||
							
								
								
									
										90
									
								
								srslte/rr.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										90
									
								
								srslte/rr.conf
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,90 @@
 | 
				
			|||||||
 | 
					mac_cnfg =
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  phr_cnfg = 
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    dl_pathloss_change = "dB3"; // Valid: 1, 3, 6 or INFINITY
 | 
				
			||||||
 | 
					    periodic_phr_timer = 50;
 | 
				
			||||||
 | 
					    prohibit_phr_timer = 0;
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					  ulsch_cnfg = 
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    max_harq_tx = 4;
 | 
				
			||||||
 | 
					    periodic_bsr_timer = 20; // in ms
 | 
				
			||||||
 | 
					    retx_bsr_timer = 320;   // in ms
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  time_alignment_timer = -1; // -1 is infinity
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					phy_cnfg =
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  phich_cnfg = 
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    duration  = "Normal";
 | 
				
			||||||
 | 
					    resources = "1/6"; 
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  pusch_cnfg_ded =
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    beta_offset_ack_idx = 6;
 | 
				
			||||||
 | 
					    beta_offset_ri_idx  = 6;
 | 
				
			||||||
 | 
					    beta_offset_cqi_idx = 6;
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  // PUCCH-SR resources are scheduled on time-frequeny domain first, then multiplexed in the same resource. 
 | 
				
			||||||
 | 
					  sched_request_cnfg =
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    dsr_trans_max = 64;
 | 
				
			||||||
 | 
					    period = 20;       // in ms
 | 
				
			||||||
 | 
					    subframe = [1];    // vector of subframe indices allowed for SR transmissions 
 | 
				
			||||||
 | 
					    nof_prb = 2;       // number of PRBs on each extreme used for SR (total prb is twice this number)
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					  cqi_report_cnfg =
 | 
				
			||||||
 | 
					  { 
 | 
				
			||||||
 | 
					    mode = "periodic";
 | 
				
			||||||
 | 
					    simultaneousAckCQI = true; 
 | 
				
			||||||
 | 
					    period = 40; // in ms
 | 
				
			||||||
 | 
					    subframe = [0];
 | 
				
			||||||
 | 
					    nof_prb = 2; 
 | 
				
			||||||
 | 
					    m_ri = 8; // RI period in CQI period
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					cell_list =
 | 
				
			||||||
 | 
					(
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    // rf_port = 0;
 | 
				
			||||||
 | 
					    // cell_id = 0x01;
 | 
				
			||||||
 | 
					    // tac = 0x0001;
 | 
				
			||||||
 | 
					    // pci = 1;
 | 
				
			||||||
 | 
					    // root_seq_idx = 204;
 | 
				
			||||||
 | 
					    // dl_earfcn = 3400;
 | 
				
			||||||
 | 
					    // ul_earfcn = 474;
 | 
				
			||||||
 | 
					    ho_active = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // CA cells
 | 
				
			||||||
 | 
					    scell_list = (
 | 
				
			||||||
 | 
					      {cell_id = 0x02; cross_carrier_scheduling = false; scheduling_cell_id = 0x02; ul_allowed = true}
 | 
				
			||||||
 | 
					    )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // Cells available for handover
 | 
				
			||||||
 | 
					    meas_cell_list =
 | 
				
			||||||
 | 
					    (
 | 
				
			||||||
 | 
					      {
 | 
				
			||||||
 | 
					        eci = 0x19C02;
 | 
				
			||||||
 | 
					        dl_earfcn = 2850;
 | 
				
			||||||
 | 
					        pci = 2;
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // ReportCfg (only A3 supported)
 | 
				
			||||||
 | 
					    meas_report_desc = {
 | 
				
			||||||
 | 
					      a3_report_type = "RSRP";
 | 
				
			||||||
 | 
					      a3_offset = 6;
 | 
				
			||||||
 | 
					      a3_hysteresis = 0;
 | 
				
			||||||
 | 
					      a3_time_to_trigger = 480;
 | 
				
			||||||
 | 
					      rsrq_config = 4;
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  // Add here more cells
 | 
				
			||||||
 | 
					);
 | 
				
			||||||
							
								
								
									
										118
									
								
								srslte/sib.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										118
									
								
								srslte/sib.conf
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,118 @@
 | 
				
			|||||||
 | 
					sib1 =
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    intra_freq_reselection = "Allowed";
 | 
				
			||||||
 | 
					    q_rx_lev_min = -65;
 | 
				
			||||||
 | 
					    //p_max = 3;
 | 
				
			||||||
 | 
					    cell_barred = "NotBarred"
 | 
				
			||||||
 | 
					    si_window_length = 20;
 | 
				
			||||||
 | 
					    sched_info =
 | 
				
			||||||
 | 
					    (
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            si_periodicity = 16;
 | 
				
			||||||
 | 
					            si_mapping_info = []; // comma-separated array of SIB-indexes (from 3 to 13). 
 | 
				
			||||||
 | 
					            // Leave empty or commented to just scheduler sib2
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    );
 | 
				
			||||||
 | 
					    system_info_value_tag = 0;
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					sib2 = 
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    rr_config_common_sib =
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        rach_cnfg = 
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            num_ra_preambles = 52;
 | 
				
			||||||
 | 
					            preamble_init_rx_target_pwr = -104;
 | 
				
			||||||
 | 
					            pwr_ramping_step = 6;  // in dB
 | 
				
			||||||
 | 
					            preamble_trans_max = 10;
 | 
				
			||||||
 | 
					            ra_resp_win_size = 10;  // in ms
 | 
				
			||||||
 | 
					            mac_con_res_timer = 64; // in ms
 | 
				
			||||||
 | 
					            max_harq_msg3_tx = 4;
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					        bcch_cnfg = 
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            modification_period_coeff = 16; // in ms
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					        pcch_cnfg = 
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            default_paging_cycle = 32; // in rf
 | 
				
			||||||
 | 
					            nB = "1";
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					        prach_cnfg =
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            root_sequence_index = 128;
 | 
				
			||||||
 | 
					            prach_cnfg_info =
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                high_speed_flag = false;
 | 
				
			||||||
 | 
					                prach_config_index = 3;
 | 
				
			||||||
 | 
					                prach_freq_offset = 2;
 | 
				
			||||||
 | 
					                zero_correlation_zone_config = 5;
 | 
				
			||||||
 | 
					            };
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					        pdsch_cnfg = 
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            /* Warning: Currently disabled and forced to p_b=1 for TM2/3/4 and p_b=0 for TM1
 | 
				
			||||||
 | 
					             */
 | 
				
			||||||
 | 
					            p_b = 1;
 | 
				
			||||||
 | 
					            rs_power = 0;
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					        pusch_cnfg = 
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            n_sb = 1;
 | 
				
			||||||
 | 
					            hopping_mode = "inter-subframe";
 | 
				
			||||||
 | 
					            pusch_hopping_offset = 2;
 | 
				
			||||||
 | 
					            enable_64_qam = false; // 64QAM PUSCH is not currently enabled
 | 
				
			||||||
 | 
					            ul_rs = 
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                cyclic_shift = 0; 
 | 
				
			||||||
 | 
					                group_assignment_pusch = 0;
 | 
				
			||||||
 | 
					                group_hopping_enabled = false; 
 | 
				
			||||||
 | 
					                sequence_hopping_enabled = false; 
 | 
				
			||||||
 | 
					            };
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					        pucch_cnfg =
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            delta_pucch_shift = 2;
 | 
				
			||||||
 | 
					            n_rb_cqi = 2;
 | 
				
			||||||
 | 
					            n_cs_an = 0;
 | 
				
			||||||
 | 
					            n1_pucch_an = 12;
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					        ul_pwr_ctrl =
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            p0_nominal_pusch = -85;
 | 
				
			||||||
 | 
					            alpha = 0.7;
 | 
				
			||||||
 | 
					            p0_nominal_pucch = -107;
 | 
				
			||||||
 | 
					            delta_flist_pucch =
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                format_1  = 0;
 | 
				
			||||||
 | 
					                format_1b = 3; 
 | 
				
			||||||
 | 
					                format_2  = 1;
 | 
				
			||||||
 | 
					                format_2a = 2;
 | 
				
			||||||
 | 
					                format_2b = 2;
 | 
				
			||||||
 | 
					            };
 | 
				
			||||||
 | 
					            delta_preamble_msg3 = 6;
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					        ul_cp_length = "len1";
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ue_timers_and_constants =
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        t300 = 2000; // in ms
 | 
				
			||||||
 | 
					        t301 = 100;  // in ms
 | 
				
			||||||
 | 
					        t310 = 1000; // in ms
 | 
				
			||||||
 | 
					        n310 = 1;
 | 
				
			||||||
 | 
					        t311 = 1000; // in ms
 | 
				
			||||||
 | 
					        n311 = 1;
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    freqInfo = 
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        ul_carrier_freq_present = true; 
 | 
				
			||||||
 | 
					        ul_bw_present = true; 
 | 
				
			||||||
 | 
					        additional_spectrum_emission = 1; 
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    time_alignment_timer = "INFINITY"; // use "sf500", "sf750", etc.
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										345
									
								
								srslte/ue.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										345
									
								
								srslte/ue.conf
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,345 @@
 | 
				
			|||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					#                   srsUE configuration file
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					# RF configuration
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# dl_earfcn: Downlink EARFCN code.
 | 
				
			||||||
 | 
					# freq_offset: Uplink and Downlink optional frequency offset (in Hz)
 | 
				
			||||||
 | 
					# tx_gain: Transmit gain (dB). 
 | 
				
			||||||
 | 
					# rx_gain: Optional receive gain (dB). If disabled, AGC if enabled
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Optional parameters: 
 | 
				
			||||||
 | 
					# dl_freq:            Override DL frequency corresponding to dl_earfcn
 | 
				
			||||||
 | 
					# ul_freq:            Override UL frequency corresponding to dl_earfcn
 | 
				
			||||||
 | 
					# nof_radios:         Number of available RF devices
 | 
				
			||||||
 | 
					# nof_rf_channels:    Number of RF channels per radio
 | 
				
			||||||
 | 
					# nof_rx_ant:         Number of RX antennas per channel
 | 
				
			||||||
 | 
					# device_name:        Device driver family. Supported options: "auto" (uses first found), "UHD" or "bladeRF" 
 | 
				
			||||||
 | 
					# device_args:        Arguments for the device driver. Options are "auto" or any string. 
 | 
				
			||||||
 | 
					#                     Default for UHD: "recv_frame_size=9232,send_frame_size=9232"
 | 
				
			||||||
 | 
					#                     Default for bladeRF: ""
 | 
				
			||||||
 | 
					# device_args_2:      Arguments for the RF device driver 2.
 | 
				
			||||||
 | 
					# device_args_3:      Arguments for the RF device driver 3.
 | 
				
			||||||
 | 
					# time_adv_nsamples:  Transmission time advance (in number of samples) to compensate for RF delay
 | 
				
			||||||
 | 
					#                     from antenna to timestamp insertion. 
 | 
				
			||||||
 | 
					#                     Default "auto". B210 USRP: 100 samples, bladeRF: 27.
 | 
				
			||||||
 | 
					# burst_preamble_us:  Preamble length to transmit before start of burst. 
 | 
				
			||||||
 | 
					#                     Default "auto". B210 USRP: 400 us, bladeRF: 0 us.
 | 
				
			||||||
 | 
					# continuous_tx:      Transmit samples continuously to the radio or on bursts (auto/yes/no).
 | 
				
			||||||
 | 
					#                     Default is auto (yes for UHD, no for rest)
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					[rf]
 | 
				
			||||||
 | 
					dl_earfcn = 3400
 | 
				
			||||||
 | 
					freq_offset = 0
 | 
				
			||||||
 | 
					tx_gain = 80
 | 
				
			||||||
 | 
					#rx_gain = 40
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#nof_radios = 1
 | 
				
			||||||
 | 
					#nof_rx_ant = 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# For best performance in 2x2 MIMO and >= 15 MHz use the following device_args settings:
 | 
				
			||||||
 | 
					#     USRP B210: num_recv_frames=64,num_send_frames=64
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# For best performance when BW<5 MHz (25 PRB), use the following device_args settings:
 | 
				
			||||||
 | 
					#     USRP B210: send_frame_size=512,recv_frame_size=512
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#device_args = auto
 | 
				
			||||||
 | 
					#time_adv_nsamples = auto
 | 
				
			||||||
 | 
					#burst_preamble_us = auto
 | 
				
			||||||
 | 
					#continuous_tx     = auto
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					# Packet capture configuration
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Packet capture is supported at both MAC and NAS layers.
 | 
				
			||||||
 | 
					# MAC-layer packets are captured to file in the compact format
 | 
				
			||||||
 | 
					# decoded by the Wireshark mac-lte-framed dissector.
 | 
				
			||||||
 | 
					# To use this dissector, edit the preferences for DLT_USER to
 | 
				
			||||||
 | 
					# add an entry with DLT=147, Payload Protocol=mac-lte-framed.
 | 
				
			||||||
 | 
					# For more information see: https://wiki.wireshark.org/MAC-LTE
 | 
				
			||||||
 | 
					# NAS-layer packets are dissected with DLT=148, and
 | 
				
			||||||
 | 
					# Payload Protocol = nas-eps.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# enable:       Enable MAC layer packet captures (true/false)
 | 
				
			||||||
 | 
					# filename:     File path to use for MAC packet captures
 | 
				
			||||||
 | 
					# nas_enable:   Enable NAS layer packet captures (true/false)
 | 
				
			||||||
 | 
					# nas_filename: File path to use for NAS packet captures
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					[pcap]
 | 
				
			||||||
 | 
					enable = false
 | 
				
			||||||
 | 
					filename = /tmp/ue.pcap
 | 
				
			||||||
 | 
					nas_enable = false
 | 
				
			||||||
 | 
					nas_filename = /tmp/nas.pcap
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					# Log configuration
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Log levels can be set for individual layers. "all_level" sets log
 | 
				
			||||||
 | 
					# level for all layers unless otherwise configured.
 | 
				
			||||||
 | 
					# Format: e.g. phy_level = info
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# In the same way, packet hex dumps can be limited for each level.
 | 
				
			||||||
 | 
					# "all_hex_limit" sets the hex limit for all layers unless otherwise
 | 
				
			||||||
 | 
					# configured.
 | 
				
			||||||
 | 
					# Format: e.g. phy_hex_limit = 32
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Logging layers: rf, phy, mac, rlc, pdcp, rrc, nas, gw, usim, all
 | 
				
			||||||
 | 
					# Logging levels: debug, info, warning, error, none
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# filename: File path to use for log output. Can be set to stdout
 | 
				
			||||||
 | 
					#           to print logs to standard output
 | 
				
			||||||
 | 
					# file_max_size: Maximum file size (in kilobytes). When passed, multiple files are created.
 | 
				
			||||||
 | 
					#                If set to negative, a single log file will be created.
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					[log]
 | 
				
			||||||
 | 
					all_level = warning
 | 
				
			||||||
 | 
					phy_lib_level = none
 | 
				
			||||||
 | 
					all_hex_limit = 32
 | 
				
			||||||
 | 
					filename = /tmp/ue.log
 | 
				
			||||||
 | 
					file_max_size = -1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					# USIM configuration
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# mode:   USIM mode (soft/pcsc)
 | 
				
			||||||
 | 
					# algo:   Authentication algorithm (xor/milenage)
 | 
				
			||||||
 | 
					# op/opc: 128-bit Operator Variant Algorithm Configuration Field (hex)
 | 
				
			||||||
 | 
					#         - Specify either op or opc (only used in milenage)
 | 
				
			||||||
 | 
					# k:      128-bit subscriber key (hex)
 | 
				
			||||||
 | 
					# imsi:   15 digit International Mobile Subscriber Identity
 | 
				
			||||||
 | 
					# imei:   15 digit International Mobile Station Equipment Identity
 | 
				
			||||||
 | 
					# pin:    PIN in case real SIM card is used
 | 
				
			||||||
 | 
					# reader: Specify card reader by it's name as listed by 'pcsc_scan'. If empty, try all available readers.
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					[usim]
 | 
				
			||||||
 | 
					mode = soft
 | 
				
			||||||
 | 
					algo = xor
 | 
				
			||||||
 | 
					#opc  = 63BFA50EE6523365FF14C1F45F88737D
 | 
				
			||||||
 | 
					k    = 00112233445566778899aabbccddeeff
 | 
				
			||||||
 | 
					imsi = 001010123456789
 | 
				
			||||||
 | 
					imei = 353490069873319
 | 
				
			||||||
 | 
					#reader = 
 | 
				
			||||||
 | 
					#pin  = 1234
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					# RRC configuration
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# ue_category:       Sets UE category (range 1-5). Default: 4
 | 
				
			||||||
 | 
					# release:           UE Release (8 to 10)
 | 
				
			||||||
 | 
					# feature_group:     Hex value of the featureGroupIndicators field in the
 | 
				
			||||||
 | 
					#                    UECapabilityInformation message. Default 0xe6041000
 | 
				
			||||||
 | 
					# mbms_service_id:   MBMS service id for autostarting MBMS reception
 | 
				
			||||||
 | 
					#                    (default -1 means disabled)
 | 
				
			||||||
 | 
					# mbms_service_port: Port of the MBMS service
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					[rrc]
 | 
				
			||||||
 | 
					#ue_category       = 4
 | 
				
			||||||
 | 
					#release           = 8
 | 
				
			||||||
 | 
					#feature_group     = 0xe6041000
 | 
				
			||||||
 | 
					#mbms_service_id   = -1
 | 
				
			||||||
 | 
					#mbms_service_port = 4321
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					# NAS configuration
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# apn:               Set Access Point Name (APN)
 | 
				
			||||||
 | 
					# apn_protocol:      Set APN protocol (IPv4, IPv6 or IPv4v6.)
 | 
				
			||||||
 | 
					# user:              Username for CHAP authentication
 | 
				
			||||||
 | 
					# pass:              Password for CHAP authentication
 | 
				
			||||||
 | 
					# force_imsi_attach: Whether to always perform an IMSI attach
 | 
				
			||||||
 | 
					# eia:               List of integrity algorithms included in UE capabilities
 | 
				
			||||||
 | 
					#                      Supported: 1 - Snow3G, 2 - AES
 | 
				
			||||||
 | 
					# eea:               List of ciphering algorithms included in UE capabilities
 | 
				
			||||||
 | 
					#                      Supported: 0 - NULL, 1 - Snow3G, 2 - AES
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					[nas]
 | 
				
			||||||
 | 
					#apn = internetinternet
 | 
				
			||||||
 | 
					#apn_protocol = ipv4
 | 
				
			||||||
 | 
					#user = srsuser
 | 
				
			||||||
 | 
					#pass = srspass
 | 
				
			||||||
 | 
					#force_imsi_attach = false
 | 
				
			||||||
 | 
					#eia = 1,2
 | 
				
			||||||
 | 
					#eea = 0,1,2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					# GW configuration
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# ip_devname:           Name of the tun_srsue device. Default: tun_srsue
 | 
				
			||||||
 | 
					# ip_netmask:           Netmask of the tun_srsue device. Default: 255.255.255.0
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					[gw]
 | 
				
			||||||
 | 
					#ip_devname = tun_srsue
 | 
				
			||||||
 | 
					#ip_netmask = 255.255.255.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					# GUI configuration
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Simple GUI displaying PDSCH constellation and channel freq response.
 | 
				
			||||||
 | 
					# (Requires building with srsGUI)
 | 
				
			||||||
 | 
					# enable:               Enable the graphical interface (true/false)
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					[gui]
 | 
				
			||||||
 | 
					enable = false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					# Channel emulator options:
 | 
				
			||||||
 | 
					# enable:            Enable/Disable internal Downlink/Uplink channel emulator
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# -- Fading emulator
 | 
				
			||||||
 | 
					# fading.enable:     Enable/disable fading simulator
 | 
				
			||||||
 | 
					# fading.model:      Fading model + maximum doppler (E.g. none, epa5, eva70, etu300, etc)
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# -- Delay Emulator     delay(t) = delay_min + (delay_max - delay_min) * (1 + sin(2pi*t/period)) / 2
 | 
				
			||||||
 | 
					#                       Maximum speed [m/s]: (delay_max - delay_min) * pi * 300 / period
 | 
				
			||||||
 | 
					# delay.enable:      Enable/disable delay simulator
 | 
				
			||||||
 | 
					# delay.period_s:    Delay period in seconds.
 | 
				
			||||||
 | 
					# delay.init_time_s: Delay initial time in seconds.
 | 
				
			||||||
 | 
					# delay.maximum_us:  Maximum delay in microseconds
 | 
				
			||||||
 | 
					# delay.minumum_us:  Minimum delay in microseconds
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# -- Radio-Link Failure (RLF) Emulator
 | 
				
			||||||
 | 
					# rlf.enable:        Enable/disable RLF simulator
 | 
				
			||||||
 | 
					# rlf.t_on_ms:       Time for On state of the channel (ms)
 | 
				
			||||||
 | 
					# rlf.t_off_ms:      Time for Off state of the channel (ms)
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# -- High Speed Train Doppler model simulator
 | 
				
			||||||
 | 
					# hst.enable:        Enable/Disable HST simulator
 | 
				
			||||||
 | 
					# hst.period_s:      HST simulation period in seconds
 | 
				
			||||||
 | 
					# hst.fd_hz:         Doppler frequency in Hz
 | 
				
			||||||
 | 
					# hst.init_time_s:   Initial time in seconds
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					[channel.dl]
 | 
				
			||||||
 | 
					#enable        = false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[channel.dl.fading]
 | 
				
			||||||
 | 
					#enable        = false
 | 
				
			||||||
 | 
					#model         = none
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[channel.dl.delay]
 | 
				
			||||||
 | 
					#enable        = false
 | 
				
			||||||
 | 
					#period_s      = 3600
 | 
				
			||||||
 | 
					#init_time_s   = 0
 | 
				
			||||||
 | 
					#maximum_us    = 100
 | 
				
			||||||
 | 
					#minimum_us    = 10
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[channel.dl.rlf]
 | 
				
			||||||
 | 
					#enable        = false
 | 
				
			||||||
 | 
					#t_on_ms       = 10000
 | 
				
			||||||
 | 
					#t_off_ms      = 2000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[channel.dl.hst]
 | 
				
			||||||
 | 
					#enable        = false
 | 
				
			||||||
 | 
					#period_s      = 7.2
 | 
				
			||||||
 | 
					#fd_hz         = 750.0
 | 
				
			||||||
 | 
					#init_time_s   = 0.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[channel.ul]
 | 
				
			||||||
 | 
					#enable        = false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[channel.ul.fading]
 | 
				
			||||||
 | 
					#enable        = false
 | 
				
			||||||
 | 
					#model         = none
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[channel.ul.delay]
 | 
				
			||||||
 | 
					#enable        = false
 | 
				
			||||||
 | 
					#period_s      = 3600
 | 
				
			||||||
 | 
					#init_time_s   = 0
 | 
				
			||||||
 | 
					#maximum_us    = 100
 | 
				
			||||||
 | 
					#minimum_us    = 10
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[channel.ul.rlf]
 | 
				
			||||||
 | 
					#enable        = false
 | 
				
			||||||
 | 
					#t_on_ms       = 10000
 | 
				
			||||||
 | 
					#t_off_ms      = 2000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[channel.ul.hst]
 | 
				
			||||||
 | 
					#enable        = false
 | 
				
			||||||
 | 
					#period_s      = 7.2
 | 
				
			||||||
 | 
					#fd_hz         = -750.0
 | 
				
			||||||
 | 
					#init_time_s   = 0.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					# PHY configuration options
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# rx_gain_offset:       RX Gain offset to add to rx_gain to calibrate RSRP readings
 | 
				
			||||||
 | 
					# prach_gain:           PRACH gain (dB). If defined, forces a gain for the tranmsission of PRACH only.,
 | 
				
			||||||
 | 
					#                       Default is to use tx_gain in [rf] section. 
 | 
				
			||||||
 | 
					# cqi_max:              Upper bound on the maximum CQI to be reported. Default 15. 
 | 
				
			||||||
 | 
					# cqi_fixed:            Fixes the reported CQI to a constant value. Default disabled.
 | 
				
			||||||
 | 
					# snr_ema_coeff:        Sets the SNR exponential moving average coefficient (Default 0.1)
 | 
				
			||||||
 | 
					# snr_estim_alg:        Sets the noise estimation algorithm. (Default refs)
 | 
				
			||||||
 | 
					#                          Options: pss:   use difference between received and known pss signal, 
 | 
				
			||||||
 | 
					#                                   refs:  use difference between noise references and noiseless (after filtering)
 | 
				
			||||||
 | 
					#                                   empty: use empty subcarriers in the boarder of pss/sss signal
 | 
				
			||||||
 | 
					# pdsch_max_its:        Maximum number of turbo decoder iterations (Default 4)
 | 
				
			||||||
 | 
					# nof_phy_threads:      Selects the number of PHY threads (maximum 4, minimum 1, default 2)
 | 
				
			||||||
 | 
					# equalizer_mode:       Selects equalizer mode. Valid modes are: "mmse", "zf" or any 
 | 
				
			||||||
 | 
					#                       non-negative real number to indicate a regularized zf coefficient.
 | 
				
			||||||
 | 
					#                       Default is MMSE.
 | 
				
			||||||
 | 
					# sfo_ema:              EMA coefficient to average sample offsets used to compute SFO
 | 
				
			||||||
 | 
					# sfo_correct_period:   Period in ms to correct sample time to adjust for SFO
 | 
				
			||||||
 | 
					# sss_algorithm:        Selects the SSS estimation algorithm. Can choose between
 | 
				
			||||||
 | 
					#                       {full, partial, diff}. 
 | 
				
			||||||
 | 
					# estimator_fil_auto:   The channel estimator smooths the channel estimate with an adaptative filter.
 | 
				
			||||||
 | 
					# estimator_fil_stddev: Sets the channel estimator smooth gaussian filter standard deviation.
 | 
				
			||||||
 | 
					# estimator_fil_order:  Sets the channel estimator smooth gaussian filter order (even values perform better).
 | 
				
			||||||
 | 
					#                       The taps are [w, 1-2w, w]
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# snr_to_cqi_offset:    Sets an offset in the SNR to CQI table. This is used to adjust the reported CQI.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# pregenerate_signals:  Pregenerate uplink signals after attach. Improves CPU performance.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# interpolate_subframe_enabled: Interpolates in the time domain the channel estimates within 1 subframe. Default is to average.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# sic_pss_enabled:      Applies Successive Interference Cancellation to PSS signals when searching for neighbour cells.
 | 
				
			||||||
 | 
					#                       Must be disabled if cells have identical channel and timing, for instance if generated from
 | 
				
			||||||
 | 
					#                       the same source.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# pdsch_csi_enabled:     Stores the Channel State Information and uses it for weightening the softbits. It is only
 | 
				
			||||||
 | 
					#                        used in TM1. It is True by default.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# pdsch_8bit_decoder:    Use 8-bit for LLR representation and turbo decoder trellis computation (Experimental)
 | 
				
			||||||
 | 
					# force_ul_amplitude:    Forces the peak amplitude in the PUCCH, PUSCH and SRS (set 0.0 to 1.0, set to 0 or negative for disabling)
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					[phy]
 | 
				
			||||||
 | 
					#rx_gain_offset      = 62
 | 
				
			||||||
 | 
					#prach_gain          = 30
 | 
				
			||||||
 | 
					#cqi_max             = 15
 | 
				
			||||||
 | 
					#cqi_fixed           = 10
 | 
				
			||||||
 | 
					#snr_ema_coeff       = 0.1
 | 
				
			||||||
 | 
					#snr_estim_alg       = refs
 | 
				
			||||||
 | 
					#pdsch_max_its       = 8    # These are half iterations
 | 
				
			||||||
 | 
					#nof_phy_threads     = 3
 | 
				
			||||||
 | 
					#equalizer_mode      = mmse
 | 
				
			||||||
 | 
					#sfo_ema             = 0.1
 | 
				
			||||||
 | 
					#sfo_correct_period  = 10
 | 
				
			||||||
 | 
					#sss_algorithm       = full
 | 
				
			||||||
 | 
					#estimator_fil_auto  = false
 | 
				
			||||||
 | 
					#estimator_fil_stddev  = 1.0
 | 
				
			||||||
 | 
					#estimator_fil_order  = 4
 | 
				
			||||||
 | 
					#snr_to_cqi_offset   = 0.0
 | 
				
			||||||
 | 
					#interpolate_subframe_enabled = false
 | 
				
			||||||
 | 
					#sic_pss_enabled     = true
 | 
				
			||||||
 | 
					#pregenerate_signals = false
 | 
				
			||||||
 | 
					#pdsch_csi_enabled  = true
 | 
				
			||||||
 | 
					#pdsch_8bit_decoder = false
 | 
				
			||||||
 | 
					#force_ul_amplitude = 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					# General configuration options
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# metrics_csv_enable:   Write UE metrics to CSV file.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# metrics_period_secs:  Sets the period at which metrics are requested from the UE.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# metrics_csv_filename: File path to use for CSV metrics.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					#####################################################################
 | 
				
			||||||
 | 
					[general]
 | 
				
			||||||
 | 
					#metrics_csv_enable  = false
 | 
				
			||||||
 | 
					#metrics_period_secs = 1
 | 
				
			||||||
 | 
					#metrics_csv_filename = /tmp/ue_metrics.csv
 | 
				
			||||||
							
								
								
									
										21
									
								
								srslte/user_db.csv
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								srslte/user_db.csv
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,21 @@
 | 
				
			|||||||
 | 
					#
 | 
				
			||||||
 | 
					# .csv to store UE's information in HSS
 | 
				
			||||||
 | 
					# Kept in the following format: "Name,Auth,IMSI,Key,OP_Type,OP,AMF,SQN,QCI,IP_alloc"
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Name:     Human readable name to help distinguish UE's. Ignored by the HSS
 | 
				
			||||||
 | 
					# IMSI:     UE's IMSI value
 | 
				
			||||||
 | 
					# Auth:     Authentication algorithm used by the UE. Valid algorithms are XOR
 | 
				
			||||||
 | 
					#           (xor) and MILENAGE (mil)
 | 
				
			||||||
 | 
					# Key:      UE's key, where other keys are derived from. Stored in hexadecimal
 | 
				
			||||||
 | 
					# OP_Type:  Operator's code type, either OP or OPc
 | 
				
			||||||
 | 
					# OP/OPc:   Operator Code/Cyphered Operator Code, stored in hexadecimal
 | 
				
			||||||
 | 
					# AMF:      Authentication management field, stored in hexadecimal
 | 
				
			||||||
 | 
					# SQN:      UE's Sequence number for freshness of the authentication
 | 
				
			||||||
 | 
					# QCI:      QoS Class Identifier for the UE's default bearer.
 | 
				
			||||||
 | 
					# IP_alloc: IP allocation stratagy for the SPGW.
 | 
				
			||||||
 | 
					#           With 'dynamic' the SPGW will automatically allocate IPs
 | 
				
			||||||
 | 
					#           With a valid IPv4 (e.g. '172.16.0.2') the UE will have a statically assigned IP.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Note: Lines starting by '#' are ignored and will be overwritten
 | 
				
			||||||
 | 
					ue1,xor,001010123456789,00112233445566778899aabbccddeeff,opc,63bfa50ee6523365ff14c1f45f88737d,9001,000000001234,7,dynamic
 | 
				
			||||||
 | 
					ue2,mil,001010123456780,00112233445566778899aabbccddeeff,opc,63bfa50ee6523365ff14c1f45f88737d,8000,000000001234,7,dynamic
 | 
				
			||||||
| 
		
		
			 Can't render this file because it contains an unexpected character in line 3 and column 33. 
		
	 | 
		Reference in New Issue
	
	Block a user