##################################################################### # srsENB configuration file ##################################################################### ##################################################################### # eNB configuration # # enb_id: 20-bit eNB identifier. # mcc: Mobile Country Code # mnc: Mobile Network Code # mme_addr: IP address of MME for S1 connnection # gtp_bind_addr: Local IP address to bind for GTP connection # gtp_advertise_addr: IP address of eNB to advertise for DL GTP-U Traffic # s1c_bind_addr: Local IP address to bind for S1AP connection # s1c_bind_port: Source port for S1AP connection (0 means any) # n_prb: Number of Physical Resource Blocks (6,15,25,50,75,100) # tm: Transmission mode 1-4 (TM1 default) # nof_ports: Number of Tx ports (1 port default, set to 2 for TM2/3/4) # ##################################################################### [enb] enb_id = 0x19B mcc = 001 mnc = 01 mme_addr = 127.0.1.100 gtp_bind_addr = 127.0.1.1 s1c_bind_addr = 127.0.1.1 s1c_bind_port = 0 n_prb = 50 #tm = 4 #nof_ports = 2 ##################################################################### # eNB configuration files # # sib_config: SIB1, SIB2 and SIB3 configuration file # note: When enabling MBMS, use the sib.conf.mbsfn configuration file which includes SIB13 # rr_config: Radio Resources configuration file # rb_config: SRB/DRB configuration file ##################################################################### [enb_files] sib_config = sib.conf rr_config = rr.conf rb_config = rb.conf ##################################################################### # RF configuration # # dl_earfcn: EARFCN code for DL (only valid if a single cell is configured in rr.conf) # 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 (must be set if dl_freq is set) # device_name: Device driver family # Supported options: "auto" (uses first driver found), "UHD", "bladeRF", "soapy", "zmq" or "Sidekiq" # 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: "" # 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 ##################################################################### [rf] #dl_earfcn = 3350 tx_gain = 80 rx_gain = 40 #device_name = auto # 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 # And for 75 PRBs, also append ",master_clock_rate=15.36e6" to the device args # 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 = auto #time_adv_nsamples = auto # Example for ZMQ-based operation with TCP transport for I/Q samples device_name = zmq device_args = fail_on_disconnect=true,id=enb,tx_port0=tcp://*:2101,tx_port1=tcp://*:2201,rx_port0=tcp://localhost:2100,rx_port1=tcp://localhost:2200,id=enb,base_srate=23.04e6 ##################################################################### # Packet capture configuration # # MAC-layer packets are captured to a file in the compact format which can # be decoded by Wireshark. For decoding, use the UDP dissector and the UDP # heuristic dissection. Edit the preferences (Edit > Preferences > # Protocols > DLT_USER) for DLT_USER to add an entry for DLT=149 with # Protocol=udp. Further, enable the heuristic dissection in UDP under: # Analyze > Enabled Protocols > MAC-LTE > mac_lte_udp and MAC-NR > mac_nr_udp # For more information see: https://wiki.wireshark.org/MAC-LTE # Configuring this Wireshark preferences is needed for decoding the MAC PCAP # files as well as for the live network capture option. # # Please note that this setting will by default only capture MAC # frames on dedicated channels, and not SIB. You have to build with # WRITE_SIB_PCAP enabled in srsenb/src/stack/mac/mac.cc if you want # SIB to be part of the MAC pcap file. # # S1AP Packets are captured to a file in the compact format which can # be decoded by the Wireshark s1ap dissector with DLT 150. # To use the dissector, edit the preferences for DLT_USER to # add an entry with DLT=150, Payload Protocol=s1ap. # # mac_enable: Enable MAC layer packet captures (true/false) # filename: File path to use for LTE MAC packet captures # nr_filename: File path to use for NR MAC packet captures # s1ap_enable: Enable or disable the PCAP. # s1ap_filename: File name where to save the PCAP. # # mac_net_enable: Enable MAC layer packet captures sent over the network (true/false default: false) # bind_ip: Bind IP address for MAC network trace (default: "0.0.0.0") # bind_port: Bind port for MAC network trace (default: 5687) # client_ip: Client IP address for MAC network trace (default: "127.0.0.1") # client_port Client IP address for MAC network trace (default: 5847) ##################################################################### [pcap] #enable = false #filename = /tmp/enb_mac.pcap #nr_filename = /tmp/enb_mac_nr.pcap #s1ap_enable = false #s1ap_filename = /tmp/enb_s1ap.pcap #mac_net_enable = false #bind_ip = 0.0.0.0 #bind_port = 5687 #client_ip = 127.0.0.1 #client_port = 5847 ##################################################################### # 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, phy_lib, mac, rlc, pdcp, rrc, gtpu, s1ap, stack, 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 = warning all_hex_limit = 32 filename = /tmp/enb.log file_max_size = -1 [gui] enable = false ##################################################################### # Scheduler configuration options # # sched_policy: User MAC scheduling policy (E.g. time_rr, time_pf) # min_aggr_level: Optional minimum aggregation level index (l=log2(L) can be 0, 1, 2 or 3) # max_aggr_level: Optional maximum aggregation level index (l=log2(L) can be 0, 1, 2 or 3) # adaptive_aggr_level: Boolean flag to enable/disable adaptive aggregation level based on target BLER # pdsch_mcs: Optional fixed PDSCH MCS (ignores reported CQIs if specified) # pdsch_max_mcs: Optional PDSCH MCS limit # pusch_mcs: Optional fixed PUSCH MCS (ignores reported CQIs if specified) # pusch_max_mcs: Optional PUSCH MCS limit # min_nof_ctrl_symbols: Minimum number of control symbols # max_nof_ctrl_symbols: Maximum number of control symbols # pucch_multiplex_enable: Allow PUCCH HARQ to collide with PUSCH and other PUCCH # pucch_harq_max_rb: Maximum number of RB to be used for PUCCH on the edges of the grid. # If defined and greater than 0, the scheduler will avoid DL PDCCH allocations if # PUCCH HARQ falls outside this region # target_bler: Target BLER (in decimal) to achieve via adaptive link # max_delta_dl_cqi: Maximum shift in CQI for adaptive DL link # max_delta_ul_snr: Maximum shift in UL SNR for adaptive UL link # adaptive_dl_mcs_step_size: Step size or learning rate used in adaptive DL MCS link # adaptive_ul_mcs_step_size: Step size or learning rate used in adaptive UL MCS link # min_tpc_tti_interval: Minimum TTI interval between TPCs different than 1 # ul_snr_avg_alpha: Exponential Average alpha coefficient used in estimation of UL SNR # init_ul_snr_value: Initial UL SNR value used for computing MCS in the first UL grant # init_dl_cqi: DL CQI value used before any CQI report is available to the eNB # max_sib_coderate: Upper bound on SIB and RAR grants coderate # pdcch_cqi_offset: CQI offset in derivation of PDCCH aggregation level # nr_pdsch_mcs: Optional fixed NR PDSCH MCS (ignores reported CQIs if specified) # nr_pusch_mcs: Optional fixed NR PUSCH MCS (ignores reported CQIs if specified) # ##################################################################### [scheduler] #policy = time_pf #policy_args = 2 #min_aggr_level = 0 #max_aggr_level = 3 #adaptive_aggr_level = false #pdsch_mcs = -1 #pdsch_max_mcs = -1 #pusch_mcs = -1 #pusch_max_mcs = 16 #min_nof_ctrl_symbols = 1 #max_nof_ctrl_symbols = 3 #pucch_multiplex_enable = false #pucch_harq_max_rb = 0 #target_bler = 0.05 #max_delta_dl_cqi = 5 #max_delta_ul_snr = 5 #adaptive_dl_mcs_step_size = 0.001 #adaptive_ul_mcs_step_size = 0.001 #min_tpc_tti_interval = 1 #ul_snr_avg_alpha=0.05 #init_ul_snr_value=5 #init_dl_cqi=5 #max_sib_coderate=0.3 #pdcch_cqi_offset=0 nr_pdsch_mcs=28 #nr_pusch_mcs=28 ##################################################################### # eMBMS configuration options # # enable: Enable MBMS transmission in the eNB # m1u_multiaddr: Multicast address the M1-U socket will register to # m1u_if_addr: Address of the interface the M1-U interface will listen to for multicast packets # mcs: Modulation and Coding scheme for MBMS traffic # ##################################################################### [embms] #enable = false #m1u_multiaddr = 239.255.0.1 #m1u_if_addr = 127.0.1.201 #mcs = 20 ##################################################################### # Channel emulator options: # enable: Enable/disable internal Downlink/Uplink channel emulator # # -- AWGN Generator # awgn.enable: Enable/disable AWGN generator # awgn.snr: Target SNR in dB # # -- 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.awgn] #enable = false #snr = 30 [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.awgn] #enable = false #n0 = -30 [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 ##################################################################### # CFR configuration options # # The CFR module provides crest factor reduction for the transmitted signal. # # enable: Enable or disable the CFR. Default: disabled # # mode: manual: CFR threshold is set by cfr_manual_thres (default). # auto_ema: CFR threshold is adaptive based on the signal PAPR. Power avg. with Exponential Moving Average. # The time constant of the averaging can be tweaked with the ema_alpha parameter. # auto_cma: CFR threshold is adaptive based on the signal PAPR. Power avg. with Cumulative Moving Average. # Use with care, as CMA's increasingly slow response may be unsuitable for most use cases. # # strength: Ratio between amplitude-limited vs unprocessed signal (0 to 1). Default: 1 # manual_thres: Fixed manual clipping threshold for CFR manual mode. Default: 0.5 # auto_target_papr: Signal PAPR target (in dB) in CFR auto modes. output PAPR can be higher due to peak smoothing. Default: 8 # ema_alpha: Alpha coefficient for the power average in auto_ema mode. Default: 1/7 # ##################################################################### [cfr] #enable = false #mode = manual #manual_thres = 0.5 #strength = 1 #auto_target_papr = 8 #ema_alpha = 0.0143 ##################################################################### # Expert configuration options # # pusch_max_its: Maximum number of turbo decoder iterations (default: 4) # nr_pusch_max_its: Maximum number of LDPC iterations for NR (Default 10) # pusch_8bit_decoder: Use 8-bit for LLR representation and turbo decoder trellis computation (experimental) # nof_phy_threads: Selects the number of PHY threads (maximum: 4, minimum: 1, default: 3) # metrics_period_secs: Sets the period at which metrics are requested from the eNB # metrics_csv_enable: Write eNB metrics to CSV file. # metrics_csv_filename: File path to use for CSV metrics # report_json_enable: Write eNB report to JSON file (default: disabled) # report_json_filename: Report JSON filename (default: /tmp/enb_report.json) # report_json_asn1_oct: Prints ASN1 messages encoded as an octet string instead of plain text in the JSON report file # alarms_log_enable: Enable Alarms logging (default: disabled) # alarms_filename: Alarms logging filename (default: /tmp/alarms.log) # tracing_enable: Write source code tracing information to a file # tracing_filename: File path to use for tracing information # tracing_buffcapacity: Maximum capacity in bytes the tracing framework can store # stdout_ts_enable: Prints once per second the timestamp into stdout # tx_amplitude: Transmit amplitude factor (set 0-1 to reduce PAPR) # rrc_inactivity_timer Inactivity timeout used to remove UE context from RRC (in milliseconds) # max_mac_dl_kos: Maximum number of consecutive KOs in DL before triggering the UE's release (default: 100) # max_mac_ul_kos: Maximum number of consecutive KOs in UL before triggering the UE's release (default: 100) # max_prach_offset_us: Maximum allowed RACH offset (in us) # nof_prealloc_ues: Number of UE memory resources to preallocate during eNB initialization for faster UE creation (default: 8) # rlf_release_timer_ms: Time taken by eNB to release UE context after it detects an RLF # eea_pref_list: Ordered preference list for the selection of encryption algorithm (EEA) (default: EEA0, EEA2, EEA1) # eia_pref_list: Ordered preference list for the selection of integrity algorithm (EIA) (default: EIA2, EIA1, EIA0) # gtpu_tunnel_timeout: Time that GTPU takes to release indirect forwarding tunnel since the last received GTPU PDU (0 for no timer) # ts1_reloc_prep_timeout: S1AP TS 36.413 TS1RelocPrep Expiry Timeout value in milliseconds # ts1_reloc_overall_timeout: S1AP TS 36.413 TS1RelocOverall Expiry Timeout value in milliseconds # rlf_release_timer_ms: Time taken by eNB to release UE context after it detects a RLF # rlf_min_ul_snr_estim: SNR threshold in dB below which the enb is notified with RLF ko # s1_setup_max_retries: Maximum amount of retries to setup the S1AP connection. If this value is exceeded, an alarm is written to the log. -1 means infinity. # rx_gain_offset: RX Gain offset to add to rx_gain to calibrate RSRP readings ##################################################################### [expert] #pusch_max_its = 8 # These are half iterations #nr_pusch_max_its = 10 #pusch_8bit_decoder = false #nof_phy_threads = 3 #metrics_period_secs = 1 #metrics_csv_enable = false #metrics_csv_filename = /tmp/enb_metrics.csv #report_json_enable = true #report_json_filename = /tmp/enb_report.json #report_json_asn1_oct = false #alarms_log_enable = true #alarms_filename = /tmp/enb_alarms.log #tracing_enable = true #tracing_filename = /tmp/enb_tracing.log #tracing_buffcapacity = 1000000 #stdout_ts_enable = false #tx_amplitude = 0.6 #rrc_inactivity_timer = 30000 #max_mac_dl_kos = 100 #max_mac_ul_kos = 100 #max_prach_offset_us = 30 #nof_prealloc_ues = 8 #rlf_release_timer_ms = 4000 #lcid_padding = 3 #eea_pref_list = EEA0, EEA2, EEA1 #eia_pref_list = EIA2, EIA1, EIA0 #gtpu_tunnel_timeout = 0 #extended_cp = false #ts1_reloc_prep_timeout = 10000 #ts1_reloc_overall_timeout = 10000 #rlf_release_timer_ms = 4000 #rlf_min_ul_snr_estim = -2 #s1_setup_max_retries = -1 #rx_gain_offset = 62