Skip to content

Setting up a Raspberry Pi

Pieter Noordhuis edited this page Feb 3, 2018 · 6 revisions

Going from an empty SD card to a Raspberry Pi running goesrecv requires a few steps.

Raspbian

Download Raspbian here. This page also contains instructions to write it to an SD card.

If you want to run this Pi without monitor (headless mode), you need to enable SSH access. You can do this by adding an empty file named ssh to the boot partition. This is the first and smaller of the two partitions that make up the Raspbian image. Now, SSH will be started upon booting the Pi, and you can login over the network using the username pi and password raspberry.

Update firmware (optional)

sudo rpi-update

Enabling the hardware watchdog (optional)

Useful when the board hangs (e.g. due to a VC programming error).

Instructions from here.

Verified to work on kernel 4.9.59 (as of December 18, 2017).

Add the following to /boot/config.txt:

# Activate hardware watchdog
dtparam=watchdog=on

Reboot to make this change take effect.

You can check if the change took effect by grepping your kernel logs:

$ dmesg | grep watchdog
bcm2835-wdt 3f100000.watchdog: Broadcom BCM2835 watchdog timer

Install watchdog tool:

sudo apt-get install -y watchdog

Edit /etc/watchdog.conf to contain:

watchdog-device	= /dev/watchdog
watchdog-timeout = 10

Enable and start watchdog service:

sudo systemctl enable watchdog
sudo systemctl start watchdog

Now if you check the status you should see something like this:

$ systemctl status watchdog
[...]
Dec 19 05:20:42 raspberrypi watchdog[758]: interface: no interface to check
Dec 19 05:20:42 raspberrypi watchdog[758]: temperature: no sensors to check
Dec 19 05:20:42 raspberrypi systemd[1]: Started watchdog daemon.
Dec 19 05:20:42 raspberrypi watchdog[758]: no test binary files
Dec 19 05:20:42 raspberrypi watchdog[758]: no repair binary files
Dec 19 05:20:42 raspberrypi watchdog[758]: error retry time-out = 60 seconds
Dec 19 05:20:42 raspberrypi watchdog[758]: repair attempts = 1
Dec 19 05:20:42 raspberrypi watchdog[758]: alive=/dev/watchdog heartbeat=[none] to=root no_act=no force=no
Dec 19 05:20:42 raspberrypi watchdog[758]: watchdog now set to 10 seconds
Dec 19 05:20:42 raspberrypi watchdog[758]: hardware watchdog identity: Broadcom BCM2835 Watchdog timer

Disable automatic updates (optional)

This can put unexpected load on the system when you don't want it...

sudo systemctl stop apt-daily-upgrade.timer
sudo systemctl stop apt-daily.timer
sudo systemctl disable apt-daily-upgrade.timer
sudo systemctl disable apt-daily.timer

Blacklist RTL2832 related kernel modules

This is necessary if you're using an RTL2832 dongle.

Add a file /etc/modprobe.d/blacklist-rtl2832.conf with contents:

blacklist dvb_usb_rtl28xxu
blacklist rtl2832

Install dependencies

These are installed as dependencies of goestools automatically (todo) but can be useful to install manually if you first want to double check that the SDR of your choice works as expected.

RTL-SDR

Install rtl-sdr:

sudo apt-get install -y rtl-sdr

Run rtl_test to check that the USB dongle can be detected and that it can stream samples.

Airspy

This should work for any Airspy (R1, R2, or Mini).

Install airspy:

sudo apt-get install -y airspy

Run airspy_info to check that the USB dongle can be detected.