Intermittant issues finding AirSpy R2 device within Gqrx and a few other issues / enhancements

548 views
Skip to first unread message

David Ranch

unread,
Feb 12, 2016, 5:28:50 PM2/12/16
to Gqrx SDR

Hello Everyone,

I'm successfully using an AirSpy R2 with Gqrx on Linux but it's not exactly smooth sailing so I wanted to get some of the group's thoughts as well as chime in on some feature enhancements too .  To be up front, I've done all the required Airspy and gr-osmosdr compiles, Airspy kernel module blacklist, Udev permissions and plugdev Unix group settings. 

1. About 70% of the time when I start Gqrx (not as the root user) and look at
   the Gqrx configuration area, I don't see the "AirSpy AIRSPY" (displayed exactly
   like that) device name in the pulldown.  I also see this behavior if I run
   Gqrx as the root user.  Sometimes if I simply use control-C in the terminal window
   to exit Gqrx and then restart Gqrx, I'm prompted with:

        Gqrx has detected problems with the current configuration. Loading the
        configuration again could cause the application to crash.  Do you want
        to edit the settings?

  If I click on "yes", I *will* then see the airspy device in the pulldown.  Why is this?


2. As a follow on to #1, if I select the Airspy device and set all the proper settings, click
on OK to save, and let Gqrx to run,  things *work* as expected.  The issue here is if I
 again click on the configuration settings,  the "AirSpy AIRSPY" is again missing from
the pulldown and now the settings  are shown as:

      Device: Other...    <-----------------------------
      Device String: airspy=0,bias=1
      Input Rate: 2500000
      Decimation: None
      Sample rate: 2.500Msps (not changable)
      Bandwidth: 2.500000 Mhz
      LNB LO: -120.000000 Mhz

Why does the AirSpy entry disappear and become "OTHER"?


3.  Per the documentation in  http://airspy.com/quickstart/ , The AirSpy R2 supports three gain modes:
  • Sensitivity
  • Linearity
  • Free (Custom)
How can these be set within Gqrx?  Is there a Device String option that can be used to get this going?  Could this setting be added as a GUI radial button?


4. Similar request to a thread back in November 2015 ( https://groups.google.com/forum/#!topic/gqrx/Qj-6N8AFct8 ), could the BIAS=1 and LNB=-120000000 settings become some sort of a checkbox in the setup?  I can confirm it works though sometimes, I have to shutdown Gqrx and restart it to get it to "take".


5. When I start Gqrx, I'm seeing some Qt errors that might be part of item #1's issue.  I don't think they are fatal but I thought I'd mention them:
--
$ gqrx
linux; GNU C++ version 4.4.7 20120313 (Red Hat 4.4.7-4); Boost_105400; UHD_003.005.003-0-unknown

gr-osmosdr v0.1.4-55-g7cec4c0f (0.1.5git) gnuradio v3.7.x-xxx-xunknown
built-in source types: file fcd rtl rtl_tcp uhd rfspace airspy
Using Volk machine: avx_64_mmx_orc
 *** alpha: 0.242535
BookmarksFile is /home/dranch/.config/gqrx/bookmarks.csv
gr-osmosdr v0.1.4-55-g7cec4c0f (0.1.5git) gnuradio v3.7.x-xxx-xunknown
built-in source types: file fcd rtl rtl_tcp uhd rfspace airspy
Using AirSpy NOS v1.0.0-rc6-0-g035ff81 2015-07-14, samplerates: 2.5M 10M
Object::connect: No such slot TaskManager::GroupManager::taskDestroyed(QObject*)
Object::connect: No such signal QComboBox::currentTextChanged(QString)
Object::connect:  (sender name:   'inSrCombo')
Object::connect:  (receiver name: 'CIoConfig')
Object::connect: No such slot TaskManager::GroupManager::taskDestroyed(QObject*)
--

This is with Qt 4.8.4


6. When I enter the Gqrx setup menu, a TCP/IP packet sent to all network subnet broadcast addresses:
     IP: len 64 44.4.10.39->44.4.10.127 ihl 20 ttl 64 DF prot UDP
     UDP: len 44 36872->49152 Data 36

   Is this due to something in the SDR-IQ or other device support?   Can this behavior be disabled?

--David
KI6ZHD

Robin Gape

unread,
Feb 13, 2016, 9:23:34 AM2/13/16
to gq...@googlegroups.com
David,

1) its always helpful to provide fairly full information when asking for help. It would appear that it's not so much GNU/Linux in use, but rather either Red Hat (RHEL) or Fedora.

2) this matters since you will, presumably, have had either to compile GQRX from source, or use some repository, which repository may or may not be up-to-date.

3) comparing startup messages you would seem to be running an old version of mainstream GQRX. The current release version (from the Ubuntu PPA repository) is 2.5.3. This version, with nothing added, at start-up claims to support:
built-in source types: file osmosdr fcd rtl rtl_tcp uhd miri hackrf bladerf rfspace airspy soapy redpitaya
which compares with your reported:

built-in source types: file fcd rtl rtl_tcp uhd rfspace airspy
4) the kernel version that's in use is also important. Later kernel versions will support AirSpy directly from version 4.4, as and when that's released! (Sadly, not today! See https://www.spinics.net/lists/kernel/msg2172753.html and https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/log/?id=refs/tags/v4.4-rc6 then search for airspy)

5) the messages:

Object::connect: No such slot TaskManager::GroupManager::taskDestroyed(QObject*)
Object::connect: No such signal QComboBox::currentTextChanged(QString)
Object::connect:  (sender name:   'inSrCombo')
Object::connect:  (receiver name: 'CIoConfig')
Object::connect: No such slot TaskManager::GroupManager::taskDestroyed(QObject*)
look to be complaints from Qt. The PPA version of GQRX chooses to be linked to Qt5, rather than 4. You are likely to get more joy using Qt5. YMMV, naturally!

6) in general, best success with evolving programs such as GQRX, and SDR in general, will come from using reasonably up-to-date versions of Linux, that are kept up-to-date. In the Red Hat arena, Fedora is nearer the cutting edge than RHEL. (Forgive me if one is preaching to the converted)

Good luck debugging, 73,

Robin, G8DQX

Alexandru Csete

unread,
Feb 13, 2016, 10:45:47 AM2/13/16
to gq...@googlegroups.com
Hi David,

On Fri, Feb 12, 2016 at 11:28 PM, David Ranch <dra...@gmail.com> wrote:
>
> Hello Everyone,
>
> I'm successfully using an AirSpy R2 with Gqrx on Linux but it's not exactly
> smooth sailing so I wanted to get some of the group's thoughts as well as
> chime in on some feature enhancements too . To be up front, I've done all
> the required Airspy and gr-osmosdr compiles, Airspy kernel module blacklist,
> Udev permissions and plugdev Unix group settings.
>
> 1. About 70% of the time when I start Gqrx (not as the root user) and look
> at
> the Gqrx configuration area, I don't see the "AirSpy AIRSPY" (displayed
> exactly
> like that) device name in the pulldown.

What you experience wrt. to the device selector is probably some side
effects / features of gqrx running on top of a framework rather than
using purpose built driver backends.

The dropdown lists devices detected by the backend, plus a few input
sources that do not have discovery feature. So, the first time you run
gqrx or you run using -r it should definitely list the airspy.
However, if gqrx is already using the airspy, then the backend will
not be able to detect it since something else (in this case gqrx) is
already using it.

So, perhaps that's why you do not always see the airspy listed? This
is also why we show "other" when you already use airspy. What matter
is what the device string says, and as long as there is airspy in the
device string you should see all supported sample rates listed.

If you observe deviation from this there could be a bug in gqrx or
some problems with accessing the airspy.

> Sometimes if I simply use control-C in the
> terminal window
> to exit Gqrx and then restart Gqrx, I'm prompted with:
>
> Gqrx has detected problems with the current configuration. Loading
> the
> configuration again could cause the application to crash. Do you
> want
> to edit the settings?
>
> If I click on "yes", I *will* then see the airspy device in the pulldown.
> Why is this?

Because at this time gqrx has not yet opened the airspy device so it
can be probed by the backend.

> 3. Per the documentation in http://airspy.com/quickstart/ , The AirSpy R2
> supports three gain modes:
>
> Sensitivity
> Linearity
> Free (Custom)
>
> How can these be set within Gqrx? Is there a Device String option that can
> be used to get this going?

If you don't see the sliders then they are not available through the
regular gain API and probably require new code in gqrx. Note that
these are not new gain settings, just some shortcuts the set the 3
existing gains according to a predefined table in the driver.

> 4. Similar request to a thread back in November 2015 (
> https://groups.google.com/forum/#!topic/gqrx/Qj-6N8AFct8 ), could the BIAS=1
> and LNB=-120000000 settings become some sort of a checkbox in the setup? I
> can confirm it works though sometimes, I have to shutdown Gqrx and restart
> it to get it to "take".

Well, yes they could and I believe there is already issue open for
this on github (if not I will probably just forget). However, I would
like to point out that these kind of settings are why I created
support for multiple configurations. Or do you have a use case where
you need to toggle LNB LO and bias T on/off many times during a
session?

> Object::connect: No such signal QComboBox::currentTextChanged(QString)
> Object::connect: (sender name: 'inSrCombo')
> Object::connect: (receiver name: 'CIoConfig')
> Object::connect: No such slot

This error should be fixed in 2.5.3 c.f.
https://github.com/csete/gqrx/commit/95984e2d3918e8df487835508a7ef435792c0d92

Alex

David Ranch

unread,
Feb 13, 2016, 12:44:04 PM2/13/16
to Gqrx SDR

Hello Robin,


1) its always helpful to provide fairly full information when asking for help. It would appear that it's not so much GNU/Linux in use, but rather either Red Hat (RHEL) or Fedora.

Sorry about that though I don't think my cited issues are really OS specific:

Intel i52430 @ 2.4Ghz with 4GB RAM
Centos 6.7 running a custom ElRepo 3.17.5 kernel & updated OS components
gqrx-2.4.0-1.20151214git9e4716b9.el6.x86_64 (locally compiled and packaged)
Qt 4.8.4



2) this matters since you will, presumably, have had either to compile GQRX from source, or use some repository, which repository may or may not be up-to-date.

Many of the fixes I've seen since 2.4.0 really have other fixes that didn't seem to impact my issues here.  But, I'll upgrade to 2.5.3 and see if it changes anything.




3) comparing startup messages you would seem to be running an old version of mainstream GQRX. The current release version (from the Ubuntu PPA repository) is 2.5.3. This version, with nothing added, at start-up claims to support:
built-in source types: file osmosdr fcd rtl rtl_tcp uhd miri hackrf bladerf rfspace airspy soapy redpitaya
which compares with your reported:
built-in source types: file fcd rtl rtl_tcp uhd rfspace airspy

Ubuntu isn't the only Linux distribution that Gqrx runs on though I can appreciate the easier support by using Alex's .deb packages.  Since I run Centos, using his binaries isn't an option.  You also don't see those other SDR devices in my output because I intentionally didn't compile them in since I don't have a Miri, HackRF, BladeRF, RedPitaya, or care to use the SOAPY API suite.  Them not being present should have zero impact on the operation of my AirSpy unit.



4) the kernel version that's in use is also important. Later kernel versions will support AirSpy directly from version 4.4, as and when that's released! (Sadly, not today! See https://www.spinics.net/lists/kernel/msg2172753.html and https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/log/?id=refs/tags/v4.4-rc6 then search for airspy)

As mentioned in the original post, I blacklisted the kernel's Airspy kernel module so it won't load.  I apologize if I didn't make it clear that things are working just fine 30% of the time I start Gqrx.




5) the messages:
Object::connect: No such slot TaskManager::GroupManager::taskDestroyed(QObject*)
Object::connect: No such signal QComboBox::currentTextChanged(QString)
Object::connect:  (sender name:   'inSrCombo')
Object::connect:  (receiver name: 'CIoConfig')
Object::connect: No such slot TaskManager::GroupManager::taskDestroyed(QObject*)
look to be complaints from Qt. The PPA version of GQRX chooses to be linked to Qt5, rather than 4. You are likely to get more joy using Qt5. YMMV, naturally!

Per https://github.com/csete/gqrx , Qt4.7+ is the supported Qt version.  Please don't push the point that Gqrx via the posted Ubuntu .debs is an Ubuntu only program.. it's not.  There are many other Linux distributions that are very viable for their intended uses.   Ubuntu is fine for many though I'm personally not a fan.   Now, it's perfectly acceptable for Alex and team to come back and say Qt 5.x is now the base required Qt version to properly support Gqrx but for the moment, I don't think that's the case. 


6) in general, best success with evolving programs such as GQRX, and SDR in general, will come from using reasonably up-to-date versions of Linux, that are kept up-to-date. In the Red Hat arena, Fedora is nearer the cutting edge than RHEL. (Forgive me if one is preaching to the converted)

I agree that Centos isn't cutting edge but there is nothing in Gqrx that requires bleeding edge software versions.  If you give a glance at:

   http://www.trinityos.com/HAM/CentosDigitalModes/hampacketizing-centos.html

you can see I've been spending YEARS at enhancing Centos for HamRadio use.  Though the base Centos distro might be running older versions of base packages, all of the HamRadio dependent packages are cutting edge package versions built from their respective sources and fully RPM packaged by me.  I regularly update the document and the associated .spec files for others to use as well as post the resulting RPMs when people as for them (happy to help others give Centos a try too).  While this approach is more Sysadmin work, I learn a ton, get to use all the great HamRadio programs for Linux while benefit from a very stable and long term supported backend OS.

Anyway, thanks for the reply

--David
KI6ZHD

David Ranch

unread,
Feb 13, 2016, 1:36:04 PM2/13/16
to Gqrx SDR
Hello Alex,

Great to hear from you again and thanks for the reply!



The dropdown lists devices detected by the backend, plus a few input
sources that do not have discovery feature. So, the first time you run
gqrx or you run using -r it should definitely list the airspy.

And it does.. I see it but only that first time and after that in the specific running instance of Gqrx, it's disappears.  That's not what I would expect.

 
However, if gqrx is already using the airspy, then the backend will
not be able to detect it since something else (in this case gqrx) is
already using it.

Hmmm... interesting.  So this is a form of a display issue and other devices would also see a similar behavior.  Maybe in a future version, Gqrx could maintain state of what it's currently using and add that in-use devices into that pull down?  Obviously not a high priority but would just be a usability and consistency improvement.

 

So, perhaps that's why you do not always see the airspy listed? This
is also why we show "other" when you already use airspy. What matter
is what the device string says, and as long as there is airspy in the
device string you should see all supported sample rates listed.

Gotcha.. this just isn't a behavior I've seen before nor read about since I've upgraded from an RTL/E4000 dongle to the AirSpy.  This would be a perfect FAQ entry on the Github site.  If your willing to enable that feature on your Github page, I'd be happy to contribute to adding some Q & A items there.

 

> 3.  Per the documentation in  http://airspy.com/quickstart/ , The AirSpy R2
> supports three gain modes:
>
> Sensitivity
> Linearity
> Free (Custom)
>
> How can these be set within Gqrx?  Is there a Device String option that can
> be used to get this going?

If you don't see the sliders then they are not available through the
regular gain API and probably require new code in gqrx. Note that
these are not new gain settings, just some shortcuts the set the 3
existing gains according to a predefined table in the driver.

Hmmm... ok and maybe this comes down to me not being familiar with the Airspy vs. the RTL/E4000.  Under the Input controls, I see:

   - LNB LO: I set this to -120000000 when using the Spyverter upconverter unit
   - Hardware AGC: Unchecked  (toggling this doesn't seem to do anything unlike it's behavior on the RTL dongle)
   - LNA gain: 12.0 db
   - MIX gain: 5.0 db
   - IF gain: 4.0 db
   - Swap I/Q
   - No Limits (no idea what this does)
   - DC Remove
   - IQ balance
   - Freq correction
   - Antenna: RX

Are you saying that these above three LNA/MIX/IF gain values are what make up the Airspy's "sensitivity" and "linearity" modes or maybe better understood as "presets"?

Btw, any recommended reading on how to better understand the inter-dependencies of these values and how to bet utilize them?

 

> 4. Similar request to a thread back in November 2015 (
> https://groups.google.com/forum/#!topic/gqrx/Qj-6N8AFct8 ), could the BIAS=1
> and LNB=-120000000 settings become some sort of a checkbox in the setup?  I
> can confirm it works though sometimes, I have to shutdown Gqrx and restart
> it to get it to "take".

Well, yes they could and I believe there is already issue open for
this on github (if not I will probably just forget).

Ok, I'll double check and if I don't see it, I'll create one.  Thanks.

 
However, I would
like to point out that these kind of settings are why I created
support for multiple configurations. Or do you have a use case where
you need to toggle LNB LO and bias T on/off many times during a
session?

No, I think the multi-configuration approach will work for me though it's more of a work around.  I believe other SDR programs might have it more integrated to their UI but the use case doesn't really warrant it.


 

> Object::connect: No such signal QComboBox::currentTextChanged(QString)
> Object::connect:  (sender name:   'inSrCombo')
> Object::connect:  (receiver name: 'CIoConfig')
> Object::connect: No such slot

This error should be fixed in 2.5.3 c.f.
https://github.com/csete/gqrx/commit/95984e2d3918e8df487835508a7ef435792c0d92

Ok.. I'll upgrade today.  Thanks!

Btw, could you comment more on this ticket?

   https://github.com/csete/gqrx/issues/302

How would I enable this in gr-osmosdr?  The reason I ask is when I run the recommended Airspy test:

   airspy_rx -r NUL -t 0

My machine currently sustains about 9.80msps and cannot achieve the 10msps over the current USB port.  I'm going to troubleshoot this over the long weekend but being on a laptop, I have limited options.  I might try upgrading from libusbx to the newer combined libusb, maybe try newer 4.x kernels, etc. but any USB performance optimization tricks would be helpful. 


Ps.  In this thread, I also mentioned about the broadcast packet observation.  Any thoughts there?  The reason I bring this up as when I go into the setup area, this broadcast packet is sent over my AFSK1200 baud packet station on 145.050.  It's only one packet and my machine properly IDs the transmitter but it's a little annoying. Being able to disable what I suspect is the NetSDR support would probably solve this for me but it's not a super high priority.

--David
KI6ZHD

Alexandru Csete

unread,
Feb 13, 2016, 2:45:17 PM2/13/16
to gq...@googlegroups.com
On Sat, Feb 13, 2016 at 7:36 PM, David Ranch <dra...@gmail.com> wrote:
> Are you saying that these above three LNA/MIX/IF gain values are what make
> up the Airspy's "sensitivity" and "linearity" modes or maybe better
> understood as "presets"?

Yes. LNA/MIX/IF are physical gain stages in the device, while
sensitivity and linearity are groups of LNA/MIX/IF settings that
effectively cause the device to be more linear or sensitive.

> Btw, any recommended reading on how to better understand the
> inter-dependencies of these values and how to bet utilize them?

You can see the settings here:
https://github.com/airspy/host/blob/master/libairspy/src/airspy.c#L109


> Btw, could you comment more on this ticket?
>
> https://github.com/csete/gqrx/issues/302
>
> How would I enable this in gr-osmosdr?

You could add call to airspy_set_packing() to gr-osmosdr backend where
the airspy is initialized. I can give you more details if you need it,
just let me know.

> Ps. In this thread, I also mentioned about the broadcast packet
> observation. Any thoughts there?

I forgot about that, sorry. Yes, it is probably some of the rfspace
radios so try building gr-osmosdr with rfspace support disabled.

Alex

Alexandru Csete

unread,
Feb 15, 2016, 3:31:16 PM2/15/16
to gq...@googlegroups.com
On Sat, Feb 13, 2016 at 7:36 PM, David Ranch <dra...@gmail.com> wrote:
>
> Gotcha.. this just isn't a behavior I've seen before nor read about since
> I've upgraded from an RTL/E4000 dongle to the AirSpy. This would be a
> perfect FAQ entry on the Github site. If your willing to enable that
> feature on your Github page, I'd be happy to contribute to adding some Q & A
> items there.
>

Do you mean enable the wiki or "github pages" as in web pages? I can
enable the wiki, but Ireally don't feel like enabling "github pages"
since we already have a web site.

Alex

David Ranch

unread,
Feb 15, 2016, 3:37:49 PM2/15/16
to Gqrx SDR

The Wiki functionality on the Github site.

--David
KI6ZHD

Alexandru Csete

unread,
Feb 15, 2016, 3:47:49 PM2/15/16
to gq...@googlegroups.com
Ok, I have re-enabled the wiki. I think everybody can edit it.

Alex
> --
> You received this message because you are subscribed to the Google Groups
> "Gqrx SDR" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to gqrx+uns...@googlegroups.com.
> To post to this group, send email to gq...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/gqrx/307fefc7-3208-40cc-8afc-1f5ea29f6395%40googlegroups.com.
>
> For more options, visit https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages