docker_open5gs icon indicating copy to clipboard operation
docker_open5gs copied to clipboard

Warning: Failed to create thread with real-time priority. Creating it with normal priority: Resource temporarily unavailable

Open egortaran opened this issue 2 years ago • 5 comments

Issue Description

Hello dear community. I have a problem, after writing commands in the terminal I have this log:

$ docker-compose up -d
Creating osmohlr   ... done
Creating mongo     ... done
Creating dns       ... done
Creating rtpengine ... done
Creating nrf       ... done
Creating mysql     ... done
Creating smf       ... done
Creating hss       ... done
Creating pcrf      ... done
Creating webui     ... done
Creating osmomsc   ... done
Creating fhoss     ... done
Creating smsc      ... done
Creating upf       ... done
Creating icscf     ... done
Creating scscf     ... done
Creating sgwu      ... done
Creating sgwc      ... done
Creating pcscf     ... done
Creating mme       ... done
$ docker-compose -f srsenb.yaml up -d && docker attach srsenb
Starting srsenb ... done
Opening 2 channels in RF device=soapy with args=rxant=LNAH,txant=BAND1
Soapy has found device #0: addr=1d50:6108, driver=lime, label=LimeSDR-USB [USB 3.0] 908340189241A, media=USB 3.0, module=FX3, name=LimeSDR-USB, serial=000908340189241A, 
Selecting Soapy device: 0
Detected LimeSDR. Consider using LTE rates for better RF performance.
[INFO] Make connection: 'LimeSDR-USB [USB 3.0] 908340189241A'
[INFO] Reference clock 30.72 MHz
[INFO] Device name: LimeSDR-USB
[INFO] Reference: 30.72 MHz
[INFO] LMS7002M register cache: Disabled
Setting up Rx stream with 2 channel(s)
Setting up Tx stream with 2 channel(s)
[INFO] RX LPF configured
[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 filter not active
[INFO] TX 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 filter not active
[INFO] TX LPF configured
Available device sensors: 
- clock_locked
- lms7_temp
Available sensors for Rx channel 0: 
- lo_locked
Available sensors for Rx channel 1: 
- lo_locked
Setting Rx channel 0 antenna to LNAH
Setting Rx channel 1 antenna to LNAH
Setting Tx channel 0 antenna to BAND1
Setting Tx channel 1 antenna to BAND1
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
Warning: Failed to create thread with real-time priority. Creating it with normal priority: Resource temporarily unavailable
Warning: Failed to create thread with real-time priority. Creating it with normal priority: Resource temporarily unavailable
Warning: Failed to create thread with real-time priority. Creating it with normal priority: Resource temporarily unavailable
Warning: Failed to create thread with real-time priority. Creating it with normal priority: Resource temporarily unavailable
Warning: Failed to create thread with real-time priority. Creating it with normal priority: Resource temporarily unavailable

==== eNodeB started ===
Type <t> to view trace
[INFO] RX LPF configured
[INFO] RX LPF configured
Setting frequency: DL=942.5 Mhz, UL=897.5 MHz for cc_idx=0 nof_prb=15
[INFO] Tx calibration finished
[INFO] Tx calibration finished
[INFO] Rx calibration finished
[INFO] Rx calibration finished

The cell phone does not catch the network. With the help of the analyzer, I found that LimeSDR does not emit a signal. I guess the problem is

Warning: Failed to create thread with real-time priority. Creating it with normal priority: Resource temporarily unavailable

What should be research or changed to fix this error?


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
# n_prb:                Number of Physical Resource Blocks (6,15,25,50,75,100)
# tm:                   Transmission mode 1-4 (TM1 default)
# nof_ports:            Number of Tx ports (1 port default, set to 2 for TM2/3/4)
#
#####################################################################
[enb]
enb_id = 0x19B
mcc = MCC
mnc = MNC

mme_addr = MME_IP
gtp_bind_addr = SRS_ENB_IP
s1c_bind_addr = SRS_ENB_IP
n_prb = 15
tm = 4
nof_ports = 2

#####################################################################
# eNB configuration files 
#
# sib_config:  SIB1, SIB2 and SIB3 configuration file 
# note: when enabling mbms, use the sib.conf.mbsfn configuration file which includes SIB13
# rr_config:   Radio Resources configuration file 
# drb_config:  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 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.
#                     Default "auto". B210 USRP: 100 samples, bladeRF: 27.
#####################################################################
[rf]
dl_earfcn = 3625
tx_gain = 60
rx_gain = 40
device_name = soapy
device_args = rxant=LNAH,txant=BAND1

# For best performance in 2x2 MIMO and >= 15 MHz use the following device_args settings:
#     USRP B210: num_recv_frames=64,num_send_frames=64
#     And for 75 PRBs, also append ",master_clock_rate=15.36e6" to the device args

# For best performance when BW<5 MHz (25 PRB), use the following device_args settings:
#     USRP B210: send_frame_size=512,recv_frame_size=512

#device_args = auto
#time_adv_nsamples = auto

# Example for ZMQ-based operation with TCP transport for I/Q samples
#device_name = zmq
#device_args = fail_on_disconnect=true,tx_port=tcp://*:2000,rx_port=tcp://localhost:2001,id=enb,base_srate=23.04e6

#####################################################################
# 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 
# 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 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
#
# 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)
# 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 
# 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
#min_nof_ctrl_symbols = 1
#max_nof_ctrl_symbols = 3
#pucch_multiplex_enable = false

#####################################################################
# 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.
#
#####################################################################
[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


#####################################################################
# 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. 
# 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)
# rrc_inactivity_timer  Inactivity timeout used to remove UE context from RRC (in milliseconds).
# 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)
# 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).
#
#####################################################################
[expert]
#pusch_max_its        = 8 # These are half iterations
#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
#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
#rrc_inactivity_timer = 30000
#max_nof_kos          = 100
#max_prach_offset_us  = 30
#nof_prealloc_ues     = 8
#eea_pref_list = EEA0, EEA2, EEA1
#eia_pref_list = EIA2, EIA1, EIA0

rr.conf
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)
  nof_prb = 1;
  m_ri = 8; // RI period in CQI period
};
};

cell_list =
(
{
  // rf_port = 0;
  cell_id = 0x01;
  tac = 0x0001;
  pci = 1;
  // root_seq_idx = 204;
  dl_earfcn = 3625;
  //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}
  )

  // Cells available for handover
  meas_cell_list =
  (
    {
      eci = 0x19C02;
      dl_earfcn = 2850;
      pci = 2;
      //direct_forward_path_available = false;
      //allowed_meas_bw = 6;
    }
  );

  // 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;
  };
}
// Add here more cells
);

rb.conf
// All times are in ms. Use -1 for infinity, where available

// 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 = {
  discard_timer = 100;                
  pdcp_sn_size = 12;                  
}
rlc_config = {
  ul_um = {
    sn_field_length = 10; 
  };
  dl_um = {
    sn_field_length = 10; 
    t_reordering    = 50;
  };
};
logical_channel_config = {
  priority = 2; 
  prioritized_bit_rate   = -1; 
  bucket_size_duration  = 100; 
  log_chan_group = 1; 
};
enb_specific = {
  dl_max_retx_thresh = 32;
};
},
{
qci=2;
pdcp_config = {
  discard_timer = 100;                
  pdcp_sn_size = 12;                  
}
rlc_config = {
  ul_um = {
    sn_field_length = 10; 
  };
  dl_um = {
    sn_field_length = 10; 
    t_reordering    = 50;
  };
};
logical_channel_config = {
  priority = 4; 
  prioritized_bit_rate   = -1; 
  bucket_size_duration  = 100; 
  log_chan_group = 1; 
};
enb_specific = {
  dl_max_retx_thresh = 32;
};
},
{
qci=5;
pdcp_config = {
  discard_timer = -1;
  status_report_required = true;
}
rlc_config = {
  ul_am = {
    t_poll_retx = 80;
    poll_pdu = 128;
    poll_byte = 125;
    max_retx_thresh = 4;
  };
  dl_am = {
    t_reordering = 80;
    t_status_prohibit = 60;
  };
};
logical_channel_config = {
  priority = 11;
  prioritized_bit_rate   = -1; 
  bucket_size_duration  = 100; 
  log_chan_group = 2; 
};
enb_specific = {
  dl_max_retx_thresh = 32;
};
},
{
qci = 7;
pdcp_config = {
  discard_timer = -1;                
  pdcp_sn_size = 12;                  
}
rlc_config = {
  ul_um = {
    sn_field_length = 10; 
  };
  dl_um = {
    sn_field_length = 10; 
    t_reordering    = 45;             
  };
};
logical_channel_config = {
  priority = 13; 
  prioritized_bit_rate   = -1; 
  bucket_size_duration  = 100; 
  log_chan_group = 2; 
};
enb_specific = {
  dl_max_retx_thresh = 32;
};
},
{
qci = 9;
pdcp_config = {
  discard_timer = 150;
  status_report_required = true;
}
rlc_config = {
  ul_am = {
    t_poll_retx = 120;
    poll_pdu = 64;
    poll_byte = 750;
    max_retx_thresh = 16;
  };
  dl_am = {
    t_reordering = 50;
    t_status_prohibit = 50;
  };
};
logical_channel_config = {
  priority = 11; 
  prioritized_bit_rate   = -1; 
  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;
    };
  };
};
}
);


sib.conf
sib1 =
{
  intra_freq_reselection = "Allowed";
  q_rx_lev_min = -65;
  //p_max = 3;
  cell_barred = "NotBarred"
  si_window_length = 20;
  sched_info =
  (
      {
          si_periodicity = 16;

          // 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;
};

sib2 = 
{
  rr_config_common_sib =
  {
      rach_cnfg = 
      {
          num_ra_preambles = 52;
          preamble_init_rx_target_pwr = -104;
          pwr_ramping_step = 6;  // in dB
          preamble_trans_max = 10;
          ra_resp_win_size = 10;  // in ms
          mac_con_res_timer = 64; // in ms
          max_harq_msg3_tx = 4;
      };
      bcch_cnfg = 
      {
          modification_period_coeff = 16; // in ms
      };
      pcch_cnfg = 
      {
          default_paging_cycle = 32; // in rf
          nB = "1";
      };
      prach_cnfg =
      {
          root_sequence_index = 128;
          prach_cnfg_info =
          {
              high_speed_flag = false;
              prach_config_index = 3;
             // prach_freq_offset = 4;
              prach_freq_offset = 4;
              zero_correlation_zone_config = 5;
          };
      };
      pdsch_cnfg = 
      {
          /* Warning: Currently disabled and forced to p_b=1 for TM2/3/4 and p_b=0 for TM1
           */
          p_b = 1;
          rs_power = 0;
      };
      pusch_cnfg = 
      {
          n_sb = 1;
          hopping_mode = "inter-subframe";
          pusch_hopping_offset = 2;
          enable_64_qam = false; // 64QAM PUSCH is not currently enabled
          ul_rs = 
          {
              cyclic_shift = 0; 
              group_assignment_pusch = 0;
              group_hopping_enabled = false; 
              sequence_hopping_enabled = false; 
          };
      };
      pucch_cnfg =
      {
          delta_pucch_shift = 1;
          n_rb_cqi = 1;
          n_cs_an = 0;
          n1_pucch_an = 12;
      };
      ul_pwr_ctrl =
      {
          p0_nominal_pusch = -85;
          alpha = 0.7;
          p0_nominal_pucch = -107;
          delta_flist_pucch =
          {
              format_1  = 0;
              format_1b = 3; 
              format_2  = 1;
              format_2a = 2;
              format_2b = 2;
          };
          delta_preamble_msg3 = 6;
      };
      ul_cp_length = "len1";
  };

  ue_timers_and_constants =
  {
      t300 = 2000; // in ms
      t301 = 100;  // in ms
      t310 = 200; // in ms
      n310 = 1;
      t311 = 10000; // in ms
      n311 = 1;
  };

  freqInfo = 
  {
      ul_carrier_freq_present = true; 
      ul_bw_present = true; 
      additional_spectrum_emission = 1; 
  };

  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
          );
      }
  );
};

Technology stack

Ubuntu 22.04 srsRAN 22.04 (open5gs) LimeSDR v1.4s (LimeSuite v20.10.0, SoapySDR 0.7.2)

egortaran avatar Feb 15 '23 08:02 egortaran

Can you verify whether the docker is in sudoers group or not? That is quite strange.

I ran the same settings and I didn't get that warning

herlesupreeth avatar Feb 27 '23 07:02 herlesupreeth

Thank you very much for the answer. I still haven't solved the problem. Yes, when I run docker I use root user

egortaran avatar Feb 27 '23 08:02 egortaran

Rather than running under root please try running using sudo.

herlesupreeth avatar Feb 27 '23 08:02 herlesupreeth

Btw, I was able to get COTS attach to srsenb with your settings

n_prb = 15
tm = 4
nof_ports = 2

dl_earfcn = 3625
tx_gain = 60
rx_gain = 40
device_name = soapy

NOTE: Remove device_args = rxant=LNAH,txant=BAND1 from your enb.conf as they are incorrect for the band you are using

herlesupreeth avatar Feb 28 '23 12:02 herlesupreeth

It's sad, it didn't work

egortaran avatar Mar 02 '23 04:03 egortaran