Soapy SDR driver error

Hello.

I just did a reinstall of satnogs. But Soapy SDR keeps finding my rtlsdr as a audio device.

pi@raspberrypi:/tmp $ SoapySDRUtil --probe
######################################################

Soapy SDR – the SDR abstraction library

######################################################

Probe device
[INFO] [UHD] linux; GNU C++ version 10.2.1 20210110; Boost_107400; UHD_3.15.0.0-4+b1satnogs1
Found Rafael Micro R820T tuner


– Device identification

driver=Audio
hardware=Audio
device_id=0
origin=GitHub - pothosware/SoapyAudio: Soapy SDR plugin for Audio devices

How do i fix this?

Cheers
Brian

config is set as:

satnogs_antenna: RX
satnogs_gain_mode: Settings Field
satnogs_rg_gain: 28.0
satnogs_rx_samp_rate: 2.048e6
satnogs_soapy_rx_device: driver=rtlsdr

Hi, I saw you at #hearsat btw (:
What OS is this running, how was it installed ?
Seeing the observations seems to lack any signal I’m curious on how the antenna system is working. Is the cables, LNA, power ok ?

Depends on what system you’re running, but I had a alias setup to journalctl -u satnogs-client -f -n 50.

This indicates that it was found, but perhaps busy when the probe was started.

Hi.

Its installed on a PI4, and followed the guide on satnogs.
antenna and lnb is ok, no problem when i put the rtlsdr into sdr#

Problem is Soapy thinks its a Audio device and not a rtlsdr

Cheers
Brian

Some steps:

  • rtl_test this will test the connection and if 2.048e6 sample rate is possible

  • SoapySDRUtil --info this will show if all the Soapy 0.7 drivers are installed.

  • SoapySDRUtil --probe="driver=rtlsdr" if the RTL-SDR can be found and contacted.

  • ls -l ls -l /etc/modprobe.d/ to see if the RTL-SDR blacklisted config is in place

  • ls -l /etc/udev/rules.d/ to see if the RTL-SDR udev device config is in place.

Please share the results.

The probe searches for most of the drivers, including rtl-sdr and audio, and lists them all.
Try probing for only rtlsdr SoapySDRUtil --probe"driver=rtlsdr"

perhaps add to that:
lsusb | grep -i rtl28
lsmod | grep -i rtl28
dpkg -l rtl-sdr

1 Like
  • rtl_test this will test the connection and if 2.048e6 sample rate is possible
    pi@raspberrypi:~ $ rtl_test
    Found 1 device(s):
    0: Realtek, RTL2838UHIDIR, SN: 00000003

Using device 0: Generic RTL2832U OEM
Found Rafael Micro R820T tuner
Supported gain values (29): 0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6
[R82XX] PLL not locked!
Sampling at 2048000 S/s.

Info: This tool will continuously read from the device, and report if
samples get lost. If you observe no further output, everything is fine.

Reading samples in async mode…
Allocating 15 zero-copy buffers
lost at least 40 bytes

  • SoapySDRUtil --info this will show if all the Soapy 0.7 drivers are installed.
    ######################################################

Soapy SDR – the SDR abstraction library

######################################################

Lib Version: v0.7.2-2
API Version: v0.7.1
ABI Version: v0.7
Install root: /usr
Search path: /usr/lib/arm-linux-gnueabihf/SoapySDR/modules0.7
Search path: /usr/local/lib/arm-linux-gnueabihf/SoapySDR/modules0.7 (missing)
Search path: /usr/local/lib/SoapySDR/modules0.7 (missing)
Module found: /usr/lib/arm-linux-gnueabihf/SoapySDR/modules0.7/libHackRFSupport.so (0.3.3)
Module found: /usr/lib/arm-linux-gnueabihf/SoapySDR/modules0.7/libLMS7Support.so (20.10.0)
Module found: /usr/lib/arm-linux-gnueabihf/SoapySDR/modules0.7/libRedPitaya.so (0.1.1)
Module found: /usr/lib/arm-linux-gnueabihf/SoapySDR/modules0.7/libairspySupport.so (0.1.2)
Module found: /usr/lib/arm-linux-gnueabihf/SoapySDR/modules0.7/libaudioSupport.so (0.1.1)
Module found: /usr/lib/arm-linux-gnueabihf/SoapySDR/modules0.7/libbladeRFSupport.so (0.4.1)
Module found: /usr/lib/arm-linux-gnueabihf/SoapySDR/modules0.7/libmiriSupport.so (0.2.5)
Module found: /usr/lib/arm-linux-gnueabihf/SoapySDR/modules0.7/libosmosdrSupport.so (0.2.5)
Module found: /usr/lib/arm-linux-gnueabihf/SoapySDR/modules0.7/libremoteSupport.so (0.5.2)
Module found: /usr/lib/arm-linux-gnueabihf/SoapySDR/modules0.7/librfspaceSupport.so (0.2.5)
Module found: /usr/lib/arm-linux-gnueabihf/SoapySDR/modules0.7/librtlsdrSupport.so (0.3.2)
Module found: /usr/lib/arm-linux-gnueabihf/SoapySDR/modules0.7/libuhdSupport.so (0.4.1)
Available factories… airspy, audio, bladerf, hackrf, lime, miri, osmosdr, redpitaya, remote, rfspace, rtlsdr, uhd
Available converters…

  • CF32 → [CF32, CS16, CS8, CU16, CU8]
  • CS16 → [CF32, CS16, CS8, CU16, CU8]
  • CS32 → [CS32]
  • CS8 → [CF32, CS16, CS8, CU16, CU8]
  • CU16 → [CF32, CS16, CS8]
  • CU8 → [CF32, CS16, CS8]
  • F32 → [F32, S16, S8, U16, U8]
  • S16 → [F32, S16, S8, U16, U8]
  • S32 → [S32]
  • S8 → [F32, S16, S8, U16, U8]
  • U16 → [F32, S16, S8]
  • U8 → [F32, S16, S8]
  • SoapySDRUtil --probe="driver=rtlsdr" if the RTL-SDR can be found and contacted.
    ######################################################

Soapy SDR – the SDR abstraction library

######################################################

Probe device driver=rtlsdr
Found Rafael Micro R820T tuner
[INFO] Opening Generic RTL2832U OEM :: 00000003…
Found Rafael Micro R820T tuner


– Device identification

driver=RTLSDR
hardware=R820T
index=0
origin=GitHub - pothosware/SoapyRTLSDR: SoapySDR RTL-SDR Support Module


– Peripheral summary

Channels: 1 Rx, 0 Tx
Timestamps: YES
Time sources: sw_ticks
Other Settings:
* Direct Sampling - RTL-SDR Direct Sampling Mode
[key=direct_samp, default=0, type=string, options=(0, 1, 2)]
* Offset Tune - RTL-SDR Offset Tuning Mode
[key=offset_tune, default=false, type=bool]
* I/Q Swap - RTL-SDR I/Q Swap Mode
[key=iq_swap, default=false, type=bool]
* Digital AGC - RTL-SDR digital AGC Mode
[key=digital_agc, default=false, type=bool]
* Bias Tee - RTL-SDR Blog V.3 Bias-Tee Mode
[key=biastee, default=false, type=bool]


– RX Channel 0

Full-duplex: NO
Supports AGC: YES
Stream formats: CS8, CS16, CF32
Native format: CS8 [full-scale=128]
Stream args:
* Buffer Size - Number of bytes per buffer, multiples of 512 only.
[key=bufflen, units=bytes, default=262144, type=int]
* Ring buffers - Number of buffers in the ring.
[key=buffers, units=buffers, default=15, type=int]
* Async buffers - Number of async usb buffers (advanced).
[key=asyncBuffs, units=buffers, default=0, type=int]
Antennas: RX
Full gain range: [0, 49.6] dB
TUNER gain range: [0, 49.6] dB
Full freq range: [23.999, 1764] MHz
RF freq range: [24, 1764] MHz
CORR freq range: [-0.001, 0.001] MHz
Sample rates: 0.25, 1.024, 1.536, 1.792, 1.92, 2.048, 2.16, 2.56, 2.88, 3.2 MSps
Filter bandwidths: [0, 8] MHz

  • ls -l ls -l /etc/modprobe.d/ to see if the RTL-SDR blacklisted config is in place

ls: cannot access ‘ls’: No such file or directory
/etc/modprobe.d/:
total 16
-rw-r–r-- 1 root root 17 Feb 24 2022 blacklist-8192cu.conf
-rw-r–r-- 1 root root 67 Jan 5 00:51 blacklist-ansible.conf
-rw-r–r-- 1 root root 19 Feb 24 2022 blacklist-rtl8xxxu.conf
-rw-r–r-- 1 root root 86 Jan 9 2016 libhackrf0.conf

  • ls -l /etc/udev/rules.d/ to see if the RTL-SDR udev device config is in place.

total 8
-rw-r–r-- 1 root root 459 Jan 5 00:50 64-limesuite.rules
-rw-r–r-- 1 root root 1883 Feb 24 2022 99-com.rules

pi@raspberrypi:~ $ lsusb | grep -i rtl28
lsmod | grep -i rtl28
dpkg -l rtl-sdr
Bus 001 Device 006: ID 0bda:2838 Realtek Semiconductor Corp. RTL2838 DVB-T
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
++±==============-===============-============-===============================>
ii rtl-sdr 0.6.0-3satnogs1 armhf Software defined radio receiver>

Lets have a look at the satnogs-setup support output, this can be done in the following way:

run the following commands and steps:

sudo satnogs-setup choose advanced and then support and share the output.

I guess we are missing something simple.

Here is the output

Generating support report. Please wait…
------------[ 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”: “2023-01-06T21:35:41.881870+00:00”,
“distribution”: {
“DESCRIPTION”: “Raspbian GNU/Linux 11 (bullseye)”,
“RELEASE”: “11”,
“CODENAME”: “bullseye”,
“ID”: “Raspbian”
},
“pending-updates”: false,
“platform”: {
“system”: “Linux”,
“node”: “raspberrypi”,
“release”: “5.15.76-v7l+”,
“version”: “#1597 SMP Fri Nov 4 12:14:58 GMT 2022”,
“machine”: “armv7l”
},
“memory”: {
“total”: 1963311104,
“available”: 1485508608,
“percent”: 24.3,
“used”: 387936256,
“free”: 1111175168,
“active”: 268226560,
“inactive”: 494657536,
“buffers”: 36671488,
“cached”: 427528192,
“shared”: 843776,
“slab”: 46768128
},
“disk”: {
“total”: 15043854336,
“used”: 3906621440,
“free”: 10471108608,
“percent”: 27.2
}
},
“configuration”: {
“satnogs_antenna”: “RX”,
“satnogs_api_token”: “[redacted]”,
“satnogs_gain_mode”: “Settings Field”,
“satnogs_rf_gain”: “28.0”,
“satnogs_rx_samp_rate”: “2.048e6”,
“satnogs_soapy_rx_device”: “driver=rtlsdr”,
“satnogs_station_elev”: “100”,
“satnogs_station_id”: “452”,
“satnogs_station_lat”: “56.278”,
“satnogs_station_lon”: “10.266”
}
}
------------[ copy end ]-------------

Press Enter to continue…

There is one entry that I wouldn’t expect in the configuration and that is “satnogs_gain_mode”: “Settings Field” we aren’t using specific settings when using the RTL-SDR.

That brings we to the question why do we think the device isn’t recognized, maybe we are looking for the wrong information.

What error is shown when the observation is started, running and stopped?

This command will show the log information: sudo journalctl -f -u satnogs-client -n 512

Latest lines:

Jan 06 19:44:46 raspberrypi satnogs-client[387]: rig_init: rig does not have rx_range!!
Jan 06 19:44:46 raspberrypi satnogs-client[387]: network_open: hoststr=127.0.0.1, portstr=4532
Jan 06 19:44:49 raspberrypi satnogs-client[6634]: Found Rafael Micro R820T tuner
Jan 06 19:44:49 raspberrypi satnogs-client[6634]: [INFO] Opening Generic RTL2832U OEM :: 00000003…
Jan 06 19:44:50 raspberrypi satnogs-client[6634]: Found Rafael Micro R820T tuner
Jan 06 19:44:50 raspberrypi satnogs-client[6634]: [R82XX] PLL not locked!
Jan 06 19:44:50 raspberrypi satnogs-client[6634]: [INFO] Using format CF32.
Jan 06 19:44:51 raspberrypi satnogs-client[6634]: Allocating 15 zero-copy buffers
Jan 06 19:55:59 raspberrypi satnogs-client[387]: netrigctl_close: done status=Command completed successfully
Jan 06 21:20:10 raspberrypi satnogs-client[387]: rig_init: rig does not have rx_range!!
Jan 06 21:20:10 raspberrypi satnogs-client[387]: network_open: hoststr=127.0.0.1, portstr=4532
Jan 06 21:20:13 raspberrypi satnogs-client[6785]: Found Rafael Micro R820T tuner
Jan 06 21:20:13 raspberrypi satnogs-client[6785]: [INFO] Opening Generic RTL2832U OEM :: 00000003…
Jan 06 21:20:14 raspberrypi satnogs-client[6785]: Found Rafael Micro R820T tuner
Jan 06 21:20:14 raspberrypi satnogs-client[6785]: [R82XX] PLL not locked!
Jan 06 21:20:14 raspberrypi satnogs-client[6785]: [INFO] Using format CF32.
Jan 06 21:20:15 raspberrypi satnogs-client[6785]: Allocating 15 zero-copy buffers
Jan 06 21:27:57 raspberrypi satnogs-client[387]: netrigctl_close: done status=Command completed successfully
Jan 06 22:51:18 raspberrypi satnogs-client[387]: rig_init: rig does not have rx_range!!
Jan 06 22:51:18 raspberrypi satnogs-client[387]: network_open: hoststr=127.0.0.1, portstr=4532
Jan 06 22:51:21 raspberrypi satnogs-client[7714]: Found Rafael Micro R820T tuner
Jan 06 22:51:21 raspberrypi satnogs-client[7714]: [INFO] Opening Generic RTL2832U OEM :: 00000003…
Jan 06 22:51:22 raspberrypi satnogs-client[7714]: Found Rafael Micro R820T tuner
Jan 06 22:51:22 raspberrypi satnogs-client[7714]: [R82XX] PLL not locked!
Jan 06 22:51:22 raspberrypi satnogs-client[7714]: [INFO] Using format CF32.
Jan 06 22:51:22 raspberrypi satnogs-client[7714]: Allocating 15 zero-copy buffers
Jan 06 23:00:52 raspberrypi satnogs-client[387]: netrigctl_close: done status=Command completed successfully
Jan 07 08:43:30 raspberrypi satnogs-client[387]: rig_init: rig does not have rx_range!!
Jan 07 08:43:30 raspberrypi satnogs-client[387]: network_open: hoststr=127.0.0.1, portstr=4532
Jan 07 08:43:33 raspberrypi satnogs-client[8247]: Found Rafael Micro R820T tuner
Jan 07 08:43:34 raspberrypi satnogs-client[8247]: [INFO] Opening Generic RTL2832U OEM :: 00000003…
Jan 07 08:43:34 raspberrypi satnogs-client[8247]: Found Rafael Micro R820T tuner
Jan 07 08:43:34 raspberrypi satnogs-client[8247]: [R82XX] PLL not locked!
Jan 07 08:43:34 raspberrypi satnogs-client[8247]: [INFO] Using format CF32.
Jan 07 08:43:35 raspberrypi satnogs-client[8247]: Allocating 15 zero-copy buffers
Jan 07 08:53:13 raspberrypi satnogs-client[387]: netrigctl_close: done status=Command completed successfully

This is as expected and should provide useful observations.

Looking at SatNOGS Network - Observations I see that the system is working fine there are only no signals visible.

This brings me back to “satnogs_gain_mode”: “Settings Field”, remove this entry or set it back to its default value Overall

image

The RTL-SDR doesn’t have gain specific settings.

Maybe you can also share some details on the RX path, Antenna, LNA, Coax used/length, looking at the satnogs_rf_gain value I get the impression you are using a LNA if not, set this value to 42.1

This should solve it, but let the gain stay at the old value.

1 Like

A good lesson for me as well, because this is visible in the observation metadata, but I usually don’t look for it.

gain-mode: "Settings Field",
gain: "28.0",
antenna: "RX",

Its now set to overall, but makes no difference, it still ID the tuner as Audio, when running SoapySDRUtil --probe
######################################################

Soapy SDR – the SDR abstraction library

######################################################

Probe device
[INFO] [UHD] linux; GNU C++ version 10.2.1 20210110; Boost_107400; UHD_3.15.0.0-4+b1satnogs1
Found Rafael Micro R820T tuner


– Device identification

driver=Audio
hardware=Audio
device_id=0
origin=GitHub - pothosware/SoapyAudio: Soapy SDR plugin for Audio devices

The dongle is working fine in SDR# and auto_rx. I have a Procom CXL70-3LW/f and a SAW preamp 403MHz from Uputronics. I use this also for radiosondes and everything here works fine. I only monitor for 400-406 in satnogs and thats well inside the SAW filter.

A decoder just started, but still the “rig_init: rig does not have rx_range!!”

Jan 07 11:44:27 raspberrypi satnogs-client[385]: rot_init called
Jan 07 11:44:27 raspberrypi satnogs-client[385]: initrots4_dummy: _init called
Jan 07 11:44:27 raspberrypi satnogs-client[385]: rot_register (1)
Jan 07 11:44:27 raspberrypi satnogs-client[385]: rot_register (2)
Jan 07 11:44:27 raspberrypi satnogs-client[385]: dummy_rot_init called
Jan 07 11:44:27 raspberrypi satnogs-client[385]: rot_open called
Jan 07 11:44:27 raspberrypi satnogs-client[385]: dummy_rot_open called
Jan 07 11:44:27 raspberrypi satnogs-client[385]: rot_get_position called
Jan 07 11:44:27 raspberrypi satnogs-client[385]: dummy_rot_get_position called
Jan 07 11:44:27 raspberrypi satnogs-client[385]: rot_get_position: got az=0.00, el=0.00
Jan 07 11:44:27 raspberrypi satnogs-client[385]: rot_set_position called az=18.09 el=9.94
Jan 07 11:44:27 raspberrypi satnogs-client[385]: rot_set_position: south_zero=0
Jan 07 11:44:27 raspberrypi satnogs-client[385]: dummy_rot_set_position called: 18.09 9.94
Jan 07 11:44:27 raspberrypi satnogs-client[385]: rig_init: rig does not have rx_range!!
Jan 07 11:44:27 raspberrypi satnogs-client[385]: network_open: hoststr=127.0.0.1, portstr=4532
Jan 07 11:44:34 raspberrypi satnogs-client[768]: Found Rafael Micro R820T tuner
Jan 07 11:44:34 raspberrypi satnogs-client[768]: [INFO] Opening Generic RTL2832U OEM :: 00000003…
Jan 07 11:44:35 raspberrypi satnogs-client[768]: Found Rafael Micro R820T tuner
Jan 07 11:44:35 raspberrypi satnogs-client[768]: [R82XX] PLL not locked!
Jan 07 11:44:35 raspberrypi satnogs-client[768]: [INFO] Using format CF32.
Jan 07 11:44:36 raspberrypi satnogs-client[768]: Allocating 15 zero-copy buffers

Sorry, but what is the problem ??

SoapySDRUtil --probe will try to find all the devices that are available on your device and it also finds the audio device that is part of the Pi.

SoapySDRUtil --probe=driver=rtlsdr works fine, the device can be used and is producing observations.

Consider rig_init: rig does not have rx_range!! as a informational message, it has no influence on your satnogs-client.

OK so that error message have no meaning?

Ill let it run and see if anything shows up.

Thanks for the help.

Cheers
Brian