Airspy device not found - new SatNOGS installation

Hello. I have just upgraded to client 1.8.1 by re-installing everything from the beginning (new RPI install). I have used Airspy Mini before without any problem. Now soapy can not find the Airspy device.

Running SoapySDRUtil --probe it can not be found. I have tested several USB ports and also on a Windows PC. The Airspy Mini can be found on the PC without any problem.

I have switched to a RTL-SDR v3 and it it is working without any issues.

Help needed please. Below is the support info.
//Lars SM0TGU

------------[ copy here ]------------
{
“versions”: {
“satnogs-client”: “1.8.1”,
“satnogs-client-ansible”: “202209101521”,
“satnogs-flowgraphs”: “1.4-1”,
“gr-satnogs”: “2.3.3.0-1”,
“gr-soapy”: “2.1.3.1-1”,
“gnuradio”: “3.8.2.0-14”,
“satnogs-config”: “0.13.2”
},
“state”: {
“is-applied”: true,
“pending-tags”: null
},
“system”: {
“date”: “2022-11-28T08:11:11.597570+00:00”,
“distribution”: {
“DESCRIPTION”: “Raspbian GNU/Linux 11 (bullseye)”,
“RELEASE”: “11”,
“CODENAME”: “bullseye”,
“ID”: “Raspbian”
},
“pending-updates”: false,
“platform”: {
“system”: “Linux”,
“node”: “SATNOGSSM0TGU”,
“release”: “5.15.76-v7+”,
“version”: “#1597 SMP Fri Nov 4 12:13:17 GMT 2022”,
“machine”: “armv7l”
},
“memory”: {
“total”: 966930432,
“available”: 794521600,
“percent”: 17.8,
“used”: 118054912,
“free”: 635592704,
“active”: 120991744,
“inactive”: 147861504,
“buffers”: 20787200,
“cached”: 192495616,
“shared”: 737280,
“slab”: 30384128
},
“disk”: {
“total”: 31068966912,
“used”: 3880697856,
“free”: 25870929920,
“percent”: 13.0
}
},
“configuration”: {
“satnogs_antenna”: “RX”,
“satnogs_api_token”: “[redacted]”,
“satnogs_gain_mode”: “Settings Field”,
“satnogs_other_settings”: “LNA=10,MIX=8,VGA=10”,
“satnogs_rf_gain”: “32.8”,
“satnogs_rx_samp_rate”: “3e6”,
“satnogs_soapy_rx_device”: “driver=airspy”,
“satnogs_station_elev”: “5”,
“satnogs_station_id”: “858”,
“satnogs_station_lat”: “59.453”,
“satnogs_station_lon”: “17.890”,
“satnogs_waterfall_min_value”: “-90”,
“udp_dump_host”: “127.0.0.1”
}
}
------------[ copy end ]-------------

Good morning Lars,

A couple of things that need to be in place for the Airspy, am not sure if these are already configured.
So below some checks you can do.

First a configuration file that will block the kernel driver from loading:

/etc/modprobe.d/airspy-blacklist.conf

#
# Block AirSpy kernel module from loading
#
blacklist airspy
#

Then we also need a configuration file that will recognize the device when inserted.

/etc/udev/rules.d/52-airspy.rules

ATTR{idVendor}=="1d50", ATTR{idProduct}=="60a1", SYMLINK+="airspy-%k", MODE="660", GROUP="plugdev"

As you can see in the output, the id running the observation can only read/write to this device if he is member or the group plugdev the command id will show you the group membership.

If you want to know the membership of another users you can execute sudo -H -u satnogs id that will show the memberships of the satnogs user.

If you aren’t member of plugdev, you can add this membership with sudo usermod -a -G plugdev <username>

When this is done, the easiest is to reboot the Pi, there are cli commands but lets go the easy way.

After the reboot we can do some basic checks.

lsusb will show all the usb devices connected, here an example:

Bus 006 Device 009: ID 1d50:60a1 OpenMoko, Inc. Airspy
Bus 006 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 011: ID 1d50:6089 OpenMoko, Inc. Great Scott Gadgets HackRF One SDR
Bus 005 Device 004: ID 0bda:2838 Realtek Semiconductor Corp. RTL2838 DVB-T
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

As you can see, there is an Airspy showing.

Now lets try SoapySDRUtil --probe="driver=airspy" this would show something similar like the following output.

######################################################
##     Soapy SDR -- the SDR abstraction library     ##
######################################################

Probe device driver=airspy

----------------------------------------------------
-- Device identification
----------------------------------------------------
  driver=Airspy
  hardware=Airspy
  serial=4a464c83670830b

----------------------------------------------------
-- Peripheral summary
----------------------------------------------------
  Channels: 1 Rx, 0 Tx
  Timestamps: NO
  Other Settings:
     * Bias tee - Enable the 4.5v DC Bias tee to power SpyVerter / LNA / etc. via antenna connection.
       [key=biastee, default=false, type=bool]
     * Bit pack - Enable packing 4 12-bit samples into 3 16-bit words for 25% less USB trafic.
       [key=bitpack, default=false, type=bool]
     * Gain Mode - 0 = linearity, 1 = sensitivity, 2 = manual
       [key=gainmode, default=0, type=int]

----------------------------------------------------
-- RX Channel 0
----------------------------------------------------
  Full-duplex: YES
  Supports AGC: YES
  Stream formats: CS16, CF32
  Native format: CS16 [full-scale=32767]
  Antennas: RX
  Full gain range: [0, 21] dB
    LIN gain range: [0, 21] dB
  Full freq range: [24, 1800] MHz
    RF freq range: [24, 1800] MHz
  Sample rates: 3, 6 MSps
  Filter bandwidths: 2.7, 5.4 MHz

If this is indeed the output you should be good to go.

2 Likes

Thank you Jan. I did not see this information in the SatNogs configuration Wiki.
I will try later after work.

1 Like

Did the configuration and now the Airspy Mini is found.
Maybe this part of the wiki need to be updated?

Thank you very much Jan.

That is great news Lars,

Can you share what was missing.

The files /etc/modprobe.d/airspy-blacklist.conf and /etc/udev/rules.d/52-airspy.rules was missing.

membership for the satnogs user was correct

2 Likes

Please don’t forget to open an issue on GitLab so that it’s investigated and fixed for everyone.

1 Like

I hope I placed the issue at correct location:

3 Likes

Sure! If you think it might need an update, please do so! This is a wiki, so it lives from collaborative writing. <3