Problem with generating waterfall data with NooElec NESDR device

Hello
I’m not able to get my configuation running.
I am using a raspberrry pi 4, 2GB with a NooElec NESDR SMArTee XTR SDR and a 2m turnstile antenna.

Even this SDR device can work with 2.048Msamples, I can use in the satnogs tool only 96ksampls.
Currently I have this waterfall issue:
Loaded: loaded (/etc/systemd/system/satnogs-client.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2024-02-11 17:41:47 UTC; 25min ago
Main PID: 392 (satnogs-client)
Tasks: 4 (limit: 1599)
CPU: 7.193s
CGroup: /system.slice/satnogs-client.service
└─392 /var/lib/satnogs/bin/python /var/lib/satnogs/bin/satnogs-client

Feb 11 17:55:19 satnogs satnogs-client[392]: observer.observe()
Feb 11 17:55:19 satnogs satnogs-client[392]: File "/var/lib/satnogs/lib/python3.9/site-packages/satnogsclient/observer/obse>
Feb 11 17:55:19 satnogs satnogs-client[392]: waterfall = Waterfall(self.observation_waterfall_file)
Feb 11 17:55:19 satnogs satnogs-client[392]: File “/var/lib/satnogs/lib/python3.9/site-packages/satnogsclient/waterfall.py”>
Feb 11 17:55:19 satnogs satnogs-client[392]: self.data = _get_waterfall(datafile_path)
Feb 11 17:55:19 satnogs satnogs-client[392]: File “/var/lib/satnogs/lib/python3.9/site-packages/satnogsclient/waterfall.py”>
Feb 11 17:55:19 satnogs satnogs-client[392]: waterfall = _read_waterfall(datafile_path)
Feb 11 17:55:19 satnogs satnogs-client[392]: File “/var/lib/satnogs/lib/python3.9/site-packages/satnogsclient/waterfall.py”>
Feb 11 17:55:19 satnogs satnogs-client[392]: ‘timestamp’: np.fromfile(datafile, dtype=‘|S32’, count=1)[0],
Feb 11 17:55:19 satnogs satnogs-client[392]: IndexError: index 0 is out of bounds for axis 0 with size 0

I don’t understand this failure description, please can you tell my, what’s wrong with my configuration.

The support information of my station is:
Generating support report. Please wait…
------------[ copy here ]------------
{
“versions”: {
“satnogs-client”: “1.8.1”,
“satnogs-client-ansible”: “202209101521”,
“satnogs-flowgraphs”: “1.4-1”,
“gr-satnogs”: “2.3.5.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”: “2024-02-11T17:55:10.017598+00:00”,
“distribution”: {
“DESCRIPTION”: “Raspbian GNU/Linux 11 (bullseye)”,
“RELEASE”: “11”,
“CODENAME”: “bullseye”,
“ID”: “Raspbian”
},
“pending-updates”: true,
“platform”: {
“system”: “Linux”,
“node”: “satnogs”,
“release”: “6.1.21-v8+”,
“version”: “#1642 SMP PREEMPT Mon Apr 3 17:24:16 BST 2023”,
“machine”: “aarch64”
},
“memory”: {
“total”: 1939042304,
“available”: 1735798784,
“percent”: 10.5,
“used”: 137863168,
“free”: 1383464960,
“active”: 247783424,
“inactive”: 212783104,
“buffers”: 23719936,
“cached”: 393994240,
“shared”: 864256,
“slab”: 51073024
},
“disk”: {
“total”: 31073529856,
“used”: 3973603328,
“free”: 25783132160,
“percent”: 13.4
}
},
“configuration”: {
“satnogs_antenna”: “RX”,
“satnogs_api_token”: “[redacted]”,
“satnogs_rf_gain”: “27”,
“satnogs_rx_samp_rate”: “96000”,
“satnogs_soapy_rx_device”: “rtlsdr”,
“satnogs_station_elev”: “17”,
“satnogs_station_id”: “3378”,
“satnogs_station_lat”: “53.83555”,
“satnogs_station_lon”: “10.34107”
}
}
------------[ copy end ]-------------

Hi,
sorry to hear it does not work at first run. However, being only able to run 96 ksamples makes me guess you have selected and audio device instead of the E4000 USB device.

Dit you run sudo satnogs-setup and set the paramters for the rtl device, like sample rate, antenna and so on ?

Ben


I performed the settings like it is described on the “client setup page”

Now I changed the sample rate back to the 2.048e6 rate, which is possible for my rtlsdr device.

Then the logs looks like, that everthing is ok:
satnogs-client.service - SatNOGS client
Loaded: loaded (/etc/systemd/system/satnogs-client.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2024-02-11 19:23:49 UTC; 4min 32s ago
Main PID: 1905 (satnogs-client)

Also the log looks fine, after applying the sample rate change.

Later during an observation I get so many failure messages, that I don’t understand what is wrong:

– Journal begins at Tue 2023-11-14 21:44:27 UTC. –
Feb 11 17:55:19 satnogs satnogs-client[392]: File “/var/lib/satnogs/lib/python3.9/site-packages/satnogsclient/waterfall.py”, line 76, in _get_waterfall
Feb 11 17:55:19 satnogs satnogs-client[392]: waterfall = _read_waterfall(datafile_path)
Feb 11 17:55:19 satnogs satnogs-client[392]: File “/var/lib/satnogs/lib/python3.9/site-packages/satnogsclient/waterfall.py”, line 34, in _read_waterfall
Feb 11 17:55:19 satnogs satnogs-client[392]: ‘timestamp’: np.fromfile(datafile, dtype=‘|S32’, count=1)[0],
Feb 11 17:55:19 satnogs satnogs-client[392]: IndexError: index 0 is out of bounds for axis 0 with size 0
Feb 11 19:23:49 satnogs systemd[1]: Stopping SatNOGS client…
Feb 11 19:23:49 satnogs systemd[1]: satnogs-client.service: Succeeded.
Feb 11 19:23:49 satnogs systemd[1]: Stopped SatNOGS client.
Feb 11 19:23:49 satnogs systemd[1]: satnogs-client.service: Consumed 13.081s CPU time.
Feb 11 19:23:49 satnogs systemd[1]: Started SatNOGS client.
Feb 11 20:04:37 satnogs satnogs-client[1905]: rot_init called
Feb 11 20:04:37 satnogs satnogs-client[1905]: initrots4_dummy: _init called
Feb 11 20:04:37 satnogs satnogs-client[1905]: rot_register (1)
Feb 11 20:04:37 satnogs satnogs-client[1905]: rot_register (2)
Feb 11 20:04:37 satnogs satnogs-client[1905]: dummy_rot_init called
Feb 11 20:04:37 satnogs satnogs-client[1905]: rot_open called
Feb 11 20:04:37 satnogs satnogs-client[1905]: dummy_rot_open called
Feb 11 20:04:37 satnogs satnogs-client[1905]: rot_get_position called
Feb 11 20:04:37 satnogs satnogs-client[1905]: dummy_rot_get_position called
Feb 11 20:04:37 satnogs satnogs-client[1905]: rot_get_position: got az=0.00, el=0.00
Feb 11 20:04:37 satnogs satnogs-client[1905]: rot_set_position called az=94.40 el=29.99
Feb 11 20:04:37 satnogs satnogs-client[1905]: rot_set_position: south_zero=0
Feb 11 20:04:37 satnogs satnogs-client[1905]: dummy_rot_set_position called: 94.40 29.99
Feb 11 20:04:37 satnogs satnogs-client[1905]: rig_init: rig does not have rx_range!!
Feb 11 20:04:37 satnogs satnogs-client[1905]: network_open: hoststr=127.0.0.1, portstr=4532
Feb 11 20:04:39 satnogs satnogs-client[1965]: [INFO] [UHD] linux; GNU C++ version 10.2.1 20210110; Boost_107400; UHD_3.15.0.0-4+b1satnogs1
Feb 11 20:04:39 satnogs satnogs-client[1965]: Found Elonics E4000 tuner
Feb 11 20:04:39 satnogs satnogs-client[1965]: Traceback (most recent call last):
Feb 11 20:04:39 satnogs satnogs-client[1965]: File “/usr/bin/satnogs_noaa_apt_decoder.py”, line 484, in
Feb 11 20:04:39 satnogs satnogs-client[1965]: main()
Feb 11 20:04:39 satnogs satnogs-client[1965]: File “/usr/bin/satnogs_noaa_apt_decoder.py”, line 467, in main
Feb 11 20:04:39 satnogs satnogs-client[1965]: tb = top_block_cls(antenna=options.antenna, bb_freq=options.bb_freq, bw=options.bw, dc_removal=options.dc_removal, decoded_data_file_path=options.decoded_data_file_path, dev_args=options.dev_args, doppler_correction_per_sec=options.doppler_correction_per_sec, enable_iq_dump=options.enable_iq_dump, file_path=options.file_path, flip_images=options.flip_images, gain=options.gain, gain_mode=options.gain_mode, iq_file_path=options.iq_file_path, lo_offset=options.lo_offset, other_settings=options.other_settings, ppm=options.ppm, rigctl_port=options.rigctl_port, rx_freq=options.rx_freq, samp_rate_rx=options.samp_rate_rx, soapy_rx_device=options.soapy_rx_device, stream_args=options.stream_args, sync=options.sync, tune_args=options.tune_args, udp_IP=options.udp_IP, udp_dump_host=options.udp_dump_host, udp_dump_port=options.udp_dump_port, udp_port=options.udp_port, waterfall_file_path=options.waterfall_file_path)
Feb 11 20:04:39 satnogs satnogs-client[1965]: File “/usr/bin/satnogs_noaa_apt_decoder.py”, line 90, in init
Feb 11 20:04:39 satnogs satnogs-client[1965]: self.soapy_source_0_0 = soapy.source(1, dev, dev_args, stream_args,
Feb 11 20:04:39 satnogs satnogs-client[1965]: File “/usr/lib/python3/dist-packages/soapy/soapy_swig.py”, line 131, in make
Feb 11 20:04:39 satnogs satnogs-client[1965]: return _soapy_swig.source_make(nchan, device, dev_args, stream_args, tune_args, other_settings, sampling_rate, type)
Feb 11 20:04:39 satnogs satnogs-client[1965]: RuntimeError: soapy::source: Unsupported sample rate (2048000.000000). Rate must be in the range [8000.000000, 8000.000000] [16000.000000, 16000.000000] [22050.000000, 22050.000000] [32000.000000, 32000.000000] [44100.000000, 44100.000000] [48000.000000, 48000.000000] [96000.000000, 96000.000000]
Feb 11 20:04:41 satnogs satnogs-client[1905]: netrigctl_close: done status=Command completed successfully
Feb 11 20:04:43 satnogs satnogs-client[1905]: satnogsclient.observer.observer - ERROR - No waterfall data file found

1 Like

Hi @db2tr,

It looks like that Soapy doesn’t support 2.048e6 sample rate for your SDR:

In the error message above you can see the supported ranges.

EDIT: Check @PE0SAT post below


By the way, I’ve removed your current API token/key as you accidentally shared part of it in your screenshots. To get the new one just visit the Network site, click on your avatar at the top right and go to the dashboard, there you can click on the API key button. This process will generate and give you a new API key.

If you need to share your configuration, please use the output of the support report generated by the menu item Advanced -> Support from sudo satnogs-setup.

Change SATNOGS_SOAPY_RX_DEVICE rtlsdr to SATNOGS_SOAPY_RX_DEVICE to driver=rtlsdr

1 Like

Thank you for your help and hint with the API token.
Next time will be more carefully.

1 Like

Hello PE0SAT,
I changed the “SATNOGS_SOAPY_RX_DEVICE” value and now it is working. :smiley:
Thanks a lot for your help

3 Likes

Great to see it is working, looking at your station 3378 I do think you need to experiment with the gain settings.

I don’t know what RF chain you are using: Antenna type ?? -> LNA ?? -> coax type/lenght ?? -> SDR

The E4000 has some specific gain settings that can be used, but can also be confusing.

There are more stations using the E4000 search on the community pages to find some examples.
Here an example of a station that was also having some issues.

Good luck,
Jan PE0SAT

Yes, you are right, I need to play with the gain now.

Currently my setup has a bandpass filter for 137 MHz and no pre-amplifier.

I started without LNA and internal gain of 27db.
Also a internal gain of 35db didn’t help.

Now I added a Nooelec LaNA pre-amplifier.

Later I will change the bandpass filter with a combiner for 2m / 70cm ( with internal filters).

I hope I will have a running setup soon.

best regards
Thomas, DB2TR

Hi Thomas,

I found a reasonably simple way to test your SatNOGS RPi/RTL-SDR hardware setup and to establish gain setting was to use the PiSDR image by Luigi Cruz. Luigi has built this for a RPi with heaps of useful ham radio software already installed. PiSDR has a Desktop GUI and you can run GQRX which is a fairly simple SDR program. It does need a display, keyboard and mouse – just temporarily.

Here is the link….GitHub - luigifcruz/pisdr-image: 🥧 A SDR Linux Distro for the Raspberry Pi and other SBC. Compatible out of the box with multiple SDR.. Just download the ‘2022-01-07-PiSDR-vanilla.img.xz’ iso and burn it to another SD card. Pull out the SatNOGS SD card, connect the screen, keyboard & mouse, pop in the PiSDR card and power it up. You will have to configure the usual language, timezone & keyboard stuff but that is quick.

Once you have done that, fire up GQRX and just Scan for Devices……Then select the RTL device and set the Device String to ‘rtl=0’ or ‘rtl=0,biast=1’ to turn on the bias-tee if you have one.

The SatNOGS Wiki ‘Build’ > ‘Omnidriectional Station Howto’ > ‘Setting the gain’….shows how to adjust the gain so that the noise floor just starts to rise….this is generally about the right level. This method uses GQRX instead of ‘Soapyremote-server’+Cubic SDR which, in my view is too hard for novices to get going. The link is Omnidirectional Station How To - SatNOGS Wiki

Note that this is useful for fault finding your RF hardware and for checking and correcting the PPM error on your SDR.

You should be able to listen to terrestrial repeaters, fm stations and strong satellites like the ISS or AO-73 when they come over……all using your SatNOGS RF setup.

When you are happy with the hardware config and have determined the optimum gain and PPM values you can put back the SatNOGS SD card and update the settings. You should be pretty close to having an optimized system.

Hope this helps.
John - VK4JBE

1 Like