On 12/12/2023 07:03, Sachin Gupta wrote:
Dear Forum members,

I am trying to run an OAI 5G UE Simulator using USRP B210. The gNB configuration that is planned to be used is DL 2x2 MIMO mode and 20 MHz system bandwidth. Due to this I am trying to use benchmark_rate application to see if my UE setup is working fine

My understanding is that to support 2x2 MIMO with a bandwidth of 20 MHz, I will need 2 TX and 2 RX channels @ sampling rate of 30.72 msps. When I run a benchmark_rate test with this configuration it is consistently failing. Single channel and reduced sampling rate tests with dual channel are passing

Request if someone can help troubleshoot this issue or point me in the right direction to resolve this issue

*// Dual channel (required for 2x2 MIMO), TX and RX rate test @ 30.72 msps * benchmark_rate --tx_rate 30.72e6 --rx_rate 30.72e6 --rx_channels "0,1" --tx_channels "0,1" --duration 100 => Fails with lot of overflows (logs below)

*// Single channel (for 1x1 SISO), TX and RX rate test @ 30.72 msps *
benchmark_rate --tx_rate 30.72e6 --rx_rate 30.72e6 --rx_channels "0" --tx_channels "0" --duration 100 => PASS w/o any overflow

*// Dual channel (required for 2x2 MIMO), RX rate test @ 30.72 msps and TX rate test @ 15.36 msps => reduced TX rate to see if it is working* benchmark_rate --tx_rate 15.36e6 --rx_rate 30.72e6 --rx_channels "0,1" --tx_channels "0,1" --duration 100 => PASS

NOTE: As mentioned in Ettus documentation, external power supply is provided for 2x2 configuration

*===========System Information==============*

# lscpu
Architecture:         x86_64
  CPU op-mode(s):        32-bit, 64-bit
  Address sizes:         39 bits physical, 48 bits virtual
  Byte Order:         Little Endian
CPU(s):         6
  On-line CPU(s) list:   0-5
Vendor ID:          GenuineIntel
  Model name:         Intel(R) Core(TM) i7-10710U CPU @ 1.10GHz
    CPU family:         6
    Model:          166
    Thread(s) per core:  1
    Core(s) per socket:  6
    Socket(s):          1
    Stepping:         0
    Frequency boost:     enabled
    CPU max MHz:         1601.0000
    CPU min MHz:         400.0000
    BogoMIPS:         3199.92
    Flags:          fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pd          pe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 moni          tor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdr          and lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi flexpriority ept vpid           ept_ad fsgsbase tsc_adjust sgx bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsav          es dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d arch_capabilities
Virtualization features:
Virtualization:        VT-x
Caches (sum of all):
  L1d:          192 KiB (6 instances)
  L1i:          192 KiB (6 instances)
  L2:         1.5 MiB (6 instances)
  L3:         12 MiB (1 instance)
NUMA:
  NUMA node(s):         1
  NUMA node0 CPU(s):     0-5
Vulnerabilities:
  Gather data sampling:  Not affected
  Itlb multihit:         KVM: Mitigation: VMX disabled
  L1tf:         Not affected
  Mds:          Not affected
  Meltdown:         Not affected
  Mmio stale data:       Mitigation; Clear CPU buffers; SMT disabled
  Retbleed:         Mitigation; Enhanced IBRS
  Spec rstack overflow:  Not affected
  Spec store bypass:     Mitigation; Speculative Store Bypass disabled via prctl and seccomp   Spectre v1:         Mitigation; usercopy/swapgs barriers and __user pointer sanitization   Spectre v2:         Mitigation; Enhanced IBRS, IBPB conditional, RSB filling, PBRSB-eIBRS SW sequence
  Srbds:          Not affected
  Tsx async abort:       Not affected

*========= Device Information=========*
# uhd_find_devices
[INFO] [UHD] linux; GNU C++ version 11.4.0; Boost_107400; UHD_4.6.0.0-3-g080b1baa
--------------------------------------------------
-- UHD Device 0
--------------------------------------------------
Device Address:
    serial: 32308C2
    name: MyB210
    product: B210
    type: b200

# uhd_usrp_probe
[INFO] [UHD] linux; GNU C++ version 11.4.0; Boost_107400; UHD_4.6.0.0-3-g080b1baa
[INFO] [B200] Detected Device: B210
[INFO] [B200] Operating over USB 3.
[INFO] [B200] Initialize CODEC control...
[INFO] [B200] Initialize Radio control...
[INFO] [B200] Performing register loopback test...
[INFO] [B200] Register loopback test passed
[INFO] [B200] Performing register loopback test...
[INFO] [B200] Register loopback test passed
[INFO] [B200] Setting master clock rate selection to 'automatic'.
[INFO] [B200] Asking for clock rate 16.000000 MHz...
[INFO] [B200] Actually got clock rate 16.000000 MHz.
_____________________________________________________
 /
|       Device: B-Series Device
|  _____________________________________________________
|    /
|   |  Mboard: B210
|   |   serial: 32308C2
|   |   name: MyB210
|   |   product: 2
|   |  revision: 4
|   |   FW Version: 8.0
|   |   FPGA Version: 16.0
|   |
|   |   Time sources:  none, internal, external, gpsdo
|   |   Clock sources: internal, external, gpsdo
|   |   Sensors: ref_locked
|   |  _____________________________________________________
|   |    /
|   |   |  RX DSP: 0
|   |   |
|   |   |   Freq range: -8.000 to 8.000 MHz
|   |  _____________________________________________________
|   |    /
|   |   |  RX DSP: 1
|   |   |
|   |   |   Freq range: -8.000 to 8.000 MHz
|   |  _____________________________________________________
|   |    /
|   |   |  RX Dboard: A
|   |   |  _____________________________________________________
|   |   |    /
|   |   |   |    RX Frontend: A
|   |   |   |  Name: FE-RX2
|   |   |   |  Antennas: TX/RX, RX2
|   |   |   |  Sensors: temp, rssi, lo_locked
|   |   |   |  Freq range: 50.000 to 6000.000 MHz
|   |   |   |  Gain range PGA: 0.0 to 76.0 step 1.0 dB
|   |   |   |  Bandwidth range: 200000.0 to 56000000.0 step 0.0 Hz
|   |   |   |  Connection Type: IQ
|   |   |   |  Uses LO offset: No
|   |   |  _____________________________________________________
|   |   |    /
|   |   |   |    RX Frontend: B
|   |   |   |  Name: FE-RX1
|   |   |   |  Antennas: TX/RX, RX2
|   |   |   |  Sensors: temp, rssi, lo_locked
|   |   |   |  Freq range: 50.000 to 6000.000 MHz
|   |   |   |  Gain range PGA: 0.0 to 76.0 step 1.0 dB
|   |   |   |  Bandwidth range: 200000.0 to 56000000.0 step 0.0 Hz
|   |   |   |  Connection Type: IQ
|   |   |   |  Uses LO offset: No
|   |   |  _____________________________________________________
|   |   |    /
|   |   |   |    RX Codec: A
|   |   |   |  Name: B210 RX dual ADC
|   |   |   |  Gain Elements: None
|   |  _____________________________________________________
|   |    /
|   |   |  TX DSP: 0
|   |   |
|   |   |   Freq range: -8.000 to 8.000 MHz
|   |  _____________________________________________________
|   |    /
|   |   |  TX DSP: 1
|   |   |
|   |   |   Freq range: -8.000 to 8.000 MHz
|   |  _____________________________________________________
|   |    /
|   |   |  TX Dboard: A
|   |   |  _____________________________________________________
|   |   |    /
|   |   |   |    TX Frontend: A
|   |   |   |  Name: FE-TX2
|   |   |   |  Antennas: TX/RX
|   |   |   |  Sensors: temp, lo_locked
|   |   |   |  Freq range: 50.000 to 6000.000 MHz
|   |   |   |  Gain range PGA: 0.0 to 89.8 step 0.2 dB
|   |   |   |  Bandwidth range: 200000.0 to 56000000.0 step 0.0 Hz
|   |   |   |  Connection Type: IQ
|   |   |   |  Uses LO offset: No
|   |   |  _____________________________________________________
|   |   |    /
|   |   |   |    TX Frontend: B
|   |   |   |  Name: FE-TX1
|   |   |   |  Antennas: TX/RX
|   |   |   |  Sensors: temp, lo_locked
|   |   |   |  Freq range: 50.000 to 6000.000 MHz
|   |   |   |  Gain range PGA: 0.0 to 89.8 step 0.2 dB
|   |   |   |  Bandwidth range: 200000.0 to 56000000.0 step 0.0 Hz
|   |   |   |  Connection Type: IQ
|   |   |   |  Uses LO offset: No
|   |   |  _____________________________________________________
|   |   |    /
|   |   |   |    TX Codec: A
|   |   |   |  Name: B210 TX dual DAC
|   |   |   |  Gain Elements: None

*========== Problem scenario Logs (TX and RX rate @ 30.72 msps) ==================* Followed General Tuning notes @ https://kb.ettus.com/Getting_Started_with_DPDK_and_UHD#Tuning_Notes (*CPUs 2-5 isolated*)

# taskset -c "2-5" examples/benchmark_rate --tx_rate 30.72e6 --rx_rate 30.72e6 --rx_channels "0,1" --tx_channels "0,1" --duration 1 --priority high

[INFO] [UHD] linux; GNU C++ version 11.4.0; Boost_107400; UHD_4.6.0.0-3-g080b1baa
[00:00:00.000029] Creating the usrp device with: ...
[INFO] [B200] Detected Device: B210
[INFO] [B200] Operating over USB 3.
[INFO] [B200] Initialize CODEC control...
[INFO] [B200] Initialize Radio control...
[INFO] [B200] Performing register loopback test...
[INFO] [B200] Register loopback test passed
[INFO] [B200] Performing register loopback test...
[INFO] [B200] Register loopback test passed
[INFO] [B200] Setting master clock rate selection to 'automatic'.
[INFO] [B200] Asking for clock rate 16.000000 MHz...
[INFO] [B200] Actually got clock rate 16.000000 MHz.
Using Device: Single USRP:
  Device: B-Series Device
  Mboard 0: B210
  RX Channel: 0
    RX DSP: 0
    RX Dboard: A
    RX Subdev: FE-RX2
  RX Channel: 1
    RX DSP: 1
    RX Dboard: A
    RX Subdev: FE-RX1
  TX Channel: 0
    TX DSP: 0
    TX Dboard: A
    TX Subdev: FE-TX2
  TX Channel: 1
    TX DSP: 1
    TX Dboard: A
    TX Subdev: FE-TX1

[00:00:01.866378510] Setting device timestamp to 0...
[INFO] [MULTI_USRP]     1) catch time transition at pps edge
[INFO] [MULTI_USRP]     2) set times next pps (synchronously)
[INFO] [B200] Asking for clock rate 30.720000 MHz...
[INFO] [B200] Actually got clock rate 30.720000 MHz.
[00:00:05.66457702] Testing receive rate 30.720000 Msps on 2 channels
Setting TX spp to 2040
[00:00:05.88338475] Testing transmit rate 30.720000 Msps on 2 channels
UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:05.356178311] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:05.373353034] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:05.390809194] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:05.408309136] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:05.425513440] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:05.442918966] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:05.460473385] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:05.477327828] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:05.494827031] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:05.512352750] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:05.529942938] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:05.547127246] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:05.564702200] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:05.581790507] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:05.599503284] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:05.616332439] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:05.633433429] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:05.650535502] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:05.667989498] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:05.685455166] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:05.702877567] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:05.720326408] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:05.737630193] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:05.754504596] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:05.771535859] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:05.788576687] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:05.806317150] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:05.823610494] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:05.840615113] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:05.857670406] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:05.874838720] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:05.892369065] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:05.909245514] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:05.926880429] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:05.943781582] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:05.960899743] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:05.978572166] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:05.995669275] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:06.12991071] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:06.30083109] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:06.47759726] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:06.65033966] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:06.82480858] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:06.99961987] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:06.117452418] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:06.134652518] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:06.152241203] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:06.169706747] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:06.186942554] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:06.204331660] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:06.221620703] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:06.238834026] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:06.256245885] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:06.274190434] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:06.291702252] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:06.308942984] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:06.326528850] Detected Rx sequence error. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUO[D00:00:06.343856658] Detected Rx sequence error.
[00:00:06.344059518] Benchmark complete.


Benchmark rate summary:
  Num received samples:     28048518
  Num dropped samples:      23595022
  Num overruns detected:    58
  Num transmitted samples:  58833600
  Num sequence errors (Tx): 0
  Num sequence errors (Rx): 58
  Num underruns detected:   2214
  Num late commands:        0
  Num timeouts (Tx):        0
  Num timeouts (Rx):        0


Done!

*========== Working scenario Logs (TX Rate @ 15.36 msps, RX Rate @ 30.72 msps) ============*
*
*
# taskset -c "2-5" examples/benchmark_rate --tx_rate 15.36e6 --rx_rate 30.72e6 --rx_channels "0,1" --tx_channels "0,1" --duration 1 --priority high [INFO] [UHD] linux; GNU C++ version 11.4.0; Boost_107400; UHD_4.6.0.0-3-g080b1baa
[00:00:00.000108] Creating the usrp device with: ...
[INFO] [B200] Detected Device: B210
[INFO] [B200] Operating over USB 3.
[INFO] [B200] Initialize CODEC control...
[INFO] [B200] Initialize Radio control...
[INFO] [B200] Performing register loopback test...
[INFO] [B200] Register loopback test passed
[INFO] [B200] Performing register loopback test...
[INFO] [B200] Register loopback test passed
[INFO] [B200] Setting master clock rate selection to 'automatic'.
[INFO] [B200] Asking for clock rate 16.000000 MHz...
[INFO] [B200] Actually got clock rate 16.000000 MHz.
Using Device: Single USRP:
  Device: B-Series Device
  Mboard 0: B210
  RX Channel: 0
    RX DSP: 0
    RX Dboard: A
    RX Subdev: FE-RX2
  RX Channel: 1
    RX DSP: 1
    RX Dboard: A
    RX Subdev: FE-RX1
  TX Channel: 0
    TX DSP: 0
    TX Dboard: A
    TX Subdev: FE-TX2
  TX Channel: 1
    TX DSP: 1
    TX Dboard: A
    TX Subdev: FE-TX1

[00:00:01.866204171] Setting device timestamp to 0...
[INFO] [MULTI_USRP]     1) catch time transition at pps edge
[INFO] [MULTI_USRP]     2) set times next pps (synchronously)
[INFO] [B200] Asking for clock rate 30.720000 MHz...
[INFO] [B200] Actually got clock rate 30.720000 MHz.
[00:00:05.497349995] Testing receive rate 30.720000 Msps on 2 channels
Setting TX spp to 2040
[00:00:05.519203256] Testing transmit rate 15.360000 Msps on 2 channels
[00:00:06.771457104] Benchmark complete.


Benchmark rate summary:
  Num received samples:     75074598
  Num dropped samples:      0
  Num overruns detected:    0
  Num transmitted samples:  30787680
  Num sequence errors (Tx): 0
  Num sequence errors (Rx): 0
  Num underruns detected:   0
  Num late commands:        0
  Num timeouts (Tx):        0
  Num timeouts (Rx):        0


Done!
=================

Best Regards,
Sachin

You'll likely want to look at adding "num_recv_frames=256" and "num_send_frames=256" to your device arguments at
  higher rates.

See:

https://files.ettus.com/manual/page_transport.html


_______________________________________________
USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-le...@lists.ettus.com

Reply via email to