Archiv nach Kategorien: Allgemein

APRS Rx-only IGate with Raspberry Pi and DVB-T dongle

This step-by-step instruction is tested on the Raspberry Pi with the raspbian distribution and a Terratec Cinergy TStick RC with E4000 tuner and an ezcap 2.0 DVB-T dongle with R820T tuner. I recommend a USB hub with seperate power supply that supports more than 100mA on one USB port. The voltage at the raspbery has to be stable and not below 5.0 V, if not you can run into sync errors with the stick.

It is recommended to update to version 1.0.0 or higher of pymultimonaprs, because if the connection to the internet is interrupted there will be no packets routed to the APRS-IS network anymore. Also the startscript and setup was updated.

Preparing the Raspberry Pi

sudo apt-get update
sudo apt-get upgrade
sudo raspi-config
mkdir ~/src

Avoid the Raspberry to load a kernel module
Edit /etc/modprobe.d/raspi-blacklist.conf file and add the following lines

blacklist dvb_usb_rtl28xxu
blacklist dvb_usb_v2
blacklist rtl_2830
blacklist rtl_2832
blacklist r820t

Then reboot the Raspberry or enter ’sudo rmmod dvb_usb_rtl28xxu‘

Installation of driver for the DVB-T dongle

cd ~/src
sudo apt-get install git build-essential cmake libusb-1.0-0-dev
git clone git://
cd rtl-sdr
mkdir build
cd build
sudo make install
sudo ldconfig

Test the rtl dongle and determine possible gain settings


Based on your antenna setup you have to choose a different gain, so that your signal is strong enough but not overloaded. I suggest to start rtl_tcp on the console and start SDRsharp, SDR-Radio, etc. on another computer and play with the gain settings.

Installation of multimonNG decoder

cd ~/src
sudo apt-get install qt4-qmake libpulse-dev libx11-dev patch pulseaudio
git clone
cd multimonNG
mkdir build
cd build
qmake-qt4 ../
sudo make install

Installation of kalibrate tool

cd ~/src
sudo apt-get install libtool autoconf automake libfftw3-dev
git clone
cd kalibrate-rtl
git checkout arm_memory
sudo make install

Example of calibrating your DVB-T dongle with E4000 chip (remember PPM for later)

kal -s GSM900
kal -c 36

Channel 36 was the strongest in my region, yours can be different.

With the new R820T(2) Chip the kalibrate tool will give us often the wrong PPM value. You can use the command rtl_test -p instead, which will show you the right PPM value after some minutes runtime.

Installation of APRS IGate software

cd ~/src
sudo apt-get install python2.7 python-pkg-resources
git clone
cd pymultimonaprs
sudo python2 install

Prepare the startscript

sudo cp pymultimonaprs.init /etc/init.d/pymultimonaprs
sudo chmod +x /etc/init.d/pymultimonaprs
sudo systemctl enable pymultimonaprs

Generate APRS-IS password for own CALL

cd ~/src/pymultimonaprs
Key for CALLSIGN: 31983

Please only use your CALLSIGN without the SSID.

Change configuration file (Call, password, position, gain, ppm, etc.)

sudo nano /etc/pymultimonaprs.json

Do not use leading zeros in front of lat and lon parameters.

To test if all is configured well and works fine enter the following (Strg+C cancels)

rtl_fm -f 144800000 -s 22050 -p 18 -g 42.0 - | multimon-ng -a AFSK1200 -A -t raw -

The 18 behind the -p option is my PPM and the 42.0 behind the -g option is one of the available gain settings of my stick

Start pymultimonaprs

sudo /etc/init.d/pymultimonaprs start

Have fun.

AddOn: Catch the ISS APRS Frames too
Edit pymultimonaprs/ and change line 32-35 to

proc_src = subprocess.Popen(
    ['rtl_fm', '-f', str(int(self.config['rtl']['freq'] * 1e6)), '-f', '145825000', '-s', '22050',
    '-p', str(self.config['rtl']['ppm']), '-g', str(self.config['rtl']['gain']), '-l', '10', '-'],
    stdout=subprocess.PIPE, stderr=open('/dev/null')

If you add more than one -f option, then the -l option is necessary (squelch).

After that build and install the code again.

sudo python build
sudo python install
sudo /etc/init.d/pymultimonaprs stop
sudo /etc/init.d/pymultimonaprs start

AATiS AS296 Modem mit Xastir unter Ubuntu Linux

Schon seit längerem habe ich hier das Packet Radio Modem AS296 vom AATiS e.V. liegen. Leider hatte ich nie Erfolg das Modem unter Ubuntu Linux zum laufen zu bekommen. Das Problem war immer der fehlende Support für ein Pseudo-Terminal. Doch bei habe ich die Lösung gefunden.

Nachdem diese Schritte durchgeführt sind und der Rechner neu gebootet wurde kann es man mit folgendem Befehl überprüfen:

ls -l /dev/ptypb
crw-rw-rw- 1 root tty 2, 11 Mai 18 17:49 /dev/ptypb

Nun laden wir uns das aktuelle Installations-Paket für das Modem und entpacken es

mkdir src
cd src
wget -O
cd aatis-modem-0.2.0
sudo cp aatis-modem /etc/init.d/
sudo cp aatis-modem.default /etc/default/aatis-modem
sudo cp usb-as296-to-tty-d /usr/sbin/

Jetzt müssen wir in der Datei /etc/ax25/axports einen Port mit unserem Rufzeichen anlegen. Die Datei sollte nach dem Bearbeiten mit z.B. nano etwa so aussehen:

# /etc/ax25/axports
# The format of this file is:
# name callsign speed paclen window description
ax0 DL1MX 9600 255 7 Packet Radio

Achtung! Die Geschwindigkeit ist die für die Kommunikation mit dem Modem und nicht die Packet Radio Geschwindigkeit.

Auch die Datei /etc/default/aatis-modem muss angepasst werden. Der Parameter PTTY kann auf /dev/ptypb stehen bleiben. Anzupassen ist noch die IP-Adresse, das TXDELAY und die BAUDRATE. Für APRS muss hier 1200 stehen.

Nun kann das Modem gestartet werden:

marco@desktop:~/src/aatis-modem-0.2.0$ sudo /etc/init.d/aatis-modem start
Starting AAtis Modemattach pseudotty to ax25-kernel
AS296 Modem driver - Version: 0.2.0
selected mode 1200
set txdelay 150 ms
use persistence 255
use slottime 100 ms
use DAMA parameter
use pseudotty /dev/ptypb
AX.25 port ax0 bound to device ax0
found Modem

Okay, der port ax0 ist nun für uns verfügbar. Jetzt muss nur noch Xastir gestartet werden und konfiguriert werden. Das sieht bei mir so aus: Konfiguration von Rufzeichen, Position, Symbol und KommentarAuswahl Modemtyp Konfiguration des Ports


… auf meinem neuen Blog.