Search code examples
pythongnuradiosoftware-defined-radiortl-sdr

RTL-SDR in GNU Radio 3.9


I'm trying to make the RTL-SDR receive WBFM through GNU Radio (with Ubuntu 20.04), with this flowgraph:

GNU Radio flowgraph

But when I execute, it gives me this error message:

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 device #0 Realtek RTL2838UHIDIR SN: 00000001
Found Rafael Micro R820T tuner
[R82XX] PLL not locked!
Exact sample rate is: 2000000,052982 Hz
[R82XX] PLL not locked!
Traceback (most recent call last):
  File "rtl_sdr_receive.py", line 270, in <module>
    main()
  File "rtl_sdr_receive.py", line 246, in main
    tb = top_block_cls()
  File "rtl_sdr_receive.py", line 187, in __init__
    self.connect((self.rtlsdr_source_0, 0), (self.rational_resampler_xxx_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 100, 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 0x7fae1b571af0>, <Swig Object of type 'gr::basic_block_sptr *' at 0x7fae1740c9c0>, 0, <gnuradio.gr.gr_python.hier_block2_pb object at 0x7fae19809770>, 0
swig/python detected a memory leak of type 'gr::basic_block_sptr *', no destructor found.

I'm using the GNU Radio 3.9 version because is the only one that works with rpitx (with TCP connection). But it seems to have trouble dealing with the RTL-SDR. Is this a software bug or I misconfigured something? Already tried to install GNU Radio 3.9 from PPA and from source, with same results in the end.


Solution

  • I'm using the GNU Radio 3.9

    gr-osmosdr 0.2.0.0 (0.2.0) gnuradio 3.8.1.0

    The most probable reason is that gr-osmosdr OOT module was build for gnuradio 3.8.1.0 but you are using gnuradio 3.9. You can't mix versions like this. You need to install gr-osmosdr version that was built for your gnuradio version (or rebuild/reinstall from source).