I'm trying to make the RTL-SDR receive WBFM through GNU Radio (with Ubuntu 20.04), with this 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.
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).