Installing SatNOGS client on Debian laptop

I’ve just been following religeously Jan’s @PE0SAT blog on using an ‘old’ laptop as a
dedicated SatNOGS ground station using Debian, and I have hit a snag in
setting up ansible-playbook dependency with ${HOME}/.ssh/known_hosts.
And I have included in the install the recommended fixes for running Ansible on Debian 11.5.
The error message I get is below and I’m unsure as to how to fix it.
Could someone please help?

:~/git/satnogs-client-ansible$ ansible-playbook -i
production/inventory/hosts -K site.yml
BECOME password:
Executing playbook site.yml

  • satnogs_setups on hosts: satnogs_setups -
    Gathering Facts…
    Check Ansible version…
    satnogs failed: {
    “assertion”: “ansible_version.full is version(version_minimum,
    ‘>=’)”,
    “changed”: false,
    “evaluated_to”: false,
    “msg”: “Detected Ansible 2.10.8. This role requires Ansible 2.12 or
    greater.”
    }
  • Play recap -
    satnogs : ok=1 changed=0 unreachable=0
    failed=1 rescued=0 ignored=0

A later error message is:
:~$ ansible-playbook -i production/inventory/hosts -K
site.yml
ERROR! the playbook: site.yml could not be found

I’m now utterly confused.
Help much appreciated.
Many thanks in advance.

1 Like

Good to see that you are looking at this blog.

This blog is still using buster and with bullseye we need another ansible version.

In this log file you see some steps that are different https://pe0sat.vgnet.nl/download/SatNOGS/satnogs-ansible_bullseye.log

@PE0SAT I guess that’s where the problem lies. I also got as far as the keyring section and received the same message:

sudo gpg --no-default-keyring --keyring /etc/apt/trusted.gpg.d/ansible.gpg
–keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367
gpg: failed to create temporary file ‘/root/.gnupg/.#lk0x000055681a5676c0.SatNAGS.2579’: No such file or directory
gpg: connecting dirmngr at ‘/root/.gnupg/S.dirmngr’ failed: No such file or directory
gpg: keyserver receive failed: No dirmngr

The docs do suggest this to be the workround. But maybe the key is incorrect. As you say: its needs further investigation and I would be interested to know the solution, as I am certainly interested in running SatNOGS on my Debian laptop.
Thanks a lot and 73

The lets use the deprecated command to add the ansible key.

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367

I need to look for another command but this will work for now.

Thanks @PE0SAT - well, it takes me a little further but presents a brick wall when running ansible-playbook. It doesn’t like the contents of production/inventory/hosts. The first error is that it doesn’t like the i/p address of 10.20.30.40 as you would expect - or whatever else you give it.
You cannot use the i/p of Debian installation as that is a closed loop, and as the purpose is to run SatNOGS on the Debian machine, independent of a RasPi, then it is in effect looking for itself.
The warning for every attribute is '[WARNING]: Could not match supplied host pattern, etc, for each.
Any thoughts on how we move forward with this, please?
Regards, @m0roj

The production/inventory/hosts expects the following settings:

Here is the one I used for my installation:

---
all:
  hosts:
    satnogs:
      ansible_host: 'hostname or ip address'
      ansible_user: 'username'
      ansible_ssh_pass: 'username password'
      ansible_ssh_pipelining: true
satnogs_setups:
  hosts:
    satnogs:
satnogs_radios:
  hosts:
    satnogs:
hamlib_utils:
  hosts:
    satnogs:
satnogs_clients:
  hosts:
    satnogs:
snmpds:
  hosts:
    satnogs:
gpsds:
  hosts:
    satnogs:

The hostname and or ip address can be found with the command hostname and the ip with the command ip address.

The username can be found with id -u -n

This should get you started.

1 Like

The warning is non-fatal:

Thanks @PE0SAT and @jebba
My hosts file was setup the same but found that it would only install with a wired connection(?).
The SatNOGS install then went smoothly and tested out favourably using:
$ sudo systemctl status satnogs-client
Except it stated that some permissions required changing, but not specified(?).
I then scheduled some passes - the first two of which produced waterfalls; one with a feint signal.
All subsequent ones produced nothing/blanks, although having selected known ‘good’ satellites.
Any thoughts please? (nearly there)

Hi @m0roj

Your station METADATA looks fine as per your observation 656855 so maybe the was a subsequent config change that is breaking things? Or a SDR hardware issue … or a directory permissions issue? The answer can usually be teased out of the syslogs (assuming you have DEBUG logging enabled)

I recommend you run through this first (or again… even if you tried already):

satnogs-client troubleshooting

Then post your config settings as a they are now via satnogs-setup → Advanced → Show and then we’ll go from there.

What does this mean? Keep track of the actual message output for it to be debugged. It’s very hard for others to help debug the issue without the actual messages.

Hopefully this will help:
Support Report:
-----------[ 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”: “2022-10-05T11:27:49.817305+00:00”,
“distribution”: {
“DESCRIPTION”: “Debian GNU/Linux 11 (bullseye)”,
“RELEASE”: “11”,
“CODENAME”: “bullseye”,
“ID”: “Debian”
},
“pending-updates”: false,
“platform”: {
“system”: “Linux”,
“node”: “SatNAGS”,
“release”: “5.10.0-18-amd64”,
“version”: “#1 SMP Debian 5.10.140-1 (2022-09-02)”,
“machine”: “x86_64”
},
“memory”: {
“total”: 4026023936,
“available”: 1896861696,
“percent”: 52.9,
“used”: 1751941120,
“free”: 985329664,
“active”: 596672512,
“inactive”: 2111520768,
“buffers”: 85532672,
“cached”: 1203220480,
“shared”: 130355200,
“slab”: 143130624
},
“disk”: {
“total”: 312897159168,
“used”: 7411150848,
“free”: 289516879872,
“percent”: 2.5
}
},
“configuration”: {
“satnogs_antenna”: “RX”,
“satnogs_api_token”: “[redacted]”,
“satnogs_rf_gain”: “32.8”,
“satnogs_rx_samp_rate”: “2.048e6”,
“satnogs_soapy_rx_device”: “driver=rtlsdr”,
“satnogs_station_elev”: “150”,
“satnogs_station_id”: “2122”,
“satnogs_station_lat”: “53.0666”,
“satnogs_station_lon”: “-2.7429”
}
}
------------[ copy end ]-------------
Copy of live error log:

– Journal begins at Sat 2022-10-01 14:58:28 BST. –
Oct 05 11:09:01 SatNAGS satnogs-client[513]: return request(“get”, url, params=params, **kwargs)
Oct 05 11:09:01 SatNAGS satnogs-client[513]: File “/var/lib/satnogs/lib/python3.9/site-packages/requests/api.py”, line 59, in request
Oct 05 11:09:01 SatNAGS satnogs-client[513]: return session.request(method=method, url=url, **kwargs)
Oct 05 11:09:01 SatNAGS satnogs-client[513]: File “/var/lib/satnogs/lib/python3.9/site-packages/requests/sessions.py”, line 587, in request
Oct 05 11:09:01 SatNAGS satnogs-client[513]: resp = self.send(prep, **send_kwargs)
Oct 05 11:09:01 SatNAGS satnogs-client[513]: File “/var/lib/satnogs/lib/python3.9/site-packages/requests/sessions.py”, line 701, in send
Oct 05 11:09:01 SatNAGS satnogs-client[513]: r = adapter.send(request, **kwargs)
Oct 05 11:09:01 SatNAGS satnogs-client[513]: File “/var/lib/satnogs/lib/python3.9/site-packages/requests/adapters.py”, line 565, in send
Oct 05 11:09:01 SatNAGS satnogs-client[513]: raise ConnectionError(e, request=request)
Oct 05 11:09:01 SatNAGS satnogs-client[513]: requests.exceptions.ConnectionError: HTTPSConnectionPool(host=‘network.satnogs.org’, port=443): Max retries exceeded with url: /api/jobs/?ground_station=2122&lat=53.0666&lon=-2.7429&alt=150 (Caused by NewConnectionError(‘<urllib3.connection.HTTPSConnection object at 0x7f01e0612b50>: Failed to establish a new connection: [Errno -2] Name or service not known’))

It is suggesting a Connection Error, when there was a good connection established.
The following whole error log looks to be completely wrong as it does not indicate the correct station attributes:

RROR - 401 Client Error: Unauthorized for url: https://network.satnogs.org/api/jobs/?ground_station=9999&lat=37.971&lon=23.725&alt=100
RROR - 401 Client Error: Unauthorized for url: https://network.satnogs.org/api/jobs/?ground_station=9999&lat=37.971&lon=23.725&alt=100
RROR - 401 Client Error: Unauthorized for url: https://network.satnogs.org/api/jobs/?ground_station=9999&lat=37.971&lon=23.725&alt=100
RROR - 401 Client Error: Unauthorized for url: https://network.satnogs.org/api/jobs/?ground_station=9999&lat=37.971&lon=23.725&alt=100
RROR - 401 Client Error: Unauthorized for url: https://network.satnogs.org/api/jobs/?ground_station=9999&lat=37.971&lon=23.725&alt=100
RROR - 401 Client Error: Unauthorized for url: https://network.satnogs.org/api/jobs/?ground_station=9999&lat=37.971&lon=23.725&alt=100
RROR - 401 Client Error: Unauthorized for url: https://network.satnogs.org/api/jobs/?ground_station=9999&lat=37.971&lon=23.725&alt=100

Any further thoughts please?
Thanks and regards.

This is a connection error, I know there where also some network issue this morning, do you still experience this issue?

Doubtful, as this problem commenced on Saturday when I was testing the Debian laptop as a client of SatNOGS.
I shall be investigating the network here. Although other networked devices were all working without issue.

Its interesting to note that the station configuration attributes inserted in satnogs-setup, showing in Support Report above, are not reflected in the client errors when running whole error log (above)! Instead there are arbitrary location figures (mid-Atlantic) and a nonsensical station identifier of 9999.
Any thoughts as to why please, and the network connection having checked out as OK?

If the network connection is working between you and the satnogs network, your testing isn’t working correctly. Because there are definitely issues with the network at present, that I haven’t ever seen before. Connections are frequently failing. They are actively working on diagnosing the problem.

Hmmm, that’s the default station ID/lat/lon/elev in the example Ansible configuration.

from satnogs-client-ansible/production.dist/inventory/host_vars/satnogs

###
# SatNOGS client Ansible configuration example
#
# Basic configuration
#
satnogs_api_token: '0123456789abcdef0123456789abcdef01234567'
satnogs_soapy_rx_device: 'driver=rtlsdr'
satnogs_antenna: 'RX'
satnogs_rx_samp_rate: '2.048e6'
satnogs_station_elev: '100'
satnogs_station_id: '9999'
satnogs_station_lat: '37.971'
satnogs_station_lon: '23.725'

All I can think of is a format error in /etc/ansible/host_vars/localhost that might be defaulting to (only) those invalid values. Reboot?

1 Like

sudo satnogs-setup and make sure all the settings are correct.

1 Like

You’re quite right. The network problems with SatNOGS and Libre.space hasn’t gone unnoticed.
I’m leaving further testing alone until they’ve been resolved.
Your comments about my message formatting also hasn’t gone unnoticed.
You did give advice and tips some time ago but my notes have been misplaced.
Would you care to repeat them, please?

I think that was someone else. The Discourse software can use Markdown for formatting. Quick docs on that here:

https://commonmark.org/help/

To format code such as log files, you can use the ` (backtick) to surround it. Or use three backticks on a line to start formatting a block, then three backticks on a line to end the formatting.

Or you can select what you want formatted with the mouse, and hit the “Preformatted Text” icon in the editor.

Perhaps this post: