Table of Contents
- Software Requirements
- Next Steps
- Further Information
The SDR setup is connected as follows:
- Connect the RTL-SDR USB dongle to your host PC.
- Connect the non-powered port of the power supply (labeled as “Signal to IRD”) to the RTL-SDR using an SMA cable and an SMA-to-F adapter.
- Connect the powered port (labeled “Signal to SWM”) of the power supply to the LNB using a coaxial cable (an RG6 cable is recommended).
IMPORTANT: Do NOT connect the powered port of the power supply to the SDR interface. Permanent damage may occur to your SDR and/or your computer.
The SDR-based setup relies on the applications listed below:
- leandvb or gr-dvbs2rx: the software-based DVB-S2 receiver application.
- rtl_sdr: reads samples taken by the RTL-SDR and feeds them into leandvb.
- TSDuck: unpacks the output of leandvb and produces IP packets to be fed to Bitcoin Satellite.
- Gqrx: useful for spectrum visualization during antenna pointing.
To install them all at once, run the following:
blocksat-cli deps install
Note: this command supports the two most recent releases of Ubuntu LTS, Fedora, CentOS, Debian, and Raspbian. In case you are using another Linux distribution or version, please refer to the manual compilation and installation instructions.
If you prefer to install all software components manually, please refer to the manual installation section. Also, if you would like to try the alternative receiver application based on the GNU Radio framework, see the gr-dvbs2rx section.
After installing, you can generate the configurations that are needed for gqrx by running:
Note: this command assumes you are using an RTL-SDR dongle.
You should now be ready to launch the SDR receiver. You can run it by executing:
More specifically, as thoroughly explained in the antenna alignment section, you might want to run with specific gain and de-rotation parameters that are suitable to your setup, like so:
blocksat-cli sdr -g [gain] --derotate [freq_offset]
[freq_offset] should be substituted by the appropriate values.
At this point, if your antenna is already correctly pointed, you should be able to start receiving data on Bitcoin Satellite. Please follow the instructions for Bitcoin Satellite configuration. If your antenna is not aligned yet, refer to the antenna alignment guide.
To update the SDR software to the most recent releases, run:
blocksat-cli deps update
A Docker image is available for running the SDR host on a container. Please refer to the instructions in the Docker guide.
An alternative software-defined DVB-S2 receiver implementation named gr-dvbs2rx is available on the CLI starting from version 0.4.5. This application is based on the GNU Radio framework for software-defined radio, and it is supported on Fedora 36 and Ubuntu 22.04 or later versions only.
The CLI installs gr-dvbs2rx automatically when available. However, if you are running an existing setup configured with a CLI version preceding 0.4.5, please rerun the installation command:
blocksat-cli deps install
Then, relaunch the SDR receiver with the regular command below. The CLI will choose the gr-dvbs2rx application by default when available. However, you can always toggle the implementation using option
If you do not wish to rely on the automatic installation handled by command
blocksat-cli deps install, you can install all applications manually.
First, enable our repository for binary packages. On Ubuntu/Debian, run:
add-apt-repository ppa:blockstream/satellite apt-get update
add-apt-repositoryis not available in your system, install package
On Fedora, run:
dnf copr enable blockstream/satellite
copr enableis not available in your system, install package
Finally, install the applications:
sudo apt install rtl-sdr leandvb tsduck gqrx-sdr
sudo dnf install rtl-sdr leandvb tsduck gqrx
leandvb and (or)
tsduck are not available as binary packages in your distribution, you can build and install them from source.
To build leandvb from source, first install the dependencies:
apt install git make g++ libx11-dev
dnf install git make g++ libX11-devel
git clone --recursive https://github.com/Blockstream/leansdr.git cd leansdr/src/apps make sudo install leandvb /usr/bin
Next, build and install
cd ../../LDPC/ make CXX=g++ ldpc_tool sudo install ldpc_tool /usr/bin
To build and install TSDuck from source, run:
git clone https://github.com/tsduck/tsduck.git cd tsduck build/install-prerequisites.sh make NOTELETEXT=1 NOSRT=1 NOPCSC=1 NOCURL=1 NODTAPI=1 sudo make NOTELETEXT=1 NOSRT=1 NOPCSC=1 NOCURL=1 NODTAPI=1 install