Benetel R550/650
Warning
This document is intended to be used as a guide. Variances in firmware and software versions in local setups may require the sample configuration files provided to be changed. As a result please closely follow the specific users guides of your RU in conjunction with this guide.
Overview
This guide provides further details on connecting the srsRAN CU/DU to an RU using the OFH Lib. Specifically the RAN550 and RAN650 RU from Benetel. Those are Split 7.2a indoor and outdoor RUs, respectivly.
Note
Please refer to the Benetel User Guide Documentation for up-to-date configuration and usage guidelines, along with disclaimer and warranty information. Contact Benetel (sales@benetel.com) for more information.
Configuration
Tip
For the most up-to-date configuration changes, troubleshooting and information on potential issues check the GitHub Discussions
CU/DU
A sample configuration file for the DU can be downloaded from here. This configuration is specific to the firmware version of the RU (version 1.0.4) being used for this guide. As a result, you may need to modify this slightly for your local setup.
The following excerpt shows how the DU is configured to communicate with the RU:
ru_ofh:
t1a_max_cp_dl: 470
t1a_min_cp_dl: 419
t1a_max_cp_ul: 336
t1a_min_cp_ul: 285
t1a_max_up: 345
t1a_min_up: 294
ta4_max: 200
ta4_min: 0
is_prach_cp_enabled: false # Configures if Control-Plane messages should be used to receive PRACH messages.
compr_method_ul: bfp # Uplink compression method.
compr_bitwidth_ul: 9 # Uplink IQ samples bitwidth after compression.
compr_method_dl: bfp # Downlink compression method.
compr_bitwidth_dl: 9 # Downlink IQ samples bitwidth after compression.
compr_method_prach: bfp # PRACH compression method.
compr_bitwidth_prach: 9 # PRACH IQ samples bitwidth after compression.
enable_ul_static_compr_hdr: true # Configures if the compression header is present for uplink User-Plane messages (false) or not present (true).
enable_dl_static_compr_hdr: true # Configures if the compression header is present for downlink User-Plane messages (false) or not present (true).
iq_scaling: 10 # IQ samples scaling factor applied before compression, should be a positive value smaller than 10.
cells:
- network_interface: enp1s0f0 # Ethernet interface name used to communicate with the RU.
ru_mac_addr: 70:b3:d5:e1:5b:06 # RU MAC address.
du_mac_addr: 80:61:5f:0d:df:aa # DU MAC address.
vlan_tag_cp: 5 # VLAN tag value for CP.
vlan_tag_up: 5 # VLAN tag value for UP.
prach_port_id: [4, 5] # PRACH eAxC port value.
dl_port_id: [0, 1, 2, 3] # Downlink eAxC port values.
ul_port_id: [0, 1] # Uplink eAxC port values.
To expand on this, the following parameters are set in the cells
field:
network_interface
: Network interface used to send the OFH packets.ru_mac_addr
: MAC address of the RAN550/650.du_mac_addr
: MAC address of the interface used by the gNB (it should be connected directly to the RU or using a smart switch).vlan_tag_up/vlan_tag_cp
: V-LAN identifier, should be set to the value configured in the switch settings
RU
Refer to the Benetel User Guide documentation to apply the following configuration changes so that they match your local setup. The following information is purely a guide and may not work for your specific set up.
We currently recommend to use the following RU configuration as other parameter combinations are untested and seem to cause issues with Benetel RUs:
100 MHz bandwidth
4x2 MIMO configuration
Long PRACH format
Ensure the RU is running before trying to make any configuration changes. Some of the values can be set/modified in the /etc/ru_config.cfg file, but some others need to be modified
MAC Address
: The MAC address of the DU must be configured in the RU for Control-Plane and User-Plane traffic. In our configuration we use the same MAC address for both planes.VLAN tag
: In our setup the same VLAN ID is used for all network traffic, as only one MAC address is used.Compression
: Currently only static compression headers are supported for this setup. We use BFP9 compression for all uplink and downlink channels. Refer to the Benetel User Guide for details on how to configure compression in the RU.Transmission Power
: Depending on your setup, you may need to alter the transmission power of the RU. For example, in a lab setting with the UE in close proximity to the RU, the default power settings may result in UE saturation.PRACH format
: We recommend using long PRACH format.DL scaling
: We use downlink scaling of 6dB.TDD pattern
: The TDD pattern should be set to the 7-2 format (DDDDDDDSUU). Download ithere
.
The full configuration file we used for this set up can be found here
.
Initializing and connecting to the network
Initializing and connecting to the network is done in the same way as outlined in the general 7.2 RU guide.
Initializing the network
The following steps should be taken to initialize the network:
Ensure the RX50 is online and that both the PTP process and RU synchronization are running correctly.
Run the CU/DU, making sure that the PTP sync between the DU and the Falcon switch is successful as previously outlined.
sudo ./gnb -c gnb_ru_ran550_tdd_n78_100mhz_4x2.yml
If the DU connects to the RU successfully, you will see the following output:
The PRACH detector will not meet the performance requirements with the configuration {Format 0, ZCZ 0, SCS 1.25kHz, Rx ports 1}. --== srsRAN gNB (commit 96f185389) ==-- Connecting to AMF on 127.0.0.5:38412 Initializing the Open Fronthaul Interface for sector#0: ul_compr=[BFP,9], dl_compr=[BFP,9], prach_compr=[BFP,9], prach_cp_enabled=false, downlink_broadcast=false Warning: Configured PRACH occasion collides with PUCCH RBs ([0..1) intersects [0..3)). Some interference between PUCCH and PRACH is expected. Warning: Configured PRACH occasion collides with PUCCH RBs ([0..1) intersects [0..3)). Some interference between PUCCH and PRACH is expected. Cell pci=1, bw=100 MHz, 4T2R, dl_arfcn=650000 (n78), dl_freq=3750.0 MHz, dl_ssb_arfcn=647328, ul_freq=3750.0 MHz ==== gNodeB started === Type <t> to view trace
Connecting to the network
You can now connect a UE to the network. This can either be done using e.g. a COTS UE. See the main RU guide for details on this.