Satnogs-client.service not found

Hi, I have been trying to set up a ground station over the last couple of days to no prevail. Currently journalctl -u satnogs-client.service returns nothing, there is no log file as well as no .satnog file anywhere on the system. I have followed the tutorials twice , the RTLSDR is connected correctly and the hardware itself is working so I believe it is the software. Please let me know if you need any more information!

Edit:
After probing around some more, it seems that satnogs-client is not running, any way i can start/find it? satnogs-setup works fine and other commands

what method of install did you use ?
if it’s the newer stack, it is running in docker and not systemd.

1 Like

Ah i see, havent used docker before so how do i check that? Also im running an rtl-sdr v4 which i think may be problamitic but made sure the correct drivers are installed

Im now in the docker but i still have no journal logs/files

journal is a systemd thing, not docker.
here’s a few threads where we have touched some of this:

All the documentation and troubleshooting is slowly catching up to the new stack. SatNOGS Setup - SatNOGS Wiki

Thank you for your help so far. Reading those blogs you have thrown my way , I ran the sudo docker logs -f satnogs_satnogs-client command and got this as an output:

rot_init called
initrots4_dummy: _init called
rot_register (1)
rot_register (2)
dummy_rot_init called
rot_open called
dummy_rot_open called
rig_init: rig does not have rx_range!!
network_open: hoststr=rigctld, portstr=4532
Traceback (most recent call last):
File “/usr/bin/satnogs_fm.py”, line 476, in
main()
File “/usr/bin/satnogs_fm.py”, line 459, in main
tb = top_block_cls(antenna=options.antenna, 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, deviation=options.deviation, doppler_correction_per_sec=options.doppler_correction_per_sec, enable_iq_dump=options.enable_iq_dump, file_path=options.file_path, gain=options.gain, gain_mode=options.gain_mode, iq_file_path=options.iq_file_path, lo_offset=options.lo_offset, max_modulation_freq=options.max_modulation_freq, other_settings=options.other_settings, ppm=options.ppm, rigctl_host=options.rigctl_host, 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)
File “/usr/bin/satnogs_fm.py”, line 92, in init
self.soapy_source_0_0 = soapy.source(1, dev, dev_args, stream_args,
File “/usr/lib/python3/dist-packages/soapy/soapy_swig.py”, line 131, in make
return _soapy_swig.source_make(nchan, device, dev_args, stream_args, tune_args, other_settings, sampling_rate, type)
RuntimeError: SoapySDR::Device::make() no match
netrigctl_close: done status=Command completed successfully
ERROR satnogsclient.observer.observer No waterfall data file found
rig_init: rig does not have rx_range!!
network_open: hoststr=rigctld, portstr=4532
Traceback (most recent call last):
File “/usr/bin/satnogs_fm.py”, line 476, in
main()
File “/usr/bin/satnogs_fm.py”, line 459, in main
tb = top_block_cls(antenna=options.antenna, 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, deviation=options.deviation, doppler_correction_per_sec=options.doppler_correction_per_sec, enable_iq_dump=options.enable_iq_dump, file_path=options.file_path, gain=options.gain, gain_mode=options.gain_mode, iq_file_path=options.iq_file_path, lo_offset=options.lo_offset, max_modulation_freq=options.max_modulation_freq, other_settings=options.other_settings, ppm=options.ppm, rigctl_host=options.rigctl_host, 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)
File “/usr/bin/satnogs_fm.py”, line 92, in init
self.soapy_source_0_0 = soapy.source(1, dev, dev_args, stream_args,
File “/usr/lib/python3/dist-packages/soapy/soapy_swig.py”, line 131, in make
return _soapy_swig.source_make(nchan, device, dev_args, stream_args, tune_args, other_settings, sampling_rate, type)
RuntimeError: SoapySDR::Device::make() no match
netrigctl_close: done status=Command completed successfully
ERROR satnogsclient.observer.observer No waterfall data file found
rig_init: rig does not have rx_range!!
network_open: hoststr=rigctld, portstr=4532
Traceback (most recent call last):
File “/usr/bin/satnogs_noaa_apt_decoder.py”, line 494, in
main()
File “/usr/bin/satnogs_noaa_apt_decoder.py”, line 477, in main
tb = top_block_cls(antenna=options.antenna, 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, flip_images=options.flip_images, 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_host=options.rigctl_host, 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, sync=options.sync, 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)
File “/usr/bin/satnogs_noaa_apt_decoder.py”, line 91, in init
self.soapy_source_0_0 = soapy.source(1, dev, dev_args, stream_args,
File “/usr/lib/python3/dist-packages/soapy/soapy_swig.py”, line 131, in make
return _soapy_swig.source_make(nchan, device, dev_args, stream_args, tune_args, other_settings, sampling_rate, type)
RuntimeError: SoapySDR::Device::make() no match
netrigctl_close: done status=Command completed successfully
ERROR satnogsclient.observer.observer No waterfall data file found
rig_init: rig does not have rx_range!!
network_open: hoststr=rigctld, portstr=4532
Traceback (most recent call last):
File “/usr/bin/satnogs_noaa_apt_decoder.py”, line 494, in
main()
File “/usr/bin/satnogs_noaa_apt_decoder.py”, line 477, in main
tb = top_block_cls(antenna=options.antenna, 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, flip_images=options.flip_images, 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_host=options.rigctl_host, 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, sync=options.sync, 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)
File “/usr/bin/satnogs_noaa_apt_decoder.py”, line 91, in init
self.soapy_source_0_0 = soapy.source(1, dev, dev_args, stream_args,
File “/usr/lib/python3/dist-packages/soapy/soapy_swig.py”, line 131, in make
return _soapy_swig.source_make(nchan, device, dev_args, stream_args, tune_args, other_settings, sampling_rate, type)
RuntimeError: SoapySDR::Device::make() no match
netrigctl_close: done status=Command completed successfully
ERROR satnogsclient.observer.observer No waterfall data file found
WARNING apscheduler.executors.default Run time of job “get_jobs (trigger: interval[0:01:00], next run at: 2025-02-08 22:18:34 UTC)” was missed by 0:00:38.520647
rot_init called
initrots4_dummy: _init called
rot_register (1)
rot_register (2)
dummy_rot_init called
rig_init: rig does not have rx_range!!
network_open: hoststr=rigctld, portstr=4532
Traceback (most recent call last):
File “/usr/bin/satnogs_fm.py”, line 476, in
main()
File “/usr/bin/satnogs_fm.py”, line 459, in main
tb = top_block_cls(antenna=options.antenna, 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, deviation=options.deviation, doppler_correction_per_sec=options.doppler_correction_per_sec, enable_iq_dump=options.enable_iq_dump, file_path=options.file_path, gain=options.gain, gain_mode=options.gain_mode, iq_file_path=options.iq_file_path, lo_offset=options.lo_offset, max_modulation_freq=options.max_modulation_freq, other_settings=options.other_settings, ppm=options.ppm, rigctl_host=options.rigctl_host, 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)
File “/usr/bin/satnogs_fm.py”, line 92, in init
self.soapy_source_0_0 = soapy.source(1, dev, dev_args, stream_args,
File “/usr/lib/python3/dist-packages/soapy/soapy_swig.py”, line 131, in make
return _soapy_swig.source_make(nchan, device, dev_args, stream_args, tune_args, other_settings, sampling_rate, type)
RuntimeError: SoapySDR::Device::make() no match
netrigctl_close: done status=Command completed successfully
ERROR satnogsclient.observer.observer No waterfall data file found
rig_init: rig does not have rx_range!!
network_open: hoststr=rigctld, portstr=4532
Traceback (most recent call last):
File “/usr/bin/satnogs_fm.py”, line 476, in
main()
File “/usr/bin/satnogs_fm.py”, line 459, in main
tb = top_block_cls(antenna=options.antenna, 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, deviation=options.deviation, doppler_correction_per_sec=options.doppler_correction_per_sec, enable_iq_dump=options.enable_iq_dump, file_path=options.file_path, gain=options.gain, gain_mode=options.gain_mode, iq_file_path=options.iq_file_path, lo_offset=options.lo_offset, max_modulation_freq=options.max_modulation_freq, other_settings=options.other_settings, ppm=options.ppm, rigctl_host=options.rigctl_host, 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)
File “/usr/bin/satnogs_fm.py”, line 92, in init
self.soapy_source_0_0 = soapy.source(1, dev, dev_args, stream_args,
File “/usr/lib/python3/dist-packages/soapy/soapy_swig.py”, line 131, in make
return _soapy_swig.source_make(nchan, device, dev_args, stream_args, tune_args, other_settings, sampling_rate, type)
RuntimeError: SoapySDR::Device::make() no match
netrigctl_close: done status=Command completed successfully
ERROR satnogsclient.observer.observer No waterfall data file found

1 Like

Looking at RuntimeError: SoapySDR::Device::make() no match there seems something wrong with the SDR configuration.

Maybe you can share the environment variables that are used as an input for the docker satnogs client. Please hide the api keys from the output that you share.

I found that error and just in the process of doing a flat reinstall to see whether it persist.s. I did lots of tinkering to my last build to try and fix some other issues

Ive done a fresh install and have lost the old error, now I am at this error (RTL-SDR V4): satnogs-client@a16c74dcf74d:/$ SoapySDRUtil --probe
######################################################

Soapy SDR – the SDR abstraction library

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

Probe device
[ERROR] avahi_client_new() failed: Daemon not running
[ERROR] avahi_client_new() failed: Daemon not running
[INFO] [UHD] linux; GNU C++ version 10.2.1 20210110; Boost_107400; UHD_3.15.0.0-4+b1satnogs1
ERROR: Unable to create Avahi DNS-SD client :Daemon not running
[WARNING] Unable to scan ip: -26

Found Rafael Micro R828D tuner
RTL-SDR Blog V4 Detected


– Device identification

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


– 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

the --probe usually just the first device it finds, which mostly is the soundcard.
use SoapySDRUtil --find and then look in the list for devices, example:

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 :: 1864
  manufacturer = Realtek
  product = RTL2838UHIDIR
  serial = 1864
  tuner = Rafael Micro R820T

If you want to see the capabilities, run SoapySDRUtil --probe="driver=rtlsdr" if that is what it found.

Also, post your configuration (no api key).

great thank you, thanks for your help. please see above comment :). Here is my configuration:

"configuration": {
    "satnogs_antenna": "RX",
    "satnogs_api_token": "[redacted]",
    "satnogs_log_level": "DEBUG",
    "satnogs_rf_gain": "32.8",
    "satnogs_rx_samp_rate": "2.048e6",
    "satnogs_scheduler_log_level": "DEBUG",
    "satnogs_soapy_rx_device": "driver=rtlsdr",
    "satnogs_station_elev": "93",
    "satnogs_station_id": "3933",
    "satnogs_station_lat": "50.224722",
    "satnogs_station_lon": "-5.083355"
}

}

I had a look at the meta data from one of your observations:

In this example you are using driver=RTLSDR this isn’t correct, it should be lower case.

{
radio: {
name: "gr-satnogs",
version: "v2.3-compat-xxx-v2.3.5.0",
parameters: {
soapy-rx-device: "driver=RTLSDR",
samp-rate-rx: "2.048e6",
rx-freq: "468100000",
file-path: "/tmp/.satnogs/data/receiving_satnogs_11065550_2025-02-09T14-27-40.out",
waterfall-file-path: "/tmp/.satnogs/data/receiving_waterfall_11065550_2025-02-09T14-27-40.dat",
decoded-data-file-path: "/tmp/.satnogs/data/data_11065550",
doppler-correction-per-sec: null,
lo-offset: null,
ppm: null,
rigctl-host: "rigctld",
rigctl-port: "4532",
gain-mode: "Overall",
gain: "32.8",
antenna: "RX",
dev-args: null,
stream-args: null,
tune-args: null,
other-settings: null,
dc-removal: null,
bb-freq: null,
bw: null,
enable-iq-dump: "0",
iq-file-path: null,
udp-dump-host: null,
udp-dump-port: 57356,
wpm: null,
baudrate: null,
framing: null
}
},
latitude: 50.224722,
longitude: -5.083355,
elevation: 93,
frequency: 468100000
}

This has been fixed already, it was something I tried yesterday

2 Likes