srsRAN adaptations and use the latest srsRAN code for eNB
This commit is contained in:
@@ -62,7 +62,7 @@ RUN add-apt-repository ppa:ettusresearch/uhd && \
|
||||
uhd_images_downloader
|
||||
|
||||
# Get srsGUI, compile and install
|
||||
RUN git clone https://github.com/srsLTE/srsGUI && \
|
||||
RUN git clone https://github.com/srsran/srsGUI && \
|
||||
cd srsGUI/ && \
|
||||
mkdir build && cd build && \
|
||||
cmake ../ && make -j`nproc` && make install && ldconfig
|
||||
@@ -70,10 +70,12 @@ RUN git clone https://github.com/srsLTE/srsGUI && \
|
||||
# Get srsLTE, compile and install
|
||||
RUN git clone https://github.com/srsran/srsRAN.git && \
|
||||
cd srsRAN && \
|
||||
git checkout tags/release_19_12 && \
|
||||
git checkout master && \
|
||||
mkdir build && cd build && \
|
||||
cmake ../ && make -j`nproc` && make install && \
|
||||
ldconfig && srslte_install_configs.sh service
|
||||
ldconfig
|
||||
|
||||
RUN cd srsRAN/build && srsran_install_configs.sh service
|
||||
|
||||
CMD /mnt/srslte/enb_init.sh && \
|
||||
/usr/local/bin/srsenb
|
@@ -6,23 +6,23 @@ qci_config = (
|
||||
{
|
||||
qci=1;
|
||||
pdcp_config = {
|
||||
discard_timer = 100;
|
||||
pdcp_sn_size = 12;
|
||||
discard_timer = 100;
|
||||
pdcp_sn_size = 12;
|
||||
}
|
||||
rlc_config = {
|
||||
ul_um = {
|
||||
sn_field_length = 10;
|
||||
sn_field_length = 10;
|
||||
};
|
||||
dl_um = {
|
||||
sn_field_length = 10;
|
||||
sn_field_length = 10;
|
||||
t_reordering = 50;
|
||||
};
|
||||
};
|
||||
logical_channel_config = {
|
||||
priority = 6;
|
||||
prioritized_bit_rate = -1;
|
||||
bucket_size_duration = 100;
|
||||
log_chan_group = 1;
|
||||
priority = 2;
|
||||
prioritized_bit_rate = -1;
|
||||
bucket_size_duration = 100;
|
||||
log_chan_group = 1;
|
||||
};
|
||||
},
|
||||
{
|
||||
@@ -44,16 +44,16 @@ qci_config = (
|
||||
};
|
||||
};
|
||||
logical_channel_config = {
|
||||
priority = 13;
|
||||
prioritized_bit_rate = -1;
|
||||
bucket_size_duration = 100;
|
||||
log_chan_group = 2;
|
||||
priority = 1;
|
||||
prioritized_bit_rate = -1;
|
||||
bucket_size_duration = 100;
|
||||
log_chan_group = 2;
|
||||
};
|
||||
},
|
||||
{
|
||||
qci=7;
|
||||
pdcp_config = {
|
||||
discard_timer = 100;
|
||||
discard_timer = -1;
|
||||
pdcp_sn_size = 12;
|
||||
}
|
||||
rlc_config = {
|
||||
@@ -75,7 +75,7 @@ qci_config = (
|
||||
{
|
||||
qci=9;
|
||||
pdcp_config = {
|
||||
discard_timer = -1;
|
||||
discard_timer = 150;
|
||||
status_report_required = true;
|
||||
}
|
||||
rlc_config = {
|
||||
|
136
srslte/enb.conf
136
srslte/enb.conf
@@ -5,24 +5,20 @@
|
||||
#####################################################################
|
||||
# eNB configuration
|
||||
#
|
||||
# enb_id: 20-bit eNB identifier.
|
||||
# cell_id: 8-bit cell identifier.
|
||||
# tac: 16-bit Tracking Area Code.
|
||||
# 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
|
||||
# s1c_bind_addr: Local IP address to bind for S1AP connection
|
||||
# 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_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
|
||||
# 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
|
||||
cell_id = 0x01
|
||||
phy_cell_id = 1
|
||||
tac = 0x0001
|
||||
mcc = MCC
|
||||
mnc = MNC
|
||||
mme_addr = MME_IP
|
||||
@@ -48,67 +44,94 @@ drb_config = drb.conf
|
||||
#####################################################################
|
||||
# RF configuration
|
||||
#
|
||||
# dl_earfcn: EARFCN code for DL
|
||||
# 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 found), "UHD" or "bladeRF"
|
||||
# device_args: Arguments for the device driver. Options are "auto" or any string.
|
||||
# device_name: Device driver family.
|
||||
# Supported options: "auto" (uses first found), "UHD", "bladeRF", "soapy" or "zmq".
|
||||
# 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.
|
||||
# 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.
|
||||
# burst_preamble_us: Preamble length to transmit before start of burst.
|
||||
# Default "auto". B210 USRP: 400 us, bladeRF: 0 us.
|
||||
#####################################################################
|
||||
[rf]
|
||||
dl_earfcn = 3150
|
||||
tx_gain = 70
|
||||
# dl_earfcn = 3150
|
||||
tx_gain = 80
|
||||
rx_gain = 40
|
||||
#dl_earfcn = 6300
|
||||
#tx_gain = 56
|
||||
#rx_gain = 38
|
||||
#device_name = soapy
|
||||
#device_args = rxant=LNAW,txant=BAND2
|
||||
#device_args = clock=external
|
||||
device_args = clock=external
|
||||
|
||||
#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
|
||||
#burst_preamble_us = auto
|
||||
|
||||
# Example for ZMQ-based operation with TCP transport for I/Q samples
|
||||
#device_name = zmq
|
||||
#device_args = fail_on_disconnect=true,tx_port=tcp://*:2000,rx_port=tcp://localhost:2001,id=enb,base_srate=23.04e6
|
||||
|
||||
#####################################################################
|
||||
# MAC-layer packet capture configuration
|
||||
# Packet capture configuration
|
||||
#
|
||||
# Packets are captured to file in the compact format decoded by
|
||||
# the Wireshark mac-lte-framed dissector and with DLT 147.
|
||||
# To use the dissector, edit the preferences for DLT_USER to
|
||||
# add an entry with DLT=147, Payload Protocol=mac-lte-framed.
|
||||
# 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
|
||||
# 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.
|
||||
#
|
||||
# enable: Enable MAC layer packet captures (true/false)
|
||||
# filename: File path to use for packet captures
|
||||
# S1AP 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.
|
||||
#
|
||||
# mac_enable: Enable MAC layer packet captures (true/false)
|
||||
# mac_filename: File path to use for 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.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
|
||||
@@ -122,7 +145,7 @@ filename = /tmp/enb.pcap
|
||||
# configured.
|
||||
# Format: e.g. phy_hex_limit = 32
|
||||
#
|
||||
# Logging layers: rf, phy, phy_lib, mac, rlc, pdcp, rrc, gtpu, s1ap, all
|
||||
# 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
|
||||
@@ -131,7 +154,7 @@ filename = /tmp/enb.pcap
|
||||
# If set to negative, a single log file will be created.
|
||||
#####################################################################
|
||||
[log]
|
||||
all_level = info
|
||||
all_level = warning
|
||||
all_hex_limit = 32
|
||||
filename = /tmp/enb.log
|
||||
file_max_size = -1
|
||||
@@ -142,21 +165,27 @@ enable = false
|
||||
#####################################################################
|
||||
# Scheduler configuration options
|
||||
#
|
||||
# sched_policy: User MAC scheduling policy (E.g. time_rr, time_pf)
|
||||
# max_aggr_level: Optional maximum aggregation level index (l=log2(L) can be 0, 1, 2 or 3)
|
||||
# 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
|
||||
# #nof_ctrl_symbols: Number of control symbols
|
||||
# min_nof_ctrl_symbols: Minimum number of control symbols
|
||||
# max_nof_ctrl_symbols: Maximum number of control symbols
|
||||
#
|
||||
#####################################################################
|
||||
[scheduler]
|
||||
#policy = time_pf
|
||||
#policy_args = 2
|
||||
#max_aggr_level = -1
|
||||
#pdsch_mcs = -1
|
||||
#pdsch_max_mcs = -1
|
||||
#pusch_mcs = -1
|
||||
pusch_max_mcs = 16
|
||||
nof_ctrl_symbols = 3
|
||||
#pusch_max_mcs = 16
|
||||
#min_nof_ctrl_symbols = 1
|
||||
#max_nof_ctrl_symbols = 3
|
||||
#pucch_multiplex_enable = false
|
||||
|
||||
#####################################################################
|
||||
# eMBMS configuration options
|
||||
@@ -164,12 +193,14 @@ nof_ctrl_symbols = 3
|
||||
# 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.
|
||||
#
|
||||
#####################################################################
|
||||
[embms]
|
||||
#enable = false
|
||||
#m1u_multiaddr = 239.255.0.1
|
||||
#m1u_if_addr = 127.0.1.201
|
||||
#mcs = 20
|
||||
|
||||
|
||||
|
||||
@@ -177,6 +208,10 @@ nof_ctrl_symbols = 3
|
||||
# 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)
|
||||
@@ -203,6 +238,10 @@ nof_ctrl_symbols = 3
|
||||
[channel.dl]
|
||||
#enable = false
|
||||
|
||||
[channel.dl.awgn]
|
||||
#enable = false
|
||||
#snr = 30
|
||||
|
||||
[channel.dl.fading]
|
||||
#enable = false
|
||||
#model = none
|
||||
@@ -228,6 +267,10 @@ nof_ctrl_symbols = 3
|
||||
[channel.ul]
|
||||
#enable = false
|
||||
|
||||
[channel.ul.awgn]
|
||||
#enable = false
|
||||
#n0 = -30
|
||||
|
||||
[channel.ul.fading]
|
||||
#enable = false
|
||||
#model = none
|
||||
@@ -256,14 +299,16 @@ nof_ctrl_symbols = 3
|
||||
#
|
||||
# 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 2)
|
||||
# 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.
|
||||
# tx_amplitude: Transmit amplitude factor (set 0-1 to reduce PAPR)
|
||||
# link_failure_nof_err: Number of PUSCH failures after which a radio-link failure is triggered.
|
||||
# a link failure is when SNR<0 and CRC=KO
|
||||
# rrc_inactivity_timer Inactivity timeout used to remove UE context from RRC (in milliseconds).
|
||||
# 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).
|
||||
@@ -276,10 +321,17 @@ nof_ctrl_symbols = 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
|
||||
#alarms_log_enable = true
|
||||
#alarms_filename = /tmp/enb_alarms.log
|
||||
#tracing_enable = true
|
||||
#tracing_filename = /tmp/enb_tracing.log
|
||||
#tracing_buffcapacity = 1000000
|
||||
#pregenerate_signals = false
|
||||
#tx_amplitude = 0.6
|
||||
#link_failure_nof_err = 50
|
||||
#rrc_inactivity_timer = 60000
|
||||
#rrc_inactivity_timer = 30000
|
||||
#max_nof_kos = 100
|
||||
#max_prach_offset_us = 30
|
||||
#eea_pref_list = EEA0, EEA2, EEA1
|
||||
#eia_pref_list = EIA2, EIA1, EIA0
|
||||
|
@@ -28,18 +28,20 @@
|
||||
|
||||
export IP_ADDR=$(awk 'END{print $1}' /etc/hosts)
|
||||
|
||||
cp /mnt/srslte/enb.conf /etc/srslte
|
||||
cp /mnt/srslte/drb.conf /etc/srslte
|
||||
cp /mnt/srslte/epc.conf /etc/srslte
|
||||
cp /mnt/srslte/mbms.conf /etc/srslte
|
||||
cp /mnt/srslte/rr.conf /etc/srslte
|
||||
cp /mnt/srslte/sib.conf /etc/srslte
|
||||
cp /mnt/srslte/ue.conf /etc/srslte
|
||||
cp /mnt/srslte/user_db.csv /etc/srslte
|
||||
sed -i 's|MNC|'$MNC'|g' /etc/srslte/enb.conf
|
||||
sed -i 's|MCC|'$MCC'|g' /etc/srslte/enb.conf
|
||||
sed -i 's|MME_IP|'$MME_IP'|g' /etc/srslte/enb.conf
|
||||
sed -i 's|SRS_ENB_IP|'$SRS_ENB_IP'|g' /etc/srslte/enb.conf
|
||||
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/sib.conf /etc/srsran
|
||||
cp /mnt/srslte/ue.conf /etc/srsran
|
||||
cp /mnt/srslte/user_db.csv /etc/srsran
|
||||
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
|
||||
#ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
|
||||
|
@@ -14,9 +14,9 @@
|
||||
# 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
|
||||
# (default: EEA0, support: EEA1, EEA2)
|
||||
# (supported: EEA0 (default), EEA1, EEA2, EEA3)
|
||||
# integrity_algo: Preferred integrity protection algorithm for NAS
|
||||
# (default: EIA1, support: EIA1, EIA2 (EIA0 not support)
|
||||
# (supported: EIA0 (rejected by most UEs), EIA1 (default), EIA2, EIA3
|
||||
# paging_timer: Value of paging timer in seconds (T3413)
|
||||
#
|
||||
#####################################################################
|
||||
|
@@ -35,17 +35,17 @@ phy_cnfg =
|
||||
sched_request_cnfg =
|
||||
{
|
||||
dsr_trans_max = 64;
|
||||
period = 20; // in ms
|
||||
subframe = [1]; // vector of subframe indices allowed for SR transmissions
|
||||
nof_prb = 2; // number of PRBs on each extreme used for SR (total prb is twice this number)
|
||||
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];
|
||||
nof_prb = 2;
|
||||
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
|
||||
};
|
||||
};
|
||||
@@ -54,17 +54,21 @@ cell_list =
|
||||
(
|
||||
{
|
||||
// rf_port = 0;
|
||||
// cell_id = 0x01;
|
||||
// tac = 0x0001;
|
||||
// pci = 1;
|
||||
cell_id = 0x01;
|
||||
tac = 0x0001;
|
||||
pci = 1;
|
||||
// root_seq_idx = 204;
|
||||
// dl_earfcn = 3400;
|
||||
// ul_earfcn = 474;
|
||||
dl_earfcn = 3150;
|
||||
//ul_earfcn = 21400;
|
||||
ho_active = false;
|
||||
//meas_gap_period = 0; // 0 (inactive), 40 or 80
|
||||
// target_pusch_sinr = -1;
|
||||
// target_pucch_sinr = -1;
|
||||
// allowed_meas_bw = 6;
|
||||
|
||||
// CA cells
|
||||
scell_list = (
|
||||
{cell_id = 0x02; cross_carrier_scheduling = false; scheduling_cell_id = 0x02; ul_allowed = true}
|
||||
// {cell_id = 0x02; cross_carrier_scheduling = false; scheduling_cell_id = 0x02; ul_allowed = true}
|
||||
)
|
||||
|
||||
// Cells available for handover
|
||||
@@ -74,6 +78,8 @@ cell_list =
|
||||
eci = 0x19C02;
|
||||
dl_earfcn = 2850;
|
||||
pci = 2;
|
||||
//direct_forward_path_available = false;
|
||||
//allowed_meas_bw = 6;
|
||||
}
|
||||
);
|
||||
|
||||
|
@@ -9,8 +9,9 @@ sib1 =
|
||||
(
|
||||
{
|
||||
si_periodicity = 16;
|
||||
si_mapping_info = []; // comma-separated array of SIB-indexes (from 3 to 13).
|
||||
// Leave empty or commented to just scheduler sib2
|
||||
|
||||
// comma-separated array of SIB-indexes (from 3 to 13), leave empty or commented to just scheduler sib2
|
||||
si_mapping_info = [ 3 ];
|
||||
}
|
||||
);
|
||||
system_info_value_tag = 0;
|
||||
@@ -46,7 +47,7 @@ sib2 =
|
||||
{
|
||||
high_speed_flag = false;
|
||||
prach_config_index = 3;
|
||||
prach_freq_offset = 2;
|
||||
prach_freq_offset = 4;
|
||||
zero_correlation_zone_config = 5;
|
||||
};
|
||||
};
|
||||
@@ -73,8 +74,8 @@ sib2 =
|
||||
};
|
||||
pucch_cnfg =
|
||||
{
|
||||
delta_pucch_shift = 2;
|
||||
n_rb_cqi = 2;
|
||||
delta_pucch_shift = 1;
|
||||
n_rb_cqi = 1;
|
||||
n_cs_an = 0;
|
||||
n1_pucch_an = 12;
|
||||
};
|
||||
@@ -100,9 +101,9 @@ sib2 =
|
||||
{
|
||||
t300 = 2000; // in ms
|
||||
t301 = 100; // in ms
|
||||
t310 = 1000; // in ms
|
||||
t310 = 200; // in ms
|
||||
n310 = 1;
|
||||
t311 = 1000; // in ms
|
||||
t311 = 10000; // in ms
|
||||
n311 = 1;
|
||||
};
|
||||
|
||||
@@ -116,3 +117,60 @@ sib2 =
|
||||
time_alignment_timer = "INFINITY"; // use "sf500", "sf750", etc.
|
||||
};
|
||||
|
||||
sib3 =
|
||||
{
|
||||
cell_reselection_common = {
|
||||
q_hyst = 2; // in dB
|
||||
},
|
||||
cell_reselection_serving = {
|
||||
s_non_intra_search = 3,
|
||||
thresh_serving_low = 2,
|
||||
cell_resel_prio = 6
|
||||
},
|
||||
intra_freq_reselection = {
|
||||
q_rx_lev_min = -61,
|
||||
p_max = 23,
|
||||
s_intra_search = 5,
|
||||
presence_ant_port_1 = true,
|
||||
neigh_cell_cnfg = 1,
|
||||
t_resel_eutra = 1
|
||||
}
|
||||
};
|
||||
|
||||
#####################################################################
|
||||
# sib7 configuration options (See TS 36.331)
|
||||
# Contains GERAN neighbor information for CSFB and inter-rat handover.
|
||||
# Must be added to sib1::sched_info::si_mapping_info array parameter to be transmitted
|
||||
#
|
||||
# t_resel_geran: Cell reselection timer (seconds)
|
||||
# carrier_freqs_info_list: A list of carrier frequency groups.
|
||||
# cell_resel_prio: Absolute priority of the carrier frequency group
|
||||
# ncc_permitted: 8-bit bitmap of NCC carriers permitted for monitoring
|
||||
# q_rx_lev_min: Minimum receive level in gsm cell, ([field_val] * 2) - 115 = [level in dBm]
|
||||
# thresh_x_high: Srclev threshold (dB) to select to a higher-priority RAT/Frequency
|
||||
# thresh_x_low: Srclev threshold (dB) to select to a lower-priority RAT/Frequency
|
||||
# start_arfcn: Initial search ARFCN value
|
||||
# band_ind: One of "dcs1800" or "pcs1900" Disambiguates ARFCNs in these bands, has no meaning for other ARFCNs.
|
||||
# explicit_list_of_arfcns: List of ARFCN numbers in the group
|
||||
#
|
||||
#####################################################################
|
||||
sib7 =
|
||||
{
|
||||
t_resel_geran = 1;
|
||||
carrier_freqs_info_list =
|
||||
(
|
||||
{
|
||||
cell_resel_prio = 0;
|
||||
ncc_permitted = 255;
|
||||
q_rx_lev_min = 0;
|
||||
thresh_x_high = 2;
|
||||
thresh_x_low = 2;
|
||||
|
||||
start_arfcn = 871;
|
||||
band_ind = "dcs1800";
|
||||
explicit_list_of_arfcns = (
|
||||
871
|
||||
);
|
||||
}
|
||||
);
|
||||
};
|
||||
|
167
srslte/ue.conf
167
srslte/ue.conf
@@ -5,17 +5,11 @@
|
||||
#####################################################################
|
||||
# RF configuration
|
||||
#
|
||||
# dl_earfcn: Downlink EARFCN code.
|
||||
# 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
|
||||
#
|
||||
# Optional parameters:
|
||||
# dl_freq: Override DL frequency corresponding to dl_earfcn
|
||||
# ul_freq: Override UL frequency corresponding to dl_earfcn
|
||||
# nof_radios: Number of available RF devices
|
||||
# nof_rf_channels: Number of RF channels per radio
|
||||
# nof_rx_ant: Number of RX antennas per channel
|
||||
# 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"
|
||||
@@ -25,19 +19,15 @@
|
||||
# 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.
|
||||
# burst_preamble_us: Preamble length to transmit before start of burst.
|
||||
# Default "auto". B210 USRP: 400 us, bladeRF: 0 us.
|
||||
# continuous_tx: Transmit samples continuously to the radio or on bursts (auto/yes/no).
|
||||
# Default is auto (yes for UHD, no for rest)
|
||||
#####################################################################
|
||||
[rf]
|
||||
dl_earfcn = 3400
|
||||
freq_offset = 0
|
||||
tx_gain = 80
|
||||
#rx_gain = 40
|
||||
|
||||
#nof_radios = 1
|
||||
#nof_rx_ant = 1
|
||||
#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
|
||||
@@ -47,32 +37,62 @@ tx_gain = 80
|
||||
|
||||
#device_args = auto
|
||||
#time_adv_nsamples = auto
|
||||
#burst_preamble_us = 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 both MAC and NAS layers.
|
||||
# MAC-layer packets are captured to file in the compact format
|
||||
# decoded by the Wireshark mac-lte-framed dissector.
|
||||
# To use this dissector, edit the preferences for DLT_USER to
|
||||
# add an entry with DLT=147, Payload Protocol=mac-lte-framed.
|
||||
# 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
|
||||
# NAS-layer packets are dissected with DLT=148, and
|
||||
# Payload Protocol = nas-eps.
|
||||
# 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 MAC layer packet captures (true/false)
|
||||
# filename: File path to use for MAC packet captures
|
||||
# nas_enable: Enable NAS layer packet captures (true/false)
|
||||
# nas_filename: File path to use for NAS packet captures
|
||||
# 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 = false
|
||||
filename = /tmp/ue.pcap
|
||||
nas_enable = false
|
||||
nas_filename = /tmp/nas.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
|
||||
@@ -86,7 +106,7 @@ nas_filename = /tmp/nas.pcap
|
||||
# configured.
|
||||
# Format: e.g. phy_hex_limit = 32
|
||||
#
|
||||
# Logging layers: rf, phy, mac, rlc, pdcp, rrc, nas, gw, usim, all
|
||||
# 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
|
||||
@@ -127,17 +147,19 @@ imei = 353490069873319
|
||||
#####################################################################
|
||||
# RRC configuration
|
||||
#
|
||||
# ue_category: Sets UE category (range 1-5). Default: 4
|
||||
# release: UE Release (8 to 10)
|
||||
# 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
|
||||
# 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 = 8
|
||||
#release = 15
|
||||
#feature_group = 0xe6041000
|
||||
#mbms_service_id = -1
|
||||
#mbms_service_port = 4321
|
||||
@@ -167,10 +189,12 @@ imei = 353490069873319
|
||||
#####################################################################
|
||||
# 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
|
||||
|
||||
@@ -188,6 +212,11 @@ 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)
|
||||
@@ -214,6 +243,10 @@ enable = false
|
||||
[channel.dl]
|
||||
#enable = false
|
||||
|
||||
[channel.dl.awgn]
|
||||
#enable = false
|
||||
#snr = 30
|
||||
|
||||
[channel.dl.fading]
|
||||
#enable = false
|
||||
#model = none
|
||||
@@ -239,6 +272,10 @@ enable = false
|
||||
[channel.ul]
|
||||
#enable = false
|
||||
|
||||
[channel.ul.awgn]
|
||||
#enable = false
|
||||
#n0 = -30
|
||||
|
||||
[channel.ul.fading]
|
||||
#enable = false
|
||||
#model = none
|
||||
@@ -275,10 +312,13 @@ enable = false
|
||||
# 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)
|
||||
# nof_phy_threads: Selects the number of PHY threads (maximum 4, minimum 1, default 2)
|
||||
# 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
|
||||
@@ -290,20 +330,19 @@ enable = false
|
||||
#
|
||||
# snr_to_cqi_offset: Sets an offset in the SNR to CQI table. This is used to adjust the reported CQI.
|
||||
#
|
||||
# pregenerate_signals: Pregenerate uplink signals after attach. Improves CPU performance.
|
||||
#
|
||||
# interpolate_subframe_enabled: Interpolates in the time domain the channel estimates within 1 subframe. Default is to average.
|
||||
#
|
||||
# sic_pss_enabled: Applies Successive Interference Cancellation to PSS signals when searching for neighbour cells.
|
||||
# Must be disabled if cells have identical channel and timing, for instance if generated from
|
||||
# the same source.
|
||||
#
|
||||
# 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
|
||||
@@ -313,8 +352,10 @@ enable = false
|
||||
#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
|
||||
@@ -323,12 +364,30 @@ enable = false
|
||||
#estimator_fil_order = 4
|
||||
#snr_to_cqi_offset = 0.0
|
||||
#interpolate_subframe_enabled = false
|
||||
#sic_pss_enabled = true
|
||||
#pregenerate_signals = 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
|
||||
#
|
||||
@@ -338,8 +397,20 @@ enable = false
|
||||
#
|
||||
# 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_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
|
||||
|
@@ -1,11 +1,11 @@
|
||||
#
|
||||
# .csv to store UE's information in HSS
|
||||
# Kept in the following format: "Name,Auth,IMSI,Key,OP_Type,OP,AMF,SQN,QCI,IP_alloc"
|
||||
# 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
|
||||
# IMSI: UE's IMSI value
|
||||
# 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
|
||||
|
Can't render this file because it contains an unexpected character in line 3 and column 33.
|
Reference in New Issue
Block a user