From SatNOGS Wiki

Client troubleshooting

Before starting check the logs for an error:

  • Check the whole error log with journalctl -u satnogs-client.service
  • Check live the error log journalctl -f -u satnogs-client.service
If the hints for common issues below don't help solve your issue, you are welcome to post in the forum. When doing so, please include any error from the logs and the output of the support report generated by the menu item Advanced -> Support from sudo satnogs-setup. This helps give context to the logging messages.

Raise or Set the debug level

  • Run sudo satnogs-setup
  • Go to Advanced Configuration and set the Debug level to one of the Values below
  • Apply the change
Setting Values

When done debugging, don't forget to reset the log level, or the files will fill up your disk space.

Client not showing up on the network?

  • Check that you have ticked the "Is it operational?" checkbox on the groundstation page.
  • Check your settings and ensure that the API token and station ID are correct. You can get these from your profile page on the SatNOGS network site. If you have accounts in both dev and prod, make sure you're using the token and station ID from the right environment.
  • Check your SATNOGS_NETWORK_API_URL. It should point to (prod) or (dev).
  • Check your network connectivity. Can you ping or Try running curl or curl

RuntimeError: RTL-SDR device not found.

Seems that the device is not there. Try rebooting and check if Soapy can identify it using SoapySDRUtil --find.

"satnogsclient - ERROR - Cannot connect to socket"

The client is trying to connect to rotctld but is unable to.

  • If you have a no-rotator setup, ensure that satnogs-client is configured as such; see the Raspberry Pi page for info on how to do this.
    • These errors may continue to be reported until issue #340 is resolved.
  • If you do have a rotator, ensure that rotctld is running.

Some uploads missing & Doppler-correction not working properly

The station/client might have a clock offset. This causes a Doppler shift on the waterfall and some observations don't start because of a conflict between the time on the PC of the station and the time of the SatNOGS Network.

Uploads (waterfall or audio) are missing for a past observation

When using satnogs-setup for editing/updating the configuration of the station, the satnogs-client gets restarted. When this happens during an observation the observation will be aborted and no waterfall/audio/data files will be uploaded. Such observations should be voted as failed.

The partial data from such observations is stored in /tmp/.satnogs/data/, look for files like receiving_{satnogs|waterfall}_123456_2019-01-01T12-23-42.{out|dat}. They can be manually removed.

Invalid Signature for

Example error during satnogs-setup update or apt-get update:

  The following signatures were invalid: EXPKEYSIG 8BD3901736A40B6C home:librespace OBS Project <>


wget -qO - > k
gpg --no-default-keyring --keyring ./temp-keyring.gpg --import k
gpg --no-default-keyring --keyring ./temp-keyring.gpg --export --output k.gpg
mkdir /etc/apt/keyrings
mv k.gpg /etc/apt/keyrings/satnogs2.gpg
vi /etc/apt/sources.list.d/satnogs.list

Insert a signed-by statement, as:

deb [signed-by=/etc/apt/keyrings/satnogs2.gpg] /repositories/home:/librespace:/satnogs/Raspbian_11 - openSUSE Download ./

More info available at and

apt-get update: connection failed

When using the sudo apt-get update command, we get the following connection error: UpdateFailed.png

However, a ping to the Ip address works.

If you use a firewall (Ex: stormshield SN210), it can include a default rule that blocks connection urls containing a dot-slash ("./"). (This rule can be named as follows: "path with self-reference")

This rule must be modified to allow the raspberry to access the repository

ERROR - Observer job lock acquiring timed out.

 Mar 03 20:05:53 satnogs satnogs-client[257]: satnogsclient.scheduler.tasks - ERROR - Observer job lock acquiring timed out.

This message is shown when a previous Observation failed (due to a hardware issue or some bug) and didn't properly terminate. To fix this issue, first check the logs for the observation that failed to understand the root cause. Then, restart satnogs-client.

Signal troubleshooting

Blank or solid purple waterfall?

Some information in this section seems outdated or wrong. Please take it with care. Once reviewed this banner can be removed.

At the first sign of trouble, put your station into testing mode.

  • Make sure the RTLSDR gain is set correctly. Follow the guide at Omnidirectional_Station_How_To#Setting_the_gain to find a proper gain setting.
    Check your gain value is valid. Wrong values can result in blank waterfalls. For example '7.7.' will result in errors (and a blank waterfall - there is an extra '.' at the end).
    journalctl -u satnogs-client.service It might be a big file, but work through it and look for errors.
    df -h Ensure there is sufficient hard drive space. If temp files can not be created, the waterfall might be blank.
    Run rtl_test for about 30 seconds and make sure you can connect with the dongle and that there are no errors.

Not receiving anything?

  • Make sure the satellite you are testing observations against is active and recently received by others on our production network site. If you click on a satellite name, a popup will appear and give you the option to click on "Past Observations". If everything in the past shows red, then the problem is likely with that satellite.
  • SO-50 is a good satellite to use for testing as it is a strong FM voice signal assuming you have UHF capabilities. Schedule using "PE0SAT - Mode V/U FM Voice - 436.794 MHz". Here is an example to compare against:
  • ISS is a good test for VHF as the APRS digipeater is alive again (as of this writing; check for up-to-date information). When you schedule it, be sure to select the APRS downlink.
  • If you're using an rtlsdr, check that it can be seen and is operating correctly by running rtl_test. Let it run for 30 seconds or so, then hit Ctrl-c to kill it:
pi@raspberrypi:~ $ rtl_test 
Found 1 device(s):
  0:  Realtek, RTL2838UHIDIR, SN: 00000001

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...
^CSignal caught, exiting!

User cancel, exiting...
Samples per million lost (minimum): 0
  • You can also try a manual run of to make sure that works:
$ cd /tmp
$ --soapy-rx-device="driver=rtlsdr" --antenna=RX --samp-rate-rx=2.048e6 --rx-freq=444000000 --file-path=./audio-out.ogg --waterfall-file-path=./waterfall.dat

Let it run for a minute or so. If everything is working, this should create an .ogg file and a .dat file of non-zero size (probably a few MB each).

Observations seem off-frequency?

Check your location!
  • PPM drift While newer SDR devices are very good and stable, there still may be some PPM drift to compensate for if you notice that signals are consistently off center. The SATNOGS_PPM_ERROR setting in /etc/supervisord.d/satnogs.ini can be used to correct for this.
  • Clock sync Make sure your clock is synced. Ensure ntp is configured and running (especially with the Raspberry Pi which lacks a real time clock)
  • Wrong location If your signal seems to be on but drifts at the apex like in this image, check to make sure your Latitude, Longitude, and Elevation coordinates are set properly and in the right format.


You can reset USB without having to reboot the system by running these commands:

   echo “usb1” > /sys/bus/usb/drivers/usb/unbind
   echo “usb1” > /sys/bus/usb/drivers/usb/bind

This can be placed in the satnogs_post_observation_script for automation.

RF Noise

If you notice a noise in the waterfall every time motors are spinning, you will need to:

  • Twist each pair or the motor wire
  • Add proper grounding
  • Add capacitor to the DC input of drivers
  • Wrap the motors wire with adhesive aluminum and then connect it to GND on driver side
  • Add ferrites to motors wires
RF Noise
Too much RF Noise