[RESOLVED] RTLSDR and 1.8.1 upgrade not working

I had a perfectly running client 1.6 system running and thought I’d upgrade to 1.8.1.

I imaged the uSD with the latest artifact and everything went smoothly. The client is now 1.8.1.

When I go to do an observation, I get an error (rig_init: rig does not have rx_range!!):

Dec 14 19:11:54 raspberrypi satnogs-client[435]: satnogsclient.scheduler.tasks - INFO - Spawning observer worker.
Dec 14 19:11:54 raspberrypi satnogs-client[435]: satnogsclient.observer.observer - INFO - Start rotctrl thread.
Dec 14 19:11:54 raspberrypi satnogs-client[435]: satnogsclient.observer.worker - INFO - Tracking initiated
Dec 14 19:11:54 raspberrypi satnogs-client[435]: rot_init called
Dec 14 19:11:54 raspberrypi satnogs-client[435]: initrots4_dummy: _init called
Dec 14 19:11:54 raspberrypi satnogs-client[435]: rot_register (1)
Dec 14 19:11:54 raspberrypi satnogs-client[435]: rot_register (2)
Dec 14 19:11:54 raspberrypi satnogs-client[435]: dummy_rot_init called
Dec 14 19:11:54 raspberrypi satnogs-client[435]: rot_open called
Dec 14 19:11:54 raspberrypi satnogs-client[435]: dummy_rot_open called
Dec 14 19:11:54 raspberrypi satnogs-client[435]: rot_get_position called
Dec 14 19:11:54 raspberrypi satnogs-client[435]: dummy_rot_get_position called
Dec 14 19:11:54 raspberrypi satnogs-client[435]: rot_get_position: got az=0.00, el=0.00
Dec 14 19:11:54 raspberrypi satnogs-client[435]: rot_set_position called az=352.30 el=9.95
Dec 14 19:11:54 raspberrypi satnogs-client[435]: rot_set_position: south_zero=0
Dec 14 19:11:54 raspberrypi satnogs-client[435]: rot_set_position: range problem az=352.30(min=-180.00,max=180.00), el=9.946628(min=0.00,max=90.000000)
Dec 14 19:11:54 raspberrypi satnogs-client[435]: satnogsclient.observer.observer - INFO - Start rigctrl thread.
Dec 14 19:11:54 raspberrypi satnogs-client[435]: satnogsclient.observer.worker - INFO - Tracking initiated
Dec 14 19:11:54 raspberrypi satnogs-client[435]: rig_init: rig does not have rx_range!!
Dec 14 19:11:54 raspberrypi satnogs-client[435]: network_open: hoststr=127.0.0.1, portstr=4532
Dec 14 19:11:55 raspberrypi satnogs-client[435]: satnogsclient.observer.observer - INFO - Start gnuradio thread.
Dec 14 19:11:57 raspberrypi satnogs-client[922]: Found Rafael Micro R820T tuner
Dec 14 19:11:58 raspberrypi satnogs-client[922]: [INFO] Opening Generic RTL2832U OEM :: 00000001...
Dec 14 19:11:58 raspberrypi satnogs-client[922]: Found Rafael Micro R820T tuner
Dec 14 19:11:58 raspberrypi satnogs-client[922]: Traceback (most recent call last):
Dec 14 19:11:58 raspberrypi satnogs-client[922]:   File "/usr/bin/satnogs_fsk.py", line 544, in <module>
Dec 14 19:11:58 raspberrypi satnogs-client[922]:     main()
Dec 14 19:11:58 raspberrypi satnogs-client[922]:   File "/usr/bin/satnogs_fsk.py", line 527, in main
Dec 14 19:11:58 raspberrypi satnogs-client[922]:     tb = top_block_cls(antenna=options.antenna, baudrate=options.baudrate, bb_freq=options.bb_freq, bw=options.bw, dc_removal=options.dc_removal, decoded_data_file_path=options.decoded_data_file_path, dev_args=options.dev_args, doppler_correction_per_sec=options.doppler_correction_per_sec, enable_iq_dump=options.enable_iq_dump, file_path=options.file_path, framing=options.framing, gain=options.gain, gain_mode=options.gain_mode, iq_file_path=options.iq_file_path, lo_offset=options.lo_offset, other_settings=options.other_settings, ppm=options.ppm, rigctl_port=options.rigctl_port, rx_freq=options.rx_freq, samp_rate_rx=options.samp_rate_rx, soapy_rx_device=options.soapy_rx_device, stream_args=options.stream_args, tune_args=options.tune_args, udp_IP=options.udp_IP, udp_dump_host=options.udp_dump_host, udp_dump_port=options.udp_dump_port, udp_port=options.udp_port, waterfall_file_path=options.waterfall_file_path)
Dec 14 19:11:58 raspberrypi satnogs-client[922]:   File "/usr/bin/satnogs_fsk.py", line 97, in __init__
Dec 14 19:11:58 raspberrypi satnogs-client[922]:     self.soapy_source_0_0 = soapy.source(1, dev, dev_args, stream_args,
Dec 14 19:11:58 raspberrypi satnogs-client[922]:   File "/usr/lib/python3/dist-packages/soapy/soapy_swig.py", line 131, in make
Dec 14 19:11:58 raspberrypi satnogs-client[922]:     return _soapy_swig.source_make(nchan, device, dev_args, stream_args, tune_args, other_settings, sampling_rate, type)
Dec 14 19:11:58 raspberrypi satnogs-client[922]: RuntimeError: soapy::source: Unsupported sample rate (2048000000.000000).  Rate must be in the range [250000.000000, 250000.000000] [1024000.000000, 1024000.000000] [1536000.000000, 1536000.000000] [1792000.000000, 1792000.000000] [1920000.000000, 1920000.000000] [2048000.000000, 2048000.000000] [2160000.000000, 2160000.000000] [2560000.000000, 2560000.000000] [2880000.000000, 2880000.000000] [3200000.000000, 3200000.000000]
Dec 14 19:11:59 raspberrypi satnogs-client[435]: satnogsclient.observer.observer - INFO - Tracking stopped.
Dec 14 19:11:59 raspberrypi satnogs-client[435]: netrigctl_close: done status=Command completed successfully
Dec 14 19:11:59 raspberrypi satnogs-client[435]: satnogsclient.observer.worker - INFO - Tracking stopped.
Dec 14 19:12:00 raspberrypi satnogs-client[435]: satnogsclient.observer.worker - INFO - Tracking stopped.
Dec 14 19:12:00 raspberrypi satnogs-client[435]: satnogsclient.observer.observer - INFO - Observation Finished
Dec 14 19:12:00 raspberrypi satnogs-client[435]: satnogsclient.observer.observer - INFO - Executing post-observation script.
Dec 14 19:12:00 raspberrypi satnogs-client[435]: satnogsclient.observer.observer - INFO - Creating waterfall plot.
Dec 14 19:12:00 raspberrypi satnogs-client[435]: satnogsclient.waterfall - INFO - Reading waterfall file
Dec 14 19:12:00 raspberrypi satnogs-client[435]: satnogsclient.observer.observer - ERROR - No waterfall data file found

It says it found the RTL-SDR but something is amiss… I run the SoapySDRUtil --find and get this:

pi@raspberrypi:~ $ SoapySDRUtil --find
######################################################
##     Soapy SDR -- the SDR abstraction library     ##
######################################################

[INFO] [UHD] linux; GNU C++ version 10.2.1 20210110; Boost_107400; UHD_3.15.0.0-4+b1satnogs1
Found Rafael Micro R820T tuner
Found device 0
  default_input = True
  default_output = True
  device_id = 0
  driver = audio
  label = PulseAudio

Found device 1
  driver = rtlsdr
  label = Generic RTL2832U OEM :: 00000001
  manufacturer = Realtek
  product = RTL2838UHIDIR
  serial = 00000001
  tuner = Rafael Micro R820T

What is the “driver = audio” entry? I don’t recall seeing that before and I think that is what the client is trying to use.

If I run SoapySDRUtil --probe, I get this:

pi@raspberrypi:~ $ 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=https://github.com/pothosware/SoapyAudio

----------------------------------------------------
-- Peripheral summary
----------------------------------------------------
  Channels: 1 Rx, 0 Tx
  Timestamps: NO
  Other Settings:
     * Stereo Sample Offset - Offset stereo samples for off-by-one audio inputs.
       [key=sample_offset, default=0, type=string, options=(-2, -1, 0, 1, 2)]
     * Rig Control - Select hamlib rig control type.
       [key=rig, type=string, options=(29001, 25016, 25017, 25013, 25018, 5008, 5006, 5005, 5004, 5014, 5003, 5015, 5002, 5001, 5013, 5016, 17001, 17002, 25006, 32001, 25003, 23003, 23004, 31002, 31001, 9002, 9003, 33001, 2021, 2029, 2043, 2047, 2044, 2045, 2038, 25001, 25007, 4, 25012, 23001, 2036, 2048, 25015, 1, 6, 2, 2046, 25019, 3054, 3002, 3003, 3072, 3004, 3006, 3007, 3060, 3055, 3085, 3009, 3010, 3011, 3012, 3070, 3013, 3061, 3014, 3015, 3016, 3017, 3073, 3019, 3020, 3021, 3022, 3067, 3023, 3046, 3024, 3026, 3027, 3047, 3057, 3063, 3028, 3078, 3029, 3062, 3030, 3045, 3056, 3031, 3075, 3032, 3034, 3044, 3068, 3065, 3035, 3081, 30001, 30003, 30002, 30004, 4002, 4001, 4003, 4004, 3036, 3058, 3080, 3077, 3040, 3037, 3041, 3038, 3039, 3079, 3043, 3066, 3069, 3042, 3083, 3082, 3084, 3071, 6005, 6006, 6007, 25011, 18001, 2015, 2033, 2042, 2017, 2019, 2020, 2023, 2026, 2034, 2027, 2030, 2025, 2014, 2002, 2003, 2028, 2001, 2004, 2016, 2031, 2037, 2024, 2005, 2006, 2007, 2008, 2009, 2010, 2041, 2022, 2011, 2012, 2013, 2039, 10004, 3074, 25014, 2040, 3053, 3052, 28001, 24001, 11005, 11003, 8004, 27002, 27001, 27003, 25002, 2032, 14004, 14002, 25009, 22001, 5, 3064, 3051, 16003, 16012, 16004, 16005, 16007, 16002, 16001, 16008, 16009, 16011, 16013, 8002, 8006, 8001, 8003, 8012, 8010, 8011, 1033, 26001, 26002, 12004, 15001, 15002, 15003, 15004, 15005, 15006, 15007, 15009, 3076, 1017, 1019, 1018, 1021, 1003, 1024, 1029, 1027, 1039, 1010, 1005, 1006, 1007, 1009, 1020, 1041, 1011, 1001, 1038, 1022, 1015, 1036, 1023, 1013, 1014, 1028, 1031, 1016, 1035, 1034, 1037, 1032, 1030, 1040, 1004, 1025, 1026, 25008)]
     * Rig Serial Rate - Select hamlib rig serial control rate.
       [key=rig_rate, default=57600, type=string, options=(1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 128000, 256000)]
     * Rig Serial Port - hamlib rig Serial Port dev / COMx / IP-Address
       [key=rig_port, default=/dev/ttyUSB0, type=string]

----------------------------------------------------
-- RX Channel 0
----------------------------------------------------
  Full-duplex: YES
  Supports AGC: YES
  Stream formats: CS8, CS16, CF32
  Native format: CS16 [full-scale=65536]
  Stream args:
     * Channel Setup - Input channel configuration.
       [key=chan, default=mono_l, type=string, options=(mono_l, mono_r, stereo_iq, stereo_qi)]
  Antennas: RX
  Full gain range: [0, 0] dB
  Full freq range: [0, 6000] MHz
    RF freq range: [0, 6000] MHz
  Sample rates: 0.008, 0.016, 0.02205, 0.032, 0.0441, 0.048, 0.096 MSps

If I run it again with the driver=rtlsdr argument, I get what I would expect:

pi@raspberrypi:~ $ SoapySDRUtil --probe="driver=rtlsdr"
######################################################
##     Soapy SDR -- the SDR abstraction library     ##
######################################################

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

----------------------------------------------------
-- Device identification
----------------------------------------------------
  driver=RTLSDR
  hardware=R820T
  index=0
  origin=https://github.com/pothosware/SoapyRTLSDR

----------------------------------------------------
-- 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

Here is the observation that failed 6876737.

Anybody have any ideas on where to go from here?

Thanks in advance!

-tz

From the logs:

It looks like the issue is that you have set your RF Gain at 2048e6 instead of 2.048e6.

Thanks fredy, I didn’t catch that. I fixed it and we’ll see if that did the trick.

@fredy yup, that was the issue, my last observation worked! Thanks again!

3 Likes