diff --git a/src/osmo_gsm_tester/templates/srsue.conf.tmpl b/src/osmo_gsm_tester/templates/srsue.conf.tmpl index bdca6bd4..8fd405be 100644 --- a/src/osmo_gsm_tester/templates/srsue.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsue.conf.tmpl @@ -2,35 +2,22 @@ # 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] +% if int(ue.tx_gain) > 0: +tx_gain = ${ue.tx_gain} +% endif +% if int(ue.rx_gain) > 0: +rx_gain = ${ue.rx_gain} +% endif + +freq_offset = ${ue.freq_offset} + +nof_antennas = ${ue.num_antennas} + +device_name = ${ue.rf_dev_type} +device_args = ${ue.rf_dev_args},${ue.rf_dev_sync} + +[rat.eutra] % if int(ue.num_carriers) == 4: dl_earfcn = 2850,3050,3250,3350 % elif int(ue.num_carriers) == 2: @@ -44,75 +31,17 @@ dl_freq = ${ue.dl_freq} % if ue.get('ul_freq', -1) != -1: ul_freq = ${ue.ul_freq} % endif -freq_offset = ${ue.freq_offset} -% if int(ue.tx_gain) > 0: -tx_gain = ${ue.tx_gain} -% endif -% if int(ue.rx_gain) > 0: -rx_gain = ${ue.rx_gain} -% endif -#nof_radios = 1 -nof_antennas = ${ue.num_antennas} nof_carriers = ${ue.num_carriers} -device_name = ${ue.rf_dev_type} -# 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 = ${ue.rf_dev_args},${ue.rf_dev_sync} -#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 = ${'mac' if ue.enable_pcap else 'none'} mac_filename = ${ue.pcap_filename} 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, 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 = ${ue.log_all_level} phy_lib_level = none @@ -121,19 +50,7 @@ filename = ${ue.log_filename} file_max_size = -1 nas_level = ${ue.log_nas_level} -##################################################################### -# 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 = ${ue.auth_algo} @@ -143,20 +60,8 @@ opc = ${ue.opc} k = ${ue.ki} imsi = ${ue.imsi} 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] % if "dl_qam256" in ue.features or "ul_qam64" in ue.features: ue_category = 8 @@ -170,234 +75,27 @@ release = 10 #ue_category = 4 #release = 8 % endif -#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 -# -# -- 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 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. -# 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 % if ue.rf_dev_type == 'zmq': nof_phy_threads = 2 % endif -#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 % if float(ue.force_ul_amplitude) > 0: force_ul_amplitude = ${ue.force_ul_amplitude} % endif -##################################################################### -# 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 = ${ue.airplane_t_on_ms} airplane_t_off_ms = ${ue.airplane_t_off_ms} -##################################################################### -# 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 = true -#metrics_period_secs = 1 metrics_csv_filename = ${ue.metrics_filename} % if ue.rf_dev_type == 'zmq': [stack] have_tti_time_stats = false -% endif +% endif \ No newline at end of file