Nuand / gr-bladeRF

GNU Radio block for bladeRF devices
GNU General Public License v3.0
28 stars 9 forks source link

Can't use bladeRF_sink and bladeRF_source at the same time #4

Closed warnes closed 2 years ago

warnes commented 2 years ago

Hi,

I get an error when I attempt to both send and receive in the same flowgraph (attached) using bladeRF Source+bladeRF Sink. This error does not occur when using Soapy BladeRF Sink+Soapy BladeRF Source or osmocom Sink+osmocom Source. Further, the error does not appear if I disable the bladeRF Sink.

Version information:

$ bladerf-cli -e info -e version

  Board:                    Nuand bladeRF 2.0 (bladerf2)
  Serial #:                 de69817e887b4743ae2e4a622023f123
  VCTCXO DAC calibration:   0x1d8f
  FPGA size:                301 KLE
  FPGA loaded:              yes
  Flash size:               128 Mbit
  USB bus:                  4
  USB address:              41
  USB speed:                SuperSpeed
  Backend:                  libusb
  Instance:                 0

  bladeRF-cli version:        1.8.0-git-9ad89f65-dirty
  libbladeRF version:         2.4.1-git-9ad89f65-dirty

  Firmware version:           2.4.0-git-a3d5c55f
  FPGA version:               0.11.0 (configured by USB host)

Output of running the script:

Generating: '/home/warnes/inoui/src/gr-bladeRF/fm_loopback.py'

Executing: /usr/bin/python3 -u /home/warnes/inoui/src/gr-bladeRF/fm_loopback.py

Warning: failed to XInitThreads()
Args: numchan=1,metadata=True,bladerf=0,verbosity=info,fpga=test123,fpga-reload=False,ref_clk=10000000,in_clk=ONBOARD,out_clk=False,use_dac=True,dac=6000,xb200=none,tamer=internal,sampling=external,lpf_mode=bypassed,smb=10000000,dc_calibration=RX_LPF,trigger0=False,trigger_role0=master,trigger_signal0=J71_4,trigger1=False,trigger_role1=master,trigger_signal1=J51_1,bias_tee0=True,bias_tee1=False
Args: numchan=1,metadata=True,bladerf=0,verbosity=info,fpga=test123,fpga-reload=False,ref_clk=10000000,in_clk=ONBOARD,out_clk=False,use_dac=True,dac=6000,xb200=none,tamer=internal,sampling=external,lpf_mode=bypassed,smb=10000000,dc_calibration=RX_LPF,trigger0=False,trigger_role0=master,trigger_signal0=J71_4,trigger1=False,trigger_role1=master,trigger_signal1=J51_1,bias_tee0=True,bias_tee1=False
[bladeRF common] init: DEBUG: entering initialization
[bladeRF source] init: Opening Nuand bladeRF with device identifier string '*:instance=0'
[bladeRF source] init: FPGA is already loaded. Set fpga-reload=False to force a reload.
[bladeRF source] Device: Nuand bladeRF 2.0 Serial # de69...f123 FW v2.4.0 FPGA v0.11.0
[bladeRF source] init: Buffers: 512, samples per buffer: 4096, active transfers: 32
[bladeRF source] bladerf_source_c: DEBUG: initialization complete
Args: numchan=1,metadata=False,bladerf=0,verbosity=info,fpga=,fpga-reload=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=1,metadata=False,bladerf=0,verbosity=info,fpga=,fpga-reload=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 sink] init: Opening Nuand bladeRF with device identifier string '*:instance=0'
[bladeRF sink] init: FPGA is already loaded. Set fpga-reload=False to force a reload.
[bladeRF sink] Device: Nuand bladeRF 2.0 Serial # de69...f123 FW v2.4.0 FPGA v0.11.0
[bladeRF sink] init: Buffers: 512, samples per buffer: 4096, active transfers: 32
[bladeRF sink] bladerf_sink_c: DEBUG: initialization complete
len(audio_taps) = 9637
[bladeRF source] start: DEBUG: starting source
[bladeRF sink] start: DEBUG: starting sink
thread_body_wrapper :error: ERROR thread[thread-per-block[32]: <block bladerf_sink_c(22)>]: start: bladerf_sync_config failed: Invalid operation or parameter (-3)

>>> Done (return code -15)

fm_loopback.grc.zip

warnes commented 2 years ago

Upgrading to the latest versions and compiling from source seems too have resolved this problem.