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
Sample configuration files for the DU can be downloaded from below, for two different system configurations:
2x2 MIMO configuration with 20 MHz bandwidth and using a short PRACH format
.4x2 MIMO configuration with 100 MHz bandwidth and using a long PRACH format
These configurations are 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 (for a 4x2 MIMO configuration):
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:
2x2 MIMO configuration with 20 MHz bandwidth
4x2 MIMO configuration with 100 MHz bandwitdh
Long PRACH format; the 2x2 MIMO with 20 MHz bandwith also supports the short PRACH format, but shows a limited UL performance
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 0dB for 2x2 MIMO configuration with 20 MHz bandwidth and of 6dB for 4x2 MIMO configuration with 100 MHz bandwidth.TDD pattern
: The TDD pattern should be set to the 7-2 format (DDDDDDDSUU). Download ithere
.
The full configuration files we used for these set ups can be found below:
2x2 MIMO configuration with 20 MHz bandwidth and using a short PRACH format
.4x2 MIMO configuration with 100 MHz bandwidth and using a long PRACH format
.
Note that in case of using a long PRACH format, the Msg1 offset needs to be manually set by writing to the 0xc0324
register. It can be done by writing the following command in the RU control console:
registercontrol -w c0324 -x 0xef780000
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.
An example Amarisoft UE configuration file can be found below:
This configuration was tested with a R550 and a specific Amarisoft UE version (lteue-linux-2023-09-08
), whilst using a cabled setup with RF splitters and 30 dB attenuation between the Rx ports of the SDR cards and the R550 antenna ports.