---
title: 'Running the RTL-SDR receiver for APRS IGate on Linux'
url: 'https://ra1ahq.blog/en/zapusk-priyomnika-rtl-sdr-dlya-aprs-igate-v-linux'
markdown: 'https://ra1ahq.blog/en/zapusk-priyomnika-rtl-sdr-dlya-aprs-igate-v-linux.md'
lang: en
date: '2025-06-05'
description: 'Continued articles. This time I added DireWolf for APRS to RTLSDR. Initial data Transmitting side (walkie-talkie) Baofeng UV-5r *AP'
taxonomy:
  archives_month:
    - jun_2025
  archives_year:
    - '2025'
---

# Running the RTL-SDR receiver for APRS IGate on Linux

5 

 June 

 2025 

 ![Running the RTL-SDR receiver for APRS IGate on Linux](https://ra1ahq.blog/images/e/f/a/4/d/efa4dfc5897be02f9817d3393d267b2f5367006f-aprs.webp)17:23

### Running the RTL-SDR receiver for APRS IGate on Linux

5 June 2025 17:23

Continued [articles](https://ra1ahq.blog/en/zapusk-priyomnika-rtl-sdr-i-gqrx-v-linux). This time I added DireWolf for APRS to RTLSDR.

### Initial data

#### Transmitting side (walkie-talkie)

- Baofeng UV-5r
    \*APRS K-1 cable
- smartphone
    \*APRSdroid

#### Receiving side (stationary personal computer - IGate)

\*Linux Mint 21.3

- ezcap RTL-SDR
- rtl\_fm
- DireWolf

### Using the rtl\_fm console utility and the aplay command to receive FM radio

The rtl\_fm utility allows you to transfer the result of audio demodulation to stdout. The rtl\_fm command is included in the rtl-sdr package (previously installed). But to play, you need to use a separate aplay command from the alsa-utils package, which works with “raw” data. Pipeline data at 128k sample rate

```
rtl_fm -M wbfm -f 87.5M -r 96k - | aplay -c 2 -r 48000 -f S16_LE
```

where -M wbfm - modulation
-f 87.5M - частота
-r 48k - частота дискретизации выходного "сырого" потока
-o 4 - Oversampling output by: 4x.
\- - - вывод в stdout
-c 2 - число каналов - стерео
-r 48000 - частота дискретизации выходного файла
-f S16\_LE - формат входных данных

Stereo for WFM:

```
rtl_fm -M wnfm -f 87.5M -s 220k -r 96k -A std -F 2 | aplay -c 2 -r 48000 -f S16_LE
```

Mono (much less noise):

```
rtl_fm -M wnfm -f 87.5M -s 220k -r 48k -A std -F 2 | aplay -c 1 -r 48000 -f S16_LE
```

where
-s 220k - частота дискретизации по входу
-r 48k - частота дискретизации данных по выходу
-A std - режим расчёта atan
-F 2 - улучшенный режим FIR
-c 1 - один канал

[ ![console](https://ra1ahq.blog/images/4/8/f/4/6/48f46e040e1c71b16ca4a78c4e6d18eefa59ea4d-console.png "console")](https://ra1ahq.blog/images/4/8/f/4/6/48f46e040e1c71b16ca4a78c4e6d18eefa59ea4d-console.png)

### Narrowband frequency modulation (NBFM) demodulation

To receive narrowband FM, you need to modify the command line parameters.

For output to a sound card, frequency 432.500 MHz for APRS:

```
rtl_fm -M fm -f 432.5M -r 24000  - | aplay -c 1 -r 24000 -f S16_LE
```

### Transferring audio from rtl\_fm to Direwolf for APRS

#### Installing DireWolf on Linux

Since the repository contains the latest version of DireWolf 1.6, I did not compile it, but installed it from the Linux Mint repository.

```
sudo apt-cache showpkg direwolf
sudo apt install direwolf
```

#### Setting up DireWolf

1\) Copy /etc/direwofl.conf to the working folder ~/direwolf,conf

2\) Correction of the ADEVICE line in the ~/direwolf.conf file to **null null**

![direwolf_conf](https://ra1ahq.blog/images/b/a/7/1/e/ba71e5abb4655fd25d0aadbfc1813954fa079f24-direwolfconf.png "direwolf_conf")

3\) Dire Wolf launch line with audio transmission from rtl\_fm (for APRS decoding)

```
rtl_fm -M fm -f 432.5M -r 24k - | direwolf -c ~/direwolf.conf -r 24000 -D 1 -dgit
```

where are the parameters of the rtl\_fm call

-M fm - narrowband FM modulation
-f 432.5M - reception frequency (or 144.8M for the 2 meter range)
-r 24k - sampling rate

direwolf call parameters

-c ~/direwolf.conf - configuration file indicating ADEVICE call sign
-r 24000 - input data sampling rate
-D 1 - divide (Divide) the input data into 1 channel (since this is mono, the number is 1)
-dgit - debug (-d) the following parameters: "g" - GPS interface, "i" - IGate, "t" - tracking beacon - location tracker,
\- - audio input from stdout

#### Transmitting and receiving APRS packet

On the smartphone I launched APRSdroid (version 1.6.3d) downloaded from the APRSdroid website.

In Baofeng, VOX level 1 setting, APRS-K1 cable.

On the computer - an SDR USB receiver, where the audio output, after demodulation from RTLSDR using rtl\_fm, is fed through the console to the input of direwolf - an APRS packet decoding program.

### Result

The APRS packet was successfully received by RTLSDR and decoded by Dire Wolf.

![igate](https://ra1ahq.blog/images/d/b/3/5/9/db3592230df0ff594d574e732704bb06dd00525d-igate.png "igate")

**Sources:**

*[Configuring rtl\_fm and Direwolf for decoding Amateur Radio Packet on the Raspberry Pi](https://www.kevinhooke.com/2015/07/26/configuring-rtl_fm-and-direwolf-for-decoding-amateur-radio-packet-on-the-raspberry-pi/)* [Direwolf on a Raspberry Pi with RTL-SDR](https://www.vnutz.com/articles/direwolf_on_a_raspberry_pi_with_rtlsdr)

[ Backward](https://ra1ahq.blog/en/zapusk-priyomnika-rtl-sdr-i-gqrx-v-linux "Previuous page")

[ Forward ](https://ra1ahq.blog/en/ustranenie-oshibki-finished-record-runlevel-change-in-utmp "Next page")

## Languages

- [Русский](https://ra1ahq.blog/posts/zapusk-priyomnika-rtl-sdr-dlya-aprs-igate-v-linux)
- [English](https://ra1ahq.blog/en/zapusk-priyomnika-rtl-sdr-dlya-aprs-igate-v-linux)
- [Deutsch](https://ra1ahq.blog/de/posts/zapusk-priyomnika-rtl-sdr-dlya-aprs-igate-v-linux)
- [Français](https://ra1ahq.blog/fr/posts/zapusk-priyomnika-rtl-sdr-dlya-aprs-igate-v-linux)
- [中文 (简体) (cn)](https://ra1ahq.blog/zh-cn/posts/zapusk-priyomnika-rtl-sdr-dlya-aprs-igate-v-linux)

## Theme

## RSS feeds

 [ Atom 1.0](https://ra1ahq.blog/en/.atom) [ RSS](https://ra1ahq.blog/en/.rss) 

## Popular tags

 [APRS](https://ra1ahq.blog/en/tag:APRS) [CW](https://ra1ahq.blog/en/tag:CW) [DX](https://ra1ahq.blog/en/tag:DX) [FM](https://ra1ahq.blog/en/tag:FM) [Linux](https://ra1ahq.blog/en/tag:Linux) [VHF](https://ra1ahq.blog/en/tag:VHF) [antennas](https://ra1ahq.blog/en/tag:antennas) [firefox](https://ra1ahq.blog/en/tag:firefox) [morse](https://ra1ahq.blog/en/tag:morse) [soundtrack](https://ra1ahq.blog/en/tag:soundtrack) [video](https://ra1ahq.blog/en/tag:video) [windows](https://ra1ahq.blog/en/tag:windows) [youtube](https://ra1ahq.blog/en/tag:youtube) [КВ](https://ra1ahq.blog/en/tag:%D0%9A%D0%92) [ТВ](https://ra1ahq.blog/en/tag:%D0%A2%D0%92) [УКВ](https://ra1ahq.blog/en/tag:%D0%A3%D0%9A%D0%92) [антенны](https://ra1ahq.blog/en/tag:%D0%B0%D0%BD%D1%82%D0%B5%D0%BD%D0%BD%D1%8B) [безопасность](https://ra1ahq.blog/en/tag:%D0%B1%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D1%8C) [длинные волны](https://ra1ahq.blog/en/tag:%D0%B4%D0%BB%D0%B8%D0%BD%D0%BD%D1%8B%D0%B5%20%D0%B2%D0%BE%D0%BB%D0%BD%D1%8B) [путешествия](https://ra1ahq.blog/en/tag:%D0%BF%D1%83%D1%82%D0%B5%D1%88%D0%B5%D1%81%D1%82%D0%B2%D0%B8%D1%8F) [религия](https://ra1ahq.blog/en/tag:%D1%80%D0%B5%D0%BB%D0%B8%D0%B3%D0%B8%D1%8F) [соревнования](https://ra1ahq.blog/en/tag:%D1%81%D0%BE%D1%80%D0%B5%D0%B2%D0%BD%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F) [спутники](https://ra1ahq.blog/en/tag:%D1%81%D0%BF%D1%83%D1%82%D0%BD%D0%B8%D0%BA%D0%B8) [средние волны](https://ra1ahq.blog/en/tag:%D1%81%D1%80%D0%B5%D0%B4%D0%BD%D0%B8%D0%B5%20%D0%B2%D0%BE%D0%BB%D0%BD%D1%8B) [схемы](https://ra1ahq.blog/en/tag:%D1%81%D1%85%D0%B5%D0%BC%D1%8B) [тесты](https://ra1ahq.blog/en/tag:%D1%82%D0%B5%D1%81%D1%82%D1%8B) [трансивер](https://ra1ahq.blog/en/tag:%D1%82%D1%80%D0%B0%D0%BD%D1%81%D0%B8%D0%B2%D0%B5%D1%80) [управление](https://ra1ahq.blog/en/tag:%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5) [фотографии](https://ra1ahq.blog/en/tag:%D1%84%D0%BE%D1%82%D0%BE%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D0%B8) 

## Random post

 [ I'll be lucky!](https://ra1ahq.blog/en/random) 

## Archive of posts

- [ October 2026 ✒ 4 ](https://ra1ahq.blog/en/archives_month:oct_2026)
- [ September 2026 ✒ 9 ](https://ra1ahq.blog/en/archives_month:sep_2026)
- [ August 2026 ✒ 6 ](https://ra1ahq.blog/en/archives_month:aug_2026)
- [ July 2026 ✒ 13 ](https://ra1ahq.blog/en/archives_month:jul_2026)
- [ June 2026 ✒ 8 ](https://ra1ahq.blog/en/archives_month:jun_2026)
- [ May 2026 ✒ 2 ](https://ra1ahq.blog/en/archives_month:may_2026)
- [ April 2026 ✒ 6 ](https://ra1ahq.blog/en/archives_month:apr_2026)
- [ March 2026 ✒ 3 ](https://ra1ahq.blog/en/archives_month:mar_2026)
- [ February 2026 ✒ 7 ](https://ra1ahq.blog/en/archives_month:feb_2026)
- [ January 2026 ✒ 8 ](https://ra1ahq.blog/en/archives_month:jan_2026)
- [ December 2025 ✒ 12 ](https://ra1ahq.blog/en/archives_month:dec_2025)
- [ November 2025 ✒ 9 ](https://ra1ahq.blog/en/archives_month:nov_2025)
- [ October 2025 ✒ 8 ](https://ra1ahq.blog/en/archives_month:oct_2025)
- [ September 2025 ✒ 5 ](https://ra1ahq.blog/en/archives_month:sep_2025)
- [ August 2025 ✒ 8 ](https://ra1ahq.blog/en/archives_month:aug_2025)
- [ July 2025 ✒ 6 ](https://ra1ahq.blog/en/archives_month:jul_2025)
- [ June 2025 ✒ 10 ](https://ra1ahq.blog/en/archives_month:jun_2025)
- [ May 2025 ✒ 4 ](https://ra1ahq.blog/en/archives_month:may_2025)
- [ April 2025 ✒ 4 ](https://ra1ahq.blog/en/archives_month:apr_2025)
- [ March 2025 ✒ 4 ](https://ra1ahq.blog/en/archives_month:mar_2025)
- [ February 2025 ✒ 11 ](https://ra1ahq.blog/en/archives_month:feb_2025)
- [ December 2024 ✒ 8 ](https://ra1ahq.blog/en/archives_month:dec_2024)
- [ November 2024 ✒ 2 ](https://ra1ahq.blog/en/archives_month:nov_2024)
- [ October 2024 ✒ 8 ](https://ra1ahq.blog/en/archives_month:oct_2024)
- [ September 2024 ✒ 3 ](https://ra1ahq.blog/en/archives_month:sep_2024)
- [ August 2024 ✒ 5 ](https://ra1ahq.blog/en/archives_month:aug_2024)
- [ July 2024 ✒ 9 ](https://ra1ahq.blog/en/archives_month:jul_2024)
- [ June 2024 ✒ 6 ](https://ra1ahq.blog/en/archives_month:jun_2024)
- [ May 2024 ✒ 7 ](https://ra1ahq.blog/en/archives_month:may_2024)
- [ April 2024 ✒ 5 ](https://ra1ahq.blog/en/archives_month:apr_2024)
- [ March 2024 ✒ 5 ](https://ra1ahq.blog/en/archives_month:mar_2024)
- [ February 2024 ✒ 5 ](https://ra1ahq.blog/en/archives_month:feb_2024)
- [ January 2024 ✒ 6 ](https://ra1ahq.blog/en/archives_month:jan_2024)
- [ December 2023 ✒ 7 ](https://ra1ahq.blog/en/archives_month:dec_2023)
- [ November 2023 ✒ 4 ](https://ra1ahq.blog/en/archives_month:nov_2023)
- [ October 2023 ✒ 8 ](https://ra1ahq.blog/en/archives_month:oct_2023)
- [ September 2023 ✒ 7 ](https://ra1ahq.blog/en/archives_month:sep_2023)
- [ August 2023 ✒ 4 ](https://ra1ahq.blog/en/archives_month:aug_2023)
- [ July 2023 ✒ 7 ](https://ra1ahq.blog/en/archives_month:jul_2023)
- [ June 2023 ✒ 7 ](https://ra1ahq.blog/en/archives_month:jun_2023)
- [ May 2023 ✒ 5 ](https://ra1ahq.blog/en/archives_month:may_2023)
- [ April 2023 ✒ 6 ](https://ra1ahq.blog/en/archives_month:apr_2023)
- [ March 2023 ✒ 5 ](https://ra1ahq.blog/en/archives_month:mar_2023)
- [ February 2023 ✒ 2 ](https://ra1ahq.blog/en/archives_month:feb_2023)
- [ January 2023 ✒ 5 ](https://ra1ahq.blog/en/archives_month:jan_2023)
- [ December 2022 ✒ 7 ](https://ra1ahq.blog/en/archives_month:dec_2022)
- [ November 2022 ✒ 8 ](https://ra1ahq.blog/en/archives_month:nov_2022)
- [ October 2022 ✒ 6 ](https://ra1ahq.blog/en/archives_month:oct_2022)
- [ September 2022 ✒ 9 ](https://ra1ahq.blog/en/archives_month:sep_2022)
- [ August 2022 ✒ 8 ](https://ra1ahq.blog/en/archives_month:aug_2022)
- [ July 2022 ✒ 4 ](https://ra1ahq.blog/en/archives_month:jul_2022)
- [ June 2022 ✒ 9 ](https://ra1ahq.blog/en/archives_month:jun_2022)
- [ May 2022 ✒ 7 ](https://ra1ahq.blog/en/archives_month:may_2022)
- [ April 2022 ✒ 3 ](https://ra1ahq.blog/en/archives_month:apr_2022)
- [ March 2022 ✒ 4 ](https://ra1ahq.blog/en/archives_month:mar_2022)
- [ February 2022 ✒ 6 ](https://ra1ahq.blog/en/archives_month:feb_2022)
- [ January 2022 ✒ 7 ](https://ra1ahq.blog/en/archives_month:jan_2022)
- [ December 2021 ✒ 7 ](https://ra1ahq.blog/en/archives_month:dec_2021)
- [ November 2021 ✒ 7 ](https://ra1ahq.blog/en/archives_month:nov_2021)
- [ October 2021 ✒ 7 ](https://ra1ahq.blog/en/archives_month:oct_2021)
- [ September 2021 ✒ 10 ](https://ra1ahq.blog/en/archives_month:sep_2021)
- [ August 2021 ✒ 6 ](https://ra1ahq.blog/en/archives_month:aug_2021)
- [ July 2021 ✒ 7 ](https://ra1ahq.blog/en/archives_month:jul_2021)
- [ June 2021 ✒ 7 ](https://ra1ahq.blog/en/archives_month:jun_2021)
- [ May 2021 ✒ 7 ](https://ra1ahq.blog/en/archives_month:may_2021)
- [ April 2021 ✒ 4 ](https://ra1ahq.blog/en/archives_month:apr_2021)
- [ March 2021 ✒ 4 ](https://ra1ahq.blog/en/archives_month:mar_2021)
- [ February 2021 ✒ 3 ](https://ra1ahq.blog/en/archives_month:feb_2021)
- [ January 2021 ✒ 4 ](https://ra1ahq.blog/en/archives_month:jan_2021)
- [ December 2020 ✒ 8 ](https://ra1ahq.blog/en/archives_month:dec_2020)
- [ November 2020 ✒ 2 ](https://ra1ahq.blog/en/archives_month:nov_2020)
- [ October 2020 ✒ 3 ](https://ra1ahq.blog/en/archives_month:oct_2020)
- [ September 2020 ✒ 3 ](https://ra1ahq.blog/en/archives_month:sep_2020)
- [ August 2020 ✒ 5 ](https://ra1ahq.blog/en/archives_month:aug_2020)
- [ July 2020 ✒ 5 ](https://ra1ahq.blog/en/archives_month:jul_2020)
- [ June 2020 ✒ 8 ](https://ra1ahq.blog/en/archives_month:jun_2020)
- [ May 2020 ✒ 10 ](https://ra1ahq.blog/en/archives_month:may_2020)
- [ April 2020 ✒ 4 ](https://ra1ahq.blog/en/archives_month:apr_2020)
- [ March 2020 ✒ 2 ](https://ra1ahq.blog/en/archives_month:mar_2020)
- [ January 2020 ✒ 1 ](https://ra1ahq.blog/en/archives_month:jan_2020)
- [ December 2019 ✒ 2 ](https://ra1ahq.blog/en/archives_month:dec_2019)

## Search

## Weather forecast

[На 14 дней](https://world-weather.ru/pogoda/russia/saint_petersburg/14days/)
[world-weather.ru](https://world-weather.ru/)

---

## Navigation

- Parent: [RA1AHQ](https://ra1ahq.blog/en/index.md)
- Previous: [Fixing the error "Finished Record Runlevel Change in UTMP"](https://ra1ahq.blog/en/ustranenie-oshibki-finished-record-runlevel-change-in-utmp.md)
- Next: [Running RTL-SDR and GQRX receiver on Linux](https://ra1ahq.blog/en/zapusk-priyomnika-rtl-sdr-i-gqrx-v-linux.md)
