BladeRF RX overrun

Discussions related to schematic capture, PCB layout, signal integrity, and RF development
Post Reply
beams!
Posts: 2
Joined: Tue May 30, 2023 3:14 pm

BladeRF RX overrun

Post by beams! »

Hey all! Currently I am trying to make bladeRF work with OpenAirInterface - LTE with TDD settings however I am running into RX Overrun issue as follows:
[PHY] Required DLSCH mem size 2496 (bw scaling 4), dlsch->harq_processes[7] 0x7fffc2899040
[PHY] init_eNB_proc(inst:0) RC.nb_CC[inst]:1
[PHY] Initializing eNB processes instance:0 CC_id 0
[PHY] eNB->single_thread_flag:0
[New Thread 0x7fffd67fc700 (LWP 12252)]
[New Thread 0x7fffd6ffd700 (LWP 12253)]
[Detaching after vfork from child process 12254]
[Detaching after vfork from child process 12255]
[Detaching after vfork from child process 12256]
[HW] [SCHED][eNB] eNB_thread_prach started on CPU 3, sched_policy = SCHED_FIFO , priority = 99, CPU Affinity= CPU_0 CPU_1 CPU_2 CPU_3 CPU_4 CPU_5 CPU_6 CPU_7
[HW] [SCHED][eNB] eNB_thread_prach_br started on CPU 3, sched_policy = SCHED_FIFO , priority = 99, CPU Affinity= CPU_0 CPU_1 CPU_2 CPU_3 CPU_4 CPU_5 CPU_6 CPU_7
[New Thread 0x7fffc2898700 (LWP 12260)]
waiting for sync (L1_stats_thread,-1/0x5555564cc1c8,0x555556acdb00,0x555556accd40)
[ENB_APP] ALL RUs ready - ALL eNBs ready
[ENB_APP] Sending sync to all threads
[MME_APP] Creating MME_APP eNB Task
got sync (ru_thread)
got sync (L1_stats_thread)
[Detaching after vfork from child process 12261]
[New Thread 0x7fffc2097700 (LWP 12263)]
[New Thread 0x7fffc1896700 (LWP 12264)]
[ITTI] Created Posix thread TASK_MME_APP
[LIBCONFIG] MMEs.[0]: 1/1 parameters successfully set, (1 to default value)
[MCE_APP] Creating MCE_APP eNB Task
[Detaching after vfork from child process 12265]
[New Thread 0x7fffc1095700 (LWP 12267)]
[New Thread 0x7fffc0894700 (LWP 12268)]
[ITTI] Created Posix thread TASK_MCE_APP
[LIBCONFIG] MCEs.[0]: 1/1 parameters successfully set, (1 to default value)
[LIBCONFIG] MCEs.[0]: 1/1 parameters successfully set, (1 to default value)
[ENB_APP] [MCE 0] MCE_app_register via M3AP for instance 0
[PHY] RU 0 rf device ready
[PHY] RU 0 Starting steady-state operation
[RLC] rlc_tick: discontinuity (expected 0.1, got 0.4)
[MAC] SCHED_MODE = 0
RX overrun (1) is detected. t=112385Got 7680 samples. nsymps 7680
RX overrun (2) is detected. t=189185Got 7680 samples. nsymps 7680
RX overrun (3) is detected. t=265985Got 7680 samples. nsymps 7680
RX overrun (4) is detected. t=342785Got 7680 samples. nsymps 7680
RX overrun (5) is detected. t=419585Got 7680 samples. nsymps 7680

It goes on like this until it crashes due to too many samples.
Here is my conf file : https://drive.google.com/file/d/1QMTrl1 ... sp=sharing

This is my bladeRF info:

Board: Nuand bladeRF 2.0 (bladerf2)
Serial #: 2fcc821945a7492092bcb4134fcc7375
VCTCXO DAC calibration: 0x1eeb
FPGA size: 49 KLE
FPGA loaded: yes
Flash size: 32 Mbit
USB bus: 2
USB address: 2
USB speed: SuperSpeed
Backend: libusb
Instance: 0

more:

RX1 Bandwidth: 18000000 Hz (Range: [200000, 56000000])
RX2 Bandwidth: 18000000 Hz (Range: [200000, 56000000])
TX1 Bandwidth: 18000000 Hz (Range: [200000, 56000000])
TX2 Bandwidth: 18000000 Hz (Range: [200000, 56000000])

RX1 Frequency: 2400000000 Hz (Range: [70000000, 6000000000])
RX2 Frequency: 2400000000 Hz (Range: [70000000, 6000000000])
TX1 Frequency: 2400000000 Hz (Range: [47000000, 6000000000])
TX2 Frequency: 2400000000 Hz (Range: [47000000, 6000000000])

Tuning Mode: Host

RX1 AGC: Enabled
RX2 AGC: Enabled

Clock reference: none
Clock input: Onboard VCTCXO
Clock output: Disabled

RX1 RSSI: preamble = 0 dB, symbol = -52 dB
RX2 RSSI: preamble = 0 dB, symbol = -52 dB

Loopback mode: none

RX mux: BASEBAND - Baseband samples

RX FIR Filter: normal (default)
TX FIR Filter: bypass (default)

Gain RX1 overall: 60 dB (Range: [-15, 60])
full: 71 dB (Range: [-4, 71])
Gain RX2 overall: 60 dB (Range: [-15, 60])
full: 71 dB (Range: [-4, 71])
Gain TX1 overall: 56 dB (Range: [-23.75, 66])
dsa: -90 dB (Range: [-89.75, 0])
Gain TX2 overall: 56 dB (Range: [-23.75, 66])
dsa: -90 dB (Range: [-89.75, 0])

RX1 sample rate: 30720000 0/1 (Range: [520834, 61440000])
RX2 sample rate: 30720000 0/1 (Range: [520834, 61440000])
TX1 sample rate: 30720000 0/1 (Range: [520834, 61440000])
TX2 sample rate: 30720000 0/1 (Range: [520834, 61440000])

Bias Tee (RX1): off
Bias Tee (RX2): off
Bias Tee (TX1): off
Bias Tee (TX2): off

Current VCTCXO trim: 0x1eeb
Stored VCTCXO trim: 0x1eeb

Hardware status:
RFIC status:
Tuning Mode: Host
Temperature: 28.1 degrees C
CTRL_OUT: 0xf8 (0x035=0x00, 0x036=0xff)
Power source: USB Bus
Power monitor: 4.888 V, 0.56 A, 2.72 W
RF routing:
RX1: RFIC 0x0 (A_BAL ) <= SW 0x0 (OPEN )
RX2: RFIC 0x0 (A_BAL ) <= SW 0x0 (OPEN )
TX1: RFIC 0x0 (TXA ) => SW 0x0 (OPEN )
TX2: RFIC 0x0 (TXA ) => SW 0x0 (OPEN )

I have been stuck on this for weeks, any help and leads would be greatly appreciated! Thank you.
robert.ghilduta
Posts: 156
Joined: Thu Feb 28, 2013 11:14 pm

Re: BladeRF RX overrun

Post by robert.ghilduta »

Are you in a Virtual Machine? If so, please let me know what software and is XHCI support enabled?
Some RX overruns are expected.
beams!
Posts: 2
Joined: Tue May 30, 2023 3:14 pm

Re: BladeRF RX overrun

Post by beams! »

Hello Robert,
No I am not using any Virtual Machine. I am trying this on Ubuntu 20.04 LTS OS.
violetcherry
Posts: 2
Joined: Sun Oct 08, 2023 11:54 pm

Re: BladeRF RX overrun

Post by violetcherry »

Try reducing sample rate - overruns can occur if sampling rate is set higher than hardware can handle.drift hunters
evawillms
Posts: 1
Joined: Mon Nov 13, 2023 6:41 pm

Re: BladeRF RX overrun

Post by evawillms »

The RX Overrun issue you are encountering with the bladeRF while using OpenAirInterface (OAI) for LTE with TDD settings indicates that the receiver is unable to process the incoming data at the rate it is being received. This can happen when the processing resources are insufficient or when there are delays in the processing chain. Run 3
Post Reply