Integrating gr-satellites into SatNOGS

Hi,
about 1y installed, I didn’t remember if it’s from the source but from topic obtain here… (10/23/2022)
VE2DSK

$ gr_satellites --version
Traceback (most recent call last):
File “/usr/local/bin/gr_satellites”, line 16, in
import satellites.core
ModuleNotFoundError: No module named ‘satellites’

This means that gr-satellites is not correctly installed.

ok, built from source, and not set PYTHONPATH.
if already running the satnogs repos, just install it with apt sudo apt install gr-satellites.
make sure to remove the other install to avoid conflicts.

Many thanks for help…
I’ll reinstall… VE2DSK

Hi
gr_salellites Error came from line 16 and said “import satellites.core”


I found the problem…
After booting, if I manualy mention:
$ export PYTHONPATH=/usr/local/lib/python3/dist-packages/
The result is correct…

gr_satellites v3.15.0-git

Which file need this export precision…?
VE2DSK

There are some good info here:

I also got the ModuleNotFoundError: No module named ‘websocket’
Solved with:
sudo pip3 install websocket

Next time first look at the OS repository.

sudo apt-get update && sudo apt-cache search python3 | grep websocket

Command output:

ython3-django-websocket-redis - Websockets for Django applications using Redis (Python3 version)
python3-gevent-websocket - websocket library for the gevent networking library (Python 3)
python3-pyqt5.qtwebsockets - Python 3 bindings for Qt5's WebSockets module
python3-pyqt5.qtwebsockets-dbg - Python 3 bindings for Qt5's WebSockets module (debug extensions)
python3-pyside2.qtwebsockets - Python bindings for Qt5 WebSockets module (Python 3)
python3-gwebsockets - websocket server written in Python
python3-websockets - implementation of the WebSocket Protocol (RFC 6455)
python3-terminado - Terminals served to term.js using Tornado websockets (Python 3)
python3-websocket - WebSocket client library - Python 3.x

And you now know that you can install python3-websocket - WebSocket client library - Python 3.x

sudo apt-get install python3-websocket

This will also make sure the package is managed by your OS package manager and will update this package if it is necessary.

Many thanks guys… for help
Regards VE2DSK

most of time got
signatures were invalid (have been ignored)
and / or
failed to fetch

Yes, that would maybe be the correct way. But with limited Linux knowledge (and interest…) I take the “google way” and find solutions :slight_smile:

1 Like

Hi…
I just add this
export PYTHONPATH=/usr/local/lib/python3/dist-packages/
to the .bashrc file.
Seem patch the problem for now… VE2DSK

2 Likes

Hi,
is gr-satellite v5.5.0 compatible with satnogs client v1.8.1 (and Gnuradio v3.8.2) (bullseye)

Desperate and have no succes installing from source…
cmake 2.4.1 came with error
cmake 3.11 latest, came with non compatible error
cmake 2.8.1 came with different error

VE2DSK

No, you need to use the maint-3.8 branch from gr-satellites.

git clone https://github.com/daniestevez/gr-satellites.git
cd gr-satellites
git branch
git checkout maint-3.8

Hi
(monitoring journalctl) I saw kill process after each observation. Is this normal…?
(different number) VE2DSK

: gr-satellites: Observation: 9447810, Norad: 50998, Name: TEVEL-5, Script: satnogs_bpsk.py
: gr-satellites: Stopping observation 9447810
: /usr/local/bin/grsat-wrapper.sh: line 67: kill: (15200) - No such process

grsat-wrapper.sh
image

That just means that gr_satellites has quit early, probably with message “Satellite xxxxx not found”.
In my later development I have skipped the entire pre-check if the satellite is supported or not, gr_satellites will just quit gracefully if it cannot find satyaml for it.

Hi,
gr_satellite seem woking at this time…
Many thank for the info. VE2DSK

If you want to know what is going on, cat the grsat_xxxxx.log during the obs (located in /tmp/.satnogs/ by default), they will get deleted after the obs is finished. try: cat /tmp/.satnogs/grsat_*.log or if you want to keep the logs and look at them afterwards, set GRSAT_KEEPLOGS=yes, but don’t keep that enabled as it will fill up /tmp

I have looked into the journalclt of the SatNOGS Client, and it seems that I am facing the same problem:

May 03 18:41:29 raspberrypi satnogs-client[16875]: RX Mode activated!
May 03 18:41:29 raspberrypi satnogs-client[16876]: gr-satellites: Observation: 9465216, Norad: 44404, Name: 0_CARBONIX, Script: satnogs_fsk.py
May 03 18:41:29 raspberrypi satnogs-client[16876]: gr-satellites: Starting observation 9465216
May 03 18:41:30 raspberrypi satnogs-client[16876]: gr-satellites: running at 48000 sps
May 03 18:41:30 raspberrypi satnogs-client[459]: network_open: hoststr=44.143.79.131, portstr=4535
May 03 18:41:32 raspberrypi satnogs-client[459]: read_string(): Timed out 2.2057 seconds after 0 chars
May 03 18:41:32 raspberrypi satnogs-client[459]: rig_init: rig does not have rx_range!!
May 03 18:41:32 raspberrypi satnogs-client[459]: network_open: hoststr=127.0.0.1, portstr=4532
May 03 18:41:35 raspberrypi satnogs-client[16915]: [INFO] Opening PlutoSDR #0 ip:plutouhf.local...
May 03 18:41:36 raspberrypi satnogs-client[16915]: [INFO] Using format CF32.
May 03 18:41:36 raspberrypi satnogs-client[16915]: [INFO] Auto setting Buffer Size: 32768
May 03 18:41:36 raspberrypi satnogs-client[16915]: [INFO] Set MTU Size: 32768
May 03 18:41:36 raspberrypi satnogs-client[16915]: [INFO] Has direct RX copy: 1
May 03 18:45:54 raspberrypi satnogs-client[459]: netrigctl_close: done status=Command completed successfully
May 03 18:45:55 raspberrypi satnogs-client[16966]: Idle Mode activated!
May 03 18:45:55 raspberrypi satnogs-client[16967]: gr-satellites: Observation: 9465216, Norad: 44404, Name: 0_CARBONIX, Script: satnogs_fsk.py
May 03 18:45:55 raspberrypi satnogs-client[16967]: gr-satellites: Stopping observation 9465216
May 03 18:45:55 raspberrypi satnogs-client[16967]: /usr/local/bin/grsat-wrapper.sh: line 80: kill: (16901) - No such process
May 03 18:45:55 raspberrypi satnogs-client[16967]: gr-satellites: Keeping logs, you need to purge them manually.

Here is the log file, maybe this helps:

Traceback (most recent call last):
  File "/usr/local/bin/gr_satellites", line 317, in <module>
    main()
  File "/usr/local/bin/gr_satellites", line 302, in main
    tb = gr_satellites_top_block(parser)
  File "/usr/local/bin/gr_satellites", line 193, in __init__
    self.flowgraph = satellites.core.gr_satellites_flowgraph(
  File "/usr/local/lib/python3/dist-packages/satellites/core/gr_satellites_flowgraph.py", line 162, in __init__
    self._init_demodulator_deframer(key, transmitter)
  File "/usr/local/lib/python3/dist-packages/satellites/core/gr_satellites_flowgraph.py", line 274, in _init_demodulator_deframer
    deframer = self.get_deframer(transmitter['framing'])(
  File "/usr/local/lib/python3/dist-packages/satellites/components/deframers/mobitex_deframer.py", line 47, in __init__
    self.mobitex = tnc_nx.nx_decoder(syncword, nx)
TypeError: make() takes 0 positional arguments but 2 were given

As far as I can see, this is related to gr-tnc_nx, which i was never able to install sucessfully. I have tried to install it for decoding of the BEESAT satellites: https://git.tu-berlin.de/rft/com/mobitub-2

According to the installation process it worked without any errors, but in operation it doesn’t.

All satellites that use Mobitex depend on gr-tnc_nx, so these will fail if it isn’t installed.
Mobitex support will only work with GNURadio 3.8 and the correct branch (GitHub - daniestevez/beesat-sdr at maint-3.8)

Only satellites that are part of the list gr_satellites -list_satellites will be decoded by gr-satellites.

Some questions up front

Did you build gr-satellites from source or used a repository?
What GNURadio version are you using?

Hi there…
looking at the LOG during pass give me, i beleive, bad syntax on main grsat script.
VE2DSK
(good pass, and AALTO-1.yml is supported by grsat)
(SatNOGS Network - Observation 9472215)

pi@raspberrypi:/tmp/.satnogs $ cat grsat_9472215.log
usage: gr_satellites satellite [-h] [–version] [–list_satellites]
[–ignore_unknown_args] [–satcfg]
(–wavfile WAVFILE | --rawfile RAWFILE | --rawint16 RAWINT16 | --audio [DEVICE] | --udp | --kiss_in KISS_IN)
[–samp_rate SAMP_RATE] [–udp_ip UDP_IP]
[–udp_port UDP_PORT] [–iq] [–udp_raw]
[–input_gain INPUT_GAIN]
[–start_time START_TIME] [–throttle]
[–kiss_out KISS_OUT] [–kiss_append]
[–kiss_server [PORT]]
[–kiss_server_address KISS_SERVER_ADDRESS]
[–zmq_pub [ADDRESS]] [–hexdump]
[–dump_path DUMP_PATH]