Talk:FAQ: Difference between revisions

From GNU Radio
Jump to navigation Jump to search
 
No edit summary
(11 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== shell for audio video transmission ==
<b>NOTE: This page is not a support forum.</b>


Hi guys
<hr>
pls help me out i am trying for audio video transmission( webcam and audio device pf my system) using GNU radio and USRP SDR kit, i am sharing my shell script for enabling hardware , pls help me for the same


== Future Edits: Hardware support ==


rm /home/myPC/video1.ts
After inclusion of gr-soapy in an official release, as well as gr-iio: Needs to state something like
mkfifo ~/video1.ts
 
gst-launch -e -v v4l2src device="/dev/video0" ! video/x-raw-yuv, framerate=30/1, width=320, height=240 ! \timeoverlay halign=right valign=bottom shaded-background=true ! \textoverlay text="Video Transmit" halign=left valign=bottom shaded-background=true ! \x264enc bitrate=498 ! flutsmux ! name=venc  alsasrc device="hw:1,0" !  audio/x-raw-int,rate=8000,channels=1,depth=16 !  audioconvert ! queue2 max-size-buffers=1000 max-size-bytes=0 max-size-time=0 !  vorbisenc quality=0.9 name=aenc oggmux name=mux ! filesink location=~/video1.ts
 
== 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)

Revision as of 20:06, 23 February 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)