srsRAN_4G icon indicating copy to clipboard operation
srsRAN_4G copied to clipboard

IS srsenb run on IPv6?

Open kpsz0528 opened this issue 1 year ago • 0 comments

Issue Description

[Describe the issue in detail] I would want to use the ipv6 address for srsenb.

Setup Details

[Specify details of the test setup. This would help us reproduce the problem reliably] e.g. Network configuration, Operation System, Hardware, RF front-end, library and driver versions i have config the enb.conf like below.

#####################################################################

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 = 0x19A mcc = 450 mnc = 32 mme_addr = 2001:4200:0999:1000:1701:0000:0000:0014 gtp_bind_addr = 2001:4200:0a12:0002:0000:0000:0000:0026 s1c_bind_addr = 2001:4200:0a12:0002:0000:0000:0000:0026 s1c_bind_port = 0 n_prb = 50 tm = 1 nof_ports = 1

#####################################################################

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 = 1934 tx_gain = 60 rx_gain = 40

device_name = soapy

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 device_args = rxant=LNAH,txant=BAND1 #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,tx_port=tcp://*:2000,rx_port=tcp://localhost:2001,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.

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

#####################################################################

Slicing configuration

enable_eMBB Enables enhanced mobile broadband (eMBB) slice in the gNodeB

enable_URLLC Enables Ultra Reliable Low Latency Communications (URLLC) slice in the gNodeB

enable_MIoT Enables Massive Internet of Things (MIoT) slice in the gNodeB

eMBB_sd eMBB slice differentiator

URLLC_sd URLLC slice differentiator

MIoT_sd MIoT slice differentiator

##################################################################### [slicing] #enable_eMBB = false #enable_URLLC = false #enable_MIoT = false #eMBB_sd = 1 #URLLC_sd = 1 #MIoT_sd = 1

#####################################################################

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

E2 Agent configuration options

ric_ip: IP address of the RIC controller

ric_port: Port of the RIC controller

ric_bind_ip: Local IP address to bind for RIC connection

ric_bind_port: Local port to bind for RIC connection

max_ric_setup_retries: Maximum amount of retries to setup the RIC connection. If this value is exceeded, an alarm is written to the log. -1 means infinity.

ric_connect_timer: Connection Retry Timer for RIC connection (seconds)

##################################################################### [e2_agent] #enable = false #ric_ip = 127.0.0.1 #ric_port = 36421 #ric_bind_ip = 127.0.0.1 #ric_bind_port = 36425 #max_ric_setup_retries = -1 #ric_connect_timer = 10

#####################################################################

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.

s1_connect_timer: Connection Retry Timer for S1 connection (seconds)

rx_gain_offset: RX Gain offset to add to rx_gain to calibrate RSRP readings

use_cedron_f_est_alg: Whether to use Cedron algorithm for TA estimation or not (Default: false)

##################################################################### [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 #s1_connect_timer = 10 #rx_gain_offset = 62 #mac_prach_bi = 0 #use_cedron_f_est_alg = false root@piRANEnb:~/.config/srsran# root@piRANEnb:~/.config/srsran# root@piRANEnb:~/.config/srsran# root@piRANEnb:~/.config/srsran# root@piRANEnb:~/.config/srsran# ufw status Status: inactive root@piRANEnb:~/.config/srsran# cat enb.conf #####################################################################

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 = 0x19A mcc = 450 mnc = 32 mme_addr = 2001:4200:0999:1000:1701:0000:0000:0014 gtp_bind_addr = 2001:4200:0a12:0002:0000:0000:0000:0026 s1c_bind_addr = 2001:4200:0a12:0002:0000:0000:0000:0026 s1c_bind_port = 0 n_prb = 50 tm = 1 nof_ports = 1

#####################################################################

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 = 1934 tx_gain = 60 rx_gain = 40

device_name = soapy

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 device_args = rxant=LNAH,txant=BAND1 #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,tx_port=tcp://*:2000,rx_port=tcp://localhost:2001,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.

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

#####################################################################

Slicing configuration

enable_eMBB Enables enhanced mobile broadband (eMBB) slice in the gNodeB

enable_URLLC Enables Ultra Reliable Low Latency Communications (URLLC) slice in the gNodeB

enable_MIoT Enables Massive Internet of Things (MIoT) slice in the gNodeB

eMBB_sd eMBB slice differentiator

URLLC_sd URLLC slice differentiator

MIoT_sd MIoT slice differentiator

##################################################################### [slicing] #enable_eMBB = false #enable_URLLC = false #enable_MIoT = false #eMBB_sd = 1 #URLLC_sd = 1 #MIoT_sd = 1

#####################################################################

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

E2 Agent configuration options

ric_ip: IP address of the RIC controller

ric_port: Port of the RIC controller

ric_bind_ip: Local IP address to bind for RIC connection

ric_bind_port: Local port to bind for RIC connection

max_ric_setup_retries: Maximum amount of retries to setup the RIC connection. If this value is exceeded, an alarm is written to the log. -1 means infinity.

ric_connect_timer: Connection Retry Timer for RIC connection (seconds)

##################################################################### [e2_agent] #enable = false #ric_ip = 127.0.0.1 #ric_port = 36421 #ric_bind_ip = 127.0.0.1 #ric_bind_port = 36425 #max_ric_setup_retries = -1 #ric_connect_timer = 10

#####################################################################

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.

s1_connect_timer: Connection Retry Timer for S1 connection (seconds)

rx_gain_offset: RX Gain offset to add to rx_gain to calibrate RSRP readings

use_cedron_f_est_alg: Whether to use Cedron algorithm for TA estimation or not (Default: false)

##################################################################### [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 #s1_connect_timer = 10 #rx_gain_offset = 62 #mac_prach_bi = 0 #use_cedron_f_est_alg = false

after i start the srsenb. it showes like below.

root@piRANEnb:~/.config/srsran# srsenb enb.conf Active RF plugins: libsrsran_rf_uhd.so libsrsran_rf_soapy.so Inactive RF plugins: --- Software Radio Systems LTE eNodeB ---

Reading configuration file enb.conf...

Built in Release mode using 23.04.0.

inet_pton: Success Failed to bind on address 2001:4200:0a12:0002:0000:0000:0000:0026, port 2152: Success Error initializing EUTRA stack. Opening 1 channels in RF device=soapy with args=default Supported RF device list: UHD soapy file inet_pton: Success Soapy has found device #0: addr=24607:1027, driver=lime, label=LimeSDR Mini [USB 2.0] 1D53BAB1C691F6, media=USB 2.0, module=FT601 Selecting Soapy device: 0 Detected LimeSDR. Consider using LTE rates for better RF performance. Either compile with '-DUSE_LTE_RATES=True' or start srsENB/srsUE with '--expert.lte_sample_rates=true' [INFO] Make connection: 'LimeSDR Mini [USB 2.0] 1D53BAB1C691F6' [INFO] Reference clock 40.00 MHz [INFO] Device name: LimeSDR-Mini [INFO] Reference: 40 MHz [INFO] LMS7002M register cache: Disabled Setting up Rx stream with 1 channel(s) Setting up Tx stream with 1 channel(s) [INFO] RX LPF configured [INFO] Filter calibrated. Filter order-4th, filter bandwidth set to 5 MHz.Real pole 1st order filter set to 2.5 MHz. Preemphasis [INFO] TX LPF configured Available device sensors:

  • clock_locked
  • lms7_temp Available sensors for Rx channel 0:
  • lo_locked State of gain elements for Rx channel 0 (AGC not supported):
  • TIA: 9.00 dB
  • LNA: 30.00 dB
  • PGA: -7.00 dB State of gain elements for Tx channel 0 (AGC not supported):
  • PAD: 0.00 dB
  • IAMP: 0.00 dB Rx antenna set to LNAH Tx antenna set to BAND1 root@piRANEnb:~/.config/srsran#

Expected Behavior

[What you expect to happen] i would want the srsenb work on ipv6

Actual Behaviour

[What happens instead e.g. error message]

after i start the srsenb. it showes like below.

root@piRANEnb:~/.config/srsran# srsenb enb.conf Active RF plugins: libsrsran_rf_uhd.so libsrsran_rf_soapy.so Inactive RF plugins: --- Software Radio Systems LTE eNodeB ---

Reading configuration file enb.conf...

Built in Release mode using 23.04.0.

inet_pton: Success Failed to bind on address 2001:4200:0a12:0002:0000:0000:0000:0026, port 2152: Success Error initializing EUTRA stack. Opening 1 channels in RF device=soapy with args=default Supported RF device list: UHD soapy file inet_pton: Success Soapy has found device #0: addr=24607:1027, driver=lime, label=LimeSDR Mini [USB 2.0] 1D53BAB1C691F6, media=USB 2.0, module=FT601 Selecting Soapy device: 0 Detected LimeSDR. Consider using LTE rates for better RF performance. Either compile with '-DUSE_LTE_RATES=True' or start srsENB/srsUE with '--expert.lte_sample_rates=true' [INFO] Make connection: 'LimeSDR Mini [USB 2.0] 1D53BAB1C691F6' [INFO] Reference clock 40.00 MHz [INFO] Device name: LimeSDR-Mini [INFO] Reference: 40 MHz [INFO] LMS7002M register cache: Disabled Setting up Rx stream with 1 channel(s) Setting up Tx stream with 1 channel(s) [INFO] RX LPF configured [INFO] Filter calibrated. Filter order-4th, filter bandwidth set to 5 MHz.Real pole 1st order filter set to 2.5 MHz. Preemphasis [INFO] TX LPF configured Available device sensors:

  • clock_locked
  • lms7_temp Available sensors for Rx channel 0:
  • lo_locked State of gain elements for Rx channel 0 (AGC not supported):
  • TIA: 9.00 dB
  • LNA: 30.00 dB
  • PGA: -7.00 dB State of gain elements for Tx channel 0 (AGC not supported):
  • PAD: 0.00 dB
  • IAMP: 0.00 dB Rx antenna set to LNAH Tx antenna set to BAND1 root@piRANEnb:~/.config/srsran#

Steps to reproduce the problem

[Tell us how to reproduce this issue e.g. RF setup, application config files]

Additional Information

[Any additional information, configuration or data that might be necessary to reproduce the issue]

kpsz0528 avatar Mar 13 '24 11:03 kpsz0528