Discussion and technical support related to USRP, UHD, RFNoC
View all threadsHi,
I am attempting to use two USRP x310 to deploy a 5G SA networking using the
openairinterface5g open-source system. However, I am experiencing a receive
overflow error when attempting to deploy both an OAI-nrUE and OAI-gNB.
The nrUE gives an *ERROR_CODE_OVERFLOW (Overflow) *warning before failing
and referencing a function in the OAI code.
My gNB runs irregularly, constantly showing the
*ERROR_CODE_OVERFLOW(Overflow) *message. In addition to multiple late or
"L" messages.
My system setting is as follows:
I've made the following changes to both systems:
Do you have any recommendations for my overflow issues? Also, Is there a
way to lower the number of samples transmitted?
Additionally, I tried to run the UHD benchmark test in examples. However, I
had issues converting the cpp file to an executable. It failed for some
reason. Do you have any advice for this as well?
--
V/r
LoyCurtis Smith
Hello LoyCurtis Smith:
Thanks for the detailed information about your system configuration.
Everything looks fine at initial glance, and I would expect this to work.
I might say that the clock speed of your Dell Latitude E5570 i7-6820HQ CPU
might be too low, I would generally recommend a clock speed of 3.5 GHz or
higher, but it depends on what you're doing, what the sampling rate is, and
what the network traffic is, etc.
What channel bandwidth are you using?
Could you please run the "benchmark_rate" utility on both the gNB and nrUE
sides, using the same sampling rates that you're using for the gNB and
nrUE, and let me know your results? This utility will test your interface
at the desired sampling rate and see if it can sustain the data streaming
rate.
./benchmark_rate --tx_rate 15.76e6 --rx_rate 15.76e6 --duration 600
--Neel Pandeya
On Wed, 17 Nov 2021 at 01:00, LoyCurtis Smith ljsmith9@ncsu.edu wrote:
Hi,
I am attempting to use two USRP x310 to deploy a 5G SA networking using
the openairinterface5g open-source system. However, I am experiencing a
receive overflow error when attempting to deploy both an OAI-nrUE and
OAI-gNB.
The nrUE gives an *ERROR_CODE_OVERFLOW (Overflow) *warning before failing
and referencing a function in the OAI code.
My gNB runs irregularly, constantly showing the
*ERROR_CODE_OVERFLOW(Overflow) *message. In addition to multiple late or
"L" messages.
My system setting is as follows:
- *OAI-nrUE* - Latitude -E5570* (laptop)* - 16 GB RAM, i7-6820HQ with
4 cores, 8 threads @ 2.70 GHz running Ubuntu 18.04 with 5.40-90 low latency
kernel; 1-GigE connection to USRP x310 with CBX-120 daughterboard. UHD 3.15
- *OAI-gNB* - Optiplex-7040* (desktop)** - *16 GB RAM, i7-6700 with 4
cores, 8 threads @ 3.40 GHz- running Ubuntu 18.04 with 5.40-89 low latency
kernel; 1-GigE connection to USRP x310 with CBX-120 daughterboard. UHD 4.1
I've made the following changes to both systems:
- Set the socket buffers (rmem_default, rmem_max, wmem_max,
wmem_default) to 33554432
- Set TX and RX ring buffers on the interface to max value of 4096.
- Set scaling_governor to "performance" mode for each CPU.
- Disabled C states.
- Performed self-calibration on OAI-nrUE USRP x310 using
uhd_cal_rx_iq_balance, uhd_cal_tx_iq_balance, and uhd_cal_tx_dc_offset.
Do you have any recommendations for my overflow issues? Also, Is there a
way to lower the number of samples transmitted?
Additionally, I tried to run the UHD benchmark test in examples. However,
I had issues converting the cpp file to an executable. It failed for some
reason. Do you have any advice for this as well?
--
V/r
LoyCurtis Smith
USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-leave@lists.ettus.com
On 2021-11-19 12:19, Neel Pandeya wrote:
Hello LoyCurtis Smith:
Thanks for the detailed information about your system configuration.
Everything looks fine at initial glance, and I would expect this to
work. I might say that the clock speed of your Dell Latitude E5570
i7-6820HQ CPU might be too low, I would generally recommend a clock
speed of 3.5 GHz or higher, but it depends on what you're doing, what
the sampling rate is, and what the network traffic is, etc.
What channel bandwidth are you using?
Could you please run the "benchmark_rate" utility on both the gNB and
nrUE sides, using the same sampling rates that you're using for the
gNB and nrUE, and let me know your results? This utility will test
your interface at the desired sampling rate and see if it can sustain
the data streaming rate.
./benchmark_rate --tx_rate 15.76e6 --rx_rate 15.76e6 --duration 600
--
I think Mr. Smith did run that test, and it was fine (after I pointed
him at the correct directory for the benchmark_rate example).
Hey,
I was able to solve my issue. Since I’m limited by the 25 MSps sample rate
associated with the 1-GigE interface, I lowered my subcarrier spacing to
15kHz from 30 kHz, which lowered my sample rate to 23.04 MSps. However, I
received an error from the OAI-Code for having an unknown sample rate.
To solve this, l had to add the 23.04 MSps sample rate to an if
statement that
controlled the configuration of USRP x310s and USRP N300s, and exists
within a C++ file that uses the UHD API.
I was able to successfully test this on my OAI-nrUE. I will have to make
the same change on my OAI-gNB system and test it.
On Fri, Nov 19, 2021 at 20:20 Marcus D. Leech patchvonbraun@gmail.com
wrote:
On 2021-11-19 12:19, Neel Pandeya wrote:
Hello LoyCurtis Smith:
Thanks for the detailed information about your system configuration.
Everything looks fine at initial glance, and I would expect this to work.
I might say that the clock speed of your Dell Latitude E5570 i7-6820HQ CPU
might be too low, I would generally recommend a clock speed of 3.5 GHz or
higher, but it depends on what you're doing, what the sampling rate is, and
what the network traffic is, etc.
What channel bandwidth are you using?
Could you please run the "benchmark_rate" utility on both the gNB and nrUE
sides, using the same sampling rates that you're using for the gNB and
nrUE, and let me know your results? This utility will test your interface
at the desired sampling rate and see if it can sustain the data streaming
rate.
./benchmark_rate --tx_rate 15.76e6 --rx_rate 15.76e6 --duration 600
--
I think Mr. Smith did run that test, and it was fine (after I pointed him
at the correct directory for the benchmark_rate example).
USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-leave@lists.ettus.com
--
V/r
LoyCurtis Smith
Hi Loy,
I have a similar problem to yours.
I am trying to run the OAI 5G nr-UE binary with
./nr-uesoftmodem --sa --usrp-args "type=n3xx, addr=192.168.99.114" --numerology 1 -r 106 --band 78 -s 516 -C 3619200000 -d --ue-fo-compensation -E --ue-rxgain 65
and getting the following error:
[HW] Found USRP n3xx
Found USRP n310
net.core.rmem_max = 62500000
net.core.wmem_max = 62500000
[INFO] [MPMD] Initializing 1 device(s) in parallel with args: mgmt_addr=192.168.99.114,type=n3xx,product=n310,serial=3240243,name=ni-n3xx-3240243,fpga=HG,claimed=False,addr=192.168.99.114,master_clock_rate=122880000.000000
[WARNING] [MPM.RPCServer] A timeout event occured!
[INFO] [MPM.PeriphManager] init() called with device args `fpga=HG,master_clock_rate=122880000.000000,mgmt_addr=192.168.99.114,name=ni-n3xx-3240243,product=n310,clock_source=internal,time_source=internal'.
[HW] Setting clock source to internal
[HW] Setting time source to internal
-- Using calibration table: calib_table_n310
[HW] device_init() sample_rate:46080000
[WARNING] [0/DDC#0] The requested decimation is odd; the user should expect passband CIC rolloff.
Select an even decimation to ensure that a halfband filter is enabled.
Decimations factorable by 4 will enable 2 halfbands, those factorable by 8 will enable 3 halfbands.
decimation = dsp_rate/samp_rate -> 3
[WARNING] [0/DDC#0] The requested decimation is odd; the user should expect passband CIC rolloff.
Select an even decimation to ensure that a halfband filter is enabled.
Decimations factorable by 4 will enable 2 halfbands, those factorable by 8 will enable 3 halfbands.
decimation = dsp_rate/samp_rate -> 3
[WARNING] [MULTI_USRP] Could not set RX rate to 46.080 MHz. Actual rate is 40.960 MHz
[HW] cal 0: freq 3500000000.000000, offset 0.000000, diff 119200000.000000
[HW] cal 1: freq 2660000000.000000, offset 0.000000, diff 959200000.000000
[HW] cal 2: freq 2300000000.000000, offset 0.000000, diff 1319200000.000000
[HW] cal 3: freq 1880000000.000000, offset 0.000000, diff 1739200000.000000
[HW] cal 4: freq 816000000.000000, offset 0.000000, diff 2803200000.000000
[HW] RX Gain 0 65.000000 (0.000000) => 65.000000 (max 75.000000)
[WARNING] [0/DUC#0] The requested interpolation is odd; the user should expect passband CIC rolloff.
Select an even interpolation to ensure that a halfband filter is enabled.
[WARNING] [MULTI_USRP] Could not set TX rate to 46.080 MHz. Actual rate is 40.960 MHz
[HW] USRP TX_GAIN:65.00 gain_range:65.00 tx_gain:0.00
[HW] Actual master clock: 122.880000MHz...
[HW] Actual clock source internal...
[HW] Actual time source internal...
[HW] RF board max packet size 364, size for 100µs jitter 4608
[HW] rx_max_num_samps 364
[HW] setting rx channel 0
[INFO] [0/Radio#0] Re-initializing dboard to apply bandwidth settings. This may take some time.
[INFO] [0/Radio#0] Bandwidth settings applied: 40000000.000000
[INFO] [0/Radio#0] Re-initializing dboard to apply bandwidth settings. This may take some time.
[INFO] [0/Radio#0] Bandwidth settings applied: 40000000.000000
[HW] RX Channel 0
[HW] Actual RX sample rate: 40.960000MSps...
[HW] Actual RX frequency: 3.619200GHz...
[HW] Actual RX gain: 65.000000...
[HW] Actual RX bandwidth: 40.000000M...
[HW] Actual RX antenna: RX2...
[HW] TX Channel 0
[HW] Actual TX sample rate: 40.960000MSps...
[HW] Actual TX frequency: 3.619200GHz...
[HW] Actual TX gain: 65.000000...
[HW] Actual TX bandwidth: 40.000000M...
[HW] Actual TX antenna: TX/RX...
[HW] Actual TX packet size: 364
[HW] Device timestamp: 1.650939...
[HW] [RRU] has loaded USRP N300 device.
sleep...
sleep...
sleep...
sleep...
sleep...
sleep...
sleep...
sleep...
sleep...
[PHY] [SCHED][UE] Check absolute frequency DL 3619200000.000000, UL 3619200000.000000 (RF card 0, oai_exit 0, channel 0, rx_num_channels 1)
[PHY] Starting sync detection
[PHY] [UE thread Synch] Running Initial Synch (mode 6)
[PHY] [UE] nr_synchro_time: Sync source = 1, Peak found at pos 53888, val = 977850 (59 dB) avg 58 dB, ffo 0.059037
PSS execution duration 162148 microseconds
[PHY] [UE0] Initial sync : Estimated PSS position -1, Nid2 1
[PHY] sync_pos -1 ssb_offset 460691
[PHY] TDD Normal prefix: SSS error condition: sync_pos -1
[HW] [recv] received 13248 samples out of 23040
D[HW] Time: 1.22139 s
ERROR_CODE_OVERFLOW (Out of sequence error)
Assertion (UE->frame_parms.get_samples_per_slot(slot,&UE->frame_parms) == UE->rfdevice.trx_read_func(&UE->rfdevice, timestamp, rxp, UE->frame_parms.get_samples_per_slot(slot,&UE->frame_parms), UE->frame_parms.nb_antennas_rx)) failed!
In readFrame() /home/ubuntu/openairinterface5g/executables/nr-ue.c:767
Exiting execution
Aborted
Could you please let me know which source code you modified to accept the lowered sample rate?