Issues with SatNOGS Client on Docker

Hello, I have installed the SatNOGS client on Docker and seem to be working and able to register online as a station, however, it gives me a lot of errors in the log and also it is not able to record anything…
I have attached the log, can anyone help me and point me to the right direction?

satnogs-client_logs

Thank you, Thanasis.

Looking at one of your observations meta information:

{
radio: {
name: "gr-satnogs",
version: "v2.3-compat-xxx-v2.3.5.0",
parameters: {
soapy-rx-device: "136-139:driver=rtlsdr,serial=AMZN20241026",
samp-rate-rx: "2.048e6",
rx-freq: "137100000",
file-path: "/tmp/.satnogs/data/receiving_satnogs_10388006_2024-10-11T22-14-28.out",
waterfall-file-path: "/tmp/.satnogs/data/receiving_waterfall_10388006_2024-10-11T22-14-28.dat",
decoded-data-file-path: "/tmp/.satnogs/data/receiving_data_10388006_2024-10-11T22-14-28.png",
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: 51.26,
longitude: -0.149,
elevation: 100,
frequency: 137100000
}

This config isn’t correct: soapy-rx-device: "136-139:driver=rtlsdr,serial=AMZN20241026",
It should be soapy-rx-device: "driver=rtlsdr,serial=<your sdr's serial>"

My guess your docker environment configuration has errors.

Thank you, that was one of my older observations, I have fixed that since, but the errors still show up…

This soapy-rx-device: "driver=rtlsdr,serial=AMZN20241026" can’t be right and then I refer to the serial value.

Which installation method did you follow ?

issues:
connect to 127.0.0.1:4532 failed, (trying next interface): Network error 111: Connection refused
[ERROR] ./lib/tcp_rigctl_msg_source_impl.cc:147: Could not connect at rigctl server 127.0.0.1
Detached kernel driver

This soapy-rx-device: "driver=rtlsdr,serial=AMZN20241026" can’t be right and then I refer to the serial value.

That’s the correct serial no of the device, I have cross checked it with rtl_test
I always re program the serial numbers of my rtl sticks so I can avoid conflicts in multi stick setups like this one.

Which installation method did you follow ?

I downloaded the ready made container from docker hub and got instructions for the environment variables from the wiki…

Just for visibility, I have attached a screenshot with all the docker environment variables currently set on that container.
Also the docker container is set to use image librespace/satnogs-client:latest

Do note that it is a stack, you need rigctld and the -client and -flowgraphs talk to that.
Check out my initial guide to get this up and running.
It is not the official way, but for now when it is not ready, mine has been the goto until it is released.

2 Likes

I don’t know how to thank you for this!
I have binned all the satnogs containers and followed your guide, it just works!
I have an observation with a waterfall and audio data!
Now I need to play around with the gain as I have a SAW Filter + NOAA LNA.
Any ideas what the ball-park gain figure will be?

1 Like

Have a look at Software Defined Radio - SatNOGS Wiki there are also some gain values.

1 Like

I have tried activating the auto scheduler in the stack by adding the config in the yml file, however the auto scheduler log shows the below error…

bash: line 1: schedule_single_station.py: command not found

Is it possible to run the auto scheduler within the stack?

yes, the name of the script to run was recently changed, remove the .py and it should work.

1 Like

yes, the name of the script to run was recently changed, remove the .py and it should work.

That worked, thank you!
Removed the .py from the yml file and had to add a -T option just before the -s one as the station is in test mode and the scheduler does not run in test mode stations.

I have tried to add a priorities file to the auto-scheduler but it says that it can’t find the file…
I have created a prio.txt file within the same station folder the .env and .yml files are…

Could not read priority file prio.txt.

This is the line within the station.env file

AUTO_SCHEDULER_EXTRA=-P prio.txt -d 1.2

I have added that as default, because if not found, it will silently ignore it. This file needs to be located in the persistant volume.
docker compose exec satnogs_client bash and then run cat > prio.txt , paste the contents, Ctrl-D to save, Ctrl-D again to exit the shell.

Thank you!
When I run

cat > prio.txt

I get the below error:

bash: prio.txt: Read-only file system

read_only: true by default, needs to be false for this. I’m not sure if this can be managed better for the root fs and volume being rw maybe…

1 Like

Thank you, managed to get it running, however I get another error now…

Using cached satellites, transmitters and TLEs.
Using cached transmitter statistics.
Filter transmitters based on ground station capability.
Search passes for 77 satellites:
Traceback (most recent call last):
File “/usr/local/bin/schedule_single_station”, line 8, in
sys.exit(main())
^^^^^^
File “/usr/local/lib/python3.11/site-packages/auto_scheduler/cli/schedule_single_station.py”, line 334, in main
schedule_single_station(
File “/usr/local/lib/python3.11/site-packages/auto_scheduler/cli/schedule_single_station.py”, line 472, in schedule_single_station
priorities, favorite_transmitters = read_priorities_transmitters(priorities_filename)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/site-packages/auto_scheduler/io.py”, line 71, in read_priorities_transmitters
priorities[norad_id] = float(prio)
^^^^^^^^^^^
ValueError: could not convert string to float: ‘80,’

Contents of the prio.txt file as suggested here:

APT, 80, 0.8
NOAA, 90, 1.0
DUV, 75, 0.5
CW, 88, 0.75

Found the issue, there is a space after the “,” on the lines, after removing that, the error went away.