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
Subscribe
Notify of
guest

64 Comments
Inline Feedbacks
View all comments
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 :-

m1ctk@ubuntu:~$ cd /home/m1ctk/
m1ctk@ubuntu:~$ cd /glrpt-2.4.2
bash: cd: /glrpt-2.4.2: No such file or directory
m1ctk@ubuntu:~$ ls
core Documents glrpt-2.4.2 Pictures Templates
Desktop Downloads Music Public Videos
m1ctk@ubuntu:~$ cd glrpt-2.4.2
m1ctk@ubuntu:~/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
m1ctk@ubuntu:~/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
m1ctk@ubuntu:~/glrpt-2.4.2$ sudo make install
[sudo] password for m1ctk:
make: *** No rule to make target ‘install’. Stop.
m1ctk@ubuntu:~/glrpt-2.4.2$

Neoklis

You did not configure the source code for compilation before installing:
m1ctk@ubuntu:~$ cd glrpt-2.4.2 >>> This looks right
m1ctk@ubuntu:~/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 :-

dave@dave-Parallels-Virtual-Platform:~/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
dave@dave-Parallels-Virtual-Platform:~/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.
dave@dave-Parallels-Virtual-Platform:~/Downloads/glrpt-2.4.2$ make
make: *** No targets specified and no makefile found. Stop.

Neoklis

Dave

Better contact me by email to avoid using this forum for private conversation: [email protected] and I will explain.

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?

neoklis

Please save the output from the configuration scripts and compiler and send it to my email: nkcyham at yahoo dot com

Neoklis

mistrjirka

It started working after I removed -j 2 parameter 😀 sorry for boddering you

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

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

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:

pi@raspberrypi:~ $ 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
pi@raspberrypi:~ $

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.

Neoklis

Just uploaded a second package with corrected config file (RRC filter nodes=32)

Neoklis

Hi all,

I have managed to modify glrpt to work with the SoapySDR library and I have uploaded a preliminary package to my website, link below.

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

Please note though, this should be treated as a beta version since I can only test it on my RTL-SDR device and I had to introduce a lot of changes to the source code so there could be bugs lurking.

Corn

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

pi@raspberrypi:~/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

pi@raspberrypi:~/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

pi@raspberrypi:~/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:

pi@raspberrypi:~/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:

pi@raspberrypi:~/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
pi@raspberrypi:~/glrpt $

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

Neokli

Thanks for the report. I think I have an idea why its happening but I don’t understand why its not happening here. Will try to fix and post.

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

Looking good !

Works with my RTL-SDR, going to try my Airspy mini now.

tnx !

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.

Corn

tnx !
Why don’t you put your files on Github ? so we can open issues instead of spamming this comment page ?

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, I made a quick fix you can try and it looks like it will be permanent because there is no other way. You can download from the same place:
http://www.5b4az.org/pkg/develop/glrpt-1.8.tar.bz2

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

Corn

Any idea how to solve this ?
recompiled everything, didnt make sense

pi@raspberrypi:~ $ glrpt
*** Error in `glrpt': corrupted size vs. prev_size: 0x01bc86e0 ***

glrpt: Abort Signal received
pi@raspberrypi:~ $

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….

pi@raspberrypi:~/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.

Neoklis

You have to tell gdb to start glrpt. Just type run and enter, then start glrpt as usual from its menu.

(gdb) run <-Enter

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 (sig=sig@entry=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.

Corn

Cool, No problem. good luck 🙂

Corn

Does this incredible software work with my Airspy Mini ?

Neoklis

Hi

Unfortunately not. To develop code for the Mini (or any other SDR Rx) I would need to have one of those units. Then I would need an API (Application Programming Interface), e.g. a library or driver software with documentation available for it. Airspy provide an open library for their products but unfortunately the only documentation is some limited comments in one of the header files in the source code. I did make an inquiry once, regarding documentation their HF+ API but there was no response so I left it at that.

Timmy

I’ve seen some sample code, which I think has enough info to get started, but I’m not sure:
https://github.com/airspy/airspyhf/blob/master/tools/src/airspyhf_rx.c
https://github.com/airspy/airspyhf/blob/master/tools/src/airspyhf_info.c

https://github.com/airspy/airspyone_host/blob/master/airspy-tools/src/airspy_rx.c
https://github.com/airspy/airspyone_host/blob/master/airspy-tools/src/airspy_info.c

But the way things are going with so many SDR devices, using a vendor and platform neutral SDR support library. like SoapySDR might be a better way to go.

Neoklis

Yes, that’s what I am considering now (soapysdr), although documentation is also rather sparse but possibly sufficient, will need to have a deeper look into it. But I must first fix some problems with the installer of the latest version of glrpt before releasing it. I have managed to translate an open-source C++ JPEG codec program to C and incorporated in glrpt so that it can compress both the monochrome and combined color images – and it does a fine job too! And I also incorporated code to allow manual receiver gain control – it seems to improve reception a lot in the presence of strong out of band signals (FM).

Corn

or RTL-TCP support would be nice too !

anyway, tnx for the effort !

Neoklis

Well, don’t know much about RTL-TCP, but Airspy has kindly offered to send me free a Mini and an R2 if I undertake to support them. I expect they will arrive soon and I can start coding. I tried the example in the Soapy repository and it worked so I have a good chance to succeed. I guess I would post results here when ready. 😉

Corn

AWESOME !

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

gck

Can we get step by step,after downloading,please

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

gck

“step by step”, I meant how to compile(install) via terminal (on ubuntu 18.04),i am new to all this,please

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.

gck

Thank you 🙂

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…

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

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

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