blob: 2aa80dcfd40067a73d147a910a376a9053541450 [file] [log] [blame]
Pau Espin Pedrolc8b0f932020-02-11 17:45:26 +01001#####################################################################
2# srsENB configuration file
3#####################################################################
4
5#####################################################################
6# eNB configuration
7#
8# enb_id: 20-bit eNB identifier.
9# cell_id: 8-bit cell identifier.
10# tac: 16-bit Tracking Area Code.
11# mcc: Mobile Country Code
12# mnc: Mobile Network Code
13# mme_addr: IP address of MME for S1 connnection
14# gtp_bind_addr: Local IP address to bind for GTP connection
15# s1c_bind_addr: Local IP address to bind for S1AP connection
16# n_prb: Number of Physical Resource Blocks (6,15,25,50,75,100)
17# tm: Transmission mode 1-4 (TM1 default)
18# nof_ports: Number of Tx ports (1 port default, set to 2 for TM2/3/4)
19#
20#####################################################################
21[enb]
Pau Espin Pedrol491f77c2020-04-20 14:20:43 +020022# need hex value here for enb_id due to bug: https://github.com/srsLTE/srsLTE/issues/485
23enb_id = ${hex(int(enb.id))}
Pau Espin Pedrolc8b0f932020-02-11 17:45:26 +010024mcc = ${enb.mcc}
25mnc = ${enb.mnc}
26mme_addr = ${enb.mme_addr}
Andre Puschmann4b5a09a2020-04-14 22:24:00 +020027gtp_bind_addr = ${enb.gtp_bind_addr}
Pau Espin Pedrola9a2fe22020-02-13 19:29:55 +010028s1c_bind_addr = ${enb.addr}
Pau Espin Pedrol6c42bb52020-02-27 15:05:11 +010029n_prb = ${enb.num_prb}
Pau Espin Pedrolb6937712020-02-27 18:02:20 +010030tm = ${enb.transmission_mode}
Pau Espin Pedrolf796ad02020-03-09 15:50:57 +010031nof_ports = ${enb.num_ports}
Pau Espin Pedrolc8b0f932020-02-11 17:45:26 +010032
33#####################################################################
34# eNB configuration files
35#
36# sib_config: SIB1, SIB2 and SIB3 configuration file
37# note: when enabling mbms, use the sib.conf.mbsfn configuration file which includes SIB13
38# rr_config: Radio Resources configuration file
39# drb_config: DRB configuration file
40#####################################################################
41[enb_files]
Pau Espin Pedrol135c6092020-04-16 13:35:59 +020042sib_config = ${enb.sib_filename}
43rr_config = ${enb.rr_filename}
44drb_config = ${enb.drb_filename}
Pau Espin Pedrolc8b0f932020-02-11 17:45:26 +010045
46#####################################################################
47# RF configuration
48#
49# dl_earfcn: EARFCN code for DL
50# tx_gain: Transmit gain (dB).
51# rx_gain: Optional receive gain (dB). If disabled, AGC if enabled
52#
53# Optional parameters:
54# dl_freq: Override DL frequency corresponding to dl_earfcn
55# ul_freq: Override UL frequency corresponding to dl_earfcn (must be set if dl_freq is set)
56# device_name: Device driver family. Supported options: "auto" (uses first found), "UHD" or "bladeRF"
57# device_args: Arguments for the device driver. Options are "auto" or any string.
58# Default for UHD: "recv_frame_size=9232,send_frame_size=9232"
59# Default for bladeRF: ""
60# #time_adv_nsamples: Transmission time advance (in number of samples) to compensate for RF delay
61# from antenna to timestamp insertion.
62# Default "auto". B210 USRP: 100 samples, bladeRF: 27.
63# burst_preamble_us: Preamble length to transmit before start of burst.
64# Default "auto". B210 USRP: 400 us, bladeRF: 0 us.
65#####################################################################
66[rf]
Pau Espin Pedrola6d63042020-04-20 15:14:51 +020067tx_gain = ${enb.tx_gain}
68rx_gain = ${enb.rx_gain}
Pau Espin Pedrolc8b0f932020-02-11 17:45:26 +010069
Pau Espin Pedrola9a2fe22020-02-13 19:29:55 +010070device_name = ${enb.rf_dev_type}
Pau Espin Pedrolc8b0f932020-02-11 17:45:26 +010071
72# For best performance in 2x2 MIMO and >= 15 MHz use the following device_args settings:
73# USRP B210: num_recv_frames=64,num_send_frames=64
74
75# For best performance when BW<5 MHz (25 PRB), use the following device_args settings:
76# USRP B210: send_frame_size=512,recv_frame_size=512
77
Andre Puschmannb5f04442020-10-12 16:57:10 +020078device_args = ${enb.rf_dev_args},${enb.rf_dev_sync}
Pau Espin Pedrolc8b0f932020-02-11 17:45:26 +010079#time_adv_nsamples = auto
80#burst_preamble_us = auto
81
82
83#####################################################################
84# MAC-layer packet capture configuration
85#
86# Packets are captured to file in the compact format decoded by
87# the Wireshark mac-lte-framed dissector and with DLT 147.
88# To use the dissector, edit the preferences for DLT_USER to
89# add an entry with DLT=147, Payload Protocol=mac-lte-framed.
90# For more information see: https://wiki.wireshark.org/MAC-LTE
91#
92# Please note that this setting will by default only capture MAC
93# frames on dedicated channels, and not SIB. You have to build with
94# WRITE_SIB_PCAP enabled in enb/src/stack/mac/mac.cc if you want
95# SIB to be part of the MAC pcap file.
96#
97# enable: Enable MAC layer packet captures (true/false)
98# filename: File path to use for packet captures
99#####################################################################
100[pcap]
Pau Espin Pedrol1e81b5a2020-03-16 12:42:17 +0100101enable = ${'true' if enb.enable_pcap else 'false'}
Pau Espin Pedrol135c6092020-04-16 13:35:59 +0200102filename = ${enb.pcap_filename}
Pau Espin Pedrolc8b0f932020-02-11 17:45:26 +0100103
Andre Puschmann5a2f05a2021-05-10 21:43:31 +0200104s1ap_enable = ${'true' if enb.enable_pcap else 'false'}
105s1ap_filename = ${enb.s1ap_pcap_filename}
106
Pau Espin Pedrolc8b0f932020-02-11 17:45:26 +0100107#####################################################################
108# Log configuration
109#
110# Log levels can be set for individual layers. "all_level" sets log
111# level for all layers unless otherwise configured.
112# Format: e.g. phy_level = info
113#
114# In the same way, packet hex dumps can be limited for each level.
115# "all_hex_limit" sets the hex limit for all layers unless otherwise
116# configured.
117# Format: e.g. phy_hex_limit = 32
118#
119# Logging layers: rf, phy, phy_lib, mac, rlc, pdcp, rrc, gtpu, s1ap, all
120# Logging levels: debug, info, warning, error, none
121#
122# filename: File path to use for log output. Can be set to stdout
123# to print logs to standard output
124# file_max_size: Maximum file size (in kilobytes). When passed, multiple files are created.
125# If set to negative, a single log file will be created.
126#####################################################################
127[log]
Andre Puschmann82ced3f2020-06-18 14:52:39 +0200128all_level = ${enb.log_all_level}
Pau Espin Pedrolc8b0f932020-02-11 17:45:26 +0100129all_hex_limit = 32
Pau Espin Pedrol135c6092020-04-16 13:35:59 +0200130filename = ${enb.log_filename}
Pau Espin Pedrolc8b0f932020-02-11 17:45:26 +0100131file_max_size = -1
132
133[gui]
134enable = false
135
136#####################################################################
137# Scheduler configuration options
138#
139# max_aggr_level: Optional maximum aggregation level index (l=log2(L) can be 0, 1, 2 or 3)
140# pdsch_mcs: Optional fixed PDSCH MCS (ignores reported CQIs if specified)
Andre Puschmannbf960ec2020-03-21 22:11:59 +0100141# pdsch_max_mcs: Optional PDSCH MCS limit
Pau Espin Pedrolc8b0f932020-02-11 17:45:26 +0100142# pusch_mcs: Optional fixed PUSCH MCS (ignores reported CQIs if specified)
Andre Puschmannbf960ec2020-03-21 22:11:59 +0100143# pusch_max_mcs: Optional PUSCH MCS limit
144# min_nof_ctrl_symbols: Minimum number of control symbols
145# max_nof_ctrl_symbols: Maximum number of control symbols
Pau Espin Pedrolc8b0f932020-02-11 17:45:26 +0100146#
147#####################################################################
148[scheduler]
149#max_aggr_level = -1
150#pdsch_mcs = -1
151#pdsch_max_mcs = -1
152#pusch_mcs = -1
Andre Puschmannb7787072020-03-18 12:31:49 +0100153#pusch_max_mcs = 16
154#min_nof_ctrl_symbols = 1
155#max_nof_ctrl_symbols = 3
Pau Espin Pedrolc8b0f932020-02-11 17:45:26 +0100156
157#####################################################################
158# eMBMS configuration options
159#
160# enable: Enable MBMS transmission in the eNB
161# m1u_multiaddr: Multicast addres the M1-U socket will register to
162# m1u_if_addr: Address of the inteferface the M1-U interface will listen for multicast packets.
163#
164#####################################################################
165[embms]
166#enable = false
167#m1u_multiaddr = 239.255.0.1
168#m1u_if_addr = 127.0.1.201
169
170
171
172#####################################################################
173# Channel emulator options:
174# enable: Enable/Disable internal Downlink/Uplink channel emulator
175#
176# -- Fading emulator
177# fading.enable: Enable/disable fading simulator
178# fading.model: Fading model + maximum doppler (E.g. none, epa5, eva70, etu300, etc)
179#
180# -- Delay Emulator delay(t) = delay_min + (delay_max - delay_min) * (1 + sin(2pi*t/period)) / 2
181# Maximum speed [m/s]: (delay_max - delay_min) * pi * 300 / period
182# delay.enable: Enable/disable delay simulator
183# delay.period_s: Delay period in seconds.
184# delay.init_time_s: Delay initial time in seconds.
185# delay.maximum_us: Maximum delay in microseconds
186# delay.minumum_us: Minimum delay in microseconds
187#
188# -- Radio-Link Failure (RLF) Emulator
189# rlf.enable: Enable/disable RLF simulator
190# rlf.t_on_ms: Time for On state of the channel (ms)
191# rlf.t_off_ms: Time for Off state of the channel (ms)
192#
193# -- High Speed Train Doppler model simulator
194# hst.enable: Enable/Disable HST simulator
195# hst.period_s: HST simulation period in seconds
196# hst.fd_hz: Doppler frequency in Hz
197# hst.init_time_s: Initial time in seconds
198#####################################################################
Andre Puschmann4db88de2020-09-02 22:24:11 +0200199% if enb.enable_dl_awgn:
Pau Espin Pedrolc8b0f932020-02-11 17:45:26 +0100200[channel.dl]
Andre Puschmann4db88de2020-09-02 22:24:11 +0200201enable = true
202% endif
203
204% if enb.enable_dl_awgn:
205[channel.dl.awgn]
206enable = true
207snr = ${enb.dl_awgn_snr}
208% endif
Pau Espin Pedrolc8b0f932020-02-11 17:45:26 +0100209
210[channel.dl.fading]
211#enable = false
212#model = none
213
214[channel.dl.delay]
215#enable = false
216#period_s = 3600
217#init_time_s = 0
218#maximum_us = 100
219#minimum_us = 10
220
221[channel.dl.rlf]
222#enable = false
223#t_on_ms = 10000
224#t_off_ms = 2000
225
226[channel.dl.hst]
227#enable = false
228#period_s = 7.2
229#fd_hz = 750.0
230#init_time_s = 0.0
231
232[channel.ul]
233#enable = false
234
235[channel.ul.fading]
236#enable = false
237#model = none
238
239[channel.ul.delay]
240#enable = false
241#period_s = 3600
242#init_time_s = 0
243#maximum_us = 100
244#minimum_us = 10
245
246[channel.ul.rlf]
247#enable = false
248#t_on_ms = 10000
249#t_off_ms = 2000
250
251[channel.ul.hst]
252#enable = false
253#period_s = 7.2
254#fd_hz = -750.0
255#init_time_s = 0.0
256
257
258#####################################################################
259# Expert configuration options
260#
261# pusch_max_its: Maximum number of turbo decoder iterations (Default 4)
262# pusch_8bit_decoder: Use 8-bit for LLR representation and turbo decoder trellis computation (Experimental)
Andre Puschmanna7b21a82020-07-21 12:01:01 +0200263# nof_phy_threads: Selects the number of PHY threads (maximum 4, minimum 1, default 3)
Pau Espin Pedrolc8b0f932020-02-11 17:45:26 +0100264# metrics_period_secs: Sets the period at which metrics are requested from the eNB.
265# metrics_csv_enable: Write eNB metrics to CSV file.
266# metrics_csv_filename: File path to use for CSV metrics.
267# pregenerate_signals: Pregenerate uplink signals after attach. Improves CPU performance.
268# tx_amplitude: Transmit amplitude factor (set 0-1 to reduce PAPR)
269# link_failure_nof_err: Number of PUSCH failures after which a radio-link failure is triggered.
270# a link failure is when SNR<0 and CRC=KO
271# max_prach_offset_us: Maximum allowed RACH offset (in us)
272# eea_pref_list: Ordered preference list for the selection of encryption algorithm (EEA) (default: EEA0, EEA2, EEA1).
273# eia_pref_list: Ordered preference list for the selection of integrity algorithm (EIA) (default: EIA2, EIA1, EIA0).
274#
275#####################################################################
276[expert]
Andre Puschmann4cb9ab52020-12-27 21:55:48 +0100277% if enb.rf_dev_type == 'zmq':
278nof_prach_threads = 0
279% endif
Pau Espin Pedrolc8b0f932020-02-11 17:45:26 +0100280#pusch_max_its = 8 # These are half iterations
281#pusch_8bit_decoder = false
Andre Puschmanna7b21a82020-07-21 12:01:01 +0200282#nof_phy_threads = 3
Pau Espin Pedrolc8b0f932020-02-11 17:45:26 +0100283#metrics_period_secs = 1
AlaiaLa17140f2021-03-16 14:53:45 +0100284metrics_csv_enable = true
285metrics_csv_filename = ${enb.metrics_filename}
286tracing_enable = ${enb.enable_tracing}
287tracing_filename = ${enb.tracing_filename}
Pau Espin Pedrolc8b0f932020-02-11 17:45:26 +0100288#pregenerate_signals = false
289#tx_amplitude = 0.6
290#link_failure_nof_err = 50
Andre Puschmann0cfc0842020-08-26 18:19:15 +0200291rrc_inactivity_timer = ${enb.inactivity_timer}
Pau Espin Pedrolc8b0f932020-02-11 17:45:26 +0100292#max_prach_offset_us = 30
Nils Fürstea8180152020-12-03 14:14:31 +0100293eea_pref_list = ${', '.join(list(dict.fromkeys(enb.cipher_list))).upper()}
294eia_pref_list = ${', '.join(list(dict.fromkeys(enb.integrity_list))).upper()}
Andre Puschmann9b419f32021-05-03 10:51:00 +0200295% if "lime" in enb.rf_dev_args:
296lte_sample_rates = true
297% endif