srsRAN RU emulator #517
Replies: 9 comments 17 replies
-
Thanks for the detailed tutorial. Is the utilization of DPDK a prerequisite for operating an RU emulator? |
Beta Was this translation helpful? Give feedback.
-
Hello, For the gNB I get the following log:
and for the ru_emulator:
Could you please provide reference configuration for the gNB and the ru_emulator. |
Beta Was this translation helpful? Give feedback.
-
Hi @sauka, in our environment, the RU_emulator works with no throughput. According to the log, the packets are dropped by DPDK. More details are here. Thanks you very much if you could provide some guidance. |
Beta Was this translation helpful? Give feedback.
-
Hi @sauka. Taking advantage of the post, I would like to know if there is a tutorial for running and configuring |
Beta Was this translation helpful? Give feedback.
-
Hello @mmailand , I'm having some trouble with the configuration of my srsRAN setup. Could someone please assist me by providing the configuration files for 'cell_cfg.yml', 'ru_emulator.yml', and 'ru_em.yml'? I believe there might be an issue with my current configuration. Thank you in advance for your help! |
Beta Was this translation helpful? Give feedback.
-
Hi @sauka , noticed some new parameters of test mode in the official Configuration Reference: test_mode:
enable: false # Optional BOOLEAN (false). Set to true to enable CU-UP test mode. Supported: [true, false].
integrity_enable: false # Optional BOOLEAN (false). Set to true to enable PDCP integrity testing. Supported: [true, false].
ciphering_enable: false # Optional BOOLEAN (false). Set to true to enable PDCP ciphering testing. Supported: [true, false].
nea_algo: 2 # Optional UINT (2). Sets the NEA algo to use for testing. Supported: [0, 1, 2, 3].
nia_algo: 2 # Optional UINT (2). Sets the NIA algo to use for testing. Supported: [1, 2, 3]. It seems that CU-UP is supported in test mode. If I'm correct, the original version of test mode included only the MAC and PHY layers. Is there a tutorial on deploying the new version of test mode? Thank you in advance. |
Beta Was this translation helpful? Give feedback.
-
Hi @sauka , Unfortunately, I don’t have a working VM at the moment. I’ll reimplement everything from scratch and share my configuration with you to get guidance on resolving the issue. Thanks for your support! |
Beta Was this translation helpful? Give feedback.
-
Hi @sauka , Noticing in the srsRAN documents, it says DPDK is not a requirement for the RU emulator while here in the comment section you described it as a prerequisite. Could you do some clarification about this? Thank you for your support! |
Beta Was this translation helpful? Give feedback.
-
Hi @sauka, sudo ./gnb -c srs-new-40Mhz.yml -c testmode.yml
[sudo] password for :
--== srsRAN gNB (commit 9d5dd742a) ==--
The PRACH detector will not meet the performance requirements with the configuration {Format B4, ZCZ 0, SCS 30kHz, Rx ports 1}.
Initializing the Open Fronthaul Interface for sector#0: ul_compr=[BFP,9], dl_compr=[BFP,9], prach_compr=[BFP,9], prach_cp_enabled=true, downlink_broadcast=true
Cell pci=1, bw=40 MHz, 2T1R, dl_arfcn=628032 (n78), dl_freq=3420.48 MHz, dl_ssb_arfcn=627072, ul_freq=3420.48 MHz
Warning: Configured PRACH occasion collides with PUCCH RBs ([0..1) intersects [0..12)). Some interference between PUCCH and PRACH is expected.
Warning: Configured PRACH occasion collides with PUCCH RBs ([0..1) intersects [0..12)). Some interference between PUCCH and PRACH is expected.
==== gNB started ===
Type <h> to view help
t
|--------------------DL---------------------|-------------------------UL------------------------------
pci rnti | cqi ri mcs brate ok nok (%) dl_bs | pusch rsrp mcs brate ok nok (%) bsr ta phr
1 44 | 15 1.0 28 105M 1600 0 0% 10M | 99.9 -99.9 28 28M 400 0 0% 81.5M 0 n/a
1 44 | 15 1.0 28 105M 1600 0 0% 10M | 99.9 -99.9 28 28M 400 0 0% 81.5M 0 n/a
1 44 | 15 1.0 28 105M 1600 0 0% 10M | 99.9 -99.9 28 28M 400 0 0% 81.5M 0 n/a
1 44 | 15 1.0 28 105M 1600 0 0% 10M | 99.9 -99.9 28 28M 400 0 0% 81.5M 0 n/a
1 44 | 15 1.0 28 105M 1600 0 0% 10M | 99.9 -99.9 28 28M 400 0 0% 81.5M 0 n/a
1 44 | 15 1.0 28 105M 1600 0 0% 10M | 99.9 -99.9 28 28M 400 0 0% 81.5M 0 n/a
1 44 | 15 1.0 28 105M 1600 0 0% 10M | 99.9 -99.9 28 28M 400 0 0% 81.5M 0 n/a
1 44 | 15 1.0 28 105M 1600 0 0% 10M | 99.9 -99.9 28 28M 400 0 0% 81.5M 0 n/a and for the RU emulator: sudo ./ru_emulator -c emu.yml
[sudo] password for :
Running. Waiting for incoming packets...
| TIME | ID | RX_TOTAL | RX_ON_TIME | RX_EARLY | RX_LATE | RX_SEQ_ERR | RX_ON_TIME_C | RX_EARLY_C | RX_LATE_C | RX_SEQ_ERR_C | RX_ON_TIME_C_U | RX_EARLY_C_U | RX_LATE_C_U | RX_SEQ_ERR_C_U | RX_SEQ_ERR_PRACH | RX_CORRUPT | RX_ERR_DROP | TX_TOTAL |
| 07:34:20 | 0 | 0 | 0 | 0 | 0 | 0/0 | 0 | 0 | 0 | 0/0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 07:34:21 | 0 | 0 | 0 | 0 | 0 | 0/0 | 0 | 0 | 0 | 0/0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 07:34:22 | 0 | 0 | 0 | 0 | 0 | 0/0 | 0 | 0 | 0 | 0/0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 07:34:23 | 0 | 0 | 0 | 0 | 0 | 0/0 | 0 | 0 | 0 | 0/0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 07:34:24 | 0 | 0 | 0 | 0 | 0 | 0/0 | 0 | 0 | 0 | 0/0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
^C| 07:34:25 | 0 | 0 | 0 | 0 | 0 | 0/0 | 0 | 0 | 0 | 0/0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | I'm not running with DPDK and my configuration files are below. Could you kindly take a look and point out what is the issue here if there were any. |
Beta Was this translation helpful? Give feedback.
-
Hey,
In the recent release we have added O-RAN radio unit (RU) emulator in srsRAN. It allows to perform end-to-end tests of the srsRAN CU/DU software solution in a 7.2 split scenario using the test mode.
The RU emulator implements some basic RU functionalities and can be run in a separate PC. Its current version performs the following tasks:
Configuration
Dummy U-Plane UL packets can be generated using static IQ data compression parameters. Allowed options include:
The RU emulator accepts a configuration file in the YAML format just like the gNB application. Below you can find an example of such file:
It is important to provide matching network configurations for both the gNB application (please refer to
ru_ofh
configuration parameters) and the RU emulator.For the details on installing DPDK and binding a NIC port to it please refer to this srsRAN tutorial:
https://docs.srsran.com/projects/project/en/latest/tutorials/source/dpdk/source/index.html
Running end-to-end test
Here are the example commands for running the gNB application in test mode and the RU emulator:
run the gNB:
sudo apps/gnb/gnb -c cell_cfg.yml ru_emulator.yml amf --no_core true test_mode test_ue --rnti 0x1 --ri 4
(all
test_mode
configuration parameters)run the RU emulator:
sudo tests/integrationtests/ofh/ru_emulator -c ru_em.yml
If everything is configured correctly, you should be able to see an output from the RU emulator similar to the following one:
At the gNB side, press
t
to enable the trace and observe reported DL and UL throughput.Beta Was this translation helpful? Give feedback.
All reactions