Changes as per release 22.04 of srsRAN
This commit is contained in:
		@@ -17,6 +17,8 @@ services:
 | 
			
		||||
      - /etc/localtime:/etc/localtime:ro
 | 
			
		||||
    env_file:
 | 
			
		||||
      - .env
 | 
			
		||||
    environment:
 | 
			
		||||
      - COMPONENT_NAME=enb
 | 
			
		||||
    expose:
 | 
			
		||||
      - "36412/sctp"
 | 
			
		||||
      - "2152/udp"
 | 
			
		||||
 
 | 
			
		||||
@@ -35,30 +35,16 @@ RUN apt-get update && \
 | 
			
		||||
    software-properties-common g++ make pkg-config libpython2-dev python-numpy swig libi2c-dev \
 | 
			
		||||
    libboost-program-options-dev libconfig++-dev
 | 
			
		||||
 | 
			
		||||
# Install dependencies to build SoapySDR and Lime Suite
 | 
			
		||||
# Install SoapySDR and Lime Suite
 | 
			
		||||
RUN add-apt-repository -y ppa:myriadrf/drivers && \
 | 
			
		||||
    add-apt-repository -y ppa:pothosware/framework && \
 | 
			
		||||
    add-apt-repository -y ppa:pothosware/support && \
 | 
			
		||||
    apt update && \
 | 
			
		||||
    apt -y install libi2c-dev libusb-1.0-0-dev git g++ cmake libsqlite3-dev libwxgtk3.0-gtk3-dev freeglut3-dev \
 | 
			
		||||
    python3-distutils gnuplot libfltk1.3-dev liboctave-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 -j`nproc` && make install && ldconfig
 | 
			
		||||
 | 
			
		||||
# Install LimeSuite
 | 
			
		||||
RUN git clone https://github.com/myriadrf/LimeSuite.git && \
 | 
			
		||||
    cd LimeSuite && \
 | 
			
		||||
    git checkout tags/v20.10.0 -b v20.10.0 && \
 | 
			
		||||
    mkdir builddir && cd builddir && cmake .. && \
 | 
			
		||||
    make -j`nproc` && make install && ldconfig && \
 | 
			
		||||
    cd ../udev-rules && sh ./install.sh
 | 
			
		||||
    apt -y install limesuite liblimesuite-dev limesuite-udev limesuite-images soapysdr-tools soapysdr-module-lms7
 | 
			
		||||
 | 
			
		||||
# UHD drivers for USRP
 | 
			
		||||
RUN add-apt-repository ppa:ettusresearch/uhd && \
 | 
			
		||||
    apt update && apt -y install libuhd-dev libuhd3.15.0 uhd-host && \
 | 
			
		||||
    apt update && apt -y install libuhd-dev libuhd4.2.0 uhd-host && \
 | 
			
		||||
    uhd_images_downloader
 | 
			
		||||
 | 
			
		||||
# Get srsGUI, compile and install
 | 
			
		||||
@@ -72,7 +58,7 @@ RUN git clone https://github.com/srsran/srsGUI && \
 | 
			
		||||
# Get srsLTE, compile and install
 | 
			
		||||
RUN git clone https://github.com/srsran/srsRAN.git && \
 | 
			
		||||
    cd srsRAN && \
 | 
			
		||||
    git checkout tags/release_21_04 && \
 | 
			
		||||
    git checkout tags/release_22_04 && \
 | 
			
		||||
    mkdir build && cd build && \
 | 
			
		||||
    cmake ../ && make -j`nproc` && make install && \
 | 
			
		||||
    ldconfig
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										194
									
								
								srslte/enb.conf
									
									
									
									
									
								
							
							
						
						
									
										194
									
								
								srslte/enb.conf
									
									
									
									
									
								
							@@ -12,6 +12,7 @@
 | 
			
		||||
# gtp_bind_addr:        Local IP address to bind for GTP connection
 | 
			
		||||
# gtp_advertise_addr:   IP address of eNB to advertise for DL GTP-U Traffic
 | 
			
		||||
# s1c_bind_addr:        Local IP address to bind for S1AP connection
 | 
			
		||||
# s1c_bind_port:        Source port for S1AP connection (0 means any)
 | 
			
		||||
# 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)
 | 
			
		||||
@@ -24,7 +25,8 @@ mnc = MNC
 | 
			
		||||
mme_addr = MME_IP
 | 
			
		||||
gtp_bind_addr = SRS_ENB_IP
 | 
			
		||||
s1c_bind_addr = SRS_ENB_IP
 | 
			
		||||
n_prb = 25
 | 
			
		||||
s1c_bind_port = 0
 | 
			
		||||
n_prb = 50
 | 
			
		||||
#tm = 4
 | 
			
		||||
#nof_ports = 2
 | 
			
		||||
 | 
			
		||||
@@ -32,14 +34,14 @@ n_prb = 25
 | 
			
		||||
# 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
 | 
			
		||||
# 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 
 | 
			
		||||
# rb_config:   SRB/DRB configuration file 
 | 
			
		||||
#####################################################################
 | 
			
		||||
[enb_files]
 | 
			
		||||
sib_config = sib.conf
 | 
			
		||||
rr_config  = rr.conf
 | 
			
		||||
drb_config = drb.conf
 | 
			
		||||
sib_config = /etc/srsran/sib.conf
 | 
			
		||||
rr_config  = /etc/srsran/rr.conf
 | 
			
		||||
rb_config = /etc/srsran/rb.conf
 | 
			
		||||
 | 
			
		||||
#####################################################################
 | 
			
		||||
# RF configuration
 | 
			
		||||
@@ -51,20 +53,19 @@ drb_config = drb.conf
 | 
			
		||||
# 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", "bladeRF", "soapy" or "zmq".
 | 
			
		||||
# device_name:        Device driver family
 | 
			
		||||
#                     Supported options: "auto" (uses first driver found), "UHD", "bladeRF", "soapy", "zmq" or "Sidekiq"
 | 
			
		||||
# 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.
 | 
			
		||||
#                     Default "auto". B210 USRP: 100 samples, bladeRF: 27
 | 
			
		||||
#####################################################################
 | 
			
		||||
[rf]
 | 
			
		||||
# dl_earfcn = 3150
 | 
			
		||||
#dl_earfcn = 3150
 | 
			
		||||
tx_gain = 80
 | 
			
		||||
rx_gain = 40
 | 
			
		||||
#dl_earfcn = 6300
 | 
			
		||||
#tx_gain = 56
 | 
			
		||||
#rx_gain = 38
 | 
			
		||||
#device_name = soapy
 | 
			
		||||
@@ -90,8 +91,8 @@ rx_gain = 40
 | 
			
		||||
#####################################################################
 | 
			
		||||
# Packet capture configuration
 | 
			
		||||
#
 | 
			
		||||
# MAC-layer packets are captured to file a the compact format decoded 
 | 
			
		||||
# by the Wireshark. For decoding, use the UDP dissector and the UDP 
 | 
			
		||||
# MAC-layer packets are captured to a file in the compact format which can
 | 
			
		||||
# be decoded by Wireshark. For decoding, use the UDP dissector and the UDP 
 | 
			
		||||
# heuristic dissection. Edit the preferences (Edit > Preferences > 
 | 
			
		||||
# Protocols > DLT_USER) for DLT_USER to add an entry for DLT=149 with 
 | 
			
		||||
# Protocol=udp. Further, enable the heuristic dissection in UDP under:
 | 
			
		||||
@@ -105,33 +106,35 @@ rx_gain = 40
 | 
			
		||||
# WRITE_SIB_PCAP enabled in srsenb/src/stack/mac/mac.cc if you want
 | 
			
		||||
# SIB to be part of the MAC pcap file.
 | 
			
		||||
#
 | 
			
		||||
# S1AP Packets are captured to file in the compact format decoded by 
 | 
			
		||||
# the Wireshark s1ap dissector and with DLT 150. 
 | 
			
		||||
# S1AP Packets are captured to a file in the compact format which can
 | 
			
		||||
# be decoded by the Wireshark s1ap dissector with DLT 150. 
 | 
			
		||||
# To use the dissector, edit the preferences for DLT_USER to 
 | 
			
		||||
# add an entry with DLT=150, Payload Protocol=s1ap.
 | 
			
		||||
#
 | 
			
		||||
# mac_enable:   Enable MAC layer packet captures (true/false)
 | 
			
		||||
# mac_filename: File path to use for packet captures
 | 
			
		||||
# mac_enable:    Enable MAC layer packet captures (true/false)
 | 
			
		||||
# filename:      File path to use for LTE MAC packet captures
 | 
			
		||||
# nr_filename:   File path to use for NR MAC packet captures
 | 
			
		||||
# s1ap_enable:   Enable or disable the PCAP.
 | 
			
		||||
# s1ap_filename: File name where to save the PCAP.
 | 
			
		||||
#
 | 
			
		||||
# mac_net_enable: Enable MAC layer packet captures sent over the network (true/false default: false)
 | 
			
		||||
# bind_ip: Bind IP address for MAC network trace (default: "0.0.0.0")
 | 
			
		||||
# bind_port: Bind port for MAC network trace (default: 5687)
 | 
			
		||||
# client_ip: Client IP address for MAC network trace (default "127.0.0.1")
 | 
			
		||||
# client_ip: Client IP address for MAC network trace (default: "127.0.0.1")
 | 
			
		||||
# client_port Client IP address for MAC network trace (default: 5847)
 | 
			
		||||
#####################################################################
 | 
			
		||||
[pcap]
 | 
			
		||||
enable = false
 | 
			
		||||
filename = /mnt/srslte/enb.pcap
 | 
			
		||||
s1ap_enable = false
 | 
			
		||||
s1ap_filename = /mnt/srslte/enb_s1ap.pcap
 | 
			
		||||
#enable = false
 | 
			
		||||
#filename = /mnt/srslte/enb_mac.pcap
 | 
			
		||||
#nr_filename = /mnt/srslte/enb_mac_nr.pcap
 | 
			
		||||
#s1ap_enable = false
 | 
			
		||||
#s1ap_filename = /mnt/srslte/enb_s1ap.pcap
 | 
			
		||||
 | 
			
		||||
mac_net_enable = false
 | 
			
		||||
bind_ip = 0.0.0.0
 | 
			
		||||
bind_port = 5687
 | 
			
		||||
client_ip = 127.0.0.1
 | 
			
		||||
client_port = 5847
 | 
			
		||||
#mac_net_enable = false
 | 
			
		||||
#bind_ip = 0.0.0.0
 | 
			
		||||
#bind_port = 5687
 | 
			
		||||
#client_ip = 127.0.0.1
 | 
			
		||||
#client_port = 5847
 | 
			
		||||
 | 
			
		||||
#####################################################################
 | 
			
		||||
# Log configuration
 | 
			
		||||
@@ -166,19 +169,40 @@ enable = false
 | 
			
		||||
# Scheduler configuration options
 | 
			
		||||
#
 | 
			
		||||
# sched_policy:      User MAC scheduling policy (E.g. time_rr, time_pf)
 | 
			
		||||
# min_aggr_level:    Optional minimum aggregation level index (l=log2(L) can be 0, 1, 2 or 3)
 | 
			
		||||
# max_aggr_level:    Optional maximum aggregation level index (l=log2(L) can be 0, 1, 2 or 3)
 | 
			
		||||
# adaptive_aggr_level: Boolean flag to enable/disable adaptive aggregation level based on target BLER
 | 
			
		||||
# 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
 | 
			
		||||
# min_nof_ctrl_symbols: Minimum number of control symbols
 | 
			
		||||
# max_nof_ctrl_symbols: Maximum number of control symbols
 | 
			
		||||
# pucch_multiplex_enable: Allow PUCCH HARQ to collide with PUSCH and other PUCCH
 | 
			
		||||
# pucch_harq_max_rb: Maximum number of RB to be used for PUCCH on the edges of the grid.
 | 
			
		||||
#                    If defined and greater than 0, the scheduler will avoid DL PDCCH allocations if
 | 
			
		||||
#                    PUCCH HARQ falls outside this region
 | 
			
		||||
# target_bler:       Target BLER (in decimal) to achieve via adaptive link
 | 
			
		||||
# max_delta_dl_cqi:  Maximum shift in CQI for adaptive DL link
 | 
			
		||||
# max_delta_ul_snr:  Maximum shift in UL SNR for adaptive UL link
 | 
			
		||||
# adaptive_dl_mcs_step_size: Step size or learning rate used in adaptive DL MCS link
 | 
			
		||||
# adaptive_ul_mcs_step_size: Step size or learning rate used in adaptive UL MCS link
 | 
			
		||||
# min_tpc_tti_interval: Minimum TTI interval between TPCs different than 1
 | 
			
		||||
# ul_snr_avg_alpha:  Exponential Average alpha coefficient used in estimation of UL SNR
 | 
			
		||||
# init_ul_snr_value: Initial UL SNR value used for computing MCS in the first UL grant
 | 
			
		||||
# init_dl_cqi:       DL CQI value used before any CQI report is available to the eNB
 | 
			
		||||
# max_sib_coderate:  Upper bound on SIB and RAR grants coderate
 | 
			
		||||
# pdcch_cqi_offset:  CQI offset in derivation of PDCCH aggregation level
 | 
			
		||||
# nr_pdsch_mcs:      Optional fixed NR PDSCH MCS (ignores reported CQIs if specified)
 | 
			
		||||
# nr_pusch_mcs:      Optional fixed NR PUSCH MCS (ignores reported CQIs if specified)
 | 
			
		||||
#
 | 
			
		||||
#####################################################################
 | 
			
		||||
[scheduler]
 | 
			
		||||
#policy     = time_pf
 | 
			
		||||
#policy_args = 2
 | 
			
		||||
#max_aggr_level   = -1
 | 
			
		||||
#min_aggr_level   = 0
 | 
			
		||||
#max_aggr_level   = 3
 | 
			
		||||
#adaptive_aggr_level = false
 | 
			
		||||
#pdsch_mcs        = -1
 | 
			
		||||
#pdsch_max_mcs    = -1
 | 
			
		||||
#pusch_mcs        = -1
 | 
			
		||||
@@ -186,14 +210,28 @@ enable = false
 | 
			
		||||
#min_nof_ctrl_symbols = 1
 | 
			
		||||
#max_nof_ctrl_symbols = 3
 | 
			
		||||
#pucch_multiplex_enable = false
 | 
			
		||||
#pucch_harq_max_rb = 0
 | 
			
		||||
#target_bler = 0.05
 | 
			
		||||
#max_delta_dl_cqi = 5
 | 
			
		||||
#max_delta_ul_snr = 5
 | 
			
		||||
#adaptive_dl_mcs_step_size = 0.001
 | 
			
		||||
#adaptive_ul_mcs_step_size = 0.001
 | 
			
		||||
#min_tpc_tti_interval = 1
 | 
			
		||||
#ul_snr_avg_alpha=0.05
 | 
			
		||||
#init_ul_snr_value=5
 | 
			
		||||
#init_dl_cqi=5
 | 
			
		||||
#max_sib_coderate=0.3
 | 
			
		||||
#pdcch_cqi_offset=0
 | 
			
		||||
nr_pdsch_mcs=28
 | 
			
		||||
#nr_pusch_mcs=28
 | 
			
		||||
 | 
			
		||||
#####################################################################
 | 
			
		||||
# 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.
 | 
			
		||||
# mcs:                  Modulation and Coding scheme for MBMS traffic.
 | 
			
		||||
# m1u_multiaddr:        Multicast address the M1-U socket will register to
 | 
			
		||||
# m1u_if_addr:          Address of the interface the M1-U interface will listen to for multicast packets
 | 
			
		||||
# mcs:                  Modulation and Coding scheme for MBMS traffic
 | 
			
		||||
#
 | 
			
		||||
#####################################################################
 | 
			
		||||
[embms]
 | 
			
		||||
@@ -206,7 +244,7 @@ enable = false
 | 
			
		||||
 | 
			
		||||
#####################################################################
 | 
			
		||||
# Channel emulator options:
 | 
			
		||||
# enable:            Enable/Disable internal Downlink/Uplink channel emulator
 | 
			
		||||
# enable:            Enable/disable internal Downlink/Uplink channel emulator
 | 
			
		||||
#
 | 
			
		||||
# -- AWGN Generator
 | 
			
		||||
# awgn.enable:       Enable/disable AWGN generator
 | 
			
		||||
@@ -219,8 +257,8 @@ enable = false
 | 
			
		||||
# -- 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.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
 | 
			
		||||
#
 | 
			
		||||
@@ -230,7 +268,7 @@ enable = false
 | 
			
		||||
# 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.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
 | 
			
		||||
@@ -293,29 +331,72 @@ enable = false
 | 
			
		||||
#fd_hz         = -750.0
 | 
			
		||||
#init_time_s   = 0.0
 | 
			
		||||
 | 
			
		||||
#####################################################################
 | 
			
		||||
# CFR configuration options
 | 
			
		||||
#
 | 
			
		||||
# The CFR module provides crest factor reduction for the transmitted signal.
 | 
			
		||||
#
 | 
			
		||||
# enable:           Enable or disable the CFR. Default: disabled
 | 
			
		||||
#
 | 
			
		||||
# mode:             manual:   CFR threshold is set by cfr_manual_thres (default).
 | 
			
		||||
#                   auto_ema: CFR threshold is adaptive based on the signal PAPR. Power avg. with Exponential Moving Average.
 | 
			
		||||
#                             The time constant of the averaging can be tweaked with the ema_alpha parameter.
 | 
			
		||||
#                   auto_cma: CFR threshold is adaptive based on the signal PAPR. Power avg. with Cumulative Moving Average.
 | 
			
		||||
#                             Use with care, as CMA's increasingly slow response may be unsuitable for most use cases.
 | 
			
		||||
#
 | 
			
		||||
# strength:         Ratio between amplitude-limited vs unprocessed signal (0 to 1). Default: 1
 | 
			
		||||
# manual_thres:     Fixed manual clipping threshold for CFR manual mode. Default: 0.5
 | 
			
		||||
# auto_target_papr: Signal PAPR target (in dB) in CFR auto modes. output PAPR can be higher due to peak smoothing. Default: 8
 | 
			
		||||
# ema_alpha:        Alpha coefficient for the power average in auto_ema mode. Default: 1/7
 | 
			
		||||
#
 | 
			
		||||
#####################################################################
 | 
			
		||||
[cfr]
 | 
			
		||||
#enable           = false
 | 
			
		||||
#mode             = manual
 | 
			
		||||
#manual_thres     = 0.5
 | 
			
		||||
#strength         = 1
 | 
			
		||||
#auto_target_papr = 8
 | 
			
		||||
#ema_alpha        = 0.0143
 | 
			
		||||
 | 
			
		||||
#####################################################################
 | 
			
		||||
# 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 3)
 | 
			
		||||
# metrics_period_secs:  Sets the period at which metrics are requested from the eNB. 
 | 
			
		||||
# pusch_max_its:        Maximum number of turbo decoder iterations (default: 4)
 | 
			
		||||
# nr_pusch_max_its:     Maximum number of LDPC iterations for NR (Default 10)
 | 
			
		||||
# 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: 3)
 | 
			
		||||
# 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.
 | 
			
		||||
# tracing_enable:       Write source code tracing information to a file.
 | 
			
		||||
# tracing_filename:     File path to use for tracing information.
 | 
			
		||||
# tracing_buffcapacity: Maximum capacity in bytes the tracing framework can store.
 | 
			
		||||
# pregenerate_signals:  Pregenerate uplink signals after attach. Improves CPU performance.
 | 
			
		||||
# metrics_csv_filename: File path to use for CSV metrics
 | 
			
		||||
# report_json_enable:   Write eNB report to JSON file (default: disabled)
 | 
			
		||||
# report_json_filename: Report JSON filename (default: /mnt/srslte/enb_report.json)
 | 
			
		||||
# report_json_asn1_oct: Prints ASN1 messages encoded as an octet string instead of plain text in the JSON report file
 | 
			
		||||
# alarms_log_enable:    Enable Alarms logging (default: disabled)
 | 
			
		||||
# alarms_filename:      Alarms logging filename (default: /mnt/srslte/alarms.log)
 | 
			
		||||
# tracing_enable:       Write source code tracing information to a file
 | 
			
		||||
# tracing_filename:     File path to use for tracing information
 | 
			
		||||
# tracing_buffcapacity: Maximum capacity in bytes the tracing framework can store
 | 
			
		||||
# stdout_ts_enable:     Prints once per second the timestamp into stdout
 | 
			
		||||
# tx_amplitude:         Transmit amplitude factor (set 0-1 to reduce PAPR)
 | 
			
		||||
# rrc_inactivity_timer  Inactivity timeout used to remove UE context from RRC (in milliseconds).
 | 
			
		||||
# rrc_inactivity_timer  Inactivity timeout used to remove UE context from RRC (in milliseconds)
 | 
			
		||||
# max_mac_dl_kos:       Maximum number of consecutive KOs in DL before triggering the UE's release (default: 100)
 | 
			
		||||
# max_mac_ul_kos:       Maximum number of consecutive KOs in UL before triggering the UE's release (default: 100)
 | 
			
		||||
# 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).
 | 
			
		||||
#
 | 
			
		||||
# nof_prealloc_ues:     Number of UE memory resources to preallocate during eNB initialization for faster UE creation (default: 8)
 | 
			
		||||
# rlf_release_timer_ms: Time taken by eNB to release UE context after it detects an RLF
 | 
			
		||||
# 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)
 | 
			
		||||
# gtpu_tunnel_timeout:  Time that GTPU takes to release indirect forwarding tunnel since the last received GTPU PDU (0 for no timer)
 | 
			
		||||
# ts1_reloc_prep_timeout: S1AP TS 36.413 TS1RelocPrep Expiry Timeout value in milliseconds
 | 
			
		||||
# ts1_reloc_overall_timeout: S1AP TS 36.413 TS1RelocOverall Expiry Timeout value in milliseconds
 | 
			
		||||
# rlf_release_timer_ms: Time taken by eNB to release UE context after it detects a RLF
 | 
			
		||||
# rlf_min_ul_snr_estim: SNR threshold in dB below which the enb is notified with RLF ko
 | 
			
		||||
# s1_setup_max_retries: Maximum amount of retries to setup the S1AP connection. If this value is exceeded, an alarm is written to the log. -1 means infinity.
 | 
			
		||||
# rx_gain_offset:       RX Gain offset to add to rx_gain to calibrate RSRP readings
 | 
			
		||||
#####################################################################
 | 
			
		||||
[expert]
 | 
			
		||||
#pusch_max_its        = 8 # These are half iterations
 | 
			
		||||
#nr_pusch_max_its     = 10
 | 
			
		||||
#pusch_8bit_decoder   = false
 | 
			
		||||
#nof_phy_threads      = 3
 | 
			
		||||
#metrics_period_secs  = 1
 | 
			
		||||
@@ -323,15 +404,28 @@ enable = false
 | 
			
		||||
#metrics_csv_filename = /mnt/srslte/enb_metrics.csv
 | 
			
		||||
#report_json_enable   = true
 | 
			
		||||
#report_json_filename = /mnt/srslte/enb_report.json
 | 
			
		||||
#report_json_asn1_oct = false
 | 
			
		||||
#alarms_log_enable    = true
 | 
			
		||||
#alarms_filename      = /mnt/srslte/enb_alarms.log
 | 
			
		||||
#tracing_enable       = true
 | 
			
		||||
#tracing_filename     = /mnt/srslte/enb_tracing.log
 | 
			
		||||
#tracing_buffcapacity = 1000000
 | 
			
		||||
#pregenerate_signals  = false
 | 
			
		||||
#stdout_ts_enable     = false
 | 
			
		||||
#tx_amplitude         = 0.6
 | 
			
		||||
#rrc_inactivity_timer = 30000
 | 
			
		||||
#max_nof_kos          = 100
 | 
			
		||||
#max_mac_dl_kos       = 100
 | 
			
		||||
#max_mac_ul_kos       = 100
 | 
			
		||||
#max_prach_offset_us  = 30
 | 
			
		||||
#nof_prealloc_ues     = 8
 | 
			
		||||
#rlf_release_timer_ms = 4000
 | 
			
		||||
#lcid_padding         = 3
 | 
			
		||||
#eea_pref_list = EEA0, EEA2, EEA1
 | 
			
		||||
#eia_pref_list = EIA2, EIA1, EIA0
 | 
			
		||||
#gtpu_tunnel_timeout = 0
 | 
			
		||||
#extended_cp         = false
 | 
			
		||||
#ts1_reloc_prep_timeout = 10000
 | 
			
		||||
#ts1_reloc_overall_timeout = 10000
 | 
			
		||||
#rlf_release_timer_ms = 4000
 | 
			
		||||
#rlf_min_ul_snr_estim = -2
 | 
			
		||||
#s1_setup_max_retries = -1
 | 
			
		||||
#rx_gain_offset = 62
 | 
			
		||||
 
 | 
			
		||||
@@ -31,16 +31,25 @@ export IP_ADDR=$(awk 'END{print $1}' /etc/hosts)
 | 
			
		||||
mkdir -p /etc/srsran
 | 
			
		||||
 | 
			
		||||
cp /mnt/srslte/enb.conf /etc/srsran
 | 
			
		||||
cp /mnt/srslte/drb.conf /etc/srsran
 | 
			
		||||
cp /mnt/srslte/epc.conf /etc/srsran
 | 
			
		||||
cp /mnt/srslte/mbms.conf /etc/srsran
 | 
			
		||||
cp /mnt/srslte/rr.conf /etc/srsran
 | 
			
		||||
cp /mnt/srslte/rb.conf /etc/srsran
 | 
			
		||||
cp /mnt/srslte/sib.conf /etc/srsran
 | 
			
		||||
cp /mnt/srslte/ue.conf /etc/srsran
 | 
			
		||||
cp /mnt/srslte/user_db.csv /etc/srsran
 | 
			
		||||
 | 
			
		||||
if [[ -z "$COMPONENT_NAME" ]]; then
 | 
			
		||||
	echo "Error: COMPONENT_NAME environment variable not set"; exit 1;
 | 
			
		||||
elif [[ "$COMPONENT_NAME" =~ ^(gnb$) ]]; then
 | 
			
		||||
	echo "Deploying component: '$COMPONENT_NAME'"
 | 
			
		||||
	cp /mnt/srslte/rr_gnb.conf /etc/srsran/rr.conf
 | 
			
		||||
	sed -i 's|MME_IP|'$AMF_IP'|g' /etc/srsran/enb.conf
 | 
			
		||||
elif [[ "$COMPONENT_NAME" =~ ^(enb$) ]]; then
 | 
			
		||||
	echo "Deploying component: '$COMPONENT_NAME'"
 | 
			
		||||
	cp /mnt/srslte/rr.conf /etc/srsran
 | 
			
		||||
	sed -i 's|MME_IP|'$MME_IP'|g' /etc/srsran/enb.conf
 | 
			
		||||
else
 | 
			
		||||
	echo "Error: Invalid component name: '$COMPONENT_NAME'"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
sed -i 's|MNC|'$MNC'|g' /etc/srsran/enb.conf
 | 
			
		||||
sed -i 's|MCC|'$MCC'|g' /etc/srsran/enb.conf
 | 
			
		||||
sed -i 's|MME_IP|'$MME_IP'|g' /etc/srsran/enb.conf
 | 
			
		||||
sed -i 's|SRS_ENB_IP|'$SRS_ENB_IP'|g' /etc/srsran/enb.conf
 | 
			
		||||
 | 
			
		||||
# Sync docker time
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										106
									
								
								srslte/epc.conf
									
									
									
									
									
								
							
							
						
						
									
										106
									
								
								srslte/epc.conf
									
									
									
									
									
								
							@@ -1,106 +0,0 @@
 | 
			
		||||
#####################################################################
 | 
			
		||||
#                   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 
 | 
			
		||||
#                   (supported: EEA0 (default), EEA1, EEA2, EEA3)
 | 
			
		||||
# integrity_algo:   Preferred integrity protection algorithm for NAS 
 | 
			
		||||
#                   (supported: EIA0 (rejected by most UEs), EIA1 (default), EIA2, EIA3
 | 
			
		||||
# 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
 | 
			
		||||
@@ -1,47 +0,0 @@
 | 
			
		||||
#####################################################################
 | 
			
		||||
#                   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
 | 
			
		||||
@@ -1,8 +1,44 @@
 | 
			
		||||
 | 
			
		||||
// All times are in ms. Use -1 for infinity, where available
 | 
			
		||||
 | 
			
		||||
qci_config = (
 | 
			
		||||
// 4G Section
 | 
			
		||||
 | 
			
		||||
// srb1_config = {
 | 
			
		||||
//   rlc_config = {
 | 
			
		||||
//     ul_am = {
 | 
			
		||||
//       t_poll_retx = 45;
 | 
			
		||||
//       poll_pdu = -1;
 | 
			
		||||
//       poll_byte = -1;
 | 
			
		||||
//       max_retx_thresh = 4;
 | 
			
		||||
//     };
 | 
			
		||||
//     dl_am = {
 | 
			
		||||
//       t_reordering = 35;
 | 
			
		||||
//       t_status_prohibit = 0;
 | 
			
		||||
//     };
 | 
			
		||||
//     enb_specific = {
 | 
			
		||||
//      dl_max_retx_thresh = 32;
 | 
			
		||||
//     };
 | 
			
		||||
//   };
 | 
			
		||||
// }
 | 
			
		||||
 | 
			
		||||
// srb2_config = {
 | 
			
		||||
//   rlc_config = {
 | 
			
		||||
//     ul_am = {
 | 
			
		||||
//       t_poll_retx = 45;
 | 
			
		||||
//       poll_pdu = -1;
 | 
			
		||||
//       poll_byte = -1;
 | 
			
		||||
//       max_retx_thresh = 4;
 | 
			
		||||
//     };
 | 
			
		||||
//     dl_am = {
 | 
			
		||||
//       t_reordering = 35;
 | 
			
		||||
//       t_status_prohibit = 0;
 | 
			
		||||
//     };
 | 
			
		||||
//     enb_specific = {
 | 
			
		||||
//      dl_max_retx_thresh = 32;
 | 
			
		||||
//     };
 | 
			
		||||
//   };
 | 
			
		||||
// }
 | 
			
		||||
 | 
			
		||||
qci_config = (
 | 
			
		||||
{
 | 
			
		||||
  qci=1;
 | 
			
		||||
  pdcp_config = {
 | 
			
		||||
@@ -24,6 +60,9 @@ qci_config = (
 | 
			
		||||
    bucket_size_duration  = 100; 
 | 
			
		||||
    log_chan_group = 1; 
 | 
			
		||||
  };
 | 
			
		||||
  enb_specific = {
 | 
			
		||||
    dl_max_retx_thresh = 32;
 | 
			
		||||
  };
 | 
			
		||||
},
 | 
			
		||||
{
 | 
			
		||||
  qci=2;
 | 
			
		||||
@@ -46,6 +85,9 @@ qci_config = (
 | 
			
		||||
    bucket_size_duration  = 100; 
 | 
			
		||||
    log_chan_group = 1; 
 | 
			
		||||
  };
 | 
			
		||||
  enb_specific = {
 | 
			
		||||
    dl_max_retx_thresh = 32;
 | 
			
		||||
  };
 | 
			
		||||
},
 | 
			
		||||
{
 | 
			
		||||
  qci=5;
 | 
			
		||||
@@ -71,9 +113,12 @@ qci_config = (
 | 
			
		||||
    bucket_size_duration  = 100; 
 | 
			
		||||
    log_chan_group = 2; 
 | 
			
		||||
  };
 | 
			
		||||
  enb_specific = {
 | 
			
		||||
    dl_max_retx_thresh = 32;
 | 
			
		||||
  };
 | 
			
		||||
},
 | 
			
		||||
{
 | 
			
		||||
  qci=7;
 | 
			
		||||
  qci = 7;
 | 
			
		||||
  pdcp_config = {
 | 
			
		||||
    discard_timer = -1;                
 | 
			
		||||
    pdcp_sn_size = 12;                  
 | 
			
		||||
@@ -93,9 +138,12 @@ qci_config = (
 | 
			
		||||
    bucket_size_duration  = 100; 
 | 
			
		||||
    log_chan_group = 2; 
 | 
			
		||||
  };
 | 
			
		||||
  enb_specific = {
 | 
			
		||||
    dl_max_retx_thresh = 32;
 | 
			
		||||
  };
 | 
			
		||||
},
 | 
			
		||||
{
 | 
			
		||||
  qci=9;
 | 
			
		||||
  qci = 9;
 | 
			
		||||
  pdcp_config = {
 | 
			
		||||
    discard_timer = 150;
 | 
			
		||||
    status_report_required = true;
 | 
			
		||||
@@ -118,6 +166,62 @@ qci_config = (
 | 
			
		||||
    bucket_size_duration  = 100; 
 | 
			
		||||
    log_chan_group = 3; 
 | 
			
		||||
  };
 | 
			
		||||
  enb_specific = {
 | 
			
		||||
    dl_max_retx_thresh = 32;
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
// 5G Section
 | 
			
		||||
five_qi_config = (
 | 
			
		||||
{
 | 
			
		||||
  five_qi = 7;
 | 
			
		||||
  pdcp_nr_config = {
 | 
			
		||||
    drb = {
 | 
			
		||||
      discard_timer = 50;
 | 
			
		||||
      pdcp_sn_size_ul = 18;
 | 
			
		||||
      pdcp_sn_size_dl = 18;
 | 
			
		||||
    };
 | 
			
		||||
    t_reordering = 50;
 | 
			
		||||
  };
 | 
			
		||||
  rlc_config = {
 | 
			
		||||
    um_bi_dir = {
 | 
			
		||||
      ul_um = {
 | 
			
		||||
        sn_field_len = 12;
 | 
			
		||||
      };
 | 
			
		||||
      dl_um = {
 | 
			
		||||
        sn_field_len = 12;
 | 
			
		||||
        t_reassembly = 50;
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
},
 | 
			
		||||
{
 | 
			
		||||
  five_qi = 9;
 | 
			
		||||
  pdcp_nr_config = {
 | 
			
		||||
    drb = {
 | 
			
		||||
      discard_timer = 50;
 | 
			
		||||
      pdcp_sn_size_ul = 18;
 | 
			
		||||
      pdcp_sn_size_dl = 18;
 | 
			
		||||
    };
 | 
			
		||||
    t_reordering = 50;
 | 
			
		||||
  };
 | 
			
		||||
  rlc_config = {
 | 
			
		||||
    am = {
 | 
			
		||||
      ul_am = {
 | 
			
		||||
        sn_field_len = 12;
 | 
			
		||||
        t_poll_retx = 50;
 | 
			
		||||
        poll_pdu = 4;
 | 
			
		||||
        poll_byte = 3000;
 | 
			
		||||
        max_retx_thres = 4;
 | 
			
		||||
      };
 | 
			
		||||
      dl_am = {
 | 
			
		||||
        sn_field_len = 12;
 | 
			
		||||
        t_reassembly = 50;
 | 
			
		||||
        t_status_prohibit = 50;
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
@@ -45,8 +45,8 @@ phy_cnfg =
 | 
			
		||||
    simultaneousAckCQI = true;
 | 
			
		||||
    period = 40;                   // in ms
 | 
			
		||||
    //subframe = [0, 10, 20, 30];  // Optional vector of subframe indices every period where CQI resources will be allocated (default uses all)
 | 
			
		||||
    nof_prb = 1;
 | 
			
		||||
    m_ri = 8; // RI period in CQI period
 | 
			
		||||
    //subband_k = 1; // If enabled and > 0, configures sub-band CQI reporting and defines K (see 36.213 7.2.2). If disabled, configures wideband CQI
 | 
			
		||||
  };
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
@@ -59,12 +59,17 @@ cell_list =
 | 
			
		||||
    pci = 1;
 | 
			
		||||
    // root_seq_idx = 204;
 | 
			
		||||
    dl_earfcn = 3150;
 | 
			
		||||
    //dl_earfcn = 6300;
 | 
			
		||||
    //ul_earfcn = 21400;
 | 
			
		||||
    ho_active = false;
 | 
			
		||||
    //meas_gap_period = 0; // 0 (inactive), 40 or 80
 | 
			
		||||
    //meas_gap_offset_subframe = [6, 12, 18, 24, 30];
 | 
			
		||||
    // target_pusch_sinr = -1;
 | 
			
		||||
    // target_pucch_sinr = -1;
 | 
			
		||||
    // enable_phr_handling = false;
 | 
			
		||||
    // min_phr_thres = 0;
 | 
			
		||||
    // allowed_meas_bw = 6;
 | 
			
		||||
    // t304 = 2000; // in msec. possible values: 50, 100, 150, 200, 500, 1000, 2000
 | 
			
		||||
 | 
			
		||||
    // CA cells
 | 
			
		||||
    scell_list = (
 | 
			
		||||
@@ -80,17 +85,34 @@ cell_list =
 | 
			
		||||
        pci = 2;
 | 
			
		||||
        //direct_forward_path_available = false;
 | 
			
		||||
        //allowed_meas_bw = 6;
 | 
			
		||||
        //cell_individual_offset = 0;
 | 
			
		||||
      }
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
    // 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;
 | 
			
		||||
    };
 | 
			
		||||
    // Select measurement report configuration (all reports are combined with all measurement objects)
 | 
			
		||||
    meas_report_desc =
 | 
			
		||||
    (
 | 
			
		||||
        {
 | 
			
		||||
          eventA = 3
 | 
			
		||||
          a3_offset = 6;
 | 
			
		||||
          hysteresis = 0;
 | 
			
		||||
          time_to_trigger = 480;
 | 
			
		||||
          trigger_quant = "RSRP";
 | 
			
		||||
          max_report_cells = 1;
 | 
			
		||||
          report_interv = 120;
 | 
			
		||||
          report_amount = 1;
 | 
			
		||||
        }
 | 
			
		||||
    );
 | 
			
		||||
    meas_quant_desc = {
 | 
			
		||||
        // averaging filter coefficient
 | 
			
		||||
        rsrq_config = 4;
 | 
			
		||||
        rsrp_config = 4;
 | 
			
		||||
     };
 | 
			
		||||
  }
 | 
			
		||||
  // Add here more cells
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
nr_cell_list =
 | 
			
		||||
(
 | 
			
		||||
  // no NR cells
 | 
			
		||||
);
 | 
			
		||||
							
								
								
									
										69
									
								
								srslte/rr_gnb.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										69
									
								
								srslte/rr_gnb.conf
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,69 @@
 | 
			
		||||
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, 11]; // Optional vector of subframe indices allowed for SR transmissions (default uses all)
 | 
			
		||||
    nof_prb = 1;          // 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, 10, 20, 30];  // Optional vector of subframe indices every period where CQI resources will be allocated (default uses all)
 | 
			
		||||
    m_ri = 8; // RI period in CQI period
 | 
			
		||||
    //subband_k = 1; // If enabled and > 0, configures sub-band CQI reporting and defines K (see 36.213 7.2.2). If disabled, configures wideband CQI
 | 
			
		||||
  };
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
cell_list =
 | 
			
		||||
(
 | 
			
		||||
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
nr_cell_list =
 | 
			
		||||
(
 | 
			
		||||
  {
 | 
			
		||||
    rf_port = 0;
 | 
			
		||||
    cell_id = 1;
 | 
			
		||||
    root_seq_idx = 1;
 | 
			
		||||
    tac = 1;
 | 
			
		||||
    pci = 500;
 | 
			
		||||
    dl_arfcn = 368500;
 | 
			
		||||
    band = 3;	
 | 
			
		||||
  }
 | 
			
		||||
);
 | 
			
		||||
							
								
								
									
										416
									
								
								srslte/ue.conf
									
									
									
									
									
								
							
							
						
						
									
										416
									
								
								srslte/ue.conf
									
									
									
									
									
								
							@@ -1,416 +0,0 @@
 | 
			
		||||
#####################################################################
 | 
			
		||||
#                   srsUE configuration file
 | 
			
		||||
#####################################################################
 | 
			
		||||
 | 
			
		||||
#####################################################################
 | 
			
		||||
# RF configuration
 | 
			
		||||
#
 | 
			
		||||
# 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
 | 
			
		||||
#
 | 
			
		||||
# nof_antennas:       Number of antennas per carrier (all carriers have the same number of antennas)
 | 
			
		||||
# 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.
 | 
			
		||||
# continuous_tx:      Transmit samples continuously to the radio or on bursts (auto/yes/no).
 | 
			
		||||
#                     Default is auto (yes for UHD, no for rest)
 | 
			
		||||
#####################################################################
 | 
			
		||||
[rf]
 | 
			
		||||
freq_offset = 0
 | 
			
		||||
tx_gain = 80
 | 
			
		||||
#rx_gain = 40
 | 
			
		||||
 | 
			
		||||
#nof_antennas = 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
 | 
			
		||||
#continuous_tx     = auto
 | 
			
		||||
 | 
			
		||||
# Example for ZMQ-based operation with TCP transport for I/Q samples
 | 
			
		||||
#device_name = zmq
 | 
			
		||||
#device_args = tx_port=tcp://*:2001,rx_port=tcp://localhost:2000,id=ue,base_srate=23.04e6
 | 
			
		||||
 | 
			
		||||
#####################################################################
 | 
			
		||||
# EUTRA RAT configuration
 | 
			
		||||
# 
 | 
			
		||||
# dl_earfcn:   Downlink EARFCN list.
 | 
			
		||||
#
 | 
			
		||||
# Optional parameters: 
 | 
			
		||||
# dl_freq:            Override DL frequency corresponding to dl_earfcn
 | 
			
		||||
# ul_freq:            Override UL frequency corresponding to dl_earfcn
 | 
			
		||||
# nof_carriers:       Number of carriers
 | 
			
		||||
#####################################################################
 | 
			
		||||
[rat.eutra]
 | 
			
		||||
dl_earfcn = 3350
 | 
			
		||||
#nof_carriers = 1
 | 
			
		||||
 | 
			
		||||
#####################################################################
 | 
			
		||||
# NR RAT configuration
 | 
			
		||||
# 
 | 
			
		||||
# Optional parameters: 
 | 
			
		||||
# bands:           List of support NR bands seperated by a comma (default 78)
 | 
			
		||||
# nof_carriers:    Number of NR carriers (must be at least 1 for NR support)
 | 
			
		||||
#####################################################################
 | 
			
		||||
[rat.nr]
 | 
			
		||||
# bands = 78
 | 
			
		||||
# nof_carriers = 0
 | 
			
		||||
 | 
			
		||||
#####################################################################
 | 
			
		||||
# Packet capture configuration
 | 
			
		||||
#
 | 
			
		||||
# Packet capture is supported at the MAC, MAC_NR, and NAS layer. 
 | 
			
		||||
# MAC-layer packets are captured to file a the compact format decoded 
 | 
			
		||||
# by the Wireshark. For decoding, use the UDP dissector and the UDP 
 | 
			
		||||
# heuristic dissection. Edit the preferences (Edit > Preferences > 
 | 
			
		||||
# Protocols > DLT_USER) for DLT_USER to add an entry for DLT=149 with 
 | 
			
		||||
# Protocol=udp. Further, enable the heuristic dissection in UDP under:
 | 
			
		||||
# Analyze > Enabled Protocols > MAC-LTE > mac_lte_udp and MAC-NR > mac_nr_udp
 | 
			
		||||
# For more information see: https://wiki.wireshark.org/MAC-LTE
 | 
			
		||||
# Using the same filename for mac_filename and mac_nr_filename writes both
 | 
			
		||||
# MAC-LTE and MAC-NR to the same file allowing a better analysis. 
 | 
			
		||||
# NAS-layer packets are dissected with DLT=148, and Protocol = nas-eps.
 | 
			
		||||
#
 | 
			
		||||
# enable:            Enable packet captures of layers (mac/mac_nr/nas/none) multiple option list 
 | 
			
		||||
# mac_filename:      File path to use for MAC packet capture
 | 
			
		||||
# mac_nr_filename:   File path to use for MAC NR packet capture
 | 
			
		||||
# nas_filename:      File path to use for NAS packet capture
 | 
			
		||||
#####################################################################
 | 
			
		||||
[pcap]
 | 
			
		||||
enable = none
 | 
			
		||||
mac_filename = /tmp/ue_mac.pcap
 | 
			
		||||
mac_nr_filename = /tmp/ue_mac_nr.pcap
 | 
			
		||||
nas_filename = /tmp/ue_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, stack, 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 15)
 | 
			
		||||
# 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
 | 
			
		||||
# nr_measurement_pci:   NR PCI for the simulated NR measurement. Default: 500
 | 
			
		||||
# nr_short_sn_support:  Announce PDCP short SN support. Default: true
 | 
			
		||||
#####################################################################
 | 
			
		||||
[rrc]
 | 
			
		||||
#ue_category       = 4
 | 
			
		||||
#release           = 15
 | 
			
		||||
#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
 | 
			
		||||
#
 | 
			
		||||
# netns:                Network namespace to create TUN device. Default: empty
 | 
			
		||||
# 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]
 | 
			
		||||
#netns =
 | 
			
		||||
#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
 | 
			
		||||
#
 | 
			
		||||
# -- AWGN Generator
 | 
			
		||||
# awgn.enable:       Enable/disable AWGN generator
 | 
			
		||||
# awgn.snr:          SNR in dB
 | 
			
		||||
# awgn.signal_power: Received signal power in decibels full scale (dBfs)
 | 
			
		||||
#
 | 
			
		||||
# -- 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.awgn]
 | 
			
		||||
#enable        = false
 | 
			
		||||
#snr           = 30
 | 
			
		||||
 | 
			
		||||
[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.awgn]
 | 
			
		||||
#enable        = false
 | 
			
		||||
#n0            = -30
 | 
			
		||||
 | 
			
		||||
[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)
 | 
			
		||||
# pdsch_meas_evm:       Measure PDSCH EVM, increases CPU load (default false)
 | 
			
		||||
# nof_phy_threads:      Selects the number of PHY threads (maximum 4, minimum 1, default 3)
 | 
			
		||||
# 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.
 | 
			
		||||
# correct_sync_error:   Channel estimator measures and pre-compensates time synchronization error. Increases CPU usage,
 | 
			
		||||
#                       improves PDSCH decoding in high SFO and high speed UE scenarios.
 | 
			
		||||
# 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.
 | 
			
		||||
#
 | 
			
		||||
# interpolate_subframe_enabled: Interpolates in the time domain the channel estimates within 1 subframe. Default is to average.
 | 
			
		||||
#
 | 
			
		||||
# 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)
 | 
			
		||||
#
 | 
			
		||||
# in_sync_rsrp_dbm_th:    RSRP threshold (in dBm) above which the UE considers to be in-sync
 | 
			
		||||
# in_sync_snr_db_th:      SNR threshold (in dB) above which the UE considers to be in-sync
 | 
			
		||||
# nof_in_sync_events:     Number of PHY in-sync events before sending an in-sync event to RRC
 | 
			
		||||
# nof_out_of_sync_events: Number of PHY out-sync events before sending an out-sync event to RRC
 | 
			
		||||
#
 | 
			
		||||
#####################################################################
 | 
			
		||||
[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
 | 
			
		||||
#pdsch_meas_evm      = false
 | 
			
		||||
#nof_phy_threads     = 3
 | 
			
		||||
#equalizer_mode      = mmse
 | 
			
		||||
#correct_sync_error  = false
 | 
			
		||||
#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
 | 
			
		||||
#pdsch_csi_enabled  = true
 | 
			
		||||
#pdsch_8bit_decoder = false
 | 
			
		||||
#force_ul_amplitude = 0
 | 
			
		||||
 | 
			
		||||
#in_sync_rsrp_dbm_th    = -130.0
 | 
			
		||||
#in_sync_snr_db_th      = 3.0
 | 
			
		||||
#nof_in_sync_events     = 10
 | 
			
		||||
#nof_out_of_sync_events = 20
 | 
			
		||||
 | 
			
		||||
#####################################################################
 | 
			
		||||
# Simulation configuration options
 | 
			
		||||
#
 | 
			
		||||
# The UE simulation supports turning on and off airplane mode in the UE.
 | 
			
		||||
# The actions are carried periodically until the UE is stopped.
 | 
			
		||||
#
 | 
			
		||||
# airplane_t_on_ms:   Time to leave airplane mode turned on (in ms)
 | 
			
		||||
#
 | 
			
		||||
# airplane_t_off_ms:  Time to leave airplane mode turned off (in ms)
 | 
			
		||||
#
 | 
			
		||||
#####################################################################
 | 
			
		||||
[sim]
 | 
			
		||||
#airplane_t_on_ms  = -1
 | 
			
		||||
#airplane_t_off_ms = -1
 | 
			
		||||
 | 
			
		||||
#####################################################################
 | 
			
		||||
# 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.
 | 
			
		||||
#
 | 
			
		||||
# tracing_enable:       Write source code tracing information to a file.
 | 
			
		||||
#
 | 
			
		||||
# tracing_filename:     File path to use for tracing information.
 | 
			
		||||
#
 | 
			
		||||
# tracing_buffcapacity: Maximum capacity in bytes the tracing framework can store.
 | 
			
		||||
#
 | 
			
		||||
# have_tti_time_stats:  Calculate TTI execution statistics using system clock
 | 
			
		||||
#
 | 
			
		||||
#####################################################################
 | 
			
		||||
[general]
 | 
			
		||||
#metrics_csv_enable   = false
 | 
			
		||||
#metrics_period_secs  = 1
 | 
			
		||||
#metrics_csv_filename = /tmp/ue_metrics.csv
 | 
			
		||||
#have_tti_time_stats  = true
 | 
			
		||||
#tracing_enable       = true
 | 
			
		||||
#tracing_filename     = /tmp/ue_tracing.log
 | 
			
		||||
#tracing_buffcapacity = 1000000
 | 
			
		||||
@@ -1,21 +0,0 @@
 | 
			
		||||
#
 | 
			
		||||
# .csv to store UE's information in HSS
 | 
			
		||||
# Kept in the following format: "Name,Auth,IMSI,Key,OP_Type,OP/OPc,AMF,SQN,QCI,IP_alloc"
 | 
			
		||||
#
 | 
			
		||||
# Name:     Human readable name to help distinguish UE's. Ignored by the HSS
 | 
			
		||||
# Auth:     Authentication algorithm used by the UE. Valid algorithms are XOR
 | 
			
		||||
#           (xor) and MILENAGE (mil)
 | 
			
		||||
# IMSI:     UE's IMSI value
 | 
			
		||||
# 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