I'm using the SoapySDR BladeRF source/sink in a GNURadio flowgraph. Starting the flowgraph, it opens the sink just fine, but exits with an error about permission denied and being unable to open the device for the source:
[INFO] bladerf_open_with_devinfo()
[INFO] bladerf_get_serial() = 51768470750247babcf0ebf45561ad1f
[INFO] setSampleRate(Rx, 0, 4.000000 MHz), actual = 4.000000 MHz
[INFO] setSampleRate(Tx, 0, 4.000000 MHz), actual = 4.000000 MHz
[INFO] setSampleRate(Rx, 0, 0.768000 MHz), actual = 0.767999 MHz
[WARNING @ host/libraries/libbladeRF/src/backend/usb/libusb.c:345] Found a bladeRF via VID/PID, but could not open it due to insufficient permissions, or because the device is already open.
[INFO] bladerf_open_with_devinfo()
[WARNING @ host/libraries/libbladeRF/src/backend/usb/libusb.c:530] Found a bladeRF via VID/PID, but could not open it due to insufficient permissions.
[1m[31m[ERROR] bladerf_open_with_devinfo() returned -7 - No device(s) available[0m
Traceback (most recent call last):
File "C:\Users\N5HXR\Documents\gnuradio\signal_source_gnuradio.py", line 226, in <module>
main()
File "C:\Users\N5HXR\Documents\gnuradio\signal_source_gnuradio.py", line 204, in main
tb = top_block_cls()
^^^^^^^^^^^^^^^
File "C:\Users\N5HXR\Documents\gnuradio\signal_source_gnuradio.py", line 96, in __init__
self.soapy_bladerf_sink_0 = soapy.sink(dev, "fc32", 1, 'driver=bladerf,serial=51768470750247babcf0ebf45561ad1f',
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: bladerf_open_with_devinfo() failed -7 - No device(s) available
[INFO] bladerf_close()
What is the magic trick to get GNURadio to use the BladeRF in full duplex (in Windows here)?
yakovdk wrote: ↑Tue Nov 04, 2025 1:40 pm
I'm using the SoapySDR BladeRF source/sink in a GNURadio flowgraph. Starting the flowgraph, it opens the sink just fine, but exits with an error about permission denied and being unable to open the device for the source: geometry dash
[INFO] bladerf_open_with_devinfo()
[INFO] bladerf_get_serial() = 51768470750247babcf0ebf45561ad1f
[INFO] setSampleRate(Rx, 0, 4.000000 MHz), actual = 4.000000 MHz
[INFO] setSampleRate(Tx, 0, 4.000000 MHz), actual = 4.000000 MHz
[INFO] setSampleRate(Rx, 0, 0.768000 MHz), actual = 0.767999 MHz
[WARNING @ host/libraries/libbladeRF/src/backend/usb/libusb.c:345] Found a bladeRF via VID/PID, but could not open it due to insufficient permissions, or because the device is already open.
[INFO] bladerf_open_with_devinfo()
[WARNING @ host/libraries/libbladeRF/src/backend/usb/libusb.c:530] Found a bladeRF via VID/PID, but could not open it due to insufficient permissions.
[1m[31m[ERROR] bladerf_open_with_devinfo() returned -7 - No device(s) available[0m
Traceback (most recent call last):
File "C:\Users\N5HXR\Documents\gnuradio\signal_source_gnuradio.py", line 226, in <module>
main()
File "C:\Users\N5HXR\Documents\gnuradio\signal_source_gnuradio.py", line 204, in main
tb = top_block_cls()
^^^^^^^^^^^^^^^
File "C:\Users\N5HXR\Documents\gnuradio\signal_source_gnuradio.py", line 96, in __init__
self.soapy_bladerf_sink_0 = soapy.sink(dev, "fc32", 1, 'driver=bladerf,serial=51768470750247babcf0ebf45561ad1f',
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: bladerf_open_with_devinfo() failed -7 - No device(s) available
[INFO] bladerf_close()
What is the magic trick to get GNURadio to use the BladeRF in full duplex (in Windows here)?
If using two separate Source/Sink blocks still causes conflicts, you can create a small Python script (outside of GRC) to initialize a single Soapy device object, and then assign the Rx and Tx streams to that same object.
On Windows, BladeRF requires the libusb-win32 or WinUSB driver.
Open the Zadig tool.
Select
Select BladeRF 2.0 Micro.
Ensure that the installed driver is libusb-win32 (v1.2.6.0). Some versions of GNURadio on Windows are extremely picky with WinUSB but work very smoothly with libusb-win32.
yakovdk wrote: ↑Tue Nov 04, 2025 1:40 pm
I'm using the SoapySDR BladeRF source/sink in a GNURadio flowgraph. Starting md to word converter the flowgraph, it opens the sink just fine, but exits with an error about permission denied and being unable to open the device for the source: hd photo converter
[INFO] bladerf_open_with_devinfo()
[INFO] bladerf_get_serial() = 51768470750247babcf0ebf45561ad1f
[INFO] setSampleRate(Rx, 0, 4.000000 MHz), actual = 4.000000 MHz
[INFO] setSampleRate(Tx, 0, 4.000000 MHz), actual = 4.000000 MHz
[INFO] setSampleRate(Rx, 0, 0.768000 MHz), actual = 0.767999 MHz
[WARNING @ host/libraries/libbladeRF/src/backend/usb/libusb.c:345] Found a bladeRF via VID/PID, but could not open it due to insufficient permissions, or because the device is already open.
[INFO] bladerf_open_with_devinfo()
[WARNING @ host/libraries/libbladeRF/src/backend/usb/libusb.c:530] Found a bladeRF via VID/PID, but could not open it due to insufficient permissions.
[1m[31m[ERROR] bladerf_open_with_devinfo() returned -7 - No device(s) available[0m
Traceback (most recent call last):
File "C:\Users\N5HXR\Documents\gnuradio\signal_source_gnuradio.py", line 226, in <module>
main()
File "C:\Users\N5HXR\Documents\gnuradio\signal_source_gnuradio.py", line 204, in main
tb = top_block_cls()
^^^^^^^^^^^^^^^
File "C:\Users\N5HXR\Documents\gnuradio\signal_source_gnuradio.py", line 96, in __init__
self.soapy_bladerf_sink_0 = soapy.sink(dev, "fc32", 1, 'driver=bladerf,serial=51768470750247babcf0ebf45561ad1f',
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: bladerf_open_with_devinfo() failed -7 - No device(s) available
[INFO] bladerf_close()