I am currently working on a radar development by using 2 bladeRF. I transmitted a signal using the 1st bladeRF and received its echo through the 1st bladeRF and 2nd bladeRF RX ports. I am using GNU radio to design the radar block. To control the 1st bladeRF (for Tx and one Rx) I used the "Osmocom Sink" and "Osmocom Source". To control the 2nd bladeRF, I used the "bladeRF source" block. I could see the signal transmitted and received by the 1st BladeRF. However, I could not any signal received by the 2nd bladeRF. When I check the GNU radio terminal, I saw this log and at the end of it, it says an overrun has occurred on my 2nd bladeRF.
Code: Select all
Executing: /usr/bin/python3 -u /media/dragon/8DCC-447A/gbsar_dragonOS/grc/experiment/bladerf_pulse_PRN_v07.py
gr-osmosdr 0.2.0.0 (0.2.0) gnuradio 3.10.4.0
built-in source types: file fcd rtl rtl_tcp uhd hackrf bladerf rfspace airspy airspyhf soapy redpitaya
[bladeRF common] init: DEBUG: entering initialization
[bladeRF source] init: Opening Nuand bladeRF with device identifier string '*:instance=1'
[bladeRF source] Device: Nuand bladeRF 2.0 Serial # a893...657a FW v2.4.0 FPGA v0.15.0
[bladeRF source] init: DEBUG: Feature not provided. Feature left on DEFAULT
[bladeRF source] init: DEFAULT feature enabled
[bladeRF source] init: DEBUG: Sample format not provided. SC16 Q11 set by default
[bladeRF source] init: Buffers: 512, samples per buffer: 20480, active transfers: 32
[WARNING @ host/libraries/libbladeRF/src/board/bladerf2/rfic_host.c:553] _rfic_host_set_gain_mode: automatic gain control not valid for TX channels
[WARNING @ host/libraries/libbladeRF/src/board/bladerf2/rfic_host.c:522] _rfic_host_get_gain_mode: automatic gain control not valid for TX channels
[bladeRF source] bladerf_source_c: [WARNING @ host/libraries/libbladeRF/src/board/bladerf2/rfic_host.c:522] _rfic_host_get_gain_mode: automatic gain control not valid for TX channels
RX1 gain mode set to '1'
[WARNING @ host/libraries/libbladeRF/src/board/bladerf2/rfic_host.c:553] _rfic_host_set_gain_mode: automatic gain control not valid for TX channels
[WARNING @ host/libraries/libbladeRF/src/board/bladerf2/rfic_host.c:522] _rfic_host_get_gain_mode: automatic gain control not valid for TX channels
[bladeRF source] bladerf_source_c: [WARNING @ host/libraries/libbladeRF/src/board/bladerf2/rfic_host.c:522] _rfic_host_get_gain_mode: automatic gain control not valid for TX channels
RX2 gain mode set to '1'
[bladeRF source] bladerf_source_c: DEBUG: initialization complete
gr-osmosdr 0.2.0.0 (0.2.0) gnuradio 3.10.4.0
built-in sink types: uhd hackrf bladerf soapy redpitaya file
[bladeRF common] init: DEBUG: entering initialization
[bladeRF sink] init: Opening Nuand bladeRF with device identifier string '*:instance=1'
[bladeRF sink] Device: Nuand bladeRF 2.0 Serial # a893...657a FW v2.4.0 FPGA v0.15.0
[bladeRF sink] init: DEBUG: Feature not provided. Feature left on DEFAULT
[bladeRF sink] init: DEFAULT feature enabled
[bladeRF sink] init: DEBUG: Sample format not provided. SC16 Q11 set by default
[bladeRF sink] init: Buffers: 512, samples per buffer: 20480, active transfers: 32
[bladeRF sink] bladerf_sink_c: DEBUG: initialization complete
[WARNING @ host/libraries/libbladeRF/src/board/bladerf2/rfic_host.c:522] _rfic_host_get_gain_mode: automatic gain control not valid for TX channels
Args: numchan=2,metadata=False,bladerf=0,verbosity=verbose,feature=default,sample_format=16bit,fpga=,fpga-reload=False,use_ref_clk=False,ref_clk=10000000,in_clk=ONBOARD,out_clk=False,use_dac=False,dac=10000,xb200=none,tamer=internal,sampling=internal,lpf_mode=disabled,smb=0,dc_calibration=LPF_TUNING,trigger0=False,trigger_role0=master,trigger_signal0=J51_1,trigger1=False,trigger_role1=master,trigger_signal1=J51_1,bias_tee0=False,bias_tee1=False
Args: numchan=2,metadata=False,bladerf=0,verbosity=verbose,feature=default,sample_format=16bit,fpga=,fpga-reload=False,use_ref_clk=False,ref_clk=10000000,in_clk=ONBOARD,out_clk=False,use_dac=False,dac=10000,xb200=none,tamer=internal,sampling=internal,lpf_mode=disabled,smb=0,dc_calibration=LPF_TUNING,trigger0=False,trigger_role0=master,trigger_signal0=J51_1,trigger1=False,trigger_role1=master,trigger_signal1=J51_1,bias_tee0=False,bias_tee1=False
[bladeRF common] init: DEBUG: entering initialization
[bladeRF source] init: Opening Nuand bladeRF with device identifier string '*:instance=0'
[DEBUG @ host/libraries/libbladeRF/src/devinfo.c:278] Instance: 0
[VERBOSE @ host/libraries/libbladeRF/src/backend/usb/libusb.c:642] Using libusb version: 1.0.25.11696
[VERBOSE @ host/libraries/libbladeRF/src/backend/usb/libusb.c:519] Found a bladeRF (idx=0)
[DEBUG @ host/libraries/libbladeRF/src/backend/usb/libusb.c:189] Bus 002 Device 011: Nuand bladeRF 2.0, serial 447f424dd38145db8f6a2d4403fca6ac
[VERBOSE @ host/libraries/libbladeRF/src/backend/usb/libusb.c:581] USB port reset succeeded for bladeRF 447f424dd38145db8f6a2d4403fca6ac
[VERBOSE @ host/libraries/libbladeRF/src/backend/usb/usb.c:106] Changing to USB alt setting 0
[VERBOSE @ host/libraries/libbladeRF/src/board/bladerf2/bladerf2.c:293] Read Firmware version: 2.4.0-git-a3d5c55f
[VERBOSE @ host/libraries/libbladeRF/src/board/bladerf2/bladerf2.c:299] Capability mask before FPGA load: 0x0000007f00000000
[VERBOSE @ host/libraries/libbladeRF/src/board/bladerf1/flash.c:401] Found SPI flash manufacturer: WINBOND.
[VERBOSE @ host/libraries/libbladeRF/src/board/bladerf1/flash.c:404] Found SPI flash device: W25Q32JV (32 Mbit).
[VERBOSE @ host/libraries/libbladeRF/src/board/bladerf1/flash.c:452] SPI flash total size = 32 Mbit
[VERBOSE @ host/libraries/libbladeRF/src/board/bladerf1/flash.c:453] SPI flash page size = 256 bytes
[VERBOSE @ host/libraries/libbladeRF/src/board/bladerf1/flash.c:454] SPI flash erase block size = 65536 bytes
[VERBOSE @ host/libraries/libbladeRF/src/board/bladerf1/flash.c:455] SPI flash number of pages = 16384
[VERBOSE @ host/libraries/libbladeRF/src/board/bladerf1/flash.c:456] SPI flash number of erase blocks = 64 pages
[VERBOSE @ host/libraries/libbladeRF/src/backend/usb/usb.c:106] Changing to USB alt setting 2
[VERBOSE @ host/libraries/libbladeRF/src/backend/usb/usb.c:106] Changing to USB alt setting 1
[VERBOSE @ host/libraries/libbladeRF/src/backend/usb/usb.c:106] Changing to USB alt setting 1
[VERBOSE @ host/libraries/libbladeRF/src/board/bladerf2/bladerf2.c:125] Read FPGA version: 0.15.0
[VERBOSE @ host/libraries/libbladeRF/src/board/bladerf2/bladerf2.c:131] Capability mask after FPGA load: 0x000000ff00001abc
[VERBOSE @ host/libraries/libbladeRF/src/backend/usb/nios_access.c:586] nios_ina219_write: Wrote 0x8000 to addr 0x00
[VERBOSE @ host/libraries/libbladeRF/src/backend/usb/nios_access.c:573] nios_ina219_read: Read 0x399f from addr 0x00
[VERBOSE @ host/libraries/libbladeRF/src/backend/usb/nios_access.c:586] nios_ina219_write: Wrote 0x019f to addr 0x00
[DEBUG @ host/libraries/libbladeRF/src/driver/ina219.c:70] Configuration register: 0x019f
[VERBOSE @ host/libraries/libbladeRF/src/backend/usb/nios_access.c:586] nios_ina219_write: Wrote 0xa000 to addr 0x05
[DEBUG @ host/libraries/libbladeRF/src/driver/ina219.c:82] Calibration register: 0xa000
[DEBUG @ host/libraries/libbladeRF/src/board/bladerf2/common.c:281] Default tuning mode: Host
[DEBUG @ host/libraries/libbladeRF/src/board/bladerf2/bladerf2.c:2330] bladerf2_set_tuning_mode: New tuning mode: Host
[DEBUG @ host/libraries/libbladeRF/src/board/bladerf2/bladerf2.c:2380] bladerf2_set_tuning_mode: Initializing Host RFIC control
[DEBUG @ host/libraries/libbladeRF/src/board/bladerf2/rfic_host.c:85] _rfic_host_initialize: initializating
[VERBOSE @ host/libraries/libbladeRF/src/backend/usb/nios_access.c:429] nios_config_read: Read 0x00000001
[VERBOSE @ host/libraries/libbladeRF/src/board/bladerf2/rfic_host.c:106] _rfic_host_initialize: ad9361 initialized @ 0x600b458dd7c0
[DEBUG @ host/libraries/libbladeRF/src/board/bladerf2/rfic_host.c:154] _rfic_host_initialize: initialization complete
[VERBOSE @ host/libraries/libbladeRF/src/backend/usb/usb.c:106] Changing to USB alt setting 2
[VERBOSE @ host/libraries/libbladeRF/src/backend/usb/usb.c:106] Changing to USB alt setting 1
[VERBOSE @ host/libraries/libbladeRF/src/backend/usb/nios_access.c:817] nios_ad56x1_vctcxo_trim_dac_write: Wrote 0x1e3b
[VERBOSE @ host/libraries/libbladeRF/src/backend/usb/nios_access.c:429] nios_config_read: Read 0x00000001
[VERBOSE @ host/libraries/libbladeRF/src/backend/usb/nios_access.c:805] nios_ad56x1_vctcxo_trim_dac_read: Read 0x1e3b
[DEBUG @ host/libraries/libbladeRF/src/board/bladerf2/bladerf2.c:2612] trim DAC is enabled
[VERBOSE @ host/libraries/libbladeRF/src/backend/usb/nios_access.c:805] nios_ad56x1_vctcxo_trim_dac_read: Read 0x1e3b
[DEBUG @ host/libraries/libbladeRF/src/board/bladerf2/bladerf2.c:2645] saving current trim DAC value: 0x1e3b
[VERBOSE @ host/libraries/libbladeRF/src/backend/usb/nios_access.c:817] nios_ad56x1_vctcxo_trim_dac_write: Wrote 0xc000
[VERBOSE @ host/libraries/libbladeRF/src/backend/usb/nios_access.c:429] nios_config_read: Read 0x00000001
[VERBOSE @ host/libraries/libbladeRF/src/backend/usb/nios_access.c:440] nios_config_write: Wrote 0x00000801
[VERBOSE @ host/libraries/libbladeRF/src/backend/usb/nios_access.c:843] nios_adf400x_write: Wrote 0x00000064 to addr 0x00
[VERBOSE @ host/libraries/libbladeRF/src/backend/usb/nios_access.c:843] nios_adf400x_write: Wrote 0x00006000 to addr 0x01
[VERBOSE @ host/libraries/libbladeRF/src/backend/usb/nios_access.c:843] nios_adf400x_write: Wrote 0x001f8090 to addr 0x02
[VERBOSE @ host/libraries/libbladeRF/src/backend/usb/nios_access.c:429] nios_config_read: Read 0x00000801
[VERBOSE @ host/libraries/libbladeRF/src/backend/usb/nios_access.c:440] nios_config_write: Wrote 0x00000001
[VERBOSE @ host/libraries/libbladeRF/src/backend/usb/nios_access.c:805] nios_ad56x1_vctcxo_trim_dac_read: Read 0xc000
[DEBUG @ host/libraries/libbladeRF/src/board/bladerf2/bladerf2.c:2612] trim DAC is disabled
[VERBOSE @ host/libraries/libbladeRF/src/backend/usb/nios_access.c:805] nios_ad56x1_vctcxo_trim_dac_read: Read 0xc000
[DEBUG @ host/libraries/libbladeRF/src/board/bladerf2/bladerf2.c:2649] restoring old trim DAC value: 0x1e3b
[VERBOSE @ host/libraries/libbladeRF/src/backend/usb/nios_access.c:817] nios_ad56x1_vctcxo_trim_dac_write: Wrote 0x1e3b
[DEBUG @ host/libraries/libbladeRF/src/board/bladerf2/bladerf2.c:207] _bladerf2_initialize: complete
[VERBOSE @ host/libraries/libbladeRF/src/backend/usb/nios_access.c:1175] Clearing RX1 retune queue.
[VERBOSE @ host/libraries/libbladeRF/src/backend/usb/nios_access.c:1197] RX1 operation duration: 0
[VERBOSE @ host/libraries/libbladeRF/src/backend/usb/nios_access.c:1175] Clearing TX1 retune queue.
[VERBOSE @ host/libraries/libbladeRF/src/backend/usb/nios_access.c:1197] TX1 operation duration: 0
[bladeRF source] init: FPGA is already loaded. Set fpga-reload=False to force a reload.
[VERBOSE @ host/libraries/libbladeRF/src/backend/usb/nios_access.c:429] nios_config_read: Read 0x00000001
[VERBOSE @ host/libraries/libbladeRF/src/backend/usb/nios_access.c:440] nios_config_write: Wrote 0x00000001
[VERBOSE @ host/libraries/libbladeRF/src/backend/usb/nios_access.c:429] nios_config_read: Read 0x00000001
[VERBOSE @ host/libraries/libbladeRF/src/backend/usb/nios_access.c:440] nios_config_write: Wrote 0x00000001
[DEBUG @ host/libraries/libbladeRF/src/board/bladerf2/bladerf2.c:3012] bladerf_set_bias_tee: rffe_control_write f8000001
[DEBUG @ host/libraries/libbladeRF/src/board/bladerf2/bladerf2.c:3012] bladerf_set_bias_tee: rffe_control_write f8000001
[bladeRF source] Device: Nuand bladeRF 2.0 Serial # 447f...a6ac FW v2.4.0 FPGA v0.15.0
[bladeRF source] init: DEFAULT feature enabled
[bladeRF source] init: 16bit mode enabled
[bladeRF source] init: Buffers: 512, samples per buffer: 4096, active transfers: 32
[VERBOSE @ host/libraries/libbladeRF/src/backend/usb/usb.c:106] Changing to USB alt setting 0
[VERBOSE @ host/libraries/libbladeRF/src/backend/usb/usb.c:106] Changing to USB alt setting 1
[VERBOSE @ host/libraries/libbladeRF/src/backend/usb/nios_access.c:429] nios_config_read: Read 0x00000001
[VERBOSE @ host/libraries/libbladeRF/src/backend/usb/nios_access.c:440] nios_config_write: Wrote 0x00000001
[bladeRF source] bladerf_source_c: DEBUG: initialization complete
[VERBOSE @ host/libraries/libbladeRF/src/board/bladerf2/common.c:351] check_total_sample_rate: active_channels=0, rate_accum=0, maximum=80000000
[bladeRF source] start: DEBUG: starting source
[VERBOSE @ host/libraries/libbladeRF/src/backend/usb/nios_access.c:429] nios_config_read: Read 0x00000001
[VERBOSE @ host/libraries/libbladeRF/src/backend/usb/nios_access.c:440] nios_config_write: Wrote 0x00000001
[bladeRF sink] start: DEBUG: starting sink
[bladeRF source] start: DEBUG: starting source
[VERBOSE @ host/libraries/libbladeRF/src/backend/usb/nios_access.c:429] nios_config_read: Read 0x00000001
[VERBOSE @ host/libraries/libbladeRF/src/backend/usb/nios_access.c:440] nios_config_write: Wrote 0x00000001
[VERBOSE @ host/libraries/libbladeRF/src/board/bladerf2/common.c:351] check_total_sample_rate: active_channels=1, rate_accum=8191999, maximum=80000000
[VERBOSE @ host/libraries/libbladeRF/src/board/bladerf2/common.c:351] check_total_sample_rate: active_channels=1, rate_accum=8191999, maximum=80000000
[DEBUG @ host/libraries/libbladeRF/src/board/bladerf2/rfic_host.c:302] _rfic_host_enable_module: reg value unchanged? (f8011005)
[VERBOSE @ host/libraries/libbladeRF/src/board/bladerf2/common.c:351] check_total_sample_rate: active_channels=2, rate_accum=16383998, maximum=80000000
[VERBOSE @ host/libraries/libbladeRF/src/backend/usb/nios_access.c:429] nios_config_read: Read 0x00000001
[VERBOSE @ host/libraries/libbladeRF/src/backend/usb/nios_access.c:440] nios_config_write: Wrote 0x00000001
[VERBOSE @ host/libraries/libbladeRF/src/board/bladerf2/common.c:351] check_total_sample_rate: active_channels=2, rate_accum=16383998, maximum=80000000
[VERBOSE @ host/libraries/libbladeRF/src/board/bladerf2/common.c:351] check_total_sample_rate: active_channels=3, rate_accum=24575997, maximum=80000000
[DEBUG @ host/libraries/libbladeRF/src/streaming/sync.c:446] sync_rx: Worker is idle. Going to reset buf mgmt.
[DEBUG @ host/libraries/libbladeRF/src/streaming/sync.c:467] sync_rx: Reset buf_mgmt consumer index
[DEBUG @ host/libraries/libbladeRF/src/streaming/sync.c:482] sync_rx: Worker is now running.
[DEBUG @ host/libraries/libbladeRF/src/streaming/sync.c:446] sync_rx: Worker is idle. Going to reset buf mgmt.
[DEBUG @ host/libraries/libbladeRF/src/streaming/sync.c:467] sync_rx: Reset buf_mgmt consumer index
[DEBUG @ host/libraries/libbladeRF/src/streaming/sync.c:482] sync_rx: Worker is now running.
[DEBUG @ host/libraries/libbladeRF/src/streaming/sync.c:1016] sync_tx: Worker is now running.
[DEBUG @ host/libraries/libbladeRF/src/streaming/sync_worker.c:101] RX overrun @ buffer 106
[DEBUG @ host/libraries/libbladeRF/src/streaming/sync_worker.c:101] RX overrun @ buffer 138
[DEBUG @ host/libraries/libbladeRF/src/streaming/sync_worker.c:101] RX overrun @ buffer 186
[DEBUG @ host/libraries/libbladeRF/src/streaming/sync_worker.c:101] RX overrun @ buffer 218
[DEBUG @ host/libraries/libbladeRF/src/streaming/sync_worker.c:101] RX overrun @ buffer 250
[DEBUG @ host/libraries/libbladeRF/src/streaming/sync_worker.c:101] RX overrun @ buffer 282
[DEBUG @ host/libraries/libbladeRF/src/streaming/sync_worker.c:101] RX overrun @ buffer 314
[DEBUG @ host/libraries/libbladeRF/src/streaming/sync_worker.c:101] RX overrun @ buffer 346
[DEBUG @ host/libraries/libbladeRF/src/streaming/sync_worker.c:101] RX overrun @ buffer 362
[DEBUG @ host/libraries/libbladeRF/src/streaming/sync_worker.c:101] RX overrun @ buffer 394
[DEBUG @ host/libraries/libbladeRF/src/streaming/sync_worker.c:101] RX overrun @ buffer 426
[DEBUG @ host/libraries/libbladeRF/src/streaming/sync_worker.c:101] RX overrun @ buffer 458
[DEBUG @ host/libraries/libbladeRF/src/streaming/sync_worker.c:101] RX overrun @ buffer 506
Thank you very much.
P.S. I have made sure that both BladeRF work well by testing them separately.