A Complete Linux based Receiver and Decoder Application for Meteor M2

Thank you to Neoklis (5B4AZ) for writing in and letting us know about his recently completed project which is a RTL-SDR compatible receiver and decoder application for the Meteor M2 weather satellite. It is a combination of other open source programs and he writes:

I combined the recently released Meteor-M2 LRPT demodulator by Davide Belloli (dbdexter-dev), and the older image decoder (translated to C) released by Artem Litvinovich (artlav), with relevant code from my own "sdrx" SDR Receiver application to create a complete monolithic Meteor-M2 Receiver and Image Decoder application, "glrpt".

Neoklis' glrpt application is available on his website www.5b4az.org under the "Weather Imaging -> Meteor M LRPT Receiver" menu. The application is open source and appears to be Linux only. In order to install it you'll need to download and compile the source code, and compilation instructions are available in the documentation stored in the doc folder. Neoklis also writes that you can find his older APT image decoder called "xwxapt" under the same Weather Imaging heading of his website.

GLRPT User Interface Showing Processed Meteor M2 Images
GLRPT User Interface Showing Processed Meteor M2 Images

64 comments

  1. Dave

    Getting nowhere with this,nothing installs ??
    cd ~/Downloads/
    tar jxvf glrpt-*.*.tar.bz2
    cd glrpt-*.*
    ./autogen.sh
    ./configure
    make
    sudo make install

    • Neoklis

      Hi

      I am sorry about this, the asterix in Linux is a “wild card” which means it should be replaced with the actual current version numbers. I will change the documentation to the current version numbers.

      If you are using the current version 2.4.2 try the following:

      tar jxvf glrpt-2.4.2.tar.bz2
      cd glrpt-2.4.2
      ./autogen.sh
      ./configure
      make
      sudo make install

      • Dave

        OK thanks for reply but it still won’t install using Xununtu :-

        [email protected]:~$ cd /home/m1ctk/
        [email protected]:~$ cd /glrpt-2.4.2
        bash: cd: /glrpt-2.4.2: No such file or directory
        [email protected]:~$ ls
        core Documents glrpt-2.4.2 Pictures Templates
        Desktop Downloads Music Public Videos
        [email protected]:~$ cd glrpt-2.4.2
        [email protected]:~/glrpt-2.4.2$ tar jxvf glrpt-2.4.3.tar.bz2
        tar (child): glrpt-2.4.3.tar.bz2: Cannot open: No such file or directory
        tar (child): Error is not recoverable: exiting now
        tar: Child returned status 2
        tar: Error is not recoverable: exiting now
        [email protected]:~/glrpt-2.4.2$ ls
        ABOUT-NLS compile config.sub doc m4 po
        aclocal.m4 config.guess configure files Makefile.am README
        AUTHORS config.h.in configure.ac glrpt Makefile.in src
        autogen.sh config.log COPYING INSTALL missing
        ChangeLog config.rpath depcomp install-sh NEWS
        [email protected]:~/glrpt-2.4.2$ sudo make install
        [sudo] password for m1ctk:
        make: *** No rule to make target ‘install’. Stop.
        [email protected]:~/glrpt-2.4.2$

        • Neoklis

          You did not configure the source code for compilation before installing:
          [email protected]:~$ cd glrpt-2.4.2 >>> This looks right
          [email protected]:~/glrpt-2.4.2$ tar jxvf glrpt-2.4.3.tar.bz2 >>> This is wrong because you are already in the decompressed (unzipped) source directory glrpt-2.4.2 and there is no glrpt-2.4.2.tar.bz2 package, hence the error below:
          tar (child): glrpt-2.4.3.tar.bz2: Cannot open: No such file or directory

          Once you cd into glrpt-2.4.2 folder, then you have to configure, compile and install as follows:
          ./autogen.sh
          ./configure
          make
          sudo make install

          You then need to set up the working directory as explained in the documentation

          Neoklis

          • Dave

            I am afraid I don’t know how to make a working directory, the manual does’nt seem to say how. Now I try in skywave linux 3.1 via parallels desktop 14 :-

            [email protected]:~/Downloads/glrpt-2.4.2$ ./autogen.sh
            Preparing the glrpt build system…please wait

            Found GNU Autoconf version 2.69
            Found GNU Automake version 1.15
            Found GNU Libtool version 2.4.6

            Automatically preparing build … Warning: autoreconf failed
            Attempting to run the preparation steps individually

            Preparing build … done

            The glrpt build system is now prepared. To build here, run:
            ./configure
            make
            [email protected]:~/Downloads/glrpt-2.4.2$ ./configure
            checking for a BSD-compatible install… /usr/bin/install -c
            checking whether build environment is sane… yes
            checking for a thread-safe mkdir -p… /bin/mkdir -p
            checking for gawk… no
            checking for mawk… mawk
            checking whether make sets $(MAKE)… yes
            checking whether make supports nested variables… yes
            checking whether to enable maintainer-specific portions of Makefiles… no
            checking whether configure should try to set CFLAGS… yes
            checking for g++… g++
            checking whether the C++ compiler works… yes
            checking for C++ compiler default output file name… a.out
            checking for suffix of executables…
            checking whether we are cross compiling… no
            checking for suffix of object files… o
            checking whether we are using the GNU C++ compiler… yes
            checking whether g++ accepts -g… yes
            checking for style of include used by make… GNU
            checking dependency style of g++… gcc3
            checking for gcc… gcc
            checking whether we are using the GNU C compiler… yes
            checking whether gcc accepts -g… yes
            checking for gcc option to accept ISO C89… none needed
            checking whether gcc understands -c and -o together… yes
            checking dependency style of gcc… gcc3
            checking whether make sets $(MAKE)… (cached) yes
            checking for pkg-config… /usr/bin/pkg-config
            checking pkg-config is at least version 0.9.0… yes
            checking for PACKAGE… no
            configure: error: Package requirements (gtk+-3.0 >= 3.22.0) were not met:

            No package ‘gtk+-3.0’ found

            Consider adjusting the PKG_CONFIG_PATH environment variable if you
            installed software in a non-standard prefix.

            Alternatively, you may set the environment variables PACKAGE_CFLAGS
            and PACKAGE_LIBS to avoid the need to call pkg-config.
            See the pkg-config man page for more details.
            [email protected]:~/Downloads/glrpt-2.4.2$ make
            make: *** No targets specified and no makefile found. Stop.

  2. Neoklis

    Hi all,

    I just uploaded glrpt-2.1 to my website with some code clean-up and some adjustments of parameters in the ALC and Costas PLL functions to hopefully improve sensitivity and stability of PLL lock and image decoding. You can find it in http://www.5b4az.org in the “Weather Imaging” drop-down menu.

    Happy New Year!

    • Mistrjirka

      Hi does someone have some libraries, because I was not able to compile it on Linux mint I had to intalled a few libreries and even after that I got lots of undefined references from soupySdr lib, even when it is installed. Maybe some library location issue?

  3. Neoklis

    Hi all

    I have just uploaded a new glrpt package version 1.9 to my website at http://www.5b4az.org. You can find it under the “Weather Imaging->Meteor-M Lrpt Receiver” menu item. I added an automatic level control system to the data streaming functions to compensate for the different size (number of bits) of samples from different SDR receivers. Some changes also to the GUI and to the ~/glrpt/glrptrc config file, where the entry for a scaling factor for the streaming data has been removed.

    Please email any bug reports or comments to my email “nkcyham yahoo com”

    Neoklis

  4. Neoklis

    Hi all,

    I have just uploaded glrpt-1.8 to my website with changes hopefully making it functional with both RTL-SDR and Airspy Mini and R2 Receivers. I have tested here on several passes and have very good results with both SDR types. Since glrpt now works with SoapySDR, it should be possible to use other SDR devices supported by it, with only two settings in the new glrptrc config file to be edited. It will be necessary to use the new glrptrc file in /home//glrpt/
    with this new version and the “Device Index” and “Data Scaling Factor” entries should be edited as needed.

    Please report bugs/difficulties by email to nkcyham-yahoo-com

    Neoklis – http://www.5b4az.org

  5. Neoklis

    Hi

    After much effort by trial and error and educated guesses, I was able to
    make glrpt work with SoapySDR, at least to a point. I found that SoapySDR
    does not undertake to provide the client program with a unified interface
    after all, the actual sample rate depends on the SDR receiver in use and
    ditto, the I/Q data stream’s range of values. So in fact I had to arrange
    glrpt to do some simple sample rate decimation for each device type, to
    bring it near the requirements of demodualtor and decoder functions. I
    also had to arrange for the data streams to be scaled in value, again
    depending on the receiver type in use.

    The new version now auto detects the SDR receiver type (currently only
    rtlsdr and airspy) and sets up various parameters accordingly. So it is
    no longer necessary to specify the device name, only the index number
    (normally 0, the first detected) and the SDR’s sampling rate and the
    effective Demodulator sampling rate also need not be specified.
    Therefore the new glrptrc config file is different and the installer
    should normally replace it.

    Some bugs that turned up in the process were also fixed, mainly one
    that prevented glrpt from performing Histogram normalization and then
    Contrast enhancement, before saving images. And now that the infrared
    channel has replaced the red channel, the combined color image no
    longer has good colors. But at least we have an image in the evening
    passes!

    If you would like to test this new version, please download from:

    http://www.5b4az.org/pkg/develop/glrpt-1.8.tar.bz2

    Apologies for the long post, but I was feeling unhappy with a broken
    and incomplete package on offer and was eager to correct 😉

    Neoklis

    5B4AZ

    • Happysat

      Glrpt 1.8 builds okay on Ubuntu 18.04 but SoapySDR complains about:

      SoapySDRUtil –info
      Search path: /usr/local/lib/SoapySDR/modules0.7
      No modules found!
      Available factories… No factories found!

      SoapySDRUtil –find

      No devices found!

      Glrpt cannot start the RTL-SDR device error.
      I change auto to rtlsdr but no joy.
      No airspy.. here and previous versions <1.7 working okay.

      • Neoklis

        Well, this error: “Available factories… No factories found!” is not related to glrpt. It means that the relevant modules that support SDR devices are not installed. In my distro (Void Linux) I had to install the SoapyAirspy-0.1.1 and SoapyRTLSDR-0.2.5 modules with SoapySDR-0.6.1. Versions before 1.7 only worked with lbrtlsdr and did not need Soapy. Try installing the above modules too, they are usually separate from SoapySDR.

        I found some issues with glrpt-1.8 regarding Airspy devices (I was getting badly broken images) because the sampling rate is higher than RTL-SDR and my mediocre desktop was dropping samples. I much improved the situation by increasing timeout margins for data transfer and have uploaded a new package to http://www.5b4az.org/pkg/develop/glrpt-1.8.tar.bz2 I am waiting for the evening passes to make more tests and possibly release this version.
        I expect higher performance computers will not have any problems.

        Neoklis

    • Corn

      Hi Neoklis,

      again, tnx for creating this awesome looking tool.
      Sadly enough I’m still not able to capture images,

      When I click ‘Start Receiver’, it looks like its running, but after a couple of minutes, it crashes:

      [email protected]:~ $ glrpt
      [INFO] Using format CS16.
      *** BUG ***
      In pixman_region_union_o: The expression region->data->numRects data->size was false
      Set a breakpoint on '_pixman_log_error' to debug

      *** Error in `glrpt': free(): invalid pointer: 0x75d10274 ***

      glrpt: Abort Signal received
      [email protected]:~ $

      Any Idea ?

      Tnx again for the effort !

      • Neoklis

        Corn

        Looks like something is crushing in the Gnome desktop, since the only reference to pixman_region_union_o I found by searching refers to Gnome. I think it may be that glrpt is too much of a workload for the RPI, in fact it was for my desktop too, especially with the faster airspy devices. For me I managed to fix the problem by giving a longer timeout to the function that streams data from the SDR device and by reducing the nodes of the RRC filter from 64 to 32. I now get picture-perfect images with both the Airspy Mini and the R2, despite being in the middle of raging thunderstorms!

        I have prepared a modified package of glrpt, where I commented out the code that displays the waterfall and the QPSK constellation in the hope that this is the cause of the crash. Download the package below and give it a try. Please contact me by email at nkcyham yahoo com for the results and let me know, did you get any part of the images before the crash and whether you were using the latest glrpt-1.8 that was uploaded a couple of days ago.

        http://www.5b4az.org/pkg/develop/glrpt-test-1.8.tar.bz2

        p.s. if the website is off line, it very likely due to power cuts from lightning strikes.

    • Corn

      Hi Neoklis,
      tnx for the new version !
      I’ve installed SoapySDR, which is able to detect my RTL2832U:

      [email protected]:~/glrpt $ SoapySDRUtil --find
      ######################################################
      ## Soapy SDR -- the SDR abstraction library ##
      ######################################################

      Found Rafael Micro R820T tuner
      Found device 0
      available = Yes
      driver = rtlsdr
      label = Generic RTL2832U OEM :: 00000001
      manufacturer = Realtek
      product = RTL2838UHIDIR
      rtl = 0
      serial = 00000001
      tuner = Rafael Micro R820T

      [email protected]:~/glrpt $ SoapySDRUtil --probe
      ######################################################
      ## Soapy SDR -- the SDR abstraction library ##
      ######################################################

      Probe device
      Found Rafael Micro R820T tuner
      Found Rafael Micro R820T tuner

      ----------------------------------------------------
      -- Device identification
      ----------------------------------------------------
      driver=RTLSDR
      hardware=R820T
      origin=https://github.com/pothosware/SoapyRTLSDR
      rtl=0

      ----------------------------------------------------
      -- Peripheral summary
      ----------------------------------------------------
      Channels: 1 Rx, 0 Tx
      Timestamps: NO
      Other Settings:
      * Direct Sampling - RTL-SDR Direct Sampling Mode
      [key=direct_samp, default=0, type=string, options=(0, 1, 2)]
      * Offset Tune - RTL-SDR Offset Tuning Mode
      [key=offset_tune, default=false, type=bool]
      * I/Q Swap - RTL-SDR I/Q Swap Mode
      [key=iq_swap, default=false, type=bool]
      * Digital AGC - RTL-SDR digital AGC Mode
      [key=digital_agc, default=false, type=bool]

      ----------------------------------------------------
      -- RX Channel 0
      ----------------------------------------------------
      Full-duplex: YES
      Supports AGC: YES
      Stream formats: CS8, CS16, CF32
      Native format: CS8 [full-scale=128]
      Stream args:
      * Buffer Size - Number of bytes per buffer, multiples of 512 only.
      [key=bufflen, units=bytes, default=262144, type=int]
      * Ring buffers - Number of buffers in the ring.
      [key=buffers, units=buffers, default=15, type=int]
      * Async buffers - Number of async usb buffers (advanced).
      [key=asyncBuffs, units=buffers, default=0, type=int]
      Antennas: RX
      Full gain range: [0, 49.6] dB
      TUNER gain range: [0, 49.6] dB
      Full freq range: [23.999, 1764] MHz
      RF freq range: [24, 1764] MHz
      CORR freq range: [-0.001, 0.001] MHz
      Sample rates: 0.25, 1.024, 1.536, 1.792, 1.92, 2.048, 2.16, 2.56, 2.88, 3.2 MSps

      [email protected]:~/glrpt $ SoapySDRUtil --make
      ######################################################
      ## Soapy SDR -- the SDR abstraction library ##
      ######################################################

      Make device
      Found Rafael Micro R820T tuner
      Found Rafael Micro R820T tuner
      driver=RTLSDR
      hardware=R820T
      origin=https://github.com/pothosware/SoapyRTLSDR
      rtl=0

      But after starting glrpt, no Tuner Type was shown.
      When I try to start receiver, I receive a error message:

      Welcome to glrpt 1.8
      Searching for SDR Device "RTL-SDR"
      No matching Device for: "RTL-SDR"
      Failed to Initialize SoapySDR

      And at the CLI:

      [email protected]:~/glrpt $ glrpt
      Found Rafael Micro R820T tuner
      Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.

      any idea ?

      regards,

      Corn.

      • Neoklis

        Sorry about that Corn, I explained the problem in my reply to my post. I did mention the change of device name in the manual but forgot to edit the default config file!

        It is now necessary for users to specify the right device name (first entry in glrptrc config file) to match that expected by SoapySDR. For RTL-SDR it is “rtlsdr”. I cannot test it, but for Airspy devices it might be “airspy” and for Lime-sdr “lime”.

        • Corn

          little further,

          after start receiving:

          [email protected]:~/glrpt $ glrpt
          Found Rafael Micro R820T tuner
          Found Rafael Micro R820T tuner
          [INFO] Using format CS8.

          (glrpt:3263): Gtk-WARNING **: Invalid text buffer iterator: either the iterator is uninitialized, or the characters/pixbufs/widgets in the buffer have been modified since the iterator was created.
          You must use marks, character numbers, or line numbers to preserve a position across buffer modifications.
          You can apply tags and insert marks without invalidating your iterators,
          but any mutation that affects 'indexable' buffer contents (contents that can be referred to by character offset)
          will invalidate all outstanding iterators

          (glrpt:3263): Gtk-CRITICAL **: gtk_text_buffer_apply_tag: assertion 'gtk_text_iter_get_buffer (end) == buffer' failed

          glrpt: Segmentation Fault
          [email protected]:~/glrpt $

          not using airspy right now, just a cheap RTL-SDR. Will try my airspy later on.

          • Neoklis

            OK, I hopefully removed the code I suspect the cause of the fault.
            Please download again and try it.

            I will take my dog to the vet now and will be back later 😉

              • Corn

                With Airspy Mini not working yet,
                I receive the following message after starting to receive data:

                Welcome to glrpt 1.8
                Searching for SDR Device "airspy"
                Using Driver "airspy" for Device 0
                Instantiated SDR Device "Airspy"
                Set SDR Frequency to 137900.0kHz
                Set Sampling Rate to 288000 kHz
                Set Tuner Gain to 45 dB
                Set Auto Gain Control
                Setting up Receive Stream
                Failed to set up Receive Stream
                setupStream invalid format 'CS8' -- Only CS16 and CF32 are supported by SoapyAirspy module.
                Failed to Initialize SoapySDR

                • Neoklis

                  OK Corn,

                  That’s very helpful. I don’t yet have the airspies so could not test and I was rather suspicious that this may happen. RTL-SDR has an 8-bit sample size so I used the CS8 format (signed 8-bit integer) which is also what the demodulator and decoder functions expect. Airspies have a 12-bit sample size so I will have to change to CS16 (signed 16-bit integer) format. I can do a quick patch up but I prefer to have a good look into this and find a permanent fix. Will post again here.

                    • NEoklis

                      Well, I did not anticipate much traffic to be created by this topic, and in any case I don’t really have the inclination to get to know Github. I have neglected a lot of other obligations to complete this project and its time to go back to them. I don’t expect to do much else on lrpt so there will not be more posts. In any case, I can be contacted by my email address on my website.

    • Neoklis

      OK

      Apologies to all – I was very tired after marathon coding sessions and forgot to replace the config file with the one I have in my own glrpt home directory. The problem is that the device name should be “rtlsdr” (Soapy’s own device name) instead of “RTL-SDR” that I used originally. I uploaded a new package:

      http://www.5b4az.org/pkg/develop/glrpt-1.8.tar.bz2

      Thank you for testing and reporting.

      Neoklis

      5B4AZ

    • Happysat

      Thanks for replying Neoklis 🙂

      No this error was not related to Glrpt.
      But i did build Soapy from GIT also tried the feed none of them did work.
      The packages you mention SoapyRTLSDR-0.2.5 modules and SoapySDR-0.6.1 did work after compiling on my RTL-SDR :-))
      Glrpt also working but i did not download the latest version your website seems to be offline @ these midnight hours.

      Thanks again for pointing out to the right packages!

      • Neoklis

        OK, once you get SoapySDR working, glrpt should do the job. My website goes off line because we are in the middle of a medicane (Mediterranean hurricane!) and I cut off electricity to protect the house from thunderstorms.
        Its back now, till the next thunderstorm…

        Neoklis

    • Neoklis

      Hi

      It looks like a realloc() call is going wrong. I am working on porting over glrpt to the soapySDR library but I have a version that may work better. You can download from http://www.5b4az.org/pkg/lrpt/glrpt-1.7.tar.bz2 Please compile (I have added the -g option to produce a binary with debug symbols), install (the config files are different), and then run under gdb (:~ $ gdb glrpt).
      Hopefully this should catch the bug if its in this version too.

      • Corn

        doesnt look good….

        [email protected]:~/glrpt-1.7 $ gdb glrpt
        GNU gdb (Raspbian 7.12-6) 7.12.0.20161007-git
        Copyright (C) 2016 Free Software Foundation, Inc.
        License GPLv3+: GNU GPL version 3 or later
        This is free software: you are free to change and redistribute it.
        There is NO WARRANTY, to the extent permitted by law. Type "show copying"
        and "show warranty" for details.
        This GDB was configured as "arm-linux-gnueabihf".
        Type "show configuration" for configuration details.
        For bug reporting instructions, please see:
        .
        Find the GDB manual and other documentation resources online at:
        .
        For help, type "help".
        Type "apropos word" to search for commands related to "word"...
        Reading symbols from glrpt...done.
        (gdb)

        and thats it, nothing happens after this.

          • Corn

            blank screen:

            (gdb) run
            Starting program: /usr/local/bin/glrpt
            [Thread debugging using libthread_db enabled]
            Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
            [New Thread 0x71fbd210 (LWP 744)]
            [New Thread 0x717bd210 (LWP 745)]
            [New Thread 0x70fbd210 (LWP 746)]
            [New Thread 0x707bd210 (LWP 747)]
            [New Thread 0x6ff01210 (LWP 755)]
            [New Thread 0x6f5ff210 (LWP 756)]
            [New Thread 0x6cd1b210 (LWP 757)]
            [New Thread 0x6c3ff210 (LWP 758)]
            *** Error in `/usr/local/bin/glrpt': corrupted size vs. prev_size: 0x005f9358 ***
            [Thread 0x6cd1b210 (LWP 757) exited]

            Thread 1 "glrpt" received signal SIGABRT, Aborted.
            __GI_raise ([email protected]=6) at ../sysdeps/unix/sysv/linux/raise.c:51
            51 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
            (gdb)

            • Neoklis

              Unfortunately there is no clear indication on this problem. But since I am working on a very different version, please be patient and I will release it soon, once I crack the last remaining hard problems. If the problem persists then I can look into it.

  6. Paulo CT2IWW

    Neoklis, thanks for hanging around and helping out. I did solve a couple of my problems by reading the previous messages. However, it seems that during the install process the program is failing to build a glrpt folder in my home folder:

    ” cp -r glrpt /home/`logname`/; \
    else \
    cp glrpt/glrpt.glade /home/`logname`/glrpt; \
    fi; \
    chown -R `logname`:`logname` /home/`logname`/glrpt;
    logname: no login name
    logname: no login name
    logname: no login name
    logname: no login name
    logname: no login name”

    Therefore, the program complains and wont start:

    “Glrpt: failed to add objects to builder:
    Failed to open file “/home/ct2iww/glrpt/glrpt.glade”: No such file or directory”

    The only thing that comes to mind is that I use autologin in this machine. I am using Linux Mint 19 64bit XFCE, btw. I also tried on an Ubuntu 18.04 machine, with the same results (also autologin).

    Any help would be appreciated…

    Paulo, CT2IWW

    • Neoklis

      Paulo

      I am a “teach yourself” alone in the dark amateur programmer so my knowledge of the auto tools etc is limited in detail. I don’t know how to fix this problem (the installation code I managed to build was mainly produced automatically by the old Glade-2 tool) but you can still fix the problem manually. It seems to me that the ~/glrpt/ working directory was installed in your home directory but ownership was not transferred to you (it would be owned by root since sudo has to be used for the installation). If this is the case, then open a terminal in you home directory and issue the command:
      sudo chown -R user:user glrpt/ where user is your user name. If the ~/glrpt/ directory has not been installed, then copy the glrpt/ directory from the top source directory of glrpt to your home directory. You can do this by opening a terminal in the glrpt source directory and issuing the command: cp -r glrpt /home/user/ where user is again your user name.

      Neoklis

      • Paulo CT2IWW

        I moved the folder glrpt manually into my home folder and that fixed the problem. RTL-SDR is working and receiving signals, now I need a couple good passes to get to the decoding proper. I also downloaded and installed SDRX and the same problem occurred but moving the folder by hand took care of that as well.

        Thank you for your time!

        Paulo

    • Neoklis

      Please can you clarify “step by step”? If you mean operating instructions, I will redo the manual soon and upload it in a new package, since some minor bugs surfaced as well and I have fixed them.

      Neoklis

        • Neoklis

          OK, here is a quick start step-by-step:

          First navigate (cd) to the directory you have downloaded glrpt. Usually this will be Downloads/ in your home directory.

          cd ~/Downloads/
          tar jxvf glrpt-1.4.1.tar.bz2
          cd glrpt-1.4.1
          ./autogen.sh
          ./configure
          make
          sudo make install

          This should install glrpt in /usr/local/bin and its working directory glrpt/
          in your home directory. It should also install glrpt.desktop in /usr/share/applications and glrpt.svg in /usr/share/pixmaps.

          If all goes well, you should be able to start it just typing: glrpt in the console. It should also appear in your Desktop’s launcher menu somewhere, normally in Amateur.

          While glrpt will work with its default configuration, you may want to go through the ~/glrpt/glrptrc config file and check the settings. The only setting that might need editing is the Synthesizer Frequency Error correction factor where you should enter your RTL-SDR dongle’s synthesizer error. If in doubt, just leave it as is (0).

          It may also be necessary to change the Scale Factor used to reduce the size of decoded LRPT images, if the glrpt window is too large for your screen.

          To start reception, right-click in the large image display window and activate the “Start Receiver” menu item. Once you get the green PLL lock “LED” indication, activate the “Decode Images” menu and if signal is good, you will get the green FRM (Frames Received) LED indication. The three decoded images will be displayed progressively as they are received.

          When the pass is over, it is necessary to disable the “Start Receiver” menu item to signal glrpt that you are finished so that it will process the images and save them (full size) in ~/glrpt/images/.

          Phew! Good luck!

          Neoklis

          • gck

            it’s all good until “make” give me some error:

            make all-recursive
            make[1]: Entering directory ‘/home/goran/Downloads/glrpt-1.4.1’
            Making all in src
            make[2]: Entering directory ‘/home/goran/Downloads/glrpt-1.4.1/src’
            depbase=`echo Glrpt/main.o | sed ‘s|[^/]*$|.deps/&|;s|\.o$||’`;\
            gcc -DHAVE_CONFIG_H -I. -I.. -DPROGRAMNAME_LOCALEDIR=\””/usr/local/share/locale”\” -DPACKAGE_DATA_DIR=\””/usr/local/share”\” -DPACKAGE_LOCALE_DIR=\””/usr/local/share/locale”\” -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -Wall -O2 –pedantic -march=native -std=gnu11 -fstack-protector-strong -Werror=format-security -ffast-math -flto -ftree-vectorize -fpie -Wformat -DGTK_DISABLE_SINGLE_INCLUDES -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED -DGSEAL_ENABLE -D_FORTIFY_SOURCE=2 -DGDK_PIXBUF_DISABLE_DEPRECATED -DG_DISABLE_DEPRECATED -MT Glrpt/main.o -MD -MP -MF $depbase.Tpo -c -o Glrpt/main.o Glrpt/main.c &&\
            mv -f $depbase.Tpo $depbase.Po
            In file included from Glrpt/main.h:18:0,
            from Glrpt/main.c:15:
            Glrpt/common.h:26:10: fatal error: rtl-sdr.h: No such file or directory
            #include
            ^~~~~~~~~~~
            compilation terminated.
            Makefile:598: recipe for target ‘Glrpt/main.o’ failed
            make[2]: *** [Glrpt/main.o] Error 1
            make[2]: Leaving directory ‘/home/goran/Downloads/glrpt-1.4.1/src’
            Makefile:483: recipe for target ‘all-recursive’ failed
            make[1]: *** [all-recursive] Error 1
            make[1]: Leaving directory ‘/home/goran/Downloads/glrpt-1.4.1’
            Makefile:424: recipe for target ‘all’ failed
            make: *** [all] Error 2

            • Neoklis

              Ah, this one is easy to fix: “Glrpt/common.h:26:10: fatal error: rtl-sdr.h: No such file or directory”. This means that you have not installed the RTL-SDR driver or you have not included the development files. In my system (Void Linux) its a matter of installing librtlsdr-0.6.0 and librtlsdr-devel-0.6.0. librtlsdr is normally included in most distributions these days so please try installing the above and recompile.

  7. kmp56

    OK, now after right click on image display window and activate “Start Receiver” pop-up menu item it works.
    Thanks a lot.
    BTW – didn’t found in manual how to start glrpt …

    • Neoklis

      Good! I have instructions in the manual on how to start glrpt:

      3. A pop-up menu: This appears after a right-click on the scaled image display in the main window. Some of the options in this menu can be set by default in the ~/glrpt/glrptrc configuration file. This menu and has the following items:

      Start Receiver: Checking this menu item starts the SDR Receiver and the LRPT Demodulator. This results in the Spectrum and QPSK Constellation displays to activate so that the satellite’s signal can be monitored. Please note: It takes a few seconds to initialize reception from the SDR Receiver and during this period the pop-up menu is blocked to avoid glitches
      Un-checking this menu item stops the SDR Receiver, the Demodulator and the relevant displays. If LRPT images have been successfully received (by also checking the menu item below) then these will be saved to disk after image processing, if enabled.
      Decode Images: Checking this menu item starts the LRPT Decoder and if the Costas PLL is locked, LRPT images will be decoded and progressively displayed in the image display frame.

      Its late now but tomorrow I will see if I can make the manual clearer…

  8. kmp56

    I’ve blacklisted rtl dvb driver in /etc/modprobe.d and GQRX works well, so system answer for: “sudo rmmod dvb_usb_rtl28xx” is “ERROR: Module dvb_usb_rtl28xx is not currently loaded”.
    Starting glrpt in the console gives NO errors after close.

    • Neoklis

      I am not clear about your situation with glrpt. I presume glrpt starts OK,
      which means there are no missing dependencies and its working directory is
      properly installed in your home directory. If you have the latest RTL-SDR
      driver (my version is librtlsdr-0.6.0 in Void Linux), then after launching
      glrpt and starting the receiver (right click on image display window and
      activate “Start Receiver” pop-up menu item) you should see something like this printed in the console:

      Found Rafael Micro R820T tuner
      Allocating 15 zero-copy buffers

      Otherwise you should get an error message in red in the Messages display.
      Also check the librtlsdr Device Index entry in ~/glrpt/glrptrc config file in case the default device index of 0 is not appropriate (if you have more than one RTL-SDR device plugged in).

      Sorry about you difficulties!

      Neoklis

  9. Neoklis

    Hi

    It may be the DVB driver blocking the RTL-SDR driver. Please run in the console: sudo rmmod dvb_usb_rtl28xxu Then start glrpt in the console and post any error messages.

    Neoklis

  10. kmp56

    Ubuntu 18.04 – compilation without errors, but after lunching glrpt won’t see my rtl dongle. Tested with 3 chinese and v3. dongles.

    • Neoklis

      I have just uploaded a new version 1.4.1 of glrpt with a modified RTL-SDR initialization sequence, since I was getting error messages from the GTK+ GUI library when testing with the SDR dongle unplugged. glrpt was trying to print information on the SDR device but as it was not plugged in, the strings returned from the driver were apparently uninitialized, causing some trouble!

      Neoklis

Post a comment

You may use the following HTML:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>