Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Buggs: I cannot run custom gnb config file from the latest user manual documentations #572

Open
ehitimum opened this issue Apr 23, 2024 · 0 comments

Comments

@ehitimum
Copy link

Issue Description

It seems if I create a custom gnb file from the latest user manual config file from this link:
https://docs.srsran.com/projects/project/en/latest/user_manuals/source/config_ref.html
and then try to run I get parse error.

Here is my config file du.yaml:

amf:
  addr: 192.168.88.10                                 # Required TEXT. Sets the IP address or hostname of the AMF. Format: IPV4 or IPV6 IP address.
  port: 38412                           # Optional UINT (38412). Sets the AMF port. Format: integer between [20000 - 40000].
  bind_addr: 192.168.88.233                           # Required TEXT. Sets the local IP address that the gNB binds to for receiving traffic from the AMF. Format: IPV4 or IPV6 IP address.

ru_ofh:
# Many of the following values are optional as they have default values. In practice, all of the following parameters should be defined by the user, as they will need
# to be configured specifically for the RU being used. Failing to configure this parameters correctly may result in the RU failing to connect correctly to the DU.
  #gps_alpha: 0                          # Optional FLOAT (0). Sets the GPS alpha. Supported: [0 - 1.2288e+07].
  #gps_beta: 0                           # Optional INT (0). Sets the GPS beta. Supported: [-32768 - +32767].
  ru_bandwidth_MHz: 100                   # Required UINT (0). Sets the channel bandwidth in MHz. Supported: [5,10,15,20,25,30,40,50,60,70,80,90,100].
  t1a_max_cp_dl: 514                    # Optional INT (500). Sets T1a maximum value for downlink control-plane. Supported: [0 - 1960].
  t1a_min_cp_dl: 124                    # Optional INT (258). Sets T1a minimum value for downlink control-plane. Supported: [0 - 1960].
  t1a_max_cp_ul: 442                    # Optional INT (500). Sets T1a maximum value for uplink control-plane. Supported: [0 - 1960].
  t1a_min_cp_ul: 86                     # Optional INT (258). Sets T1a minimum value for uplink control-plane. Supported: [0 - 1960].
  t1a_max_up: 514                       # Optional INT (300).Sets T1a maximum value for uer-plane. Supported: [0 - 1960].
  t1a_min_up: 130                       # Optional INT (85). Sets T1a minimum value for user-plane. Supported: [0 - 1960].
  ta4_max: 170                          # Optional UINT (300). Sets the Ta4 maximum value for User-Plane. Supported: [0 - 1960].
  ta4_min: 86                           # Optional UINT (85). Sets the Ta4 maximum value for User-Plane. Supported: [0 - 1960].
  is_prach_cp_enabled: 1                # Optional BOOLEAN (0). Sets PRACH control-plane enabled flag. Supported: [0, 1].
  is_dl_broadcast_enabled: 1            # Optional BOOLEAN (0). Sets downlink broadcast enabled flag. Supported: [0, 1]. 
  ignore_ecpri_seq_id: 0                # Optional BOOLEAN (0). Sets whether or not to ignore eCPRI sequence ID field value. Supported [0, 1].
  ignore_ecpri_payload_size: 1          # Optional BOOLEAN (0). Sets whether or not to ignore eCPRI payload size field value. Supported [0, 1].
  warn_unreceived_ru_frames: 1          # Optional BOOLEAN (1). Sets whether or not to send a warning when there are unreceived Radio Unit frames. Supported [0, 1].
  compr_method_ul: bfp                  # Optional TEXT (bfp). Sets the uplink compression method. Supported: [none, bfp, bfp selective, block scaling, mu law, modulation, modulation selective].
  compr_bitwidth_ul: 8                  # Optional UINT (9). Sets the uplink compression bit width. Supported: [1 - 16].
  compr_method_dl: bfp                  # Optional TEXT (bfp). Sets the downlink compression method. Supported: [none, bfp, bfp selective, block scaling, mu law, modulation, modulation selective].
  compr_bitwidth_dl: 8                  # Optional UINT (9). Sets the downlink compression bit width. Supported: [1 - 16].
  compr_method_prach: bfp              # Optional TEXT (none). Sets the PRACH compression method. Supported: [none, bfp, bfp selective, block scaling, mu law, modulation, modulation selective].
  compr_bitwidth_prach: 8              # Optional UINT (16). Sets the PRACH compression bit width. Supported [1 - 16]. 
  enable_ul_static_compr_hdr: 1         # Optional BOOLEAN (1). Uplink static compression header enabled flag. Supported: [0 . 1].
  enable_dl_static_compr_hdr: 1         # Optional BOOLEAN (1). Downlink static compression header enabled flag. Supported: [0 . 1].
  iq_scaling: 0.8                      # Optional FLOAT (0.35). Sets the IQ scaling factor. Supported: [0 - 1].  
  cells:                                # Optional TEXT. Sets the hardware specific cell configuration on a per cell basis.    
    -                                    #Cell 1
      network_interface: enp1s0f1             # Optional TEXT (enp1s0f0). Sets the ethernet network interface name for the RU or PCIe identifier when using DPDK. Format: a string, e.g. [interface_name].
      ru_mac_addr: 0C:83:CC:0F:E9:04       # Optional TEXT (70:b3:d5:e1:5b:06). Sets the RU MAC address. Format: a string, e.g. [AA:BB:CC:DD:11:22:33].
      du_mac_addr: 98:b7:85:1e:e7:f0       # Optional TEXT (00:11:22:33:00:77). Sets the DU MAC address. Format: a string, e.g. [AA:BB:CC:DD:11:22:33].
     # vlan_tag: 564                             # Optional UINT (1). Sets the V-LAN tag control information field. Supported: [1 - 4094].
      vlan_tag_cp: 564                                              # VLAN tag value for C-Plane.
      vlan_tag_up: 564                                              # VLAN tag value for U-Plane.

      ru_prach_port_id: [0, 1, 2, 3]                   # Optional UINT (4). Sets the RU PRACH eAxC port ID. Supported: [0 - 65535].
      ru_dl_port_id: [0]                   # Optional UINT (0, 1). Sets the RU downlink eAxC port ID. Format: vector containing all DL eXaC ports, e.g. [0, ...\ , N].
      ru_ul_port_id: [0]                      # Optional UINT (0). Sets the RU uplink eAxC port ID. Supported: [0 - 65535].

cell_cfg:
  pci: 1                                # Required UINT (1). Sets the Physical Cell ID. Supported: [0-1007].
  dl_arfcn: 641676                      # Required UINT (536020). Sets the Downlink ARFCN.
  band: auto                            # Optional TEXT (auto). Sets the NR band being used for the cell. If not specified, will be set automatically based on ARFCN. Supported: all release 17 bands.
  common_scs: 30                        # Required UINT (15). Sets the subcarrier spacing in KHz to be used by the cell. Supported: [15, 30].
  channel_bandwidth_MHz: 100             # Required UINT (20). Sets the channel Bandwidth in MHz, the number of PRBs will be derived from this. Supported: [5, 10, 15, 20, 25, 30, 40, 50, 60, 70, 80, 90, 100].
  nof_antennas_dl: 1                    # Optional UINT (1). Sets the number of antennas for downlink transmission. Supported: [1, 2, 4].
  nof_antennas_ul: 1                    # Optional UINT (1). Sets the number of antennas for uplink transmission. Supported: [1, 2, 4].
  plmn: 31501                           # Required TEXT (00101). Sets the Public Land Mobile Network code. Format: 7-digit PLMN code containing MCC & MNC.
  tac: 1                                # Required UINT (7). Sets the Tracking Area Code.
 # q_rx_lev_min: -70                     # Optional INT (-70). Sets the required minimum received RSRP level for cell selection/re-selection, in dBm. Supported: [-70 - -22].
 # q_qual_min: -20                       # Optional INT (-20). Sets the required minimum received RSRQ level for cell selection/re-selection, in dB. Supported: [-43 - -12].
 # pcg_p_nr_fr1: 10                      # Optional INT (10). Sets the maximum total TX power to be used by the UE in this NR cell group across in FR1. Supported: [-30 - +23].
  prach:
    prach_config_index:                     # Optional UINT. Sets the PRACH configuration index. If not set, the value is derived, so that the PRACH fits in an UL slot. Supported: [0 - 255].
    prach_root_sequence_index: 1            # Optional UINT (1). Sets the PRACH Roost Sequence Index (RSI), which determines the Zadoff-Chu (ZC) sequence used. Supported: [0 - 837]. If the PRACH configuration index is larger than 86, you cannot set a PRACH RSI of more than 137.
    zero_correlation_zone: 0                # Optional UINT (0). Sets the Zero Correlation Zone, which determines the size of the cyclic shift and the number of preamble sequences which can be generated from each Root Sequence Index. Supported: [0 - 15].
    prach_frequency_start:                  # Optional INT. Set Offset of lowest PRACH transmission occasion in frequency domain respective to PRB 0, in PRBs. Supported: [0 - (MAX_NOF_PRB - 1)].


log:
  filename: /var/log/srsran/gnb.log                            #/home/malin/gnb.log      # Path of the log file.
  all_level: info                                              # Logging level applied to all layers.

pcap:
  ngap_filename: /tmp/gnb_ngap.pcap     # Optional TEXT (/tmp/gnb_ngap.pcap). Path for NGAP PCAPs. 
  ngap_enable: false                    # Optional BOOL (false). Enable/disable NGAP packet capture.
  e1ap_filename: /tmp/gnb_e1ap.pcap     # Optional TEXT (/tmp/gnb_e1ap.pcap). Path for E1AP PCAPs. 
  e1ap_enable: false                    # Optional BOOL (false). Enable/disable E1AP packet capture.
  f1ap_filename: /tmp/gnb_f1ap.pcap     # Optional TEXT (/tmp/gnb_f1ap.pcap). Path for F1AP PCAPs. 
  f1ap_enable: false                    # Optional BOOL (false). Enable/disable F1AP packet capture.
  rlc_filename: /tmp/gnb_rlc.pcap       # Optional TEXT (tmp/gnb_rlc.pcap). Path for RLC PCAPs. 
  rlc_rb_type: all                      # Optional TEXT. Sets the RLC PCAP RB type. Supported: [all, srb, drb].
  rlc_enable: false                     # Optional BOOL (false). Enable/disable RLC packet capture.  
  mac_filename: /tmp/gnb_mac.pcap       # Optional TEXT (/tmp/gnb_mac.pcap). Path for MAC PCAPs. 
  mac_type: udp                         # Optional TEXT (udp). Sets the MAC PCAP pcap type. Supported: [DLT or UDP].
  mac_enable: false                     # Optional BOOL (false). Enable/disable MAC packet capture.
  e2ap_filename: /tmp/gnb_e2ap.pcap     # Optional TEXT (/tmp/gnb_e2ap.pcap). Path for E2AP PCAPs. 
  e2ap_enable: false                    # Optional BOOL (false). Enable/disable E2AP packet capture.
  gtpu_filename: /tmp/gnb_gtpu.pcap     # Optional TEXT (/tmp/gnb_gtpu.pcap). Path for GTPU PCAPs. 
  gtpu_enable: false                    # Optional BOOL (false). Enable/disable GTPU packet capture.

Now if I run this command sudo gnb -c du.yaml I get this INI was not able to parse ru_prach_port_id

It seems some of gnb can't understand new config or that the user manual config has problem and needs update. Anyway I am currently using one of those default configs file. They seem to work since they are old config file. Also it's confusing since I am using vlan_tag this line in past release but for new release it can't recognize this line. So I guess there maybe some bugs here.

Thank you

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant