blob: 4dc9c60537e0b642db0804ac5d83c92ba7ac1cc9 [file] [log] [blame]
Pau Espin Pedrol786a6bc2020-03-30 13:51:21 +02001/* lteenb configuration file version 2018-10-18
2 * Copyright (C) 2015-2018 Amarisoft
3 */
4{
5
Pau Espin Pedrolc04528c2020-04-01 13:55:51 +02006%if enb.license_server_addr != '0.0.0.0':
Pau Espin Pedrol786a6bc2020-03-30 13:51:21 +02007 license_server: {
8 server_addr: "${enb.license_server_addr}",
9 name: "amarisoft",
10 },
Pau Espin Pedrolc04528c2020-04-01 13:55:51 +020011%endif
Pau Espin Pedrol786a6bc2020-03-30 13:51:21 +020012
Pau Espin Pedrold45a29e2020-04-02 17:21:47 +020013% if enb.rf_dev_type == 'zmq':
14 /* Force sampling rate (if uncommented) */
15 sample_rate: ${enb.sample_rate},
16%endif
17
Pau Espin Pedrol786a6bc2020-03-30 13:51:21 +020018 /* Log filter: syntax: layer.field=value[,...]
19
20 Possible layers are phy, mac, rlc, pdcp, rrc, nas, s1ap, x2ap, gtpu and
21 all. The 'all' layer is used to address all the layers at the
22 same time.
23
24 field values:
25
26 - 'level': the log level of each layer can be set to 'none',
27 'error', 'info' or 'debug'. Use 'debug' to log all the messages.
28
29 - 'max_size': set the maximum size of the hex dump. 0 means no
30 hex dump. -1 means no limit.
31 */
32 //log_options: "all.level=debug,all.max_size=32",
33 log_options: "all.level=error,all.max_size=0,nas.level=debug,nas.max_size=1,s1ap.level=debug,s1ap.max_size=1,x2ap.level=debug,x2ap.max_size=1,rrc.level=debug,rrc.max_size=1",
34 log_filename: "${enb.log_filename}",
35
36 /* Enable remote API and Web interface */
37 com_addr: "${enb.addr}:9001",
38
39 /* RF driver configuration */
40 include "amarisoft_rf_driver.cfg",
41
42 mme_list: [
43 {
44 /* address of MME for S1AP connection. Must be modified if the MME
45 runs on a different host. */
46 mme_addr: "${enb.mme_addr}",
47 },
48 ],
49 /* GTP bind address (=address of the ethernet interface connected to
50 the MME). Must be modified if the MME runs on a different host. */
Andre Puschmann4b5a09a2020-04-14 22:24:00 +020051 gtp_addr: "${enb.gtp_bind_addr}",
Pau Espin Pedrol786a6bc2020-03-30 13:51:21 +020052
53 /* high 20 bits of SIB1.cellIdentifier */
Pau Espin Pedrol491f77c2020-04-20 14:20:43 +020054 enb_id: ${enb.id},
Pau Espin Pedrol786a6bc2020-03-30 13:51:21 +020055
56 /* list of cells */
57 cell_list: [
Andre Puschmanna0e69aa2020-04-06 14:51:31 +020058
Pau Espin Pedrolf46ae222020-04-17 16:23:54 +020059%for cell in enb.cell_list:
Andre Puschmanna0e69aa2020-04-06 14:51:31 +020060 {
Pau Espin Pedrolf46ae222020-04-17 16:23:54 +020061 dl_earfcn: ${cell.dl_earfcn},
62 rf_port: ${loop.index},
63 cell_id: ${cell.cell_id},
Pau Espin Pedrol154dc932020-04-20 17:02:08 +020064 n_id_cell: ${cell.pci},
Andre Puschmanna0e69aa2020-04-06 14:51:31 +020065 tac: 0x0001,
Pau Espin Pedrolf46ae222020-04-17 16:23:54 +020066 root_sequence_index: ${loop.index + 204}, /* PRACH root sequence index */
Andre Puschmanna0e69aa2020-04-06 14:51:31 +020067
68 scell_list: [
Pau Espin Pedrolf46ae222020-04-17 16:23:54 +020069%for scell_id in cell.scell_list:
70 { cell_id: ${scell_id}, cross_carrier_scheduling: false, scheduling_cell_id: ${cell.cell_id}, ul_allowed: true},
71%endfor
Andre Puschmanna0e69aa2020-04-06 14:51:31 +020072 ],
73 },
Pau Espin Pedrolf46ae222020-04-17 16:23:54 +020074%endfor
Andre Puschmanna0e69aa2020-04-06 14:51:31 +020075 ], /* cell_list */
76
77 /* default cell parameters */
78 cell_default: {
Pau Espin Pedrol786a6bc2020-03-30 13:51:21 +020079 /* Broadcasted PLMN identities */
80 plmn_list: [
81 "${enb.mcc}${enb.mnc}",
82 ],
83
Pau Espin Pedrol786a6bc2020-03-30 13:51:21 +020084 n_antenna_dl: 1, /* number of DL antennas */
85 n_antenna_ul: 1, /* number of UL antennas */
86 n_rb_dl: ${enb.num_prb}, /* Bandwidth: 25: 5 MHz, 50: 10 MHz, 75: 15 MHz, 100: 20 MHz */
87 cyclic_prefix: "normal",
88
89 phich_duration: "normal",
90 phich_resource: "1", /* ratio of NG */
91
92 /* System Information Block type 1 */
93 sib1: "amarisoft_sib1.asn",
94
95 /* other SIBs, in same order as the scheduling list in SIB 1 */
96 sib_sched_list: [ "amarisoft_sib23.asn" ],
97
98 si_coderate: 0.30, /* maximum code rate for SI/RA/P-RNTI messages */
99 si_pdcch_format: 2, /* 2 or 3. Log2 of the number of CCEs for PDCCH
100 for SI/RA/P-RNTI */
101
102 n_symb_cch: 0, /* number of symbols for CCH (0 = auto) */
103
104 /* PDSCH dedicated config (currently same for all UEs) */
105 pdsch_dedicated: {
106 p_a: 0,
107 },
108
109 /* If defined, force for number of CCEs for UE specific PDCCH to
110 2^pdcch_format. Otherwise it is computed from the reported
111 CQI. Range: 0 to 3. */
112 pdcch_format: 1,
113
114 /* if defined, force the PDSCH MCS for all UEs. Otherwise it is
115 computed from the reported CQI */
116 /* pdsch_mcs: 12, */
117
118 /* PUSCH dedicated config (currently same for all UEs) */
119 pusch_dedicated: {
120 beta_offset_ack_index: 9,
121 beta_offset_ri_index: 6,
122 beta_offset_cqi_index: 6,
123 },
124
125 /* MCS for Msg3 (=CCCH RRC Connection Request) */
126 pusch_msg3_mcs: 0,
127
128 /* this CQI value is assumed when none is received from the UE */
129 initial_cqi: 5,
130
131 /* if defined, force the PUSCH MCS for all UEs. Otherwise it is
132 computed from the last received SRS/PUSCH. */
133 // pusch_mcs: 18,
134
135 transmission_mode: ${enb.transmission_mode},
136
137 /* Scheduling request period (ms). Must be >= 40 for HD-FDD */
138 sr_period: 20,
139
140 /* CQI report config */
141 cqi_period: 40, /* period (ms). Must be >= 32 for HD-FDD */
142
143 /* RI reporting is done with a period of m_ri * cqi_period.
144 m_ri = 0 (default) disables RI reporting. */
145// m_ri: 8,
146
Andre Puschmanna0e69aa2020-04-06 14:51:31 +0200147 pucch_dedicated: {
148 /* ack/nack feedback mode when carrier aggregation is
149 enabled. It can be "cs" (for at most two scells) or "pucch3"
150 (used in all cases if more than two cells). */
151 ack_nack_feedback_mode_ca: "cs",
152
153 /* TDD ack/nack feedback mode when a rel 10 UE is detected. It
154 can be "bundling", "multiplexing", "cs" or "pucch3". By
155 default is it the same as tdd_ack_nack_feedback_mode. */
156 // tdd_ack_nack_feedback_mode_r10: "cs",
157
158 /* number of PUCCH 1b CS resources. It determines
159 the maximum number of UEs that can be scheduled in one TTI
160 using carrier aggregation with PUCCH 1b CS ack/nack feedback. */
161 n1_pucch_an_cs_count: 1,
162
163 /* number of resource blocks for PUCCH 3. It determines
164 the maximum number of UEs that can be scheduled in one TTI
165 using carrier aggregation with PUCCH 3 ack/nack feedback. */
166 n3_pucch_an_n_rb: 0,
167 },
168
Pau Espin Pedrol786a6bc2020-03-30 13:51:21 +0200169 /* SRS dedicated config. All UEs share these
170 parameters. srs_config_index and freq_domain_position are
171 allocated for each UE) */
172 srs_dedicated: {
173 srs_period: 80, /* period (ms). Must be >= 40 for HD-FDD */
174 srs_bandwidth: 1,
175 srs_hopping_bandwidth: 0,
176 },
177
178 /* MAC configuration (same for all UEs) */
179 mac_config: {
180 ul_max_harq_tx: 5, /* max number of HARQ transmissions for uplink */
181 dl_max_harq_tx: 5, /* max number of HARQ transmissions for downlink */
182 },
183
184 /* CPU load limitation */
185 pusch_max_its: 6, /* max number of turbo decoder iterations */
186
187 /* dynamic power control */
188 dpc: true,
189 dpc_pusch_snr_target: 15,
190 dpc_pucch_snr_target: 10,
191
192 /* RRC/UP ciphering algorithm preference. EEA0 is always the last. */
193 cipher_algo_pref: [],
194 /* RRC integrity algorithm preference. EIA0 is always the last. */
195 integ_algo_pref: [2, 1],
196
197 /* (in ms) send RRC connection release after this time of network
198 inactivity */
199 inactivity_timer: 10000,
200
201 /* SRB configuration */
202 srb_config: [
203 {
204 id: 1,
205 maxRetxThreshold: 32,
206 t_Reordering: 45,
207 t_PollRetransmit: 60,
208 },
209 {
210 id: 2 ,
211 maxRetxThreshold: 32,
212 t_Reordering: 45,
213 t_PollRetransmit: 60,
214 }
215 ],
216
217 /* DRB configuration */
218 drb_config: "amarisoft_drb.cfg",
Andre Puschmanna7f19832020-04-07 14:38:27 +0200219
220% if enb.enable_measurements:
221 /* measurement configuration */
222 meas_config_desc: {
223 a1_report_type: "${enb.a1_report_type}",
224 a1_${enb.a1_report_type}: ${enb.a1_report_value},
225 a1_hysteresis: ${enb.a1_hysteresis},
226 a1_time_to_trigger: ${enb.a1_time_to_trigger},
227 a2_report_type: "${enb.a2_report_type}",
228 a2_${enb.a2_report_type}: ${enb.a2_report_value},
229 a2_hysteresis: ${enb.a2_hysteresis},
230 a2_time_to_trigger: ${enb.a2_time_to_trigger},
231 a3_report_type: "${enb.a3_report_type}",
232 a3_offset: ${enb.a3_report_value},
233 a3_hysteresis: ${enb.a3_hysteresis},
234 a3_time_to_trigger: ${enb.a3_time_to_trigger},
235 },
236
237 /* measurement gap configuration */
238 meas_gap_config: "gp0",
239
240 /* if true, initiate a handover when a suitable measurement report
241 is received */
242 ho_from_meas: true,
243% endif
Pau Espin Pedrol786a6bc2020-03-30 13:51:21 +0200244 },
245}