Integrating gr-satellites into SatNOGS

Please share extra information, going over the post I have no idea what the issue is?

As a remark, after launch and during the TLE “lottery” it can be difficult to get decoding and frame uploads working.

Do note that the temporary norad id is messing with it, as the TLE used for tracking is the only source of id on the pre-/post-obs scripts.
For example Bluebird 01 is now

Temporary NORAD ID
    98804
Followed NORAD ID
    61046

Which means that any obs scheduled now will use 61046, for example at the bottom of the obs page 10256104
During the first weeks this will change and the TLE lottery will soon settle.
So, if you want to demodulate these you need to have satyaml’s with the “Followed NORAD ID”,
which is not the case for the current satyaml.

And to make things more complicated, with BLUEBIRD we need an extra options that is configured in ${HOME}/.gr_satellites/sat.cfg and also has an ID dependency

The below example is using the Followed NORAD ID

61046 --disable_dc_block
61049 --disable_dc_block
61045 --disable_dc_block
61048 --disable_dc_block
61047 --disable_dc_block

Many thank SA2KNG,
Thank you so much for your hard work on this project…

ve2dsk

1 Like

Should I be regularly updating gr-satellites somehow? I haven’t been.

If you build from master then you can look at the commits and see if there’s something worth rebuilding, for satyaml updates it is usually sufficient to just update those without reinstalling. The script linked may need adjusting depending on your host, certainly need to have the path writable by your user.
I try to update the gr-satellites package build for the satnogs repos, but those are only built on releases and not the intermediate commits.

GR-Satellites update

I’ve made new releases of gr-satellites: 5.8.0 (GNU Radio 3.10), 4.15.0 (GNU Radio 3.9), 3.22.0 (GNU Radio 3.8). This will be the last release supporting GNU Radio 3.9 and 3.8. Maintainance for these branches will stop now.

This means that the current (01-08-2025) satnogs client that is based on GNURadio 3.8 will no longer receive gr-satellites maintenance updates.

Jan | PE0SAT

3 Likes

After compiling:

gr_satellites --version

Traceback (most recent call last):
  File "/usr/local/lib/python3.10/dist-packages/satellites/__init__.py", line 47, in <module>
    from .bindings.satellites_python import *
ModuleNotFoundError: No module named 'satellites.bindings'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/bin/gr_satellites", line 21, in <module>
    import satellites.core
  File "/usr/local/lib/python3.10/dist-packages/satellites/__init__.py", line 49, in <module>
    from .satellites_python import *
ImportError: libgnuradio-satellites.so.5.8.0: cannot open shared object file: No such file or directory

After compiling back to 5.7.0:

ImportError: libgnuradio-satellites.so.5.7.0: cannot open shared object file: No such file or directory

if you have the old source installed stuff around this might not help, but I packaged it earlier today debian 12: Show home:knegge:branches:home:librespace:satnogs-unstable / gr-satellites_bookworm - openSUSE Build Service
and for debian 11:
Show home:knegge:branches:home:librespace:satnogs-unstable / gr-satellites_bullseye - openSUSE Build Service

A click on “Download package” returns

No data for home:knegge:branches:home:librespace:satnogs-unstable / gr-satellites_bookworm

After sudo make install I did an additional sudo ldconfig but only to get this error message:

Traceback (most recent call last):
  File "/usr/local/bin/gr_satellites", line 21, in <module>
    import satellites.core
  File "/usr/local/lib/python3.10/dist-packages/satellites/core/__init__.py", line 17, in <module>
    from .gr_satellites_flowgraph import gr_satellites_flowgraph
  File "/usr/local/lib/python3.10/dist-packages/satellites/core/gr_satellites_flowgraph.py", line 23, in <module>
    from ..components import deframers
  File "/usr/local/lib/python3.10/dist-packages/satellites/components/deframers/__init__.py", line 21, in <module>
    from .aalto1_deframer import aalto1_deframer
  File "/usr/local/lib/python3.10/dist-packages/satellites/components/deframers/aalto1_deframer.py", line 14, in <module>
    from ...crcs import crc16_ccitt_x25
  File "/usr/local/lib/python3.10/dist-packages/satellites/crcs.py", line 19, in <module>
    from gnuradio.digital import crc_check
ImportError: cannot import name 'crc_check' from 'gnuradio.digital' (/usr/lib/python3/dist-packages/gnuradio/digital/__init__.py)

Since 5.7.0 works after sudo lconfig, I’ll stay on that version.

The built packages are located here for respective arch.

I’m guessing there’s more than one installed, maybe on top of eachother, maybe in different directories. This will inevitably lead to mixup in the python stuff, libraries and binaries.
This is the main reason I stick with building the package, so files can be kept track of when upgrading or uninstalling. If you get these errors after upgrading, you will need to clean out the old install first. If you kept the old build/ directory, you can probably just run a sudo make uninstall from there for each of the old versions. or some manual work, find /usr -type d -name satellites

1 Like

Thanks for your help, but nothing worked for me.