blob: 24cd0d1878b510a11a19ea9b8db610b8e982534c [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
Pau Espin Pedrol6c778742020-04-20 12:15:06 +020068 ncell_list: [
69%for ncell in enb.cell_list:
70%if ncell.cell_id in cell.ncell_list:
71 { n_id_cell: ${ncell.pci}, dl_earfcn: ${ncell.dl_earfcn}, cell_id: ${ncell.cell_id}, tac: 1 },
72%endif
73%endfor
74 ],
75
Andre Puschmanna0e69aa2020-04-06 14:51:31 +020076 scell_list: [
Pau Espin Pedrolf46ae222020-04-17 16:23:54 +020077%for scell_id in cell.scell_list:
78 { cell_id: ${scell_id}, cross_carrier_scheduling: false, scheduling_cell_id: ${cell.cell_id}, ul_allowed: true},
79%endfor
Andre Puschmanna0e69aa2020-04-06 14:51:31 +020080 ],
81 },
Pau Espin Pedrolf46ae222020-04-17 16:23:54 +020082%endfor
Andre Puschmanna0e69aa2020-04-06 14:51:31 +020083 ], /* cell_list */
84
85 /* default cell parameters */
86 cell_default: {
Pau Espin Pedrol786a6bc2020-03-30 13:51:21 +020087 /* Broadcasted PLMN identities */
88 plmn_list: [
89 "${enb.mcc}${enb.mnc}",
90 ],
91
Pau Espin Pedrol786a6bc2020-03-30 13:51:21 +020092 n_antenna_dl: 1, /* number of DL antennas */
93 n_antenna_ul: 1, /* number of UL antennas */
94 n_rb_dl: ${enb.num_prb}, /* Bandwidth: 25: 5 MHz, 50: 10 MHz, 75: 15 MHz, 100: 20 MHz */
95 cyclic_prefix: "normal",
96
97 phich_duration: "normal",
98 phich_resource: "1", /* ratio of NG */
99
100 /* System Information Block type 1 */
101 sib1: "amarisoft_sib1.asn",
102
103 /* other SIBs, in same order as the scheduling list in SIB 1 */
104 sib_sched_list: [ "amarisoft_sib23.asn" ],
105
106 si_coderate: 0.30, /* maximum code rate for SI/RA/P-RNTI messages */
107 si_pdcch_format: 2, /* 2 or 3. Log2 of the number of CCEs for PDCCH
108 for SI/RA/P-RNTI */
109
110 n_symb_cch: 0, /* number of symbols for CCH (0 = auto) */
111
112 /* PDSCH dedicated config (currently same for all UEs) */
113 pdsch_dedicated: {
114 p_a: 0,
115 },
116
117 /* If defined, force for number of CCEs for UE specific PDCCH to
118 2^pdcch_format. Otherwise it is computed from the reported
119 CQI. Range: 0 to 3. */
120 pdcch_format: 1,
121
122 /* if defined, force the PDSCH MCS for all UEs. Otherwise it is
123 computed from the reported CQI */
124 /* pdsch_mcs: 12, */
125
126 /* PUSCH dedicated config (currently same for all UEs) */
127 pusch_dedicated: {
128 beta_offset_ack_index: 9,
129 beta_offset_ri_index: 6,
130 beta_offset_cqi_index: 6,
131 },
132
133 /* MCS for Msg3 (=CCCH RRC Connection Request) */
134 pusch_msg3_mcs: 0,
135
136 /* this CQI value is assumed when none is received from the UE */
137 initial_cqi: 5,
138
139 /* if defined, force the PUSCH MCS for all UEs. Otherwise it is
140 computed from the last received SRS/PUSCH. */
141 // pusch_mcs: 18,
142
143 transmission_mode: ${enb.transmission_mode},
144
145 /* Scheduling request period (ms). Must be >= 40 for HD-FDD */
146 sr_period: 20,
147
148 /* CQI report config */
149 cqi_period: 40, /* period (ms). Must be >= 32 for HD-FDD */
150
151 /* RI reporting is done with a period of m_ri * cqi_period.
152 m_ri = 0 (default) disables RI reporting. */
153// m_ri: 8,
154
Andre Puschmanna0e69aa2020-04-06 14:51:31 +0200155 pucch_dedicated: {
156 /* ack/nack feedback mode when carrier aggregation is
157 enabled. It can be "cs" (for at most two scells) or "pucch3"
158 (used in all cases if more than two cells). */
159 ack_nack_feedback_mode_ca: "cs",
160
161 /* TDD ack/nack feedback mode when a rel 10 UE is detected. It
162 can be "bundling", "multiplexing", "cs" or "pucch3". By
163 default is it the same as tdd_ack_nack_feedback_mode. */
164 // tdd_ack_nack_feedback_mode_r10: "cs",
165
166 /* number of PUCCH 1b CS resources. It determines
167 the maximum number of UEs that can be scheduled in one TTI
168 using carrier aggregation with PUCCH 1b CS ack/nack feedback. */
169 n1_pucch_an_cs_count: 1,
170
171 /* number of resource blocks for PUCCH 3. It determines
172 the maximum number of UEs that can be scheduled in one TTI
173 using carrier aggregation with PUCCH 3 ack/nack feedback. */
174 n3_pucch_an_n_rb: 0,
175 },
176
Pau Espin Pedrol786a6bc2020-03-30 13:51:21 +0200177 /* SRS dedicated config. All UEs share these
178 parameters. srs_config_index and freq_domain_position are
179 allocated for each UE) */
180 srs_dedicated: {
181 srs_period: 80, /* period (ms). Must be >= 40 for HD-FDD */
182 srs_bandwidth: 1,
183 srs_hopping_bandwidth: 0,
184 },
185
186 /* MAC configuration (same for all UEs) */
187 mac_config: {
188 ul_max_harq_tx: 5, /* max number of HARQ transmissions for uplink */
189 dl_max_harq_tx: 5, /* max number of HARQ transmissions for downlink */
190 },
191
192 /* CPU load limitation */
193 pusch_max_its: 6, /* max number of turbo decoder iterations */
194
195 /* dynamic power control */
196 dpc: true,
197 dpc_pusch_snr_target: 15,
198 dpc_pucch_snr_target: 10,
199
200 /* RRC/UP ciphering algorithm preference. EEA0 is always the last. */
201 cipher_algo_pref: [],
202 /* RRC integrity algorithm preference. EIA0 is always the last. */
203 integ_algo_pref: [2, 1],
204
205 /* (in ms) send RRC connection release after this time of network
206 inactivity */
207 inactivity_timer: 10000,
208
209 /* SRB configuration */
210 srb_config: [
211 {
212 id: 1,
213 maxRetxThreshold: 32,
214 t_Reordering: 45,
215 t_PollRetransmit: 60,
216 },
217 {
218 id: 2 ,
219 maxRetxThreshold: 32,
220 t_Reordering: 45,
221 t_PollRetransmit: 60,
222 }
223 ],
224
225 /* DRB configuration */
226 drb_config: "amarisoft_drb.cfg",
Andre Puschmanna7f19832020-04-07 14:38:27 +0200227
228% if enb.enable_measurements:
229 /* measurement configuration */
230 meas_config_desc: {
231 a1_report_type: "${enb.a1_report_type}",
232 a1_${enb.a1_report_type}: ${enb.a1_report_value},
233 a1_hysteresis: ${enb.a1_hysteresis},
234 a1_time_to_trigger: ${enb.a1_time_to_trigger},
235 a2_report_type: "${enb.a2_report_type}",
236 a2_${enb.a2_report_type}: ${enb.a2_report_value},
237 a2_hysteresis: ${enb.a2_hysteresis},
238 a2_time_to_trigger: ${enb.a2_time_to_trigger},
239 a3_report_type: "${enb.a3_report_type}",
240 a3_offset: ${enb.a3_report_value},
241 a3_hysteresis: ${enb.a3_hysteresis},
242 a3_time_to_trigger: ${enb.a3_time_to_trigger},
243 },
244
245 /* measurement gap configuration */
246 meas_gap_config: "gp0",
247
248 /* if true, initiate a handover when a suitable measurement report
249 is received */
250 ho_from_meas: true,
251% endif
Pau Espin Pedrol786a6bc2020-03-30 13:51:21 +0200252 },
253}