From fe47d52a7fe2e35cdb35b0cdec2c260b2c6e7237 Mon Sep 17 00:00:00 2001 From: herlesupreeth Date: Mon, 9 May 2022 16:29:34 +0200 Subject: [PATCH] Changes as per release 22.04 of srsRAN --- srsenb.yaml | 2 + srslte/Dockerfile | 26 +-- srslte/enb.conf | 210 +++++++++++++----- srslte/enb_init.sh | 23 +- srslte/epc.conf | 106 --------- srslte/mbms.conf | 47 ---- srslte/{drb.conf => rb.conf} | 114 +++++++++- srslte/rr.conf | 40 +++- srslte/rr_gnb.conf | 69 ++++++ srslte/ue.conf | 416 ----------------------------------- srslte/user_db.csv | 21 -- 11 files changed, 385 insertions(+), 689 deletions(-) delete mode 100644 srslte/epc.conf delete mode 100644 srslte/mbms.conf rename srslte/{drb.conf => rb.conf} (54%) create mode 100644 srslte/rr_gnb.conf delete mode 100644 srslte/ue.conf delete mode 100644 srslte/user_db.csv diff --git a/srsenb.yaml b/srsenb.yaml index 58e80b4..9e9616d 100644 --- a/srsenb.yaml +++ b/srsenb.yaml @@ -17,6 +17,8 @@ services: - /etc/localtime:/etc/localtime:ro env_file: - .env + environment: + - COMPONENT_NAME=enb expose: - "36412/sctp" - "2152/udp" diff --git a/srslte/Dockerfile b/srslte/Dockerfile index 8343c2a..fbcc6a0 100644 --- a/srslte/Dockerfile +++ b/srslte/Dockerfile @@ -35,30 +35,16 @@ RUN apt-get update && \ software-properties-common g++ make pkg-config libpython2-dev python-numpy swig libi2c-dev \ libboost-program-options-dev libconfig++-dev -# Install dependencies to build SoapySDR and Lime Suite +# Install SoapySDR and Lime Suite RUN add-apt-repository -y ppa:myriadrf/drivers && \ + add-apt-repository -y ppa:pothosware/framework && \ + add-apt-repository -y ppa:pothosware/support && \ apt update && \ - apt -y install libi2c-dev libusb-1.0-0-dev git g++ cmake libsqlite3-dev libwxgtk3.0-gtk3-dev freeglut3-dev \ - python3-distutils gnuplot libfltk1.3-dev liboctave-dev - -# Install SoapySDR from Source -RUN git clone https://github.com/pothosware/SoapySDR.git && \ - cd SoapySDR && \ - git checkout tags/soapy-sdr-0.7.2 -b soapy-sdr-0.7.2 && \ - mkdir build && cd build && cmake .. && \ - make -j`nproc` && make install && ldconfig - -# Install LimeSuite -RUN git clone https://github.com/myriadrf/LimeSuite.git && \ - cd LimeSuite && \ - git checkout tags/v20.10.0 -b v20.10.0 && \ - mkdir builddir && cd builddir && cmake .. && \ - make -j`nproc` && make install && ldconfig && \ - cd ../udev-rules && sh ./install.sh + apt -y install limesuite liblimesuite-dev limesuite-udev limesuite-images soapysdr-tools soapysdr-module-lms7 # UHD drivers for USRP RUN add-apt-repository ppa:ettusresearch/uhd && \ - apt update && apt -y install libuhd-dev libuhd3.15.0 uhd-host && \ + apt update && apt -y install libuhd-dev libuhd4.2.0 uhd-host && \ uhd_images_downloader # Get srsGUI, compile and install @@ -72,7 +58,7 @@ RUN git clone https://github.com/srsran/srsGUI && \ # Get srsLTE, compile and install RUN git clone https://github.com/srsran/srsRAN.git && \ cd srsRAN && \ - git checkout tags/release_21_04 && \ + git checkout tags/release_22_04 && \ mkdir build && cd build && \ cmake ../ && make -j`nproc` && make install && \ ldconfig diff --git a/srslte/enb.conf b/srslte/enb.conf index 60936f4..f2ba69c 100644 --- a/srslte/enb.conf +++ b/srslte/enb.conf @@ -12,6 +12,7 @@ # 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) @@ -24,47 +25,47 @@ mnc = MNC mme_addr = MME_IP gtp_bind_addr = SRS_ENB_IP s1c_bind_addr = SRS_ENB_IP -n_prb = 25 +s1c_bind_port = 0 +n_prb = 50 #tm = 4 #nof_ports = 2 ##################################################################### -# eNB configuration files +# 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 +# note: When enabling MBMS, use the sib.conf.mbsfn configuration file which includes SIB13 # rr_config: Radio Resources configuration file -# drb_config: DRB configuration file +# rb_config: SRB/DRB configuration file ##################################################################### [enb_files] -sib_config = sib.conf -rr_config = rr.conf -drb_config = drb.conf +sib_config = /etc/srsran/sib.conf +rr_config = /etc/srsran/rr.conf +rb_config = /etc/srsran/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). +# 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 found), "UHD", "bladeRF", "soapy" or "zmq". +# 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. +# Default "auto". B210 USRP: 100 samples, bladeRF: 27 ##################################################################### [rf] -# dl_earfcn = 3150 +#dl_earfcn = 3150 tx_gain = 80 rx_gain = 40 -#dl_earfcn = 6300 #tx_gain = 56 #rx_gain = 38 #device_name = soapy @@ -90,48 +91,50 @@ rx_gain = 40 ##################################################################### # Packet capture configuration # -# MAC-layer packets are captured to file a the compact format decoded -# by the Wireshark. For decoding, use the UDP dissector and the UDP +# 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. +# 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 file in the compact format decoded by -# the Wireshark s1ap dissector and with DLT 150. +# 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) -# mac_filename: File path to use for packet captures +# 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_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 = /mnt/srslte/enb.pcap -s1ap_enable = false -s1ap_filename = /mnt/srslte/enb_s1ap.pcap +#enable = false +#filename = /mnt/srslte/enb_mac.pcap +#nr_filename = /mnt/srslte/enb_mac_nr.pcap +#s1ap_enable = false +#s1ap_filename = /mnt/srslte/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 +#mac_net_enable = false +#bind_ip = 0.0.0.0 +#bind_port = 5687 +#client_ip = 127.0.0.1 +#client_port = 5847 ##################################################################### # Log configuration @@ -166,19 +169,40 @@ 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 +# 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 +# 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 -#max_aggr_level = -1 +#min_aggr_level = 0 +#max_aggr_level = 3 +#adaptive_aggr_level = false #pdsch_mcs = -1 #pdsch_max_mcs = -1 #pusch_mcs = -1 @@ -186,14 +210,28 @@ enable = false #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 addres the M1-U socket will register to -# m1u_if_addr: Address of the inteferface the M1-U interface will listen for multicast packets. -# mcs: Modulation and Coding scheme for MBMS traffic. +# 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] @@ -206,7 +244,7 @@ enable = false ##################################################################### # Channel emulator options: -# enable: Enable/Disable internal Downlink/Uplink channel emulator +# enable: Enable/disable internal Downlink/Uplink channel emulator # # -- AWGN Generator # awgn.enable: Enable/disable AWGN generator @@ -219,8 +257,8 @@ enable = false # -- 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.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 # @@ -230,7 +268,7 @@ enable = false # 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.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 @@ -293,29 +331,72 @@ enable = false #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) -# 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. +# 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. -# 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. -# pregenerate_signals: Pregenerate uplink signals after attach. Improves CPU performance. +# 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: /mnt/srslte/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: /mnt/srslte/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). +# 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) -# 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). -# +# 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 @@ -323,15 +404,28 @@ enable = false #metrics_csv_filename = /mnt/srslte/enb_metrics.csv #report_json_enable = true #report_json_filename = /mnt/srslte/enb_report.json +#report_json_asn1_oct = false #alarms_log_enable = true #alarms_filename = /mnt/srslte/enb_alarms.log #tracing_enable = true #tracing_filename = /mnt/srslte/enb_tracing.log #tracing_buffcapacity = 1000000 -#pregenerate_signals = false +#stdout_ts_enable = false #tx_amplitude = 0.6 #rrc_inactivity_timer = 30000 -#max_nof_kos = 100 +#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 diff --git a/srslte/enb_init.sh b/srslte/enb_init.sh index 0dab77c..f5462be 100755 --- a/srslte/enb_init.sh +++ b/srslte/enb_init.sh @@ -31,16 +31,25 @@ export IP_ADDR=$(awk 'END{print $1}' /etc/hosts) mkdir -p /etc/srsran cp /mnt/srslte/enb.conf /etc/srsran -cp /mnt/srslte/drb.conf /etc/srsran -cp /mnt/srslte/epc.conf /etc/srsran -cp /mnt/srslte/mbms.conf /etc/srsran -cp /mnt/srslte/rr.conf /etc/srsran +cp /mnt/srslte/rb.conf /etc/srsran cp /mnt/srslte/sib.conf /etc/srsran -cp /mnt/srslte/ue.conf /etc/srsran -cp /mnt/srslte/user_db.csv /etc/srsran + +if [[ -z "$COMPONENT_NAME" ]]; then + echo "Error: COMPONENT_NAME environment variable not set"; exit 1; +elif [[ "$COMPONENT_NAME" =~ ^(gnb$) ]]; then + echo "Deploying component: '$COMPONENT_NAME'" + cp /mnt/srslte/rr_gnb.conf /etc/srsran/rr.conf + sed -i 's|MME_IP|'$AMF_IP'|g' /etc/srsran/enb.conf +elif [[ "$COMPONENT_NAME" =~ ^(enb$) ]]; then + echo "Deploying component: '$COMPONENT_NAME'" + cp /mnt/srslte/rr.conf /etc/srsran + sed -i 's|MME_IP|'$MME_IP'|g' /etc/srsran/enb.conf +else + echo "Error: Invalid component name: '$COMPONENT_NAME'" +fi + sed -i 's|MNC|'$MNC'|g' /etc/srsran/enb.conf sed -i 's|MCC|'$MCC'|g' /etc/srsran/enb.conf -sed -i 's|MME_IP|'$MME_IP'|g' /etc/srsran/enb.conf sed -i 's|SRS_ENB_IP|'$SRS_ENB_IP'|g' /etc/srsran/enb.conf # Sync docker time diff --git a/srslte/epc.conf b/srslte/epc.conf deleted file mode 100644 index 5152c3c..0000000 --- a/srslte/epc.conf +++ /dev/null @@ -1,106 +0,0 @@ -##################################################################### -# srsEPC configuration file -##################################################################### - -##################################################################### -# MME configuration -# -# mme_code: 8-bit MME code identifies the MME within a group. -# mme_group: 16-bit MME group identifier. -# tac: 16-bit Tracking Area Code. -# mcc: Mobile Country Code -# mnc: Mobile Network Code -# apn: Set Access Point Name (APN) -# mme_bind_addr: IP bind addr to listen for eNB S1-MME connnections -# dns_addr: DNS server address for the UEs -# encryption_algo: Preferred encryption algorithm for NAS layer -# (supported: EEA0 (default), EEA1, EEA2, EEA3) -# integrity_algo: Preferred integrity protection algorithm for NAS -# (supported: EIA0 (rejected by most UEs), EIA1 (default), EIA2, EIA3 -# paging_timer: Value of paging timer in seconds (T3413) -# -##################################################################### -[mme] -mme_code = 0x1a -mme_group = 0x0001 -tac = 0x0007 -mcc = 001 -mnc = 01 -mme_bind_addr = 127.0.1.100 -apn = srsapn -dns_addr = 8.8.8.8 -encryption_algo = EEA0 -integrity_algo = EIA1 -paging_timer = 2 - -##################################################################### -# HSS configuration -# -# db_file: Location of .csv file that stores UEs information. -# -##################################################################### -[hss] -db_file = user_db.csv - -##################################################################### -# SP-GW configuration -# -# gtpu_bind_addr: GTP-U bind address. -# sgi_if_addr: SGi TUN interface IP address. -# sgi_if_name: SGi TUN interface name. -# max_paging_queue: Maximum packets in paging queue (per UE). -# -##################################################################### - -[spgw] -gtpu_bind_addr = 127.0.1.100 -sgi_if_addr = 172.16.0.1 -sgi_if_name = srs_spgw_sgi -max_paging_queue = 100 - -#################################################################### -# PCAP configuration -# -# Packets are captured to file in the compact format decoded by -# the Wireshark s1ap dissector and with DLT 150. -# To use the dissector, edit the preferences for DLT_USER to -# add an entry with DLT=150, Payload Protocol=s1ap. -# -# enable: Enable or disable the PCAP. -# filename: File name where to save the PCAP. -# -#################################################################### -[pcap] -enable = false -filename = /tmp/epc.pcap - -#################################################################### -# Log configuration -# -# Log levels can be set for individual layers. "all_level" sets log -# level for all layers unless otherwise configured. -# Format: e.g. s1ap_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. s1ap_hex_limit = 32 -# -# Logging layers: nas, s1ap, mme_gtpc, spgw_gtpc, gtpu, spgw, hss, 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 -##################################################################### -[log] -all_level = info -all_hex_limit = 32 -filename = /tmp/epc.log - -#nas_level = debug -#s1ap_level = debug -#mme_gtpc_level = debug -#spgw_gtpc_level = debug -#gtpu_level = debug -#spgw_level = debug -#hss_level = debug diff --git a/srslte/mbms.conf b/srslte/mbms.conf deleted file mode 100644 index 9c2cca0..0000000 --- a/srslte/mbms.conf +++ /dev/null @@ -1,47 +0,0 @@ -##################################################################### -# srsMBMS configuration file -##################################################################### - -##################################################################### -# MBMS-GW configuration -# -# name: MBMS-GW name -# sgi_mb_if_name: SGi-mb TUN interface name -# sgi_mb_if_addr: SGi-mb interface IP address -# sgi_mb_if_mask: SGi-mb interface IP mask -# m1u_multi_addr: Multicast group for eNBs (TODO this should be setup with M2/M3) -# m1u_multi_if: IP of local interface for multicast traffic -# m1u_multi_ttl: TTL for M1-U multicast traffic -# -##################################################################### -[mbms_gw] -name = srsmbmsgw01 -sgi_mb_if_name = sgi_mb -sgi_mb_if_addr = 172.16.0.254 -sgi_mb_if_mask = 255.255.255.255 -m1u_multi_addr = 239.255.0.1 -m1u_multi_if = 127.0.1.200 -m1u_multi_ttl = 1 - -#################################################################### -# Log configuration -# -# Log levels can be set for individual layers. "all_level" sets log -# level for all layers unless otherwise configured. -# Format: e.g. s1ap_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. s1ap_hex_limit = 32 -# -# Logging layers: mbms_gw, 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 -##################################################################### -[log] -all_level = debug -all_hex_limit = 32 -filename = /tmp/mbms.log diff --git a/srslte/drb.conf b/srslte/rb.conf similarity index 54% rename from srslte/drb.conf rename to srslte/rb.conf index e32578b..d50c121 100644 --- a/srslte/drb.conf +++ b/srslte/rb.conf @@ -1,8 +1,44 @@ - // All times are in ms. Use -1 for infinity, where available -qci_config = ( +// 4G Section +// srb1_config = { +// rlc_config = { +// ul_am = { +// t_poll_retx = 45; +// poll_pdu = -1; +// poll_byte = -1; +// max_retx_thresh = 4; +// }; +// dl_am = { +// t_reordering = 35; +// t_status_prohibit = 0; +// }; +// enb_specific = { +// dl_max_retx_thresh = 32; +// }; +// }; +// } + +// srb2_config = { +// rlc_config = { +// ul_am = { +// t_poll_retx = 45; +// poll_pdu = -1; +// poll_byte = -1; +// max_retx_thresh = 4; +// }; +// dl_am = { +// t_reordering = 35; +// t_status_prohibit = 0; +// }; +// enb_specific = { +// dl_max_retx_thresh = 32; +// }; +// }; +// } + +qci_config = ( { qci=1; pdcp_config = { @@ -24,6 +60,9 @@ qci_config = ( bucket_size_duration = 100; log_chan_group = 1; }; + enb_specific = { + dl_max_retx_thresh = 32; + }; }, { qci=2; @@ -46,6 +85,9 @@ qci_config = ( bucket_size_duration = 100; log_chan_group = 1; }; + enb_specific = { + dl_max_retx_thresh = 32; + }; }, { qci=5; @@ -71,9 +113,12 @@ qci_config = ( bucket_size_duration = 100; log_chan_group = 2; }; + enb_specific = { + dl_max_retx_thresh = 32; + }; }, { - qci=7; + qci = 7; pdcp_config = { discard_timer = -1; pdcp_sn_size = 12; @@ -93,9 +138,12 @@ qci_config = ( bucket_size_duration = 100; log_chan_group = 2; }; + enb_specific = { + dl_max_retx_thresh = 32; + }; }, { - qci=9; + qci = 9; pdcp_config = { discard_timer = 150; status_report_required = true; @@ -118,6 +166,62 @@ qci_config = ( bucket_size_duration = 100; log_chan_group = 3; }; + enb_specific = { + dl_max_retx_thresh = 32; + }; } - ); + +// 5G Section +five_qi_config = ( +{ + five_qi = 7; + pdcp_nr_config = { + drb = { + discard_timer = 50; + pdcp_sn_size_ul = 18; + pdcp_sn_size_dl = 18; + }; + t_reordering = 50; + }; + rlc_config = { + um_bi_dir = { + ul_um = { + sn_field_len = 12; + }; + dl_um = { + sn_field_len = 12; + t_reassembly = 50; + }; + }; + }; +}, +{ + five_qi = 9; + pdcp_nr_config = { + drb = { + discard_timer = 50; + pdcp_sn_size_ul = 18; + pdcp_sn_size_dl = 18; + }; + t_reordering = 50; + }; + rlc_config = { + am = { + ul_am = { + sn_field_len = 12; + t_poll_retx = 50; + poll_pdu = 4; + poll_byte = 3000; + max_retx_thres = 4; + }; + dl_am = { + sn_field_len = 12; + t_reassembly = 50; + t_status_prohibit = 50; + }; + }; + }; +} +); + diff --git a/srslte/rr.conf b/srslte/rr.conf index e871eb8..21d6afb 100644 --- a/srslte/rr.conf +++ b/srslte/rr.conf @@ -45,8 +45,8 @@ phy_cnfg = simultaneousAckCQI = true; period = 40; // in ms //subframe = [0, 10, 20, 30]; // Optional vector of subframe indices every period where CQI resources will be allocated (default uses all) - nof_prb = 1; m_ri = 8; // RI period in CQI period + //subband_k = 1; // If enabled and > 0, configures sub-band CQI reporting and defines K (see 36.213 7.2.2). If disabled, configures wideband CQI }; }; @@ -59,12 +59,17 @@ cell_list = pci = 1; // root_seq_idx = 204; dl_earfcn = 3150; + //dl_earfcn = 6300; //ul_earfcn = 21400; ho_active = false; //meas_gap_period = 0; // 0 (inactive), 40 or 80 + //meas_gap_offset_subframe = [6, 12, 18, 24, 30]; // target_pusch_sinr = -1; // target_pucch_sinr = -1; + // enable_phr_handling = false; + // min_phr_thres = 0; // allowed_meas_bw = 6; + // t304 = 2000; // in msec. possible values: 50, 100, 150, 200, 500, 1000, 2000 // CA cells scell_list = ( @@ -80,17 +85,34 @@ cell_list = pci = 2; //direct_forward_path_available = false; //allowed_meas_bw = 6; + //cell_individual_offset = 0; } ); - // ReportCfg (only A3 supported) - meas_report_desc = { - a3_report_type = "RSRP"; - a3_offset = 6; - a3_hysteresis = 0; - a3_time_to_trigger = 480; - rsrq_config = 4; - }; + // Select measurement report configuration (all reports are combined with all measurement objects) + meas_report_desc = + ( + { + eventA = 3 + a3_offset = 6; + hysteresis = 0; + time_to_trigger = 480; + trigger_quant = "RSRP"; + max_report_cells = 1; + report_interv = 120; + report_amount = 1; + } + ); + meas_quant_desc = { + // averaging filter coefficient + rsrq_config = 4; + rsrp_config = 4; + }; } // Add here more cells ); + +nr_cell_list = +( + // no NR cells +); \ No newline at end of file diff --git a/srslte/rr_gnb.conf b/srslte/rr_gnb.conf new file mode 100644 index 0000000..5da8b6e --- /dev/null +++ b/srslte/rr_gnb.conf @@ -0,0 +1,69 @@ +mac_cnfg = +{ + phr_cnfg = + { + dl_pathloss_change = "dB3"; // Valid: 1, 3, 6 or INFINITY + periodic_phr_timer = 50; + prohibit_phr_timer = 0; + }; + ulsch_cnfg = + { + max_harq_tx = 4; + periodic_bsr_timer = 20; // in ms + retx_bsr_timer = 320; // in ms + }; + + time_alignment_timer = -1; // -1 is infinity +}; + +phy_cnfg = +{ + phich_cnfg = + { + duration = "Normal"; + resources = "1/6"; + }; + + pusch_cnfg_ded = + { + beta_offset_ack_idx = 6; + beta_offset_ri_idx = 6; + beta_offset_cqi_idx = 6; + }; + + // PUCCH-SR resources are scheduled on time-frequeny domain first, then multiplexed in the same resource. + sched_request_cnfg = + { + dsr_trans_max = 64; + period = 20; // in ms + //subframe = [1, 11]; // Optional vector of subframe indices allowed for SR transmissions (default uses all) + nof_prb = 1; // number of PRBs on each extreme used for SR (total prb is twice this number) + }; + cqi_report_cnfg = + { + mode = "periodic"; + simultaneousAckCQI = true; + period = 40; // in ms + //subframe = [0, 10, 20, 30]; // Optional vector of subframe indices every period where CQI resources will be allocated (default uses all) + m_ri = 8; // RI period in CQI period + //subband_k = 1; // If enabled and > 0, configures sub-band CQI reporting and defines K (see 36.213 7.2.2). If disabled, configures wideband CQI + }; +}; + +cell_list = +( + +); + +nr_cell_list = +( + { + rf_port = 0; + cell_id = 1; + root_seq_idx = 1; + tac = 1; + pci = 500; + dl_arfcn = 368500; + band = 3; + } +); diff --git a/srslte/ue.conf b/srslte/ue.conf deleted file mode 100644 index 7c1cf96..0000000 --- a/srslte/ue.conf +++ /dev/null @@ -1,416 +0,0 @@ -##################################################################### -# srsUE configuration file -##################################################################### - -##################################################################### -# RF configuration -# -# freq_offset: Uplink and Downlink optional frequency offset (in Hz) -# tx_gain: Transmit gain (dB). -# rx_gain: Optional receive gain (dB). If disabled, AGC if enabled -# -# nof_antennas: Number of antennas per carrier (all carriers have the same number of antennas) -# device_name: Device driver family. Supported options: "auto" (uses first found), "UHD" or "bladeRF" -# 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: "" -# device_args_2: Arguments for the RF device driver 2. -# device_args_3: Arguments for the RF device driver 3. -# 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. -# continuous_tx: Transmit samples continuously to the radio or on bursts (auto/yes/no). -# Default is auto (yes for UHD, no for rest) -##################################################################### -[rf] -freq_offset = 0 -tx_gain = 80 -#rx_gain = 40 - -#nof_antennas = 1 - -# 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 - -# 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 -#continuous_tx = auto - -# Example for ZMQ-based operation with TCP transport for I/Q samples -#device_name = zmq -#device_args = tx_port=tcp://*:2001,rx_port=tcp://localhost:2000,id=ue,base_srate=23.04e6 - -##################################################################### -# EUTRA RAT configuration -# -# dl_earfcn: Downlink EARFCN list. -# -# Optional parameters: -# dl_freq: Override DL frequency corresponding to dl_earfcn -# ul_freq: Override UL frequency corresponding to dl_earfcn -# nof_carriers: Number of carriers -##################################################################### -[rat.eutra] -dl_earfcn = 3350 -#nof_carriers = 1 - -##################################################################### -# NR RAT configuration -# -# Optional parameters: -# bands: List of support NR bands seperated by a comma (default 78) -# nof_carriers: Number of NR carriers (must be at least 1 for NR support) -##################################################################### -[rat.nr] -# bands = 78 -# nof_carriers = 0 - -##################################################################### -# Packet capture configuration -# -# Packet capture is supported at the MAC, MAC_NR, and NAS layer. -# MAC-layer packets are captured to file a the compact format decoded -# by the 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 -# Using the same filename for mac_filename and mac_nr_filename writes both -# MAC-LTE and MAC-NR to the same file allowing a better analysis. -# NAS-layer packets are dissected with DLT=148, and Protocol = nas-eps. -# -# enable: Enable packet captures of layers (mac/mac_nr/nas/none) multiple option list -# mac_filename: File path to use for MAC packet capture -# mac_nr_filename: File path to use for MAC NR packet capture -# nas_filename: File path to use for NAS packet capture -##################################################################### -[pcap] -enable = none -mac_filename = /tmp/ue_mac.pcap -mac_nr_filename = /tmp/ue_mac_nr.pcap -nas_filename = /tmp/ue_nas.pcap - -##################################################################### -# 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, mac, rlc, pdcp, rrc, nas, gw, usim, 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 -phy_lib_level = none -all_hex_limit = 32 -filename = /tmp/ue.log -file_max_size = -1 - -##################################################################### -# USIM configuration -# -# mode: USIM mode (soft/pcsc) -# algo: Authentication algorithm (xor/milenage) -# op/opc: 128-bit Operator Variant Algorithm Configuration Field (hex) -# - Specify either op or opc (only used in milenage) -# k: 128-bit subscriber key (hex) -# imsi: 15 digit International Mobile Subscriber Identity -# imei: 15 digit International Mobile Station Equipment Identity -# pin: PIN in case real SIM card is used -# reader: Specify card reader by it's name as listed by 'pcsc_scan'. If empty, try all available readers. -##################################################################### -[usim] -mode = soft -algo = xor -#opc = 63BFA50EE6523365FF14C1F45F88737D -k = 00112233445566778899aabbccddeeff -imsi = 001010123456789 -imei = 353490069873319 -#reader = -#pin = 1234 - -##################################################################### -# RRC configuration -# -# ue_category: Sets UE category (range 1-5). Default: 4 -# release: UE Release (8 to 15) -# feature_group: Hex value of the featureGroupIndicators field in the -# UECapabilityInformation message. Default 0xe6041000 -# mbms_service_id: MBMS service id for autostarting MBMS reception -# (default -1 means disabled) -# mbms_service_port: Port of the MBMS service -# nr_measurement_pci: NR PCI for the simulated NR measurement. Default: 500 -# nr_short_sn_support: Announce PDCP short SN support. Default: true -##################################################################### -[rrc] -#ue_category = 4 -#release = 15 -#feature_group = 0xe6041000 -#mbms_service_id = -1 -#mbms_service_port = 4321 - -##################################################################### -# NAS configuration -# -# apn: Set Access Point Name (APN) -# apn_protocol: Set APN protocol (IPv4, IPv6 or IPv4v6.) -# user: Username for CHAP authentication -# pass: Password for CHAP authentication -# force_imsi_attach: Whether to always perform an IMSI attach -# eia: List of integrity algorithms included in UE capabilities -# Supported: 1 - Snow3G, 2 - AES -# eea: List of ciphering algorithms included in UE capabilities -# Supported: 0 - NULL, 1 - Snow3G, 2 - AES -##################################################################### -[nas] -#apn = internetinternet -#apn_protocol = ipv4 -#user = srsuser -#pass = srspass -#force_imsi_attach = false -#eia = 1,2 -#eea = 0,1,2 - -##################################################################### -# GW configuration -# -# netns: Network namespace to create TUN device. Default: empty -# ip_devname: Name of the tun_srsue device. Default: tun_srsue -# ip_netmask: Netmask of the tun_srsue device. Default: 255.255.255.0 -##################################################################### -[gw] -#netns = -#ip_devname = tun_srsue -#ip_netmask = 255.255.255.0 - -##################################################################### -# GUI configuration -# -# Simple GUI displaying PDSCH constellation and channel freq response. -# (Requires building with srsGUI) -# enable: Enable the graphical interface (true/false) -##################################################################### -[gui] -enable = false - -##################################################################### -# Channel emulator options: -# enable: Enable/Disable internal Downlink/Uplink channel emulator -# -# -- AWGN Generator -# awgn.enable: Enable/disable AWGN generator -# awgn.snr: SNR in dB -# awgn.signal_power: Received signal power in decibels full scale (dBfs) -# -# -- 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 - -##################################################################### -# PHY configuration options -# -# rx_gain_offset: RX Gain offset to add to rx_gain to calibrate RSRP readings -# prach_gain: PRACH gain (dB). If defined, forces a gain for the tranmsission of PRACH only., -# Default is to use tx_gain in [rf] section. -# cqi_max: Upper bound on the maximum CQI to be reported. Default 15. -# cqi_fixed: Fixes the reported CQI to a constant value. Default disabled. -# snr_ema_coeff: Sets the SNR exponential moving average coefficient (Default 0.1) -# snr_estim_alg: Sets the noise estimation algorithm. (Default refs) -# Options: pss: use difference between received and known pss signal, -# refs: use difference between noise references and noiseless (after filtering) -# empty: use empty subcarriers in the boarder of pss/sss signal -# pdsch_max_its: Maximum number of turbo decoder iterations (Default 4) -# pdsch_meas_evm: Measure PDSCH EVM, increases CPU load (default false) -# nof_phy_threads: Selects the number of PHY threads (maximum 4, minimum 1, default 3) -# equalizer_mode: Selects equalizer mode. Valid modes are: "mmse", "zf" or any -# non-negative real number to indicate a regularized zf coefficient. -# Default is MMSE. -# correct_sync_error: Channel estimator measures and pre-compensates time synchronization error. Increases CPU usage, -# improves PDSCH decoding in high SFO and high speed UE scenarios. -# sfo_ema: EMA coefficient to average sample offsets used to compute SFO -# sfo_correct_period: Period in ms to correct sample time to adjust for SFO -# sss_algorithm: Selects the SSS estimation algorithm. Can choose between -# {full, partial, diff}. -# estimator_fil_auto: The channel estimator smooths the channel estimate with an adaptative filter. -# estimator_fil_stddev: Sets the channel estimator smooth gaussian filter standard deviation. -# estimator_fil_order: Sets the channel estimator smooth gaussian filter order (even values perform better). -# The taps are [w, 1-2w, w] -# -# snr_to_cqi_offset: Sets an offset in the SNR to CQI table. This is used to adjust the reported CQI. -# -# interpolate_subframe_enabled: Interpolates in the time domain the channel estimates within 1 subframe. Default is to average. -# -# pdsch_csi_enabled: Stores the Channel State Information and uses it for weightening the softbits. It is only -# used in TM1. It is True by default. -# -# pdsch_8bit_decoder: Use 8-bit for LLR representation and turbo decoder trellis computation (Experimental) -# 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) -# -# in_sync_rsrp_dbm_th: RSRP threshold (in dBm) above which the UE considers to be in-sync -# in_sync_snr_db_th: SNR threshold (in dB) above which the UE considers to be in-sync -# nof_in_sync_events: Number of PHY in-sync events before sending an in-sync event to RRC -# nof_out_of_sync_events: Number of PHY out-sync events before sending an out-sync event to RRC -# -##################################################################### -[phy] -#rx_gain_offset = 62 -#prach_gain = 30 -#cqi_max = 15 -#cqi_fixed = 10 -#snr_ema_coeff = 0.1 -#snr_estim_alg = refs -#pdsch_max_its = 8 # These are half iterations -#pdsch_meas_evm = false -#nof_phy_threads = 3 -#equalizer_mode = mmse -#correct_sync_error = false -#sfo_ema = 0.1 -#sfo_correct_period = 10 -#sss_algorithm = full -#estimator_fil_auto = false -#estimator_fil_stddev = 1.0 -#estimator_fil_order = 4 -#snr_to_cqi_offset = 0.0 -#interpolate_subframe_enabled = false -#pdsch_csi_enabled = true -#pdsch_8bit_decoder = false -#force_ul_amplitude = 0 - -#in_sync_rsrp_dbm_th = -130.0 -#in_sync_snr_db_th = 3.0 -#nof_in_sync_events = 10 -#nof_out_of_sync_events = 20 - -##################################################################### -# Simulation configuration options -# -# The UE simulation supports turning on and off airplane mode in the UE. -# The actions are carried periodically until the UE is stopped. -# -# airplane_t_on_ms: Time to leave airplane mode turned on (in ms) -# -# airplane_t_off_ms: Time to leave airplane mode turned off (in ms) -# -##################################################################### -[sim] -#airplane_t_on_ms = -1 -#airplane_t_off_ms = -1 - -##################################################################### -# General configuration options -# -# metrics_csv_enable: Write UE metrics to CSV file. -# -# metrics_period_secs: Sets the period at which metrics are requested from the UE. -# -# metrics_csv_filename: File path to use for CSV metrics. -# -# 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. -# -# have_tti_time_stats: Calculate TTI execution statistics using system clock -# -##################################################################### -[general] -#metrics_csv_enable = false -#metrics_period_secs = 1 -#metrics_csv_filename = /tmp/ue_metrics.csv -#have_tti_time_stats = true -#tracing_enable = true -#tracing_filename = /tmp/ue_tracing.log -#tracing_buffcapacity = 1000000 diff --git a/srslte/user_db.csv b/srslte/user_db.csv deleted file mode 100644 index d7be0a9..0000000 --- a/srslte/user_db.csv +++ /dev/null @@ -1,21 +0,0 @@ -# -# .csv to store UE's information in HSS -# Kept in the following format: "Name,Auth,IMSI,Key,OP_Type,OP/OPc,AMF,SQN,QCI,IP_alloc" -# -# Name: Human readable name to help distinguish UE's. Ignored by the HSS -# Auth: Authentication algorithm used by the UE. Valid algorithms are XOR -# (xor) and MILENAGE (mil) -# IMSI: UE's IMSI value -# Key: UE's key, where other keys are derived from. Stored in hexadecimal -# OP_Type: Operator's code type, either OP or OPc -# OP/OPc: Operator Code/Cyphered Operator Code, stored in hexadecimal -# AMF: Authentication management field, stored in hexadecimal -# SQN: UE's Sequence number for freshness of the authentication -# QCI: QoS Class Identifier for the UE's default bearer. -# IP_alloc: IP allocation stratagy for the SPGW. -# With 'dynamic' the SPGW will automatically allocate IPs -# With a valid IPv4 (e.g. '172.16.0.2') the UE will have a statically assigned IP. -# -# Note: Lines starting by '#' are ignored and will be overwritten -ue1,xor,001010123456789,00112233445566778899aabbccddeeff,opc,63bfa50ee6523365ff14c1f45f88737d,9001,000000001234,7,dynamic -ue2,mil,001010123456780,00112233445566778899aabbccddeeff,opc,63bfa50ee6523365ff14c1f45f88737d,8000,000000001234,7,dynamic