APRS iGate mit Raspberry Pi + RTL-SDR Stick

Nach einigem warten, ist der RTL-SDR.com Stick endlich bei mir im Briefkasten eingetroffen. Somit habe ich jetzt alle Komponenten zusammen um meinen APRS iGate auf dem Raspberry Pi 4B zu installieren. Aus dem schnellen, ich nehme eine tolle Anleitung aus dem Internet und installiere die benötigte Software, wurden ein paar Stunden des installieren und probieren auf der Bastelkiste Raspberry Pi. Nach einigen genervten Versuchen pymultimonaprs zu installieren habe ich mich entschlossen Direwolf zu verwenden. Für mich eine gute Entscheidung… danach ging es ruckzuck endlich alles fertig zu konfigurieren. Ich habe versucht mir alles zu merken und eine aktuelle Version als Installationsanleitung zu erstellen da die im Internet verfügbaren alle ein paar wenige Korrekturen benötigen.

Installation

Raspberry Pi updaten

  • sudo apt-get update
  • sudo apt-get upgrade

Standard RTL-Treiber deinstallieren

Als erstes muss man die standard RTL-Treiber des Raspberry deinstallieren. Das ist notwendig damit man RTL-SDR Stick auf der gewollten 144.800 MHz nutzen kann . Dazu muss man die Datei /etc/modprobe.d/raspi-blacklist.conf anpassen damit die Standard-Treiber nicht geladen werden.

Die Datei /etc/modprobe.d/raspi-blacklist.conf wird nun mit

  • cd ~
  • cd /etc
  • cd modprobe.d
  • sudo nano raspi-blacklist.conf

aufgerufen und die notwendigen Zeilen eingetragen.

blacklist dvb_usb_rtl28xxu
blacklist rtl_2832
blacklist rtl_2830
blacklist r820t

Die Datei speichern und schliessen.
Um die alten Treiber zu entfernen muss man den Raspberry Pi neu starten.

  • sudo reboot

RTL-SDR Software und Treiber installieren

Den RTL-SDR USB Stick am Raspberry Pi anstecken.

  • cd ~
  • sudo apt-get install git git-core cmake libusb-1.0-0-dev build-essential
  • git clone git://git.osmocom.org/rtl-sdr.git
  • git clone https://github.com/osmocom/rtl-sdr.git
  • cd rtl-sdr
  • mkdir build
  • cd build
  • cmake ../ -DDETACH_KERNEL_DRIVER=ON -DINSTALL_UDEV_RULES=ON
  • make
  • sudo make install
  • sudo ldconfig
  • sudo cp ~/rtl-sdr/rtl-sdr.rules /etc/udev/rules.d/
  • sudo reboot

RTL-SDR Stick und Treiber testen

Anzeigen der USB Geräte

  • lsusb

Mit folgenden Befehl kannst du den Stick testen

  • rtl_test -t

Wenn alles geklappt hat, wird der RTL-SDR Stick erkannt und angezeigt.

Direwolf installation

  • sudo apt-get install gcc
  • sudo apt-get install g++
  • sudo apt-get install make
  • sudo apt-get install cmake

Installing sound libraries

  • sudo apt-get install libasound2-dev
  • sudo apt-get install libudev-dev
  • git clone https://www.github.com/wb2osz/direwolf
  • cd direwolf
  • git checkout dev
    mkdir build && cd build
  • cmake ..
  • make -j4
  • sudo make install
  • make install-conf

Anpassen der sdr.conf

  • nano sdr.conf

MYCALL HB9HJI-10
IGSERVER euro.aprs2.net
IGLOGIN CALL-10 Passcode
PBEACON sendto=IG delay=0:30 every=30:00 symbol=»igate» overlay=R lat=47^33.09N long=009^17.39E COMMENT=»APRS iGate on Raspberry https://funkwelt.net»

Anpassen der direwolf.conf

  • nano direwolf.conf

Starten direwolf

rtl_fm -f 144.800M | direwolf -c sdr.conf -r 24000 -d 1 –

Die ersten Signale werden empfangen und dekodiert, man kann dies in der Shell mitverfolgen. Nach wenigen Sekunden ist unser Gateway auf der Seite aprs.fi zu sehen.

Das Projekt ist noch nicht ganz zu Ende ;)… ich werde mich noch mit der langen Dokumentation von Direwolf zu Gemüte nehmen und die .conf Files anpassen.

3 Gedanken zu “APRS iGate mit Raspberry Pi + RTL-SDR Stick

  1. Ingo Antworten

    Hallo Chris,
    vielen Dank für die Installationsanleitung.
    Ich habe leider das Problem, dass die Installation für direwolf beim Befehl «make -j4» mit folgenden Fehlermeldungen abbricht:

    /home/pi/direwolf/src/config.c:970:26: error: ‘PATH_MAX’ undeclared (first use in this function)
    970 | char absfilepath[PATH_MAX];
    | ^~~~~~~~
    /home/pi/direwolf/src/config.c:970:26: note: each undeclared identifier is reported only once for each function it appears in
    [ 67%] Building C object src/CMakeFiles/atest.dir/textcolor.c.o
    [ 68%] Building C object src/CMakeFiles/direwolf.dir/decode_aprs.c.o
    compilation terminated due to -fmax-errors=1.
    make[2]: *** [src/CMakeFiles/direwolf.dir/build.make:188: src/CMakeFiles/direwolf.dir/config.c.o] Error 1
    make[2]: *** Waiting for unfinished jobs….
    [ 69%] Linking C executable atest
    [ 69%] Built target atest
    make[1]: *** [CMakeFiles/Makefile2:401: src/CMakeFiles/direwolf.dir/all] Error 2
    make: *** [Makefile:156: all] Error 2

    Ich habe es auf zwei unterschiedlichen RPi’s ausprobiert mit dem gleichen Ergebnis. – OS-Release ist «Raspbian GNU/Linux 12 (bookworm)».
    Wie kann ich das Problem lösen, Infos im Internet finde ich kaum oder gehen für mein Verständnis zu tief ins System.
    73 de Ingo, DG1RWA

    • Chris Beitragsautor Antworten

      Guten Tag Ingo, ich kenne mich nur am Rande mit den Raspians aus. Du musst die Datei /home/pi/direwolf/src/config.c öffnen und zu Zeile 970 gehen. Dort findest Du den Bezeichner, der die Fehlermeldung verursacht hat. Aus der Ferne kann ich dazu nicht viel mehr sagen.
      Beste 73 de Chris

      • Ingo Antworten

        Hallo Chris, nachdem ich 4 Woche später nach meinem Urlaub die Installationsprozedur noch einmal auf beiden Rpi’s durchgegangen bin, ist «make -j4» wundersam durchgelaufen.
        Vielleicht wurde in der Zwischenzeit in einer Repo was geändert was mit einem erneuten apt-upgrade geheilt wurde.
        Direwolf hat mich danach auch nur in APRS angemeldet, wenn ich den rtl_fm-Befehl in einer Batchdatei ausführe. Die sdr.conf war korrekt konfiguriert.
        Bisher lief bei mir pymultimonaprs, allerdings nicht stabil – immer wieder Abbrüche nach 1-3 Tagen mit Errno9 wegen eines weather file.
        73 de Ingo, DG1RWA

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert