Skip to content

sdr server

dernasherbrezon edited this page Feb 12, 2022 · 5 revisions

sdr-server is a high performant TCP server for rtl-sdr. It allows running multiple observations at the same time. With sdr-server it is possible to increase base station utilisation significantly. Prerequisites:

  • omni-directional antenna
  • rtl-sdr
  • no rotator

Install

sudo apt-get update
sudo apt-get install sdr-server

Configure

Configuration is manual. Edit it at: ~/.r2cloud and add/change the following line:

satellites.sdr=sdrserver

Other parameters are:

sdr.devices=0
sdr.device.0.minFrequency=100000000
sdr.device.0.maxFrequency=1700000000
sdr.device.0.ppm=0
sdr.device.0.sdrserver.host=127.0.0.1
sdr.device.0.sdrserver.port=8090
#sdr.device.0.sdrserver.basepath=/tmp
sdr.device.0.sdrserver.usegzip=false
sdr.device.0.sdrserver.timeout=10000

Switch unix user from root to pi for sdr-server service:

sudo systemctl edit sdr-server

Add the following lines:

[Service]
User=pi
Group=pi

Make sure sdr-server is running:

sudo systemctl status sdr-server

Restart r2cloud to pick-up new settings:

sudo systemctl restart r2cloud

Results

AAUSAT-4 and BUGSAT-1 transmitting on the very close frequencies at the same time:

Screenshot 2021-03-26 at 11 52 08

Both satellites decoded:

Screenshot 2021-03-26 at 11 51 44

Advanced

sdr-server can be executed on RaspberryPI. However setup might require additional tuning.

CPU

sdr-server is sensitive to CPU usage. If some other process started consuming a lot of CPU, then sdr-server can drop some samples. By default sdr-server can store 4 seconds of data in the internal buffers. There are several options to address that:

  • increase queue_size parameter to 128 or 200
  • run sdr-server on a dedicated core.

SD Card

SD card can be slow and block writing data for 4 seconds. This would trigger queue is full message in the logs. To address that:

  • Buy faster SD Card
  • Uninstall or disable applications that write to SD card a lot. You can find top I/O processes using the command: sudo iotop
  • Use external SSD disk for observations and tmp directories
Clone this wiki locally