This guide is written using a Raspberry Pi Model 1b with RTLSDR dongle using the R820T tuner. Any Unix like system should work if you've got access to the rtl_fm tool.
This guide contains steps for both Raspbian Wheezy (5/5/2015) and Raspbian Jessie Lite (26/02/2016).
If using a Raspbian image you'll want to install it onto the SD card with a suitable disk imager, boot the Pi and expand the filesysyem. You'll likely want to install the relevant updates, change hostname and change the password for the pi user.
On Raspbian Jessie Lite you'll need to install git.
sudo apt-get install git
On Jessie images there is a package with the required tools.
sudo apt-get install rtl-sdr
It should now be safe to plug in the dongle (if it was plugged in previously you may need to reboot to clear out the dvb drivers)
You will need to compile the rtl-sdr tools manually as they're not packaged.
Install required build tools.
sudo apt-get install cmake libusb-1.0-0 libusb-1.0-0-dev
Get the Source code.
git clone git://git.osmocom.org/rtl-sdr.git
Setup the build environment
mkdir rtl-sdr/build cd rtl-sdr/build
Build the tools
cmake ../ -DINSTALL_UDEV_RULES=ON make
and install
sudo make install sudo ldconfig
Blacklist the DVB drivers (based on the jessie package)
sudo tee /etc/modprobe.d/rtl-sdr-blacklist.conf >/dev/null << _EOF # This system has librtlsdr0 installed in order to # use digital video broadcast receivers as generic # software defined radios. blacklist dvb_usb_rtl28xxu blacklist e4000 blacklist rtl2832 _EOF
It should now be safe to plug in the dongle (if it was plugged in previously you may need to reboot to clear out the dvb drivers)
You can test the dongle with the rtl_test tool, this will give an output like:
pi@raspberrypi ~ $ rtl_test Found 1 device(s): 0: Realtek, RTL2838UHIDIR, SN: 00000001 Using device 0: Generic RTL2832U OEM Found Rafael Micro R820T tuner Supported gain values (29): 0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6 [R82XX] PLL not locked! Sampling at 2048000 S/s. Info: This tool will continuously read from the device, and report if samples get lost. If you observe no further output, everything is fine. Reading samples in async mode...
You can press Ctrl-C to exit this test.
If you get lots of errors it might indicate the dvb drivers are also loaded.
Install the required libraries
sudo apt-get install libcurl4-openssl-dev
Get the code
git clone https://github.com/UKHASnet/UKHASnet-decoder.git
Compile
cd UKHASnet-decoder/ make
To decode and upload packets use:
rtl_fm -f 869500000 -s 64k -p 0 -r 8000 | ./UKHASnet-decoder -s 8000 -w
Fixes to apply include: