blob: bdca6bd4fd3d67f58a363d40303d6d18e257c91d [file] [log] [blame]
Pau Espin Pedrolc8b0f932020-02-11 17:45:26 +01001#####################################################################
2# srsUE configuration file
3#####################################################################
4
5#####################################################################
6# RF configuration
7#
8# dl_earfcn: Downlink EARFCN code.
9# freq_offset: Uplink and Downlink optional frequency offset (in Hz)
10# tx_gain: Transmit gain (dB).
11# rx_gain: Optional receive gain (dB). If disabled, AGC if enabled
12#
13# Optional parameters:
14# dl_freq: Override DL frequency corresponding to dl_earfcn
15# ul_freq: Override UL frequency corresponding to dl_earfcn
16# nof_radios: Number of available RF devices
17# nof_rf_channels: Number of RF channels per radio
18# nof_rx_ant: Number of RX antennas per channel
19# device_name: Device driver family. Supported options: "auto" (uses first found), "UHD" or "bladeRF"
20# device_args: Arguments for the device driver. Options are "auto" or any string.
21# Default for UHD: "recv_frame_size=9232,send_frame_size=9232"
22# Default for bladeRF: ""
23# device_args_2: Arguments for the RF device driver 2.
24# device_args_3: Arguments for the RF device driver 3.
25# time_adv_nsamples: Transmission time advance (in number of samples) to compensate for RF delay
26# from antenna to timestamp insertion.
27# Default "auto". B210 USRP: 100 samples, bladeRF: 27.
28# burst_preamble_us: Preamble length to transmit before start of burst.
29# Default "auto". B210 USRP: 400 us, bladeRF: 0 us.
30# continuous_tx: Transmit samples continuously to the radio or on bursts (auto/yes/no).
31# Default is auto (yes for UHD, no for rest)
32#####################################################################
33[rf]
Andre Puschmann9df7cd02020-06-23 15:58:38 +020034% if int(ue.num_carriers) == 4:
35dl_earfcn = 2850,3050,3250,3350
36% elif int(ue.num_carriers) == 2:
Andre Puschmannd61613a2020-03-24 12:05:05 +010037dl_earfcn = 2850,3050
38% else:
39dl_earfcn = 2850
40% endif
Andre Puschmannc7737e62021-03-18 17:06:08 +010041% if ue.get('dl_freq', -1) != -1:
42dl_freq = ${ue.dl_freq}
43% endif
44% if ue.get('ul_freq', -1) != -1:
45ul_freq = ${ue.ul_freq}
46% endif
Andre Puschmanne3a19102020-10-06 09:52:46 +020047freq_offset = ${ue.freq_offset}
Andre Puschmann1bba2892021-03-10 21:27:59 +010048% if int(ue.tx_gain) > 0:
Pau Espin Pedrola6d63042020-04-20 15:14:51 +020049tx_gain = ${ue.tx_gain}
Andre Puschmann1bba2892021-03-10 21:27:59 +010050% endif
51% if int(ue.rx_gain) > 0:
Pau Espin Pedrola6d63042020-04-20 15:14:51 +020052rx_gain = ${ue.rx_gain}
Andre Puschmann1bba2892021-03-10 21:27:59 +010053% endif
Pau Espin Pedrolc8b0f932020-02-11 17:45:26 +010054
55#nof_radios = 1
Pau Espin Pedrolf796ad02020-03-09 15:50:57 +010056nof_antennas = ${ue.num_antennas}
Andre Puschmannd61613a2020-03-24 12:05:05 +010057nof_carriers = ${ue.num_carriers}
Pau Espin Pedrolc8b0f932020-02-11 17:45:26 +010058
Pau Espin Pedrola9a2fe22020-02-13 19:29:55 +010059device_name = ${ue.rf_dev_type}
60
Pau Espin Pedrolc8b0f932020-02-11 17:45:26 +010061# For best performance in 2x2 MIMO and >= 15 MHz use the following device_args settings:
62# USRP B210: num_recv_frames=64,num_send_frames=64
63
64# For best performance when BW<5 MHz (25 PRB), use the following device_args settings:
65# USRP B210: send_frame_size=512,recv_frame_size=512
66
Andre Puschmannb5f04442020-10-12 16:57:10 +020067device_args = ${ue.rf_dev_args},${ue.rf_dev_sync}
Pau Espin Pedrolc8b0f932020-02-11 17:45:26 +010068#time_adv_nsamples = auto
69#burst_preamble_us = auto
70#continuous_tx = auto
71
72
73#####################################################################
74# Packet capture configuration
75#
76# Packet capture is supported at both MAC and NAS layers.
77# MAC-layer packets are captured to file in the compact format
78# decoded by the Wireshark mac-lte-framed dissector.
79# To use this dissector, edit the preferences for DLT_USER to
80# add an entry with DLT=147, Payload Protocol=mac-lte-framed.
81# For more information see: https://wiki.wireshark.org/MAC-LTE
82# NAS-layer packets are dissected with DLT=148, and
83# Payload Protocol = nas-eps.
84#
85# enable: Enable MAC layer packet captures (true/false)
86# filename: File path to use for MAC packet captures
87# nas_enable: Enable NAS layer packet captures (true/false)
88# nas_filename: File path to use for NAS packet captures
89#####################################################################
90[pcap]
David Rupprechtf4ff0582021-03-02 11:48:47 +010091enable = ${'mac' if ue.enable_pcap else 'none'}
92mac_filename = ${ue.pcap_filename}
93mac_nr_filename = /tmp/ue_mac_nr.pcap
94nas_filename = /tmp/ue_nas.pcap
Pau Espin Pedrolc8b0f932020-02-11 17:45:26 +010095
96#####################################################################
97# Log configuration
98#
99# Log levels can be set for individual layers. "all_level" sets log
100# level for all layers unless otherwise configured.
101# Format: e.g. phy_level = info
102#
103# In the same way, packet hex dumps can be limited for each level.
104# "all_hex_limit" sets the hex limit for all layers unless otherwise
105# configured.
106# Format: e.g. phy_hex_limit = 32
107#
108# Logging layers: rf, phy, mac, rlc, pdcp, rrc, nas, gw, usim, all
109# Logging levels: debug, info, warning, error, none
110#
111# filename: File path to use for log output. Can be set to stdout
112# to print logs to standard output
113# file_max_size: Maximum file size (in kilobytes). When passed, multiple files are created.
114# If set to negative, a single log file will be created.
115#####################################################################
116[log]
Andre Puschmann82ced3f2020-06-18 14:52:39 +0200117all_level = ${ue.log_all_level}
Pau Espin Pedrolc8b0f932020-02-11 17:45:26 +0100118phy_lib_level = none
119all_hex_limit = 32
Pau Espin Pedrol0e6ab422020-04-16 15:40:22 +0200120filename = ${ue.log_filename}
Pau Espin Pedrolc8b0f932020-02-11 17:45:26 +0100121file_max_size = -1
Andre Puschmannc487f742021-02-23 11:47:53 +0100122nas_level = ${ue.log_nas_level}
Pau Espin Pedrolc8b0f932020-02-11 17:45:26 +0100123
124#####################################################################
125# USIM configuration
126#
127# mode: USIM mode (soft/pcsc)
128# algo: Authentication algorithm (xor/milenage)
129# op/opc: 128-bit Operator Variant Algorithm Configuration Field (hex)
130# - Specify either op or opc (only used in milenage)
131# k: 128-bit subscriber key (hex)
132# imsi: 15 digit International Mobile Subscriber Identity
133# imei: 15 digit International Mobile Station Equipment Identity
134# pin: PIN in case real SIM card is used
135# reader: Specify card reader by it's name as listed by 'pcsc_scan'. If empty, try all available readers.
136#####################################################################
137[usim]
138mode = soft
139algo = ${ue.auth_algo}
Pau Espin Pedrol0f7f2652020-07-13 12:01:10 +0200140% if ue.opc is not None:
141opc = ${ue.opc}
142% endif
Pau Espin Pedrolc8b0f932020-02-11 17:45:26 +0100143k = ${ue.ki}
144imsi = ${ue.imsi}
145imei = 353490069873319
146#reader =
147#pin = 1234
148
149#####################################################################
150# RRC configuration
151#
152# ue_category: Sets UE category (range 1-5). Default: 4
153# release: UE Release (8 to 10)
154# feature_group: Hex value of the featureGroupIndicators field in the
155# UECapabilityInformation message. Default 0xe6041000
156# mbms_service_id: MBMS service id for autostarting MBMS reception
157# (default -1 means disabled)
158# mbms_service_port: Port of the MBMS service
159#####################################################################
160[rrc]
Andre Puschmann507c60c2020-12-10 21:11:02 +0100161% if "dl_qam256" in ue.features or "ul_qam64" in ue.features:
Andre Puschmann3166b632020-11-16 12:39:43 +0100162ue_category = 8
Nils Fürste1e736ea2020-11-07 13:51:54 +0100163release = 13
164ue_category_dl = 14
Andre Puschmann3166b632020-11-16 12:39:43 +0100165ue_category_ul = 5
Andre Puschmann507c60c2020-12-10 21:11:02 +0100166% elif int(ue.num_carriers) > 1:
167ue_category = 7
168release = 10
Andre Puschmannd61613a2020-03-24 12:05:05 +0100169% else:
Pau Espin Pedrolc8b0f932020-02-11 17:45:26 +0100170#ue_category = 4
171#release = 8
Andre Puschmannd61613a2020-03-24 12:05:05 +0100172% endif
Pau Espin Pedrolc8b0f932020-02-11 17:45:26 +0100173#feature_group = 0xe6041000
174#mbms_service_id = -1
175#mbms_service_port = 4321
176
177#####################################################################
178# NAS configuration
179#
180# apn: Set Access Point Name (APN)
181# apn_protocol: Set APN protocol (IPv4, IPv6 or IPv4v6.)
182# user: Username for CHAP authentication
183# pass: Password for CHAP authentication
184# force_imsi_attach: Whether to always perform an IMSI attach
185# eia: List of integrity algorithms included in UE capabilities
186# Supported: 1 - Snow3G, 2 - AES
187# eea: List of ciphering algorithms included in UE capabilities
188# Supported: 0 - NULL, 1 - Snow3G, 2 - AES
189#####################################################################
190[nas]
191#apn = internetinternet
192#apn_protocol = ipv4
193#user = srsuser
194#pass = srspass
195#force_imsi_attach = false
196#eia = 1,2
197#eea = 0,1,2
198
199#####################################################################
200# GW configuration
201#
202# netns: Network namespace to create TUN device. Default: empty
203# ip_devname: Name of the tun_srsue device. Default: tun_srsue
204# ip_netmask: Netmask of the tun_srsue device. Default: 255.255.255.0
205#####################################################################
206[gw]
207#netns =
208#ip_devname = tun_srsue
209#ip_netmask = 255.255.255.0
210
211#####################################################################
212# GUI configuration
213#
214# Simple GUI displaying PDSCH constellation and channel freq response.
215# (Requires building with srsGUI)
216# enable: Enable the graphical interface (true/false)
217#####################################################################
218[gui]
219enable = false
220
221#####################################################################
222# Channel emulator options:
223# enable: Enable/Disable internal Downlink/Uplink channel emulator
224#
225# -- Fading emulator
226# fading.enable: Enable/disable fading simulator
227# fading.model: Fading model + maximum doppler (E.g. none, epa5, eva70, etu300, etc)
228#
229# -- Delay Emulator delay(t) = delay_min + (delay_max - delay_min) * (1 + sin(2pi*t/period)) / 2
230# Maximum speed [m/s]: (delay_max - delay_min) * pi * 300 / period
231# delay.enable: Enable/disable delay simulator
232# delay.period_s: Delay period in seconds.
233# delay.init_time_s: Delay initial time in seconds.
234# delay.maximum_us: Maximum delay in microseconds
235# delay.minumum_us: Minimum delay in microseconds
236#
237# -- Radio-Link Failure (RLF) Emulator
238# rlf.enable: Enable/disable RLF simulator
239# rlf.t_on_ms: Time for On state of the channel (ms)
240# rlf.t_off_ms: Time for Off state of the channel (ms)
241#
242# -- High Speed Train Doppler model simulator
243# hst.enable: Enable/Disable HST simulator
244# hst.period_s: HST simulation period in seconds
245# hst.fd_hz: Doppler frequency in Hz
246# hst.init_time_s: Initial time in seconds
247#####################################################################
248[channel.dl]
249#enable = false
250
251[channel.dl.fading]
252#enable = false
253#model = none
254
255[channel.dl.delay]
256#enable = false
257#period_s = 3600
258#init_time_s = 0
259#maximum_us = 100
260#minimum_us = 10
261
262[channel.dl.rlf]
263#enable = false
264#t_on_ms = 10000
265#t_off_ms = 2000
266
267[channel.dl.hst]
268#enable = false
269#period_s = 7.2
270#fd_hz = 750.0
271#init_time_s = 0.0
272
273[channel.ul]
274#enable = false
275
276[channel.ul.fading]
277#enable = false
278#model = none
279
280[channel.ul.delay]
281#enable = false
282#period_s = 3600
283#init_time_s = 0
284#maximum_us = 100
285#minimum_us = 10
286
287[channel.ul.rlf]
288#enable = false
289#t_on_ms = 10000
290#t_off_ms = 2000
291
292[channel.ul.hst]
293#enable = false
294#period_s = 7.2
295#fd_hz = -750.0
296#init_time_s = 0.0
297
298#####################################################################
299# PHY configuration options
300#
301# rx_gain_offset: RX Gain offset to add to rx_gain to calibrate RSRP readings
302# prach_gain: PRACH gain (dB). If defined, forces a gain for the tranmsission of PRACH only.,
303# Default is to use tx_gain in [rf] section.
304# cqi_max: Upper bound on the maximum CQI to be reported. Default 15.
305# cqi_fixed: Fixes the reported CQI to a constant value. Default disabled.
306# snr_ema_coeff: Sets the SNR exponential moving average coefficient (Default 0.1)
307# snr_estim_alg: Sets the noise estimation algorithm. (Default refs)
308# Options: pss: use difference between received and known pss signal,
309# refs: use difference between noise references and noiseless (after filtering)
310# empty: use empty subcarriers in the boarder of pss/sss signal
311# pdsch_max_its: Maximum number of turbo decoder iterations (Default 4)
Andre Puschmanna7b21a82020-07-21 12:01:01 +0200312# nof_phy_threads: Selects the number of PHY threads (maximum 4, minimum 1, default 3)
Pau Espin Pedrolc8b0f932020-02-11 17:45:26 +0100313# equalizer_mode: Selects equalizer mode. Valid modes are: "mmse", "zf" or any
314# non-negative real number to indicate a regularized zf coefficient.
315# Default is MMSE.
316# sfo_ema: EMA coefficient to average sample offsets used to compute SFO
317# sfo_correct_period: Period in ms to correct sample time to adjust for SFO
318# sss_algorithm: Selects the SSS estimation algorithm. Can choose between
319# {full, partial, diff}.
320# estimator_fil_auto: The channel estimator smooths the channel estimate with an adaptative filter.
321# estimator_fil_stddev: Sets the channel estimator smooth gaussian filter standard deviation.
322# estimator_fil_order: Sets the channel estimator smooth gaussian filter order (even values perform better).
323# The taps are [w, 1-2w, w]
324#
325# snr_to_cqi_offset: Sets an offset in the SNR to CQI table. This is used to adjust the reported CQI.
326#
327# pregenerate_signals: Pregenerate uplink signals after attach. Improves CPU performance.
328#
329# interpolate_subframe_enabled: Interpolates in the time domain the channel estimates within 1 subframe. Default is to average.
330#
331# sic_pss_enabled: Applies Successive Interference Cancellation to PSS signals when searching for neighbour cells.
332# Must be disabled if cells have identical channel and timing, for instance if generated from
333# the same source.
334#
335# pdsch_csi_enabled: Stores the Channel State Information and uses it for weightening the softbits. It is only
336# used in TM1. It is True by default.
337#
338# pdsch_8bit_decoder: Use 8-bit for LLR representation and turbo decoder trellis computation (Experimental)
339# 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)
340#
341#####################################################################
342[phy]
343#rx_gain_offset = 62
344#prach_gain = 30
345#cqi_max = 15
346#cqi_fixed = 10
347#snr_ema_coeff = 0.1
348#snr_estim_alg = refs
349#pdsch_max_its = 8 # These are half iterations
Andre Puschmann7aa14e42021-01-25 10:44:17 +0100350% if ue.rf_dev_type == 'zmq':
351nof_phy_threads = 2
352% endif
Pau Espin Pedrolc8b0f932020-02-11 17:45:26 +0100353#equalizer_mode = mmse
354#sfo_ema = 0.1
355#sfo_correct_period = 10
356#sss_algorithm = full
357#estimator_fil_auto = false
358#estimator_fil_stddev = 1.0
359#estimator_fil_order = 4
360#snr_to_cqi_offset = 0.0
361#interpolate_subframe_enabled = false
362#sic_pss_enabled = true
363#pregenerate_signals = false
364#pdsch_csi_enabled = true
365#pdsch_8bit_decoder = false
Andre Puschmannfcdff4b2021-03-14 15:38:23 +0100366% if float(ue.force_ul_amplitude) > 0:
367force_ul_amplitude = ${ue.force_ul_amplitude}
368% endif
Pau Espin Pedrolc8b0f932020-02-11 17:45:26 +0100369
370#####################################################################
Andre Puschmann35234f22020-03-23 18:52:41 +0100371# Simulation configuration options
372#
373# The UE simulation supports turning on and off airplane mode in the UE.
374# The actions are carried periodically until the UE is stopped.
375#
376# airplane_t_on_ms: Time to leave airplane mode turned on (in ms)
377#
378# airplane_t_off_ms: Time to leave airplane mode turned off (in ms)
379#
380#####################################################################
381[sim]
382airplane_t_on_ms = ${ue.airplane_t_on_ms}
383airplane_t_off_ms = ${ue.airplane_t_off_ms}
384
385#####################################################################
Pau Espin Pedrolc8b0f932020-02-11 17:45:26 +0100386# General configuration options
387#
388# metrics_csv_enable: Write UE metrics to CSV file.
389#
390# metrics_period_secs: Sets the period at which metrics are requested from the UE.
391#
392# metrics_csv_filename: File path to use for CSV metrics.
393#
394#####################################################################
395[general]
Pau Espin Pedrola0319952020-03-02 11:06:51 +0100396metrics_csv_enable = true
Pau Espin Pedrolc8b0f932020-02-11 17:45:26 +0100397#metrics_period_secs = 1
Pau Espin Pedrol0e6ab422020-04-16 15:40:22 +0200398metrics_csv_filename = ${ue.metrics_filename}
Andre Puschmann1d1c0bf2020-12-16 12:17:15 +0100399
400% if ue.rf_dev_type == 'zmq':
401[stack]
402have_tti_time_stats = false
403% endif