Talk:FAQ: Difference between revisions

From GNU Radio
Jump to navigation Jump to search
(→‎RTL-SDR issues: new section)
 
(One intermediate revision by one other user not shown)
Line 17: Line 17:


Generally, gr-soapy is an abstraction that unifies access to many different SDRs. This means your flow graph might also work for others with different hardware, but especially for the more complex hardware (e.g. USRPs), this means you don't get access to all the functionality of your device.
Generally, gr-soapy is an abstraction that unifies access to many different SDRs. This means your flow graph might also work for others with different hardware, but especially for the more complex hardware (e.g. USRPs), this means you don't get access to all the functionality of your device.
Hi,
I recently started using GNURadio. My initial attempts consisted of a simple flow containing an osmocom Source block, a DC Blocker block, and a QT GUI Sink block. The application works under Windows, but not under Linux (Ubuntu 20.04.4 LTS). The message in the console is listed below. Can you help me with some advice? Thank you in advance!
Generating: '/home/catalin/Documents/GNURadio/RadioFM.py'
Executing: /usr/bin/python3 -u /home/catalin/Documents/GNURadio/RadioFM.py
gr-osmosdr 0.2.0.0 (0.2.0) gnuradio 3.8.1.0
built-in source types: file osmosdr fcd rtl rtl_tcp uhd miri hackrf bladerf rfspace airspy airspyhf soapy redpitaya freesrp
[INFO] [UHD] linux; GNU C++ version 9.2.1 20200304; Boost_107100; UHD_3.15.0.0-2build5
RtApiAlsa::getDeviceInfo: snd_pcm_open error for device (hw:1,0), Device or resource busy.
Using HackRF One with firmware 2021.03.1
Traceback (most recent call last):
  File "/home/catalin/Documents/GNURadio/RadioFM.py", line 185, in <module>
    main()
  File "/home/catalin/Documents/GNURadio/RadioFM.py", line 163, in main
    tb = top_block_cls()
  File "/home/catalin/Documents/GNURadio/RadioFM.py", line 127, in __init__
    self.connect((self.osmosdr_source_0, 0), (self.dc_blocker_xx_0, 0))
  File "/usr/lib/python3/dist-packages/gnuradio/gr/hier_block2.py", line 37, in wrapped
    func(self, src, src_port, dst, dst_port)
  File "/usr/lib/python3/dist-packages/gnuradio/gr/hier_block2.py", line 105, in connect
    self.primitive_connect(*args)
TypeError: primitive_connect(): incompatible function arguments. The following argument types are supported:
    1. (self: gnuradio.gr.gr_python.hier_block2_pb, block: gnuradio.gr.gr_python.basic_block) -> None
    2. (self: gnuradio.gr.gr_python.hier_block2_pb, src: gnuradio.gr.gr_python.basic_block, src_port: int, dst: gnuradio.gr.gr_python.basic_block, dst_port: int) -> None
Invoked with: <gnuradio.gr.gr_python.top_block_pb object at 0x7fe5957525f0>, <Swig Object of type 'gr::basic_block_sptr *' at 0x7fe5905f53f0>, 0, <gnuradio.gr.gr_python.basic_block object at 0x7fe595e22a30>, 0
swig/python detected a memory leak of type 'gr::basic_block_sptr *', no destructor found.
>>> Done (return code 1)
Generating: '/home/catalin/Documents/GNURadio/RadioFM.py'
Executing: /usr/bin/python3 -u /home/catalin/Documents/GNURadio/RadioFM.py
gr-osmosdr 0.2.0.0 (0.2.0) gnuradio 3.8.1.0
built-in source types: file osmosdr fcd rtl rtl_tcp uhd miri hackrf bladerf rfspace airspy airspyhf soapy redpitaya freesrp
Using HackRF One with firmware 2021.03.1
Traceback (most recent call last):
  File "/home/catalin/Documents/GNURadio/RadioFM.py", line 185, in <module>
    main()
  File "/home/catalin/Documents/GNURadio/RadioFM.py", line 163, in main
    tb = top_block_cls()
  File "/home/catalin/Documents/GNURadio/RadioFM.py", line 127, in __init__
    self.connect((self.osmosdr_source_0, 0), (self.dc_blocker_xx_0, 0))
  File "/usr/lib/python3/dist-packages/gnuradio/gr/hier_block2.py", line 37, in wrapped
    func(self, src, src_port, dst, dst_port)
  File "/usr/lib/python3/dist-packages/gnuradio/gr/hier_block2.py", line 105, in connect
    self.primitive_connect(*args)
TypeError: primitive_connect(): incompatible function arguments. The following argument types are supported:
    1. (self: gnuradio.gr.gr_python.hier_block2_pb, block: gnuradio.gr.gr_python.basic_block) -> None
    2. (self: gnuradio.gr.gr_python.hier_block2_pb, src: gnuradio.gr.gr_python.basic_block, src_port: int, dst: gnuradio.gr.gr_python.basic_block, dst_port: int) -> None
Invoked with: <gnuradio.gr.gr_python.top_block_pb object at 0x7f9073d0f430>, <Swig Object of type 'gr::basic_block_sptr *' at 0x7f90710f13f0>, 0, <gnuradio.gr.gr_python.basic_block object at 0x7f9073d2d4f0>, 0
swig/python detected a memory leak of type 'gr::basic_block_sptr *', no destructor found.
>>> Done (return code 1)
== RTL-SDR issues ==
Hi,
I am using Ubuntu 20.04, gnuradio 3.10. I am having trouble getting gnuradio to recognize my RTL-SDR. When I add the RTL-SDR source block in gnuradio I am given the option to add a device argument but I don’t know what to put into this section so that gnuradio recognizes my device.
Any help is much appreciated.
Thanks!

Latest revision as of 18:13, 15 October 2022

NOTE: This page is not a support forum.


Future Edits: Hardware support

After inclusion of gr-soapy in an official release, as well as gr-iio: Needs to state something like


Does GNU Radio support my SDR hardware?

If you've got a

  • Ettus / National Instruments USRP: yes, through the included `gr-uhd` module (use the `USRP Sink` / `USRP Source`)
  • a IIO device like the ADALM Pluto SDR: yes, through the included `gr-iio` module (GNU Radio version 3.x.y.z upwards)
  • Any other device (e.g. RTL-SDR dongles): if there's a soapysdr plugin [Link to Soapysdr] for it, then it can be used through gr-soapy (GNU Radio version 3.a.b.c upwards)

Generally, gr-soapy is an abstraction that unifies access to many different SDRs. This means your flow graph might also work for others with different hardware, but especially for the more complex hardware (e.g. USRPs), this means you don't get access to all the functionality of your device.

Hi, I recently started using GNURadio. My initial attempts consisted of a simple flow containing an osmocom Source block, a DC Blocker block, and a QT GUI Sink block. The application works under Windows, but not under Linux (Ubuntu 20.04.4 LTS). The message in the console is listed below. Can you help me with some advice? Thank you in advance!

Generating: '/home/catalin/Documents/GNURadio/RadioFM.py'

Executing: /usr/bin/python3 -u /home/catalin/Documents/GNURadio/RadioFM.py

gr-osmosdr 0.2.0.0 (0.2.0) gnuradio 3.8.1.0 built-in source types: file osmosdr fcd rtl rtl_tcp uhd miri hackrf bladerf rfspace airspy airspyhf soapy redpitaya freesrp [INFO] [UHD] linux; GNU C++ version 9.2.1 20200304; Boost_107100; UHD_3.15.0.0-2build5

RtApiAlsa::getDeviceInfo: snd_pcm_open error for device (hw:1,0), Device or resource busy.

Using HackRF One with firmware 2021.03.1 Traceback (most recent call last):

 File "/home/catalin/Documents/GNURadio/RadioFM.py", line 185, in <module>
   main()
 File "/home/catalin/Documents/GNURadio/RadioFM.py", line 163, in main
   tb = top_block_cls()
 File "/home/catalin/Documents/GNURadio/RadioFM.py", line 127, in __init__
   self.connect((self.osmosdr_source_0, 0), (self.dc_blocker_xx_0, 0))
 File "/usr/lib/python3/dist-packages/gnuradio/gr/hier_block2.py", line 37, in wrapped
   func(self, src, src_port, dst, dst_port)
 File "/usr/lib/python3/dist-packages/gnuradio/gr/hier_block2.py", line 105, in connect
   self.primitive_connect(*args)

TypeError: primitive_connect(): incompatible function arguments. The following argument types are supported:

   1. (self: gnuradio.gr.gr_python.hier_block2_pb, block: gnuradio.gr.gr_python.basic_block) -> None
   2. (self: gnuradio.gr.gr_python.hier_block2_pb, src: gnuradio.gr.gr_python.basic_block, src_port: int, dst: gnuradio.gr.gr_python.basic_block, dst_port: int) -> None

Invoked with: <gnuradio.gr.gr_python.top_block_pb object at 0x7fe5957525f0>, <Swig Object of type 'gr::basic_block_sptr *' at 0x7fe5905f53f0>, 0, <gnuradio.gr.gr_python.basic_block object at 0x7fe595e22a30>, 0 swig/python detected a memory leak of type 'gr::basic_block_sptr *', no destructor found.

>>> Done (return code 1)

Generating: '/home/catalin/Documents/GNURadio/RadioFM.py'

Executing: /usr/bin/python3 -u /home/catalin/Documents/GNURadio/RadioFM.py

gr-osmosdr 0.2.0.0 (0.2.0) gnuradio 3.8.1.0 built-in source types: file osmosdr fcd rtl rtl_tcp uhd miri hackrf bladerf rfspace airspy airspyhf soapy redpitaya freesrp Using HackRF One with firmware 2021.03.1 Traceback (most recent call last):

 File "/home/catalin/Documents/GNURadio/RadioFM.py", line 185, in <module>
   main()
 File "/home/catalin/Documents/GNURadio/RadioFM.py", line 163, in main
   tb = top_block_cls()
 File "/home/catalin/Documents/GNURadio/RadioFM.py", line 127, in __init__
   self.connect((self.osmosdr_source_0, 0), (self.dc_blocker_xx_0, 0))
 File "/usr/lib/python3/dist-packages/gnuradio/gr/hier_block2.py", line 37, in wrapped
   func(self, src, src_port, dst, dst_port)
 File "/usr/lib/python3/dist-packages/gnuradio/gr/hier_block2.py", line 105, in connect
   self.primitive_connect(*args)

TypeError: primitive_connect(): incompatible function arguments. The following argument types are supported:

   1. (self: gnuradio.gr.gr_python.hier_block2_pb, block: gnuradio.gr.gr_python.basic_block) -> None
   2. (self: gnuradio.gr.gr_python.hier_block2_pb, src: gnuradio.gr.gr_python.basic_block, src_port: int, dst: gnuradio.gr.gr_python.basic_block, dst_port: int) -> None

Invoked with: <gnuradio.gr.gr_python.top_block_pb object at 0x7f9073d0f430>, <Swig Object of type 'gr::basic_block_sptr *' at 0x7f90710f13f0>, 0, <gnuradio.gr.gr_python.basic_block object at 0x7f9073d2d4f0>, 0 swig/python detected a memory leak of type 'gr::basic_block_sptr *', no destructor found.

>>> Done (return code 1)

RTL-SDR issues

Hi,

I am using Ubuntu 20.04, gnuradio 3.10. I am having trouble getting gnuradio to recognize my RTL-SDR. When I add the RTL-SDR source block in gnuradio I am given the option to add a device argument but I don’t know what to put into this section so that gnuradio recognizes my device.

Any help is much appreciated.

Thanks!